ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THU THỦY
NGHIÊN CỨU VÀ ỨNG DỤNG
LÝ THUYẾT HÀNG ĐỢI TRONG BÀI TOÁN
MÔ PHỎNG HOẠT ĐỘNG MỘT SIÊU THỊ
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
Hà Nội – 2017
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THU THỦY
NGHIÊN CỨU VÀ ỨNG DỤNG
LÝ THUYẾT HÀNG ĐỢI TRONG BÀI TOÁN
MÔ PHỎNG HOẠT ĐỘNG MỘT SIÊU THỊ
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TIẾN SĨ LÊ QUANG MINH
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu do chính tôi thực hiện trên cơ sở tìm kiếm, thu thập, nghiên cứu, tổng hợp trình bày bằng văn bản. Các tài liệu tham khảo đều được nêu ở phần cuối của luận văn. Các số liệu, kết quả nêu trong luận văn là trung thực và không sao chép nguyên bản từ bất kì một nguồn tài liệu nào khác.
Nếu có gì sai sót, tôi xin hoàn toàn chịu trách nhiệm.
HỌC VIÊN
NGUYỄN THU THỦY
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................ 1
MỤC LỤC ................................................................................................................... 4
DANH MỤC HÌNH VẼ............................................................................................... 6
DANH MỤC CÁC BẢNG .......................................................................................... 7
Chương 1: LÝ THUYẾT HÀNG ĐỢI ....................................................................... 10
1.1 Các khái niệm cơ bản.................................................................................... 10
1.1.1 Biến ngẫu nhiên ..................................................................................... 10
1.1.2 Phân phối sác xuất thường gặp ............................................................... 10
1.1.3 Khái niệm hàng đợi và lý thuyết hàng đợi .............................................. 13
1.1.4 Kí hiệu Kendall ...................................................................................... 17
1.1.5 Định nghĩa các độ đo hiệu suất ............................................................... 18
1.1.6 Luật Little .............................................................................................. 19
1.2 Một số mô hình hàng đợi cơ bản ................................................................... 20
1.2.1 Hệ thống một kênh phục vụ M/M/1 ........................................................ 20
1.2.2 Hệ thống đa kênh phục vụ M/M/c .......................................................... 22
1.2.3 Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1) ................... 23
1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K ................................... 24
1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết ............................. 25
1.4 Phương pháp giải quyết bài toán bằng lý thuyết hàng đợi ............................. 26
Chương 2: CÔNG CỤ MÔ PHỎNG GPSS WORLD ................................................. 27
2.1 Cách tiếp cận mô phỏng ................................................................................ 27
2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng ....................................... 27
2.3 Giới thiệu về GPSS World ............................................................................ 28
2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World ......................................... 28
2.3.2 Một số khái niệm trong GPSS World ..................................................... 29
2.3.3 Các thực thể trong GPSS ........................................................................ 31
2.3.4 Cú pháp lệnh GPSS ................................................................................ 35
2.3.5 Các khối cơ bản trong GPSS .................................................................. 37
2.3.6 Một số hàm thư viện .............................................................................. 43
2.3.7 Cài đặt và sử dụng GPSS World Student Version ................................... 43
2.4 Hàng đợi có ưu tiên Priority Queueing .......................................................... 44
2.5 Các bước mô phỏng bài toán trên GPSS World ............................................ 46
CHƯƠNG 3: ỨNG DỤNG LÝ THUYẾT HÀNG ĐỢI VÀ CÔNG CỤ MÔ PHỎNG VÀO BÀI TOÁN HÀNG ĐỢI SIÊU THỊ.................................................................. 50
3.1 Một số quan sát về hàng đợi siêu thị ............................................................. 50
3.2 Bài toán xếp hàng gồm 1 phase phục vụ ....................................................... 51
3.2.1 Phát biểu bài toán ................................................................................... 51
3.2.2 Phân tích bài toán bằng lý thuyết hàng đợi. ............................................ 52
3.2.3 Mô phỏng bài toán bằng công cụ mô phỏng ........................................... 53
3.3 Bài toán xếp hàng nhiều phase phục vụ ........................................................ 58
3.3.1 Phát biểu bài toán ................................................................................... 58
3.3.2 Phân tích bài toán bằng lý thuyết hàng đợi ............................................. 59
3.3.3 Mô phỏng bài toán bằng công cụ mô phỏng ........................................... 63
KẾT LUẬN ............................................................................................................... 71
DANH MỤC HÌNH VẼ
Hình 1. 1- Sơ đồ chuyển trạng thái của phân phối Erlang-k với biến quy mô là ...... 12
Hình 1. 2- Thành phần cơ bản của hàng đợi ............................................................... 14 Hình 1. 3 - Mô hình hàng đợi M/M/1 ......................................................................... 21 Hình 1. 4- Mô hình hàng đợi M/M/1 .......................................................................... 21 Hình 1. 5 - Sơ đồ chuyển trạng thái của hàng đợi M/M/1 ........................................... 21 Hình 1. 6- Mô hình hàng đợi M/M/c .......................................................................... 22 Hình 1. 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c ................................................. 23 Hình 1. 8- Mô hình hàng đơi M/M/c/K ...................................................................... 24 Hình 1. 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K ................................ 25
Hình 2. 1 - Mô tả chương trình mô phỏng bằng GPSS ............................................... 37 Hình 2. 2- Một segment điển hình .............................................................................. 39 Hình 2. 3- Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản ............ 44 Hình 2. 4- Cách lấy yêu cầu của hàng đợi Priority Queueing ..................................... 45 Hình 2. 7- Quy trình mô phỏng .................................................................................. 48
Hình 3. 1- Đồ thị sác xuất số khách hàng trong hệ thống............................................ 53 Hình 3. 2- Mô hình thuật toán giải bài toán bãi đậu xe ............................................... 54 Hình 3. 3- Mã nguồn mô phỏng bài toán bãi đỗ xe ..................................................... 55 Hình 3. 4- Báo cáo thu được khi chạy mô phỏng........................................................ 56 Hình 3. 5- Mô tả mô hình hoạt động của siêu thị ........................................................ 59 Hình 3. 6- Mô hình thuật toán hoạt động của siêu thị ................................................. 63
DANH MỤC CÁC BẢNG
Bảng 1. 1- Một số hàm phân phối thường gặp ............................................................ 10 Bảng 1. 2 - Một số tham số của hàng đợi ................................................................... 18 Bảng 1. 3-Một số mô hình hàng đợi cơ bản ................................................................ 20
Bảng 2. 1- Một số Block cơ bản làm việc với giao tác ............................................... 38 Bảng 2. 2- Một số khối làm việc với thực thể thiết bị ................................................. 40 Bảng 2. 3 Một số khối cơ bản điều khiển dịch chuyển của giao tác ............................ 41
Bảng 3. 1- Kết quả mô phỏng với thời gian 8h ........................................................... 56 Bảng 3. 2. Kết quả mô phỏng với thời gian khác nhau ............................................... 57 Bảng 3. 3- Bảng so sánh độ lệch giữa mô phỏng và tính toán từ lý thuyết của lượng xe được phục vụ ............................................................................................................. 57 Bảng 3. 4- Kết quả tính toán hàng đợi gửi xe ô tô ...................................................... 59 Bảng 3. 5-Bảng kết quả tính toán hàng đợi bãi gửi xe máy ........................................ 60 Bảng 3. 6- Kết quả tính toán hàng đợi giỏ hàng trong 8h ........................................... 61 Bảng 3. 7- Kết quả tính toán hàng đợi xe đẩy trong 8h ............................................... 61 Bảng 3. 8 – Kết quả mô phỏng hoạt động của siêu thị ................................................ 68 Tương tự cách tiến hành với mô hình bài toán bãi gửi xe, thực hiện thay đổi thời gian mô phỏng bằng cách cài đặt lại biến thời gian v_time_work lần lượt bằng các giá trị: 16*60*60, 24*60*60, 40*60*60, 80*60*60 sau đó chạy mô phỏng. Đem so sánh kết quả từng trường hợp với lý thuyết. Bảng 3. 9 đưa ra so sánh thời gian phục vụ của các quầy phục vụ với thời gian trung bình tính toán từ lý thuyết (225 giây). .................... 69 Bảng 3. 10. Bảng so sánh thời gian thanh toán trung bình .......................................... 70
LỜI MỞ ĐẦU
Hàng đợi ảnh hưởng đến nhiều mặt trong cuộc sống thực tế cũng như lĩnh vực kỹ thuật. Trong hoạt động xã hội, hàng đợi là điều không mong muốn của các hệ thống phục vụ đám đông, từ thực tế đó các nhà quản lý luôn mong muốn đánh giá được hiệu quả hệ thống dịch vụ của họ để cải tiến chất lượng phục vụ, giảm chi phí vô ích.
Trong các hoạt động sản xuất kinh doanh cũng như đời sống hàng ngày đều tồn tại những hệ thống phục vụ như: Bến cảng, khách sạn, nhà hàng, trạm điện thoại, cửa hàng bán xăng dầu... Trong các hệ thống ấy thường diễn ra 2 quá trình: Quá trình nảy sinh các yêu cầu và quá trình phục vụ các yêu cầu. Tuy nhiên, trong quá trình hoạt động của hệ thống do nhiều nguyên nhân khác nhau thường dẫn đến các tình trạng:
- Khả năng phục vụ của hệ thống không đáp ứng yêu cầu dẫn đến kết quả là một
số yêu cầu không được phục vụ hoặc phải chờ đợi để được phục vụ.
- Khả năng phục vụ của hệ thống vượt quá yêu cầu dẫn đến kết quả là hệ thống
không sử dụng hết năng lực về lao động, vật tư, thiết bị.
Cả hai tình trạng trên đều gây nên thiệt hại về mặt kinh tế nói chung. Vì vậy bài toán đặt ra là phân tích bản chất của các quá trình diễn ra trong hệ thống và thiết lập mối quan hệ về lượng giữa các đặc trưng của các quá trình ấy. Trên cơ sở các mối liên hệ đã được xây dựng và các số liệu thu thập được từ hệ thống, tính toán, phân tích và đưa ra quyết định nhằm điều khiển hệ thống hoạt động có hiệu quả.
Để trả lời cho những câu hỏi về hàng đợi, chúng ta có 2 phương pháp cơ bản để phân tích là phương pháp phân tích bằng lý thuyết hàng đợi (hay còn gọi là phương pháp giải tích) và mô phỏng hàng đợi. Lý do dùng 2 phương pháp thay vì chỉ dùng một phương pháp là: phân tích bằng lý thuyết chỉ khả thi với các hệ thống hàng đợi đơn giản như hàng đợi đơn, hệ thống với những đặc điểm riêng về quy tắc đến và phân phối thời gian dịch vụ (phân phối Possion hay Normal); hầu hết hệ thống phức tạp đều cần sử dụng mô phỏng, như hệ thống cần quan sát dữ liệu thật hoặc phụ thuộc vào yếu tố thời gian, sẽ khó phân tích bằng lý thuyết.
Trên thực tế, mỗi hệ thống phục vụ đám đông có tính đặc thù riêng và cần được phân tích kỹ lưỡng bằng mô hình toán học cũng như mô phỏng. Mô phỏng tính toán là phương pháp xem xét thông tin về hành vi của hệ thống. Khi phân tích hiệu suất của hàng đợi, chúng ta cần tìn hiểu, thiết kế và điều khiển năng lực của hệ thống phục vụ và quyết định khi nào mở hay đóng dịch vụ. Sử dụng thông tin ước lượng giá trị lãng phí, xác định được hạn chế của dịch vụ taị mỗi thời điểm xác định để có giá trị lãng phí nhỏ nhất (giá trị dịch vụ + thời gian chờ đợi)
Có nhiều cách để mô phỏng hàng đợi như: xây dựng giải thuật và triển khai bằng ngôn ngữ lập trình; Mô phỏng bằng các công cụ chuyên nghiệp như (Petri Nets, MatLab,
GPSS, NS2,…). Công cụ mô phỏng cần sinh ngẫu nhiên sự kiện và quản lý vòng đời của sự kiện theo thời gian và mô phỏng vận hành của của hệ thống, vì vậy sử dụng công cụ lập trình để triển khai thuật toán tốn khá nhiều thời gian. Công cụ mô phỏng sự kiện rời rạc của IBM phát triển vào khoảng thập niên 1960 - General Purpose Simulation System (viết tắt là GPSS) là công cụ được lựa chọn để giới thiệu và sử dụng trong luận văn này.
Vấn đề nghiên cứu và ứng dụng ngôn ngữ mô phỏng GPSS tại Liên bang Nga, cũng như một số quốc gia phát triển khác không còn xa lạ [1]. Ở Việt Nam, việc ứng dụng GPSS cũng đã được đề cập tới ở một số công trình, luận văn khoa học; tuy nhiên việc áp dụng GPSS để mô phỏng chưa áp dụng theo một phương pháp có tính tổng quát. Trên cơ sở các nghiên cứu về phương pháp giải bài toán hệ thống phục vụ đám đông, luận văn đã tập trung vào các mục tiêu sau:
Luận văn tập trung nghiên cứu về một số kiến thức cơ bản trong “ Lý thuyết hàng đợi”, các mô hình hàng đợi, công cụ mô phỏng hàng đợi là GPSS. Đề xuất quy trình xây dựng mô phỏng bằng GPSS và vận dụng để giải quyết bài toán xếp hàng tại siêu thị có thành phần ưu tiên và không ưu tiên.
Luận văn được trình bày trong ba chương với nội dung chính của mỗi chương như sau Chương 1: Lý thuyết hàng đợi.
Luận văn tập trung trình bày về lý thuyết hàng đợi, các mô hình hàng đợi có thể sẽ liên quan đến bài toán hoạt động của một siêu thị.
Chương 2: Công cụ mô phỏng GPSS
Luận văn tập trung trình bày về các công cụ mô phỏng GPSS các cách tiếp cận mô phỏng. Quy trình mô phỏng bài toán thực tế bằng GPSS
Chương 3: Ứng dụng lý thuyết hàng đợi và công cụ mô phỏng vào bài toán hàng đợi siêu thị.
Trình bày bài toán mô phỏng hoạt động của siêu thị cụ thể; bằng phương pháp phân tích sử dụng lý thuyết hàng đợi. Áp dụng công cụ mô phỏng GPSS World và áp dụng quy trình mô phỏng hệ thống hàng đợi để giải quyết bài toán. Từ kết quả thu được đưa ra so sánh và đánh giá hiệu quả của mô phỏng.
Kết luận
Tóm lược kết quả chính của luận văn, nêu lên các hạn chế của nghiên cứu từ đó định hướng phát triển trong thời gian tới.
CHƯƠNG 1. LÝ THUYẾT HÀNG ĐỢI
Chương này tập trung trình bày các khái niệm liên quan đến lý thuyết hàng đợi.
Đây là những kiến thức tổng quan, cơ bản nhất để phân tích và giải bài toán hàng đợi.
1.1 Các khái niệm cơ bản
1.1.1 Biến ngẫu nhiên
Trong hệ thống hàng đợi dễ dàng nhìn thấy 2 quá trình ngẫu nhiên độc lập: quá trình khách hàng xuất hiện ở đầu vào hệ thống và quá trình phục vụ khách hàng tại đầu ra của hệ thống. Số lượng khách hàng tại một thời điểm được đặc trưng bởi một biến ngẫu nhiên rời rạc. Tốc độ đến tại một thời điểm cũng như thời gian phục vụ được đặc trưng bởi các biến ngẫu nhiên.
Biến ngẫu nhiên được ký hiệu bởi X, Y có giá trị kỳ vọng E(X). Phương sai: . Hệ số biến thiên là đại lượng mô tả mức độ biến động với độ lệch chuẩn
tương đối của biến ngẫu nhiên . Tính hệ số biến thiên:
1.1.2 Phân phối sác xuất thường gặp
Mục tiêu của việc phân tích hàng đợi bằng lý thuyết là xây dựng mô hình chuyển trạng thái để xác định phân phối dựa vào xác suất ở đầu vào và phân phối xác suất ở đầu ra của hệ thống. Tốc độ đến và thời gian phục vụ được đặc trưng bởi một phân phối xác suất. Các phân phối thường gặp [2] hai đại lượng này được trình bày trong bảng 1.1.
Bảng 1. 1- Một số hàm phân phối thường gặp
STT Viết tắt Tên Hàm phân phối
1 M Phân phối mũ
k
tj
f
)( t
e
)
1(q j
2 Ek Phân phối Erlang
j
1
3 Hk Phân phối siêu bội Trong đó: μj >0, qj>0, j∈{1..k},
5 G Phân phối hình học
6 Phân phối Possion
1.1.2.1 Phân phối hình học (Geometric distribution)
Là phân phối đặc trưng cho số các biến cố sảy ra trong một khoảng thời gian cho
trước. Một biến ngẫu nhiên hình học [2 tr.18] với phân phối xác suất:
Với phân phối này chúng ta có một số công thức sau
1.1.2.2 Phân phối Poisson (Poisson distribution)
Là phân phối thường gặp nhất trong các mô hình hàng đợi phân phối Poisson [6 tr.6-7] được đặc trưng cho những quá trình đến và phục vụ hoàn toàn ngẫu nhiên, độc lập. Một biến phân phối Poisson có phân phối với tham số
, n=0, 1, 2,…
Trong đó:
là xác suất để trong khoảng thời gian τ có n yêu cầu xuất hiện; -
là số yêu cầu trung bình xuất hiện trong từng khoảng thời gian quan sát τ. - n là số yêu cầu xuất hiện trong khoảng thời gian quan sát τ; -
Phân phối Poisson ta có:
Biến ngẫu nhiên tuân có phân phối Poisson khi dòng đến có đủ các đặc điểm của
quá trình Poisson. Quá trình Poisson có 3 tính chất sau:
Tính không hậu quả: Dòng yêu cầu có tính không hậu quả có nghĩa là: nếu xác suất xuất hiện một số yêu cầu nào đó trong một khoảng thời gian nhất định không phụ thuộc vào việc đã có bao nhiêu yêu cầu xuất hiện trước khoảng thời gian đó. Hay nói nào đó không chịu ảnh hưởng qua khác, số yêu cầu xuất hiện trước và sau thời điểm
lại lẫn nhau.
Tính đơn nhất Dòng yêu cầu có tính chất đơn nhất có nghĩa là: nếu xét trong khoảng thời gian khá bé thì biến cố “có nhiều hơn một yêu cầu xuất hiện” hầu như không xảy ra. Về mặt thời gian, chúng ta có thể xem dòng yêu cầu có tính chất đơn nhất nếu thời điểm xuất hiện các yêu cầu không trùng nhau.
Tính dừng (tính thuần nhất theo thời gian) Dòng yêu cầu có tính chất dừng có nghĩa là: nếu xác suất xuất hiện k yêu cầu trong khoảng thời gian τ chỉ phụ thuộc vào giá trị của τ và của k chứ không phụ thuộc vào việc khoảng thời gian τ này nằm ở vị trí nào trên dòng thời gian. Điều này có nghĩa là với những khoảng thời gian τ dài bằng nhau thì xác suất xuất hiện k yêu cầu như nhau.
1.1.2.3 Phân phối mũ (Exponential Distributions)
Mật độ của một phân phối mũ [2 tr.20]với tham số được cho bởi hàm
, t>0.
Có hàm phân phối xác suất:
Với hàm phân phối này ta có một số công thức tính kỳ vọng và phương sai như
sau:
1.1.2.4 Phân phối Erlang (Erlang distribution)
Một biến có một phân phối Erlang-k [9 tr.5] (k=1,2,…) với nếu X là tổng
của E biến độc lập có phân phối mũ chung . Ký hiệu chung là
hoặc ngắn gọn là .
Hàm phân phối xác suất bằng:
Tham số được gọi là tham số quy mô (scale parameter), là tham số hình dạng
(shape parameter) Một sơ đồ trạng thái của được biểu diễn bởi Hình 1.1
Hình 1. 1- Sơ đồ chuyển trạng thái của phân phối Erlang-k với biến quy mô là
Các đặc trưng phương sai, phương sai và hệ số bình phương bằng nhau đều bằng nhau
1.1.2.5 Phân phối siêu bội Một biến ngẫu nhiên là phân phối siêu bội [2 tr.24] nếu là xác suất ,
i=1,...,k một biến phân phối mũ với 1/ . Biến ngẫu nhiên này được ký hiệu là
hoặc thu gọn là . Hàm mật độ cho bởi:
Hệ số biến thiên của hàm này luôn lớn hơn 1 hoặc bằng 1
1.1.3 Khái niệm hàng đợi và lý thuyết hàng đợi
Hàng đợi (hay dòng chờ) [11] là một dòng đợi dịch vụ. Yêu cầu được phục vụ từ khách hàng sinh ra theo thời gian thông qua 1 nguồn đầu vào. Khách hàng sẽ phải chờ trong hàng đợi đến lượt được phục vụ. Khách rời khỏi hệ thống sau khi đã được phục vụ.
Đầu những năm 1900, A. K. Erlang, kỹ sư điện thoại Đan Mạch bắt đầu nghiên cứu sự tắc nghẽn và thời gian chờ trong những cuộc gọi điện thoại. Từ đó, lý thuyết hàng đợi đã phát triển và được sử dụng rộng rãi cho nhiều tình huống. Mô hình hàng đợi gồm những biểu thức và những mối liên hệ được dùng để xác định những chỉ tiêu phản ảnh đặc trưng của các hệ thống.
Hình 1. 2- Thành phần cơ bản của hàng đợi
Các thành phần cơ bản của hàng đợi [6 tr.6-7] bao gồm:
Tiến trình đến
Dòng yêu cầu đến hệ thống là dòng các đối tượng đi đến hệ thống và đòi hỏi được thoả mãn yêu cầu phục vụ. Ví dụ: Dòng khách tới trung tâm bưu điện, dòng các tàu biển đến cảng để bốc dỡ hàng hóa...
Dòng các yêu cầu đến hệ thống hàng đợi được đặc trưng bởi tốc độ đến (arrival rate), ký hiệu là λ. Là một biến ngẫu nhiên được đặc trưng bởi phân phối xác suất của các lần khách hàng đến liên tiếp. Dòng yêu cầu đến hệ thống là dòng biến cố ngẫu nhiên và tuân theo những phân phối xác suất nhất định, như đã nêu ở mục 1.2.2.
Tiến trình phục vụ
Bao gồm hàng đợi phục vụ và quá trình phục vụ. Hàng đợi phục vụ: là tập hợp các yêu cầu sắp xếp theo một trật tự để chờ được phục vụ theo một nguyên tắc phục vụ nhất định.
Trong đó nguyên tắc phục vụ là cách thức nhận các yêu cầu vào các kênh phục vụ. Nguyên tắc phục vụ cho biết trường hợp nào thì các yêu cầu được nhận vào phục vụ và cách thức phân bố các yêu cầu vào các kênh như thế nào. Đồng thời nguyên tắc phục vụ cũng cho biết trong trường hợp nào yêu cầu bị từ chối.
Một số quy tắc xếp hàng là FCFS (Fist-come-fist-server), LCFS (Last-come-fist- server), SIRO (Service-in-random-order), dịch vụ ưu tiên. Tùy thuộc vào loại dịch vụ mà hệ thống phục vụ được thiết kế theo mô hình đơn hàng (có một hàng đợi), hay đa hàng (nhiều hàng đợi), một bước phục vụ hay nhiều bước phục vụ. Thời gian phục vụ
được đặc trưng bởi phân phối xác suất khoảng thời gian mà khách hàng sử dụng các dịch vụ.
Quá trình phục vụ hay kênh phục vụ là những thiết bị kỹ thuật, con người hoặc tổ hợp các thiết bị kỹ thuật và con người mà hệ thống sử dụng để phục vụ các yêu cầu đến hệ thống. Một đặc trưng quan trọng nhất của các kênh phục vụ là thời gian phục vụ, đó là thời gian ít nhất mỗi kênh phải tiêu hao để phục vụ xong một yêu cầu.
Tiến trình ra.
Là dòng các 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 bị từ chối. Ở đây chúng ta chỉ chú ý đến dòng yêu cầu đã được phục vụ; vậy có thể coi tiến trình ra là dòng các yêu cầu đã được phục vụ rời khỏi hệ thống, dòng ra được đặc trưng bởi tốc độ ra (departure rate), ký hiệu là .
1.1.1. Các đặc điểm của hàng đợi a) Đặc điểm của tiến trình đến
Kích thước khách hàng đến
Là giới hạn hoặc không giới hạn. Ví dụ: không ước lượng được số xe đến bãi rửa xe trong thành phố lớn hoặc lượng sinh viên đăng ký môn học tại một trường đại học lớn, đó là những hàng đợi không xác định được kích thước giới hạn của tiến trình đến. Hầu hết mô hình hàng đợi có kích thước đến là không giới hạn.
Quy tắc của dòng đến
Khách hàng đến với dịch vụ theo một lịch trình (VD: Cứ 15 phút có một bệnh nhân đến khám hoặc đúng 30 phút có một sinh viên đến đăng ký học) hoặc đến một cách ngẫu nhiên không xác định chính xác được thời gian khách hàng kế tiếp đến.
Để tính toán số khách hàng trung bình đến dịch vụ trong một khoảng thời gian, hay trung bình số lần xảy ra thành công của một sự kiện trong một khoảng thời gian nhất định ta sử dụng phân phối Possion [6 tr.8] với giá trị trung bình này được ký hiện . Những hàng đợi có khách hàng đến ngẫu nhiên, độc lập và không xác định trước là
thời gian đến. Số yêu cầu đến tại một thời điểm bất kỳ có thể ước lượng bằng phân phối xác suất Possion được biểu diễn bởi hàm sau:
Trong đó: P(x) = xác suất xuất hiện x khách hàng vào hệ thống
x= Số yêu cầu đến trong 1 đơn vị thời gian
tốc độ đến (arrivals rate) của khách hàng
Ví dụ: với Khách hàng đến/1 giờ thì xác suất không có khách hàng (k=0)
đến tại thời điểm bất kỳ là 13%, khả năng 1 khách hàng là 27%, 2 khách hàng khoản 27%, 3 khách hàng là 18%, 4 khách hàng là khoảng 9%.
Hành vi (tính chất) của tiến trình đến
Con người hay máy móc nói chung thường tuân theo quy luật xếp hàng cho đến khi được phục vụ mà không chuyển giữa các hàng. Nhiều khách hàng từ chối chờ hoặc thiếu kiên nhẫn nên từ bỏ giữa chừng. Những khách hàng đó sẽ đến và rời khỏi khi chưa được phục vụ. Trên thực tế, cả hai trong số các trường hợp này chỉ phục vụ để làm nổi bật sự cần thiết cho lý thuyết xếp hàng.
b) Đặc điểm hàng đợi
Hàng đợi gồm 2 đặc điểm:
Kích thước: Chiều dài của hàng đợi cũng có thể là giới hạn hoặc vô hạn. Giới hạn khi số yêu cầu phục vụ chỉ tăng được đến một số lượng hữu hạn. Ngược lại, Dòng đợi vô hạn có kích thước không bị giới hạn.
Nguyên tắc phục vụ:Hầu hết các hàng đợi thường sử dụng nguyên tắc phục vụ là Fist-in, Fist-out hay còn gọi là Fist come – fist server (FCFS). Một phòng cấp cứu của bệnh việc hoặc quầy thanh toán của một siêu thị thường áp dụng FCFS. Tuy nhiên trong một số trường hợp như bệnh nhân đưa đến cấp cứu có mức độ nghiêm trọng cao hơn thì sẽ được phục vụ trước, từ đó việc tính toán các yếu tố của hàng đợi cần đảm bảo một số quy tắc ưu tiên. Với những hàng đợi có ưu tiên, ta cũng cần tính xác suất xuất hiện yêu cầu cần ưu tiên.
c) Đặc điểm dịch vụ
Phần thứ 3 của mỗi hệ thống hàng đợi là đặc điểm về dịch vụ. Hai thuộc tính quan trọng của dịch vụ là: Thiết kế của hệ thống phục vụ và phân phối thời gian phục vụ.
Thiết kế của hệ thống dịch vụ là cách thiết kế số kênh, số bước (phase) phục vụ để thực hiện các giao dịch với khách hàng. Hầu hết các ngân hàng và các siêu thị lớn hiện nay đều có nhiều quầy phục vụ, và tùy vào tính chất dịch vụ mà số bước giao dịch được thiết kế cho phù hợp. Trong một hệ thống với một bước xử lý duy nhất, khách hàng đến dịch vụ chỉ thực hiện giao dịch tại 1 trạm sau đó rời khỏi hệ thống. Các hệ thống dịch vụ công thực hiện chức năng tiếp nhận yêu cầu, xử lý hồ sơ và trả kết quả cho người làm thủ tục là mô hình với 1 bước xử lý duy nhất. Tuy nhiên cũng có những thủ tục hành chính cần thực hiện nộp hồ sơ tại một bộ phận, thanh toán lệ phí tại một bộ phận và nhận kết quả tại 1 bộ phận khác là mô hình với nhiều bước xử lý.
Phân phối thời gian phục vụ. Thời gian phục vụ thường là chính xác hoặc ngẫu nhiên. Thời gian phục vụ chính xác là khoảng thời gian phục vụ giống nhau với mọi khách hàng, phân phối này thường đặc trưng cho hoạt động của máy móc. Trong thực tế, hầu hết thời gian phục vụ thường tuân theo phân phối ngẫu nhiên.
1.1.4 Kí hiệu Kendall
Kendall [3 tr.14] sử dụng ký tự để mô tả một cách ngắn gọn cấu trúc hệ thống
hàng đợi, bao gồm 3 phần cơ bản: A/B/c, với:
- A: là hàm phân phối thời gian của các lần đến liên tiếp. Tùy thuộc vào đặc điểm của hàng đợi mà luật phân phối được thể hiện trong ký hiệu sẽ có giá trị tương ứng như sau: M (phân phối mũ), G (phân phối chung), D (phân phối đều), Er( phân phối Erlangian), H (phân phối siêu mũ)
- B: hàm phân phối thời gian phục vụ. Tương tự như phân phối thời gian đến, luật phân phối được thể hiện trong ký hiệu sẽ một trong những giá trị tương ứng như sau: M (phân phối mũ), G (phân phối chung), D (phân phối đều), Er( phân phối Erlangian), H (phân phối siêu mũ)
- c: Số kênh phục vụ (c>0)
Ký tự mô tả có thể mở rộng thêm một số thông số sau:
- K: Số lượng khách hàng lớn nhất có thể có trong hệ thống (trong hàng đợi và
đang được phục vụ)
- n: Nguồn khác hàng vô hạn (∞) hoặc hữu hạn (n) - D: Nguyên tắc phục vụ
Một số ví dụ để hiểu rõ về ký hiệu Kendall:
Ví dụ 1: hệ thống hàng đợi M/M/1, là mô hình hệ thống hàng đợi cổ điển, đơn
giản nhất với 3 thành phần:
- Thời gian giữa các lần tín hiệu xuất hiện liên tiếp tuân theo luật phân phối mũ (M). - Thời gian phục vụ theo luật phân phối mũ (M). - Có 1 kênh phục vụ (c=1).
Ví dụ 2: Hệ thống có cách thành phần G/G/1/∞/∞/FCFS nghĩa là:
- Thời gian giữa các tín hiệu xuất hiện liên tiếp tuân theo luật phân phối G (General); - Thời gian phục vụ theo luật phân phối G; - Dung lượng hệ thống là vô hạn; - Kích thước dòng đến (population size) là vô hạn; - Nguyên tắc phục vụ FCFS; - Có 1 kênh phục vụ.
1.1.2. Hệ số sử dụng dịch vụ
Giá trị đến λ, thời gian phục vụ E(B) công việc đến trong 1 đơn vị thời gian là λE(B). Quầy phục vụ thực hiện 1 công việc trên 1 đơn vị thời gian. Điều kiện dừng là:
λE(B) < 1 Với B là thời gian phục vụ trung bình.
Nếu ρ < 1 thì ρ được gọi là hệ số sử dụng bởi nó đặc trưng cho thời gian hệ thống phục vụ làm việc. Với hệ thống có c quầy phục vụ thì ta có λE(B)< c. Vậy hệ số phục vụ là: ρ = λE(B)/c
1.1.5 Định nghĩa các độ đo hiệu suất
Đo hiệu suất của hàng đợi là việc sử dụng cơ sở toán học để xác định được các
tham số sau:
- Phân phối thời gian chờ đợi và tạm trú của một khách hàng (thời gian tạm trú
bằng thời gian chờ + thời gian phục vụ).
- Phân phối số lượng khách hàng trong hệ thống (bao gồm hoặc không bao gồm
những khách hàng đang được phục vụ).
- Phân phối khối lượng các công việc trong hệ thống (Tổng thời gian khách hàng
chờ đợi và thời gian còn lại của khách hàng trong dịch vụ).
- Phân phối thời gian bận rộn của kênh phục vụ (là khoảng thời gian phục vụ liên
tục của kênh).
Đặc biệt, đối với hệ thống hàng đợi chúng ta quan tâm đến một số các tham số
sau:
Bảng 1. 2 - Một số tham số của hàng đợi
STT Mô tả
Ký hiệu
1. λ Tốc độ đến (arrival rate) của khách hàng
2. µ Tốc độ phục vụ (service rate)
3. tn Khoảng thời gian giữa khách hàng liên tiếp (tn= τn - τn-1 )
4. Thời gian chờ để được phục vụ trong hàng đợi Wq
5.
Thời gian tạm trú của khách hàng trong hệ thống (thời gian đợi + thời gian phục vụ) của khách hàng thứ n Ws
Sn=Wq+ n
6. An(t) Hàm phân phối xác suất thời gian giữa hai khách hàng liên
tiếp
( An(t)=P[tn≤t] )
Phân phối thời gian phục vụ 7. B( )
8. Số khách hàng đến trong khoảng thời gian (0,t)
9. Số khách hàng ra khỏi hệ thống trong khoảng thời gian (0,t)
10. Số khách hàng ở trong hệ thống tại thời điểm t L(t)
11. Số khách hàng trong hàng đợi Lq
12. Tổng thời gian phục vụ của toàn bộ hệ thống T
13. Hệ số sử dụng hệ thống
ρ
14. xác suất có K khách hàng trong hệ thống pK
1.1.6 Luật Little
Luật Little [12 tr.82] phát biểu như sau: “Trong điều kiện trạng thái dừng, số lượng trung bình khách hàng trong một hệ thống hàng đợi bằng với tốc độ trung bình khách hàng đến nhân với thời gian trung bình mà một khách hàng sử dụng trong hệ thống”
Luật Little đưa ra mối quan hệ quan trọng giữa - số khách hàng trong hệ
thống, thời gian lưu trú của khách hàng trong hệ thống và – số khách hàng
trung bình đến trong một đơn vị thời gian [4 tr.26].
Luật Little ký hiệu như sau:
E(L)= λE(S) (3.1)
Để mô tả cho luật Little ta xét với mô hình hàng đợi 1 quầy phục vụ. Với mô hình này chúng ta có thể thu được một số thông số hiệu suất khi áp dụng luật. Áp dụng luật cho hàng đợi (không gồm quầy phục vụ) thu được mối quan hệ giữa chiều dài hàng đợi và thời gian đợi như sau:
Cuối cùng, khi áp dụng luật Little cho quầy phục vụ ta có
Với là số khách hàng ở trong quầy phục vụ (áp dụng tương tự với hàm thời
gian phục vụ) và là thời gian phục vụ.
1.2 Một số mô hình hàng đợi cơ bản
Trong thực tế có rất nhiều mô hình hàng đợi được áp dụng trong quản lý, Bảng 1.2 liệt kê một số mô hình thường thấy áp dụng trong các ứng dụng. Với mỗi mô hình sẽ có những đặc điểm và quá trình chuyển trạng thái riêng; các đặc điểm và phương pháp tính hiệu suất của từng mô hình sẽ được trình bày trong các tiểu mục của mục 1.2 này.
Bảng 1. 3-Một số mô hình hàng đợi cơ bản
Tên hàng đợi
Số kênh phục vụ
Phân phối tín hiệu đến Phân phối thời gian phục vụ Nguyên tắc phục vụ
Số bước phục vụ Kích thước của dòng đến
1 FIFO thống đơn 1
Luật phân phối mũ Không giới hạn Hệ hàng M/M/1
Luật phân phối mũ
c (c>1) 1 Possion FIFO
Luật phân phối mũ Không giới hạn Hệ thống đa hàng M/M/c
1 1 Possion FIFO
Luật phân phối mũ Không giới hạn
Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1)
thống hàng c(c>1) c Possion Giới hạn FIFO
Hệ đợi M/M/c/K Luật phân phối mũ
Trong phần tiếp theo, luận văn nêu chi tiết đặc điểm cũng như các độ đo hiệu
suất của những hàng đợi đã nêu trong bảng 1.3.
1.2.1 Hệ thống một kênh phục vụ M/M/1
a) Đặc điểm:
Là hàng đợi đơn giản nhất với một số đặc điểm:
- Không giới hạn kích thước dòng vào - Không giới hạn kích thước hàng đợi - Có duy nhất một kênh phục vụ - Áp dụng quy tắc phục vụ FCFS
- Phân phối tốc độ đến và thời gian phục tuân theo phân phối Poisson
Mô hình hàng đợi được miêu tả như sau:
K-1 vị trí
Hàng đợi Output Input FCFS Server
Hình 1. 4- Mô hình hàng đợi M/M/1 Hình 1. 3 - Mô hình hàng đợi M/M/1
W thời gian
Hình 1. 5 - Sơ đồ chuyển trạng thái của hàng đợi M/M/1
b) Đo hiệu suất hàng đợi M/M/1
Đối với mô hình chuyển trạng thái như hình 1.4 [4 tr.30] tốc độ đến và tốc độ phục vụ không phụ thuộc trạng thái, mà được đặc trưng bởi số khách hàng trong hệ thống.
- Phân phối thời gian đến
- Phân phối thời gian phục vụ
- Để hàng đợi đảm bảo điều kiện dừng (không vượt quá khả năng phục vụ) cần
đảm bảo ràng buộc [4 tr.29]
Ta có các biến cần tính toán sau:
= Số khách hàng đến trung bình trong một đơn vị thời gian
= Số khách hàng được phục vụ trong một đơn vị thời gian
Số lượng khách hàng lưu trú trong hệ thống (lượng khách đang chờ đợi + đang
được phục vụ)
Thời gian trung bình khách hàng trong hệ thống (thời gian chờ đợi + thời gian
phục vụ)
= Số khách hàng trung bình trong hàng đợi
Thời gian chờ đợi trung bình trong hàng đợi
Xác suất không có khách hàng trong hệ thống (hệ thống nhàn rỗi)
1.2.2 Hệ thống đa kênh phục vụ M/M/c
Hàng đợi M/M/c được mô tả như sau: Mô hình hàng đợi với 2 hoặc nhiều quầy phục vụ, khách hàng đến một hàng đợi và tiến đến quầy phục vụ đầu tiên trống. Đây là mô hình áp dụng nhiều tại các ngân hàng hoặc các hệ thống tổng đài hỗ trợ.
Server 1
a) Đặc điểm:
Server 2
Hàng đợi Input Output FCFS …
Server c
Hình 1. 6- Mô hình hàng đợi M/M/c
W thời gian
- Phân phối thời gian đến là
- Phân phối thời gian phục vụ
- Hiệu suất phục vụ:
b) Đo điệu suất hệ thống M/M/c:
Hình 1. 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c
Sơ đồ chuyển trạng thái hình 1.7 [4 tr.43] cho thấy tốc độ phục vụ phụ thuộc vào
số kênh phục vụ; các biến của hệ thống M/M/c:
Số kênh phục vụ
= Số khách hàng đến trung bình trong một đơn vị thời gian
= Số khách hàng được phục vụ trong một đơn vị thời gian ở mỗi kênh
Xác xuất hệ thống không có khách hàng
Trung bình số khách hàng trong hệ thống là
Thời gian trung bình khách hàng trong hệ thống (bao gồm thời gian chờ và được phục vụ)
Số khách hàng trong hàng đợi phục vụ
Thời gian trung bình khách hàng ở trong hàng đợi
1.2.3 Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1)
Một số hàng đợi có thời gian phục vụ chính xác [6 tr.14] thay vì phân phối mũ. Khi khách hàng yêu cầu dịch vụ quá trình phục vụ theo một vòng đời được định sẵn,
như trong trường hợp máy rửa xe tự động. Vì thời gian phục vụ là cố định nên các giá [3 tr.61] luôn luôn nhỏ hơn các thông số tương tự ở mô hình trị
M/M/1. Cả chiều dài hàng đợi và thời gian chờ đợi trung bình đều giảm một nửa.
Độ dài trung bình của hàng đợi
Thời gian đợi trung bình
Số khách hàng trung bình trong hệ thống
Thời gian đợi trung bình trong hệ thống
Server 1
1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K Là hệ thống đa kênh và chỉ có tối đa K khách hàng được phép lưu trú trong hệ thống. Hệ thống hàng đợi M/M/m/K được mô hình hóa trong Hình 1.8
Server 2
Hàng đợi Input Output FCFS …
Server c
Hình 1. 8- Mô hình hàng đơi M/M/c/K
W thời gian
a) Đặc điểm
- Hàng gồm c kênh phục vụ - Nguyên tắc phục vụ FCFS - Không giới hạn kích thước dòng vào - Giới hạn kích thước khách hàng trong hàng đợi
b) Đo hiệu suất
i và i
Tốc độ đến và tốc độ phục vụ của của trạng thái i được xác định là
=
Hiệu suất hệ thống [4 tr.43]
Sơ đồ chuyển trạng thái của hệ thống được mô tả hình 1.9
Hình 1. 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K
Trong mô hình trên, hệ thống ở trạng thái i khi có i khách hàng được phục vụ
đồng thời.
Chiều dài hàng đợi trung bình, xác suất có k khách hàng và 0 khách hàng trong
hệ thống [3 tr.55]:
Trung bình khách hàng trong hệ thống
Và do Chúng ta có:
Ngoài các hệ thống hàng đợi đã giới thiệu (M/M/1, M/M/1/K, M/M/c, M/M/c/K) trên đây, còn có rất nhiều mô hình hệ thống hàng đợi khác như M/M/c/K/M, M/G/1, M /Er /1, Er /M/1, M/G/1,G/M/m, G/G/1 được trình bày khá chi tiết trong tài liệu [3].
1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết
Điều kiện 1: Dòng vào của hệ thống phải là dòng tối giản hoặc xấp xỉ tối giản. Điều kiện 2: Khoảng thời gian (T) giữa 2 lần xuất hiện liên tiếp các yêu cầu là đại lượng ngẫu nhiên tuân theo qui luật hàm số mũ. Như vậy, hàm mật độ xác suất có dạng:
(1.1)
Và hàm phân phối xác suất có dạng
(1.2)
Với λ là cường độ dòng vào, đó là số yêu cầu trung bình xuất hiện trong một đơn
vị thời gian.
Điều kiện 3: Thời gian phục vụ của các kênh cũng là đại lượng ngẫu nhiên tuân
theo qui luật hàm số mũ.
Như vậy, hàm mật độ xác suất có dạng Và hàm phân phối xác suất
có dạng Với μ là năng suất phục vụ của các kênh, đó là số yêu cầu
được phục vụ tính bình quân trên một đơn vị thời gian.
1.4 Phương pháp giải quyết bài toán bằng lý thuyết hàng đợi
Giải bài toán phục vụ đám đông bằng lý thuyết hàng đợi hay phương pháp giải tích là phương pháp cơ bản và được sử dụng khá phổ biến. Đường lối chung của phương pháp này bao gồm các bước:
Bước 1: Phân tích hệ thống mà chủ yếu là phân tích tính chất của dòng vào và
các trạng thái của hệ thống;
Bước 2: Thiết lập hệ phương trình trạng thái để giải ra các xác suất trạng thái;
Bước 3: Giải hệ phương trình để tìm ra các xác suất trạng thái và từ đó thiết lập
mối quan hệ giữa các chỉ tiêu cần phân tích;
Bước 4: Tính toán, phân tích các chỉ tiêu, trên cơ sở đó đưa ra nhận xét và kết
luận.
Kết luận chương
Trong chương này, luận văn đã làm rõ các thành phần cơ bản của một hệ thống hàng đợi và một số kết luận quan trọng của lý thuyết hàng đợi như luật Little, kí hiệu Kedall và của một số hàng đợi cơ bản như M/M/1, M/M/c, M/M/c/K. Tuy nhiên, còn cần xem xét nhiều yếu tố khác của hàng đợi như độ ưu tiên, phân phối thời gian bận. Ngày nay, với sự phát triển của khoa học máy tính, việc tích hợp các phân phối xác suất toán học vào trong các phần mềm mô phỏng giúp xây dựng, thiết lập các mô hình trở nên đơn giản hơn rất nhiều, khắc phục được những hạn chế của phương pháp toán học thuần túy trong giải quyết bài toán hàng đợi. Chúng ta sẽ thấy được sự hiệu quả của các công cụ mô phỏng chương 2 của luận văn.
CHƯƠNG 2. CÔNG CỤ MÔ PHỎNG GPSS WORLD
2.1 Cách tiếp cận mô phỏng
Việc giải quyết bài toán các hệ thống phục vụ đám đông [1] là một vấn đề cần thiết và mang ý nghĩa khoa học thực sự đặc biệt trong việc mô phỏng các hệ thống kênh phục vụ phức tạp như các hệ thống viễn thông, các hệ thống bán vé tự động, sân bay, giao thông.
Áp dụng lý thuyết hàng đợi với những mô hình phức tạp thường khó khăn. Mô phỏng là một trong những phương pháp hiệu quả nhất để nghiên cứu các hệ thống phức tạp. Bản chất của công cụ mô phỏng là là tái tạo quá trình hoạt động của một hệ thống theo sự kiện và thời gian theo đúng quy luật quan sát được ngoài thực tế. Khi đó tính chất đầy đủ của các mô hình mô phỏng cần đạt được là: mô phỏng vòng đời của mỗi phần tử trong hệ thống đúng theo logic và quy tắc tương tác và phát triển của chúng cả trong thời gian và trong không gian.
Khi xây dựng mô hình mô phỏng và triển khai thực hiện nó thường có hai cách tiếp cận, một là sử dụng các ngôn ngữ lập trình để xây dựng mô phỏng, hai là sử dụng các ngôn ngữ mô phỏng chuyên dụ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 và khó khăn. Chính vì vậy, nhiều người đã lựa chọn cách tiếp cận sử dụng các ngôn ngữ mô phỏng chuyên dụng. Ngoài những ưu điểm tiện dụng, đơn giản, công cụ mô phỏng chuyên dụng mang lại tính tin cậy cao hơn cho bài toán cần mô phỏng
Chương 2 của luận văn này trình bày công cụ đại diện cho cách tiếp cận sử
dụng công cụ mô phỏng chuyên dụng để giải quyết bài toán.
2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng
Với ý nghĩa ứng dụng thực tiễn, từ những năm 1960 trở lại đây, đã có nhiều các công cụ mô phỏng ra đời. Giai đoạn đầu hầu hết các công cụ phục vụ cho môi trường PC, nhưng thời điểm hiện tại có thể tìm thấy các toolbox chạy trên môi trường Internet đáp ứng nhu cầu nghiên cứu và ứng dụng với phạm vi khác nhau.
Công cụ mô phỏng chuyên dụng có khả năng phân tích các hệ thống phức tạp nổi bật là MatLab, Petri Network, NS2. Nhìn chung các công cụ được nêu đều có chung mục tiêu, cơ sở lý thuyết, dù cách thể hiện trong ngôn ngữ lập trình hay công nghệ áp dụng có khác nhau. Tuy nhiên luận văn tập trung tìm hiểu công cụ mô phỏng tiên phong trong mô phỏng hệ thống phục vụ đám đông là GPSS World. Các ứng dụng chính của công cụ mô phỏng GPSS World có thể kể đến như:
- Các hệ thống chăm sóc khách hàng như Call Center, dịch vụ 1080, 1900…
- Giao thông vận tải (phổ biến nhất là mô hình bảo trì máy bay fleet trong kĩ thuật
hàng không và vận tải công ty).
- Công nghệ mạng: nghiên cứu đánh giá các vùng dữ liệu mạng. - Thương mại: các hệ thống bán hàng tự động, các quầy thanh toán tiền trong các
trung tâm thương mại.
- Thực tế đời sống: bãi đậu xe ô tô, quản lý bay tại phi trường…
Là một công cụ đã được kiểm chứng qua nhiều mô hình thành công; GPSS
World là công cụ luận văn sử dụng để thực hiện bài toán áp dụng.
2.3 Giới thiệu về GPSS World
GPSS (General Purpose Simulation System) [5, 8, 13] thuộc loại ngôn ngữ lập trình hướng đối tượng, một ngôn ngữ mô phỏng các hệ thống phức tạp rời rạc, được nhận định là hiệu quả nhất hiện nay. GPSS dự đoán các hành vi trong tương lai của các hệ thống hàng đợi. Các đối tượng của ngôn ngữ này được sử dụng tương tự như các thành phần chuẩn của một hệ thống hàng đợi, như là các yêu cầu, các thiết bị phục vụ, hàng đợi… Với tập hợp đầy đủ các thành phần như vậy cho phép xây dựng các mô phỏng phức tạp mà vẫn đảm bảo tính logic hệ thống hàng đợi.
General Purpose Simulation System được Geoffrey Gordon của IBM phát triển vào khoảng thập niên 1960, viết tắt là GPSS. Sự ra đời của GPSS đã góp phần đưa ra các khái niệm quan trọng cho tất cả các ngôn ngữ mô phỏng (sự kiện rời rạc) thương mại trên máy tính phát triển từ đó [1]. GPSS/PC là phiên bản cài đặt đầu tiên cho máy tính cá nhân được giới thiệu vào năm 1984 và GPSS World là một hậu duệ trực tiếp của GPSS/PC. Hiện nay, GPSS World chạy trên môi trường Windows và được mở rộng thêm nhiều tính năng trên môi trường Internet.
GPSS World được thiết kế để cung cấp câu trả lời một cách nhanh chóng và đáng tin cậy, với nỗ lực ít nhất, đạt được các kết quả được xem xét trên nhiều góc độ trực quan nhất, phù hợp với các mục tiêu khác nhau của các mô phỏng. Thêm vào đó, GPSS World còn tích hợp một hàm thư viện các hàm phân phối xác suất, đem lại sự tiện dụng cho người viết chương trình mô phỏng. Điểm mạnh của GPSS World là trong suốt và cung cấp hình ảnh động trực quan giúp người sử dụng có thể nhận biết được sự thay đổi của hệ thống theo thời gian và cung cấp các công cụ ngắt để có thể dừng mô phỏng tại bất kỳ thời điểm nào nhằm ghi nhận lại các chỉ số cần thiết của mô phỏng.
2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World
GPSS World là ngôn ngữ hướng đối tượng, bao gồm các đối tượng: Model
Objects, Simulation Objects, Report Objects, Text Objects .
Một số bước thông dụng để xây dựng mô phỏng bao gồm: thu thập dữ liệu và xây dựng mô hình, kiểm tra - xác minh, mô phỏng, thử nghiệm, và phân tích các kết
quả. GPSS World cung cấp một cách đa dạng các giải pháp để thực hiện từng bước trên. Để tạo mô hình và chỉnh sửa mô hình (Model) có thể sử dụng trình soạn thảo full- screen text hoặc chèn các Block command GPSS bằng cách sử dụng các hộp thoại được cung cấp sẵn.
Một số đặc điểm nổi bật sau:
- Phím nóng cho tương tác nhanh: một mô hình được định nghĩa như là một chuỗi những câu lệnh mô hình (Model Statement); quá trình xây dựng mô hình, người dùng được cung cấp nhiều loại cửa sổ cho phép xem trực tiếp và chụp ảnh mô phỏng bằng với các phím nóng, các kiểm soát điểm ngắt. Trình xây dựng mô hình cho phép gỡ lỗi dễ ràng hơn trong quá trình thử nghiệm và kiểm tra xác nhận.
- Trình tạo thử nghiệm tự động: công cụ Automatic Experiment Generators sinh ra các thử nghiệm tự động sau khi mô phỏng được kiểm tra, ngoài ra có thể sử dụng công cụ hỗ trợ các bước thiết kế của GPSS.
- Là ngôn ngữ có tập lệnh mạnh nhưng cấu trúc đơn giản, được thiết kế trên môi trường máy tính, sử dụng bộ nhớ ảo cho phép các mô hình lên tới hàng tỷ byte. Ưu tiên đa nhiệm và xử lý đa luồng.
- Được mở rộng thêm PLUS – Programming Language Under Simulation ngôn ngữ lập trình theo mô phỏng đơn giản nhưng mạnh mẽ, loại bỏ các hạn chế tồn tại trong các phiên bản GPSS cũ.
- Ngoài ra, GPSS World còn chứa các hàm thư viện phân phối xác suất trực tiếp
được sử dụng trong các biểu thức PLUS.
- 13 chế độ xem đồ họa khác nhau của các đối tượng mô phỏng:Việc phân tích kết quả trong GPSS World cũng rất dễ dàng, nó cung cấp công cụ hỗ trợ cho việc nắm bắt và in các cửa sổ đồ họa. Cửa sổ Journal ghi lại các hoạt động liên kết với các đối tượng mô phỏng.
- Hơn 20 phân phối xác suất tích hợp
Định hướng giao diện người dùng định hướng với mô hình, mô phỏng, báo cáo,
và các đối tượng văn bản
2.3.2 Một số khái niệm trong GPSS World
GPSS bao gồm các đối tượng sau:
- Model Objects (đối tượng mô hình);
- Simulation Objects (đối tượng mô phỏng);
- Report Objects (đối tượng báo cáo);
- Text Objects (đối tượng văn bản).
Khả năng lưu và phục hồi mô phỏng cho phép lưu lại các đối tượng bất cứ lúc
nào, bất kỳ trạng thái nào, và mở trở lại vào phiên cuối cùng.
Sau khi một mô hình được phát triển bằng cách soạn thảo các câu lệnh trong một đối tượng; Người dùng sử dụng lệnh Create Simulation để chạy mô phỏng hay tạo ra một đối tượng mô phỏng có cấu trúc như tập lệnh đã xây dựng trong trình soạn thảo; Quá trình biên dịch tập lệnh thông qua một bộ biên dịch (Translator). Phần mềm chạy mô phỏng với thời gian được thiết lập sau lệnh START, một đối tượng báo cáo được tự động tạo ra. Để sử dụng đối tượng văn bản chúng ta đặt các đối tượng này trong câu lệnh INCLUDE để hỗ trợ phát triển các mô phỏng lớn, tạo ra một thư viện mã nguồn và cho các ứng dụng tiện ích khác. Ngoài ra, các đối tượng văn bản thường được sử dụng bởi các các đối tượng mô phỏng khi thực hiện các thao tác OPEN, CLOSE, READ, WRITE, and SEEK.
Để xây dựng được một mô hình đối tượng hoàn chỉnh, người dùng cần có hiểu biết đầy đủ về các đối tượng này. Một mô phỏng tốt là mô phỏng đúng các hành vi, sự kiện trong hệ thống thực tế. Vì vậy xây dựng mô hình cần dựa trên những quan sát đánh giá thực tế nhằm đạt được kết quả đúng đắn nhất.
2.3.2.1 Đối tượng mô hình (Model Objects)
Một đối tượng mô hình chứa một chuỗi các câu lệnh mô hình (Model Statement) và một tập các giá trị thiết lập được xây dựng trong Setting. Ngoài ra, một bộ các đánh dấu (bookmark) và một danh sách các lỗi cú pháp cũng là một phần của đối tượng mô hình. Khi một đối tượng mô phỏng được tạo ra nhờ việc dịch khối lệnh trong mô hình, nó được kế thừa tất cả các thiết lập từ đối tượng mô hình mẹ.
Trong đó:
- Câu lệnh mô hình (Model Statement) có thể là một câu GPSS (GPSS Statement), hoặc một định nghĩa thủ tục PLUS. Các câu GPSS có thể là các câu lệnh khối (Block Statements) hoặc là các lệnh (Commands).
- Mô hình nhiều tệp tin: Thông thường một mô hình được thiết lập bởi một tập lệnh trong một mô hình đối tượng. Tập các tập tin văn bản được gọi là Đối tượng văn bản (Text Object). Trong một số trường hợp, GPSS cho phép đặt nhiều các thủ tục, báo cáo vào một hoặc nhiều đối tượng text để module hóa mô hình. Các đối tượng văn bản, là các tập tin văn bản đơn giản, có thể được đặt trong câu lệnh INCLUDE trong Mô hình đối tượng. Làm như vậy sẽ làm cho tất cả các câu lệnh trong đối tượng văn bản được chèn vào trong lệnh INCLUDE khi đối tượng Mô phỏng được tạo ra.
- Thiết lập mô hình (Model Settings): tập hợp các chọn lựa nhằm thiết lập các tham số cho mô hình gọi là "Settings" hay một cách đầy đủ là là Model Setting. Các cài đặt được kế thừa từ các đối tượng mô phỏng và các đối tượng báo cáo sẽ đưa ra
kết quả sau khi chạy mô phỏng. Một số các thiết lập có thể thay đổi được ngay cả sau khi các đối tượng mô phỏng được biên dịch.
2.3.2.2 Các đối tượng mô phỏng - Simulation Objects
Một đối tượng mô phỏng được tạo ra bằng cách vào menu Command/Create Simulation để dịch các câu lệnh trong một đối tượng mô hình (Model Object). Sau khi một mô hình được dịch thành công, lệnh này sẽ tạo ra các trạng thái của mô phỏng. Lệnh CREATE có thể là một phần của Mô hình đối tượng, hoặc chúng có thể được gửi đến Đối tượng Mô phỏng hiện tại như một tương tác.
2.3.2.3 Bộ biên dịch (Translator)
Bộ biên dịch của GPSS biên dịch các đối tượng mô phỏng. Tất cả các câu lệnh mô phỏng được biên dịch trước khi chúng được khởi tạo trong mô phỏng. Tương tự, các tương tác được biên dịch toàn cục trước khi cùng được chuyển thành một đối tượng mô phỏng tồn tại [5].
Khi có lỗi xảy ra ngăn cản quá trình tạo đối tượng mô phỏng, một danh sách thông điệp trên mô hình đối tượng xuất hiện. Có thể chuyển đến thông báo lỗi bằng cách nhấn Search / Next Error hoặc sử dụng phím tắt. Mỗi lỗi mô tả trong dòng trạng thái ở cuối cửa sổ chính. Sau khi chỉnh sửa mô hình có thể biên dịch lại bằng lệnh Retranslate trong Command.
2.3.2.4 Các đối tượng báo cáo - Report Objects
Một trong những tính năng mạnh nhất được trang bị cho GPSS là hệ thống báo cáo chuẩn (Standard Report). IBM đã xây dựng hệ thống báo cáo cho tất cả các thực thể GPSS của một mô phỏng và được tạo tự động khi mô phỏng hoàn thành. Chỉnh sửa các cài đặt (Settings) là cách để tùy biến các báo cáo, thay đổi tham số của mô phỏng nhằm đưa lại các kết quả báo cáo hữu ích.
2.3.2.5 Các đối tượng văn bản (Text Objects)
Text Object đại diện cho một tập tin văn bản thuần túy trong GPSS World. Chúng được sử dụng chính trong lệnh INCLUDE. Text Object cho phép chia sẻ các câu lệnh mô hình trong đối tượng văn bản tới một đối tượng mô hình khác. Thậm chí có thể tải một câu INCLUDE vào một phím chức năng, bằng cách đó, một danh sách lệnh phức tạp/hoặc thủ tục PLUS trong một tập tin văn bản có thể được gửi đến một mô phỏng với một phím tắt duy nhất.
2.3.3 Các thực thể trong GPSS
GPSS được xây dựng xung quanh các khái niệm trừu tượng gọi là các thực thể (Entities). Các thực thể GPSS là những đối tượng trừu tượng tồn tại trong một mô phỏng. Để có thể tạo ra mô hình phức tạp, người sử dụng phải hiểu về các thực thể, các thuộc tính và các thao tác trên các thực thể đó.
GPSS cung cấp 14 loại thực thể trong đó nổi bật nhất là các thực thể giao tác (transactions) và các thực thể khối (blocks). Giao tác là loại thực thể duy nhất có thể được xóa khỏi mô phỏng. Một mô phỏng có qui mô lớn sẽ bao gồm nhiều giao tác di chuyển từ một khối vào khối tiếp theo.
Các thực thể GPSS được đánh số, GPSS World thường gán một giá trị duy nhất lớn hơn hoặc bằng đến 10.000 vào tên của thực thể. Một số thực thể phải được khai báo cụ thể trước khi sử dụng chúng như: các thực thể lưu trữ, các biến, bảng, ma trận, các hàm… Hầu hết các thực thể GPSS khi cần thiết được tạo ra tự động.
Phần tiếp theo của luận văn nêu các kiểu thực thể chính bao gồm: các thực thể thiết bị, các thực thể lưu trữ, Các thực thể động, các thực thể khối, các thực thể tính toán, các thực thể nhóm.
2.3.3.1 Các thực thể thiết bị (Facility entity)
Một thiết bị là một thực thể có một số thuộc tính, trong đó quan trọng nhất là thuộc tính trạng thái của thiết bị, hay nói cách khác là quyền sở hữu thiết bị. Các thực thể thuộc về thiết bị (Facility Entities) đại diện cho các máy phục vụ và hoặc các thiết bị khác của hệ thống thực. Một thiết bị có thể được sở hữu bởi một giao tác duy nhất vì vậy một thiết bị không thể được giải phóng bởi một giao tác mà không sở hữu nó. Thực thể ở trạng thái là “bận” khi thiết bị được sở hữu bởi một giao tác; Ngược lại thiết bị ở trạng thái “rảnh” khi không có giao tác nào sở hữu nó. Có thể gán quyền sở hữu thiết bị hoặc giải phóng quyền sở hữu của giao tác bằng lệnh SEIZE hoặc khối PREEMPT. Nếu một giao tác không được cấp quyền sở hữu, nó sẽ ở trạng thái nghỉ (idle) [5].
Có một số Block GPSS có thể được sử dụng với các thiết bị: ·
- SEIZE Blocks cố gắng chiếm quyền sở hữu của một thực thể thiết bị.
- RELEASE Blocks từ bỏ quyền sở hữu của một thực thể thiết bị.
- PREEMPT Blocks cố gắng chiếm quyền sở hữu của một cơ sở, thay thế chủ sở
hữu hiện tại.
- RETURN Block từ bỏ quyền sở hữu của một cơ sở.
- FAVAIL Block đặt một cơ sở ở trạng thái có sẵn.
- UNAVAIL Blocks đặt một cơ sở ở trạng thái không khả dụng: máy phục vụ đám đông tương ứng với các thiết bị đơn kênh, đa kênh và thiết bị chuyển logic. Thiết bị chuyển logic được sử dụng để mô phỏng thiết bị có 2 trạng thái (bật và tắt, đóng và mở) của tính chất logic hay vật lý.
2.3.3.2 Các thực thể lưu trữ (Storage Entity)
Các thực thể lưu trữ đảm bảo việc lưu trữ trong bộ nhớ của máy tính các đại lượng riêng biệt được sử dụng trong mô hình. Các đối tượng kiểu này gồm có các thực thể giá trị lưu (Savevalue Entities), các thực thể ma trận (Matrix Entities) [5].
Một thực thể lưu trữ liên kết đến một số các đơn vị lưu trữ. Nó được cung cấp hoặc trả lại bởi Transaction. Thực thể lưu trữ có thể sử dụng như "token pools" để điều khiển luồng của Transaction trong mô hình.
Khi một giao tác đi vào một thực thể lưu trữ nó chiếm giữ một hoặc nhiều đơn vị của thực thể lưu trữ. Một giao tác bị từ chối đi vào từ khối ENTER khi thực thể không đáp ứng được nhu cầu lưu trữ của giao tác. Những giao tác bị từ chối lưu trú tại chuỗi Delay (Delay Chain) của thực thể lưu trữ hay phải chờ cho đến khi các giao tác khác giải phóng đủ bộ nhớ bằng khối LEAVE.
2.3.3.3 Thực thể giao tác (Transaction Entity)
Giao tác chuyển từ khối này qua khối khác trong một mô phỏng được quản lý và thể hiện trong hệ thống thật mà ta cần mô hình hóa. Các thực thể động là các giao tác có thể xem như là một “yêu cầu”, hay một “sự kiện” đi vào hệ thống phục vụ đám đông. Trong quá trình mô phỏng, các giao tác được “tạo ra” (ứng với loại “dòng đến”) và “kết thúc” (ứng với loại “dòng đi” được gọi là vòng đời của giao tác. Mỗi giao tác trong quá trình mô phỏng luôn thuộc vào một khối (BLOCK) xác định nào đó, nhưng mỗi khối có thể chứa cùng lúc nhiều giao tác khác nhau. Mỗi giao tác dịch chuyển vào một khối, sau đó đến khối tiếp theo, cứ thế cho đến khi nó bị xóa bỏ, tức là rơi vào trạng thái TERMINATED hoặc quá trình mô phỏng dừng [5].
Một số thuộc tính quan trọng của thực thể giao tác là:
- Tham số - Tham số của giao tác là tập các giá trị liên quan đến giao tác. Mỗi giao tác có thể chứa nhiều tham số. Mỗi tham số có một giá trị là một số nguyên dương.
- Tham số giao tác phải được tạo và gán giá trị trước khi chúng được tham chiếu đến. ASSIGN, MARK, and TRANSFER SUB, SELECT, SPLIT và COUNT là các khối tạo một tham số giao tác nếu nó chưa tồn tại.
- Độ ưu tiên – mức độ ưu tiên của giao tác xác định thứ tự của các giao tác có cùng nguồn phát sinh. Giao tác với mức độ ưu tiên cao hơn sẽ có thời gian chờ ít hơn. Giao tác được ưu tiên trong hàng đợi CEC (Current Events Chain), FDC (Facility Delay Chains), và SDC (Storage Delay Chains). FEC (Future Events Chain) không phải là hàng được ưu tiên. Tác động của mức ưu tiên với một giao tác là nó sẽ được chọn trước so với những giao tác có độ ưu tiên thấp hơn khi có các giao tác tích cực, hoặc trong việc phân phối thực thể lưu trữ và thực thể thiết bị.
- Khối hiện tại – Số thực thể của khối chứa giao dịch. - Khối kế tiếp – Số thực thể của khối mà giao tác sẽ cố gắng vào tiếp. - Chuỗi – Trạng thái của giao dịch được xác định bởi một số chuỗi mà nó cư trú
tồn tại các trạng thái sau:
Tích cực – chứa các giao tác có mức độ ưu tiên cao trong CEC
Tạm ngừng – các giao tác đang chờ ở trong FEC hoặc CEC trở thành giao tác
tích cực.
Thụ đông – các giao tác trong mô phỏng đang ở chuỗi người dùng, trễ hoặc
chuỗi chờ xử lý.
Gián đoạn – các giao tác bị tiêu diệt và không thể tiếp tục tồn tại trong mô
phỏng
2.3.3.4 Các thực thể khối (Block Entities)
Các thực thể khối (Block Entities) là thành phần cấu trúc cơ bản của một chương trình mô phỏng GPSS. Mỗi loại khối tương ứng với một hành động trong mô phỏng. Mỗi giao tác trong mô hình được chứa chính xác trong một khối, nhưng hầu hết các khối có thể chứa nhiều giao tác [5].
Các đối tượng tĩnh được sử dụng để thu thập và xử lý các dữ liệu thống kê về hoạt
động của mô hình.
2.3.3.5 Các thực thể hàng đợi (Queue Entities)
Là một thực thể quan trọng trong mô phỏng, mỗi đối tượng kiểu hàng đợi đảm bảo việc thu thập và xử lý dữ liệu về các giao tác được giữ lại tại một điểm nào đó trong mô hình, ví dụ trước khi vào thiết bị đơn kênh.
Các khối liên quan:
- Khối QUEUE: tăng số phần tử trong hàng đợi - Khối DEPART: giảm số phần tử trong hàng đợi.
2.3.3.6 Các thực thể bảng (Table Entities):
Được sử dụng để nhận các phân phối xác suất của các đại lượng ngẫu nhiên, ví dụ
lưu lại thời gian chờ đợi của các giao tác trong mô hình mô phỏng.
Các khối liên quan:
- Khối TABULATE cập nhật dữ liệu biểu đồ trong thực thể
2.3.3.7 Các thực thể tính toán
Các đối tượng tính toán bao gồm:
- Các biến (Variable Entities) (số học và logic).
- Các hàm (Function Entities) dùng để tính toán các đại lượng nào đó được cho bởi
các biểu thức số học hay logic hoặc ở dạng bảng.
- Thực thể ma trận là một mảng các phần tử, mỗi phần tử chứa giá trị. Kích thước của mảng bị giới hạn bởi yêu cầu bộ nhớ tối đa trong trang mô phỏng khi thiết lập mô hình.
- Thực thể Logicwitch là thực thể đơn giản nhất với hai trạng thái là Set" hoặc "Reset". Thực thể này được gán giá trị 0 khi được tạo, khi gặp một lệnh CLEAR (không có tùy chọn OFF) sẽ được gửi đến đối tượng mô phỏng.
2.3.3.8 Các thực thể nhóm
Các đối tượng thuộc nhóm gồm có:
Numeric Group Entities – là tập hợp các giá trị số, được sử dụng để ghi lại các sự
kiện hoặc mô tả quá trình mô phỏng chạy.
Các khối lệnh liên quan:
JOIN : đưa một giá trị vào một Numeric Group; REMOVE lấy một giá trị ra ; EXAMINE Kiểm tra giá trị trong Numeric Group.
Transaction Group Entities- các thực thể nhóm giao tác dùng để phân loại và truy
cập các giao tác
Thực thể chuỗi người sử dụng (Userchain Entities) dùng để thiết lập các mô hình
lập trình phức tạp và các thuật toán sắp xếp.
2.3.4 Cú pháp lệnh GPSS
Phần này trình bày chi tiết về định dạng các lệnh của GPSS, theo định dạng sau:
Line number Label Verbs Operands ; Comment
Giải thích cụ thể:
Line number: tùy chọn có hoặc không. nếu được sử dụng, chúng phải bắt đầu
trong cột 1.
Label – Nhãn: Nếu trong chương trình không cần tham chiếu thì thành phần nhãn
này của câu lệnh không nhất thiết phải có.
Trường nhãn cho phép đặt tên và tham chiếu đến nhãn từ thân chương trình. Nhãn phải tuân theo các quy tắc đặt tên của GPSS. Có thể gán các giá trị của cho các nhãn bằng lệnh EQU và các khai báo trong các hàm PLUS. Điều này rất hữu ích khi bạn muốn thử nghiệm với một số giá trị với một số biến.
Khi GPSS gặp một nhãn mới, nó chỉ định một số nguyên duy nhất cho tên. Những số nguyên này độc lập và bắt đầu từ 10.000. Vì vậy có thể sử dụng cùng tên để chỉ các loại thực thể khác nhau. Ví dụ Bạn có thể có một thực thể lưu trữ và một Thực thể bảng có tên Motorpool. Tuy nhiên nếu bạn sử dụng Motorpool như một nhãn trong một STORAGE Command, thì Entity Storage cũ sẽ được thay đổi. Tuy nhiên, các thực thể khối cố định không được thay thế bằng cách này.
Verbs – Từ khóa: Đây là thành phần bắt buộc của một câu lệnh. Là một trong
những tên khối GPSS hoặc một trong các Lệnh.
Operands – Các toán hạng: Hầu hết từ khóa được theo sau bởi một hoặc nhiều toán hạng. Toán hạng phụ thuộc vào từ khóa. Một số là bắt buộc có một số không bắt buộc có toán hạng. Trường Verbs sẽ qui định số lượng các tham số, các toán hạng thực thi tương ứng. Một số toán hạng của hàm hay lệnh có thể chứa đến 7 toán hạng sắp xếp theo một trình tự nhất định tùy thuộc vào kiểu và được kí hiệu bởi những chữ cái đầu tiên trong bảng chữ cái Latin A, B, C, D, E, F, G.
Comment – Phần chú thích: tùy chọn có hoặc không và được đặt sau dấu “;” hoặc dấu “*” để chú giải nội dung cho từng dòng lệnh hoặc một nhóm dòng lệnh. Tuy nhiên, chú thích luôn luôn được khuyến khích nhằm làm chương trình dễ hiểu và rõ ràng hơn.
Ví dụ minh họa: Mô phỏng hệ thống khoảng không quảng cáo trong 200 ngày và
xác định xem có sự cố xảy ra không.
Hình 2. 1 - Mô tả chương trình mô phỏng bằng GPSS
2.3.5 Các khối cơ bản trong GPSS
Tập hợp các câu lệnh khối (Block) được sử dụng trong GPSS World có thể chia thành 4 nhóm với hơn 50 câu lệnh:
Khối lệnh liên quan đến các giao tác (Transactions) -
Khối các lệnh liên quan đến các thực thể thiết bị (Facility) -
Khối các lệnh liên quan đến dữ liệu tĩnh -
Khối các lệnh để điều khiển đường đi của các giao tác trong mô hình mô phỏng. -
Phần tiếp theo của luận văn sẽ trình bày chi tiết về một số khối cơ bản và các tham số trong mỗi lệnh:
2.3.5.1 Các khối làm việc với các giao tác
Đối với các giao tác có các khối thực hiện việc tạo, hủy, lưu lại giao tác một thời gian, thay đổi các thuộc tính và tạo bản sao của một giao tác. Bảng 3.1 sẽ giải thích cụ thể về một số khối cơ bản làm việc với giao tác.
Bảng 2. 1- Một số Block cơ bản làm việc với giao tác
Cú pháp Giải thích Ý nghĩa
A: thời gian trung bình xuất hiện một giao tác. sinh ra các giao tác tương lai đi vào mô phỏng. Label GENERATE A, B, C, D, E
B: xác định độ thay đổi của khoảng thời gian trung bình xuất hiện một giao tác. Độ thay đổi này có thể là thay đổi theo khoảng nếu nó tuân theo phân bố đều, hoặc thay đổi theo hàm khi nó tuân theo các phân bố khác.
C: xác định thời điểm xuất hiện giao tác đầu tiên.
D: xác định số các giao tác mà khối GENERATE sẽ tạo ra. Mặc định là ∞
E: thiết lập độ ưu tiên của các giao tác. Mặc định là số 0
là giảm lượng TERMINATE A Hủy một giao tác
A: của Termination Count (Termination Count được thiết lập bởi lệnh START và mô phỏng sẽ dừng khi Termination Count <=0)
ADVANCE A,B
A: số gia thời gian trung bình (bắt buộc)
Để giữ các giao tác lại trong một khoảng thời gian nào đó, tức là mô phỏng khoảng thời gian phục vụ các yêu cầu B: tùy chọn thời gian khoảng biến thiên giao độ (không bắt buộc)
ASSIGN A,B,C
A: số hiệu tham số của giao tác hoạt động (Active Transaction)
B: giá trị
C: số hiệu hàm
Khi một giao tác nhập vào một khối ASSIGN, giá trị của tham số định nghĩa trong A được thiết lập theo B và C. Sau A có thể sử dụng dấu + hoặc –, khi
đó giá trị tại tham số được +(-) giá trị trong B. Nếu C được chỉ định thì giá trị của hàm trong C được đánh giá sau đó nhân với B và thêm vào hoặc trừ vào giá trị tại tùy tham số của hàm thuộc vào hậu tố của A là + hay -
Ví dụ:
GENERATE 5,2; Tạo giao tác sau mỗi khoảng thời gian
; ngẫu nhiên theo quy luật phân bố đều trong khoảng [3;7].
GENERATE (Exponential(1,0,5.5)) ;Tạo các giao tác theo phân phối mũ.
Hình 2. 2- Một segment điển hình [6]
Đoạn codes GPSS được giới hạn bởi cặp Blocks GENERATE – TERMINATE gọi là một segment.
Ví dụ:
GENERATE 0.1 ;cứ sau mỗi 1/10 tick thì có 1 “yêu cầu”- transaction.
ADVANCE 10 ; 10 ticks sau khi chuyển đến block khác.
TERMINATE ;yêu cầu được hủy.
Khi một mô phỏng được bắt đầu, giao tác (Transaction) đầu tiên được tạo bởi một khối GENERATE, tuy nhiên mỗi giao tác trước khi đi vào khối bất kỳ đã được sinh ra trước đó và đặt vào chuỗi sự kiện tương lai FEC. Các giao tác trong FEC đi vào Block theo một kế hoạch. Toán hạng C có thể được sử dụng để xác định thời
gian trễ với giao tác đầu tiên. Nếu không, lần tăng đầu tiên được tính từ các toán hạng A và B.
Chuỗi các sự kiện hiện tại (Current Events Chain - CEC) là tập các giao tác nhập vào các khối tại thời gian hiện thời. Tại một thời điểm, giao tác được lấy từ CEC và đi vào khối có thể. Khi không còn giao tác nào trong CEC, GPSS World sẽ tăng đồng hồ hệ thống.
Khi một giao tác đi đến khối ADVANCE, nó dừng lại trong khoảng thời gian được thiết lập (toán hạng A), sau đó đi đến khối tiếp theo. Một khối ADVANCE thông qua các tham số sẽ tính toán được một số gia thời gian và đặt giao tác đi vào FEC tương ứng với khoảng thời gian trên.
Giao tác gặp khối TERMINATE sẽ được hủy khỏi chuỗi sự kiện.
2.3.5.2 Các khối làm việc với thực thể thiết bị
Facilities Entity trong GPSS là thực thể thiết bị, là các thực thể mô phỏng cho cơ sở vật chất của hệ thống như là các máy phục vụ, các kênh phục vụ: chẳng hạn như các bàn giao dịch trong ngân hàng, đường băng sân bay phục vụ cho việc cất cánh và hạ cánh của máy bay,… Trong quá trình mô phỏng, nếu thiết bị ở trạng thái rảnh (idle) thì các giao tác mới được phép sở hữu nó. Một số khối làm việc với các thiết bị gồm có:
Bảng 2. 2- Một số khối làm việc với thực thể thiết bị
Cú pháp Giải thích Ý nghĩa
SEIZE A A: là mã hoặc tên của “thiết bị”
Giao tác đang chờ được giải phóng khỏi chuỗi chờ để được sở hữu thiết bị
A: là mã hoặc tên của “thiết bị”
B: qui định có thứ tự ưu tiên (PR) hoặc không (null)
C: là mã hoặc tên khối là đích mới cho giao tác hiện đang sở hữu thiết bị.
PREEMPT A,B,C,D,E Đưa thiết bị ở trạng thái đang bị giao tác sở hữu.
D: tham số của giao tác đã chiếm giữ thiết bị, nếu giao tác chiếm giữ thiết bị được lấy từ FEC thì D ghi nhận thời gian còn lại trong khối ADVANCE.
E: nếu nhận giá trị RE, giao tác chiếm giữ thiết bị sẽ bị loại khỏi sự cạnh tranh thiết bị và gửi đến đích mới được chỉ định trong toán hạng C.
RELEASE A A: là mã hoặc tên của “thiết bị”
Giải phóng sở hữu thiết bị của một giao tác
FAVAIL A A: là mã hoặc tên của “thiết bị”
Đưa một “thiết bị” có tên hoặc số hiệu trong toán hạng A, về trạng thái sẵn sàng phục vụ
FUNAVAIL A A: là mã hoặc tên của “thiết bị”
Đưa một thiết bị có tên hoặc mã trong toán hạng A, về trạng thái rảnh
2.3.5.3 Các khối làm việc với QUEUE
QUEUE là một thành phần rất quan trọng trong GPSS World, được dùng để lưu giữ thông tin trong quá trình xử lý các giao tác. Đối với QUEUE trong GPSS có các khối lệnh làm việc như trong bảng 3.3:
Bảng 3.3 Khối lệnh cơ bản thao tác với thực thể QUEUE
Cú pháp Giải thích Ý nghĩa
A: tên hoặc mã thực thể QUEUE cần tạo
QUEUE A,B Cập nhật số liệu thống kê thực thể hàng đợi (queue) để phản ánh sự gia tăng trong nội dung của hàng đợi.
B: số đơn vị mà theo đó tăng nội dung của thực thể hàng đợi, giá trị mặc định là 1
DEPART A,B
A: tên hoặc số hiệu thực thể QUEUE B: số đơn vị mà theo đó giảm số lượng của thực thể hàng đợi, giá trị mặc định là 1 Cập nhật số liệu thống kê thực thể hàng đợi (QUEUE) khi giảm số lượng theo giá trị qui định trong B
2.3.5.4 Các khối dùng để điều khiển dịch chuyển của các giao tác
Thông thường trong các mô phỏng đơn giản, các giao tác khi đi ra khỏi một khối bất kỳ đều đi vào hay cố gắng đi vào khối tiếp theo. Tuy nhiên trong các mô hình phức tạp hơn phụ thuộc vào các điều kiện mô phỏng có thể cần phải dịch chuyển các giao tác đến khối khác, tức là cần phải thay đổi sự dịch chuyển của các giao tác. Điều này được thực hiện bởi khối TRANSFER hoặc TEST.
Bảng 2. 3 Một số khối cơ bản điều khiển dịch chuyển của giao tác
Cú pháp Giải thích Ý nghĩa
TRANSFER A: hình thức chuyển khối Đưa giao tác tích cực (Active Transaction)
A,B,C,D nhảy tới một vị trí khối mới.
có thể nhận một trong các trị BOTH, ALL, giá PICK, FN, P, SBR, SIM, fraction, Name, PosInteger,…(tùy chọn)
B: số hiệu hoặc vị trí khối. Số hoặc tên tham số khi A nhận giá trị là P (tùy chọn) - A là BOTH thì khối được chỉ định trong B được kiểm tra. Nếu nó từ chối giao tác hoạt động đăng nhập thì khối được chỉ định trong C được kiểm tra. Khối đầu tiên cho phép giao tác nhập vào sẽ là đích mới. Nếu không khối nào cho phép giao tác nhập vào thì nó sẽ ở lại khối TRANSFER cho đến khi nó nhập vào được một khối.
- A là PICK đích mới sẽ được lựa chọn ngẫu nhiên trong khoảng B và C
C: vị trí hoặc số hiệu khối. Giá trị tăng trong trường hợp A là FN hoặc P
D: sự tăng số hiệu khối trong trường hợp A là ALL - Nếu A là P, Active Transaction sẽ nhảy đến một vị trí đã tính toán từ tổng giá trị của tham số và toán hạng C. Nếu C không được chỉ định thì giá trị của tham số là vị trí đích mới của giao tác
-Nếu A là All, khối chỉ định trong B được kiểm tra. Nếu khối này từ chối giao tác hoạt động đăng nhập, các khối tiếp theo được kiểm tra lần lượt
- Nếu A là SBR( subroutine mode) Active Transaction nhảy đến vị trí được chỉ định bởi toán hạng B, vị trí khối chuyển đổi được đặt trong toán tử C
- Nếu A là SIM (simultaneous mode) giao tác hoạt động nhảy đến một trong hai vị trí được chỉ định trong C và chỉ số Delay được thiết lập lại ( turned off). Nếu chỉ số Delay được thiết lập lại (off) giao tác nhảy đến vị trí đã chỉ định bởi toán tử B
So sánh các giá trị, đích của giao tác hoạt động dựa trên kết quả của việc so sánh.
O: phép toán quan hệ, có thể nhận một trong các giá trị E, G, GE, L, LE, or NE.
TEST O,A,B,C A: giá trị kiểm tra
B: giá trị tham chiếu
C: số hiệu khối đích
2.3.6 Một số hàm thư viện
Trong một mô phỏng chúng ta có thể gọi đến một thủ tục nằm trong một thư viện thủ tục. Có hai loại thư viện: thư viện người dùng (User Library) và thư viện GPSS World. Thư viện người sử dụng là tập hợp các thủ tục PLUS. Các thư viện GPSS World chứa một tập hợp thủ tục toán học và chuỗi được tích hợp sẵn, có thể triệu gọi trong các biểu thức PLUS. Một trong số các thủ tục được tích hợp sẵn trong thư viện thủ tục đó là: các thủ tục tiện ích (Utility Procedures), các thủ tục tệp (File Procedures), các thủ tục gọi động (Dynamic Call Procedures), các thủ tục toán học (Math Procedures), các phân bố xác suất (Probability Distributions), các thủ tục chuỗi (String Procedures), và các thủ tục truy vấn (Query Procedures).
2.3.7 Cài đặt và sử dụng GPSS World Student Version
GPSS World Student Version là phiên bản được cung cấp miễn phí nhằm mục đích học tập và nghiên cứu; Để mô phỏng hệ thống phục vụ đám đông bằng ngôn ngữ mô phỏng GPSS cần cài đặt bộ công cụ với các bước đơn giản. Ngoài Student version còn nhiều phiên bản khác như GPSS World Personal Version, GPSS World Commercial Version, GPSS World Student Version; Tuy nhiên, luận văn này sử dụng phiên bản GPSS World Student Version nhằm mục đích nghiên cứu, thử nghiệm và xây dựng bài toán áp dụng.
Sau khi tải phiên bản miễn phí GPSS World Student Version về, tiến hành cài
đặt như các phần mềm thông thường.
Để xây dựng một mô phỏng người dùng cần một số thao tác cơ bản sau:
- Tạo một mô hình: vào menu File / New /Model /OK. - Thực hiện viết code chương trình với bộ soạn thảo và các tiện ích chèn Block lệnh
nhanh mà GPSS cung cấp trong trình soạn thảo mô hình.
- Biên dịch: là bước translator thực hiện biên dịch mã nguồn, bước này có thể được kết hợp trong lệnh Command / Create Simulation nếu trong mã nguồn đã thiết lập trước thời gian mô phỏng. Nếu không có thể chạy lệnh Start [thời gian mô phỏng] để tạo mô hình sau khi biên dịch thành công
- Tạo mô phỏng mới: vào menu Command / Create Simulation. Khi mô hình được tạo người dùng có thể theo dõi quá trình mô phỏng thông qua các cửa sổ thiết kế riêng cho từng thực thể như: Blocks Window, Facilities Window, Plot Window, Queues Window… các màn hình này cung cấp đầy đủ số liệu liên quan đến thực thể đó như: số lần thực thể được sử dụng, hiệu suất (với Facility Entity), và các thông số liên quan. Theo dõi và phân tích kết quả. Để tiện theo dõi quá trình mô phỏng người sử dụng có thể dùng các lệnh trong menu Command như: START, STEP, HALT, CONTINUE, hoặc sử dụng các phím tắt tiện lợi. Khi quá
trình mô phỏng kết thúc mặc định một cửa sổ báo cáo kết quả (Report Window) sẽ xuất hiện.
Hình 2. 3- Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản
Đây là một ví dụ mô phỏng đơn giản:
GENERATE mô tả việc “yêu cầu” xuất hiện trong hệ thống.
diễn tả việc “yêu cầu” (sự kiện) đi vào hàng đợi QUEUE
SEIZE
yêu cầu được phục vụ, nếu kênh phục vụ bận thì “yêu cầu” phải tiếp tục bị giữ ở trong hàng đợi, ngược lại thì “yêu cầu” sẽ được chuyển vào kênh phục vụ
biểu diễn hành vi “yêu cầu” được ra khỏi hàng đợi DEPART
mô tả việc “yêu cầu” được phục vụ ở kênh phục vụ (máy phục vụ). ADVANCE
giải phóng kênh phục vụ RELEASE
TERMINATE “yêu cầu” được giải phóng khỏi hệ thống.
Một chương trình mô phỏng trong GPSS World sẽ có dạng như hình 2.5
2.4 Hàng đợi có ưu tiên Priority Queueing
Đối với lớp bài toán mô phỏng hàng đợi có ưu tiên cần thể hiện được sự ưu tiên của các lớp sự kiện ở các mức độ khác nhau. Các công cụ mô phỏng cung cấp cách thức để người sử dụng có thể dễ dàng làm được điều đó dựa vào cách thức lấy cách hình đợi yêu hàng phục khỏi như cầu vụ để ra
Hình 2. 4- Cách lấy yêu cầu của hàng đợi Priority Queueing
2.4.
- Tính năng đặc biệt của hàng đợi ưu tiên là ở bộ lập lịch. Có 4 mức ưu tiên gồm: mức cao, mức trung bình, mức bình thường, và mức thấp. Bộ lập lịch sẽ chọn lựa yêu cầu có mức độ ưu tiên cao hơn, tiếp theo đó là các yêu cầu có mức độ ưu tiên thấp dần để phục vụ.
- Bộ lập lịch Priority Queueing có một số thuận lợi và hạn chế. Các gói trong hàng đợi ưu tiên cao có thể đạt 100% băng thông liên kết, với độ trì hoãn nhỏ và độ biến động trễ nhỏ. Thật ra, khi nghẽn mạch, các gói trong hàng đợi ưu tiên thấp tốn nhiều thời gian phục vụ. Khi liên kết tắc nghẽn, các ứng dụng người dùng có thể ngừng làm việc nếu các gói đặt trong hàng đợi ưu tiên thấp.
- Priority Queueing phân lớp các gói dựa trên nội dung của các tiêu đề. Nó sử dụng tối đa 4 hàng đợi. Chỉ áp dụng chính sách hủy gói cuối hàng đợi (tail drop), mặt khác sau khi phân lớp các gói, nếu hàng đợi tương ứng đầy, các gói bị bỏ. Mặt khác, chiều dài mỗi hàng đợi là nguyên nhân ảnh hưởng đến độ trễ và mất gói. Thật ra, Priority Queueing có thể thiết lập chiều dài hàng đợi trở về giá trị 0, có nghĩa là chiều dài hàng đợi “không giới hạn”. “Không giới hạn” có nghĩa là khi bộ định tuyến ra ngoài vùng nhớ, các gói không thể lập lịch, tuy nhiên chúng ta gặp vấn đề rắc rối hơn việc lập lịch cho gói nếu bộ định tuyến ngoài vùng nhớ.
2.5 Các bước mô phỏng bài toán trên GPSS World
Qua quá trình nghiên cứu, luận văn áp dụng một quy trình ứng dụng GPSS để mô phỏng một hệ thống hàng đợi được trình bày trong hình 2.7 gồm các bước chính như sau:
Bước 1: Xác định vấn đề
Mục đích là xác định được mục tiêu và phạm vi mô phỏng, các yếu tố khác liên quan đến bài toán. Xây dựng yêu cầu đầu vào cho bài toán. Xác định cách thức thu thập dữ liệu và kiểm tra dữ liệu.
Bước 2: Thiết lập đối tượng
Mục đích thiết lập danh sách các đối tượng sẽ sử dụng trong mô phỏng dựa trên
đầu vào được xác định ở bước 1.
Bước 3: Khái niệm hóa và thu thập dữ liệu
Mục đích thiết kế các khái niệm đầu vào và đầu ra của bài toán làm tiêu chuẩn cho bước xác nhận mô hình sau này. Các khái niệm trong quá trình mô phỏng như tập các đối tượng, thực thể, khối sẽ được định nghĩa trước khi xây dựng mô phỏng.
Mục đích của quá trình thu thập dữ liệu nhằm thu thập và phân tích dữ liệu đầu vào và đầu ra trong thực tế. Từ đó thống kê, phân tích để lấy được số liệu, xác định hàm phân phối xác suất. Trong đó 2 tham số quan trọng cần xác đinh được trong bước này:
- Xác định luật phân bố đầu vào (input) của các kênh phục vụ, các yêu cầu theo quy luật phân phối ngẫu nhiên nào. Xác định các biến thời gian gắn liền với đầu vào của các sự kiện. Từ đó lựa chọn hàm phân bố tương ứng sử dụng trong chương trình mô phỏng.
- Xác định hàm phân phối thời gian phục vụ từ dữ liệu thống kê.
Bước 4: Xây dựng mô hình;
Sử dụng GPSS để viết mã nguồn chương trình dựa trên các thông tin được xây
dựng ở bước 3.
Bước 5: Xác minh mô hình
Bước này kiểm tra xác minh mô hình đã xây dựng có đúng thiết kế và đảm bảo sử dụng đúng sác xuất hay không. Nếu chương trình có lỗi trong khi kiểm tra thì cần phải chỉnh sửa lại mã nguồn. Nếu chương trình đã đảm bảo các thiết kế của bước 3 thì chuyển sang bước kiểm thử xác nhận.
Bước 6: Xác nhận
Mục đích của bước này là kiểm thử chấp nhận hệ thống. Bằng cách sử dụng các bộ dữ liệu đầu vào và đầu ra thu được ở bước thu thập dữ liệu để so sánh với kết quả của mô hình tính toán được.
Khi mô phỏng đảm bảo thiết kế mà không thu được kết quả phù hợp thì cần xem xét lại mô hình khái niệm. Ngoài ra cũng cần kiểm tra lại các kết quả tính toán có được từ bước thu thập dữ liệu, vì bước này có thể đưa ra tính toán sai về xác suất đầu vào dẫn đến mô phỏng sai.
Khi mô phỏng đảm bảo đúng thiết kế và cho ra kết quả phù hợp với đầu ra của hệ thống thực tế, thì mô phỏng đã đúng và có thể sử dụng cho mục đích phân tích hệ thống ở bước sau.
Bước 7: Thử nghiệm và phân tích
Mục tiêu quan trọng khi xây dựng mô phỏng là cải tiến mô hình. Bước thử nghiệm cho phép người dùng thay đổi tham số hệ thống để phân tích ưu nhược điểm khi cải tiến mô hình.
Quá trình thử nghiệm có thể chạy nhiều lần để so sánh các kết quả trước khi triển
khai mô hình có kết quả phân tích tốt nhất vào thực tế.
Hình 2. 5- Quy trình mô phỏng
Một số yếu tố có thể ảnh hưởng đến kết quả mô phỏng:
Đối tượng không rõ ràng, khách quan
- - Mô hình không hợp lệ, mô hình mô phỏng quá phức tạp hoặc quá đơn giản,
giả định sai lầm hay giả định không có căn cứ trên tài liệu.
- Sử dụng sai phân bố xác suất đầu vào.
Tùy vào đặc trưng của hệ thống mà áp dụng phương pháp thu thập dữ liệu [7,10] khác nhau. Đối với hoạt động của siêu thị có thể áp dụng phương pháp thu thập dữ liệu bằng bảng câu hỏi khảo sát như phụ lục 2.1 nêu trong luận văn này. Sau khi thu thập dữ liệu cụ thể, cần xây dựng bảng kết quả và tính toán những thông số thực tế để xây dựng mô hình bài toán như trong phụ lục 2.2.
Một số phương pháp xác minh mô hình mô phỏng là:
-
-
So sánh kết quả tính toán từ mô hình với dữ liệu quan sát thực tế. Đây là phương pháp phổ biến và đảm bảo tính chính xác cao. Để làm được điều này cần chuẩn bị nhiều bộ dữ liệu quan sát đảm bảo các ràng buộc của bài toán. VD: thu thập số liệu với ràng buộc thời gian bận vào giờ cao điểm của các quầy thu ngân. Khi làm mô phỏng cần chuẩn bị các bộ dữ liệu vào giờ cao điểm giờ thấp điểm với đầy đủ các thông số cần quan tâm như, lượng khách được ưu tiên, hình thức thanh toán. Phương pháp thứ hai là so sánh kết quả tính toán từ mô hình với dữ liệu tính toán từ lý thuyết. Phương pháp này được áp dụng khi không thể xây dựng bộ dữ liệu quan sát thực tế. Tuy vậy, lý thuyết hàng đợi đã được chứng minh tính đúng đắn nên hoàn toàn có thể dùng để xác minh mô hình mô phỏng. Hạn chế của phương pháp này là vẫn cần đảm bảo xác định đúng xác suất dòng vào và tốc độ phục vụ vì vậy việc xác minh mô hình không được khách quan.
Một lưu ý khi so sánh kết quả nhằm xác minh mô hình là luôn có độ lệch trong phép so sánh. Yếu tố tạo ra chênh lệch chính là yếu tố ngẫu nhiên khi sinh sự kiện. Vì vậy cần kiểm chứng mô hình với nhiều quy mô lấy mẫu khác nhau để tìm ra kết luận. Trong bài toán áp dụng ở chương 3 của luận văn này, do không có điều kiện để thu thập dữ liệu quan sát cụ thể nên đã sử dụng phương pháp tính toán bằng lý thuyết để xác minh mô hình mô phỏng.
Kết luận chương
Trong chương 2 đã tập trung làm rõ cách tiếp cận bài toán phục vụ đám đông bằng phương pháp mô phỏng. Cung cấp các kiến thức cơ bản về công cụ mô phỏng chuyên dụng GPSS Word. Trong đó, đã đề cập đến tương đối đầy đủ các đối tượng, các khối lệnh liên quan đến đối tượng, cơ chế hoạt động của khác khối lệnh.
Từ những hiểu biết đã nêu trên, luận văn đưa ra một quy trình chung bao gồm các bước từ thu thập dữ liệu thực tế cho đến phân tích dữ liệu để thu được phân phối sác xuất của tiến trình đến và tiến trình phục vụ; Từ đó xác định mô hình cần mô phỏng. Mã hóa chương trình mô phỏng và đưa ra các nhận xét kết luận dựa trên kết quả mô phỏng. Trong phần tiếp theo của luận văn sẽ tập trung vận dụng những kiến thức thu thập được từ chương 1 và chương 2 để áp dụng giải bài toán hàng đợi thực tế của siêu thị.
CHƯƠNG 3. ỨNG DỤNG LÝ THUYẾT HÀNG ĐỢI VÀ CÔNG CỤ MÔ
PHỎNG VÀO BÀI TOÁN HÀNG ĐỢI SIÊU THỊ
3.1 Một số quan sát về hàng đợi siêu thị
Bên cạnh các yếu tố chất lượng sản phẩm, giá thì chất lượng dịch vụ cũng là chìa khóa để thu hút khách đến với siêu thị. Hàng đợi với với lượng khách hàng phải chờ phục vụ quá lâu là điều không mong muốn đối với người quản lý.
Siêu thị cung cấp nhiều dịch vụ cho khách hàng từ khi vào cho đến khi rời khỏi như: gửi xe, gửi đồ, thử đồ, cân đồ, thanh toán… Với các siêu thị lớn tại Hà Nội như Big C, AEON, đều áp mô hình hàng đợi đa hàng, tuy nhiên một số dịch vụ lại áp dụng mô hình đơn hàng như: quầy bánh mì.
Phân tích các đặc điểm của hàng đợi trong hoạt động của siêu thị:
a. Đặc điểm dòng đến
Đặc điểm nhóm dân cư (pollution size) đến với siêu thị: Khách hàng đến với siêu thị có nhu cầu không đồng nhất với nhau: có khách hàng mua hàng có chủ đích và khách hàng đến với những nhu cầu khác như: khảo sát giá, xem hàng rồi mới nảy sinh nhu cầu mua hàng. Nhưng nhìn chung khách đi siêu thị là chủ động và lúc này các siêu thị có thể kiểm soát được hành vi của khách hàng là chấp nhận hay không chấp nhận dịch vụ. Tóm lại, lượng khách hàng đến với các siêu thị (đặc biệt là các siêu thị có mô hình trung tâm thương mại) hay kích thước dòng đến các hàng đợi siêu thị là vô hạn.
Dòng đến theo quy luật phân bố Poisson
Khách hàng đến trong khoảng thời gian [t, t+s) phụ thuộc vào khoảng thời gian s nhưng không phụ thuộc đến thời gian bắt đầu t. Hay nói cách khác khách hàng đến trong 2 khoảng thời gian không giao nhau là các biến ngẫu nhiên và độc lập.
Lượng khách hàng đến tại thời điểm [t+s) hoàn toàn độc lập với khách hàng đến tại thời điểm t. Số lượng khách hàng trong mỗi thời điểm là một biến ngẫu nhiên. Vậy khách hàng đến dịch vụ tại siêu thị là quá trình Poisson và tuân theo phân bố Poisson.
Đặc điểm hàng đợi:
Hàng đợi tại siêu thị hầu hết là hàng đợi không giới hạn kích thước. Các dịch vụ được cung cấp cũng không phải là dịch vụ khẩn cấp vì vậy hầu hết đều phục vụ theo nguyên tắc FCFS. Tuy nhiên, một số siêu thị trong nước hiện nay đang áp dụng hình thức phân loại quầy hàng dành cho khác hàng mua ít sản phẩm và quầy dành cho khách hàng mua nhiều sản phẩm (Big C Garden), đây là hình thức phân loại mức độ ưu tiên và không ưu tiên trong hàng đợi.
Nắm bắt được tâm lý của khách hàng điển hình như: chờ đợi có việc bao giờ cũng tốt hơn chờ đợi không có việc; Các nhà quản lý đã khéo léo đánh lạc hướng cảm
giác chờ đợi bằng việc bố trí các màn hình quảng cáo, các kệ sản phẩm nhỏ, các khay đựng catologe,… nhằm giúp khách giết thời gian và có thêm thông tin trong quá trình chờ đợi. Vì vậy, tỷ lệ khách hàng từ bỏ hàng đợi không lớn hay có thể xét trường hợp không có khách hàng rời hàng đợi mà vẫn đảm bảo đúng mô hình bài toán.
b. Đặc điểm dịch vụ
Thiết kế hệ thống dịch vụ
Tùy thuộc vào yêu cầu phục vụ từ khách hàng mà các siêu thị bố trí số lượng quầy phục vụ. Đối với quầy thu ngân, hầu hết các siêu thị hiện nay áp dụng mô hình phục vụ đa kênh. Một thực trạng dễ thấy là, những ngày thường khách đến siêu thị phân tán, không tập trung tại một thời điểm, lượng khách vào các ngày thường cũng ít hơn các ngày lễ tết. Tại những giờ thấp điểm như vậy số lượng quầy thanh toán ít đi, những ngày lễ tết các quầy phục vụ hết công suất thậm trí còn mở thêm số lượng quầy.
Thời gian phục vụ tuân theo phân bố mũ.
Thời gian phục vụ khách hàng là khác nhau. Trong thanh toán – số lượng, chủng loại hàng, hình thức thanh toán (tiền mặt, quẹt thẻ) khác nhau dẫn đến thời gian phục vụ cũng khác nhau. Như đã nêu ở trên, dòng đến tuân theo phân bố Poisson, vậy khoảng thời gian giữa các khách hàng đến tuân theo quy luật phân phối mũ. Mà theo quan sát, thời gian khách hàng đến cũng là thời gian các dịch vụ luôn luôn bận rộn. Vì vậy, có thể kết luận rằng thời gian phục vụ cũng tuân theo phân bố mũ.
3.2 Bài toán xếp hàng gồm 1 phase phục vụ
Bài toán xếp hàng không ưu tiên diễn ra ở rất nhiều quầy phục vụ tại siêu thị. Trong bài toán áp dụng này, luận văn trình bày một đại diện cho mô hình hàng đợi đơn giản nhưng có tính khái quát chung cho một số hàng đợi như bãi gửi xe, quầy cân đồ, quầy bán đồ ăn nhanh và một số dịch vụ đơn giản khác.
3.2.1 Phát biểu bài toán
Tại siêu thị Lan Chi thành phố Thái Nguyên có 80 chỗ đỗ xe ô tô được chia
thành từng ô riêng biệt. Kết quả khảo sát tại bộ phận an ninh thu được một số thông tin
sau:
- Khách hàng đến nếu không còn chỗ trống đậu xe thì sẽ rời khỏi siêu thị. Vào
ngày thường, trung bình có 50 ± 5 giây thì có một xe vào bãi đậu xe.
- Thời gian xe ô tô đậu ở bãi đậu xe được tính là thời gian khách hàng vào chọn
lựa mua hàng, thanh toán và di chuyển trở lại xe. thời gian từ khi khách hàng
rời xe đến khi quay trở lại trung bình là là 1h.
Mục tiêu là mô phỏng: mô phỏng lại hoạt động của bãi đỗ xe thời gian 1 ca làm
việc của siêu thị (8 tiếng) nhằm so sánh kết quả mô phỏng với kết quả tính toán bằng
lý thuyết hàng đợi.
3.2.2 Phân tích bài toán bằng lý thuyết hàng đợi.
Đặc điểm của hàng đợi này là: số kênh phục vụ c=80. Không giới hạn kích thước hàng đợi, tuy nhiên xe rời siêu thị ngay khi không có chỗ đỗ. Với số yêu cầu đến hàng chứ không phụ thuộc vào vị đơi trong gian quan sát chỉ phụ thuộc vào độ lớn của
trí của trên dòng thời gian. Có thể xác định mô hình hàng đợi mô phỏng đến bãi đậu
xe M/M/80/ / /FCFS
Dòng ra Dòng vào
Bãi đậu xe với 80 vị trí
Ô tô đến xếp hàng đi vào bãi gửi xe theo tần suất xuất hiện là 50±5 giây, vậy giá trị
đến trong đơn vị thời gian giờ (h) được tính là:
Tốc độ đến
Tốc độ phục vụ ( )= 1 khách hàng
Số kênh phục vụ (c) =80.
Theo những quan sát nêu ở mục 3.1 thời gian phục vụ tuân theo phân bố mũ.
Áp dụng lý thuyết hàng đợi ta có:
Thời gian trung bình giữa 2 lần khách hàng đến:
Hiệu suất phục vụ của hệ thống là:
Hiệu suất thỏa mãn điều kiện dừng với
Xác suất không có khách hàng trong hệ thống (P0):
Thời gian phục vụ trung bình:
=0.0000
Số xe trung bình trong hệ thống là:
74.36765 (Khách hàng)
Số xe trong hàng đợi phục vụ là:
Thời gian trung bình khách hàng ở trong hàng đợi:
Vì thời gian chờ đợi là 2 phút và chiều dài hàng đợi xấp xỉ 2 khách hàng nên có thể xem là không có khách hàng rời đi mà không được phục vụ.
Thời gian trung bình khách hàng trong hệ thống (bao gồm thời gian chờ và được phục vụ)
1.03288
Số xe ô tô đến siêu thị trong thời gian quan sát 8h là:
k = *λ = 8*72 = 576 (xe) Thời gian trung bình trong hệ thống của 1 xe là: 1.03288h Số xe ô tô hệ thống có thể phục vụ trong thời gian 8h là:
Vậy, Hiệu suất hoạt động của hệ thống là 90%, trung bình có 74 xe trong bãi đỗ.
Hình 3. 1- Đồ thị sác xuất số khách hàng trong hệ thống
Xác suất số khách hàng trong hệ thống được hiển thị trong hình
3.2.3 Mô phỏng bài toán bằng công cụ mô phỏng
3.2.3.1 Xác định mô hình mô phỏng
Từ những kết quả phân tích bài toán bằng lý thuyết, ta xác định được mô hình mô phỏng theo các bước trong sơ đồ trình bày trong hình 3.2
Hình 3. 2- Mô hình thuật toán giải bài toán bãi đậu xe
Bảng dưới xác định các thực thể sẽ có trong mô phỏng:
TT Loại thực thể Số lượng Ghi chú
1. Thực thể lưu trữ 1 Là thực thể lưu kích thước bãi đỗ xe.
3.2.3.2 Mã hóa chương trình mô phỏng
Mã nguồn bài toán mô phỏng được thể hiện trong hình 3.3
Hình 3. 3- Mã nguồn mô phỏng bài toán bãi đỗ xe
Một số kết quả thu được sau khi chạy mô phỏng:
Số lượng xe đến trong 8h: 576 xe
Trong đó:
Số xe được vào bãi gửi xe là : 576 xe.
-
Số xe không được vào bãi gửi xe là: 0 xe
-
Số xe đã rời khỏi trong thời gian mô phỏng là: 503
-
Số xe ô tô vẫn đang còn ở trong bãi đỗ tại thời điểm dừng mô phỏng là:
-
73 xe.
Báo cáo thu được sau khi chạy mô phỏng được thể hiện trong hình 3.4.
-
Hình 3. 4- Báo cáo thu được khi chạy mô phỏng
3.2.3.3 Kết luận thu được sau mô phỏng
Bảng 3. 1- Kết quả mô phỏng với thời gian 8h
Căn cứ mục tiêu mô phỏng bảng sau so sánh kết quả thu được từ quá trình tính toán:
toán lý toán
Một số yếu tố cần so sánh Tính theo thuyết Tính trong GPSS Độ lệch
Số xe ô tô đến siêu thị 576 576 0%
Số xe có chỗ đậu 574 572 1%
Lượng xe trung bình trong hệ thống 74 73 1%
xác
Lượng xe ô tô đã rời khỏi bãi khi thời gian mô phỏng kết thúc Không định 503
xác
Số xe ô tô vẫn ở bãi xe khi thời gian mô phỏng kết thúc Không định 73
Số xe không được phục vụ 0 0 0%
Kết luận: Kết quả tính toán mô phỏng và trong GPSS World phù hợp với kết quả tính toán theo lý thuyết.
Bảng 3. 2. Kết quả mô phỏng với thời gian khác nhau
Thực hiện chạy lại mô hình với thời gian mô phỏng là 16 giờ, 24 giờ, 48 giờ bằng cách thiết lập lại thời gian trong chương trình mô phỏng. Kết quả thực hiện điều chỉnh thời gian mô phỏng như sau:
8
24
Lý
Lý
Lý
Lý thuyết
thuyết GPSS
thuyết GPSS
GPSS
thuyết GPSS
Số xe ô tô đến siêu thị
Số giờ 16 48
Số xe ô tô được vào phục vụ tại siêu thị
1153 1728 3459 576 576 1152 1728 3456
Với số lượng xe ô tô đến siêu thị, đây là đại lượng do các hàm toán học phân bố
1153 1694 3459 574 572 1152 1728 3456
ngẫu nhiên, nên mô hình lý thuyết và mô hình mô phỏng GPPS gần như không có sự
sai lệch đáng kể, khi thời gian mô phỏng lớn thì độ lệch gần như bằng 0
Xét biến lượng xe ô tô được vào phục vụ tại bãi đỗ xe; Kết quả so sánh ở bảng
3.3 cho thấy với thời gian mô phỏng hay tính toán càng tăng, số lượng phần trăm sai
Bảng 3. 3- Bảng so sánh độ lệch giữa mô phỏng và tính toán từ lý thuyết của lượng xe được phục vụ
lệch ngày càng giảm
Thời gian Lý thuyết GPSS % sai lệch
574 576 1% 8 giờ
1152 1153 1% 16 giờ
1728 0% 24 giờ 1728
3456 0% 3459 48 giờ
Kết luận: khi thời gian mô phỏng càng lớn, thì kết quả mô phỏng ngày
càng tiệm cận với kết quả của mô hình lý thuyết.
3.3 Bài toán xếp hàng nhiều phase phục vụ
chỗ dành cho xe ô tô. Theo thống kê tỷ lệ xe ô tô so với các phương tiện khác là
3/7. Khách hàng rời đi ngay nếu không có chỗ đỗ xe. Luồng khách hàng đến
mua hàng được phân bố trong khoảng thời gian trung bình từ 50 ± 5 giây. Tùy
vào dự định mua hàng mà khách chọn xe đẩy hay giỏ để chứa hàng Thời gian di
chuyển từ bãi đậu xe vào đến siêu thị và lấy giỏ hàng hoặc xe đẩy khoảng 60 ±
40 giây.
Tại siêu thị có 100 xe đẩy cho khách mua hàng và 50 giỏ hàng phục vụ
cho khách hàng mua sắm nhỏ (số lượng mua hàng ít hơn 10 loại hàng hóa), xác
suất chọn vật chứa hàng là: giỏ hàng 0.08; xe đẩy 0.92. Có 5 quầy thu ngân,
trong đó quầy số 5 ưu tiên phục vụ khách hàng mua với số lượng hàng ít (nhỏ
hơn 10 mặt hàng). Số lượng món hàng khách chọn là một biết ngẫu nhiên nằm
trong khoảng 5 đến 100 mặt hàng. Khách chọn một món hàng trong khoảng thời
gian trung bình là 60 giây, tổng thời gian mua hàng sẽ được tính bằng số lượng
hàng nhân 60s.
Khi mua hàng xong, khách hàng chọn quầy thu ngân có ước lượng chiều
dài hàng đợi ngắn nhất hoặc quầy thứ 5 nếu số lượng hàng ít hơn 10. Hoạt động
của nhân viên thu ngân: tùy vào lượng hàng và cách thanh toán mà thời gian
thanh toán tương ứng với từng khách hàng là khác nhau. Tuy nhiên có thể xác
định được thời gian thanh toán cho một món hàng đã đầy đủ thông tin là 2s; và
trung bình mất 2 ± 1 phút để thực hiện thu tiền, trả lại, in hóa đơn hoặc quẹt thẻ,
ký tên lên biên lai thanh toán.
Sau khi mua sắm xong, khách hàng sắp xếp lại đồ, di chuyển ra bãi đậu xe
trong khoảng 60 ± 50 giây và rời khỏi siêu thị.
Mục tiêu mô phỏng:
3.3.1 Phát biểu bài toán Siêu thị Lan Chi có một bãi xe với số lượng 150 chỗ dành cho xe máy và 80
Xây dựng mô phỏng hoạt động của bãi đậu xe, giỏ hàng, quầy thanh toán của
siêu thị trong thời gian 8h làm việc liên tục. Từ đó đưa ra các kết luận cụ thể cho
các đặc trưng của siêu thị như: hệ số sử dụng của bãi xe, xe đẩy, giỏ hàng, quầy
thu ngân.
Thời gian khách hàng trong hệ thống được tính như sau:
+ Thời gian gửi xe: 60 (giây)
+ Thời gian trung bình mua hàng của khách là: (100+5)/2 *60 = 3150
(giây)=50 phút
+ Thời gian thanh toán tiền:
(100+5)/2 *2 + 120 = 225 (giây)
+ Thời gian trung bình mang hàng ra xe và rời khỏi bãi xe: 60 (giây)
3495 (giây) 1 giờ.
+ Tổng thời gian khách trong hệ thống là: + Số lượng khách hàng có thể được phục vụ ở siêu thị là: 28800/3496 x
100 = 824. Mô tả hoạt động hệ thống được trình bày trong hình 3.5
Hình 3. 5- Mô tả mô hình hoạt động của siêu thị
Phase 1: Dịch vụ gửi xe
Dịch vụ gửi xe gồm 2 hàng đợi: ô tô và xe máy, với sác xuất tương ứng 0.3 và
0.7.
Áp dụng cách tính hiệu suất như bài toán 1 ta có kết quả tính toán cho từng
hàng đợi như sau:
Bảng 3. 4- Kết quả tính toán hàng đợi gửi xe ô tô
3.3.2 Phân tích bài toán bằng lý thuyết hàng đợi
Đơn vị thời gian 8 Giờ
172.8 khách hàng 8 khách hàng 80 quầy
Tốc độ đến (λ) Tốc độ phục vụ (μ) Số kênh phục vụ Thời gian trung bình giữa 2 khách hàng đến Thời gian phục vụ trung bình 0.006 h 0.125 h
Lưu lượng hệ thống ((λ/μ) 0.27
27.0% Hiệu suất trung bình của hệ thống
Lượng khách hàng trung bình trong hàng đợi (Lq) 0.00000 khách hàng
Lượng khách hàng trung bình trong hệt thống (L) 21.60000 khách hàng
Thời gian chờ đợi trung bình của 1 khách hàng (Wq) 0.00000 h
0.12500 h
Thời gian trung bình của khách hàng trong hệ thống (W) Xác suất không có khách hàng trong hệ thống (P0)
0.00000 (xác suất hệ thống rảnh) 0.00% (tỷ lệ khách Xác suất tất cả các quầy đều bận
Xác suất có ít nhất 1 quầy trống
Bảng 3. 5-Bảng kết quả tính toán hàng đợi bãi gửi xe máy
hàng phải chờ đợi) 100.0% (Tỷ lệ khách hàng không phải đợi)
8 giờ
403.2 khách hàng 8 khách hàng
150 quầy
Đơn vị thời gian Tốc độ đến (λ) Tốc độ phục vụ (μ) Số kênh phục vụ Thời gian trung bình giữa 2 khách hàng đến 0.002 h
Thời gian phục vụ trung bình 0.125 h
Lưu lượng hệ thống (λ/μ) 0.336
Hiệu suất trung bình của hệ thống 33.6%
Lượng khách hàng trung bình trong hàng đợi (Lq) 0.00000 khách hàng
Lượng khách hàng trung bình trong hệt thống (L) 50.40000 khách hàng
0.00000 h
Thời gian chờ đợi trung bình của 1 khách hàng (Wq) Thời gian trung bình của khách hàng trong hệ thống (W) 0.12500 h
Xác suất không có khách hàng trong hệ thống (P0) 0.00000 (xác suất hệ thống rảnh)
Xác suất tất cả các quầy đều bận 0.00% (tỷ lệ khách
hàng phải chờ đợi) (Tỷ lệ khách hàng không phải đợi) Xác suất có ít nhất 1 quầy trống 100.0%
Gồm 2 hàng đợi: giỏ hàng và xe đẩy, với sác xuất chọn lựa vật mang hàng
tương ứng 0.08 và 0.92
Áp dụng cách tính hiệu suất như bài toán 1 ta có kết quả tính toán cho từng
hàng đợi như sau:
Bảng 3. 6- Kết quả tính toán hàng đợi giỏ hàng trong 8h
Phase 2: Dịch vụ giỏ hàng, xe đẩy
8 giờ
46.08 khách hàng 8 khách hàng 50 quầy
Đơn vị thời gian Tốc độ đến (λ) Tốc độ phục vụ (μ) Số kênh phục vụ Thời gian trung bình giữa 2 khách hàng đến 0.022 h
Thời gian phục vụ trung bình 0.125 h
Lưu lượng hệ thống (λ/μ) 0.1152
Hiệu suất trung bình của hệ thống 11.5%
Lượng khách hàng trung bình trong hàng đợi (Lq) 0.00000 khách hàng
5.76000 khách hàng
0.00000 h
Lượng khách hàng trung bình trong hệt thống (L) Thời gian chờ đợi trung bình của 1 khách hàng (Wq) Thời gian trung bình của khách hàng trong hệ thống (W) 0.12500 h
Xác suất không có khách hàng trong hệ thống (P0) 0.00315
Xác suất tất cả các quầy đều bận 0.00%
Bảng 3. 7- Kết quả tính toán hàng đợi xe đẩy trong 8h
Xác suất có ít nhất 1 quầy trống (xác suất hệ thống rảnh) (tỷ lệ khách hàng phải chờ đợi) (Tỷ lệ khách hàng không phải đợi) 100.0%
8 giờ
529.92 khách hàng 8 khách hàng
100 quầy Đơn vị thời gian Tốc độ đến (λ) Tốc độ phục vụ (μ) Số kênh phục vụ
Thời gian trung bình giữa 2 khách hàng đến 0.002 h
Thời gian phục vụ trung bình 0.125 h
Lưu lượng hệ thống (λ/μ) 0.6624
Hiệu suất trung bình của hệ thống 66.2%
Lượng khách hàng trung bình trong hàng đợi (Lq) 0.00014 khách hàng
66.24014 khách hàng
0.00000 h
Lượng khách hàng trung bình trong hệt thống (L) Thời gian chờ đợi trung bình của 1 khách hàng (Wq) Thời gian trung bình của khách hàng trong hệ thống (W) 0.12500 h
Xác suất không có khách hàng trong hệ thống (P0) 0.00000
0.01% Xác suất tất cả các quầy đều bận
Phase 3: Thanh toán
Phase thanh toán có mô hình hàng đợi gồm 5 hàng tương ứng với số quầy thanh toán. Thời gian phục vụ trung bình: 225 giây. Không xác định được tham số
ở bước này do tốc độ đến bị ảnh hưởng bởi các bước trước.
(xác suất hệ thống rảnh) (tỷ lệ khách hàng phải chờ đợi) (Tỷ lệ khách hàng không phải đợi) 100.0% Xác suất có ít nhất 1 quầy trống
3.3.3 Mô phỏng bài toán bằng công cụ mô phỏng
Hình 3. 6- Mô hình thuật toán hoạt động của siêu thị
3.3.3.1 Xác định mô hình mô phỏng
Từ Mô hình thuật toán trên ta xác định được các thực thể sử dụng trong mô phỏng sau:
TT Loại thực thể Số lượng Ghi chú
2. Thực thể lưu trữ 5
Gồm các thực thể lưu kích thước bãi đỗ xe, kích thước giỏ hàng, kích thước xe hàng
3. Thực thể hàng đợi 7 Gồm: hàng đợi giỏ hàng, hàng đợi xe hàng, 5 hàng đợi của các quầy thanh toán
4. Thực thể thiết bị Thực thể thiết bị là các quầy thanh toán 5
5. Thực thể bảng 3 Gồm các thực thể bảng lưu thời gian hệ thống
3.3.3.2 Mã hóa chương trình mô phỏng
; thiết lập bộ sinh số ngẫu nhiên ; Thứ tự quầy thu thông thường ;
RMULT 1187 First EQU 1 Last EQU 4
; Thời gian trong hệ thống
; Số sản phẩm được mua ; Tạo một bảng lưu số khách hàng
tbl_time_spent TABLE M1,1000,1000,7 tbl_lsItems TABLE P$ls_items,10,10,10 tbl_cust TABLE X$customer,100,50,12;
; số lượng xe đẩy cho phép ; số giỏ
s_parkC STORAGE 80 ; Bãi xe ô tô s_parkM STORAGE 150 s_trolley STORAGE 100 s_cart STORAGE 50
; Biến thời gian mô phỏng ; Biến ngẫu nhiên số lượng hàng
; Biến lưu hình thức thanh toán tiền thanh toán
; Thời gian thanh toán
v_time_work VARIABLE 8#60#60 v_items VARIABLE (RN1@96+5) v_pay VARIABLE (RN1@3+1)#40+150 v_Cash_time VARIABLE (P$ls_items)#2+120 v_choice_time VARIABLE P$ls_items#60 ; Thời gian chọn hàng INITIAL X$customer,0
; Khởi tạo biến
;Gán giá trị 1 nếu là Ô tô
TRANSFER both,,Lost ENTER s_parkC; ASSIGN transport,1 TRANSFER ,ChoseCarrier
ENTER s_parkM; ASSIGN transport,2
;Gán giá trị 2 nếu là xe máy
;thời gian khách hàng di chuyển vào siêu thị
;tăng số lượng người mua hàng lên 1
;gán số lượng hàng ngẫu nhiên
; Khởi tạo các biến ****************************************** ;Mô phỏng hoạt động gửi xe s_parking TRANSFER .7,,MOTO MOTO TRANSFER both,,Lost ***************************************** ; Hoạt động di chuyển vào ST và chọn giỏ hàng ChoseCarrier ADVANCE 60,40
SAVEVALUE customer+,1 ASSIGN ls_items,V$v_items ASSIGN pay_method,V$v_pay
; Gán các tham biến cho việc thanh toán tiền
Chương trình mô phỏng được mã hóa với mã nguồn như trong hình 3.6.
; Kiểm tra số giỏ hàng và xe đẩy còn lại
; Hàng đợi của giỏ hàng ; Lấy giỏ hang
; Số lượng lớn hơn 10 lấy xe đẩy
; Gán vật mang hàng là giỏ hàng ; chuyển các yêu cầu từ thời điểm khách vào siêu thị ; Hàng đợi của xe đẩy ; lấy xe đẩy
;Thời gian mua hàng
;số hàng nếu lớn hơn 10 thì chuyển đến quầy thông thường ; Kiểm tra quầy thu ngân trống ;Nếu khong co quây trong chuyển sang Nomal ; Lấy các thông tin thống kê hàng đợi của quầy phục vụ
; Giải phóng hàng đợi ; Lấy thời gian phục vụ ở quầy phục vụ nhanh
;Giải phóng xe đẩy/giỏ hàng ;chuyển đối tượng đến block FIN
SEIZE priorityCash DEPART Quick ADVANCE V$v_Cash_time RELEASE priorityCash LEAVE P$Carrier TRANSFER ,fin
; Tìm hàng đợi ngắn nhất
QUEUE P$Basic SEIZE P$Basic DEPART P$Basic ADVANCE V$v_Cash_time RELEASE P$Basic LEAVE P$Carrier
;Giải phóng xe đẩy/giỏ hàng
; đặt thời gian để mô phỏng ; Ghi nhận số lượng hàng hóa được mua
; giảm số lượng khách hàng 1 đơn vị ; khách hàng di chuyển đến bãi đậu xe ; loại xe khách hàng sử dụng
; Rời khỏi bãi ô tô
; Rời khỏi bãi xe máy
TABULATE tbl_time_spent TABULATE tbl_lsItems SAVEVALUE customer-,1 ADVANCE 60,50 TEST LE P$transport,1,MOTOLEAVE LEAVE s_parkC TERMINATE MOTOLEAVE LEAVE s_parkM TERMINATE
; Rời siêu thị
GENERATE 50,5,,,1 TRANSFER ,s_parking
; xác định thời gian mô phỏng của hệ thống ; Lấy thông tin về số lượng khách đến siêu thị
GENERATE V$v_time_work TABULATE tbl_cust TERMINATE 1 START 1
TEST LE P$ls_items,10,Qs_trolley GATE SNF s_cart,Qs_trolley QUEUE cartQueue ENTER s_cart DEPART cartQueue ASSIGN Carrier,s_cart TRANSFER ,Shopping Qs_trolley QUEUE trolleyQueue ENTER s_trolley DEPART trolleyQueue ASSIGN Carrier,s_trolley ; Gán vật mang hàng là xe đẩy ****************************************** ;Hoạt động chọn hàng Shopping ADVANCE V$v_choice_time TEST LE P$ls_items,10,Norm COUNT L v_Condition,First,Last,2,Q TEST E P$v_Condition,0,Norm QUEUE Quick nhanh ******************************************* ;Quầy thanh toán thông thường Norm SELECT MIN Basic,First,Last,,Q ******************************************* ; Mô phỏng hoạt động rời siêu thị fin lost TERMINATE ****************************************** ; Khối sinh sự kiện khách hàng đến ****************************************** Kết quả chạy mô phỏng:
GPSS World Simulation Report - MartActivity.11.4 Wednesday, November 08, 2017 16:30:11
START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 28800.000 56 5 4 NAME VALUE BASIC 10028.000 CARRIER 10025.000 CARTQUEUE 10026.000 CHOSECARRIER 9.000 CUSTOMER 10020.000 FIN 42.000 FIRST 1.000 LAST 4.000 LOST 51.000 LS_ITEMS 10022.000 MOTO 6.000 MOTOLEAVE 49.000 NORM 35.000 PAY_METHOD 10023.000 PRIORITYCASH 10030.000 QS_TROLLEY 20.000 QUICK 10029.000 SHOPPING 24.000 S_CART 10014.000 S_PARKC 10011.000 S_PARKING 1.000 S_PARKM 10012.000 S_TROLLEY 10013.000 TBL_CUST 10010.000 TBL_LSITEMS 10009.000 TBL_TIME_SPENT 10008.000 TRANSPORT 10021.000 TROLLEYQUEUE 10024.000 V_CASH_TIME 10018.000 V_CHOICE_TIME 10019.000 V_CONDITION 10027.000 V_ITEMS 10016.000 V_PAY 10017.000 V_TIME_WORK 10015.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY S_PARKING 1 TRANSFER 574 0 0 2 TRANSFER 158 0 0 3 ENTER 158 0 0 4 ASSIGN 158 0 0 5 TRANSFER 158 0 0 MOTO 6 TRANSFER 416 0 0 7 ENTER 416 0 0 8 ASSIGN 416 0 0 CHOSECARRIER 9 ADVANCE 574 1 0 10 SAVEVALUE 573 0 0 11 ASSIGN 573 0 0 12 ASSIGN 573 0 0 13 TEST 573 0 0 14 GATE 50 0 0 15 QUEUE 50 0 0 16 ENTER 50 0 0 17 DEPART 50 0 0 18 ASSIGN 50 0 0 19 TRANSFER 50 0 0 QS_TROLLEY 20 QUEUE 523 0 0 21 ENTER 523 0 0
22 DEPART 523 0 0 23 ASSIGN 523 0 0 SHOPPING 24 ADVANCE 573 62 0 25 TEST 511 0 0 26 COUNT 50 0 0 27 TEST 50 0 0 28 QUEUE 33 0 0 29 SEIZE 33 0 0 30 DEPART 33 0 0 31 ADVANCE 33 0 0 32 RELEASE 33 0 0 33 LEAVE 33 0 0 34 TRANSFER 33 0 0 NORM 35 SELECT 478 0 0 36 QUEUE 478 15 0 37 SEIZE 463 0 0 38 DEPART 463 0 0 39 ADVANCE 463 4 0 40 RELEASE 459 0 0 41 LEAVE 459 0 0 FIN 42 TABULATE 492 0 0 43 TABULATE 492 0 0 44 SAVEVALUE 492 0 0 45 ADVANCE 492 2 0 46 TEST 490 0 0 47 LEAVE 138 0 0 48 TERMINATE 138 0 0 MOTOLEAVE 49 LEAVE 352 0 0 50 TERMINATE 352 0 0 LOST 51 TERMINATE 0 0 0 52 GENERATE 574 0 0 53 TRANSFER 574 0 0 54 GENERATE 1 0 0 55 TABULATE 1 0 0 56 TERMINATE 1 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 131 0.951 209.164 1 451 0 0 0 4 2 114 0.876 221.313 1 470 0 0 0 4 3 112 0.848 218.119 1 497 0 0 0 4 4 106 0.811 220.438 1 448 0 0 0 3 PRIORITYCASH 33 0.154 134.424 1 0 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY 1 5 4 135 6 2.752 587.033 614.337 0 2 5 4 118 4 2.514 613.473 634.998 0 3 5 4 116 4 2.318 575.620 596.178 0 4 5 3 109 4 2.067 546.034 566.836 0 TROLLEYQUEUE 1 0 523 523 0.000 0.000 0.000 0 CARTQUEUE 1 0 50 50 0.000 0.000 0.000 0 QUICK 1 0 33 24 0.014 12.303 45.109 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY S_PARKC 80 60 0 33 158 1 18.290 0.229 0 0 S_PARKM 150 86 0 69 416 1 50.723 0.338 0 0 S_TROLLEY 100 19 0 83 523 1 65.696 0.657 0 0 S_CART 50 50 0 4 50 1 1.115 0.022 0 0 TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.% TBL_TIME_SPENT 3582.860 1806.555 0
_ - 1000.000 46 9.35 1000.000 - 2000.000 60 21.54 2000.000 - 3000.000 95 40.85 3000.000 - 4000.000 94 59.96 4000.000 - 5000.000 71 74.39 5000.000 - 6000.000 74 89.43 6000.000 - _ 52 100.00 TBL_LSITEMS 45.986 27.399 0 _ - 10.000 50 10.16 10.000 - 20.000 63 22.97 20.000 - 30.000 61 35.37 30.000 - 40.000 56 46.75 40.000 - 50.000 58 58.54 50.000 - 60.000 44 67.48 60.000 - 70.000 43 76.22 70.000 - 80.000 44 85.16 80.000 - 90.000 40 93.29 90.000 - _ 33 100.00 TBL_CUST 81.000 0.000 0 _ - 100.000 1 100.00 SAVEVALUE RETRY VALUE CUSTOMER 0 81.000 Kết luận rút ra từ báo cáo mô phỏng được kết xuất từ GPSS như trong bảng 3.1.
Bảng 3. 8 – Kết quả mô phỏng hoạt động của siêu thị
Chỉ tiêu Số lượng Hiệu
suất
Số khách hàng đến siêu thị trong thời gian mô phỏng
Thời gian mô phỏng 8h
574
158 Số xe ô tô đến
416 Số xe máy đến
158 0.229 Số yêu cầu được phục vụ và hiệu suất sử dụng của bãi gửi
xe ô tô
416 0.338 Số yêu cầu được phục vụ và hiệu suất sử dụng của bãi gửi
Số khách hàng đã vào siêu thị nhưng chưa mua hàng
xe máy
1
Số yêu cầu và hiệu suất sử dụng giỏ hàng được phục vụ 0.022 50
Số yêu cầu và hiệu suất sử dụng xe đẩy hàng được phục vụ 0.657 523
Số khách hàng thực hiện mua hàng 573
Số yêu cầu thanh toán được phục vụ 511
Lượng khách mua dưới 10 món hàng 50
Số khách hàng và hiệu suất sử dụng thanh toán tại quầy 1 131 0.951
Số khách hàng và hiệu suất sử dụng thanh toán tại quầy 2 114 0.876
Số khách hàng và hiệu suất sử dụng thanh toán tại quầy 3 112 0.848
Số khách hàng và hiệu suất sử dụng thanh toán tại quầy 4 106 0.811
Số khách hàng và hiệu suất sử dụng thanh toán tại quầy 33 0.154
thanh toán nhanh
Với kết quả tính toán như trên có thể đưa ra một số kết luận về hoạt động của siêu thị như sau:
- Số lượng bãi gửi xe máy và ô tô hiện đang cung cấp vượt nhu cầu sử dụng.
Khách hàng hoàn toàn không phải chờ đợi để được gửi xe.
- Số lượng giỏ hàng và xe đẩy đáp ứng nhu cầu của khách hàng; tuy nhiên tốc độ đến tăng vào các ngày cuối tuần và ngày lễ thì tỷ lệ khách hàng phải chờ đợi xe đẩy tăng lên nên cần tăng số lượng xe đẩy.
-
Các quầy thanh toán từ số 1 đến số 4 có hiệu suất hoạt động trung bình là 0.876, với lượng khách hàng chờ đợi trung bình là 4 khách hàng. Quầy thanh toán số 5 hoạt động với hiệu suất 0.154, số khách hàng trung bình phải chờ đợi là 0. Thiết kế quầy thanh toán hiện tại của siêu thị phù hợp với nhu cầu khách hàng.
3.3.3.3 Kết luận thu được sau mô phỏng
Từ kết quả tính toán trong mục 3.3.2 ta thấy với phase phục vụ thứ 3- dịch vụ thanh
toán, không xác định được đúng tốc độ dòng yêu cầu đến cho từng quầy thanh toán
(dưới 10 sản phẩm hay trên 10 sản phẩm) do tốc độ này bị chi phối bởi thời gian phục
vụ của các bước trước khi thanh toán. Vì vậy, đối với một số bài toán phức tạp với
nhiều phase phục vụ trong cùng một hệ thống chỉ có thể sử dụng mô phỏng để tính
toán; và việc mô phỏng hệ thống phục vụ đám đông bằng GPSS World là một giải
pháp hiệu quả.
Kết quả của bài toán mô phỏng 2 cũng phù hợp với kết quả và nhận xét đã trình bày
trong phần kết luận của bài toán đầu tiên (mục 3.2.3.3). Giữa tính toán lý thuyết và mô
phỏng vẫn có sự sai lệch; tuy nhiên, độ sai khác này sẽ giảm khi khi thời gian mô
phỏng lớn hơn hay độ lấy mẫu càng lớn hơn thì độ lệch giữa kết quả tính toán lý
thuyết và kết quả mô phỏng theo GPSS càng giảm.
Tương tự cách tiến hành với mô hình bài toán bãi gửi xe, thực hiện thay đổi thời gian mô phỏng bằng cách cài đặt lại biến thời gian v_time_work lần lượt bằng các giá trị:
Bảng 3. 10. Bảng so sánh thời gian thanh toán trung bình
16*60*60, 24*60*60, 40*60*60, 80*60*60 sau đó chạy mô phỏng. Đem so sánh kết quả từng trường hợp với lý thuyết. Bảng 3. 9 đưa ra so sánh thời gian phục vụ của các quầy phục vụ với thời gian trung bình tính toán từ lý thuyết (225 giây).
8 giờ 209.164 221.313 218.119 220.438 134.42 16 giờ 222.136 227.015 223.653 221.985 134.512 48 giờ 227.322 227.459 230.095 227.091 134.342 24 giờ 223.685 229.445 225.355 225.533 134.574
Thời gian mô phỏng Quầy 1 Quầy 2 Quầy 3 Quầy 4 Quầy 5 Trung bình tính toán từ mô phỏng 200.6908 205.8602 207.7184 209.2618 7% Độ lệch 11% 9% 8%
Kết luận chương:
Trong chương 3, luận văn trình bày hai bài toán điển hình của hàng đợi siêu thị.
Bài toán hàng đợi đơn giản M/M/c (bãi đậu xe) và bài toán hàng đợi phức tạp có ảnh
hưởng của các yếu tố: độ ưu tiên, kênh phục vụ với kích thước hạn chế và nhiều phase
phục vụ (bài toán hoạt động của siêu thị). Trong đó, việc tính toán bằng lý thuyết với
bước thanh toán là khó khăn vì bị chi phối bởi thời gian phục vụ ở các bước trước
thanh toán nên không xác định được tốc độ đến. Mô phỏng bằng GPSS có thể giải
quyết các khó khăn của phương pháp tính toán bằng lý thuyết và đưa ra những kết quả
thử nghiệm phù hợp. Việc thực hiện bài toán đã áp dụng quy trình được nêu ở mục
2.5, tuy nhiên do những hạn chế về thời gian nên chưa áp dụng được triệt để quy trình
ở bước thu thập dữ liệu như đã đề xuất, nghĩa là dữ liệu của bài toán vẫn là dữ liệu giả
định
Kết quả mô phỏng của hai bài toán cho thấy hoạt động của mô hình mô phỏng
có thể đưa ra những thông số hợp lý; hoàn toàn có thể tham khảo để đưa ra lời khuyên
đầu tư hợp lý nhằm nâng cao chất lượng dịch vụ tại các siêu thị, cho dù đó là các hệ
thống có nhiều phase phức tạp.
KẾT LUẬN
Ý nghĩa thực tiễn mà đề tài muốn hướng tới là làm chủ được phương pháp đánh giá hiệu suất, đo lường các giá trị liên quan của một hệ thống phục vụ đám đông; nhằm xây dựng các ứng dụng cải tiến dịch vụ, giảm thiểu lãng phí sinh ra bởi các dòng chờ trong tương lai như: ứng dụng hàng đợi tiện ích trên thiết bị di động. Luận văn tiếp cận bài toán hệ thống phục vụ đám đông theo hướng giải tích và mô phỏng. Phương pháp giải tích là sử dụng lý thuyết hàng đợi để phân tích bài toán. Sử dụng công cụ mô phỏng chuyên dụng để mô hình hóa bài toán nhằm tăng hiệu quả tính toán và giải quyết các bài toán phức tạp.
Từ hai phương pháp tiếp cận bài toán nêu trên, thông qua thực nghiệm với bài toán thực tế, mô hình bài toán có được nhờ mô phỏng cho ra những kết quả có ý nghĩa với các dữ liệu đầu vào khác nhau. Dựa vào kết quả đạt được đó luận văn đã đưa ra được những đánh giá cụ thể trên mô hình bài toán thực tế.
Nội dung luận văn đã làm rõ những vấn đề sau: - Tổng kết những vấn đề căn bản trong cở sở lý thuyết về hệ thống hàng đợi; tổng kết một số mô hình cơ bản; các đặc điểm quan trọng của hàng đợi như mức độ ưu tiên, quy luật liên quan đến trạng thái của hệ thống; điều kiện giải được và các bước giải quyết bài toán bằng phương pháp giải tích;
- Nghiên cứu ngôn ngữ mô phỏng GPSS: nêu được tập các đối tượng, các định nghĩa, cấu trúc lệnh của ngôn ngữ GPSS. Đồng thời giới thiệu và sử dụng công cụ GPSS World Student Version được cung cấp miễn phí để giải quyết bài toán thực tế;
- Đề xuất quy trình xây dựng mô phỏng hệ thống phục vụ đám đông bằng GPSS
World;
- Sử dụng công cụ GPSS vào bài toán thực tiễn tại siêu thị, đã phân tích và so
sánh kết quả mô phỏng với kết quả tính toán trên lý thuyết, từ đó rút ra kết luận. Bên cạnh những kết quả đã đạt được, luận văn vẫn còn tồn tại một số hạn chế sau:
- Chưa kiểm chứng được quy trình xây dựng mô phỏng trong nhiều trường hợp
áp dụng để đi đến khẳng định quy trình đề xuất đúng trong mọi trường hợp.
- Luận văn chưa tiến hành kiểm tra sự thực thi của việc mô phỏng hệ thống
phục vụ đám đông bằng ngôn ngữ GPSS trên tất cả các phiên bản của GPSS World.
- Mặc dù đã nêu được phương pháp cụ thể để thu thập dữ liệu đối với bài toán siêu thị, nhưng chưa áp dụng triệt để phương pháp đó để bài toán mô phỏng có tính chính xác cao hơn.
Từ những kiến thức bổ ích đã thu thập được trong quá trình thực hiện luận văn; trong tương lai, hướng áp dụng tiếp theo để phát triển luận văn này là: xây dựng ứng dụng nhằm cải tiến hàng đợi truyền thống bằng mô hình hàng đợi tiện lợi trên các thiết bị di động.
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Lê Quang Minh, Phan Đăng Khoa (2010), "Công cụ GPSS cho bài toán mô phỏng các hệ thống phục vụ đám đông," Báo cáo tổng hợp đề tài cấp ĐHQGHN, Viện Công nghệ thông tin – Đại học Quốc Gia Hà Nội, tr. 1.
[2] Hà Quang Thụy (2009), “Chương 5. Hàng đợi (Queue),” Slide bài giảng.
Tiếng Anh
[3] János Sztrik (2005), "Basic Queueing Theory", Budapest University of
Technology and Economics.
[4] Ivo Adan and Jacques Resing (2015), "Queueing Systems," Department of Mathematics and Computing Science, Eindhoven University of Technology P.O. Box 513, 5600 MB Eindhoven, The Netherlands.
[5] Minuteman Software (2009), "GPSS World reference manual," P.O. Box 131
Holly Springs, NC 27540-0131 U.S.A.
[6] William Stallings (2014), "Queue system concept" Supplement to Operating Systems.
[7] Anthony Igwe, J.U.Onwumere, Obiamaka P. Egbo (2014) “Efficient Queue Management in Supermarkets: A Case Study of Makurdi Town, Nigeria,” European Journal of Business and Management, University of Nigeria, Enugu Campus, Enugu, Nigeria
[8] Alan Pilkington, Royal Holloway (2005), GPSS – Getting Started, University of
London
[9] Andreas Willig (1999), A Short Introduction to Queueing Theory, Technical University Berlin, Telecommunication Networks Group Sekr. FT 5-2, Einsteinufer 25, 10587 Berlin
[10] JSKC Priyangika1 and TMJA Cooray (2015) "Analysis of the Sales Checkout in Supermarket Using Queuing Theory," Proceedings of 8th
Operation International Research Conference.
[11] Leonard Kleinrock(1975) “Queueing Systems – Volume 1 Theory”, John Wiley
and Sons New York
[12] John D.C. Little and Stephen C. Graves (2005), "Little's Law" Ch.5,
Massachusetts Institute of Technology.
[13] Robert B.Cooper (1981) “Intro To Queueing Theory”, Elserier North Holland
Phụ lục 2.1 - BẢNG CÂU HỎI KHẢO SÁT
(Dành cho nhân viên quầy thanh toán)
khách hàng đến quầy thanh
1. Thời điểm toán(*)
2. Có khách hàng chờ đợi được phục vụ khi quầy đang thực hiện thanh toán cho khách hàng khác không? (Có tình trạng khách hàng chờ đợi tại quầy phục vụ không) Y/N?
Có
Không
3. Nếu có thì có bao nhiêu khách hàng chờ đợi?
1
2
3
Số lượng khác:….
4. Cách thức thanh toán của khách hàng?
Tiền mặt
Thẻ
5. Số quầy thanh toán như hiện nay có đáp ứng nhu cầu của khách hàng?
Thừa
Vừa đủ
Thiếu
6. Thời điểm khách hàng rời khỏi quầy thanh toán (*)
Ghi chú: (*): Câu hỏi bắt buộc có phần trả lời để được coi là bảng khảo sát có giá trị.
Phụ lục 2.2: BẢNG TỔNG HỢP KẾT QUẢ KHẢO SÁT
Khách hàng thứ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Thời gian đến 16:50:00 16:51:00 16:53:00 16:54:00 16:55:00 16:55:00 16:56:00 16:56:00 16:57:00 16:58:00 16:59:10 17:00:00 17:01:00 17:03:00 17:03:00 17:03:30 17:04:00 17:04:00 17:05:00 17:07:00 17:07:00 17:09:00 17:10:00 17:11:00 17:12:00 17:12:50 17:14:00 17:14:30 17:15:00 17:15:00 17:15:00 17:16:00 17:17:00 17:18:00 17:18:00 17:19:00 17:19:00 17:20:00 17:20:00 17:21:00 Khoảng TG đến của KH tiếp theo 0:00:00 0:01:00 0:02:00 0:01:00 0:01:00 0:00:00 0:01:00 0:00:00 0:01:00 0:01:00 0:01:10 0:00:50 0:01:00 0:02:00 0:00:00 0:00:30 0:00:30 0:00:00 0:01:00 0:02:0 0:00:00 0:02:00 0:01:00 0:01:00 0:01:00 0:00:50 0:01:10 0:00:30 0:00:30 0:00:00 0:00:00 0:01:00 0:01:00 0:01:00 0:00:00 0:01:00 0:00:00 0:01:00 0:00:00 0:01:00 Số khách trong hàng đợi 2 3 3 4 3 2 1 1 0 2 1 0 0 1 3 2 1 0 0 0 0 1 2 1 2 2 3 3 4 5 2 0 2 0 1 2 0 2 2 2 Thời điểm rời dịch vụ 16:51:00 16:53:3 16:55:0 16:55:0 16:56:0 16:56:0 16:56:4 16:57:0 16:59:1 16:59:0 16:59:4 17:01:0 17:03:0 17:03:3 17:03:4 17:04:0 17:05:0 17:05:0 17:06:0 17:17:00 17:09:0 17:10:0 17:11:0 17:12:0 17:12:5 17:14:0 17:14:3 17:15:0 17:18:0 17:16:0 17:16:0 17:17:0 17:17:3 17:18:3 17:19:0 17:20:0 17:19:3 17:21:0 17:21:0 17:21:4 Thời gian phục vụ 0:01:00 0:02:30 0:02:00 0:01:00 0:01:00 0:01:00 0:00:45 0:01:00 0:02:10 0:01:00 0:00:30 0:01:00 0:02:00 0:00:30 0:00:40 0:00:30 0:01:00 0:01:00 0:01:00 0:02:00 0:01:00 0:01:00 0:01:00 0:00:50 0:01:10 0:00:30 0:00:30 0:03:00 0:01:00 0:01:00 0:01:00 0:00:30 0:00:30 0:01:00 0:01:00 0:00:30 0:01:00 0:01:00 0:00:40
41 42 43 44 17:21:00 17:21:00 17:21:40 17:23:00 0:00:00 0:00:00 0:00:40 0:01:20 0 0 1 1 17:21:3 17:23:0 17:23:0 17:23:3 0:00:30 0:02:00 0:01:20 0:00:30
17:08:00 0:01:04 17:09 0:01:04
Kết quả tính toán từ khảo sát:
Thời gian khách hàng đến trung bình: 0:00:44 giây = 0.73333 phút
Tốc độ đến(trong 1 giờ) : 81.818 khách hàng trên giờ
Thời gian phục vụ trung bình của 1 khách hàng: 1.0667 phút
Thời gian thu thập dữ liệu: 0:33:00 phút