Tải bản đầy đủ (.pdf) (75 trang)

Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.41 MB, 75 trang )

Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LÊ VĂN ÚY

NGHIÊN CỨU VÀ SỬ DỤNG CÔNG CỤ GPSS
TRONG BÀI TOÁN MÔ PHỎNG HÀNG ĐỢI

Chuyên ngành : Kỹ thuật Máy tình và Truyền thông

LUẬN VĂN THẠC SĨ KỸ THUẬT
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG

NGƢỜI HƢỚNG DẪN KHOA HỌC:
TS. LÃ THẾ VINH

Hà Nội – Năm 2015

1


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Lời cảm ơn
Đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc nhất tới Tiến sĩ Lã Thế Vinh đã
tận tình hƣớng dẫn em trong suốt quá trình thực hiện luận văn này.
Em xin chân thành cảm ơn các giảng viên Viện Công Nghệ Thông Tin và
Truyền Thông, Đại học Bách Khoa Hà Nội đã giúp đỡ giảng dạy và tạo những điều


kiện tốt nhất để em học tập và nghiên cứu chƣơng trình Sau Đại học tại đây.
Em xin chân thành cảm ơn.

Học viên

Lê Văn Úy

2


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Tóm tắt nội dung
Lý thuyết hệ thống phục vụ đám đông, hay lý thuyết hàng đợi (Queueing
theory) – nghiên cứu các đặc điểm đặc trƣng và xác định các tính chất của hệ thống
đƣợc thiết lập bởi các yêu cầu [1], với mục tiêu tìm ra cách phục vụ tối ƣu nhất.
Các hệ thống này thƣờng là những mô hình của các hệ thống phục vụ đám đông có
trong thực tế nhƣ: mạng máy tính, mạng điện thoại, dây chuyền sản xuất, phi
trƣờng, bãi đậu xe,…Phƣơng pháp mô phỏng cho phép chúng ta tìm hiểu về chúng
một cách tốt nhất.
Luận văn này tập trung nghiên cứu, tổng hợp, làm rõ cơ sở lý thuyết cho hệ
thống phục vụ đám đông và sử dụng công cụ mô phỏng GPSS World vào bài toán
cụ thể. Luận văn trình bày các khái niệm, đặc điểm của ngôn ngữ mô phỏng GPSS,
đƣa ra các bƣớc xây dựng bài toán mô phỏng hệ thống phục vụ đám đông trên ngôn
ngữ GPSS khi biết đƣợc các thông tin đầu vào. Từ bài toán cụ thể, luận văn này đã
làm các phân tích, tính toán, tiến hành mô phỏng và đánh giá kết quả thu đƣợc.

3



Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Lời cam kết
Tôi xin cam đoan luận văn này là do tôi thực hiện đƣợc hoàn thành trên cơ sở
tìm kiếm, thu thập, nghiên cứu, tổng hợp phần lý thuyết và các phƣơng pháp kĩ
thuật đƣợc trình bày bằng văn bản trong nƣớc và trên thế giới. Các tài liệu tham
khảo đều đƣợc nêu ở phần cuối của luận văn. Luận văn này 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 chịu mọi trách nhiệm.

4


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

MỤC LỤC
LỜI CẢM ƠN ............................................................................................................2
TÓM TẮT NỘI DUNG .............................................................................................3
LỜI CAM KẾT .........................................................................................................4
MỤC LỤC ..................................................................................................................5
DANH SÁCH CÁC HÌNH VẼ .................................................................................8
DANH SÁCH CÁC BẢNG BIỂU ............................................................................9
MỞ ĐẦU ..................................................................................................................10
CHƢƠNG 1: CƠ SỞ LÝ THUYẾT VỀ HỆ THỐNG HÀNG ĐỢI ...................12
1.1 MÔ TẢ VỀ HỆ THỐNG HÀNG ĐỢI .......................................................................12
1.1.1 Mô hình hóa một hệ thống hàng đợi ........................................................13
1.1.2 Quan điểm về hiệu suất của hệ thống hàng đợi .......................................14
1.1.3 Công thức Little........................................................................................15
1.1.4 Hệ thống hàng đợi theo cách viết của Kendall và các phân phối liên quan
...........................................................................................................................16

1.2 CÁC YẾU TỐ CỦA HỆ THỐNG PHỤC VỤ .............................................................17
1.2.1 Dòng yêu cầu đầu vào ..............................................................................17
1.2.2 Hàng đợi ...................................................................................................19
1.2.3 Kênh phục vụ ............................................................................................19
1.2.4 Dòng yêu cầu đầu ra ................................................................................20
1.2.5 Các quy luật hoạt động của hệ thống phục vụ .........................................20
1.3 TRẠNG THÁI CỦA HỆ THỐNG PHỤC VỤ .............................................................21
1.3.1 Quá trình Markov .....................................................................................21
1.3.2 Định nghĩa về trạng thái của hệ thống phục vụ .......................................23
1.3.3 Quá trình thay đổi trạng thái của hệ thống phục vụ ................................23
1.4 MỘT SỐ KẾT QUẢ TỔNG HỢP VỀ HỆ THỐNG HÀNG ĐỢI KINH ĐIỂN M/M/1 .......26
KẾT LUẬN ..............................................................................................................27
CHƢƠNG 2: GIỚI THIỆU NGÔN NGỮ MÔ PHỎNG GPSS (GENERAL
PURPOSE SIMULATION SYSTEM) ..................................................................29
2.1 GIỚI THIỆU VỀ NGÔN NGỮ GPSS ....................................................................29
2.2 SỰ RA ĐỜI CỦA NGÔN NGỮ GPSS ....................................................................29
2.3 NHỮNG ƢU ĐIỂM CỦA NGÔN NGỮ GPSS..........................................................30
5


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

2.4 CÁC ỨNG DỤNG CỦA CÔNG CỤ MÔ PHỎNG GPSS WORLD ...............................31
KẾT LUẬN ..............................................................................................................32
CHƢƠNG 3: TÌM HIỂU VỀ NGÔN NGỮ GPSS VÀ CÔNG CỤ MÔ PHỎNG
GPSS WORLD ........................................................................................................33
3.1 CẤU TRÚC LỆNH CỦA GPSS KHI LẬP TRÌNH.....................................................33
3.2 CÁC ĐỐI TƢỢNG TRONG GPSS.........................................................................34
3.3 CÁC BLOCK CƠ BẢN TRONG GPSS ...................................................................36
3.3.1 Transactions .............................................................................................36

3.3.2 Bộ lập lịch cho Transaction .....................................................................39
3.3.3 Các block làm việc với Transactions .......................................................40
3.3.4 Facilities ...................................................................................................41
3.3.5 Queue .......................................................................................................41
3.3.6 Các Blocks dùng để điều khiển dịch chuyển của Transactions ...............42
3.3.7 Các phân phối xác suất dựng sẵn (Built-in Probability Distributions) ...42
3.4 CÁC BƢỚC PHÂN TÍCH VÀ MÔ PHỎNG BÀI TOÁN TRÊN GPSS WORLD .............43
KẾT LUẬN ..............................................................................................................44
CHƢƠNG 4: ÁP DỤNG NGÔN NGỮ MÔ PHỎNG VÀO BÀI TOÁN THỰC
TẾ..............................................................................................................................45
4.1 BÀI TOÁN ĐÁNH GIÁ HOẠT ĐỘNG TẠI MỘT ĐƠN VỊ XỬ LÝ THÔNG TIN .............45
4.1.1 Phân tích bài toán ....................................................................................45
4.1.1.1 Phân tích các biến trong bài toán ......................................................45
4.1.1.2 Mô hình luồng thông tin đi vào hệ thống ..........................................46
4.1.2 Lưu đồ giải thuật ......................................................................................47
4.1.3 Viết chương trình và chạy kết quả ...........................................................49
4.1.4 Đánh giá kết quả ......................................................................................51
4.2 BÀI TOÁN HOẠT ĐỘNG CỦA PHÒNG MÁY THỰC HÀNH .....................................54
4.2.1 Phân tích bài toán ...................................................................................54
4.2.2 Giải bài toán ............................................................................................57
4.2.3 Mô hình GPSS World ...............................................................................58
KẾT LUẬN CHUNG ..............................................................................................74
TÀI LIỆU THAM KHẢO ......................................................................................75

6


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Bảng các ký hiệu và chữ viết tắt

Ký hiệu

Tiếng Anh

Giải thích theo tiếng Việt

CEC

Current Event Chain

Chuỗi sự kiện hiện tại

GPSS

General Purpose Simulation
System

Ngôn ngữ mô phỏng hệ thống GPSS

GPSS/PC

General Purpose Simulation
System/Personal Computer

Môi trƣờng lập trình cho ngôn ngữ
GPSS

FEC

Future Event Chain


Chuỗi sự kiện tƣơng lai

7


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Danh sách các hình vẽ
Hình 1.1: Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông. 12
Hình 1.2: Mô hình hóa các yếu tố của một hệ thống hàng đợi .................................13
Hình 1.3: Mô tả sự chuyển trạng thái của chuỗi Markov .........................................25
Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ .....................................................25
Hình 1.5: Minh họa hoạt động của hệ M/M/1 ..........................................................26
Hình 2.1: Minh họa cửa sổ làm việc của GPSS World .............................................30
Hình 3.1: Một hệ phục vụ đám đông đơn giản .........................................................43
Hình 3.2: Minh họa mô hình của hệ phục vụ đám đông đơn kênh hở ......................44
Hình 4.1: Tổ chức luồng thông tin ............................................................................46
Hình 4.2: Cấu trúc mô hình phân tích ......................................................................46
Hình 4.3: Lưu đồ giải thuật.......................................................................................48
Hình 4.4: Đánh giá hiệu suất của các bộ phận A, B, C với tối đa 400 thông tin đầu
vào, lấy mẫu cách nhau 10 thông tin ........................................................................53
Hình 4.5: Đánh giá hiệu suất của A, B, C với tối đa 1600 thông tin đầu vào, .........53
Hình 4.6: Điều kiện bài toán .....................................................................................55
Hình 4.7: Cấu trúc mô hình phân tích ......................................................................55
Hình 4.8: Thuật toán hoạt động của mô hình mô phỏng ..........................................56

8



Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Danh sách các bảng biểu
Bảng 1: Các yếu tố cấu thành một hệ thống phục vụ đám đông ..............................12
Bảng 2: Các tham số đặc trưng trong hệ thống hàng đợi ........................................14
Bảng 3: Các yếu tố theo quy tắc Kendall khi mô tả về hàng đợi ..............................16
Bảng 4: Các phân phối xác suất liên quan đến A và B trong mô tả Kendall ...........16
Bảng 5: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi ................21
Bảng 6: Các tham số của lệnh GENERATE .............................................................40
Bảng 7: Báo cáo thông kê kết quả hoạt động của phòng xử lý thông tin .................51
Bảng 8: So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với T =
480phút ......................................................................................................................65
Bảng 9: So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với T =
3360 phút ...................................................................................................................72
Bảng 10: So sánh hệ số tải của máy tính ..................................................................73

9


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Mở đầu
Ngày nay, khoa học và công nghệ đƣợc ứng dụng vào các hoạt động trong
đời sống, xã hội rất nhiều. Trong đó, chúng ta gặp nhiều hệ thống đƣợc xây dựng
lên dựa vào các yêu cầu đầu vào. Cụ thể: thông tin đầu vào là các thời điểm xuất
hiện, chúng đƣợc coi nhƣ một đại lƣợng ngẫu nhiên. Các yêu cầu đƣợc đặc tả bởi
khối lƣợng các công việc cần phải làm để đáp ứng cho thông tin đầu vào, thứ tự ƣu
tiên các công việc đó (trƣớc, sau), thời gian hoàn thành một phần công việc và toàn
bộ công việc. Đó là những hệ thống nhƣ: mạng điện thoại, mạng máy tính, bãi đậu
xe, phi trƣờng... Các hệ thống này đƣợc gọi là hệ thống phục vụ đám đông (hay hệ

thống hàng đợi) [1,2,7].
Trên thực tế, các hệ phục vụ đám đông có đặc thù phức tạp, và việc tƣ vấn
cho các nhà quản lý, nhà hoạch định chính sách về các hệ này là hết sức cần thiết
sao cho khi hệ thống đƣợc đƣa vào sử dụng phải đạt hiệu suất cao nhất có thể. Nên
chúng ta phải tính toán, thiết lập thật rõ ràng, kỹ lƣỡng các đặc tả về chúng sát với
thực tiễn nhất trong điều kiện cho phép.
Chúng ta cần xây dựng mô hình toán học cho từng hệ thống; mô tả quá trình
làm việc của các thành phần trong hệ thống; sự tƣơng tác qua lại giữa chúng theo
thời gian, và trong không gian để giảm chi phí tối đa cho các hoạt động đặc tả hệ
thống. Vấn đề ở đây là: Cần có sự đơn giản hóa nhưng chính xác các đặc điểm của
hệ thống phục vụ đám đông dưới dạng mô hình. Dùng phương pháp luận nào,
phương pháp nào? Xem xét phương án nào là khả thi nhất, tối ưu nhất?...
Để giải bài toán trên nhƣ, chúng ta có thể: tìm kiếm và giải quyết bằng các
mô hình toán học, dùng tìm ra các giải thuật và dùng các ngôn ngữ lập trình (C++,
Pascal…), mô phỏng bằng các công cụ mô phỏng (Java, Matlab, P/T Net…) Mô
phỏng hệ thống bằng cách sử dụng các ngôn ngữ lập trình truyền thống là khá phức
tạp, khó khăn vì khi lập trình, chúng ta phải quản lý các sự kiện theo một mô hình
nhiều sự kiện xảy ra; đồng thời với việc xây dựng các hàm sinh ngẫu nhiên các sự
kiện. Chính vì vậy đã xuất hiện các ngôn ngữ mô phỏng chuyên dụng.
Ngôn ngữ lập trình GPSS (General Purpose Simulation System) [4], 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 phục vụ đám đông . Các đối tƣợng của ngôn ngữ
10


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

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 phục vụ
đám đông; nhƣ là các yêu cầu, các thiết bị phục vụ, hàng đợ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 trong khi đảm bảo
những thuật ngữ thông thƣờng của hệ thống phục vụ đám đông.
Vấn đề nghiên cứu và ứng dụng ngôn ngữ mô phỏng GPSS rất phổ biến và
phát triển tại Liên bang Nga cũng nhƣ một số quốc gia khác. Tuy nhiên, ở Việt Nam
ta, vấn đề này còn khá mới. Trên cơ sở các nghiên cứu đã có, luận văn giới thiệu ví
dụ thực tế: đánh giá hoạt động tại một đơn vị xử lý thông tin và hoạt động của
phòng máy thực hành nơi tôi làm việc. Bài toán sử dụng luồng thông tin đầu vào là
các đại lƣợng ngẫu nhiên và không có sự ƣu tiên.
Luận văn gồm các chƣơng với nội dung đƣợc mô tả sơ bộ dƣới đây:
Chƣơng 1. Cơ sở lý thuyết về hệ thống hàng đợi: đƣa ra cơ sở lý thuyết về hệ thống
hàng đợi, bao gồm: các yếu tố của hệ thống phục vụ (dòng vào, dòng ra, hàng chờ,
kênh phục vụ), các quá trình Markov và trạng thái của hệ thống. Với sự phát triển
của khoa học máy tính, phƣơng pháp mô phỏng chứng tỏ những khả năng tốt cho
việc giải bài toán hàng đợi, ngoài phƣơng pháp toán học thuần túy mà chúng ta có
thể tìm ra lời giải của bài toán hàng đợi khi dựa vào hệ phƣơng trình trạng thái với
các điều kiện ban đầu.
Chƣơng 2. Giới thiệu ngôn ngữ mô phỏng GPSS (General Purpose Simulation
System): Phần này giới thiệu sơ lƣợc về ngôn ngữ GPSS, một ngôn ngữ mô phỏng
chuyên dụng với các khái niệm, đặc trƣng.
Chƣơng 3. Tìm hiểu về ngôn ngữ GPSS và công cụ GPSS World: Chƣơng này đề
cập cụ thể, chi tiết về cấu trúc của một thao tác lệnh, các đối tƣợng và các khối
(block) cơ bản trong GPSS. Đồng thời, chƣơng 3 trình bày các bƣớc tiến hành mô
phỏng một bài toán hàng đợi khi sử dụng phƣơng pháp mô phỏng qua công cụ
GPSS World.
Chƣơng 4. Áp dụng ngôn ngữ GPSS vào bài toán thực tế: đánh giá hoạt động tại
một đơn vị xử lý thông tin, và hoạt động của phòng máy thực hành nơi tôi làm việc.
Qua đó, chúng ta thấy đƣợc một phần nào đó hiệu quả hoạt động của hai đối tƣợng
mà chúng ta khảo sát.
Phần kết luận: tóm lƣợc nội dung chính của luận văn và nêu định hƣớng phát triển
trong thời gian tới.

11


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Chƣơng 1: Cơ sở lý thuyết về hệ thống hàng đợi
Chƣơng này tập trung vào tìm hiểu cơ sở lý thuyết về hệ thống hàng đợi: các
đặc điểm của hệ thống, các yếu tố của hệ thống gồm có dòng yêu cầu đầu vào, hàng
chờ, kênh phục vụ, dòng yêu cầu đầu ra, các thông số mô tả về hệ thống… và tìm
hiểu về quá trình Markov và trạng thái của hệ thống phục vụ…
1.1 Mô tả về hệ thống hàng đợi
Chúng ta làm quen với một ví dụ về hệ thống hàng đợi [2, 7, 10] (hay còn gọi
là hệ thống phục vụ đám đông) nhƣ hình vẽ 1.1:

Hình 1.1: Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông.
Trong mô hình này, chúng ta quan sát thấy có yếu tố khách đến, khách bỏ đi
(do không có thời gian chờ đợi, hoặc các lý do khác), khách xếp hàng chờ tới lƣợt
mình đƣợc phục vụ, các máy phục vụ, và khách hàng đã đƣợc phục vụ xong, rời
khỏi hệ thống phục vụ trên.
Các yếu tố này có thể tóm lƣợc sơ bộ gồm các thành phần trong bảng 1:
Bảng 1: Các yếu tố cấu thành một hệ thống phục vụ đám đông
STT Tên yếu tố
Giải thích
1

Dòng các yêu cầu
đầu vào

Khách hàng gọi điện thoại đến một tổng đài giải đáp (Call
Center), các xe ô tô đi vào bãi đậu xe, các máy bay hạ cánh


12


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

xuống một phi trƣờng…
2

Hệ thống phục vụ

Là các máy phục vụ nhằm đáp ứng yêu cầu ứng với từng
loại đầu vào cụ thể ở trên, trong hệ thống phục vụ có hàng
chờ, tại đó, khách hàng xếp hàng chờ đến lƣợt mình đƣợc
phục vụ. Hệ thống phục vụ có các máy phục vụ và chúng
hoạt động theo những quy luật, nguyên tắc phục vụ nào?

3

Các máy phục vụ

Các máy điện thoại bàn và nhân viên trong một Call
Center, đƣờng băng tại sân bay, vị trí trong bãi đậu xe…

4

Dòng các yêu cầu
đầu ra

Là các yêu cầu đã đƣợc phục vụ sau khi đi ra khỏi hệ thống

phục vụ ở trên

Về bản chất, khi xuất hiện các yêu cầu vƣợt quá khả năng đáp ứng của một
dịch vụ nào đó tại một thời điểm nào đó, hàng đợi sẽ xuất hiện.
Sự chờ đợi (nhanh hay chậm để đƣợc đáp ứng yêu cầu) phụ thuộc mạnh vào
số lƣợng kênh phục vụ của hệ thống, cũng nhƣ quy tắc phục vụ của hệ thống.
1.1.1 Mô hình hóa một hệ thống hàng đợi
Chúng ta có thể mô hình đơn giản cho một hệ thống hàng đợi trong hình 1.2 :

Hình 1.2: Mô hình hóa các yếu tố của một hệ thống hàng đợi

13


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Các thông số mô tả liên quan đến hệ thống hàng đợi gồm có:

STT

Bảng 2: Các tham số đặc trưng trong hệ thống hàng đợi
Ký hiệu
Nội dung
Số khách hàng ở trong hệ thống tại thời điểm t.

1

N(t)

2


λ

Dòng yêu cầu đầu vào, đặc trƣng bởi tốc độ đến (arrival rate) của
khách hàng

3

µ

Dòng yêu cầu đầu ra, là các yêu cầu đã đƣợc và không đƣợc
phục vụ, đặc trƣng bởi tốc độ tối đa phục vụ. Lƣu ý: λ < µ

4

Nq(t)

Hàng chờ, đặc trƣng bởi số lƣợng khe để phục vụ cho xếp hàng

5

Wi

6

Ns(t)

7

τi


Thời gian phục vụ với khách hàng thứ i

8

τ

Thời gian phục vụ trên tất cả các máy phục vụ

9

T

Tổng thời gian phục vụ của toàn bộ hệ thống

Thời gian xếp hàng của khách hàng thứ i trong hàng chờ
Kênh phục vụ và các cách phục vụ, đặc trƣng bởi số lƣợng kênh,
cụ thể có c kênh, cũng có nghĩa là đang có c khách hàng đang đƣợc
phục vụ

Có nhiều nguyên tắc phục vụ, hoặc nguyên tắc xếp hàng. Chúng ta lấy ví dụ
đơn giản nhất khi xếp hàng là: Ai đến trƣớc phục vụ trƣớc – First In, First Out. Khi
đó, Tổng thời gian trễ Ti của khách hàng thứ i sẽ là tổng của thời gian xếp hàng Wi
và thời gian phục vụ τi. Chúng ta có:
Ti = Wi + τi

(1.1)

1.1.2 Quan điểm về hiệu suất của hệ thống hàng đợi
Có hai quan điểm về vấn đề này [2]


14


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Nếu nhìn ở góc độ khách hàng, chúng ta đã biết tốc độ đến (arrival rate) là λ,
và khách hàng đƣợc phục vụ, với tốc độ phục vụ là λs. Khi đó chúng ta sẽ tính hiệu
suất hệ thống chính là tốc độ phục vụ chia cho tốc độ đến hệ thống:
η1 = λs/ λ

(1.2)

Nếu nhìn ở góc độ phân bố tài nguyên trong hệ thống, hiệu suất hệ thống tính
theo hiệu của tốc độ đến và tốc độ bỏ đi:
Khi đó hiệu suất hệ thống là một hàm số của N(t) và Nq(t):
η2 = λ - λb = f(N(t), Nq(t))

(1.3)

1.1.3 Công thức Little
Thời gian phục vụ là một đại lƣợng ngẫu nhiên, chúng ta khó có thể đo đƣợc.
Tuy nhiên, nhìn tổng thể, thời gian phục vụ trung bình là một yếu tố rất quan trọng,
đem lại nhiều ý nghĩa để đánh giá hiệu suất hoạt động của hệ thống hàng đợi.
Công thức Litte phát biểu rằng:
Hệ thống hàng đợi đạt được trạng thái dừng khi mà
Số lượng trung bình các khách hàng trong hệ thống bằng Tốc độ đến trung bình
nhân với Thời gian phục vụ trung bình trong hệ thống hàng đợi đó.

E[N(t)] = λtb E[T]


(1.4)

Khi đó, chúng ta suy ra các hệ quả sau:
- Số lƣợng trung bình khách hàng chờ đợi tại thời điểm t
E[Nq(t)] = λtb E[W]

(1.5)

- Số lƣợng trung bình khách hàng đƣợc phục vụ tại thời điểm t
E[Ns(t)] = λtb E[τ]
( đây là xác suất trạng thái dừng của hệ thống khi có khách hàng)
- Hiệu suất sử dụng (hay hệ số tải) của một hệ phục vụ có c máy
phục vụ:

15

(1.6)


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

ρ = λtb E[τ]/ c

(1.7)

1.1.4 Hệ thống hàng đợi theo cách viết của Kendall và các phân phối liên quan
Theo Kendall [3,8,9], mô tả ngắn gọn về hệ thống hàng đợi có dạng nhƣ sau:
A/B/m/K


(1.8)

Các ký hiệu trong mô tả Kendall đƣợc trình bày trong bảng 3:

Bảng 3: Các yếu tố theo quy tắc Kendall khi mô tả về hàng đợi
Ý nghĩa

STT

Ký hiệu

1

A

Phân phối xác suất của thời gian đến

2

B

Phân phối xác suất của thời gian phục vụ.

3

m

Số lƣợng máy phục vụ.

4


K

Dung lƣợng của hệ thống, là số khách hàng lớn nhất có mặt mà hệ thống
phục vụ đƣợc, có tính đến cả khách hàng đang chờ

Chi tiết hơn, với ký hiệu X là biến ngẫu nhiên của phân phối xác suất và E[X]
là kỳ vọng , hoặc giá trị trung bình của X, chúng ta nói về các phân phối xác suất [6,
11] liên quan đến yếu tố A và B trong bảng 4:
Bảng 4: Các phân phối xác suất liên quan đến A và B trong mô tả Kendall
STT Viết
Phân phối
Hàm phân phối
Ghi
tắt
chú
xác suất
1

M

Phân phối mũ, X không
nhớ, E[X]= 1/λ

F x   1  e x , λ là hệ số kỳ
vọng

(1.9)

và x ≥ 0

2

Ek

Phân phối Erlang k pha,
E[X] = k/ λ

e  x ( x ) j
, λ là hệ
j!
j 0

k 1

F x   1  

(1.10)

số kỳ vọng, k là pha, x ≥ 0,
3

Hk

Phân phối siêu lũy thừa,

k

F  x    q j (1  e
j 1


16

 j x

),x

(1.11)


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

k

E[X]   q j / i
j 1

4

D

Phân phối tất định, thời
gian vào và thời gian
phục vụ là hằng số

>0,
và P[X]= qj
F(x) =1, nếu x ≥ a

(1.12)


F(x)= 0, nếu x ˂ a
a là một thời điểm nào đó cố định

5

G

Phân phối tổng quát

6

GI

Phân phối tổng quát với
các thời gian vào hệ
thống hoặc thời gian
phục vụ độc lập nhau.

Đặc trƣng bởi chuỗi Markov hoặc quá
trình Poisson, sẽ trình bày kỹ hơn về
chuỗi này sau

7

PH

Phân phối pha

Đặc trƣng bởi chuỗi Markov, sẽ trình
bày kỹ hơn về chuỗi này sau


1.2 Các yếu tố của hệ thống phục vụ
Các yếu tố của hệ thống phục vụ [1], gồm có: Dòng yêu cầu đầu vào, Hàng
đợi, Kênh phục vụ, dòng yêu cầu đầu ra, và các cách phục vụ (quy luật phục vụ ).
Chúng ta sẽ xét từng yếu tố cụ thể đã liệt kê trong bảng 1
1.2.1 Dòng yêu cầu đầu vào
Dòng yêu cầu đầu vào (gọi tắt là dòng vào) là dòng các yêu cầu đến hệ thống
phục vụ, đòi hỏi đƣợc thỏa mãn một yêu cầu nào đó. Đặc trƣng rõ nét nhất của dòng
vào là tốc độ đến (arrival rate), ký hiệu là λ.
Chúng ta thấy rằng, dòng các yêu cầu đầu vào là một yếu tố xuất hiện ngẫu
nhiên, chúng có thể ít, có thể nhiều tùy theo thời điểm đến, nó có đặc trƣng bởi một
số phân bố xác suất nào đó (xem bảng 4). Trong luận văn này, chúng ta tập trung
xét hai loại dòng yêu cầu đầu vào thông dụng nhất là:
 Dòng vào tiền định, đặc trƣng bởi phân phối tất định D
 Dòng vào Poisson, tuân theo phân phối Poisson
Một số ví dụ về dòng yêu cầu đầu vào: Khách hàng xếp hàng tại quầy thu
ngân trong siêu thị, các xe ô tô chờ xếp hàng vào bãi, các máy bay chờ để cất
cánh…
Dòng vào tiền định
17


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Dòng vào tiền định là dòng vào trong đó các yêu cầu đến hệ thống phục vụ tại
các thời điểm cách đều nhau một khoảng a.
Dòng vào tiền định là một đại lƣợng ngẫu nhiên có hàm phân bố xác suất theo
phân phối D:
F(x) = 1, nếu x ≥ a


(1.13)

F(x) = 0, nếu x < a
Dòng vào Poisson
Dòng vào Poisson là dòng yêu cầu đi đến hệ thống, dòng vào này tuân theo
luật phân phối Poisson với N(t) là số các biến cố xảy ra trong khoảng thời gian [0, t]
N(t) là quá trình ngẫu nhiên liên tục, không giảm theo thời gian.
N(t) có phân phối Poisson có kỳ vọng là λt, và có biểu diễn nhƣ sau:

( t ) k  t
P[ N (t )  k ] 
e
k!
-

(1.14)

Dòng vào Poisson không dừng: Là dòng vào mà xác suất xuất hiện x yêu
cầu trong khoảng thời gian Dt, kể từ thời điểm t, phụ thuộc vào t, nghĩa là:
(1.15)
e  a ( t ,t )
at , t x
x( Dt ) 
!

Trong đó a(t, Dt) là số trung bình các yêu cầu xuất hiện từ t đến Dt.
-

Dòng vào Poisson dừng: Là dòng vào mà xác suất trong khoảng thời gian
Dt, kể từ thời điểm t, có x yêu cầu xuất hiện, không phụ thuộc vào t, nghĩa

là:
(1.16)
e  t
x( Dt ) 
(.t ) x
!





Trong đó, λo là số yêu cầu trung bình xuất hiện trong một đơn vị thời gian
(cƣờng độ dòng yêu cầu). Nói cách khác là mật độ dòng yêu cầu không đổi.
Nếu t là khoảng thời gian giữa lần xuất hiện các yêu cầu liên tiếp, thì t là một
đại lƣợng ngẫu nhiên tuân theo luật chỉ số, nghĩa là t có hàm phân bố xác suất và hàm
mật độ nhƣ sau:

18


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

F t   1  e ot

(1.17)

f t   oe ot

(1.18)


1.2.2 Hàng đợi
Hàng đợi (Queue) là tập hợp các yêu cầu sắp xếp theo một nguyên tắc nào đó
để chờ đợi đến lƣợt đƣợc vào phục vụ trong hệ thống. Trong hàng đợi ta có thể giới
hạn hoặc không giới hạn số lƣợng khách chờ. Phần dƣới đây, chúng ta nói thêm về
các quy luật xếp hàng chờ đợi đến lƣợt phục vụ
1.2.3 Kênh phục vụ
Thực tế, chúng ta thấy ngay một vài ví dụ về một số dạng kênh phục vụ nhƣ:
đƣờng băng sân bay, kênh đƣờng điện thoại, quầy bán vé…
Kênh phục vụ bao gồm con ngƣời cùng với các thiết bị kĩ thuật hoạt động tại
một vị trí nào đó trên bề mặt quả đất hoặc trong không gian. Tùy thuộc vào quy mô,
tính chất, mục tiêu hoạt động của hệ thống mà những nhà hoạch định, nhà quản lý
sẽ thiết lập nhân lực, vật lực, phƣơng tiện, trang thiết bị cho hệ thống đó.
Đặc điểm quan trọng nhất của kênh phục vụ là thời gian phục vụ τi (xem bảng
2). Đó là thời gian mỗi kênh phải tiêu phí để phục vụ một yêu cầu. Nói dễ hiểu là
“Anh tốn bao nhiêu thời gian để phục vụ xong một khách hàng”.
Thời gian phục vụ cũng là một đại lƣợng ngẫu nhiên tuân theo một quy luật
xác suất nào đó bởi nó phụ thuộc rất mạnh vào thời gian đến của các yêu cầu. Các
dòng yêu cầu đƣợc phục vụ trong kênh phục vụ gọi là “dòng phục vụ”.
Khi dòng phục vụ là tối giản thì khoảng thời gian giữa các lần xuất hiện liên
tiếp các yêu cầu là một đại lƣợng ngẫu nhiên tuân theo luật chỉ số, nghĩa là đại
lƣợng ngẫu nhiên có phân bố xác suất và hàm mật độ xác suất giống hệt nhƣ dòng
vào Poisson dừng ở phần trên

F t   1  e  ot

(1.19)

f t   o e  ot

(1.20)


Trong đó: μo là số yêu cầu đƣợc phục vụ trên mỗi kênh trong một đơn vị thời
gian (cƣờng độ dòng phục vụ)

19


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Khoảng thời gian giữa các lần xuất hiện liên tiếp các yêu cầu trong dòng phục
vụ của mỗi kênh chính là khoảng thời gian kênh đó phục vụ xong từng yêu cầu,
nghĩa là thời gian phục vụ của kênh.
Nếu dòng phục vụ trên mỗi kênh là dòng tối giản thì thời gian phục vụ của
kênh đó là đại lƣợng ngẫu nhiên tuân theo luật chỉ số, nghĩa là có hàm phân phối
xác suất và mật độ xác suất dạng (1.18) và (1.19)
1.2.4 Dòng yêu cầu đầu ra
Dòng yêu cầu đầu ra (gọi tắt là dòng ra) là dòng các yêu cầu đi ra khỏi hệ
thống. Có hai loại dòng ra:
 Dòng yêu cầu ra đã đƣợc phục vụ xong: là các yêu cầu đã đƣợc phục vụ ở
mỗi kênh, nếu dòng đó là tối giản thì nó có một vai trò rất lớn trong hệ
thống phục vụ. Ngƣời ta đã chứng minh đƣợc rằng: nếu dòng vào là tối
giản thì dòng ra đƣợc phục vụ tại mỗi kênh sẽ là dòng xấp xỉ tối giản (nhƣ
đã trình bày ở phần 1.2.3)
 Dòng yêu cầu ra không đƣợc phục vụ: là một phần các yêu cầu đến hệ
thống nhƣng không đƣợc phục vụ vì một lí do nào đó.
1.2.5 Các quy luật hoạt động của hệ thống phục vụ
Một hệ thống phục vụ hoạt động theo những quy luật nào, nguyên tắc nào? Sự
hiệu quả của những quy luật đó ra sao? Ứng với loại dòng vào cụ thể, hệ thống phục
vụ phải chọn lựa ra cách thức phục vụ nào để tối ƣu nhất?... Đó là một vài câu hỏi
đặt ra cho hệ thống phục vụ

Đặc điểm chung về các quy luật phục vụ
Nhƣ vậy, các quy luật phục vụ của hệ thống phục vụ là cách mà hệ thống tiếp
nhận các yêu cầu đầu vào, tiến hành phân loại, sắp xếp và phục vụ các yêu cầu đó
trong hệ thống, ngoài ra, các quy luật này còn thiết lập một số các quy định khác đối
với yêu cầu đầu vào. Nó chỉ ra:
 Khi nào thì yêu cầu đáp ứng đƣợc các quy luật phục vụ và yêu cầu đó
đƣợc nhận vào phục vụ
 Cách phân bổ các yêu cầu đó vào các kênh phục vụ
 Khi nào thì yêu cầu bị từ chối hoặc phải chờ đợi trong hàng đợi
 Cách bố trí hàng đợi tùy theo các loại yêu cầu
Một số phƣơng pháp phục vụ

20


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Bảng 5: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi
STT
Tên viết tắt – tên tiếng Anh của
Giải thích
phương pháp phục vụ
1

FCFS – First Come First Served

Ai đến trƣớc phục vụ trƣớc

2


LCFS – Last Come First Served

Ai đến cuối phục vụ trƣớc

3

SIRO – Service In Random Order

Phục vụ theo thứ tự ngẫu nhiên

4

PS – Processor Shared

Phục vụ có chia sẻ chung bộ xử lý

5

IS – Infinitive Server

Phục vụ không xác định

6

Static priorities

Phục vụ ƣu tiên các yếu tố tĩnh

7


Dynamic priorities

Phục vụ ƣu tiên các yếu tố động

8

Preemption

Thiết lập chế độ ƣu tiên

Tùy thuộc vào việc chúng ta chọn phƣơng pháp phục vụ, hàng đợi sẽ đƣợc
điều chỉnh theo phƣơng pháp đó sao cho có hiệu quả nhất.
1.3 Trạng thái của hệ thống phục vụ
Phần này, chúng ta quan tâm đến trạng thái hoạt động của hệ thống phục vụ.
Làm thế nào để tìm hiểu xem hệ thống phục vụ với những yếu tố, các quy luật đã
trình bày ở trên, chúng ta tìm ra trạng thái hoạt động của nó? Trƣớc hết, chúng ta
tìm hiểu về quá trình Markov.
1.3.1 Quá trình Markov
Quá trình Markov (Markov Process) là một quá trình ngẫu nhiên, trong đó,
tƣơng lai của quá trình chỉ phụ thuộc vào hiện tại, không phụ thuộc vào quá khứ.
Cụ thể, nếu với mọi cách chọn thời điểm tùy ý: t1 < t2 < t3 < … < tk < tk+1
P[X(tk+1) = xk+1/ X(tk) = xk, … , X(t1) = x1]
=

(1.21)

P[X(tk+1) = xk+1/ X(tk) = xk]

Nếu X(t) là một quá trình ngẫu nhiên rời rạc, khi đó X(t) là một quá trình Markov
nếu

P[a < X(tk+1) = xk+1 < b / X(tk) = xk, … , X(t1) = x1]

21

(1.22)


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

= P[a < X(tk+1) = xk+1 < b / X(tk) = xk] với mọi cách chọn tk và mọi k
Nếu X(t) là một quá trình ngẫu nhiên liên tục, X(t) là một quá trình Markov nếu:

f X (t k 1 ) ( xk 1 / X (tk )  xk ,...., X (t1 )  x1 ))  f X (t k 1 ) ( xk 1 / X (tk )  xk ) (1.23)
Trong đó,

tk

là “Hiện tại” của quá trình

tk+1

là “Tƣơng lai” của quá trình

t1, t2 ,…, tk-1

là “Quá khứ” của quá trình

Xét quá trình ngẫu nhiên Poisson có biểu diễn nhƣ sau:

( t ) k  t

P[ N (t )  k ] 
e
k!

(1.24)

Từ định nghĩa trên, chúng ta thấy ngay, quá trình ngẫu nhiên Poisson là một quá
trình Markov liên tục:
P[N(tk+1) = j / N(tk)= i , N(tk-1 =xk-1), …, N(t1)= x1]
=

P [j - i sự kiện xảy ra trong khoảng thời gian tk+1- tk giây]

=

(t ) j i  (t k 1 t k )
Pij 
e
( j  i )!

=

P[N(tk+1) = j / N(tk)= i]

(1.25)

Xét một chuỗi Markov Xn (là quá trình ngẫu nhiên Markov nhận các giá trị nguyên),
vấn đề là làm thế nào để xác định đƣợc Xn
Đặt pj(0) = P[X0 = j], với j = 0, 1, 2,…Khi đó, xác suất đồng thời của n+1 giá trị đầu
tiên là

P[Xn = in / X0 = i0] = P[Xn = in / Xn-1 = in-1] *…

* P[X1 = i1 / X0 = i0] * P[X0 = i0]

(1.26)

Ta thấy ngay rằng Xn đƣợc xác định thông qua giá trị pj(0) = P[X0 = j]

22


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

và ma trận xác suất chuyển một bước có tổng các số hạng trong một hàng có giá trị
bằng 1:
p00

p01

p02

p03 …

p10

p11

p12

p13 …


pi1

pi1

pi2

pi3 …









(1.27)

1.3.2 Định nghĩa về trạng thái của hệ thống phục vụ
Xét hệ thống phục vụ với c máy phục vụ (server). Trạng thái của hệ thống phục
vụ, ký hiệu là xk(t), là khả năng kết hợp dòng vào và dòng ra của hệ thống ở một thời
điểm t nhất định nào đó. Chúng ta mô tả đơn giản về số kênh làm việc trong hệ thống
nhƣ sau:
Thời điểm
t
Số kênh đang làm việc
k
Số kênh rảnh rỗi
c–k

Tại một thời điểm t nào đó, hệ thống phục vụ đang ở trạng thái cụ thể. Bản chất
trạng thái đó là một quá trình ngẫu nhiên, nó hoạt động theo một luật phân phối xác
suất nhất định. Do vậy, tồn tại khả năng xuất hiện một trong các trạng thái xk(t) (k =
0,1,2,...) tại thời điểm t, với xác suất là một giá trị xác định Pk(t).
1.3.3 Quá trình thay đổi trạng thái của hệ thống phục vụ
Hệ thống tồn tại ở trạng thái i trong một khoảng thời gian nhỏ nào đó, sau đó, hệ
thống sẽ nhảy đến trạng thái j khác với trạng thái i. Nguyên nhân gây ra sự thay đổi
trạng thái gồm có:
- Sự thay đổi của dòng yêu cầu đầu vào (dòng vào)
- Sự thay đổi dòng phục vụ trong các kênh phục vụ
- Số kênh trong hệ thống phục vụ đang bận và đang hoạt động
- Bản thân hệ thống phục vụ có sự điều chỉnh sao cho phù hợp với các yêu cầu
đầu vào, các yêu cầu phục vụ…

23


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Chúng ta quan tâm tới yếu tố gọi là xác suất chuyển trạng thái, tức là khả năng
để hệ thống nhảy từ trạng thái i sang trạng thái j.
Thời gian sống của một trạng thái là một biến ngẫu nhiên X(t) tuân theo quy
luật phân phối mũ.
Chúng ta giả sử trạng thái a của hệ thống tồn tại trong khoảng thời gian Ta. Khi
đó, xác suất để hệ thống ở trạng thái a trong khoảng thời gian lớn hơn t giây là
P[Ta > t]
Nếu chúng ta cho rằng hệ thống ở trạng thái a trong khoảng thời gian t giây, và
nó vẫn ở trạng thái a đó thêm s giây nữa (hệ thống ở trạng thái a trong t + s giây). Khi
đó:
P[Ta > t+s / Ta >s] = P[Ta > t+s / X(s’)= a, 0 ≤ s’≤ s]

(1.28)
Theo định nghĩa về chuỗi Markov (các quá trình Markov nhận giá trị nguyên),
chúng ta thấy rằng phần quá khứ sẽ không liên quan đến chuỗi Markov, do đó:
P[Ta > t+s / Ta >s] = P[Ta > t] = e – v * t
Với v = νa, kỳ vọng của X(t) là E[X(t)] = 1/ νa

(1.29)

Công thức Chapman – Kolmogorov liên quan đến xác suất trạng thái của hệ
thống và tốc độ dịch chuyển từ trạng thái i sang trạng thái j nào đó cho một chuỗi
Markov với thời gian liên tục, đƣợc mô tả nhƣ sau:
Đặt pj(t) = P[X(t) = j]
Tỉ suất để quá trình X(t) sống ở trạng thái i
υi

~

Khi X(t) nhảy từ trạng thái i sang trạng thái
j khả năng xảy ra biến cố đó là

qij
~

γij = υi * qij

Tốc độ mà quá trình X(t) nhảy từ trạng thái
i sang trạng thái j đƣợc tính bằng
Khi đó, chúng ta thiết lập đƣợc hệ phƣơng trình vi phân Chapman –
Kolmogorov :


p 'j (t ) 

dp j (t )
dt

   ij (t )
i

24

(1.30)


Đề tài: Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi

Hình 1.3: Mô tả sự chuyển trạng thái của chuỗi Markov
Để giải đƣợc hệ phƣơng trình (1.30), chúng ta cần biết rõ các điều kiện ban đầu
pj(0) =0, pi(0)=1 với mọi i#j; j = 0, 1, 2,… Đây là phƣơng trình trạng thái của hệ
thống.
Sơ đồ trạng thái là tập hợp các mũi tên, hình vẽ, diễn tả quá trình biến đổi trạng
thái của hệ thống phục vụ, trong đó các mũi tên nối liền các trạng thái mô tả bƣớc
chuyển từ trạng thái này sang trạng thái khác, các hình chữ nhật biểu diễn trạng thái
của hệ thống. Tham số ghi trên các mũi tên biểu thị tác động của cƣờng độ của dòng
biến cố kéo trạng thái dịch chuyển theo hƣớng mũi tên.
λ01

λ12

X1


X0

λ10

λ21

λ02

λ32

X2

λ31

X3

λ23

Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ
Khi t∞, chúng ta thu được p’j(t)  pj(t); do đó p’j(t) 0, từ đây, chúng ta
giải phương trình vi phân (1.30)

25


×