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 n
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘITRƯỜ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
Trang 2ĐẠ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
Trang 3LỜ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ệutham 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 trongluậ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àokhá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
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
MỤC LỤC 4
DANH MỤC HÌNH VẼ 6
DANH MỤC CÁC BẢNG 7
Chương 1: LÝ THUYẾT HÀNG ĐỢI 10
1.1 Các khái niệm cơ bản 10
1.1.1 Biến ngẫu nhiên 10
1.1.2 Phân phối sác xuất thường gặp 10
1.1.3 Khái niệm hàng đợi và lý thuyết hàng đợi 13
1.1.4 Kí hiệu Kendall 17
1.1.5 Định nghĩa các độ đo hiệu suất 18
1.1.6 Luật Little 19
1.2 Một số mô hình hàng đợi cơ bản 20
1.2.1 Hệ thống một kênh phục vụ M/M/1 20
1.2.2 Hệ thống đa kênh phục vụ M/M/c 22
1.2.3 Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1) 23
1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K 24
1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết 25
1.4 Phương pháp giải quyết bài toán bằng lý thuyết hàng đợi 26
Chương 2: CÔNG CỤ MÔ PHỎNG GPSS WORLD 27
2.1 Cách tiếp cận mô phỏng 27
2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng 27
2.3 Giới thiệu về GPSS World 28
2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World 28
2.3.2 Một số khái niệm trong GPSS World 29
2.3.3 Các thực thể trong GPSS 31
2.3.4 Cú pháp lệnh GPSS 35
2.3.5 Các khối cơ bản trong GPSS 37
2.3.6 Một số hàm thư viện 43
2.3.7 Cài đặt và sử dụng GPSS World Student Version 43
2.4 Hàng đợi có ưu tiên Priority Queueing 44
2.5 Các bước mô phỏng bài toán trên GPSS World 46
Trang 5CHƯƠNG 3: ỨNG DỤNG LÝ THUYẾT HÀNG ĐỢI VÀ CÔNG CỤ MÔ PHỎNG
VÀO BÀI TOÁN HÀNG ĐỢI SIÊU THỊ 50
3.1 Một số quan sát về hàng đợi siêu thị 50
3.2 Bài toán xếp hàng gồm 1 phase phục vụ 51
3.2.1 Phát biểu bài toán 51
3.2.2 Phân tích bài toán bằng lý thuyết hàng đợi 52
3.2.3 Mô phỏng bài toán bằng công cụ mô phỏng 53
3.3 Bài toán xếp hàng nhiều phase phục vụ 58
3.3.1 Phát biểu bài toán 58
3.3.2 Phân tích bài toán bằng lý thuyết hàng đợi 59
3.3.3 Mô phỏng bài toán bằng công cụ mô phỏng 63
KẾT LUẬN 71
Trang 6DANH MỤC HÌNH VẼ
Hình 1 1- Sơ đồ chuyển trạng thái của phân phối Erlang-k với biến quy mô là 12
Hình 1 2- Thành phần cơ bản của hàng đợi 14
Hình 1 3 - Mô hình hàng đợi M/M/1 21
Hình 1 4- Mô hình hàng đợi M/M/1 21
Hình 1 5 - Sơ đồ chuyển trạng thái của hàng đợi M/M/1 21
Hình 1 6- Mô hình hàng đợi M/M/c 22
Hình 1 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c 23
Hình 1 8- Mô hình hàng đơi M/M/c/K 24
Hình 1 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K 25
Hình 2 1 - Mô tả chương trình mô phỏng bằng GPSS 37
Hình 2 2- Một segment điển hình 39
Hình 2 3- Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản 44
Hình 2 4- Cách lấy yêu cầu của hàng đợi Priority Queueing 45
Hình 2 7- Quy trình mô phỏng 48
Hình 3 1- Đồ thị sác xuất số khách hàng trong hệ thống 53
Hình 3 2- Mô hình thuật toán giải bài toán bãi đậu xe 54
Hình 3 3- Mã nguồn mô phỏng bài toán bãi đỗ xe 55
Hình 3 4- Báo cáo thu được khi chạy mô phỏng 56
Hình 3 5- Mô tả mô hình hoạt động của siêu thị 59
Hình 3 6- Mô hình thuật toán hoạt động của siêu thị 63
Trang 7DANH MỤC CÁC BẢNG
Bảng 1 1- Một số hàm phân phối thường gặp 10
Bảng 1 2 - Một số tham số của hàng đợi 18
Bảng 1 3-Một số mô hình hàng đợi cơ bản 20
Bảng 2 1- Một số Block cơ bản làm việc với giao tác 38
Bảng 2 2- Một số khối làm việc với thực thể thiết bị 40
Bảng 2 3 Một số khối cơ bản điều khiển dịch chuyển của giao tác 41
Bảng 3 1- Kết quả mô phỏng với thời gian 8h 56
Bảng 3 2 Kết quả mô phỏng với thời gian khác nhau 57
Bảng 3 3- Bảng so sánh độ lệch giữa mô phỏng và tính toán từ lý thuyết của lượng xe được phục vụ 57
Bảng 3 4- Kết quả tính toán hàng đợi gửi xe ô tô 59
Bảng 3 5-Bảng kết quả tính toán hàng đợi bãi gửi xe máy 60
Bảng 3 6- Kết quả tính toán hàng đợi giỏ hàng trong 8h 61
Bảng 3 7- Kết quả tính toán hàng đợi xe đẩy trong 8h 61
Bảng 3 8 – Kết quả mô phỏng hoạt động của siêu thị 68
Tương tự cách tiến hành với mô hình bài toán bãi gửi xe, thực hiện thay đổi thời gian mô phỏng bằng cách cài đặt lại biến thời gian v_time_work lần lượt bằng các giá trị: 16*60*60, 24*60*60, 40*60*60, 80*60*60 sau đó chạy mô phỏng Đem so sánh kết quả từng trường hợp với lý thuyết Bảng 3 9 đưa ra so sánh thời gian phục vụ của các quầy phục vụ với thời gian trung bình tính toán từ lý thuyết (225 giây)
69 Bảng 3 10 Bảng so sánh thời gian thanh toán trung bình 70
Trang 8LỜI MỞ ĐẦUHà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ốngphục vụ đám đông, từ thực tế đó các nhà quản lý luôn mong muốn đánh giá được hiệuquả 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ạinhữ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ửahà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ảysinh 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ốngkhô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ốiquan 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ântí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ápgiả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ộtphươ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 đơngiả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ânphố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 đềucầ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ântí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ủahà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ãngphí, 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ãngphí 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ônngữ lập trình; Mô phỏng bằng các công cụ chuyên nghiệp như (Petri Nets, MatLab,
Trang 9GPSS, NS2,…) Công cụ mô phỏng cần sinh ngẫu nhiên sự kiện và quản lý vòng đờicủ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ụngcô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 PurposeSimulation 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 ứngdụ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ênviệc áp dụng GPSS để mô phỏng chưa áp dụng theo một phương pháp có tính tổngquá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ếthàng đợi”, các mô hình hàng đợi, công cụ mô phỏng hàng đợi là GPSS Đề xuất quytrì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àngtạ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ư sauChươ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ênquan đế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ântích sử dụng lý thuyết hàng đợi Áp dụng công cụ mô phỏng GPSS World và áp dụngquy 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ừ đó địnhhướng phát triển trong thời gian tới
Trang 10CHƯƠ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ếnngẫ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 đặctrư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 độngtươ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ểntrạ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ânphố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 trongbảng 1.1
Bảng 1 1- Một số hàm phân phối thường gặp
mũ
Phân phốiErlang
Phân phốisiêu bội
Trang 116 Phân phối
Possion1.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 chotrướ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 [6tr.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, độclậ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ủaquá 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ácsuấ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óikhá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 qualạ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 trongkhoả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ầunhư 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
Trang 12Tí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àogiá 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ằngnhau 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:
Trang 13Vớ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ư
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ổngcủ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
Trang 141.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ụcvụ
Đầu những năm 1900, A K Erlang, kỹ sư điện thoại Đan Mạch bắt đầu nghiêncứ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ếthà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êuphản ảnh đặc trưng của các hệ thống
Trang 15Hì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áctà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 (arrivalrate), 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ủacá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ẫunhiê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ợpcá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àophụ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ờinguyê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 server), SIRO (Service-in-random-order), dịch vụ ưu tiên Tùy thuộc vào loại dịch vụ
(Last-come-fist-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 đahà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ụ
Trang 16đượ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ácdị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ọclớ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ệnhnhâ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ộtcá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 giannhấ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ướcthờ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ânphố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
Trang 17Ví 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ản27%, 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 đếnkhi đượ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ặcthiế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 khichư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ớihạ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ủabệ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êntrong 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 caohơ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 đảmbả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ấtxuấ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ínhquan 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 gianphụ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ớnhiệ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áchhà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ữngthủ 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ý
Trang 18Phâ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ẫunhiê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ọikhá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
- 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ậtphâ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ốiErlangian), 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ụ đ ể h iểu rõ về ký h iệu K en dal l:
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, đơngiả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ụ
Trang 191.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ốngphụ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áctham 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ồmnhữ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àngchờ đợ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êntục của kênh)
Trang 20Đặ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ố
Bảng 1 2 - Một số tham số của hàng đợi
Trang 21( 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)
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áchhà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ềudà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ó
Trang 22Với là số khách hàng ở trong quầy phục vụ (áp dụng tương tự với hàm thờigian 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ảng1.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ươngphá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.2này
Bảng 1 3-Một số mô hình hàng đợi cơ bảnTên hàng đợi Số kênh
phục vụ
Số bướcphục vụ
Phânphối tínhiệu đến
Phân phốithời gianphục vụ
Kích thướccủa dòngđến
Nguyên tắc phục vụ
Hệ thống đơn
hàng M/M/1
phân phốimũ
Luật phânphối mũ
Khônggiới hạn
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
Trang 23- 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:
Trang 24b) Đo hiệu suất hàng đợi M/M/1
Hình 1 5 - 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 gianphục vụ)
Trang 25= 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:
Trang 26- 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:
Trang 27Hình 1 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c
Sơ đồ chuyển trạng thái hình 1.7 [4 tr.43] cho thấy tốc độ phục vụ phụ thuộc vào
số kênh phục vụ; các biến của hệ thống M/M/c:
Số kênh phục vụ
= Số khách hàng đến trung bình trong một đơn vị thời gian
= Số khách hàng được phục vụ trong một đơn vị thời gian ở mỗi kênh
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)
Trang 28Mộ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,
Trang 29như 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ìnhM/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
Trang 30- 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
Trang 31Hiệu suất hệ thống [4 tr.43]
=
Trang 32Sơ đồ chuyển trạng thái của hệ thống được mô tả hình 1.9
Hình 1 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K
Trong mô hình trên, hệ thống ở trạng thái i khi có i khách hàng được phục vụđồng thời
Chiều dài hàng đợi trung bình, xác suất có k khách hàng và 0 khách hàng trong
Đ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
Trang 33Đ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ântheo 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ácsuấ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ảitích là phương pháp cơ bản và được sử dụng khá phổ biến Đường lối chung củaphươ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ậpmối quan hệ giữa các chỉ tiêu cần phân tích;
Trang 34Tuy 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ânphố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ợpcá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.
Trang 35CHƯƠNG 2 CÔNG CỤ MÔ PHỎNG GPSS WORLD2.1 Cách tiếp cận mô phỏng
Việc giải quyết bài toán các hệ thống phục vụ đám đông [1] là một vấn đề cầnthiết và mang ý nghĩa khoa học thực sự đặc biệt trong việc mô phỏng các hệ thốngkê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ânbay, 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ốngphứ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ủamỗ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ủachú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áchtiế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ụngcá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ạitính tin cậy cao hơn cho bài toán cần mô phỏng
Chương 2 của luận văn này trình bày công cụ đại diện cho cách tiếp cận sửdụng công cụ mô phỏng chuyên dụng để giải quyết bài toán
2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng
Với ý nghĩa ứng dụng thực tiễn, từ những năm 1960 trở lại đây, đã có nhiều cáccô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ổibật là MatLab, Petri Network, NS2 Nhìn chung các công cụ được nêu đều có chungmụ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ệ ápdụ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ênphong trong mô phỏng hệ thống phục vụ đám đông là GPSS World Các ứng dụngchí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…
Trang 36- 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ậthà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áctrung 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; GPSSWorld là công cụ luận văn sử dụng để thực hiện bài toán áp dụng
2.3 Giới thiệu về GPSS World
GPSS (General Purpose Simulation System) [5, 8, 13] thuộc loại ngôn ngữ lậptrì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, đượcnhậ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ácthà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ểnvà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 racá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ươngmạ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áytí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ếpcủ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à đángtin 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ựcquan nhất, phù hợp với các mục tiêu khác nhau của các mô phỏng Thêm vào đó,GPSS World còn tích hợp một hàm thư viện các hàm phân phối xác suất, đem lại sựtiện dụng cho người viết chương trình mô phỏng Điểm mạnh của GPSS World làtrong suốt và cung cấp hình ảnh động trực quan giúp người sử dụng có thể nhận biếtđược sự thay đổi của hệ thống theo thời gian và cung cấp các công cụ ngắt để có thểdừng mô phỏng tại bất kỳ thời điểm nào nhằm ghi nhận lại các chỉ số cần thiết của môphỏng
2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World
GPSS World là ngôn ngữ hướng đối tượng, bao gồm các đối tượng: ModelObjects, 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
Trang 37quả 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ướctrê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ộtchuỗi những câu lệnh mô hình (Model Statement); quá trình xây dựng mô hình, ngườidù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ỏngbằ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 Generatorssinh 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ênmô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 Simulationngô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ồntạ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íchkế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ắmbắ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 đốitượ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
2.3.2 Một số khái niệm trong GPSS World
GPSS bao gồm các đối tượng sau:
- Model Objects (đối tượng mô hình);
- Simulation Objects (đối tượng mô phỏng);
- Report Objects (đối tượng báo cáo);
- Text Objects (đối tượng văn bản)
Trang 38Khả 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úcnà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 ramộ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âulệ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ểubiết đầy đủ về các đối tượng này Một mô phỏng tốt là mô phỏng đúng các hành vi, sựkiện trong hệ thống thực tế Vì vậy xây dựng mô hình cần dựa trên những quan sátđánh giá thực tế nhằm đạt được kết quả đúng đắn nhất
2.3.2.1 Đối tượng mô hình (Model Objects)
Một đối tượng mô hình chứa một chuỗi các câu lệnh mô hình (Model Statement)
và một tập các giá trị thiết lập được xây dựng trong Setting Ngoài ra, một bộ các đánhdấ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ậplệ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ượngvăn bản (Text Object) Trong một số trường hợp, GPSS cho phép đặt nhiều cácthủ 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ệnhINCLUDE trong Mô hình đối tượng Làm như vậy sẽ làm cho tất cả các câu lệnhtrong đố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
Trang 39kết quả sau khi chạy mô phỏng Một số các thiết lập có thể thay đổi được ngay cảsau khi các đối tượng mô phỏng được biên dịch.
2.3.2.2 Các đối tượng mô phỏng - Simulation Objects
Một đối tượng mô phỏng được tạo ra bằng cách vào menu Command/CreateSimulation để dịch các câu lệnh trong một đối tượng mô hình (Model Object) Sau khimột mô hình được dịch thành công, lệnh này sẽ tạo ra các trạng thái của mô phỏng.Lệnh CREATE có thể là một phần của Mô hình đối tượng, hoặc chúng có thể được gửiđến Đối tượng Mô phỏng hiện tại như một tương tác
2.3.2.3 Bộ biên dịch (Translator)
Bộ biên dịch của GPSS biên dịch các đối tượng mô phỏng Tất cả các câu lệnh
mô phỏng được biên dịch trước khi chúng được khởi tạo trong mô phỏng Tương tự,các tương tác được biên dịch toàn cục trước khi cùng được chuyển thành một đốitượ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áchthô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ỗibằ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òngtrạ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ằnglệnh Retranslate trong Command
2.3.2.4 Các đối tượng báo cáo - Report Objects
Một trong những tính năng mạnh nhất được trang bị cho GPSS là hệ thống báocáo chuẩn (Standard Report) IBM đã xây dựng hệ thống báo cáo cho tất cả các thựcthể 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ửacá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ỏngnhằm đưa lại các kết quả báo cáo hữu ích
2.3.2.5 Các đối tượng văn bản (Text Objects)
Text Object đại diện cho một tập tin văn bản thuần túy trong GPSS World.Chúng được sử dụng chính trong lệnh INCLUDE Text Object cho phép chia sẻ cáccâ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áchlệnh phức tạp/hoặc thủ tục PLUS trong một tập tin văn bản có thể được gửi đến một
mô phỏng với một phím tắt duy nhất
2.3.3 Các thực thể trong GPSS
GPSS được xây dựng xung quanh các khái niệm trừu tượng gọi là các thực thể(Entities) Các thực thể GPSS là những đối tượng trừu tượng tồn tại trong một môphỏng Để có thể tạo ra mô hình phức tạp, người sử dụng phải hiểu về các thực thể,các thuộc tính và các thao tác trên các thực thể đó
Trang 40GPSS 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 dichuyể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ấtlớ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 khaibá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ínhtoán, các thực thể nhóm
2.3.3.1 Các thực thể thiết bị (Facility entity)
Một thiết bị là một thực thể có một số thuộc tính, trong đó quan trọng nhất làthuộc tính trạng thái của thiết bị, hay nói cách khác là quyền sở hữu thiết bị Các thựcthể 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ựcthể ở trạng thái là “bận” khi thiết bị được sở hữu bởi một giao tác; Ngược lại thiết bị ởtrạng thái “rảnh” khi không có giao tác nào sở hữu nó Có thể gán quyền sở hữu thiết bịhoặc giải phóng quyền sở hữu của giao tác bằng lệnh SEIZE hoặc khối PREEMPT.Nếu một giao tác không được cấp quyền sở hữu, nó sẽ ở trạng thái nghỉ (idle) [5]
Có một số Block GPSS có thể được sử dụng với các thiết bị: ·
- SEIZE Blocks cố gắng chiếm quyền sở hữu của một thực thể thiết bị
- RELEASE Blocks từ bỏ quyền sở hữu của một thực thể thiết bị
- PREEMPT Blocks cố gắng chiếm quyền sở hữu của một cơ sở, thay thế chủ
sở hữu hiện tại
- RETURN Block từ bỏ quyền sở hữu của một cơ sở
- FAVAIL Block đặt một cơ sở ở trạng thái có sẵn
- UNAVAIL Blocks đặt một cơ sở ở trạng thái không khả dụng: máy phục vụđám đông tương ứng với các thiết bị đơn kênh, đa kênh và thiết bị chuyển logic.Thiết bị chuyển logic được sử dụng để mô phỏng thiết bị có 2 trạng thái (bật
và tắt, đóng và mở) của tính chất logic hay vật lý
2.3.3.2 Các thực thể lưu trữ (Storage Entity)
Các thực thể lưu trữ đảm bảo việc lưu trữ trong bộ nhớ của máy tính các đạilượ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ựcthể giá trị lưu (Savevalue Entities), các thực thể ma trận (Matrix Entities) [5]