1. Trang chủ
  2. » Giáo Dục - Đào Tạ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ị

76 138 1

Đ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 76
Dung lượng 3,25 MB

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

Nội dung

đượ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

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ê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 3

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 thamkhả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

MỤC LỤC

LỜI CAM ĐOAN 1

MỤC LỤC 4

DANH MỤC HÌNH VẼ 6

DANH MỤC CÁC BẢNG 7

Chương 1: LÝ THUYẾT HÀNG ĐỢI 10

1.1 Các khái niệm cơ bản 10

1.1.1 Biến ngẫu nhiên 10

1.1.2 Phân phối sác xuất thường gặp 10

1.1.3 Khái niệm hàng đợi và lý thuyết hàng đợi 13

1.1.4 Kí hiệu Kendall 17

1.1.5 Định nghĩa các độ đo hiệu suất 18

1.1.6 Luật Little 19

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

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

1.2.2 Hệ thống đa kênh phục vụ M/M/c 22

1.2.3 Hệ thống hàng đợi có thời gian phục vụ chính xác (M/D/1) 23

1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K 24

1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết 25

1.4 Phương pháp giải quyết bài toán bằng lý thuyết hàng đợi 26

Chương 2: CÔNG CỤ MÔ PHỎNG GPSS WORLD 27

2.1 Cách tiếp cận mô phỏng 27

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

2.3 Giới thiệu về GPSS World 28

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

2.3.2 Một số khái niệm trong GPSS World 29

2.3.3 Các thực thể trong GPSS 31

2.3.4 Cú pháp lệnh GPSS 35

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

2.3.6 Một số hàm thư viện 43

2.3.7 Cài đặt và sử dụng GPSS World Student Version 43

2.4 Hàng đợi có ưu tiên Priority Queueing 44

2.5 Các bước mô phỏng bài toán trên GPSS World 46

Trang 5

CHƯƠNG 3: ỨNG DỤNG LÝ THUYẾT HÀNG ĐỢI VÀ CÔNG CỤ MÔ PHỎNG

VÀO BÀI TOÁN HÀNG ĐỢI SIÊU THỊ 50

3.1 Một số quan sát về hàng đợi siêu thị 50

3.2 Bài toán xếp hàng gồm 1 phase phục vụ 51

3.2.1 Phát biểu bài toán 51

3.2.2 Phân tích bài toán bằng lý thuyết hàng đợi .52

3.2.3 Mô phỏng bài toán bằng công cụ mô phỏng 53

3.3 Bài toán xếp hàng nhiều phase phục vụ 58

3.3.1 Phát biểu bài toán 58

3.3.2 Phân tích bài toán bằng lý thuyết hàng đợi 59

3.3.3 Mô phỏng bài toán bằng công cụ mô phỏng 63

KẾT LUẬN 71

Trang 6

DANH MỤC HÌNH VẼ

Hình 1 1- Sơ đồ chuyển trạng thái của phân phối Erlang-k với biến quy mô là 12

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

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

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

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

Hình 1 6- Mô hình hàng đợi M/M/c 22

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

Hình 1 8- Mô hình hàng đơi M/M/c/K 24

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

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

Hình 2 2- Một segment điển hình 39

Hình 2 3- Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản 44

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

Hình 2 7- Quy trình mô phỏng 48

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

Hình 3 2- Mô hình thuật toán giải bài toán bãi đậu xe 54

Hình 3 3- Mã nguồn mô phỏng bài toán bãi đỗ xe 55

Hình 3 4- Báo cáo thu được khi chạy mô phỏng 56

Hình 3 5- Mô tả mô hình hoạt động của siêu thị 59

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

Trang 7

DANH MỤC CÁC BẢNG

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

Bảng 1 2 - Một số tham số của hàng đợi 18

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

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

Bảng 2 2- Một số khối làm việc với thực thể thiết bị 40

Bảng 2 3 Một số khối cơ bản điều khiển dịch chuyển của giao tác 41

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

Bảng 3 2 Kết quả mô phỏng với thời gian khác nhau 57

Bảng 3 3- Bảng so sánh độ lệch giữa mô phỏng và tính toán từ lý thuyết của lượng xe được phục vụ 57

Bảng 3 4- Kết quả tính toán hàng đợi gửi xe ô tô 59

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

Bảng 3 6- Kết quả tính toán hàng đợi giỏ hàng trong 8h 61

Bảng 3 7- Kết quả tính toán hàng đợi xe đẩy trong 8h 61

Bảng 3 8 – Kết quả mô phỏng hoạt động của siêu thị 68

Tương tự cách tiến hành với mô hình bài toán bãi gửi xe, thực hiện thay đổi thời gian mô phỏng bằng cách cài đặt lại biến thời gian v_time_work lần lượt bằng các giá trị: 16*60*60, 24*60*60, 40*60*60, 80*60*60 sau đó chạy mô phỏng Đem so sánh kết quả từng trường hợp với lý thuyết Bảng 3 9 đưa ra so sánh thời gian phục vụ của các quầy phục vụ với thời gian trung bình tính toán từ lý thuyết (225 giây). 69

Bảng 3 10 Bảng so sánh thời gian thanh toán trung bình 70

Trang 8

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ạ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ửa hàngbá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ácyê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ệ đã đượcxâ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áp giảití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ươngphá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 giandị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â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ãng phí,xác định được hạn chế của dịch vụ taị mỗi thời điểm xác định để có giá trị lãng phí nhỏnhất (giá trị dịch vụ + thời gian chờ đợi)

Có nhiều cách để mô phỏng hàng đợi như: xây dựng giải thuật và triển khai bằng ngônngữ lập trình; Mô phỏng bằng các công cụ chuyên nghiệp như (Petri Nets, MatLab,

Trang 9

GPSS, 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ụ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ệnrời rạc của IBM phát triển vào khoảng thập niên 1960 - General Purpose SimulationSystem (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ậnvă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ổ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ànhphầ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ê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â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 quytrì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 sosá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 10

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ế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 độ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ể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ân phối xácsuấ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

Trang 11

Phân phối

6

Possion

1.1.2.1 Phân phối hình học (Geometric distribution)

Là phân phối đặc trưng cho số các biến cố sảy ra trong một khoảng thời gian cho trước Một biến ngẫu nhiên hình học [2 tr.18] với phân phối xác suất:

Với phân phối này chúng ta có một số công thức sau

1.1.2.2 Phân phối Poisson (Poisson distribution)

Là phân phối thường gặp nhất trong các mô hình hàng đợi phân phối Poisson [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á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ó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 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ấtnếu thời điểm xuất hiện các yêu cầu không trùng nhau

Trang 12

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

Với hàm phân phối này ta có một số công thức tính kỳ vọng và phương sai nhưsau:

1.1.2.4 Phân phối Erlang (Erlang distribution)

Một biến có một phân phối Erlang-k [9 tr.5] (k=1,2,…) với nếu X là tổng

của E biến độc lập có phân phối mũ chung Ký hiệu chung là

hoặc ngắn gọn là

Hàm phân phối xác suất bằng:

Tham số được gọi là tham số quy mô (scale parameter), là tham số hình dạng(shape parameter) Một sơ đồ trạng thái của được biểu diễn bởi Hình 1.1

Hình 1 1- Sơ đồ chuyển trạng thái của phân phối Erlang-k với biến quy mô là

Các đặc trưng phương sai, phương sai và hệ số bình phương bằng nhau đều bằng nhau

Trang 13

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ụ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 đợigồ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

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 đượcthoả 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ácyê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 đ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 15

đượ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ước thờigian đế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ácsuấ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 16

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) đếntạ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%, 3khá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 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ổibậ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ủ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ên trongmộ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êucầ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 quantrọ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ớ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 17

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

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ậ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ụ để 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

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

1.1.2 Hệ số sử dụng dịch vụ

Giá trị đến λ, thời gian phục vụ E(B) công việc đến trong 1 đơn vị thời gian làλE(B) Quầy phục vụ thực hiện 1 công việc trên 1 đơn vị thời gian Điều kiện dừng là:

λE(B) < 1 Với B là thời gian phục vụ trung bình

Nếu ρ < 1 thì ρ được gọi là hệ số sử dụng bởi nó đặc trưng cho thời gian hệ thố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ồ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

hiệu

1 λ Tốc độ đến (arrival rate) của khách hàng

2 µ Tốc độ phục vụ (service rate)

3 tn Khoảng thời gian giữa khách hàng liên tiếp (tn= τn - τn-1 )

4 Wq Thời gian chờ để được phục vụ trong hàng đợi

5 Thời gian tạm trú của khách hàng trong hệ thống (thời gian

Ws đợi + thời gian phục vụ) của khách hàng thứ n

Sn=Wq+ n

6 A n (t) Hàm phân phối xác suất thời gian giữa hai khách hàng liên

Trang 19

( A n (t)=P[tn≤t] )

7 B( ) Phân phối thời gian phục vụ

8 Số khách hàng đến trong khoảng thời gian (0,t)

9 Số khách hàng ra khỏi hệ thống trong khoảng thời gian (0,t)

10 L(t) Số khách hàng ở trong hệ thống tại thời điểm 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ách hàngtrung bình đến trong một đơn vị thời gian [4 tr.26]

Luật Little ký hiệu như sau:

E(L)= λE(S) (3.1)

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

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

Trang 20

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ờ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ảng 1.2liệ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ínhhiệ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

phục vụ bước phối tín thời gian thước tắc phục

phục hiệu đến phục vụ của dòng vụ

Hệ thống đa hàng c (c>1) 1 Possion Luật phân Không FIFO

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 21

- Phân phối tốc độ đến và thời gian phục tuân theo phân phối Poisson

Mô hình hàng đợi được miêu tả như sau:

K-1 vị trí FCFS Server

W thời gian

Hìình 1 34 - Mô hìình hàng đợii M//M//1

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:

= 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 đượcphụ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ụ)

Trang 22

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

Hình 1 6- Mô hình hàng đợi M/M/c

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

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

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

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

Trang 23

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

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,

Trang 24

như trong trường hợp máy rửa xe tự động Vì thời gian phục vụ là cố định nên các giátrị [3 tr.61] luôn luôn nhỏ hơn các thông số tương tự ở mô hình

M/M/1 Cả chiều dài hàng đợi và thời gian chờ đợi trung bình đều giảm một nửa

Độ dài trung bình của hàng đợi

Thời gian đợi trung bình

Số khách hàng trung bình trong hệ thống

Thời gian đợi trung bình trong hệ thống

1.2.4 Hệ thống hàng đợi giới hạn kích thước M/M/c/K

Là hệ thống đa kênh và chỉ có tối đa K khách hàng được phép lưu trú trong hệ thống Hệthống hàng đợi M/M/m/K được mô hình hóa trong Hình 1.8

Server 2FCFS

- 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

Trang 25

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

=

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

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

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

M /Er /1, Er /M/1, M/G/1,G/M/m, G/G/1 được trình bày khá chi tiết trong tài liệu [3]

1.3 Các điều kiện để bài toán có thể giải được bằng lý thuyết

Điều kiện 1: Dòng vào của hệ thống phải là dòng tối giản hoặc xấp xỉ tối giản Điều kiện 2: Khoảng thời gian (T) giữa 2 lần xuất hiện liên tiếp các yêu cầu là đại

lượng ngẫu nhiên tuân theo qui luật hàm số mũ Như vậy, hàm mật độ xác suất có dạng:

(1.1)

Và hàm phân phối xác suất có dạng

(1.2)Với λ là cường độ dòng vào, đó là số yêu cầu trung bình xuất hiện trong một đơn

vị thời gian

Trang 26

Đ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 đượcphụ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ủa phươngphá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ốnghà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ệuKedall 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â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ợp cácphâ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ậpcá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ươngphá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

CHƯƠNG 2 CÔNG CỤ MÔ PHỎNG GPSS WORLD 2.1 Cách tiếp cận mô phỏng

Việc giải quyết bài toán các hệ thống phục vụ đám đông [1] là một vấn đề cần thiết

và mang ý nghĩa khoa học thực sự đặc biệt trong việc mô phỏng các hệ thống kênh phục

vụ phức tạp như các hệ thống viễn thông, các hệ thống bán vé tự động, sân bay, giaothông

Áp dụng lý thuyết hàng đợi với những mô hình phức tạp thường khó khăn Môphỏng là một trong những phương pháp hiệu quả nhất để nghiên cứu các hệ thống phứctạ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ốngtheo sự kiện và thời gian theo đúng quy luật quan sát được ngoài thực tế Khi đó tínhchấ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ỗiphầ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á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ụngcá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ềungườ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àinhữ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 tincậ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ụngcô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ên phongtrong mô phỏng hệ thống phục vụ đám đông là GPSS World Các ứng dụng chính củacô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

- 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, đượ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ếp củaGPSS/PC Hiện nay, GPSS World chạy trên môi trường Windows và được mở rộngthê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 đó, GPSSWorld 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ụngcho 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 đổicủ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ạibấ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âydự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 29

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-screentext hoặc chèn các Block command GPSS bằng cách sử dụng các hộp thoại được cungcấ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ỏ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 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ụngcô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);

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

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

Trang 30

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ụngbở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ệntrong 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ập lệnhtrong 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ănbả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ượngvă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 INCLUDEtrong Mô hình đối tượng Làm như vậy sẽ làm cho tất cả các câu lệnh trong đốitượng văn bản được chèn vào trong lệnh INCLUDE khi đối tượng Mô phỏng đượctạ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 31

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áctươ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ấnSearch / 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ốicử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 trongCommand

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ảimộ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ứctạ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ớimộ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ácthuộc tính và các thao tác trên các thực thể đó

Trang 32

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 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 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áchà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ộctí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ự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 đại lượngriê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].

Trang 33

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ấphoặc trả lại bởi Transaction Thực thể lưu trữ có thể sử dụng như "token pools" để điềukhiể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ỗiDelay (Delay Chain) của thực thể lưu trữ hay phải chờ cho đến khi các giao tác khácgiả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êndươ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ờ íthơ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 EventsChain) 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 giaotá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ếtbị

- 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

Trang 34

 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áckhố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ảoviệc thu thập và xử lý dữ liệu về các giao tác được giữ lại tại một điểm nào đó trong môhình, ví dụ trước khi vào thiết bị đơn kênh

Các khối liên quan:

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

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

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

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

Các khối liên quan:

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

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

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

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

- Các hàm (Function Entities) dùng để tính toán các đại lượng nào đó được cho bởicá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ướccủ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ếtlập mô hình

Trang 35

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

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ãnphả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ãnbằ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ạnmuố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ácloạ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ộtSTORAGE 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

Trang 36

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ếptheo 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 đầutiê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

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

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

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

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

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

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

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

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

Trang 38

Đố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ờigian, 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

Label GENERATE A: thời gian trung bình xuất hiện sinh ra các giao tác tương

B: xác định độ thay đổi củakhoảng thời gian trung bình xuấthiện một giao tác Độ thay đổinày có thể là thay đổi theokhoảng nếu nó tuân theo phân bốđều, hoặc thay đổi theo hàm khi

nó tuân theo các phân bố khác

C: xác định thời điểm xuất hiệngiao 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ácgiao tác Mặc định là số 0TERMINATE A A: là lượng giảm của Hủy một giao tác

Termination Count (TerminationCount được thiết lập bởi lệnhSTART và mô phỏng sẽ dừngkhi Termination Count <=0)ADVANCE A,B A: số gia thời gian trung bình Để giữ các giao tác lại

B: tùy chọn thời gian khoảng gian nào đó, tức là môbiến thiên giao độ (không bắt phỏng khoảng thời gian

ASSIGN A,B,C A: số hiệu tham số của giao tác Khi một giao tác nhập vào

hoạt động (Active Transaction) một khối ASSIGN, giá trị

trong A được thiết lậpC: số hiệu hàm

theo B và C Sau A có thể

sử dụng dấu + hoặc –, khi

Ngày đăng: 09/10/2019, 09:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w