Trong thực tế, chúng ta bắt gặp rất nhiều các hệ thống được thiết lập bởi các yêu cầu của khách hàng, trong đó các thời điểm xuất hiện được xem như một đại lượng ngẫu nhiên, còn nhu cầu
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ TUẤN DOANH
NGHI£N CøU Lý THUYÕT HµNG §îI Vµ
M¤ PHáNG B·I GöI XE T¹I SI£U THÞ BIG C - Hµ NéI
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
TH¸I NGUY£N - 2015
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ TUẤN DOANH
NGHI£N CøU Lý THUYÕT HµNG §îI Vµ
M¤ PHáNG B·I GöI XE T¹I SI£U THÞ BIG C - Hµ NéI
Chuyên ngành : Khoa Học Máy Tính
Mã số : 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Lê Quang Minh
TH¸I NGUY£N - 2015
Trang 3LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu do chính tôi thực hiện Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được
ai công bố trong bất kỳ công trình nào khác
Thái Nguyên, Ngày 14 tháng 5 năm 2015
Tác giả
Vũ Tuấn Doanh
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC……… ……… ii
DANH MỤC CÁC BẢNG……… ….……… iv
DANH MỤC CÁC HÌNH……….……… … v
LỜI MỞ ĐẦU……… ……… … 1
Chương 1:CƠ SỞ LÝ THUYẾT VỀ HÀNG ĐỢI 3
1.1 Các khái niệm cơ bản 3
1.1.1 Định nghĩa hàng đợi 3
1.1.2 Các tham số đặc trưng của một hàng đợi 3
1.1.3 Các thông số hiệu năng thường dùng khi phân tích hệ thống sử dụng mô hình mạng xếp hàng 6
1.2 Ứng dụng của hệ thống hàng đợi 8
1.2.1 Hệ thống phục vụ 8
1.2.2 Các yếu tố của hệ thống phục vụ 10
1.2.3 Trạng thái hệ thống phục vụ 14
1.3 Kết luận chương 17
Chương 2:NGHIÊN CỨU HÀNG ĐỢI VÀ MỘT SỐ BÀI TOÁNTRONG SIÊU THỊ 18
2.1 Một số hàng đợi trong bài toán mô phỏng siêu thị 18
2.2 Hàng đợi M/M/k 20
2.2.1 Trạng thái ổn định của hàng đợi M/M/k 20
2.2.2 Phân bố dừng của hàng đợi M/M/k 21
2.2.3 Hàng M /M / k / N 21
2.3 Hàng đợi G/G/1 23
2.3.1 Phương pháp phương trình tích phân 24
2.3.2 Hàng đợi M/G/1 26
2.3.3 Các trường hợp đặc biệt của hàng đợi M/G/1 27
Trang 52.3.4 Phương pháp chuỗi Markov nhúng áp dụng cho hàng G/M /1 29
2.3.5 Các cận trên của thời gian đợi trung bình của hàng 31
2.4 Một số bài toán tổng quát trong siêu thị 32
2.5 Quy trình sử dụng GPSS mô phỏnghàng đợi 33
2.6 Kết luận chương 35
Chương 3:BÀI TOÁN MÔ PHỎNG BÃI GỬI XE TẠISIÊU THỊ BIG C – HÀ NỘI 36
3.1 Bài toán bãi xe tại siêu thị (mô hình hoạt động đơn giản) 36
3.1.1 Mô tả bài toán 36
3.1.2 Phân tích bài toán 36
3.1.3 Giải bài toán 37
3.1.4 Mô hình GPSS World 38
3.2 Bài toán mô phỏng hoạt động của siêu thị 39
3.2.1 Mô tả bài toán 39
3.2.2 Phân tích bài toán 41
3.2.3 Giải bài toán 42
3.2.4 Mô hình GPSS World 43
3.3 Đánh giá, so sánh kết quả mô phỏng 52
3.4 Kết luận chương 56
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 6DANH MỤC CÁC BẢNG
Bảng 2.1: Các thành phần trong kí hiệu Kendall 18
Bảng 2.2: Một số phân phối xác suất liên quan đến A và Btrong mô tả Kendall 19 Bảng 3.1 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với thời gian T = 8 giờ 39
Bảng 3.2: So sánh kết quả tính toán theo lý thuyết với tính toán
trong GPSS với T = 8 giờ 52
Bảng 3.3 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS theo thời gian T tại mô hình ở mục 3.1 53
Bảng 3.4: Mức độ sai lệch giữa mô phỏng và lý thuyết theo đại lượng
“Số xe ô tô đến siêu thị” với mô hình ở mục 3.1 54
Bảng 3.5: Mức độ sai lệch giữa mô phỏng và lý thuyết theo đại lượng “Số xe ô tô được phục vụ tại bãi xe” với mô hình ở mục 3.1 54
Bảng 3.6: Mức độ sai lệch giữa mô phỏng và lý thuyết theo đại lượng
“Số xe ô tô được phục vụ tại bãi xe” với mô hình ở mục 3.2 55
Hình 3.7: Đồ thị phụ thuộc độ sai lệch tính toán giữa GPSS và lý thuyết
theo thời gian 55
Trang 7DANH MỤC CÁC HÌNH
Hình 1.1: Mô hình chung của hệ thống hàng đợi 3
Hình 1.2: Mô hình cơ bản của hệ thống phục vụ 8
Hình 1.3: Mô tả hệ thống phục vụ đám đông 9
Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ 15
Hình 2.1: Đồ thị biểu diễn tốc độ phục vụ 29
Hình 3.1: Mô hình hàng đợi của bãi xe 36
Hình 3.2: Sơ đồ thuật toán mô phỏng bãi xe 37
Hình 3.3: Mô hình minh họa hoạt động của siêu thị 41
Hình 3.4: Mô hình hoạt động các hàng đợi của siêu thị 41
Hình 3.5 Sơ đồ thuật toán mô phỏng hàng đợi của siêu thị 42
Trang 8LỜI MỞ ĐẦU
Những năm gần đây, việc ứng dụng công nghệ thông tin vào các hoạt động trong đời sống, xã hội là rất cần thiết Trong thực tế, chúng ta bắt gặp rất nhiều các hệ thống được thiết lập bởi các yêu cầu (của khách hàng), trong đó các thời điểm xuất hiện được xem như một đại lượng ngẫu nhiên, còn nhu cầu được đặc trưng bằng khối lượng các công việc phải làm để phục vụ, thứ tự ưu tiên trước sau, thời gian hoàn thành công việc và toàn bộ công việc Đó là những hệ thống như: Mạng điện thoại, mạng máy tính, hệ thống phục vụ sử dụng phòng máy thực hành, hệ thống các quầy thu ngân trong siêu thị, hệ thống bán vé tự động, sân bay… Những hệ thống này được biết đến với tên gọi hệ thống phục vụ đám đông (hay hệ thống hàng đợi)
Nhìn chung các hệ thống phục vụ đám đông là hệ thống phức tạp, việc vận hành và tính toán các đặc trưng của hệ thống để tư vấn cho nhà quản lý là một vấn đề hết sức cần thiết Trong quá khứ, có rất nhiều dự án xây dựng hệ thống phục vụ phức tạp dựa trên hàng chờ (Queue) không thành công vì đã không đặc tả được chính xác bài toán thực tiễn Việc xây dựng mô hình toán học cho mỗi hệ thống là rất cần thiết để giảm chi phí tối đa cho các hoạt động đặc tả nó Khi đó tính chất đầy đủ của các mô hình mô phỏng cần đạt được việc mô phỏng quá trình làm việc của mỗi phần tử trong hệ thống với việc đảm bảo logic, quy tắc của sự tương tác và phát triển của chúng, cả trong không gian và trong thời gian Các câu hỏi được đặt ra là: Làm thế nào để mô phỏng một hệ thống phức tạp dưới dạng đơn giản nhưng chính xác? Phương pháp nào là khả thi nhất, tối ưu nhất? Có rất nhiều phương pháp đã được đưa ra để giải quyết bài toán trên như: Tính toán bằng các công thức toán học, xây dựng hệ thống phục vụ bằng các ngôn ngữ lập trình (Pascal, C++…), mô phỏng bằng các công cụ mô phỏng (Matlab, Petri Network…)… Để 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à
Trang 9khá 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 hàm tạo ngẫu nhiên các sự kiện (random) cũng không hề đơn giản, chính vì vậy đã xuất hiện những ngôn ngữ mô phỏng chuyên dụng Một trong những ngôn ngữ chuyên dụng mô phỏng hệ thống phức tạp, rời rạc có hiệu quả và phổ biến nhất hiện nay là General Purpose Simulation System (GPSS), ngôn ngữ này thuộc về lớp ngôn ngữ hướng vấn đề Lĩnh vực áp dụng chính của GPSS là hệ thống phục vụ đám đông Đối tượng của ngôn ngữ này được sử dụng tương tự như: Thành phần chuẩn của một hệ thống phục vụ đám đông; các yêu cầu, thiết bị phục vụ, hàng đợi… Tập hợp đầy đủ những thành phần như vậy cho phép xây dựng các mô phỏng phức tạp trong khi đảm bảo những thuật ngữ thông thường của hệ thống phục vụ đám đông
Trên thế giới nói chung và ở Liên bang Nga nói riêng, việc nghiên cứu
và ứng dụng của GPSS rất phổ biến và phát triển Tuy nhiên việc triển khai và ứng dụng công cụ mô phỏng GPSS trong giải quyết các bài toán hệ thống phục vụ đám đông vẫn là mới ở Việt Nam
Chính vì vậy, yêu cầu lựa chọn, so sánh, đánh giá các công cụ dựa trên định hướng xây dựng mô phỏng hệ thống phục vụ đám đô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 lý thuyết hàng đợi và mô phỏng bãi gửi xe tại siêu thị Big C –
Hà Nội” cho luận văn tốt nghiệp Thạc sĩ của mình
Trang 10Chương 1
CƠ SỞ LÝ THUYẾT VỀ HÀNG ĐỢI
1.1 Các khái niệm cơ bản
1.1.1 Định nghĩa hàng đợi
Hàng đợi là hệ thống bao gồm các thành phần : khách hàng vào/ ra hệ thống (input/output), hệ thống phục vụ (server), hàng đợi(queue)
Hình 1.1: Mô hình chung của hệ thống hàng đợi
Khách hàng vào hệ thống được đưa vào hàng đợi, đến lượt thì được phục vụ ở server, sau khi được phục vụ xong thì ra khỏi hệ thống Khi dùng hàng đợi ta hiểu là toàn bộ hệ thống xếp hàng bao gồm các yêu cầu đợi phục
vụ và các yêu cầu đang đợi phục vụ và các yêu cầu đang được phục vụ [2]
Hệ thống được mô hình hoá dưới dạng hàng đợi như sau:
Mỗi loại tài nguyên của hệ thống tương ứng với một trung tâm dịch
vụ (server center)
Mỗi giao dịch yêu cầu tài nguyên thứ i sẽ là một khách hàng trong hàng đợi Qi tương ứng với loại tài nguyên đó
1.1.2 Các tham số đặc trưng của một hàng đợi
- Tính chất của dòng khách hàng đến hàng đợi hay phân bố xác suất khoảng thời gian giữa các yêu cầu hàng đợi
- Phân bố xác suất khoảng thời gian dịch vụ cho mỗi yêu cầu trong hàng đợi
- Số các server tại hàng đợi
- Dung lượng bộ đệm hay dung lượng lưu trữ tại hàng đợi
Trang 11- Tổng số các yêu cầu hiện đang có mặt tại hàng đợi
: kích thước bộ đệm hoặc dung lượng lưu trữ tại hệ thống xếp hàng
N : số lượng khách hàng được phép chuyển qua hệ thống
dãy các giai đoạn trễ mỗi giai đoạn có cùng thời gian dịch vụ trung bình và
có phân phối mũ Không có các hàng đợi tại bất kì giai đoạn phục vụ nào vì yêu cầu tiếp theo sẽ không được đáp ưng nều yêu cầu trước đó chưa được hoàn thành:
Trang 12( )( )
có các thời gian dịch vụ khác nhau với các giai đoạn được phục vụ song song
( )
p n
1
i i R
x
i i i
nó được phục vụ xong thì dịch vụ có thể tiếp tục đối với một khách hàng
bị thế chỗ ngay nơi mà nó bị ngắt trước đó
RR(Round Robin): Thời gian tại một tài nguyên (đĩa , CPU… )được phân chia thành một số các thông số trong khoảng nhỏ có độ dài cố định được gọi là các lượng tử Một khách hàng tới tham gia vào hàng đợi
và chờ để được lên đầu hàng theo nguyên tắc FCFS và cuối cùng khách hàng nhận được một lượng tử cho quá trình phục vụ khi lượng tử này hết
mà khách hàng vẫn chưa được phục vụ thì khách hàng đó phải quay lại hàng đợi cho đến khi khách hàng đó được phục vụ xong
PS(Processor Shariny) : Trong hệ thống này các bộ vi xử lý đóng vai trò như server có tốc độ phục vụ cố định Nó có thể phân phối khả năng phục vụ bằng nhau cho các khách hàng trong hệ thống có nghĩa là không có hàng đợi nào trong hệ thống cả Mỗi khách hàng đến lập tức được phục vụ
P: Chế độ có ưu tiên Một số khách hàng được quyền ưu tiên hơn những người khác và được phục vụ trước
Trang 131.1.3 Các thông số hiệu năng thường dùng khi phân tích hệ thống sử
vị thời gian Ví dụ, nếu một hệ điều hành được cung cấp các công cụ để mà đếm số yêu cầu về phục vụ một số tài nguyên (CPU, đĩa ) thì tổng số lần đếm trong một đơn vị thời gian chính là tốc độ đến
- Thông lượng (throughput) của hệ thống xếp hàng hay là tốc độ trung
hệ thống Thông lượng trung bình là trung bình trọng số của các tốc độ dịch
- Số khách hàng trung bình trong hệ thống xếp hàng :
1
n n
Trang 14Cách biểu diễn khác, thời gian đáp ứng : R = W+S (thời gian thường
trú bằng tổng thời gian phục vụ và thời gian mà khách hàng đó phải đợi trước khi được phục vụ)
- Thời gian phục vụ (S-service time) được định nghĩa là : S = B
C
Trong đó B - tổng thời gian hệ thống bận trong khoảng thời gian T Đại lượng này không phải là tốc độ mà nó biểu diễn tổng thời gian trung bình để hoàn thành phục vụ một yêu cầu đến
- Thời gian dợi (W-waiting time) thời gian đợi của một khách hàng
trước khi được phục vụ được xác định : W=SQ, trong đó Q - số các khách hàng trung bình trong hàng đợi, S - tốc độ dịch vụ
- Độ hiệu dụng (utilitization) hay là xác suất để hệ thống xếp hàng là
biểu diễn tổng thời gian trung bình mà server hay tài nguyên bị bận trong khoảng thời gian quan sát T Độ hiệu dụng không có đơn vị mà thường được biểu diễn dưới dạng %
- Xác suất để tất cả các kênh phục vụ đều bận hay xác suất để 1 khách
Trang 15hàng bị từ chối là : PN hay P[quetteing] (trong đó N-kích thước hệ thống)
Nhận xét: Một điều đáng lưu ý là hầu như tất cả các độ đo hiệu năng,
được xét đến đều phụ thuộc vào giá trị của các xác suất trạng thái cân bằng
P n , n = 0, 1, 2 Do vậy để xác định được các độ đo hiệu năng đó cần phải tìm
ra được giá trị của các xác suất trạng thái cân bằng
Các độ đo trên có thể được dùng trực tiếp không chỉ trong các hệ thống xếp hàng đơn mà còn có thể được áp dụng cho một hàng đợi trong mạng xếp hàng nơi mà xác suất trạng thái thành phần của hàng đó
- Dòng yêu cầu ra: Các yêu cầu được phục vụ
Chi tiết về hệ thống phục vụ sẽ được trình bày cụ thể trong phần 1.1.2
Trang 16Trong 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 Ta có thể sử dụng một trong hai phương pháp “hộp đen” hoặc phương pháp “hộp trắng” để mô
A: Phân phối của thời gian vào
B: Phân phối thời gian phục vụ
m: Số máy phục vụ
n: Số chỗ trong hàng đợi
A, B có thể nhận một trong các phân phối sau:
λ: Cường độ xuất hiện của sự kiện đầu vào
µ: Cường độ phục vụ của kênh phục vụ
- M: Phân phối mũ có hàm phân phối:
e x
Trong đó:
( )
Trang 17j
j x
j
x e
x
(1.2) Phân phối Erlang là trường hợp đặc biệt của phân phối Gamma với tham
số hình dạng là số nguyên, được phát triển để dự đoán các thời gian đợi trong các hệ thống hàng đợi
Trong đó:
( )
- Hk: Phân phối siêu lũy thừa với hàm phân phối:
- D: Phân phối tất định (Deterministic distribution), tức thời gian vào và thời gian phục vụ là hằng số Hàm phân phối của phân phối này:
0, nếu x <x0
- G: Phân phối tổng quát (General distribution)
- GI: Phân phối tổng quát với các thời gian vào hệ thống hoặc thời gian phục vụ độc lập nhau Có các dạng sau:
+ MMPP: The Markov modulated Poisson process
+ The Markovian arrival process
+ BMAP: The Batch Markovian arrival process
- PH: Phân phối pha
1.2.2 Các yếu tố của hệ thống phục vụ
Một hệ thống phục vụ, 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:
Trang 181.2.2.1 Dòng vào
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 đó
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 máy bay chờ để cất cánh, hạ cánh…
Tại các thời điểm khác nhau, các yêu cầu đến hệ thống phục vụ một cách ngẫu nhiên nên các dòng yêu cầu là những đại lượng ngẫu nhiên, tuân theo một luật phân bố xác suất nào đó, do vậy có nhiều loại dòng vào Trong luận văn này, ta chỉ tập trung vào hai loại dòng yêu cầu quan trọng, thường gặp nhất ở mọi hệ thống phục vụ, đó là: Dòng vào tiền định và dòng vào Poisson
a Dòng vào tiền định
Dòng vào tiền định là dòng vào trong đó những 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, là một đại lượng ngẫu nhiên có hàm phân bố xác suất là:
Dòng vào Poisson được chia làm hai loại:
- 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 D t, kể từ thời điểm t, phụ thuộc vào t, nghĩa là:
t t a
t t a
e Dt
(
) , (
(1.6) Trong đó: a t D( , t) là số trung bình yêu cầu xuất hiện từ t đến D t
- Dòng vào Poisson dừng: Là dòng vào mà xác suất trong khoảng thời gian D t, 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à:
Trang 19 x
t
t
e Dt
!)
Trong đó: λ là cường độ xuất hiện của dòng yêu cầu
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à
suất dạng:
e t
Và hàm mật độ xác suất là:
f(t) = λe-λt (1.9)
1.2.2.2 Hàng chờ (Queue)
Hàng chờ là tập hợp các yêu cầu sắp xếp theo một nguyên tắc nào đó
để chờ được vào phục vụ trong hệ thống Trong hàng đợi ta có thể giới hạn hoặc không giới hạn số lượng khách chờ
Khi dòng yêu cầu được phục vụ trên các kênh phục vụ (dòng phục vụ)
là tối giản thì khoảng thời gian giữa các lần xuất hiện liên tiếp các yêu cầu là một đại lượng ngẫu nhiên tuân theo luật chỉ số, nghĩa là đại lượng ngẫu nhiên
có phân bố xác suất dạng:
Trang 20Và hàm mật độ xác suất có dạng:
f t( ) = μe –μt (1.11) Trong đó:
μ: Là cường độ phục vụ của kênh phục vụ
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.10), (1.11)
1.2.2.4 Dòng ra
Dòng ra là dòng yêu cầu đi ra khỏi hệ thống, bao gồm các yêu cầu đã được phục vụ và các yêu cầu chưa được phục vụ
- Dòng yêu cầu ra đã được phục vụ: Đó là những 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 dịch 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
- Dòng yêu cầu ra không được phục vụ: Đây là bộ phận yêu cầu đến hệ thống nhưng không được phục vụ vì một lí do nào đó
1.2.2.5 Nguyên tắc phục vụ của hệ thống dịch vụ
Nguyên tắc phục vụ của hệ thống dịch vụ là cách thức nhận các yêu cầu vào phục vụ của hệ thống đó và các quy định khác đối với yêu cầu Nó chỉ ra:
- Trong trường hợp nào thì yêu cầu được nhận vào phục vụ
- Cách thức bố trí các yêu cầu vào các kênh phục vụ
- Khi nào và trong trường hợp nào thì yêu cầu bị từ chối hoặc phải chờ
Trang 21- Cách thức hình thành hàng chờ của các yêu cầu
Các yếu tố của phương pháp phục vụ như: tần suất phục vụ, lựa chọn máy phục vụ… Các phương pháp phục vụ bao gồm: FCFS: First Come First Served (yêu cầu nào đến trước phục vụ trước), LCFS: Last Come First Served (yêu cầu đến sau được phục vụ trước), SIRO: Service In Random Order (phục
vụ các yêu cầu theo thứ tự ngẫu nhiên), PS: Processor Shared, IS: Infinitive Server, Static priorities, Dynamic priorities, Preemption (chế độ ưu tiên)
1.2.3 Trạng thái hệ thống phục vụ
1.2.3.1 Định nghĩa
Trạng thái của hệ thống phục vụ, ký hiệu là x t k( ), là khả năng kết hợp dòng vào và dòng ra của hệ thống ở một thời điểm nhất định
Theo nghĩa đó thì trạng thái của hệ thống phục vụ tại thời điểm t chính là
hệ thống đang có k kênh phục vụ đang bận (đang làm việc) và do đó có (n k )
kênh được rỗi (không làm việc)
Hệ thống phục vụ đang ở trạng thái nào đó là một quá trình ngẫu nhiên, quá trình này tuân theo một luật phân phối xác suất nào đó Nên khả năng xuất hiện một trong các trạng thái x t k( ) (k 0,1, 2, ) nào đó tại thời điểm t, có xác suất là một giá trị xác định P t k( )
1.2.3.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 dòng vào và 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 dòng vào và 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 dòng phục vụ μ(t)
và 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 22Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ
1.2.3.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 x k (t): P k (t), với những tác nhân gây ra sự biến đổi trạng thái đó Mối
và cường độ dòng chuyển trạng thái của hệ thống
- Nội dung quy tắc:
Đạo hàm bậc nhất theo thời gian của xác suất xuất hiện trạng thái x k (t),
P k (t), 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 x k (t), với trạng thái x j (t) khác, trong đó số số
Trang 23có 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:
(k=0,1,2,…,n)
Với điều kiện:
phục vụ) chuyển trạng thái x j (t) về trạng thái x k (t) λ jk (t): ý nghĩa ngược lại P j (t)
là xác suất xuất hiện trạng thái x j (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) ý nghĩa tương tự
dt
t d
k j
k k
j
k jk k
j
j
Trang 241.3 Kết luận chương
Nội dung chương 1 tập trung vào cơ sở lý thuyết phục vụ đám đông (lý thuyết hàng đợi), bao gồm các 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)
Tập trung giải quyết các vấn đề:
Mô tả hệ thống phục vụ: Dòng các yêu cầu vào, hệ thống phục vụ, các kênh phục vụ, dòng yêu cầu ra
Các yếu tố của hệ thống phục vụ: Dòng vào (dòng vào tiền định, dòng vào Poisson); hàng chờ (Queue); kênh phục vụ; dòng ra; nguyên tắc phục vụ của hệ thống dịch 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)
Trang 25Chương 2 NGHIÊN CỨU HÀNG ĐỢI VÀ MỘT SỐ BÀI TOÁN
TRONG SIÊU THỊ
2.1 Một số hàng đợi trong bài toán mô phỏng siêu thị
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[10] 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.1
Bảng 2.1: 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(t) - 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ũ)
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ụ
Trang 26Sau đây là bảng các hàm phân phối xác suất của A và B
Kendall
e t
k
j
j t
k
j
t k e
A
1
q)
Ví dụ: Hệ thống hàng đợi M/M/3/20/1500/FCFS, có nghĩa là:
- Thời gian giữa các lần đến liên tiếp tuân theo luật phân phối mũ
- Thời gian phục vụ tuân theo luật phân phối mũ
- 3 kênh phục vụ
- Dung lượng hệ thống là 20: 3 phục vụ + 17 đợi
- Nếu số yêu cầu đến trên 20, thì các yêu cầu trên 20 sẽ bị mất (lost)
- Tổng số các yêu cầu 15000 có thể được phục vụ
- Nguyên tắc phục vụ đến trước phục vụ trước
Một ví dụ nữa để hiểu rõ hơn về kí hiệu Kendall là hệ thống hàng đợi G/G/1, có nghĩa là G/G/1/∞/∞/FCFS, hệ thống có:
- Dung lượng hệ thống là vô hạn
- Số lượng khách (population size) là vô hạn
- Nguyên tắc phục vụ đến trước phục vụ trước
- 1 kênh phục vụ
- Thời gian giữa các lần đến liên tiếp theo luật phân phối G (General)
- Phân phối thời gian phục vụ là: G
Đối với bài toán mô phỏng siêu thị, xuất hiện những vấn đề đặt ra như dòng khách hàng đến mua hàng, thời gian mua hàng, số lượng hàng được mua, thời gian đến mua hàng, thời gian tham gia mua hàng ở siêu thị, thời
Trang 27gian thanh toán tiền … Nên nếu nhìn ở mức đơn giản, chỉ coi tổng thời gian tham gia xem hàng, mua hàng, thanh toán tiền là 1 tham số thì sẽ có một bài toán hệ thống phục vụ đơn giản với bài toán mô phỏng bãi gửi xe với 1 hàng đợi duy nhất, và mô hình là M/M/1, G/G/1 Tuy nhiên nếu nhìn nhận hệ thống phức tạp hơn, với bài toán thanh toán tiền, có thể có nhiều quầy thu ngân, ở
đó có thể có những bài toán mô hình nhiều kênh phục vụ M/M/k, G/G/k
Những dạng hàng đợi này sẽ được xem xét kỹ hơn ở các mục sau trong Chương này
2.2 Hàng đợi M/M/k
2.2.1 Trạng thái ổn định của hàng đợiM/M/k
Hàng M /M / k có quá trình đến Poisson, thời gian phục vụ theo phân bố
mũ và k Server Trong trường hợp này chuỗi thời gian liên tục {l(t)} t≥0 với không gian trạng thái {0,1,2, } là một quá trình sinh tử vô hạn có có tốc độ sinhλi = λ và tốc độ tử i min k i( , ) [4]
* Khi λ>k hay cường độ lưu thông (traffic intensity) = > thì hệ thống không đạt được trạng thái ổn định Chuỗi { ( )} t≥0 không hồi qui
(transient) Số các khách hàng trong hệ thống sẽ dần đến vô hạn
* Khi λ = kμ hay ρ = k , chuỗi { ( )} t≥0 hồi qui không (null - recurrent),
hệ thống cũng không đạt trạng thái ổn định Số khách hàng trong hệ thống không tiến về một trạng thái nào Thời gian trung bình để hệ thống xuất phát
từ một trạng thái bất kỳ quay về lại trạng thái này là vô hạn
* Khi λ<kμ hay ρ<k , chuỗi { ( )} t≥0 hồi qui dương (positive recurrent) và
hệ thống đạt được trạng thái ổn định Nghĩa là khi tốc độ đến nhỏ hơn tốc độ phục vụ tối đa của hệ thống thì số khách hàng ở trong hệ thống có khuynh hướng tiến về không và hệ thống quay trở lại trạng thái 1 nếu có một khách hàng mới đến khi hệ thống đang rỗng
* Tại thời điểm t bất kỳ đặt là khoảng thời gian cho đến khi khách hàng tiếp theo rời khỏi hệ thống Định lý Burke phát biểu rằng khi t →∞ thì d (t) có
Trang 28phân bố mũ vớitham số λ và độc lập với số khách hàng trong hệ thống tại thời
điểm t Nói cách khác, chuỗi giới hạn các khách hàng rời khỏi hệ thống M /M / k là một quá trình Poisson tham số λ (Burke, 1976)
2.2.2 Phân bố dừng của hàng đợi M/M/k
Đây là hàng có quá trình đến Poisson với tốc độ λ , thời gian phục vụ
số lượng N Khi một khách hàng đến hệ thống thì xảy ra hiện tượng sau: Nếu
đã có đủ N khách hàng trong hàng thì lập tức khách hàng này rời khỏi hệ
thống còn trường hợp ngược lại thì khách hàng sẽ xếp vào xếp hàng Như vậy không gian trạng thái của chuỗi { ( )} t≥0 là {0,1,…,N}, đây là một quá trình sinh tử hữu hạn Chuỗi l(t) chuyển từ trạng thái i đến i +1 khi một khách hàng đến và đổi trạng thái i về i 1 khi một phục vụ vừa hoàn tất Tốc độ sinh là
hằng số λi= λ với mọi = 1,2, … Tốc độ tửμi = min(k,i)
Hệ thống đạt trạng thái ổn định với phân bố dừng thoả mãn:
Trang 29(2.3)
11
Một vài trường hợp đặc biệt
Khi N →∞ ta có nhận được công thức (2.1)-(2.2) của trường hợp
M/M/k
Khi N = k ta được công thức mất của Erlang (Erlang's loss formula)
Ví dụ: Về mô hình M/M/1 (mô hình xếp hàng một kênh, lượng khách hàng đến theo phân phối Poisson và thời gian phục vụ tuân theo hàm mũ)
Trang 302.2.4 Phát biểu bài toán:Một tổng đài quân sự có một trung kế gọi ra
mạng dân sự Ước tính có trung bình 15 cuộc gọi/giờ (cuộc gọi ra ngoài mạng QĐ) Thời gian trung bình mỗi cuộc gọi là 3 phút
a Xác định tải trọng của hệ thống
b Tính % thời gian chờ của hệ thống
c Tính số lượng cuộc gọi xếp hàng trong hệ thống
d Tính thời gian trung bình của cuộc gọi trong hệ thống
e Tính xác suất khi hệ thống phục vụ hết cuộc gọi (call=0) và khi (call=4)
2.3 Hàng đợi G/G/1
Hệ thống có 1 Server, quá trình đến là tổng quát nhưng các thời gian đến
trung gian tn độc lập, có cùng phân bố và có kỳ vọng chung là E[t1] Thời gian phục vụ trong mỗi chu kỳ cũng độclập, cùng phân bố và có kỳ vọng
/GI /1, ở đây I thay cho independence nghĩa là độc lập)
Trang 31Ta sẽ đưa ra 3 phương pháp để phân tích các trường hợp đặc biệt đối với
quá trình sắp hàng G/G/1
- Phương pháp thứ nhất được gọi là phương pháp phương trình tích
phân Phương pháp này đưa bài toán tìm các phân bố giới hạn thời gian đợi
của khách hàng thứ n (khi n→∞) về bài toán giải phương trình tích phân dạng
Wiener - Hopf
- Phương pháp thứ 2 khảo sát chuỗi Markov nhúng (Embedded
Markov Chain) Nếu quá trình đến là Poisson thì chuỗi Markov nhúng được xét là độ dài của hàng tại những thờiđiểm khi có một khách hàng vừa được phục vụ xong
Nếu thời gian phục vụ có phân bố mũ và quá trình đến có phân bố tổng quát thì chuỗi Markov nhúng có được bằng cách kê khai kích thước của hàng tại mỗi thời điểm khi có một khách hàng mới đến Khi đó quá trình trở thành một chuỗi Markov với cấu trúc đặc biệt
-Phương pháp thứ 3 nghiên cứu các tính chất của biến ngẫu nhiên W(t) là thời gian một khách hàng phải đợi nếu anh ta đến hệ thống tại thời điểm t Đại
lượng này được gọi là thời gian đợi thực sự của khách hàng với giả thiết
khách hàng đến hệ thống tại thời điểm t.
2.3.1 Phương pháp phương trình tích phân
với giả thiết W0 , s0 ,T0 đều bằng 0 Nghĩa là ta giả thiết rằng người thứ
nhất đến tại thời điểm t = 0 và không có ai đứng chờ trước anh ta
Trang 32Rõ ràng W n + s n là khoảng thời gian khách hàng thứ n ở trong hệ thống (thời gian chờ +thời gian phục vụ) Do đó, nếu t n >W n + s nthì khi khách hàng
hợp t n ≤W n + s n thì thời gian đợi là W n + s n t n Tóm lại
là các biến ngẫu nhiên độc lập, do đó với mọi x ≥ 0:
( ) = { < } = {max ( + ; 0) < } = { + < }
Vì người thứ nhất đến hệ thống tại thời điểm t = 0 và không đợi nên
R Chuyển qua giới hạn của đẳng thức (2.8) ta được:
Đặt z= x-y ta được:
F (x) = ∫ ( ) (x-y) dz = F(x)* g(x) (2.12)