You are on page 1of 75

ĐẠ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


1 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..................................................................................................................... 2
DANH MỤC HÌNH VẼ................................................................................................4
DANH MỤC CÁC BẢNG............................................................................................5
Chương 1: LÝ THUYẾT HÀNG ĐỢI...........................................................................8
1.1 Các khái niệm cơ bản.......................................................................................8
1.1.1 Biến ngẫu nhiên.........................................................................................8
1.1.2 Phân phối sác xuất thường gặp..................................................................8
1.1.3 Khái niệm hàng đợi và lý thuyết hàng đợi...............................................11
1.1.4 Kí hiệu Kendall........................................................................................14
1.1.5 Định nghĩa các độ đo hiệu suất................................................................16
1.1.6 Luật Little................................................................................................17
1.2 Một số mô hình hàng đợi cơ bản....................................................................17
1.2.1 Hệ thống một kênh phục vụ M/M/1.........................................................18
1.2.2 Hệ thống đa kênh phục vụ M/M/c...........................................................20
1.2.3 Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1)....................21
1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K....................................22
1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết..............................23
1.4 Phương pháp giải quyết bài toán bằng lý thuyết hàng đợi..............................24
Chương 2: CÔNG CỤ MÔ PHỎNG GPSS WORLD..................................................25
2.1 Cách tiếp cận mô phỏng.................................................................................25
2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng........................................25
2.3 Giới thiệu về GPSS World..............................................................................26
2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World..........................................26
2.3.2 Một số khái niệm trong GPSS World.......................................................27
2.3.3 Các thực thể trong GPSS.........................................................................29
2.3.4 Cú pháp lệnh GPSS.................................................................................33
2.3.5 Các khối cơ bản trong GPSS....................................................................35
2.3.6 Một số hàm thư viện................................................................................41
2.3.7 Cài đặt và sử dụng GPSS World Student Version....................................41
2.4 Hàng đợi có ưu tiên Priority Queueing...........................................................42
2.5 Các bước mô phỏng bài toán trên GPSS World..............................................44
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Ị...................................................................48
3.1 Một số quan sát về hàng đợi siêu thị...............................................................48
3.2 Bài toán xếp hàng gồm 1 phase phục vụ.........................................................49
3.2.1 Phát biểu bài toán.....................................................................................49
3.2.2 Phân tích bài toán bằng lý thuyết hàng đợi..............................................50
3.2.3 Mô phỏng bài toán bằng công cụ mô phỏng............................................51
3.3 Bài toán xếp hàng nhiều phase phục vụ..........................................................56
3.3.1 Phát biểu bài toán.....................................................................................56
3.3.2 Phân tích bài toán bằng lý thuyết hàng đợi..............................................57
3.3.3 Mô phỏng bài toán bằng công cụ mô phỏng............................................61
KẾT LUẬN.................................................................................................................69
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à .......10
Hình 1. 2- Thành phần cơ bản của hàng đợi.................................................................11
Hình 1. 3 - Mô hình hàng đợi M/M/1..........................................................................18
Hình 1. 4- Mô hình hàng đợi M/M/1...........................................................................18
Hình 1. 5 - Sơ đồ chuyển trạng thái của hàng đợi M/M/1............................................19
Hình 1. 6- Mô hình hàng đợi M/M/c............................................................................20
Hình 1. 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c...................................................20
Hình 1. 8- Mô hình hàng đơi M/M/c/K........................................................................22
Hình 1. 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K.........................................................23

Hình 2. 1 - Mô tả chương trình mô phỏng bằng GPSS................................................35


Hình 2. 2- Một segment điển hình...............................................................................37
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.............42
Hình 2. 4- Cách lấy yêu cầu của hàng đợi Priority Queueing......................................43
Hình 2. 7- Quy trình mô phỏng............................................................................................................46

Hình 3. 1- Đồ thị sác xuất số khách hàng trong hệ thống.............................................51


Hình 3. 2- Mô hình thuật toán giải bài toán bãi đậu xe................................................52
Hình 3. 3- Mã nguồn mô phỏng bài toán bãi đỗ xe......................................................53
Hình 3. 4- Báo cáo thu được khi chạy mô phỏng.........................................................54
Hình 3. 5- Mô tả mô hình hoạt động của siêu thị.........................................................57
Hình 3. 6- Mô hình thuật toán hoạt động của siêu thị..................................................61
DANH MỤC CÁC BẢNG

Bảng 1. 1- Một số hàm phân phối thường gặp...............................................................8


Bảng 1. 2 - Một số tham số của hàng đợi.....................................................................16
Bảng 1. 3-Một số mô hình hàng đợi cơ bản.................................................................18

Bảng 2. 1- Một số Block cơ bản làm việc với giao tác.................................................36


Bảng 2. 2- Một số khối làm việc với thực thể thiết bị..................................................38
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.............................40

Bảng 3. 1- Kết quả mô phỏng với thời gian 8h............................................................54


Bảng 3. 2. Kết quả mô phỏng với thời gian khác nhau................................................55
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ụ...............................................................................................................55
Bảng 3. 4- Kết quả tính toán hàng đợi gửi xe ô tô.......................................................58
Bảng 3. 5-Bảng kết quả tính toán hàng đợi bãi gửi xe máy.........................................58
Bảng 3. 6- Kết quả tính toán hàng đợi giỏ hàng trong 8h............................................59
Bảng 3. 7- Kết quả tính toán hàng đợi xe đẩy trong 8h................................................60
Bảng 3. 8 – Kết quả mô phỏng hoạt động của siêu thị.................................................66
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)......................68
Bảng 3. 10. Bảng so sánh thời gian thanh toán trung bình...........................................68
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:

với độ lệch chuẩn . Hệ số biến thiên là đại lượng mô tả mức độ biến động

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

ST
Viết tắt Tên Hàm phân phối
T

Phân phối
1 M

Phân phối
2 Ek
Erlang

k
f (t )   q j (1  e
 jt
)
j 1
Phân phối
3 Hk
siêu bội
Trong đó: μj >0, qj>0, j∈{1..k},
ST
Viết tắt Tên Hàm phân phối
T

Phân phối
5 G
hình học

Phân phối
6
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 với tham số có phân phối

, 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;
- n là số yêu cầu xuất hiện trong khoảng thời gian quan sát τ;
- là số yêu cầu trung bình xuất hiện trong từng 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
khác, số yêu cầu xuất hiện trước và sau thời điểm nào đó không chịu ảnh hưởng qua
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
là . 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
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 Ký Mô tả
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. Ws 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
Sn=Wq+ � n
6. Hàm phân phối xác suất thời gian giữa hai khách hàng liên
An(t) tiếp

( An(t)=P[tn≤t] )
7. B(�) Phân phối thời gian phục vụ
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. Lq Số khách hàng trong hàng đợi


12. T Tổng thời gian phục vụ của toàn bộ hệ thống
13. Hệ số sử dụng hệ thống

14. pK xác suất có K khách hàng trong hệ thống

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 Số Phân Phân phối Kích Nguyên


phục vụ bước phối tín thời gian thước tắc phục
phục hiệu đến phục vụ của dòng vụ
vụ đến
Hệ thống đơn 1 1 Luật Luật phân Không FIFO
hàng M/M/1 phân phối phối mũ giới hạn

Hệ thống đa hàng c (c>1) 1 Possion Luật phân Không FIFO
M/M/c phối mũ giới hạn
Hệ thống hàng 1 1 Possion Luật phân Không FIFO
đợi có thời gian phối mũ giới hạn
phục vụ chính
xác (M/D/1)
Hệ thống hàng c(c>1) c Possion Luật phân Giới hạn FIFO
đợi M/M/c/K 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:

Hàng đợi
Input Output
(queue)
K-1 vị trí FCFS
Server

W thời gian
đợi Hình
Hình1.1.3- -Mô
Môhình
hìnhhàng
hàngđợi
đợiM/M/1
M/M/1
b) Đo hiệu suất hàng đợi M/M/1

Hình 1. 4 - Sơ đồ chuyển trạng thái của 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ợ.

a) Đặc điểm:

Server 1
Hàng đợi
Input (queue) Server 2 Output
FCFS

W thời gian
Server c
đợi
Hình 1. 5- Mô hình hàng đợi M/M/c
- 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. 6 - 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á

trị [3 tr.61] luôn luôn nhỏ hơn các thông số tương tự ở mô hình
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

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 1
Hàng đợi
Input (queue) Server 2 Output
FCFS

W thời gian
Server c
đợi
Hình 1. 7- Mô hình hàng đơi M/M/c/K
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

Tốc độ đến và tốc độ phục vụ của của trạng thái i được xác định là i và i

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. 8 - 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

1.5 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.

1.6 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.

1.7 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.

1.7.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.

- Hơn 20 phân phối xác suất tích hợp

- 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.

Đị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

1.7.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.

1.7.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.

1.7.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.
1.7.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.

1.7.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.

1.7.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.

1.7.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.

1.7.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ý.
1.7.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.
1.7.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

1.7.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.
1.7.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.

1.7.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ể


1.7.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.
1.7.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.
1.7.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


1.7.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:

1.7.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


Label GENERATE A: thời gian trung bình xuất hiện sinh ra các giao tác tương
A, B, C, D, E một giao tác. lai đi vào mô phỏng.
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
TERMINATE A A: là lượng giảm của Hủy một giao tác
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 Để giữ các giao tác lại
(bắt buộc) trong một khoảng thời
B: tùy chọn thời gian khoảng gian nào đó, tức là mô
biến thiên giao độ (không bắt phỏng khoảng thời gian
buộc) phục vụ các yêu cầu

ASSIGN A,B,C A: số hiệu tham số của giao tác Khi một giao tác nhập vào
hoạt động (Active Transaction) một khối ASSIGN, giá trị
B: giá trị của tham số định nghĩa
trong A được thiết lập
C: số hiệu hàm 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
tham số của hàm tùy
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ũ.
Đoạn codes GPSS được giới hạn bởi cặp Blocks GENERATE – TERMINATE gọi là
một segment.
Hình 2. 2- Một segment điển hình [6]

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.

1.7.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


Giao tác đang chờ
được giải phóng
SEIZE A A: là mã hoặc tên của “thiết bị”
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ị.
D: tham số của giao tác đã chiếm giữ thiết bị, Đưa thiết bị ở trạng
PREEMPT
nếu giao tác chiếm giữ thiết bị được lấy từ thái đang bị giao tác
A,B,C,D,E
FEC thì D ghi nhận thời gian còn lại trong sở hữu.
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.
Giải phóng sở hữu
RELEASE A A: là mã hoặc tên của “thiết bị” thiết bị của một giao
tác
Đưa một “thiết bị”
có tên hoặc số hiệu
FAVAIL A A: là mã hoặc tên của “thiết bị” trong toán hạng A,
về trạng thái sẵn
sàng phục vụ
Đưa một thiết bị có
tên hoặc mã trong
FUNAVAIL A A: là mã hoặc tên của “thiết bị”
toán hạng A, về
trạng thái rảnh
1.7.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 Cập nhật số liệu thống kê thực
tạo thể hàng đợi (queue) để phản
QUEUE A,B B: số đơn vị mà theo đó tăng nội ánh sự gia tăng trong nội dung
dung của thực thể hàng đợi, giá trị của hàng đợi.
mặc định là 1
A: tên hoặc số hiệu thực thể QUEUE Cập nhật số liệu thống kê thực
B: số đơn vị mà theo đó giảm số thể hàng đợi (QUEUE) khi
DEPART A,B lượng của thực thể hàng đợi, giá trị giảm số lượng theo giá trị qui
mặc định là 1 định trong B
1.7.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 có thể nhận một trong các nhảy tới một vị trí khối mới.
giá trị BOTH, ALL, - A là BOTH thì khối được chỉ định trong
PICK, FN, P, SBR, SIM, B được kiểm tra. Nếu nó từ chối giao tác
fraction, Name, hoạt động đăng nhập thì khối được chỉ
PosInteger,…(tùy chọn) định trong C được kiểm tra. Khối đầu tiên
B: số hiệu hoặc vị trí cho phép giao tác nhập vào sẽ là đích mới.
khối. Số hoặc tên tham số Nếu không khối nào cho phép giao tác
khi A nhận giá trị là P (tùy nhập vào thì nó sẽ ở lại khối TRANSFER
chọn) cho đến khi nó nhập vào được một khối.
C: vị trí hoặc số hiệu - A là PICK đích mới sẽ được lựa chọn
khối. Giá trị tăng trong ngẫu nhiên trong khoảng B và C
trường hợp A là FN hoặc - Nếu A là P, Active Transaction sẽ nhảy
P đến một vị trí đã tính toán từ tổng giá trị
D: sự tăng số hiệu khối của tham số và toán hạng C. Nếu C không
trong trường hợp A là được chỉ định thì giá trị của tham số là vị
ALL 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

O: phép toán quan hệ, có So sánh các giá trị, đích của giao tác hoạt
thể nhận một trong các động dựa trên kết quả của việc so sánh.
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
1.7.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).
1.7.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.
Đây là một ví dụ mô phỏng đơn giả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

GENERATE mô tả việc “yêu cầu” xuất hiện trong hệ thống.


QUEUE diễn tả việc “yêu cầu” (sự kiện) đi vào hàng đợi
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ụ
DEPART biểu diễn hành vi “yêu cầu” được ra khỏi hàng đợi
ADVANCE mô tả việc “yêu cầu” được phục vụ ở kênh phục vụ (máy phục vụ).
RELEASE giải phóng kênh phục vụ
TERMINAT “yêu cầu” được giải phóng khỏi hệ thống.
E
Một chương trình mô phỏng trong GPSS World sẽ có dạng như hình 2.5
1.8 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
yêu cầu ra khỏi hàng đợi để phục vụ như hình 2.4.

Hình 2. 4- Cách lấy yêu cầu của hàng đợi Priority Queueing

- 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ớ.
1.9 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Ị
1.10 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ũ.

1.11 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.

1.11.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.
1.11.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
đơi trong gian quan sát chỉ phụ thuộc vào độ lớn của chứ không phụ thuộc vào vị

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:

Thời gian phục vụ trung bình:

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):


=0.0000

Số xe trung bình trong hệ thống là:

74.36765 (Khách hàng)

Thời gian trung bình khách hàng ở trong hàng đợi:

Số xe trong hàng đợi phục vụ là:

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 đỗ.
Xác suất số khách hàng trong hệ thống được hiển thị trong hình

Hình 3. 1- Đồ thị sác xuất số khách hàng trong hệ thống


1.11.3 Mô phỏng bài toán bằng công cụ mô phỏng
1.11.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. Là thực thể lưu kích thước
Thực thể lưu trữ 1
bãi đỗ xe.

1.11.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

1.11.3.3 Kết luận thu được sau mô phỏng


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:
Bảng 3. 1- Kết quả mô phỏng với thời gian 8h

Tính toán
theo lý Tính toán
Một số yếu tố cần so sánh thuyết 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%


Lượng xe ô tô đã rời khỏi bãi khi thời Không xác
gian mô phỏng kết thúc định 503

Số xe ô tô vẫn ở bãi xe khi thời gian Không xác


mô phỏng kết thúc đị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.

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:
Bảng 3. 2. Kết quả mô phỏng với thời gian khác nhau

Số giờ 8 16 24 48
Lý Lý Lý Lý
thuyết GPSS thuyết GPSS thuyết GPSS thuyết GPSS
Số xe ô tô
đến siêu thị 576 576 1152 1153 1728 1728 3456 3459
Số xe ô tô
được vào
phục vụ tại
siêu thị 574 572 1152 1153 1728 1694 3456 3459

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ố
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
lệch ngày càng giảm
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ụ

Thời gian Lý thuyết GPSS % sai lệch


8 giờ 574 576 1%
16 giờ 1152 1153 1%
1728 0%
24 giờ 1728
3456 0%
48 giờ 3459
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.
1.12 Bài toán xếp hàng nhiều phase phục vụ
1.12.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
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:


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.
1.12.2 Phân tích bài toán bằng lý thuyết hàng đợi
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)

+ Tổng thời gian khách trong hệ thống là: 3495 (giây) 1 giờ.
+ 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ô

Đơn vị thời gian 8 Giờ


Tốc độ đến (λ) 172.8 khách hàng
Tốc độ phục vụ (μ) 8 khách hàng
Số kênh phục vụ 80 quầy
Thời gian trung bình giữa 2 khách hàng đến 0.006 h
Thời gian phục vụ trung bình 0.125 h
Lưu lượng hệ thống ((λ/μ) 0.27

Hiệu suất trung bình của hệ thống 27.0%


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
Thời gian trung bình của khách hàng trong hệ thống 0.12500 h
(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)
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)
Xác suất có ít nhất 1 quầy trống 100.0% (Tỷ lệ khách
hàng không
phải đợi)

Bảng 3. 5-Bảng kết quả tính toán hàng đợi bãi gửi xe máy

Đơn vị thời gian 8 giờ

Tốc độ đến (λ) 403.2 khách hàng


Tốc độ phục vụ (μ) 8 khách hàng
Số kênh phục vụ 150 quầy
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
Thời gian chờ đợi trung bình của 1 khách hàng (Wq) 0.00000 h
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)
(tỷ lệ khách
hàng phải chờ
Xác suất tất cả các quầy đều bận 0.00% đợi)
(Tỷ lệ khách
hàng không
Xác suất có ít nhất 1 quầy trống 100.0% phải đợi)

Phase 2: Dịch vụ giỏ hàng, xe đẩy

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

Đơn vị thời gian 8 giờ


Tốc độ đến (λ) 46.08 khách hàng
Tốc độ phục vụ (μ) 8 khách hàng
Số kênh phục vụ 50 quầy
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
Lượng khách hàng trung bình trong hệt thống (L) 5.76000 khách hàng
Thời gian chờ đợi trung bình của 1 khách hàng
(Wq) 0.00000 h
Thời gian trung bình của khách hàng trong hệ thống
(W) 0.12500 h
(xác suất hệ
Xác suất không có khách hàng trong hệ thống (P0) 0.00315 thống rảnh)
(tỷ lệ khách
hàng phải chờ
Xác suất tất cả các quầy đều bận 0.00% đợi)
(Tỷ lệ khách
hàng không
Xác suất có ít nhất 1 quầy trống 100.0% phải đợi)
Bảng 3. 7- Kết quả tính toán hàng đợi xe đẩy trong 8h

Đơn vị thời gian 8 giờ


Tốc độ đến (λ) 529.92 khách hàng
Tốc độ phục vụ (μ) 8 khách hàng
Số kênh phục vụ 100 quầy
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
Lượng khách hàng trung bình trong hệt thống (L) 66.24014 khách hàng
Thời gian chờ đợi trung bình của 1 khách hàng
(Wq) 0.00000 h
Thời gian trung bình của khách hàng trong hệ thống
(W) 0.12500 h
(xác suất hệ
Xác suất không có khách hàng trong hệ thống (P0) 0.00000 thống rảnh)
(tỷ lệ khách
hàng phải chờ
Xác suất tất cả các quầy đều bận 0.01% đợi)
(Tỷ lệ khách
hàng không
Xác suất có ít nhất 1 quầy trống 100.0% phải đợi)
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.
1.12.3 Mô phỏng bài toán bằng công cụ mô phỏng
1.12.3.1 Xác định mô hình mô phỏng

Hình 3. 6- Mô hình thuật toán hoạt động của siêu thị

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ú
Gồm các thực thể lưu kích thước bãi đỗ
2.
Thực thể lưu trữ 5 xe, kích thước giỏ hàng, kích thước xe
hàng
3. Gồm: hàng đợi giỏ hàng, hàng đợi xe
Thực thể hàng đợi 7
hàng, 5 hàng đợi của các quầy thanh toán
4.
Thực thể thiết bị 5 Thực thể thiết bị là các quầy thanh toán

5. Gồm các thực thể bảng lưu thời gian hệ


Thực thể bảng 3
thống

1.12.3.2 Mã hóa chương trình mô phỏng


Chương trình mô phỏng được mã hóa với mã nguồn như trong hình 3.6.
; Khởi tạo các biến
RMULT 1187 ; thiết lập bộ sinh số ngẫu nhiên
First EQU 1 ; Thứ tự quầy thu thông thường
Last EQU 4 ;

tbl_time_spent TABLE M1,1000,1000,7 ; Thời gian trong hệ thống


tbl_lsItems TABLE P$ls_items,10,10,10 ; Số sản phẩm được mua
tbl_cust TABLE X$customer,100,50,12; ; Tạo một bảng lưu số khách hàng

s_parkC STORAGE 80 ; Bãi xe ô tô


s_parkM STORAGE 150

s_trolley STORAGE 100 ; số lượng xe đẩy cho phép


s_cart STORAGE 50 ; số giỏ

v_time_work VARIABLE 8#60#60 ; Biến thời gian mô phỏng


v_items VARIABLE (RN1@96+5) ; Biến ngẫu nhiên số lượng hàng
v_pay VARIABLE (RN1@3+1)#40+150 ; Biến lưu hình thức thanh toán tiền thanh toán
v_Cash_time VARIABLE (P$ls_items)#2+120 ; Thời gian thanh toán
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
******************************************
;Mô phỏng hoạt động gửi xe
s_parking TRANSFER .7,,MOTO
TRANSFER both,,Lost
ENTER s_parkC;
ASSIGN transport,1 ;Gán giá trị 1 nếu là Ô tô
TRANSFER ,ChoseCarrier

MOTO TRANSFER both,,Lost


ENTER s_parkM;
ASSIGN transport,2 ;Gán giá trị 2 nếu là xe máy
*****************************************
; Hoạt động di chuyển vào ST và chọn giỏ hàng
ChoseCarrier ADVANCE 60,40 ;thời gian khách hàng di chuyển vào siêu thị

SAVEVALUE customer+,1 ;tăng số lượng người mua hàng lên 1


ASSIGN ls_items,V$v_items ;gán số lượng hàng ngẫu nhiên
ASSIGN pay_method,V$v_pay ; Gán các tham biến cho việc thanh toán tiền
TEST LE P$ls_items,10,Qs_trolley ; Số lượng lớn hơn 10 lấy xe đẩy
GATE SNF s_cart,Qs_trolley ; Kiểm tra số giỏ hàng và xe đẩy còn lại
QUEUE cartQueue ; Hàng đợi của giỏ hàng
ENTER s_cart ; Lấy giỏ hang
DEPART cartQueue
ASSIGN Carrier,s_cart ; Gán vật mang hàng là giỏ hàng
TRANSFER ,Shopping ; chuyển các yêu cầu từ thời điểm khách vào siêu thị
Qs_trolley QUEUE trolleyQueue ; Hàng đợi của xe đẩy
ENTER s_trolley ; lấy xe đẩy
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 ;Thời gian mua hàng
TEST LE P$ls_items,10,Norm ;số hàng nếu lớn hơn 10 thì chuyển đến quầy thông thường
COUNT L v_Condition,First,Last,2,Q ; Kiểm tra quầy thu ngân trống
TEST E P$v_Condition,0,Norm ;Nếu khong co quây trong chuyển sang Nomal
QUEUE Quick ; Lấy các thông tin thống kê hàng đợi của quầy phục vụ
nhanh
SEIZE priorityCash
DEPART Quick ; Giải phóng hàng đợi
ADVANCE V$v_Cash_time ; Lấy thời gian phục vụ ở quầy phục vụ nhanh
RELEASE priorityCash
LEAVE P$Carrier ;Giải phóng xe đẩy/giỏ hàng
TRANSFER ,fin ;chuyển đối tượng đến block FIN
*******************************************
;Quầy thanh toán thông thường
Norm SELECT MIN Basic,First,Last,,Q ; 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

*******************************************
; Mô phỏng hoạt động rời siêu thị
fin TABULATE tbl_time_spent ; đặt thời gian để mô phỏng
TABULATE tbl_lsItems ; Ghi nhận số lượng hàng hóa được mua
SAVEVALUE customer-,1 ; giảm số lượng khách hàng 1 đơn vị
ADVANCE 60,50 ; khách hàng di chuyển đến bãi đậu xe
TEST LE P$transport,1,MOTOLEAVE ; loại xe khách hàng sử dụng
LEAVE s_parkC ; Rời khỏi bãi ô tô
TERMINATE
MOTOLEAVE LEAVE s_parkM ; Rời khỏi bãi xe máy
TERMINATE
lost TERMINATE ; Rời siêu thị
******************************************
; Khối sinh sự kiện khách hàng đến
GENERATE 50,5,,,1
TRANSFER ,s_parking
******************************************
GENERATE V$v_time_work ; xác định thời gian mô phỏng của hệ thống
TABULATE tbl_cust ; Lấy thông tin về số lượng khách đến siêu thị
TERMINATE 1
START 1
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


Thời gian mô phỏng 8h
Số khách hàng đến siêu thị trong thời gian mô phỏng 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
xe máy
Số khách hàng đã vào siêu thị nhưng chưa mua hàng 1
Số yêu cầu và hiệu suất sử dụng giỏ hàng được phục vụ 50 0.022
Số yêu cầu và hiệu suất sử dụng xe đẩy hàng được phục vụ 523 0.657
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.

1.12.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ị:
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).
Bảng 3. 10. Bảng so sánh thời gian thanh toán trung bình

Thời gian mô
phỏng 8 giờ 16 giờ 24 giờ 48 giờ
Quầy 1 209.164 222.136 223.685 227.322
Quầy 2 221.313 227.015 229.445 227.459
Quầy 3 218.119 223.653 225.355 230.095
Quầy 4 220.438 221.985 225.533 227.091
Quầy 5 134.42 134.512 134.574 134.342
Trung bình tính
toán từ mô phỏng 200.6908 205.8602 207.7184 209.2618
Độ lệch 11% 9% 8% 7%
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
Operation in Supermarket Using Queuing Theory," Proceedings of 8th
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)

1. Thời điểm khách hàng đến quầy thanh 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?

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

Khoảng TG Số khách
Khách hàng Thời gian đến của KH trong hàng Thời điểm Thời gian
thứ đến tiếp theo đợi rời dịch vụ phục vụ
1 16:50:00 0:00:00 2 16:51:00 0:01:00
2 16:51:00 0:01:00 3 16:53:3 0:02:30
3 16:53:00 0:02:00 3 16:55:0 0:02:00
4 16:54:00 0:01:00 4 16:55:0 0:01:00
5 16:55:00 0:01:00 3 16:56:0 0:01:00
6 16:55:00 0:00:00 2 16:56:0 0:01:00
7 16:56:00 0:01:00 1 16:56:4 0:00:45
8 16:56:00 0:00:00 1 16:57:0 0:01:00
9 16:57:00 0:01:00 0 16:59:1 0:02:10
10 16:58:00 0:01:00 2 16:59:0 0:01:00
11 16:59:10 0:01:10 1 16:59:4 0:00:30
12 17:00:00 0:00:50 0 17:01:0 0:01:00
13 17:01:00 0:01:00 0 17:03:0 0:02:00
14 17:03:00 0:02:00 1 17:03:3 0:00:30
15 17:03:00 0:00:00 3 17:03:4 0:00:40
16 17:03:30 0:00:30 2 17:04:0 0:00:30
17 17:04:00 0:00:30 1 17:05:0 0:01:00
18 17:04:00 0:00:00 0 17:05:0 0:01:00
19 17:05:00 0:01:00 0 17:06:0 0:01:00
20 17:07:00 0:02:0 0 17:17:00
21 17:07:00 0:00:00 0 17:09:0 0:02:00
22 17:09:00 0:02:00 1 17:10:0 0:01:00
23 17:10:00 0:01:00 2 17:11:0 0:01:00
24 17:11:00 0:01:00 1 17:12:0 0:01:00
25 17:12:00 0:01:00 2 17:12:5 0:00:50
26 17:12:50 0:00:50 2 17:14:0 0:01:10
27 17:14:00 0:01:10 3 17:14:3 0:00:30
28 17:14:30 0:00:30 3 17:15:0 0:00:30
29 17:15:00 0:00:30 4 17:18:0 0:03:00
30 17:15:00 0:00:00 5 17:16:0 0:01:00
31 17:15:00 0:00:00 2 17:16:0 0:01:00
32 17:16:00 0:01:00 0 17:17:0 0:01:00
33 17:17:00 0:01:00 2 17:17:3 0:00:30
34 17:18:00 0:01:00 0 17:18:3 0:00:30
35 17:18:00 0:00:00 1 17:19:0 0:01:00
36 17:19:00 0:01:00 2 17:20:0 0:01:00
37 17:19:00 0:00:00 0 17:19:3 0:00:30
38 17:20:00 0:01:00 2 17:21:0 0:01:00
39 17:20:00 0:00:00 2 17:21:0 0:01:00
40 17:21:00 0:01:00 2 17:21:4 0:00:40
41 17:21:00 0:00:00 0 17:21:3 0:00:30
42 17:21:00 0:00:00 0 17:23:0 0:02:00
43 17:21:40 0:00:40 1 17:23:0 0:01:20
44 17:23:00 0:01:20 1 17:23:3 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

You might also like