Các thành phần cơ bản Một hệ thống hàng đợi gồm các thành phần cơ bản [11,14] sau: - Tiến trình vào, tiến trình ra khỏi hệ thống được coi như đầu vào và đầu ra của hệ thống hàng đợi -
Trang 1đại học thái nguyên Tr-ờng đại học công nghệ thông tin và truyền thông
Trang 2đại học thái nguyên Tr-ờng đại học công nghệ thông tin và truyền thông
Trang 4LỜI CẢM ƠN
Trước hết, tôi vô cùng biết ơn sâu sắc đến Tiến sĩ Lê Quang Minh, người thầy đã trực tiếp dành nhiều thời gian tận tình hướng dẫn, cung cấp những thông tin, tài liệu quý báu giúp đỡ tôi hoàn thành bản luận văn này
Tôi xin chân thành cảm ơn Ban lãnh đạo Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên và các giảng viên đã tạo nhiều điều kiện giúp tôi hoàn thành luận văn này
Tôi cũng xin gửi lời cảm ơn tới các bạn trong tập thể lớp Cao học khoá 11A, ngành Khoa học máy tính đã ủng hộ, khuyến khích tôi trong suốt quá trình học tập
Sau cùng tôi xin bày tỏ lòng biết ơn đến người thân, cùng bạn bè, đồng nghiệp cơ quan và gia đình, những người luôn cổ vũ động viên tôi hoàn thành bản luận văn tốt nghiệp Thạc sĩ này
Thái Nguyên, ngày 26 tháng 5 năm 2014
HỌC VIÊN
Vũ Ngọc Hà
Trang 5MỤC LỤC LỜI CAM ĐOAN Error! Bookmark not defined.
LỜI CẢM ƠN iv
MỤC LỤC v
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT viii
DANH MỤC CÁC BẢNG ix
DANH MỤC CÁC HÌNH VẼ, ĐỒ THI x
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG HÀNG ĐỢI 3
1.1 Vai trò của hệ thống hàng đợi 3
1.1.1 Giới thiệu 3
1.1.2 Các thành phần cơ bản 3
1.2 Hệ thống hàng đợi 4
1.2.1 Mô tả hệ thống hàng đợi 4
1.2.2 Mô hình hóa một hệ thống hàng đợi 6
1.3 Các yếu tố của hệ thống hàng đợi 8
1.3.1 Dòng yêu cầu đầu vào 8
1.3.2 Hàng đợi 10
1.3.3 Kênh phục vụ 10
1.3.4 Dòng yêu cầu đầu ra 11
1.3.5 Các quy luật hoạt động của hệ thống phục vụ 11
1.4 Trạng thái hệ thống phục vụ 13
1.4.1 Định nghĩa 13
1.4.2 Quá trình thay đổi trạng thái của hệ thống phục vụ 13
1.4.3 Sơ đồ trạng thái 14
1.4.4 Qui tắc thiết lập hệ phương trình trạng thái 14
CHƯƠNG 2: MỘT SỐ KỸ THUẬT GIẢI BÀI TOÁN HÀNG ĐỢI 17
Trang 62.1 Một số kỹ thuật giải bài toán hàng đợi cơ bản 17
2.1.1 Kỹ thuật hàng đợi cổ điển với mô hình M/M/1 17
2.1.2 Kỹ thuật hàng đợi với mô hình M/M/1/K 21
2.1.3 Kỹ thuật hàng đợi với mô hình M/M/m 24
2.1.4 Kỹ thuật hàng đợi với mô hình M/M/m/K 26
2.2 Quy trình chung của việc phân tích hệ thống hàng đợi 34
2.3 Các bước giải bài toán hàng đợi dựa trên Petri Nets 36
2.4 Công cụ mô phỏng bài toán hàng đợi 37
2.4.1 Công cụ mô phỏng 37
2.4.2 Các thành phần cơ bản 38
2.4.3 Mô tả toán học 39
2.4.4 Một số thuộc tính 40
2.5 So sánh một số công cụ của Petri Nets 42
2.6 Các lĩnh vực hoạt động của Petri Nets 44
2.7 Các bước tạo một mô phỏng trên TNET 45
CHƯƠNG 3: SỬ DỤNG PETRI NETS TRONG BÀI TOÁN MÔ PHỎNG HỆ THỐNG PHỤC VỤ GIAO DỊCH NGÂN HÀNG 47
3.1 Thiết lập bài toán hàng đợi không ưu tiên 47
3.2 Phân tích bài toán hàng đợi 48
3.2.1 Phân tích các yêu cầu của bài toán 48
3.2.2 Phân tích kết quả của bài toán bằng lý thuyết hàng đợi 50
3.3 Ứng dụng Petri Nets mô phỏng bài toán hệ thống giao dịch ngân hàng51 3.3.1 Mô hình Petri Nets 51
3.3.2 Kết quả chạy của mô hình F-nets 56
3.4 So sánh, đánh giá các kết quả mô phỏng 61
3.4.1 So sánh theo sự phân bố hàm Input, output 61
3.4.2 So sánh theo thời gian 71
KẾT LUẬN 74
Trang 7TÀI LIỆU THAM KHẢO 75
Trang 8DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu Tiếng Anh Giải thích theo tiếng Việt
CEC Current Event Chain Chuỗi sự kiện hiện tại
FEC Future Event Chain Chuỗi sự kiện tương lai
P/T net Place/ Transition Network Một loại ngôn ngữ mô tả toán
học, dựa trên lý thuyết về tập hợp
PLUS Programming Language
Under Simulation
Ngôn ngữ chương trình dựa trên
mô phỏng SNA System Numeric Attribute Thuộc tính số hệ thống
SPN Stichastic Petri Nets Các mạng Petri ngẫu nhiên
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Các yếu tố cấu thành một hệ thống hàng đợi 5
Bảng 1.2: Các tham số đặc trưng trong hệ thống hàng đợi 7
Bảng 1.3: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi 12
Bảng 2.1 Các tham số đặc trưng trong hệ thống hàng đợi 28
Bảng 2.2: Các thành phần trong kí hiệu Kendall 29
Bảng 2.3: Một số phân phối xác suất liên quan đến A và B trong mô tả Kendall30 Bảng 2.4: So sánh một số công cụ Petri Nets 42
Bảng 3.1: Các giá trị tham số đầu vào của t1 54
Bảng 3.2: Các giá trị tham số đầu vào của t8 55
Bảng 3.3: Các giá trị tham số đầu vào của t5 55
Bảng 3.4: Các giá trị tham số đầu vào của t6 56
Bảng 3.5: Các giá trị tham số đầu vào của t1 58
Bảng 3.6: Các giá trị tham số đầu vào của t5 58
Bảng 3.7: Các giá trị tham số đầu vào của t6 59
2 phương pháp 60
Bảng 3.9: Các giá trị tham số đầu vào của t1 61
Bảng 3.10: Các giá trị tham số đầu vào của t5 62
Bảng 3.11: Các giá trị tham số đầu vào của t6 63
Bảng 3.12: Các giá trị tham số đầu vào của t1 64
Bảng 3.13: Các giá trị tham số đầu vào của t5 64
Bảng 3.14: Các giá trị tham số đầu vào của t6 65
Bảng 3.15: Các giá trị tham số đầu vào của t1 66
Bảng 3.16: Các giá trị tham số đầu vào của t5 67
Bảng 3.17: Các giá trị tham số đầu vào của t6 67
Bảng 3.18: Các giá trị tham số đầu vào của t1 68
Bảng 3.19: Các giá trị tham số đầu vào của t5 69
Bảng 3.20: Các giá trị tham số đầu vào của t6 69
Bảng 3.21: So sánh theo phân bố Input, Output (t1) 70
Bảng 3.22: So sánh theo phân bố Input, Output (t5) 70
Bảng 3.23: So sánh theo phân bố Input, Output (t6) 71
Bảng 3.24: Bảng so sánh thời gian mô phỏng 72
Trang 10DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Các thành phần cơ bản của một hàng đợi 4
Hình 1.2: Mô hình cơ bản của hệ thống hàng đợi (hay hệ thống phục vụ 4
đám đông) 4
Hình 1.3: Mô hình hóa các yếu tố của một hệ thống hàng đợi 6
Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ 14
Hình 2.1: Mô hình hàng đợi M/M/1 17
Hình 2.2: Sơ đồ tốc độ chuyển trạng thái 18
Hình 2.3a: Petri Nets mô phỏng hàng đợi M/M/1 20
Hình 2.3b: Petri Nets mô phỏng hàng đợi M/M/1 20
Hình 2.4: Đồ thị reachability tương ứng mạng Petri trong hình 2.3a 21
Hình 2.5: Mô hình hệ thống M/M/1/K 22
Hình 2.6: Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/1/K 22
Hình 2.7: Petri Nets mô phỏng hàng đợi M/M/1/K 24
Hình 2.8: Mô hình hệ thống M/M/m 25
Hình 2.9: Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/m 25
Hình 2.10: Kí hiệu biểu đồ thời gian cho các hàng đợi (một kênh phục vụ) 26
Hình 2.11: Các khách hàng đến và rời khỏi hệ thống 27
Hình 2.12: Mô hình hệ thống M/M/m/K 32
Hình 2.13: Petri Nets mô phỏng hàng đợi M/M/m/K 34
Hình 2.14: Lưu đồ quy trình chung của việc phân tích hệ thống hàng đợi 35
Hình 2.15: Lưu đồ giải bài toán hàng đợi dựa trên Petri Nets 36
Hình 2.16: Ví dụ về Petri-net 38
Hình 2.17: Minh họa tính tiếp cận của Petri Nets 41
Hình 2.18: Minh họa tính bất tử của Petri Nets 41
Hình 2.19: Minh họa tính không có đường bao giới hạn của Petri-net 41
Hình 2.20: Minh họa tính bảo thủ của Petri Nets 42
Hình 3.1: Hình minh họa bài toán giao dịch ngân hàng 48
Trang 11Hình 3.2: Mô tả các điều kiện bài toán 48
Hình 3.3: Sơ đồ thuật toán 49
Hình 3.4: Mô hình M/M/2/7 50
Hình 3.5: 51
Hình 3.6: Cửa sổ kết quả trên các transition 56
Hình 3.7: Cửa sổ kết quả trên các place 57
Hình 3.8: Cửa sổ kết quả trên các transition 59
Hình 3.9: Cửa sổ kết quả trên các place 60
Hình 3.10: Mô tả theo các tham số đầu vào chuẩn 62
Hình 3.11: Cửa sổ kết quả trên các place của mô hình chuẩn-chuẩn 63
Hình 3.12 Mô tả theo tham số đầu vào đều 65
Hình 3.13: Cửa sổ kết quả trên các place của mô hình chuẩn-đều 66
Hình 3.14: Cửa sổ kết quả trên các place của mô hình đều-chuẩn 68
Hình 3.15: Cửa sổ kết quả trên các place của mô hình đều-đều 70
Hình 3.16: Cửa sổ kết quả trên các place 71
Hình 3.17: Cửa sổ kết quả trên các place 72
Hình 3.18: Cửa sổ kết quả trên các place 72
Trang 12MỞ ĐẦU
Với sự phát triển của công nghệ thông tin như hiện nay thì việc nghiên cứu một số kỹ thuật giải bài toán hàng đợi và sử dụng công cụ Petri Nets ngày càng được qua tâm hơn Mô hình hóa là phương pháp xây dựng mô hình toán học của hệ thống bằng cách phân tích hệ thống thành các khối chức năng Mô hình hệ thống được xây dựng dựa trên cơ sở liên kết các khối chức năng [1,9,10]
Trong các hoạt động kinh tế xã hội nói chung và các hoạt động kinh doanh dịch vụ hay phục vụ nói riêng thì điều làm cho các nhà quản lý phải quan tâm đó là làm sao để đánh giá được hiệu quả hoạt động của hệ thống, cũng như làm thế nào để dự báo được sự phát triển của hệ thống để có được những đầu tư về cơ sở vật chất cũng như nguồn nhân lực một cách phù hợp
Do đó, thường phát sinh các câu hỏi như “Cần cung cấp bao nhiêu thiết bị để
có độ trễ thấp hơn mức có thể chấp nhận được theo qui định ?” hay “ Trung bình thời gian đợi của khách hàng cũng như trung bình thời gian đáp ứng của
hệ thống, hiệu suất sử dụng dịch vụ như thế nào?” Đi tìm câu trả lời cho các
câu hỏi này sẽ được dựa trên các tính toán phức tạp theo các các yếu tố như chính trị, kinh tế và kỹ thuật Trên cơ sở mô hình hóa có thể kiểm tra, đánh giá kết quả xem hệ thống Nên sẽ tính được các công việc định làm, từ đó đưa
ra phương án lựa chọn tốt nhất dành cho hệ thống Đặc biệt ngày nay, Petri Nets đã được phát triển rất mạnh mẽ, đã được ứng dụng rất rộng rãi trong rất nhiều lĩnh vực khác nhau như: Sinh học, hóa học, môi trường, kỹ thuật, truyền thông, điều khiển, hệ thống sản xuất, robot v.v
Trong nội dung luận văn này sẽ giới thiệu về hệ thống hàng đợi cơ bản
và ứng dụng Petri Nets vào bài toán mô phỏng hệ thống giao dịch ngân hàng
Để xây dựng mô hình mô phỏng bằng cách sử dụng các ngôn ngữ lập trình truyền thống là khá phức tạp, khó khăn do khi lập trình, chúng ta phải quản lý các sự kiện theo một mô hình nhiều sự kiện xảy ra đồng thời (song song) với việc xây dựng các hàm tạo ngẫu nhiên các sự kiện (random) cũng không hề
Trang 13đơn giản, chính vì vậy đã xuất hiện các ngôn ngữ mô phỏng chuyên dụng Hiện nay có một số phương pháp đánh giá, mô phỏng được sử dụng rộng rãi
và có hiệu quả trên thực tế là phương pháp mô hình hoá và các mô hình được
sử dụng hiện nay là mô hình hàng đợi, mạng Petri, đồ thị, và các mô hình lai ghép Trong đó mô hình hàng đợi là một mô hình đơn giản và tỏ ra có hiệu quả trong thực tế [7,12]
Với Petri Nets và nhu cầu cần mô phỏng hệ thống hàng đợi, việc áp dụng cách tiếp cận cũng như công cụ mô phỏng nào là một vấn đề quan trọng
do tính chất của hệ thống, quy mô của hệ thống có thể là những yếu tố ảnh hưởng đến việc lựa chọn công cụ Chính vì vậy, yêu cầu lựa chọn, so sánh, đánh giá các công cụ Petri Nets và ứng dụng mô phỏng là một đề tài mang ý
nghĩa khoa học và thực tiễn cao Với lý do đó, tôi lựa chọn đề tài “Nghiên
cứu một số kỹ thuật giải bài toán hàng đợi và ứng dụng mô phỏng hệ thống giao dịch ngân hàng” cho luận văn tốt nghiệp Thạc Sĩ của mình
* Những nội dung nghiên cứu chính
Luận văn gồm: Phần mở đầu, ba chương chính, phần kết luận, tài liệu tham khảo và phụ lục Bố cục như sau:
Chương 1: TỔNG QUAN VỀ HỆ THỐNG HÀNG ĐỢI
Chương này trình bày tổng quan về hệ thống hàng đợi: Hệ thống hóa các khái niệm, các thành phần cơ bản của hệ thống hàng đợi
Chương 2: MỘT SỐ KỸ THUẬT ĐỂ GIẢI QUYẾT BÀI TOÁN HÀNG
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG HÀNG ĐỢI
Chương này trình bày tổng quan về hệ thống hàng đợi: Khái niệm, thành phần cơ bản của hệ thống hàng đợi Các yếu tố của hệ thống hàng đợi Nêu được trạng thái hệ thống phục vụ
1.1 Vai trò của hệ thống hàng đợi
Lý thuyết hàng đợi (queuing theory) đã được nghiên cứu và ứng dụng rộng rãi trên thế giới trong nhiều lĩnh vực ngành nghề khác nhau như bưu chính viễn thông, hàng không, đường sắt, kiểm soát lưu lượng giao thông, đánh giá hiệu năng hệ thống máy tính, y tế và chăm sóc sức khỏe, không lưu, bán vé …[4]
Trong nhiều hệ thống hàng đợi, các khách hàng (đối tượng cần được phục vụ) phải dùng chung tài nguyên, phải chờ để được phục vụ và đôi khi bị
từ chối phục vụ, việc nghiên cứu đảm bảo sự hiệu quả, tối ưu làm việc của hệ thống hàng đợi chính là mục đích của lý thuyết hàng đợi
1.1.1 Giới thiệu
Giới thiệu các thành phần của hệ thống hàng đợi: Đầu vào, đầu ra, kênh phục vụ, nguyên tắc phục vụ, và các lý thuyết liên quan như hàm phân bố thời gian đến và thời gian phục vụ, phục vụ ưu tiên, không ưu tiên Đồng thời đưa
ra một số kết quả quan trọng của một số hàng đợi cơ bản
1.1.2 Các thành phần cơ bản
Một hệ thống hàng đợi gồm các thành phần cơ bản [11,14] sau:
- Tiến trình vào, tiến trình ra khỏi hệ thống ( được coi như đầu vào và đầu ra của hệ thống hàng đợi)
- Phân phối thời gian phục vụ
- Số các kênh phục vụ
- Khả năng của hệ thống
- Qui mô (kích thước) khách hàng
Trang 15- Nguyên tắc phục vụ
Hình 1.1: Các thành phần cơ bản của một hàng đợi
3 Số các kênh phục vụ
Tiến trình ra 1.Tiến trình vào
6 Nguyên tắc phục
vụ
2 Phân phối thời gian phục vụ
Trang 16Trong mô hình này, chúng ta quan sát thấy có yếu tố khách đến, khách
bỏ đi (do không có thời gian chờ đợi, hoặc các lý do khác), khách xếp hàng đợi tới lượt mình được phục vụ, các máy phục vụ, và khách hàng đã được phục vụ xong, rời khỏi hệ thống phục vụ trên
Các yếu tố này có thể tóm lược sơ bộ gồm các thành phần trong bảng 1
Bảng 1.1: Các yếu tố cấu thành một hệ thống hàng đợi
1 Dòng các yêu cầu
đầu vào
Khách hàng gọi điện thoại đến một tổng đài giải đáp (Call Center), các xe ô tô đi vào bãi đậu xe, các máy bay hạ cánh xuống một đường băng…
2 Hệ thống phục vụ Là các máy phục vụ nhằm đáp ứng yêu cầu ứng
với từng loại đầu vào cụ thể ở trên, trong hệ thống phục vụ có hàng đợi, tại đó, khách hàng xếp hàng đợi đến lượt mình được phục vụ Hệ thống phục
vụ có các máy phục vụ và chúng hoạt động theo những quy luật, nguyên tắc phục vụ nào?
3 Các máy phục vụ Các máy điện thoại bàn và nhân viên trong một
Call Center, đường băng tại sân bay, vị trí trong bãi đậu xe…
4 Dòng các yêu cầu
đầu ra
Là các yêu cầu đã được phục vụ sau khi đi ra khỏi
hệ thống phục vụ ở trên
Trang 17Về bản chất, khi xuất hiện các yêu cầu vượt quá khả năng đáp ứng của một dịch vụ nào đó tại một thời điểm nào đó, hàng đợi sẽ xuất hiện
Sự chờ đợi (nhanh hay chậm để được đáp ứng yêu cầu) phụ thuộc mạnh vào
số lượng kênh phục vụ của hệ thống, cũng như quy tắc phục vụ của hệ thống Chi tiết về hệ thống hàng đợi sẽ được trình bày cụ thể trong phần 1.2.2 Trong các hệ thống phục vụ, hàng đợi xuất hiện bất cứ lúc nào khi nhu cầu hiện tại đối với dịch vụ vượt quá khả năng cung ứng dịch vụ tại thời điểm
đó Thời gian một yêu cầu đến phải chờ đợi phụ thuộc vào một số yếu tố như:
Số lượng giao dịch trong hệ thống, số kênh giao dịch cung ứng dịch vụ tại thời điểm đó và thời gian phục vụ cho mỗi yêu cầu đến
1.2.2 Mô hình hóa một hệ thống hàng đợi
Chúng ta có thể mô hình đơn giản cho một hệ thống hàng đợi trong hình 1.3 :
Hình 1.3: Mô hình hóa các yếu tố của một hệ thống hàng đợi
Trang 18Các thông số mô tả liên quan đến hệ thống hàng đợi gồm có:
Bảng 1.2: Các tham số đặc trưng trong hệ thống hàng đợi
1 N(t) Số khách hàng ở trong hệ thống tại thời điểm t
2 λ Dòng yêu cầu đầu vào, đặc trưng bởi tốc độ đến (arrival rate)
của khách hàng
3 µ Dòng yêu cầu đầu ra, là các yêu cầu đã đƣợc và không đƣợc
phục vụ, đặc trưng bởi tốc độ tối đa phục vụ Lưu ý: λ < µ
4 N q (t) Hàng đợi, đặc trưng bởi số lượng khe để phục vụ cho xếp hàng
5 W i Thời gian xếp hàng của khách hàng thứ i trong hàng đợi
6 N s (t)
Kênh phục vụ và các cách phục vụ, đặc trưng bởi số lượng kênh, cụ thể có c kênh, cũng có nghĩa là đang có c khách hàng
đang được phục vụ
7 τ i Thời gian phục vụ với khách hàng thứ i
8 τ Thời gian phục vụ trên tất cả các máy phục vụ
9 T Tổng thời gian phục vụ của toàn bộ hệ thống
Có nhiều nguyên tắc phục vụ, hoặc nguyên tắc xếp hàng Chúng ta lấy
ví dụ đơn giản nhất khi xếp hàng là: Ai đến trước phục vụ trước – First In, First Out Khi đó, Tổng thời gian trễ Ti của khách hàng thứ i sẽ là tổng của thời gian xếp hàng Wi và thời gian phục vụ τi Chúng ta có:
T i = W i + τi
(1.1)
Trang 191.3 Các yếu tố của hệ thống hàng đợi
Các yếu tố của hệ thống hàng đợi [1], gồm có: Dòng yêu cầu đầu vào, Hàng đợi, Kênh phục vụ, dòng yêu cầu đầu ra, và các cách phục vụ (quy luật phục vụ ) Chúng ta sẽ xét từng yếu tố cụ thể đã liệt kê trong bảng 1
Một hệ thống hàng đợi, dù ở qui mô nào, tính chất hoạt động ra sao, đều được đặc trưng bởi các yếu tố chủ yếu sau:
1.3.1 Dòng yêu cầu đầu vào
Dòng yêu cầu đầu vào (gọi tắt là dòng vào) là dòng các yêu cầu đến hệ thống phục vụ, đòi hỏi được thỏa mãn một yêu cầu nào đó Đặc trưng rõ nét
nhất của dòng vào là tốc độ đến (arrival rate), ký hiệu là λ
Ví dụ: Khách hàng xếp hàng tại quầy bán vé xem phim, các container chờ để được dỡ hàng, các xe ô tô chờ xếp hàng vào bãi, các máy bay chờ để cấ
Chúng ta thấy rằng, dòng các yêu cầu đầu vào là một yếu tố xuất hiện ngẫu nhiên, chúng có thể ít, có thể nhiều tùy theo thời điểm đến, nó có đặc trưng bởi một số phân bố xác suất nào đó Trong khóa luận này, chúng ta tập trung xét hai loại dòng yêu cầu đầu vào thông dụng nhất là:
Dòng vào tiền định, đặc trưng bởi phân phối tất định D Dòng vào Possion, tuân theo phân phối Possion
Dòng vào tiền định
Dòng vào tiền định là dòng vào trong đó các yêu cầu đến hệ thống phục
vụ tại các thời điểm cách đều nhau một khoảng a
Dòng vào tiền định là một đại lượng ngẫu nhiên có hàm phân bố xác suất
theo phân phối D:
F(x) = 1, nếu x ≥ a F(x) = 0, nếu x < a
(1.11)
Trang 20
Dòng vào Poisson
Dòng vào Poisson là dòng yêu cầu đi đến hệ thống, dòng vào này tuân theo luật phân phối Poisson với N(t) là số các biến cố xảy ra trong khoảng thời gian [0, t]
N(t) là quá trình ngẫu nhiên liên tục, không giảm theo thời gian
N(t) có phân phối Poission có kỳ vọng là λt, và có biểu diễn như sau:
t
k
e k
t k
t N P
!
)(])(
Dòng vào Poisson không dừng: Là dòng vào mà xác suất xuất hiện x
yêu cầu trong khoảng thời gian Dt, kể từ thời điểm t, phụ thuộc vào t, nghĩa là:
x t
t a
t t a
e Dt
!)
(
) ,
Trong đó a(t, Dt) là số trung bình các yêu cầu xuất hiện từ t đến Dt
Dòng vào Poisson dừng: Là dòng vào mà xác suất trong khoảng thời
gian Dt, kể từ thời điểm t, có x yêu cầu xuất hiện, không phụ thuộc vào t, nghĩa là:
x t
t
e Dt
!)
Trong đó, λ o là số yêu cầu trung bình xuất hiện trong một đơn vị thời gian (cường độ dòng yêu cầu) Nói cách khác là mật độ dòng yêu cầu không đổi Nếu t là khoảng thời gian giữa lần xuất hiện các yêu cầu liên tiếp, thì t là một đại lượng ngẫu nhiên tuân theo luật chỉ số, nghĩa là t có hàm phân bố xác suất và hàm mật độ như sau:
t
o
e t
t o
o
e t
Trang 21bị cho hệ thống đó
Đặc điểm quan trọng nhất của kênh phục vụ là thời gian phục vụ τ i (xem
bảng 2) Đó là thời gian mỗi kênh phải tiêu phí để phục vụ một yêu cầu Nói
dễ hiểu là “Anh tốn bao nhiêu thời gian để phục vụ xong một khách hàng”
Thời gian phục vụ cũng là một đại lượng ngẫu nhiên tuân theo một quy luật xác suất nào đó bởi nó phụ thuộc rất mạnh vào thời gian đến của các yêu
cầu Các dòng yêu cầu được phục vụ trong kênh phục vụ gọi là “dòng phục
t o
o
e t
Trang 22
Nếu dòng phục vụ trên mỗi kênh là dòng tối giản thì thời gian phục vụ của kênh đó là đại lượng ngẫu nhiên tuân theo luật chỉ số, nghĩa là có hàm phân phối xác suất và mật độ xác suất dạng (1.16) và (1.17)
1.3.4 Dòng yêu cầu đầu ra
Dòng yêu cầu đầu ra (gọi tắt là dòng ra) là dòng các yêu cầu đi ra khỏi hệ thống Có hai loại dòng ra:
Dòng yêu cầu ra đã được phục vụ xong: là các yêu cầu đã được phục
vụ ở mỗi kênh, nếu dòng đó là tối giản thì nó có một vai trò rất lớn trong hệ thống phục vụ Người ta đã chứng minh được rằng: nếu dòng vào là tối giản thì dòng ra được phục vụ tại mỗi kênh sẽ là dòng xấp
xỉ tối giản (như đã trình bày ở phần 1.3.3)
Dòng yêu cầu ra không được phục vụ: là một phần các yêu cầu đến
hệ thống nhưng không được phục vụ vì một lí do nào đó
1.3.5 Các quy luật hoạt động của hệ thống phục vụ
Một hệ thống phục vụ hoạt động theo những quy luật nào, nguyên tắc nào? Sự hiệu quả của những quy luật đó ra sao? Ứng với loại dòng vào cụ thể,
hệ thống phục vụ phải chọn lựa ra cách thức phục vụ nào để tối ưu nhất? Đó
là một vài câu hỏi đặt ra cho hệ thống phục vụ
Trang 23Đặc điểm chung về các quy luật phục vụ
Như vậy, các quy luật phục vụ của hệ thống phục vụ là cách mà hệ thống tiếp nhận các yêu cầu đầu vào, tiến hành phân loại, sắp xếp và phục vụ các yêu cầu đó trong hệ thống, ngoài ra, các quy luật này còn thiết lập một số các quy định khác đối với yêu cầu đầu vào Nó chỉ ra:
Khi nào thì yêu cầu đáp ứng được các quy luật phục vụ và yêu cầu
đó được nhận vào phục vụ
Cách phân bổ các yêu cầu đó vào các kênh phục vụ
Khi nào thì yêu cầu bị từ chối hoặc phải chờ đợi trong hàng đợi Cách bố trí hàng đợi tùy theo các loại yêu cầu
Một số phương pháp phục vụ
Bảng 1.3: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi
STT Tên viết tắt – tên tiếng Anh của
phương pháp phục vụ
Giải thích
1 FCFS – First Come First Served Ai đến trước phục vụ trước
2 LCFS – Last Come First Served Ai đến cuối phục vụ trước
3 SIRO – Service In Random
Order
Phục vụ theo thứ tự ngẫu nhiên
4 PS – Processor Shared Phục vụ có chia sẻ chung bộ xử lý
5 IS – Infinitive Server Phục vụ không xác định
6 Static priorities Phục vụ ưu tiên các yếu tố tĩnh
7 Dynamic priorities Phục vụ ưu tiên các yếu tố động
Trang 24Tùy thuộc vào việc chúng ta chọn phương pháp phục vụ, hàng đợi sẽ được điều chỉnh theo phương pháp đó sao cho có hiệu quả nhất
1.4.2 Quá trình thay đổi trạng thái của hệ thống phục vụ
Trong quá trình hoạt động, hệ thống phục vụ chuyển từ trạng thái này sang trạng thái khác dưới tác động của cường độ dòng vào và cường độ dòng phục vụ Xác suất của quá trình đó được gọi là xác suất chuyển trạng thái Nguyên nhân gây ra sự chuyển trạng thái là do tác động của cường độ dòng vào
và cường độ dòng phục vụ, số kênh bận và số yêu cầu trong hệ thống thay đổi, tức là dưới tác động của cường độ dòng phục vụ μ(t) và cường độ dòng vào λi(t) tại thời điểm t, hệ thống sẽ biến đổi từ trạng thái này sang trạng thái khác
Trang 251.4.3 Sơ đồ trạng thái
Sơ đồ trạng thái của hệ thống được dùng để diễn tả quá trình thay đổi trạng thái của hệ thống phục vụ Sơ đồ trạng thái là tập hợp các mũi tên, hình
vẽ, diễn tả quá trình biến đổi trạng thái của hệ
mũi tên nối liền các trạng thái mô tả bước chuyển từ trạng thái này sang trạng thái khác, hình chữ nhật biểu diễn trạng thái của hệ thống Tham số ghi trên mũi tên biểu thị tác động của cường độ dòng biến cố kéo trạng thái dịch chuyển theo hướng mũi tên
Chúng ta ví dụ về một hệ thống có sự thay đổi trạng thái gồm bốn yếu tố,
và sự thay đổi trạng thái trong hệ thống được mô tả như hình vẽ 1.4
Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ
1.4.4 Qui tắc thiết lập hệ phương trình trạng thái
Căn cứ vào sơ đồ trạng thái, ta thiết lập quan hệ giữa xác suất xuất hiện trạng thái xk(t)với xác suất xuất hiện là Pk(t), cùng các yếu tố gây ra sự biến đổi trạng thái đó Mối quan hệ đó được gọi là phương trình trạng thái của hệ thống
Cách tìm phương trình trạng thái:
- Tính đạo hàm bậc nhất của xác suất Pk(t), chúng ta có dPk(t)/dt
Ta thấy dP k (t)/dt bằng tổng đại số của một số hữu hạn số hạng, số các số
hạng này bằng số mũi tên nối liền trạng thái xk(t), với trạng thái xj(t) khác, Trong đó:
- Số số hạng mang dấu (+) tương ứng với số mũi tên đi từ xj(t) về xk(t)
23 32 31
Trang 26- Số số hạng mang dấu (–) tương ứng với số mũi tên đi từ xk(t) sang
xj(t)
- Mỗi số hạng có giá trị bằng tích giữa cường độ của dòng biến cố
hướng theo mũi tên và xác suất xuất hiện trạng thái mà mũi tên xuất
phát
Hệ phương trình trạng thái:
Trong đó k = 0, 1,2,…
Với điều kiện tổng tất cả các giá trị xác xuất trong một hàng của ma
trận xác suất chuyển có giá trị bằng 1, tức là:
Trong đó:
- λjk (t) là cường độ dòng biến cố (dòng yêu cầu hoặc dòng phục
vụ)
chuyển từ trạng thái xj(t) về trạng thái xk(t)
- λkj (t) có ý nghĩa ngược lại với λjk (t)
- Pj (t) là xác suất xuất hiện trạng thái xj(t) ở thời điểm t
(trạng thái trong hệ thống có j kênh đang làm việc)
- P k (t) có ý nghĩa tương tự như Pk(t)
Định lý Markov
Dưới tác động của dòng tối giản, quá trình thay đổi trạng thái của hệ thống
sẽ có tính chất dừng, theo nghĩa:
k k
Khi đó, hệ phương trình (1.31) có dạng:
1
t t
k j
k k
j
j
k j
jk k
dt
t d
j
k jk k
j
j jk
Trang 27Với điều kiện:
1:
Chương này trình bày tổng quan về hệ thống hàng đợi Các yếu tố của hệ thống hàng đợi Mô tả về một hệ thống phục vụ nói chung như: Các yếu tố của hệ thống phục vụ (dòng vào, dòng ra, hàng chờ, kênh phục vụ), trạng thái của hệ thống (quá trình thay đổi trạng thái của hệ thống phục vụ, sơ đồ trạng
thái, quy tắc thiết lập hệ phương trình trạng thái)
:
- Vai trò của hệ thống hàng đợi
- Mô hình hóa hệ thống hàng đợi
- Các yếu tố của hệ thống hàng đợi: Dòng yêu cầu đầu vào, đầu ra, kênh phục vụ
- Trạng thái hệ thống phục vụ: Đưa ra định nghĩa; quá trình thay đổi trạng thái của hệ thống phục vụ; sơ đồ trạng thái; qui tắc thiết lập hệ phương trình trạng thái (nội dung quy tắc, hệ phương trình trạng thái, định lý Markov)
1
k j
k k
j
j
Trang 28CHƯƠNG 2 MỘT SỐ KỸ THUẬT GIẢI BÀI TOÁN HÀNG ĐỢI
Chương này trình bày các kỹ thuật giải bài toán hàng đợi cơ bản Nêu được quy trình giải bài toán hàng đợi trên Petri Nets Công cụ mô phỏng bài toán hàng đợi sử dụng ngôn ngữ đặc tả Petri Nets
2.1 Một số kỹ thuật giải bài toán hàng đợi cơ bản
Các kỹ thuật hàng đợi có thể phân loại theo số lượng của các nguồn của chúng là hữu hạn hay vô hạn, hay căn cứ vào tiến trình vào và ra Có thể kể đến một số mô hình hệ thống hàng đợi cơ bản sau:
2.1.1 Kỹ thuật hàng đợi cổ điển với mô hình M/M/1
2.1.1.1 Kỹ thuật cơ bản
Đây là hệ thống hàng đợi nổi tiếng và đơn giản nhất, có thể được mô tả
hệ thống như sau: Thời gian giữa các lần đến liên tiếp tuân theo luật phân phối mũ, với tham số Thời gian phục vụ tuân theo luật phân phối mũ, với tham số µ Hệ thống chỉ có một kênh phục vụ đơn và sử dụng nguyên tắc phục vụ FIFO Hàng đợi có kích thước vô hạn
Hệ t hống hàng đợi M/M/1 được mô hình hóa trong hình 2.2
Hình 2.1: Mô hình hàng đợi M/M/1
Trạng thái hệ thống được đặc trưng bởi số khách hàng trong hệ thống Điều tạo ra sự đơn giản của hệ thống M/M/1 là tốc độ đến và tốc độ phục vụ không phụ thuộc trạng thái Sơ đồ tốc độ chuyển đổi trạng thái thể hiện trong hình 2.2
Server Khách đến
tốc độ
nguyên tắc phục vụ
Hàng đợi (queue)
Trang 29Hình 2.2: Sơ đồ tốc độ chuyển trạng thái
- Các xác suất trạng thái dừng
Gọi Pk(t): xác suất (phụ thuộc thời gian) có k khách hàng trong hệ thống
tại thời điểm t
Kí hiệu xác suất trạng thái dừng mà hệ thống là trong trạng thái k (k∈ N)
là: pk
Điều kiện dừng hệ thống hàng đợi M/M/1 là: <µ
Từ các phương trình trạng thái dừng, suy ra các xác suất trạng thái dừng [12,
trang 11] của chuỗi M/M/1 như sau:
- Một số thông số đo hiệu suất
Để có thể đánh giá được hiệu suất hoạt đông của hệ thống hàng đợi, chúng ta
cần quan tâm đến một số các thông số như:
Trang 30Do:
với |x|<1,
nên
Thời gian đáp ứng trung bình
Trung bình thời gian đáp ứng T là thời gian trung bình một khách hàng chi phí trong hệ thống, tức là thời gian chờ đợi trong hàng đợi và thời gian được phục vụ Áp dụng luật Little’s có:
2.1.1.2 Petri Nets mô tả kỹ thuật hàng đợi với mô hình M/M/1
Một mạng Petri ngẫu nhiên (stochastic Petri Nets-SPN) là một mạng Petri trong đó mỗi trasition được kết hợp với biến ngẫu nhiên phân phối mũ
thể hiện độ trễ từ khi trasition kích hoạt tới khi trasition hoạt động Trong trường hợp nhiều trasition đồng thời kích hoạt thì transition có độ trễ ngắn nhất sẽ hoạt động đầu tiên [3,18,20]
Petri Nets được mở rộng bằng cách kết hợp thời gian với sự hoạt động của các transition, gọi là các Petri Nets thời gian (timed Petri Nets) Trong đó Petri Nets ngẫu nhiên (stochastic Petri Nets-SPN) là trường hợp đặc biệt của Petri Nets thời gian, ở đó các lần hoạt động được xem xét như các biến ngẫu nhiên Luận văn chỉ tập trung nghiên cứu các SPN có các lần hoạt động tuân theo luật phân phối mũ
Sau đây chúng ta sẽ xem xét một số Petri Nets mô hình các hệ thống hàng đợi M/M/1, M/M/1/K, M/M/m/K…
Trang 31Như đã trình bày hình 2.1 hệ thống hàng đợi M/M/1 được mô hình hóa như sau:
- Hệ thống được biểu diễn trong Petri Nets được thiết kế theo nhiều cách khác nhau, ở đây luận văn đưa ra hai trong số các cách đó:
- Petri Nets có thể thiết kế như hình 2.3a gồm 2 transition t1 (sinh sự kiện khách hàng vào hệ thống), t2 (sinh sự kiện khách hàng được phục vụ) và một place P1 là hàng đợi nơi chứa các khách hàng vào hệ thống Với đồ thị biểu diễn như sau:
Hình 2.3a: Petri Nets mô phỏng hàng đợi M/M/1
- Hoặc Petri Nets có thể thiết kế như hình 2.3b gồm:
Server Khách đến
tốc độ
nguyên tắc phục vụ
Hàng đợi (queue)
P1 t2
t1
- t1 hoạt động sau thời gian trễ (delay) cho trước , tương ứng với sự kiện khách hàng đến
- p1 mô tả hàng đợi (Queue) của hệ thống,
từ t1 khách hàng đi vào hàng đợi p1
- t2 hoạt động sau thời gian trễ cho trước
mô tả sự kiện lấy một khách hàng ra khỏi hàng đợi p 1 đi vào kênh phục vụ, khách ra khỏi hệ thống sau khi hết thời gian phục
vụ, một token được đặt vào p2 sẵn sàng kích hoạt t2 hoạt động trở lại (tương ứng với thông báo rằng kênh phục vụ đã
“rảnh”)
Hình 2.3b: Petri Nets mô phỏng
hàng đợi M/M/1
Trang 32Và sơ đồ tốc độ chuyển đổi trạng thái thể hiện trong hình 2.2, đã trình
bày trên
Đồ thị reachability có các nhãn bên trong mỗi trạng thái là tokens trong
place Pi Sự hoạt động (firing) của t1 tăng token lên 1 (tương ứng với 1 khách hàng đến hệ thống hàng đợi) theo tốc độ đến λ, trong khi sự hoạt động (firing) của t2 sẽ giảm token đi 1 (tương ứng với 1 khách hàng ra khỏi hàng đợi) theo tốc độ phục vụ μ
Hình 2.4: Đồ thị reachability tương ứng mạng Petri trong hình 2.3a
2.1.2 Kỹ thuật hàng đợi với mô hình M/M/1/K
có những người đến khi hệ thống đang có ít hơn K khách hàng sẽ được phép vào hệ thống
Trang 33Hệ thống hàng đợi M/M/1/K được mô hình hóa trong hình 2.5
Hình 2.5: Mô hình hệ thống M/M/1/K
Sơ đồ tốc độ chuyển đổi trạng thái thể hiện trong hình 2.7
Hình 2.6: Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/1/K
có ít hơn K khách hàng trong hệ thống tốc độ đến là λ, ngược lại tốc độ đến là
0 Xác suất trạng thái dừng [12, trang 17] được xác định bởi:
Hàng đợi (queue)
Server K-1 vị trí
Trang 34- Một số thông số đo hiệu suất
Ngoài xác suất trạng thái dừng, chúng ta còn quan tâm đến các thông số hiệu suất [11] sau:
Hệ số sử dụng
Trong trường hợp M/M/1/K hệ số sử dụng
Trung bình khách hàng trong hệ thống
Giá trị trung bình khách hàng trong hệ thống được đưa ra bởi:
Xác xuất từ chối (ptc): Là xác suất mà một khách hàng đến nhận thấy hệ thống đầy
2.1.2.2 Petri Nets mô tả kỹ thuật hàng đợi với mô hình M/M/1/K
Tương tự với hệ thống M/M/1, chúng ta có thể mở rộng cho mô hình hàng đợi M/M/1/K
Petri Nets mô tả hàng đợi M/M/1/K với các mô tả tương ứng sau:
- Các token trong các place đại diện cho các khách hàng
- Transition t1 hoạt động tương ứng với sự kiện lấy khách hàng ra khỏi hàng đợi P1
- Place P2 là place trung gian, có vài trò là place đầu vào cho transition t2
- Transition t2 đại diện cho kênh phục vụ
Petri Nets được thiết lập đảm bảo:
- Tổng số tokens trong p1 và p2 bằng K
- t1 hoạt động theo tốc độ đến λ
Trang 35- t2 hoạt động theo tốc độ phục vụ μ
Hình 2.7: Petri Nets mô phỏng hàng đợi M/M/1/K
Mô tả hoạt động của mạng:
- t1 hoạt động sẽ lấy 1 token trong P1 và đặt vào P2 Hoạt động này tương ứng với một khách hàng ra khỏi hàng đợi đi vào kênh phục vụ
- Transition t2 được kích hoạt do place đầu vào P2 có token, sau đó t2
hoạt động sẽ lấy đi 1 token trong P2 và đặt một token vào P1 Hoạt động này tương ứng với một khách hàng được phục vụ, sau đó rời khỏi hệ thống và một khách hàng mới được thêm vào hàng đợi Như vậy đảm bảo được yêu cầu hệ thống luôn chỉ có tối đa K khách
2.1.3 Kỹ thuật hàng đợi với mô hình M/M/m
Hàng đợi M/M/m (m>1) có các phân phối thời gian đến giữa hai khách hàng liên tiếp và phân phối thời gian phục vụ giống hàng đợi M/M/1, tuy
nhiên trong trường hợp này có m kênh phục vụ trong hệ thống và hàng đợi độ
dài vô hạn Trạng thái hệ thống được đặc trưng bởi số khách hàng trong hệ thống Hệ thống có:
Trang 36Hệ thống hàng đợi M/M/m được mô hình hóa trong hình 2.9
Hình 2.8: Mô hình hệ thống M/M/m
Sơ đồ tốc độ chuyển đổi trạng thái thể hiện trong hình 2.9
Hình 2.9: Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/m
Khách ra
W thời gian đợi
Hàng đợi (queue)
Trang 37Do đó:
Nó thường được kí hiệu là Erlangs C Formula, viết tắt là C(m, )
- Đơn vị đo hiệu suất
Hình 2.10: Kí hiệu biểu đồ thời gian cho các hàng đợi (một kênh phục vụ)
Trong sơ đồ này:
- Đường kẻ ngang dưới đại diện cho hàng đợi, đường kẻ ngang trên đại diện cho cơ sở dịch vụ hay kênh phục vụ
Sn
Trang 38- Mũi tên hướng từ dưới lên chỉ vào đường kẻ ngang hàng đợi ( hoặc kênh phục vụ) chỉ ra rằng một khách hàng đã vào hàng đợi (hoặc kênh phục vụ)
- Mũi tên hướng từ đường kẻ ngang hàng đợi ( hoặc kênh phục vụ) đi ra, chỉ ra rằng một khách hàng đã đi ra khỏi hàng đợi (hoặc kênh phục vụ)
- Khách hàng Cn+1 đến trước khi khách hàng Cn vào dịch vụ và chỉ khi khách hàng Cn dời khỏi dịch vụ thì khách hàng Cn+1 mới vào dịch vụ (dĩ nhiên hai sự kiện này có thể xảy ra đồng thời)
- Khách hàng Cn+2 vào hệ thống và nhận thấy kênh phục vụ “rảnh” ngay lập tức xuyên qua hàng đợi vào ngay kênh phục vụ (wn+2=0)
Ngoài ra, trong hệ thống hàng đợi chúng ta còn quan tâm đến các thông số khác như số khách hàng đến và rời khỏi hệ thống trong một khoảng thời gian, hay số khách hàng trung bình trong hệ thống, hoặc trong hàng đợi, hệ số sử dụng của hệ thống
Trang 392.1 dưới đây:
Bảng 2.1 Các tham số đặc trưng trong hệ thống hàng đợi
1 Cn Khách hàng thứ n vào hệ thống
2 τ n Thời điểm đến của khách hàng thứ n (C n )
3 tn Khoảng thời gian giữa khách hàng Cn-1 và Cn (tn= τn - τn-1 )
9 B( ) Phân phối thời gian phục vụ
10 Số khách hàng đến trong khoảng thời gian (0,t)
11 Số khách hàng ra khỏi hệ thống trong khoảng thời gian (0,t)
12
N(t) Số khách hàng ở trong hệ thống tại thời điểm t
13 Nq(t) Số khách hàng trong hàng đợi tại thời điểm t
14 T Tổng thời gian phục vụ của toàn bộ hệ thống
15 λ Tốc độ đến (arrival rate) của khách hàng
17 thời gian trung bình sử dụng dịch vụ
18 ρ Hệ số sử dụng hệ thống
19 pK xác suất có K khách hàng trong hệ thống
Trang 40Hệ thống ở trạng thái dừng (the system in the steady – state) khi
2.1.4.2 Kí hiệu Kendall A / B / m / K / n / D
Các thành phần cơ bản của một hàng đợi được mô tả ngắn gọn trong kí
hiệu Kendall [12, trang 14] có dạng: A / B / m / K / n / D
Ý nghĩa của các ký hiệu trong mô tả Kendall được trình bày trong bảng 2.3
Bảng 2.2: Các thành phần trong kí hiệu Kendall
Kí hiệu cho A(t) - hàm phân phối thời gian của các lần đến liên tiếp A có giá trị là: M (phân phối mũ), D (phân phối đều), Er( phân phối Erlangian), G (phân phối chung), H (phân phối siêu mũ)
Kí hiệu cho B( ) - hàm phân phối thời gian phục vụ B có giá trị
là: M (phân phối mũ), D (phân phối đều), Er( phân phối Erlangian), G (phân phối chung), H (phân phối siêu mũ)
3 m Số lượng kênh phục vụ
Dung lượng của hệ thống, là số khách hàng lớn nhất có mặt mà hệ thống bao gồm cả khách hàng trong hàng đợi và khách hàng đang được phục vụ
5 n Số lượng nguồn khách hàng (population size)
Sau đây là bảng các hàm phân phối xác suất của A và B