1. Trang chủ
  2. » Luận Văn - Báo Cáo

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ị

77 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

ĐẠ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ênngà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ôngnghệthông tin

Chuyênngành: Kỹthuậtphầnmề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

HàNội - 2017

Trang 3

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

Trang 4

2

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 15

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 18

1.2.1 Hệ thống một kênh phục vụ M/M/1 19

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

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 30

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

Trang 5

3

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 52

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 70

Trang 6

4

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à 11

Hình 1 2- Thành phần cơ bản của hàng đợi 12

Hình 1 3 - Mô hình hàng đợi M/M/1 19

Hình 1 4- Mô hình hàng đợi M/M/1 19

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 21

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

Trang 7

5

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

Trang 8

6

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)

Trang 9

7

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

Trang 10

8

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

Phân phối Erlang

Phân phối siêu bội

f

1

q)

Trong đó: μj >0, qj>0, j∈{1 k},

Trang 11

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

Trang 12

10

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

Trang 13

11

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

Trang 14

· Phân bố thời gian phục vụ

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 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 đa

Trang 15

13

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

Trang 16

14

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

Trang 17

15

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

Trang 18

λ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

Trang 19

17

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

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

Trang 20

18

Để mô tả cho luật Little ta xét với mô hình hàng đợi 1 quầy phục vụ Với mô hình này chúng ta có thể thu được một số thông số hiệu suất khi áp dụng luật Áp dụng luật cho hàng đợi (không gồm quầy phục vụ) thu được mối quan hệ giữa chiều dài hàng đợi và thời gian đợi như sau:

Cuối cùng, khi áp dụng luật Little cho quầy phục vụ ta có

Với là số khách hàng ở trong quầy phục vụ (áp dụng tương tự với hàm thời gian phục vụ) và là thời gian phục vụ

1.2 Một số mô hình hàng đợi cơ bản

Trong thực tế có rất nhiều mô hình hàng đợi được áp dụng trong quản lý, Bảng 1.2 liệt kê một số mô hình thường thấy áp dụng trong các ứng dụng Với mỗi mô hình

sẽ có những đặc điểm và quá trình chuyển trạng thái riêng; các đặc điểm và phương pháp tính hiệu suất của từng mô hình sẽ được trình bày trong các tiểu mục của mục 1.2 này

Bảng 1 3-Một số mô hình hàng đợi cơ bản

Tên hàng đợi Số kênh

phục vụ

Số bước phục

vụ

Phân phối tín hiệu đến

Phân phối thời gian phục vụ

Kích thước của dòng đến

Nguyên tắc phục

Không giới hạn

Trang 21

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:

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

Input

FCFS

Output

W thời gian đợi

Hàng đợi (queue)

Server

K-1 vị trí

Hình 1 3 - Mô hình hàng đợi M/M/1 Hình 1 4- Mô hình hàng đợi M/M/1

Trang 22

20

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

Input

W thời gian đợi

Hàng đợi (queue)

Trang 23

21

- Phân phối thời gian đến là

- Phân phối thời gian phục vụ

- Hiệu suất phục vụ:

b) Đo điệu suất hệ thống M/M/c:

Hình 1 7 - Sơ đồ chuyển trạng thái hàng đợi M/M/c

Sơ đồ chuyển trạng thái hình 1.7 [4 tr.43] cho thấy tốc độ phục vụ phụ thuộc vào

số kênh phục vụ; các biến của hệ thống M/M/c:

Số kênh phục vụ

= Số khách hàng đến trung bình trong một đơn vị thời gian

= Số khách hàng đƣợc phục vụ trong một đơn vị thời gian ở mỗi kênh

Trang 24

22

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

Input

W thời gian đợi

Hàng đợi (queue)

Trang 25

23

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à ii

Hiệu suất hệ thống [4 tr.43]

Sơ đồ chuyển trạng thái của hệ thống được mô tả hình 1.9

Hình 1 9 - Sơ đồ chuyển trạng thái mô hình hàng đợi M/M/c/K

Trong mô hình trên, hệ thống ở trạng thái i khi có i khách hàng được phục vụ

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

Trang 26

24

Đ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

Trang 27

Áp dụng lý thuyết hàng đợi với những mô hình phức tạp thường khó khăn Mô phỏng là một trong những phương pháp hiệu quả nhất để nghiên cứu các hệ thống phức tạp Bản chất của công cụ mô phỏng là là tái tạo quá trình hoạt động của một hệ thống theo sự kiện và thời gian theo đúng quy luật quan sát được ngoài thực tế Khi đó tính chất đầy đủ của các mô hình mô phỏng cần đạt được là: mô phỏng vòng đời của mỗi phần tử trong hệ thống đúng theo logic và quy tắc tương tác và phát triển của chúng cả trong thời gian và trong không gian

Khi xây dựng mô hình mô phỏng và triển khai thực hiện nó thường có hai cách tiếp cận, một là sử dụng các ngôn ngữ lập trình để xây dựng mô phỏng, hai là sử dụng các ngôn ngữ mô phỏng chuyên dụng Xây dựng mô hình mô phỏng bằng cách sử dụng các ngôn ngữ lập trình truyền thống là khá phức tạp và khó khăn Chính vì vậy, nhiều người đã lựa chọn cách tiếp cận sử dụng các ngôn ngữ mô phỏng chuyên dụng Ngoài những ưu điểm tiện dụng, đơn giản, công cụ mô phỏng chuyên dụng mang lại tính tin cậy cao hơn cho bài toán cần mô phỏng

Chương 2 của luận văn này trình bày công cụ đại diện cho cách tiếp cận sử dụng công cụ mô phỏng chuyên dụng để giải quyết bài toán

2.2 Hiện trạng một số công cụ mô phỏng chuyên dụng

Với ý nghĩa ứng dụng thực tiễn, từ những năm 1960 trở lại đây, đã có nhiều các công cụ mô phỏng ra đời Giai đoạn đầu hầu hết các công cụ phục vụ cho môi trường

PC, nhưng thời điểm hiện tại có thể tìm thấy các toolbox chạy trên môi trường Internet đáp ứng nhu cầu nghiên cứu và ứng dụng với phạm vi khác nhau

Công cụ mô phỏng chuyên dụng có khả năng phân tích các hệ thống phức tạp nổi bật là MatLab, Petri Network, NS2 Nhìn chung các công cụ được nêu đều có chung mục tiêu, cơ sở lý thuyết, dù cách thể hiện trong ngôn ngữ lập trình hay công nghệ áp dụng có khác nhau Tuy nhiên luận văn tập trung tìm hiểu công cụ mô phỏng tiên phong trong mô phỏng hệ thống phục vụ đám đông là GPSS World Các ứng dụng chính của công cụ mô phỏng GPSS World có thể kể đến như:

- Các hệ thống chăm sóc khách hàng như Call Center, dịch vụ 1080, 1900…

Trang 28

26

- Giao thông vận tải (phổ biến nhất là mô hình bảo trì máy bay fleet trong kĩ thuật hàng không và vận tải công ty)

- Công nghệ mạng: nghiên cứu đánh giá các vùng dữ liệu mạng

- Thương mại: các hệ thống bán hàng tự động, các quầy thanh toán tiền trong các trung tâm thương mại

- Thực tế đời sống: bãi đậu xe ô tô, quản lý bay tại phi trường…

Là một công cụ đã được kiểm chứng qua nhiều mô hình thành công; GPSS World là công cụ luận văn sử dụng để thực hiện bài toán áp dụng

2.3 Giới thiệu về GPSS World

GPSS (General Purpose Simulation System) [5, 8, 13] thuộc loại ngôn ngữ lập

trình hướng đối tượng, một ngôn ngữ mô phỏng các hệ thống phức tạp rời rạc, được nhận định là hiệu quả nhất hiện nay GPSS dự đoán các hành vi trong tương lai của các

hệ thống hàng đợi Các đối tượng của ngôn ngữ này được sử dụng tương tự như các thành phần chuẩn của một hệ thống hàng đợi, như là các yêu cầu, các thiết bị phục vụ, hàng đợi… Với tập hợp đầy đủ các thành phần như vậy cho phép xây dựng các mô phỏng phức tạp mà vẫn đảm bảo tính logic hệ thống hàng đợi

General Purpose Simulation System được Geoffrey Gordon của IBM phát triển vào khoảng thập niên 1960, viết tắt là GPSS Sự ra đời của GPSS đã góp phần đưa ra các khái niệm quan trọng cho tất cả các ngôn ngữ mô phỏng (sự kiện rời rạc) thương mại trên máy tính phát triển từ đó [1] GPSS/PC là phiên bản cài đặt đầu tiên cho máy tính cá nhân được giới thiệu vào năm 1984 và GPSS World là một hậu duệ trực tiếp của GPSS/PC Hiện nay, GPSS World chạy trên môi trường Windows và được mở rộng thêm nhiều tính năng trên môi trường Internet

GPSS World được thiết kế để cung cấp câu trả lời một cách nhanh chóng và đáng tin cậy, với nỗ lực ít nhất, đạt được các kết quả được xem xét trên nhiều góc độ trực quan nhất, phù hợp với các mục tiêu khác nhau của các mô phỏng Thêm vào đó, GPSS World còn tích hợp một hàm thư viện các hàm phân phối xác suất, đem lại sự tiện dụng cho người viết chương trình mô phỏng Điểm mạnh của GPSS World là trong suốt và cung cấp hình ảnh động trực quan giúp người sử dụng có thể nhận biết được sự thay đổi của hệ thống theo thời gian và cung cấp các công cụ ngắt để có thể dừng mô phỏng tại bất kỳ thời điểm nào nhằm ghi nhận lại các chỉ số cần thiết của mô phỏng

2.3.1 Đặc điểm nổi bật của ngôn ngữ GPSS World

GPSS World là ngôn ngữ hướng đối tượng, bao gồm các đối tượng: Model Objects, Simulation Objects, Report Objects, Text Objects

Trang 29

27

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

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

Trang 30

28

- Report Objects (đối tượng báo cáo);

- Text Objects (đối tượng văn bản)

Khả năng lưu và phục hồi mô phỏng cho phép lưu lại các đối tượng bất cứ lúc nào, bất kỳ trạng thái nào, và mở trở lại vào phiên cuối cùng

Sau khi một mô hình được phát triển bằng cách soạn thảo các câu lệnh trong một

đối tượng; Người dùng sử dụng lệnh Create Simulation để chạy mô phỏng hay tạo ra

một đối tượng mô phỏng có cấu trúc như tập lệnh đã xây dựng trong trình soạn thảo; Quá trình biên dịch tập lệnh thông qua một bộ biên dịch (Translator) Phần mềm chạy

mô phỏng với thời gian được thiết lập sau lệnh START, một đối tượng báo cáo được

tự động tạo ra Để sử dụng đối tượng văn bản chúng ta đặt các đối tượng này trong câu

lệnh INCLUDE để hỗ trợ phát triển các mô phỏng lớn, tạo ra một thư viện mã nguồn

và cho các ứng dụng tiện ích khác Ngoài ra, các đối tượng văn bản thường được sử dụng bởi các các đối tượng mô phỏng khi thực hiện các thao tác OPEN, CLOSE, READ, WRITE, and SEEK

Để xây dựng được một mô hình đối tượng hoàn chỉnh, người dùng cần có hiểu biết đầy đủ về các đối tượng này Một mô phỏng tốt là mô phỏng đúng các hành vi, sự kiện trong hệ thống thực tế Vì vậy xây dựng mô hình cần dựa trên những quan sát đánh giá thực tế nhằm đạt được kết quả đúng đắn nhất

2.3.2.1 Đối tượng mô hình (Model Objects)

Một đối tượng mô hình chứa một chuỗi các câu lệnh mô hình (Model Statement)

và một tập các giá trị thiết lập được xây dựng trong Setting Ngoài ra, một bộ các đánh dấu (bookmark) và một danh sách các lỗi cú pháp cũng là một phần của đối tượng mô hình Khi một đối tượng mô phỏng được tạo ra nhờ việc dịch khối lệnh trong mô hình,

nó được kế thừa tất cả các thiết lập từ đối tượng mô hình mẹ

Trong đó:

- Câu lệnh mô hình (Model Statement) có thể là một câu GPSS (GPSS Statement),

hoặc một định nghĩa thủ tục PLUS Các câu GPSS có thể là các câu lệnh khối

(Block Statements) hoặc là các lệnh (Commands)

- Mô hình nhiều tệp tin: Thông thường một mô hình được thiết lập bởi một tập lệnh trong một mô hình đối tượng Tập các tập tin văn bản được gọi là Đối tượng văn bản (Text Object) Trong một số trường hợp, GPSS cho phép đặt nhiều các thủ tục, báo cáo vào một hoặc nhiều đối tượng text để module hóa mô hình Các đối tượng văn bản, là các tập tin văn bản đơn giản, có thể được đặt trong câu lệnh INCLUDE trong Mô hình đối tượng Làm như vậy sẽ làm cho tất cả các câu lệnh

Trang 31

29

trong đối tượng văn bản được chèn vào trong lệnh INCLUDE khi đối tượng Mô phỏng được tạo ra

- Thiết lập mô hình (Model Settings): tập hợp các chọn lựa nhằm thiết lập các tham

số cho mô hình gọi là "Settings" hay một cách đầy đủ là là Model Setting Các cài

đặt được kế thừa từ các đối tượng mô phỏng và các đối tượng báo cáo sẽ đưa ra kết quả sau khi chạy mô phỏng Một số các thiết lập có thể thay đổi được ngay cả sau khi các đối tượng mô phỏng được biên dịch

2.3.2.2 Các đối tượng mô phỏng - Simulation Objects

Một đối tượng mô phỏng được tạo ra bằng cách vào menu Command/Create

Simulation để dịch các câu lệnh trong một đối tượng mô hình (Model Object) Sau khi

một mô hình được dịch thành công, lệnh này sẽ tạo ra các trạng thái của mô phỏng Lệnh CREATE có thể là một phần của Mô hình đối tượng, hoặc chúng có thể được gửi đến Đối tượng Mô phỏng hiện tại như một tương tác

2.3.2.3 Bộ biên dịch (Translator)

Bộ biên dịch của GPSS biên dịch các đối tượng mô phỏng Tất cả các câu lệnh

mô phỏng được biên dịch trước khi chúng được khởi tạo trong mô phỏng Tương tự, các tương tác được biên dịch toàn cục trước khi cùng được chuyển thành một đối tượng mô phỏng tồn tại [5]

Khi có lỗi xảy ra ngăn cản quá trình tạo đối tượng mô phỏng, một danh sách thông điệp trên mô hình đối tượng xuất hiện Có thể chuyển đến thông báo lỗi bằng cách nhấn Search / Next Error hoặc sử dụng phím tắt Mỗi lỗi mô tả trong dòng trạng thái ở cuối cửa sổ chính Sau khi chỉnh sửa mô hình có thể biên dịch lại bằng lệnh Retranslate trong Command

2.3.2.4 Các đối tượng báo cáo - Report Objects

Một trong những tính năng mạnh nhất được trang bị cho GPSS là hệ thống báo

cáo chuẩn (Standard Report) IBM đã xây dựng hệ thống báo cáo cho tất cả các thực

thể GPSS của một mô phỏng và được tạo tự động khi mô phỏng hoàn thành Chỉnh sửa

các cài đặt (Settings) là cách để tùy biến các báo cáo, thay đổi tham số của mô phỏng

nhằm đưa lại các kết quả báo cáo hữu ích

2.3.2.5 Các đối tượng văn bản (Text Objects)

Text Object đại diện cho một tập tin văn bản thuần túy trong GPSS World Chúng được sử dụng chính trong lệnh INCLUDE Text Object cho phép chia sẻ các câu lệnh mô hình trong đối tượng văn bản tới một đối tượng mô hình khác Thậm chí

có thể tải một câu INCLUDE vào một phím chức năng, bằng cách đó, một danh sách lệnh phức tạp/hoặc thủ tục PLUS trong một tập tin văn bản có thể được gửi đến một

mô phỏng với một phím tắt duy nhất

Trang 32

30

2.3.3 Các thực thể trong GPSS

GPSS được xây dựng xung quanh các khái niệm trừu tượng gọi là các thực thể

(Entities) Các thực thể GPSS là những đối tượng trừu tượng tồn tại trong một mô

phỏng Để có thể tạo ra mô hình phức tạp, người sử dụng phải hiểu về các thực thể, các thuộc tính và các thao tác trên các thực thể đó

GPSS cung cấp 14 loại thực thể trong đó nổi bật nhất là các thực thể giao tác

(transactions) và các thực thể khối (blocks) Giao tác là loại thực thể duy nhất có thể

được xóa khỏi mô phỏng Một mô phỏng có qui mô lớn sẽ bao gồm nhiều giao tác di chuyển từ một khối vào khối tiếp theo

Các thực thể GPSS được đánh số, GPSS World thường gán một giá trị duy nhất lớn hơn hoặc bằng đến 10.000 vào tên của thực thể Một số thực thể phải được khai báo cụ thể trước khi sử dụng chúng như: các thực thể lưu trữ, các biến, bảng, ma trận, các hàm… Hầu hết các thực thể GPSS khi cần thiết được tạo ra tự động

Phần tiếp theo của luận văn nêu các kiểu thực thể chính bao gồm: các thực thể thiết

bị, các thực thể lưu trữ, Các thực thể động, các thực thể khối, các thực thể tính toán, các thực thể nhóm

2.3.3.1 Các thực thể thiết bị (Facility entity)

Một thiết bị là một thực thể có một số thuộc tính, trong đó quan trọng nhất là thuộc

tính trạng thái của thiết bị, hay nói cách khác là quyền sở hữu thiết bị Các thực thể thuộc

về thiết bị (Facility Entities) đại diện cho các máy phục vụ và hoặc các thiết bị khác của

hệ thống thực Một thiết bị có thể được sở hữu bởi một giao tác duy nhất vì vậy một thiết

bị không thể được giải phóng bởi một giao tác mà không sở hữu nó Thực thể ở trạng thái

là “bận” khi thiết bị được sở hữu bởi một giao tác; Ngược lại thiết bị ở trạng thái “rảnh” khi không có giao tác nào sở hữu nó Có thể gán quyền sở hữu thiết bị hoặc giải phóng

quyền sở hữu của giao tác bằng lệnh SEIZE hoặc khối PREEMPT Nếu một giao tác

không được cấp quyền sở hữu, nó sẽ ở trạng thái nghỉ (idle) [5]

Có một số Block GPSS có thể được sử dụng với các thiết bị: ·

- SEIZE Blocks cố gắng chiếm quyền sở hữu của một thực thể thiết bị

- RELEASE Blocks từ bỏ quyền sở hữu của một thực thể thiết bị

- PREEMPT Blocks cố gắng chiếm quyền sở hữu của một cơ sở, thay thế chủ sở hữu hiện tại

- RETURN Block từ bỏ quyền sở hữu của một cơ sở

- FAVAIL Block đặt một cơ sở ở trạng thái có sẵn

Trang 33

2.3.3.2 Các thực thể lưu trữ (Storage Entity)

Các thực thể lưu trữ đảm bảo việc lưu trữ trong bộ nhớ của máy tính các đại lượng riêng biệt được sử dụng trong mô hình Các đối tượng kiểu này gồm có các thực thể giá trị

lưu (Savevalue Entities), các thực thể ma trận (Matrix Entities) [5]

Một thực thể lưu trữ liên kết đến một số các đơn vị lưu trữ Nó được cung cấp hoặc trả lại bởi Transaction Thực thể lưu trữ có thể sử dụng như "token pools" để điều khiển luồng của Transaction trong mô hình

Khi một giao tác đi vào một thực thể lưu trữ nó chiếm giữ một hoặc nhiều đơn vị của thực thể lưu trữ Một giao tác bị từ chối đi vào từ khối ENTER khi thực thể không đáp ứng được nhu cầu lưu trữ của giao tác Những giao tác bị từ chối lưu trú tại chuỗi Delay (Delay Chain) của thực thể lưu trữ hay phải chờ cho đến khi các giao tác khác giải phóng

đủ bộ nhớ bằng khối LEAVE

2.3.3.3 Thực thể giao tác (Transaction Entity)

Giao tác chuyển từ khối này qua khối khác trong một mô phỏng được quản lý và thể hiện trong hệ thống thật mà ta cần mô hình hóa Các thực thể động là các giao tác có

thể xem như là một “yêu cầu”, hay một “sự kiện” đi vào hệ thống phục vụ đám đông

Trong quá trình mô phỏng, các giao tác được “tạo ra” (ứng với loại “dòng đến”) và “kết

thúc” (ứng với loại “dòng đi” được gọi là vòng đời của giao tác Mỗi giao tác trong quá

trình mô phỏng luôn thuộc vào một khối (BLOCK) xác định nào đó, nhưng mỗi khối

có thể chứa cùng lúc nhiều giao tác khác nhau Mỗi giao tác dịch chuyển vào một khối, sau đó đến khối tiếp theo, cứ thế cho đến khi nó bị xóa bỏ, tức là rơi vào trạng thái

TERMINATED hoặc quá trình mô phỏng dừng [5]

Một số thuộc tính quan trọng của thực thể giao tác là:

- Tham số - Tham số của giao tác là tập các giá trị liên quan đến giao tác Mỗi

giao tác có thể chứa nhiều tham số Mỗi tham số có một giá trị là một số nguyên dương

- Tham số giao tác phải được tạo và gán giá trị trước khi chúng được tham chiếu đến ASSIGN, MARK, and TRANSFER SUB, SELECT, SPLIT và COUNT là các khối tạo một tham số giao tác nếu nó chưa tồn tại

- Độ ưu tiên – mức độ ưu tiên của giao tác xác định thứ tự của các giao tác có

cùng nguồn phát sinh Giao tác với mức độ ưu tiên cao hơn sẽ có thời gian chờ

ít hơn Giao tác được ưu tiên trong hàng đợi CEC (Current Events Chain), FDC (Facility Delay Chains), và SDC (Storage Delay Chains) FEC (Future Events

Trang 34

32

Chain) không phải là hàng được ưu tiên Tác động của mức ưu tiên với một giao tác là nó sẽ được chọn trước so với những giao tác có độ ưu tiên thấp hơn khi có các giao tác tích cực, hoặc trong việc phân phối thực thể lưu trữ và thực thể thiết bị

- Khối hiện tại – Số thực thể của khối chứa giao dịch

- Khối kế tiếp – Số thực thể của khối mà giao tác sẽ cố gắng vào tiếp

- Chuỗi – Trạng thái của giao dịch được xác định bởi một số chuỗi mà nó cư trú

tồn tại các trạng thái sau:

 Tích cực – chứa các giao tác có mức độ ưu tiên cao trong CEC

 Tạm ngừng – các giao tác đang chờ ở trong FEC hoặc CEC trở thành giao tác tích cực

 Thụ đông – các giao tác trong mô phỏng đang ở chuỗi người dùng, trễ hoặc chuỗi chờ xử lý

 Gián đoạn – các giao tác bị tiêu diệt và không thể tiếp tục tồn tại trong mô

phỏng

2.3.3.4 Các thực thể khối (Block Entities)

Các thực thể khối (Block Entities) là thành phần cấu trúc cơ bản của một chương

trình mô phỏng GPSS Mỗi loại khối tương ứng với một hành động trong mô phỏng Mỗi giao tác trong mô hình được chứa chính xác trong một khối, nhưng hầu hết các khối

có thể chứa nhiều giao tác [5]

Các đối tượng tĩnh được sử dụng để thu thập và xử lý các dữ liệu thống kê về hoạt động của mô hình

2.3.3.5 Các thực thể hàng đợi (Queue Entities)

Là một thực thể quan trọng trong mô phỏng, mỗi đối tượng kiểu hàng đợi đảm bảo việc thu thập và xử lý dữ liệu về các giao tác được giữ lại tại một điểm nào đó trong mô hình, ví dụ trước khi vào thiết bị đơn kênh

Các khối liên quan:

- Khối QUEUE: tăng số phần tử trong hàng đợi

- Khối DEPART: giảm số phần tử trong hàng đợi

2.3.3.6 Các thực thể bảng (Table Entities):

Được sử dụng để nhận các phân phối xác suất của các đại lượng ngẫu nhiên, ví dụ lưu lại thời gian chờ đợi của các giao tác trong mô hình mô phỏng

Các khối liên quan:

- Khối TABULATE cập nhật dữ liệu biểu đồ trong thực thể

Trang 35

33

2.3.3.7 Các thực thể tính toán

Các đối tượng tính toán bao gồm:

- Các biến (Variable Entities) (số học và logic)

- Các hàm (Function Entities) dùng để tính toán các đại lượng nào đó được cho bởi các biểu thức số học hay logic hoặc ở dạng bảng

- Thực thể ma trận là một mảng các phần tử, mỗi phần tử chứa giá trị Kích thước của mảng bị giới hạn bởi yêu cầu bộ nhớ tối đa trong trang mô phỏng khi thiết lập

mô hình

- Thực thể Logicwitch là thực thể đơn giản nhất với hai trạng thái là Set" hoặc

"Reset" Thực thể này được gán giá trị 0 khi được tạo, khi gặp một lệnh CLEAR (không có tùy chọn OFF) sẽ được gửi đến đối tượng mô phỏng

2.3.3.8 Các thực thể nhóm

Các đối tượng thuộc nhóm gồm có:

Numeric Group Entities – là tập hợp các giá trị số, được sử dụng để ghi lại các sự

kiện hoặc mô tả quá trình mô phỏng chạy

Các khối lệnh liên quan:

 JOIN : đưa một giá trị vào một Numeric Group;

 REMOVE lấy một giá trị ra ;

 EXAMINE Kiểm tra giá trị trong Numeric Group.

Transaction Group Entities- các thực thể nhóm giao tác dùng để phân loại và truy

cập các giao tác

Thực thể chuỗi người sử dụng (Userchain Entities) dùng để thiết lập các mô hình

lập trình phức tạp và các thuật toán sắp xếp

2.3.4 Cú pháp lệnh GPSS

Phần này trình bày chi tiết về định dạng các lệnh của GPSS, theo định dạng sau:

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ó

Trang 36

34

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

Trang 37

35

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

2.3.5 Các khối cơ bản trong GPSS

Tập hợp các câu lệnh khối (Block) được sử dụng trong GPSS World có thể chia thành

4 nhóm với hơn 50 câu lệnh:

- Khối lệnh liên quan đến các giao tác (Transactions)

- Khối các lệnh liên quan đến các thực thể thiết bị (Facility)

- Khối các lệnh liên quan đến dữ liệu tĩnh

- Khối các lệnh để điều khiển đường đi của các giao tác trong mô hình mô phỏng Phần tiếp theo của luận văn sẽ trình bày chi tiết về một số khối cơ bản và các tham số trong mỗi lệnh:

Trang 38

36

2.3.5.1 Các khối làm việc với các giao tác

Đối với các giao tác có các khối thực hiện việc tạo, hủy, lưu lại giao tác một thời gian, thay đổi các thuộc tính và tạo bản sao của một giao tác Bảng 3.1 sẽ giải thích cụ thể về một số khối cơ bản làm việc với giao tác

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

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

sinh ra các giao tác tương lai đi vào mô phỏng

TERMINATE A A: là lượng giảm của

Termination Count (Termination Count được thiết lập bởi lệnh START và mô phỏng sẽ dừng khi Termination Count <=0)

Hủy một giao tác

ADVANCE A,B A: số gia thời gian trung bình

(bắt buộc) B: tùy chọn thời gian khoảng biến thiên giao độ (không bắt buộc)

Để giữ các giao tác lại trong một khoảng thời gian nào đó, tức là mô phỏng khoảng thời gian phục vụ các yêu cầu ASSIGN A,B,C A: số hiệu tham số của giao tác

hoạt động (Active Transaction)

Khi một giao tác nhập vào một khối ASSIGN, giá trị của tham số định nghĩa

Ngày đăng: 16/03/2021, 11:31

w