1. Trang chủ
  2. » Công Nghệ Thông Tin

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

75 344 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 75
Dung lượng 1,41 MB

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

Nội dung

Chương 1: Cơ sở lý thuyết về hệ thống hàng đợi Chương này tập trung vào tìm hiểu cơ sở lý thuyết về hệ thống hàng đợi: các đặc điểm của hệ thống, các yếu tố của hệ thống gồm có dòng yêu

Trang 1

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

-

LÊ VĂN ÚY

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

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

LUẬN VĂN THẠC SĨ KỸ THUẬT

KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG

Trang 2

Em xin chân thành cảm ơn

Học viên

Lê Văn Úy

Trang 3

Tóm tắt nội dung

Lý thuyết hệ thống phục vụ đám đông, hay lý thuyết hàng đợi (Queueing

theory) – nghiên cứu các đặc điểm đặc trưng và xác định các tính chất của hệ thống

được thiết lập bởi các yêu cầu [1], với mục tiêu tìm ra cách phục vụ tối ưu nhất Các hệ thống này thường là những mô hình của các hệ thống phục vụ đám đông có trong thực tế như: mạng máy tính, mạng điện thoại, dây chuyền sản xuất, phi trường, bãi đậu xe,…Phương pháp mô phỏng cho phép chúng ta tìm hiểu về chúng một cách tốt nhất

Luận văn này tập trung nghiên cứu, tổng hợp, làm rõ cơ sở lý thuyết cho hệ thống phục vụ đám đông và sử dụng công cụ mô phỏng GPSS World vào bài toán

cụ thể Luận văn trình bày các khái niệm, đặc điểm của ngôn ngữ mô phỏng GPSS, đưa ra các bước xây dựng bài toán mô phỏng hệ thống phục vụ đám đông trên ngôn ngữ GPSS khi biết được các thông tin đầu vào Từ bài toán cụ thể, luận văn này đã làm các phân tích, tính toán, tiến hành mô phỏng và đánh giá kết quả thu được

Trang 4

Lời cam kết

Tôi xin cam đoan luận văn này là do tôi thực hiện được hoàn thành trên cơ sở tìm kiếm, thu thập, nghiên cứu, tổng hợp phần lý thuyết và các phương pháp kĩ thuật được trình bày bằng văn bản trong nước và trên thế giới Các tài liệu tham khảo đều được nêu ở phần cuối của luận văn Luận văn này không sao chép nguyên bản từ bất kì một nguồn tài liệu nào khác

Nếu có gì sai sót, tôi xin chịu mọi trách nhiệm

Trang 5

MỤC LỤC

LỜI CẢM ƠN 2

TÓM TẮT NỘI DUNG 3

LỜI CAM KẾT 4

MỤC LỤC 5

DANH SÁCH CÁC HÌNH VẼ 8

DANH SÁCH CÁC BẢNG BIỂU 9

MỞ ĐẦU 10

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ HỆ THỐNG HÀNG ĐỢI 12

1.1MÔ TẢ VỀ HỆ THỐNG HÀNG ĐỢI 12

1.1.1 Mô hình hóa một hệ thống hàng đợi 13

1.1.2 Quan điểm về hiệu suất của hệ thống hàng đợi 14

1.1.3 Công thức Little 15

1.1.4 Hệ thống hàng đợi theo cách viết của Kendall và các phân phối liên quan 16

1.2CÁC YẾU TỐ CỦA HỆ THỐNG PHỤC VỤ 17

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

1.2.2 Hàng đợi 19

1.2.3 Kênh phục vụ 19

1.2.4 Dòng yêu cầu đầu ra 20

1.2.5 Các quy luật hoạt động của hệ thống phục vụ 20

1.3TRẠNG THÁI CỦA HỆ THỐNG PHỤC VỤ 21

1.3.1 Quá trình Markov 21

1.3.2 Định nghĩa về trạng thái của hệ thống phục vụ 23

1.3.3 Quá trình thay đổi trạng thái của hệ thống phục vụ 23

1.4MỘT SỐ KẾT QUẢ TỔNG HỢP VỀ HỆ THỐNG HÀNG ĐỢI KINH ĐIỂN M/M/1 26

KẾT LUẬN 27

CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ MÔ PHỎNG GPSS (GENERAL PURPOSE SIMULATION SYSTEM) 29

2.1 G IỚI THIỆU VỀ NGÔN NGỮ GPSS 29

2.2SỰ RA ĐỜI CỦA NGÔN NGỮ GPSS 29

2.3NHỮNG ƯU ĐIỂM CỦA NGÔN NGỮ GPSS 30

Trang 6

2.4CÁC ỨNG DỤNG CỦA CÔNG CỤ MÔ PHỎNG GPSSWORLD 31

KẾT LUẬN 32

CHƯƠNG 3: TÌM HIỂU VỀ NGÔN NGỮ GPSS VÀ CÔNG CỤ MÔ PHỎNG GPSS WORLD 33

3.1CẤU TRÚC LỆNH CỦA GPSS KHI LẬP TRÌNH 33

3.2CÁC ĐỐI TƯỢNG TRONG GPSS 34

3.3CÁC BLOCK CƠ BẢN TRONG GPSS 36

3.3.1 Transactions 36

3.3.2 Bộ lập lịch cho Transaction 39

3.3.3 Các block làm việc với Transactions 40

3.3.4 Facilities 41

3.3.5 Queue 41

3.3.6 Các Blocks dùng để điều khiển dịch chuyển của Transactions 42

3.3.7 Các phân phối xác suất dựng sẵn (Built-in Probability Distributions) 42

3.4CÁC BƯỚC PHÂN TÍCH VÀ MÔ PHỎNG BÀI TOÁN TRÊN GPSSWORLD 43

KẾT LUẬN 44

CHƯƠNG 4: ÁP DỤNG NGÔN NGỮ MÔ PHỎNG VÀO BÀI TOÁN THỰC TẾ 45

4.1BÀI TOÁN ĐÁNH GIÁ HOẠT ĐỘNG TẠI MỘT ĐƠN VỊ XỬ LÝ THÔNG TIN 45

4.1.1 Phân tích bài toán 45

4.1.1.1 Phân tích các biến trong bài toán 45

4.1.1.2 Mô hình luồng thông tin đi vào hệ thống 46

4.1.2 Lưu đồ giải thuật 47

4.1.3 Viết chương trình và chạy kết quả 49

4.1.4 Đánh giá kết quả 51

4.2BÀI TOÁN HOẠT ĐỘNG CỦA PHÒNG MÁY THỰC HÀNH 54

4.2.1 Phân tích bài toán 54

4.2.2 Giải bài toán 57

4.2.3 Mô hình GPSS World 58

KẾT LUẬN CHUNG 74

TÀI LIỆU THAM KHẢO 75

Trang 7

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

Ký hiệu Tiếng Anh Giải thích theo tiếng Việt

GPSS General Purpose Simulation

Trang 8

Danh sách các hình vẽ

Hình 1.1: Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông 12

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

Hình 1.3: Mô tả sự chuyển trạng thái của chuỗi Markov 25

Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ 25

Hình 1.5: Minh họa hoạt động của hệ M/M/1 26

Hình 2.1: Minh họa cửa sổ làm việc của GPSS World 30

Hình 3.1: Một hệ phục vụ đám đông đơn giản 43

Hình 3.2: Minh họa mô hình của hệ phục vụ đám đông đơn kênh hở 44

Hình 4.1: Tổ chức luồng thông tin 46

Hình 4.2: Cấu trúc mô hình phân tích 46

Hình 4.3: Lưu đồ giải thuật 48

Hình 4.4: Đánh giá hiệu suất của các bộ phận A, B, C với tối đa 400 thông tin đầu vào, lấy mẫu cách nhau 10 thông tin 53

Hình 4.5: Đánh giá hiệu suất của A, B, C với tối đa 1600 thông tin đầu vào, 53

Hình 4.6: Điều kiện bài toán 55

Hình 4.7: Cấu trúc mô hình phân tích 55

Hình 4.8: Thuật toán hoạt động của mô hình mô phỏng 56

Trang 9

Danh sách các bảng biểu

Bảng 1: Các yếu tố cấu thành một hệ thống phục vụ đám đông 12

Bảng 2: Các tham số đặc trưng trong hệ thống hàng đợi 14

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

Bảng 4: Các phân phối xác suất liên quan đến A và B trong mô tả Kendall 16

Bảng 5: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi 21

Bảng 6: Các tham số của lệnh GENERATE 40

Bảng 7: Báo cáo thông kê kết quả hoạt động của phòng xử lý thông tin 51

Bảng 8: So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với T = 480phút 65

Bảng 9: So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với T = 3360 phút 72

Bảng 10: So sánh hệ số tải của máy tính 73

Trang 10

Mở đầu

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

bộ công việc Đó là những hệ thống như: mạng điện thoại, mạng máy tính, bãi đậu

xe, phi trường Các hệ thống này được gọi là hệ thống phục vụ đám đông (hay hệ

thống hàng đợi) [1,2,7]

Trên thực tế, các hệ phục vụ đám đông có đặc thù phức tạp, và việc tư vấn cho các nhà quản lý, nhà hoạch định chính sách về các hệ này là hết sức cần thiết sao cho khi hệ thống được đưa vào sử dụng phải đạt hiệu suất cao nhất có thể Nên chúng ta phải tính toán, thiết lập thật rõ ràng, kỹ lưỡng các đặc tả về chúng sát với thực tiễn nhất trong điều kiện cho phép

Chúng ta cần xây dựng mô hình toán học cho từng hệ thống; mô tả quá trình làm việc của các thành phần trong hệ thống; sự tương tác qua lại giữa chúng theo thời gian, và trong không gian để giảm chi phí tối đa cho các hoạt động đặc tả hệ

thống Vấn đề ở đây là: Cần có sự đơn giản hóa nhưng chính xác các đặc điểm của

hệ thống phục vụ đám đông dưới dạng mô hình Dùng phương pháp luận nào, phương pháp nào? Xem xét phương án nào là khả thi nhất, tối ưu nhất?

Để giải bài toán trên như, chúng ta có thể: tìm kiếm và giải quyết bằng các

mô hình toán học, dùng tìm ra các giải thuật và dùng các ngôn ngữ lập trình (C++, Pascal…), mô phỏng bằng các công cụ mô phỏng (Java, Matlab, P/T Net…) Mô phỏng hệ thống bằng cách sử dụng các ngôn ngữ lập trình truyền thống là khá phức tạp, khó khăn vì khi lập trình, chúng ta phải quản lý các sự kiện theo một mô hình nhiều sự kiện xảy ra; đồng thời với việc xây dựng các hàm sinh ngẫu nhiên các sự kiện Chính vì vậy đã xuất hiện các ngôn ngữ mô phỏng chuyên dụng

Ngôn ngữ lập trình GPSS (General Purpose Simulation System) [4], thuộc

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

vi trong tương lai của các hệ thống phục vụ đám đông Các đối tượng của ngôn ngữ

Trang 11

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

Vấn đề nghiên cứu và ứng dụng ngôn ngữ mô phỏng GPSS rất phổ biến và phát triển tại Liên bang Nga cũng như một số quốc gia khác Tuy nhiên, ở Việt Nam

ta, vấn đề này còn khá mới Trên cơ sở các nghiên cứu đã có, luận văn giới thiệu ví

dụ thực tế: đánh giá hoạt động tại một đơn vị xử lý thông tin và hoạt động của phòng máy thực hành nơi tôi làm việc Bài toán sử dụng luồng thông tin đầu vào là các đại lượng ngẫu nhiên và không có sự ưu tiên

Luận văn gồm các chương với nội dung được mô tả sơ bộ dưới đây:

Chương 1 Cơ sở lý thuyết về hệ thống hàng đợi: đưa ra cơ sở lý thuyết về hệ thống

hàng đợi, bao gồm: các yếu tố của hệ thống phục vụ (dòng vào, dòng ra, hàng chờ, kênh phục vụ), các quá trình Markov và trạng thái của hệ thống Với sự phát triển của khoa học máy tính, phương pháp mô phỏng chứng tỏ những khả năng tốt cho việc giải bài toán hàng đợi, ngoài phương pháp toán học thuần túy mà chúng ta có thể tìm ra lời giải của bài toán hàng đợi khi dựa vào hệ phương trình trạng thái với các điều kiện ban đầu

Chương 2 Giới thiệu ngôn ngữ mô phỏng GPSS (General Purpose Simulation

System): Phần này giới thiệu sơ lược về ngôn ngữ GPSS, một ngôn ngữ mô phỏng

chuyên dụng với các khái niệm, đặc trưng

Chương 3 Tìm hiểu về ngôn ngữ GPSS và công cụ GPSS World: Chương này đề

cập cụ thể, chi tiết về cấu trúc của một thao tác lệnh, các đối tượng và các khối (block) cơ bản trong GPSS Đồng thời, chương 3 trình bày các bước tiến hành mô phỏng một bài toán hàng đợi khi sử dụng phương pháp mô phỏng qua công cụ GPSS World

Chương 4 Áp dụng ngôn ngữ GPSS vào bài toán thực tế: đánh giá hoạt động tại

một đơn vị xử lý thông tin, và hoạt động của phòng máy thực hành nơi tôi làm việc Qua đó, chúng ta thấy được một phần nào đó hiệu quả hoạt động của hai đối tượng

mà chúng ta khảo sát

Phần kết luận: tóm lược nội dung chính của luận văn và nêu định hướng phát triển

trong thời gian tới

Trang 12

Chương 1: Cơ sở lý thuyết về hệ thống hàng đợi

Chương này tập trung vào tìm hiểu cơ sở lý thuyết về hệ thống hàng đợi: các đặc điểm của hệ thống, các yếu tố của hệ thống gồm có dòng yêu cầu đầu vào, hàng chờ, kênh phục vụ, dòng yêu cầu đầu ra, các thông số mô tả về hệ thống… và tìm hiểu về quá trình Markov và trạng thái của hệ thống phục vụ…

1.1 Mô tả về hệ thống hàng đợi

Chúng ta làm quen với một ví dụ về hệ thống hàng đợi [2, 7, 10] (hay còn gọi

là hệ thống phục vụ đám đông) như hình vẽ 1.1:

Hình 1.1: Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông

Trong mô hình này, chúng ta quan sát thấy có yếu tố khách đến, khách bỏ đi (do không có thời gian chờ đợi, hoặc các lý do khác), khách xếp hàng chờ tới lượt mình được phục vụ, các máy phục vụ, và khách hàng đã được phục vụ xong, rời khỏi hệ thống phục vụ trên

Các yếu tố này có thể tóm lược sơ bộ gồm các thành phần trong bảng 1:

Bảng 1: Các yếu tố cấu thành một hệ thống phục vụ đám đông

STT Tên yếu tố Giải thích

1 Dòng các yêu cầu

đầu vào

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

Trang 13

xuống một phi trường…

2 Hệ thống phục vụ Là các máy phục vụ nhằm đáp ứng yêu cầu ứng với từng

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

3 Các máy phục vụ Các máy điện thoại bàn và nhân viên trong một Call

Center, đường băng tại sân bay, vị trí trong bãi đậu xe…

Sự chờ đợi (nhanh hay chậm để được đáp ứng yêu cầu) phụ thuộc mạnh vào

số lượng kênh phục vụ của hệ thống, cũng như quy tắc phục vụ của hệ thống

1.1.1 Mô hình hóa một hệ thống hàng đợi

Chúng ta có thể mô hình đơn giản cho một hệ thống hàng đợi trong hình 1.2 :

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

Trang 14

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

Bảng 2: Các tham số đặc trưng trong hệ thống hàng đợi

1 N(t) Số khách hàng ở trong hệ thống tại thời điểm t

2 λ Dòng yêu cầu đầu vào, đặc trưng bởi tốc độ đến (arrival rate) của

khách hàng

3 µ Dòng yêu cầu đầu ra, là các yêu cầu đã được và không được

phục vụ, đặc trưng bởi tốc độ tối đa phục vụ Lưu ý: λ < µ

4 Nq(t) Hàng chờ, đặc trưng bởi số lượng khe để phục vụ cho xếp hàng

5 Wi Thời gian xếp hàng của khách hàng thứ i trong hàng chờ

6 Ns(t) Kênh phục vụ và các cách phục vụ, đặc trưng bởi số lượng kênh,

cụ thể có c kênh, cũng có nghĩa là đang có c khách hàng đang được

phục vụ

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

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

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

Có nhiều nguyên tắc phục vụ, hoặc nguyên tắc xếp hàng Chúng ta lấy ví dụ đơn giản nhất khi xếp hàng là: Ai đến trước phục vụ trước – First In, First Out Khi

đó, Tổng thời gian trễ Ti của khách hàng thứ i sẽ là tổng của thời gian xếp hàng Wi

và thời gian phục vụ τi Chúng ta có:

1.1.2 Quan điểm về hiệu suất của hệ thống hàng đợi

Có hai quan điểm về vấn đề này [2]

Trang 15

Nếu nhìn ở góc độ khách hàng, chúng ta đã biết tốc độ đến (arrival rate) là λ,

và khách hàng đƣợc phục vụ, với tốc độ phục vụ là λs Khi đó chúng ta sẽ tính hiệu suất hệ thống chính là tốc độ phục vụ chia cho tốc độ đến hệ thống:

Công thức Litte phát biểu rằng:

Hệ thống hàng đợi đạt được trạng thái dừng khi mà

Số lượng trung bình các khách hàng trong hệ thống bằng Tốc độ đến trung bình

nhân với Thời gian phục vụ trung bình trong hệ thống hàng đợi đó

E[N(t)] = λtb E[T] (1.4) Khi đó, chúng ta suy ra các hệ quả sau:

- Số lƣợng trung bình khách hàng chờ đợi tại thời điểm t

E[Nq(t)] = λtb E[W]

- Số lƣợng trung bình khách hàng đƣợc phục vụ tại thời điểm t

(1.5)

E[Ns(t)] = λtb E[τ]

( đây là xác suất trạng thái dừng của hệ thống khi có khách hàng)

- Hiệu suất sử dụng (hay hệ số tải) của một hệ phục vụ có c máy

phục vụ:

(1.6)

Trang 16

ρ = λtb E[τ]/ c (1.7)

1.1.4 Hệ thống hàng đợi theo cách viết của Kendall và các phân phối liên quan

Theo Kendall [3,8,9], mô tả ngắn gọn về hệ thống hàng đợi có dạng nhƣ sau:

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

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

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

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

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

4 K Dung lƣợng của hệ thống, là số khách hàng lớn nhất có mặt mà hệ thống

phục vụ đƣợc, có tính đến cả khách hàng đang chờ

Chi tiết hơn, với ký hiệu X là biến ngẫu nhiên của phân phối xác suất và E[X]

là kỳ vọng , hoặc giá trị trung bình của X, chúng ta nói về các phân phối xác suất [6,

11] liên quan đến yếu tố A và B trong bảng 4:

Bảng 4: Các phân phối xác suất liên quan đến A và B trong mô tả Kendall STT Viết

tắt

Phân phối xác suất

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

k

j

j x

j

x e

F

1

j(1 )

Trang 17

4 D Phân phối tất định, thời

gian vào và thời gian phục vụ là hằng số

F(x) =1, nếu x ≥ a F(x)= 0, nếu x ˂ a

a là một thời điểm nào đó cố định

(1.12)

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

6 GI Phân phối tổng quát với

các thời gian vào hệ thống hoặc thời gian phục vụ độc lập nhau

Đặc trƣng bởi chuỗi Markov hoặc quá

trình Poisson, sẽ trình bày kỹ hơn về chuỗi này sau

7 PH Phân phối pha Đặc trƣng bởi chuỗi Markov, sẽ trình

bày kỹ hơn về chuỗi này sau

1.2 Các yếu tố của hệ thống phục vụ

Các yếu tố của hệ thống phục vụ [1], gồm có: Dòng yêu cầu đầu vào, Hàng đợi, Kênh phục vụ, dòng yêu cầu đầu ra, và các cách phục vụ (quy luật phục vụ ) Chúng ta sẽ xét từng yếu tố cụ thể đã liệt kê trong bảng 1

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

Dòng yêu cầu đầu vào (gọi tắt là dòng vào) là dòng các yêu cầu đến hệ thống phục vụ, đòi hỏi đƣợc thỏa mãn một yêu cầu nào đó Đặc trƣng rõ nét nhất của dòng

vào là tốc độ đến (arrival rate), ký hiệu là λ

Chúng ta thấy rằng, dòng các yêu cầu đầu vào là một yếu tố xuất hiện ngẫu nhiên, chúng có thể ít, có thể nhiều tùy theo thời điểm đến, nó có đặc trƣng bởi một

số phân bố xác suất nào đó (xem bảng 4) Trong luận văn này, chúng ta tập trung xét hai loại dòng yêu cầu đầu vào thông dụng nhất là:

 Dòng vào tiền định, đặc trƣng bởi phân phối tất định D

 Dòng vào Poisson, tuân theo phân phối Poisson

Một số ví dụ về dòng yêu cầu đầu vào: Khách hàng xếp hàng tại quầy thu ngân trong siêu thị, các xe ô tô chờ xếp hàng vào bãi, các máy bay chờ để cất cánh…

Dòng vào tiền định

Trang 18

Dòng vào tiền định là dòng vào trong đó các yêu cầu đến hệ thống phục vụ tại

các thời điểm cách đều nhau một khoảng a

Dòng vào tiền định là một đại lƣợng ngẫu nhiên có hàm phân bố xác suất theo

phân phối D:

F(x) = 1, nếu x ≥ a F(x) = 0, nếu x < a

(1.13)

Dòng vào Poisson

Dòng vào Poisson là dòng yêu cầu đi đến hệ thống, dòng vào này tuân theo luật phân phối Poisson với N(t) là số các biến cố xảy ra trong khoảng thời gian [0, t] N(t) là quá trình ngẫu nhiên liên tục, không giảm theo thời gian

N(t) có phân phối Poisson có kỳ vọng là λt, và có biểu diễn nhƣ sau:

t k

e k

t k

t N

P    

!

) ( ] ) ( [

(1.14)

- Dòng vào Poisson không dừng: Là dòng vào mà xác suất xuất hiện x yêu

cầu trong khoảng thời gian Dt, kể từ thời điểm t, phụ thuộc vào t, nghĩa là:

t t a

t t a

e Dt

(

) ,

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

- Dòng vào Poisson dừng: Là dòng vào mà xác suất trong khoảng thời gian

Dt, kể từ thời điểm t, có x yêu cầu xuất hiện, không phụ thuộc vào t, nghĩa là:

t

t

e Dt

!)

Trang 19

  o t

e t

1.2.2 Hàng đợi

Hàng đợi (Queue) là tập hợp các yêu cầu sắp xếp theo một nguyên tắc nào đó

để chờ đợi đến lượt được vào phục vụ trong hệ thống Trong hàng đợi ta có thể giới hạn hoặc không giới hạn số lượng khách chờ Phần dưới đây, chúng ta nói thêm về các quy luật xếp hàng chờ đợi đến lượt phục vụ

sẽ thiết lập nhân lực, vật lực, phương tiện, trang thiết bị cho hệ thống đó

Đặc điểm quan trọng nhất của kênh phục vụ là thời gian phục vụ τ i (xem bảng

2) Đó là thời gian mỗi kênh phải tiêu phí để phục vụ một yêu cầu Nói dễ hiểu là

“Anh tốn bao nhiêu thời gian để phục vụ xong một khách hàng”

Thời gian phục vụ cũng là một đại lượng ngẫu nhiên tuân theo một quy luật xác suất nào đó bởi nó phụ thuộc rất mạnh vào thời gian đến của các yêu cầu Các

dòng yêu cầu được phục vụ trong kênh phục vụ gọi là “dòng phục vụ”

Khi dòng phục vụ là tối giản thì khoảng thời gian giữa các lần xuất hiện liên tiếp các yêu cầu là một đại lượng ngẫu nhiên tuân theo luật chỉ số, nghĩa là đại lượng ngẫu nhiên có phân bố xác suất và hàm mật độ xác suất giống hệt như dòng vào Poisson dừng ở phần trên

e t

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

Trang 20

Khoảng thời gian giữa các lần xuất hiện liên tiếp các yêu cầu trong dòng phục

vụ của mỗi kênh chính là khoảng thời gian kênh đó phục vụ xong từng yêu cầu, nghĩa là thời gian phục vụ của kênh

Nếu dòng phục vụ trên mỗi kênh là dòng tối giản thì thời gian phục vụ của kênh đó là đại lượng ngẫu nhiên tuân theo luật chỉ số, nghĩa là có hàm phân phối xác suất và mật độ xác suất dạng (1.18) và (1.19)

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

Dòng yêu cầu đầu ra (gọi tắt là dòng ra) là dòng các yêu cầu đi ra khỏi hệ thống Có hai loại dòng ra:

 Dòng yêu cầu ra đã được phục vụ xong: là các yêu cầu đã được phục vụ ở mỗi kênh, nếu dòng đó là tối giản thì nó có một vai trò rất lớn trong hệ thống phục vụ Người ta đã chứng minh được rằng: nếu dòng vào là tối giản thì dòng ra được phục vụ tại mỗi kênh sẽ là dòng xấp xỉ tối giản (như

đã trình bày ở phần 1.2.3)

 Dòng yêu cầu ra không được phục vụ: là một phần các yêu cầu đến hệ thống nhưng không được phục vụ vì một lí do nào đó

1.2.5 Các quy luật hoạt động của hệ thống phục vụ

Một hệ thống phục vụ hoạt động theo những quy luật nào, nguyên tắc nào? Sự hiệu quả của những quy luật đó ra sao? Ứng với loại dòng vào cụ thể, hệ thống phục

vụ phải chọn lựa ra cách thức phục vụ nào để tối ưu nhất? Đó là một vài câu hỏi đặt ra cho hệ thống phục vụ

Đặc điểm chung về các quy luật phục vụ

Như vậy, các quy luật phục vụ của hệ thống phục vụ là cách mà hệ thống tiếp nhận các yêu cầu đầu vào, tiến hành phân loại, sắp xếp và phục vụ các yêu cầu đó trong hệ thống, ngoài ra, các quy luật này còn thiết lập một số các quy định khác đối với yêu cầu đầu vào Nó chỉ ra:

 Khi nào thì yêu cầu đáp ứng được các quy luật phục vụ và yêu cầu đó được nhận vào phục vụ

 Cách phân bổ các yêu cầu đó vào các kênh phục vụ

 Khi nào thì yêu cầu bị từ chối hoặc phải chờ đợi trong hàng đợi

 Cách bố trí hàng đợi tùy theo các loại yêu cầu

Một số phương pháp phục vụ

Trang 21

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

phương pháp phục vụ

Giải thích

1 FCFS – First Come First Served Ai đến trước phục vụ trước

2 LCFS – Last Come First Served Ai đến cuối phục vụ trước

3 SIRO – Service In Random Order Phục vụ theo thứ tự ngẫu nhiên

4 PS – Processor Shared Phục vụ có chia sẻ chung bộ xử lý

5 IS – Infinitive Server Phục vụ không xác định

Tùy thuộc vào việc chúng ta chọn phương pháp phục vụ, hàng đợi sẽ được

điều chỉnh theo phương pháp đó sao cho có hiệu quả nhất

1.3 Trạng thái của hệ thống phục vụ

Phần này, chúng ta quan tâm đến trạng thái hoạt động của hệ thống phục vụ Làm thế nào để tìm hiểu xem hệ thống phục vụ với những yếu tố, các quy luật đã trình bày ở trên, chúng ta tìm ra trạng thái hoạt động của nó? Trước hết, chúng ta tìm hiểu về quá trình Markov

1.3.1 Quá trình Markov

Quá trình Markov (Markov Process) là một quá trình ngẫu nhiên, trong đó,

tương lai của quá trình chỉ phụ thuộc vào hiện tại, không phụ thuộc vào quá khứ

Cụ thể, nếu với mọi cách chọn thời điểm tùy ý: t 1 < t 2 < t 3 < … < t k < t k+1

Trang 22

= P[a < X(tk+1) = xk+1 < b / X(tk) = xk] với mọi cách chọn tk và mọi k

Nếu X(t) là một quá trình ngẫu nhiên liên tục, X(t) là một quá trình Markov nếu:

) ) ( / ( ))

) ( , , )

( / ( 1 1 1 ( ) 1

Trong đó, t k là “Hiện tại” của quá trình

t k+1 là “Tương lai” của quá trình

t 1 , t 2 ,…, t k-1 là “Quá khứ” của quá trình Xét quá trình ngẫu nhiên Poisson có biểu diễn như sau:

t

k

e k

t k

i j

Trang 23

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

1.3.2 Định nghĩa về trạng thái của hệ thống phục vụ

Xét hệ thống phục vụ với c máy phục vụ (server) Trạng thái của hệ thống phục

vụ, ký hiệu là xk(t), là khả năng kết hợp dòng vào và dòng ra của hệ thống ở một thời điểm t nhất định nào đó Chúng ta mô tả đơn giản về số kênh làm việc trong hệ thống nhƣ sau:

1.3.3 Quá trình thay đổi trạng thái của hệ thống phục vụ

Hệ thống tồn tại ở trạng thái i trong một khoảng thời gian nhỏ nào đó, sau đó, hệ thống sẽ nhảy đến trạng thái j khác với trạng thái i Nguyên nhân gây ra sự thay đổi trạng thái gồm có:

- Sự thay đổi của dòng yêu cầu đầu vào (dòng vào)

- Sự thay đổi dòng phục vụ trong các kênh phục vụ

- Số kênh trong hệ thống phục vụ đang bận và đang hoạt động

- Bản thân hệ thống phục vụ có sự điều chỉnh sao cho phù hợp với các yêu cầu đầu vào, các yêu cầu phục vụ…

Trang 24

Chúng ta quan tâm tới yếu tố gọi là xác suất chuyển trạng thái, tức là khả năng

để hệ thống nhảy từ trạng thái i sang trạng thái j

Thời gian sống của một trạng thái là một biến ngẫu nhiên X(t) tuân theo quy luật phân phối mũ

Chúng ta giả sử trạng thái a của hệ thống tồn tại trong khoảng thời gian T a Khi

đó, xác suất để hệ thống ở trạng thái a trong khoảng thời gian lớn hơn t giây là

P[Ta > t]

Nếu chúng ta cho rằng hệ thống ở trạng thái a trong khoảng thời gian t giây, và

nó vẫn ở trạng thái a đó thêm s giây nữa (hệ thống ở trạng thái a trong t + s giây) Khi đó:

P[Ta > t+s / Ta >s] = P[Ta > t+s / X(s’)= a, 0 ≤ s’≤ s] (1.28) Theo định nghĩa về chuỗi Markov (các quá trình Markov nhận giá trị nguyên), chúng ta thấy rằng phần quá khứ sẽ không liên quan đến chuỗi Markov, do đó:

P[Ta > t+s / Ta >s] = P[Ta > t] = e – v * t

Với v = νa, kỳ vọng của X(t) là E[X(t)] = 1/ νa

(1.29)

Công thức Chapman – Kolmogorov liên quan đến xác suất trạng thái của hệ

thống và tốc độ dịch chuyển từ trạng thái i sang trạng thái j nào đó cho một chuỗi Markov với thời gian liên tục, đƣợc mô tả nhƣ sau:

Đặt pj(t) = P[X(t) = j]

Tỉ suất để quá trình X(t) sống ở trạng thái i

Khi X(t) nhảy từ trạng thái i sang trạng thái

j khả năng xảy ra biến cố đó là

Tốc độ mà quá trình X(t) nhảy từ trạng thái

i sang trạng thái j đƣợc tính bằng

υi

~

ijq

j

dt

t dp t

Trang 25

Hình 1.3: Mô tả sự chuyển trạng thái của chuỗi Markov

Để giải được hệ phương trình (1.30), chúng ta cần biết rõ các điều kiện ban đầu

pj(0) =0, pi(0)=1 với mọi i#j; j = 0, 1, 2,… Đây là phương trình trạng thái của hệ thống

Sơ đồ trạng thái là tập hợp các mũi tên, hình vẽ, diễn tả quá trình biến đổi trạng thái của hệ thống phục vụ, trong đó các mũi tên nối liền các trạng thái mô tả bước chuyển từ trạng thái này sang trạng thái khác, các hình chữ nhật biểu diễn trạng thái của hệ thống Tham số ghi trên các mũi tên biểu thị tác động của cường độ của dòng biến cố kéo trạng thái dịch chuyển theo hướng mũi tên

Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ

Khi t∞, chúng ta thu được p ’ j (t) p j (t); do đó p ’ j (t) 0, từ đây, chúng ta giải phương trình vi phân (1.30)

Trang 26

j ij j

1.4 Một số kết quả tổng hợp về hệ thống hàng đợi kinh điển M/M/1

Hệ M/M/1 [2] với sơ đồ chuyển trạng thái minh họa như hình 1.5:

Hình 1.5: Minh họa hoạt động của hệ M/M/1

 Khách hàng đến tuân theo quá trình Poisson, tốc độ trung bình là λ

 Khoảng thời gian giữa các lần đến là các biến ngẫu nhiên độc lập, tuân theo phân phối mũ, có trung bình là 1/ λ

 Thời gian phục vụ là các biến ngẫu nhiên độc lập, tuân theo phân phối mũ,

tốc độ trung bình là 1/μ

Lưu ý: Tốc độ trung bình khi đến = λ < μ = Tốc độ tối đa phục vụ

 Hàm xác suất trạng thái dừng của hệ M/M/1, có ký hiệu N(t)

 Thời gian đến khi mà các khách hàng đến tiếp theo là biến ngẫu nhiên phân phối mũ Biến ngẫu nhiên này độc lập với thời gian mà khách hàng thực sự được phục vụ ở bên trong của hệ M/M/1

 Do tính chất không nhớ của phân phối mũ, đối chiếu với định nghĩa về quá trình Markov, chúng ta kết luận N(t) =k là một chuỗi Markov liên tục

Xét theo mô tả Kendall: A/B/m/K đối chiếu cho hệ M/M/1/1 (chọn K=1)

- A(t) là số khách hàng đến, là quá trình Poisson,

- Trong khoảng thời gian δ, xác suất có một khách hàng đến là

) (

! 2

) (

! 1 1

*

! 1 ]

Trang 27

- Xác suất để khách hàng đƣợc phục vụ hoàn toàn trong hệ M/M/1 trong khoảng thời gian δ là:

) ( 1

]

o e

- Do đó, xác suất để một khách hàng đến, đồng thời 1 khách hàng đi là:

)(][

*]1)([],

/ 1 1

/ )]

( [

] [ 1

] [ ] [ ] [

(

[

2

W E t

học là các phân phối xác suất, cùng với công thức Little để đánh giá thời gian phục

vụ trung bình của hệ thống hàng đợi Các quy luật phục vụ trong hệ thống hàng đợi rất đa dạng, và tùy theo yếu tố dòng vào thuộc loại phân phối xác suất toán học nào

Trang 28

đó, mà chúng ta chọn lựa cách phục vụ sao cho đạt hiệu quả cao nhất có thể Một

mô tả kinh điển về hệ thống hàng đợi là mô tả Kendall

Bài toán hàng đợi liên quan mật thiết đến lý thuyết về các quá trình Markov,

đó là những quá trình ngẫu nhiên mà kết quả của chúng chỉ phụ thuộc vào hiện tại, không phụ thuộc vào quá khứ Hơn nữa, chúng ta xét đến hệ phương trình vi phân

Chapman – Kolmogorov từ đó, chúng ta biết được trạng thái hoạt động của hệ thống

Trang 29

Chương 2: Giới thiệu ngôn ngữ mô phỏng GPSS (General Purpose Simulation System)

Chương này giới thiệu sơ lược về ngôn ngữ GPSS, một ngôn ngữ mô phỏng chuyên dụng với các khái niệm, đặc trưng

2.1 Giới thiệu về ngôn ngữ GPSS

Với hai ngôn ngữ căn bản: C và Pascal, cùng với giải thuật đã có, chúng ta có thể lập trình để tìm ra kết quả cho bài toán mô phỏng Tuy nhiên, với sự phức tạp của thuật toán, và các loại cơ sở dữ liệu, ngôn ngữ mô phỏng chuyên dụng ra đời là một đòi hỏi tất nhiên cho bài toán mô phỏng

Chúng được thiết kế sao cho gần gũi với tư duy tự nhiên của con người, thuận tiện cho việc thao tác, đơn giản cho việc viết câu lệnh khai báo các cấu trúc, các tham số liên quan khi lập trình Đồng thời, chúng tích hợp sẵn bên trong (dạng built-in) những hàm chức năng thông dụng liên quan đến bài toán mô phỏng, nhằm giảm thời gian lập trình cho người sử dụng

2.2 Sự ra đời của ngôn ngữ GPSS

Khoảng thập niên 1960, Geoffrey Gordon ở hãng IBM đã phát triển ngôn ngữ GPSS - Gordon’s Programmable Simulation System, sau đổi thành General Purpose Simulation System, viết tắt là GPSS [4-5], loại ngôn ngữ mô phỏng các sự kiện rời rạc GPSS World là một dạng khác của GPSS dành cho máy tính cá nhân (GPSS/PC

- personal computer)

Công bố năm 1984, GPSS/PC nhanh chóng đạt được thành công lớn, cũng như đem lại tiết kiệm hàng triệu Mỹ kim cho người dùng Minh chứng cụ thể hiện nay là việc khai thác GPSS World trên nền hệ điều hành Windows đã mở rộng khả năng của nó trong môi trường liên mạng Internet toàn cầu

Ngôn ngữ mô phỏng GPSS tạo ra các giao dịch (Transaction) và quản lý chúng theo giai đoạn, hoặc theo các khối (Block) Đây là đặc điểm khác biệt của

ngôn ngữ GPSS Một transaction liên quan đến hai khái niệm sau:

- CEC: Current Event Chain Chuỗi sự kiện hiện tại

- FEC: Future Event Chain Chuỗi sự kiện tương lai

Mỗi transaction được quản lý trên một ô nhớ khác nhau, nó có thể được thực hiện ngay nếu gặp CEC, hoặc chờ thêm các sự kiện FEC thì sẽ thực hiện Từ cửa sổ

Trang 30

màn hình lập trình GPSS, chúng ta có thể quan sát được vị trí của các transaction này thông qua CEC/FEC Trong chương 3, chúng ta sẽ trình bày rõ ràng hơn về GPSS World

Hình 2.1: Minh họa cửa sổ làm việc của GPSS World

2.3 Những ưu điểm của ngôn ngữ GPSS

GPSS World có một ưu điểm là tính trong suốt với các dẫn chứng cụ thể như sau

Đầu tiên, nếu chúng ta mô phỏng theo dạng hộp đen (black -box), chúng ta

chẳng thể quan sát nổi bên trong cái hộp này có những thành phần gì, chúng hoạt động ra sao, tương tác với nhau thế nào Điều này dẫn đến việc chúng ta không thể kiểm soát nổi hộp đen ngay tại thời điểm làm việc, cũng như không thể dự đoán được hành vi của nó trong tương lai Đó là điều không ai muốn

Thứ hai, chỉ thật sự có ích lợi cả về mặt mục tiêu cũng như về vấn đề thời gian khi và chỉ khi chúng ta mô phỏng thành công Trên cơ sở đó, khi có sự thay đổi nhân lực, những thành viên mới đến làm việc sẽ hiểu được và tiếp quản được những công việc đã làm, cũng như phát triển tiếp sau này

Thứ ba, có một vấn đề nhỏ nhưng có ý nghĩa khi mô phỏng Đó là làm sao chúng ta có thể nhận thấy động lực học bên trong (internal dynamics) hệ thống tại ngay thời điểm quyết định khi một người giàu kinh nghiệm tiến hành mô phỏng GPSS World được thiết kế với những điểm mạnh có thể liệt kê ra ở đây:

Trang 31

- Là ngôn ngữ hướng đối tượng, chạy được trên nhiều nền tảng hệ điều hành khác nhau như Windows, Linux

- Hình ảnh hóa các mô hình, từ đó giúp người dùng hiểu rõ, nắm bắt mô hình tốt nhất có thể, đồng thời sao lưu lại dưới dạng hình ảnh thống kê dễ hiểu

- Khả năng tương tác của nó giúp người dùng dễ dàng tìm hiểu và vận hành các bài toán mô phỏng nhờ giao diện thân thiện

- Tích hợp các cở sở phân tích dữ liệu để tính toán các thành phần trong hệ thống một cách trực quan

- Là công cụ có thể làm nhiều việc khác nhau tại một thời điểm (multitask)

và hoạt động trên cơ sở sử dụng bộ nhớ ảo, do đó không tốn kém tài nguyên của máy tính

2.4 Các ứng dụng của công cụ mô phỏng GPSS World

Các ứng dụng chính của công cụ mô phỏng GPSS World có thể kể đến như:

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

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

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

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

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

Ví dụ một chương trình GPSS đơn giản:

; GPSS World Sample File - BOOKMRK.GPS

170 * Simple Telephone Simulation *

180 * Time Unit is one second *

200 Sets STORAGE 2

Trang 32

210 Transit TABLE M1,100,100,20 ;Transit times

220 GENERATE 100,60 ;Calls arrive

230 Again GATE SNF Sets,Occupied ;Try for a line

240 ENTER Sets ;Connect call

250 ADVANCE 180,60 ;Speak for 3+/-1 min

260 LEAVE Sets ;Free a line

270 TABULATE Transit ;Tabulate transit time

280 TERMINATE 1 ;Remove a transaction

290 Occupied ADVANCE 300,60 ;Wait 5 minutes

300 TRANSFER ,Again ;Try again

310 *******************************************************

Chương trình mô phỏng hoạt động đơn giản của hệ thống máy điện thoại (telephone) với hai đường dây ngoài (external lines), cuộc gọi từ ngoài vào xuất hiện với khoảng thời gian 100 ± 60 giây, thời gian của cuộc gọi là 3 ± 1 phút, người gọi sẽ quay số để gọi lại sau khoảng thời gian 5 ± 1 phút Câu hỏi đặt ra là hệ thống telephone trên hoạt động trong bao lâu thì hoàn thành 200 cuộc gọi?

Kết luận

Ngôn ngữ GPSS và công cụ GPSS World có những ưu điểm riêng biệt khi giải quyết các bài toán hàng đợi khi chúng làm việc với các Transaction, các Block dựa trên một giải thuật nào đó

Trang 33

Chương 3: Tìm hiểu về ngôn ngữ GPSS và công cụ

mô phỏng GPSS World

Chương này tập trung vào ngôn ngữ GPSS [4-5], một ngôn ngữ mô phỏng chuyên dụng với hệ thống cấu trúc câu lệnh của nó; cùng với công cụ mô phỏng GPSS World để giải quyết các vấn đề liên quan đến hệ thống phục vụ đám đông Như đã trình bày sơ qua ở chương hai, bây giờ, chúng ta đi sâu vào tìm hiểu ngôn ngữ lập trình GPSS và công cụ GPSS World

3.1 Cấu trúc lệnh của GPSS khi lập trình

Phần này trình bày chi tiết, cụ thể là làm thế nào để lập trình trên môi trường

mô phỏng GPSS World thông qua câu lệnh Cấu trúc lệnh trên công cụ GPSS World có dạng tổng quát như sau:

Giải thích cụ thể:

Label – Nhãn: các thao tác lệnh riêng lẻ trong chương trình có thể có tên nhãn

để tham chiếu đến chúng từ những thao tác lệnh khác Nếu trong chương trình không có những tham chiếu này thì thành phần nhãn này của câu lệnh không nhất thiết phải có

BlockType – Tên block (Tên lệnh): chứa động từ khóa (tên của câu lệnh) chỉ

thị một chức năng hay một hàm cụ thể nào đó mà câu lệnh này sẽ thực hiện Bắt buộc phải có Blocktype đối với một câu lệnh

Operands – Các toán hạng: Từ Blocktype, chúng ta có các tham số, các toán

hạng thực thi cho blocktype Những trường toán hạng này tùy thuộc vào kiểu của hàm hay lệnh mà có thể chứa đến 7 toán hạng sắp xếp theo một trình tự nhất định 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 Các toán hạng này không nhất thiết phải thiết lập, việc thiết lập giá trị của chúng

có thể theo mặc định và phụ thuộc vào từng lệnh cụ thể

Comment – Phần chú giải: Được đặt sau dấu “;” để chú giải nội dung cho các

dòng lệnh Có thể chú thích hoặc không cần, tuy nhiên, nên có chú giải để người đọc dễ hiểu hơn nội dung lập trình Ví dụ minh họa:

GENERATE (Exponential(1,0,300)) ;Interarrival time 5 secs

QUEUE Erlang

Trang 34

- Thao tác lệnh khai báo đối tượng

- Thao tác lệnh điều khiển

- Thao tác lệnh vận hành

Các thao tác lệnh – blocks (gọi tắt là BLOCK) đảm bảo logic chức năng

hoạt động của mô hình GPSS World đã tích hợp khoảng 50 BLOCK cho người dùng, mỗi BLOCK có một chức năng cụ thể nào đó của mình và có một ví trị nhất định trong chương trình nguồn

Các thao tác khai báo, định nghĩa đối tượng dùng để xác định các tham

biến của các đối tượng nào đó trong GPSS Ví dụ của các tham biến có thể là số kênh phục vụ trong hệ đa kênh, số hàng và số cột của ma trận…

Các thao tác lệnh điều khiển dùng để kiểm soát và điều khiển quá trình mô

phỏng (mô hình được vận hành)

Các thao tác lệnh vận hành cho phép điều khiển hoạt động của môi trường

tích hợp GPSS/PC Đây là các thao tác hoạt động trên phần mềm, sao cho nội dung của chương trình ( source code) được chạy tốt để ra kết quả

3.2 Các đối tượng trong GPSS

Trong GPSS, các đối tượng có thể được phân chia ra 7 kiểu:

Đối tượng động: là các transactions, bản chất là nguyên mẫu của “yêu cầu”

trong thuật ngữ của hệ thống phục vụ đám đông Trong quá trình mô phỏng, các

giao dịch - transactions được “tạo ra” (ứng với loại “yêu cầu đến”) và “kết

thúc” (ứng với loại “yêu cầu đi” Việc mô phỏng luôn phải thực hiện theo thuật

toán Chúng ta chủ động tạo ra và kết thúc các Transaction

Trang 35

Đối tượng điều hành: Đối tượng điều hành (Block Entities) của GPSS còn

được gọi là các khối (Blocks) tương ứng với thực thi lệnh – blocks của chương trình nguồn và cũng thiết lập logic các hoạt động của mô hình bằng cách đưa ra các chỉ thị đối với các Transactions: sẽ đi tới đâu và làm gì tiếp theo 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 Block tương ứng với một hành động trong việc mô phỏng

Đối tượng thuộc về thiết bị: Đối tượng thuộc về thiết bị (Facility Entities)

tương tự như các máy phục vụ và các thiết bị khác của hệ thống thực

- Thiết bị đơn kênh, đa kênh và thiết bị chuyển logic Loại này tương ứng với máy phục vụ trong hệ thống phục vụ đám đông

- Thiết bị chuyển logic Loại này được sử dụng để mô phỏng thiết bị có 2 trạng thái của tính chất logic hay vật lý và có thể ở hai trạng thái: bật và tắt, đóng và mở

Đối tượng tĩnh: 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 Chúng có

- Các hàng đợi (Queue Entities) 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ề Transactions đượ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 bảng (Table Entities) Các bảng được sử dụng để nhận các phân phối của các đại lượng ngẫu nhiên, ví dụ thời gian chờ đợi và lưu lại của các Transactions trong mô hình mô phỏng

Đối tượng 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

Đối tượng lưu trữ: Đối tượng 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ó Savevalue Entities, Matrix Entities

Đối tượng 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ác blocks có thể sử dụng khi làm việc với Numeric Group Entities gồm có: JOIN (đưa một giá trị vào một Numeric Group; REMOVE lấy một giá trị ra…); Transaction Group Entities, Userchain Entities

Trang 36

Trong đó Userchain Entities được sử dụng để thiết lập các hàng đợi với các quy tắc khác nhau, nếu như muốn khác quy tắc cơ bản FIFO

3.3 Các block cơ bản trong GPSS

Tập hợp các câu lệnh (Blocks) được sử dụng trong GPSS/PC có thể chia ra gồm 4 nhóm với hơn 50 câu lệnh tương đương với các Blocks:

- Nhóm các Blocks liên quan đến Transactions

- Blocks liên quan đến các đối tượng thuộc về thiết bị

- Các Blocks để thu thập dữ liệu tĩnh

- Các Blocks để điểu chỉnh “đường dịch chuyển” của các “yêu cầu” (transactions) trong mô hình mô phỏng

Chúng ta biết rằng ngôn ngữ GPSS tạo ra và quản lý chủ yếu là các Transaction Vì vậy, phần này trình bày chi tiết những vấn đề liên quan đến Transaction Các Transaction là giới hạn tạm thời giữa các thực thể (entities), chúng xuất hiện trong quá trình liên kết các danh sách, được gọi là chuỗi Một số thực thể, chẳng hạn như Facilities, có một vài chuỗi Những thực thể khác có khi chỉ là một chuỗi đơn như chuỗi thử lại (Retry chain) Chúng ta có thể hiểu rõ transaction trong GPSS thông qua các chuỗi sau:

Current Event Chain – CEC: một chuỗi sự kiện hiện tại

Trang 37

Đây là một danh sách đã liên kết những Transaction, những Transaction này

có các Blocks đã được nhập vào trước thời gian mô phỏng Và các CEC có vị trí ưu tiên cao, tuy nhiên một số Active Transaction có thể trở về đầu hàng của chuỗi CEC Vì lý do này, một Transaction khi bắt đầu nạp vào quá trình mô phỏng, nó giữ mức ưu tiên cao cho đến khi mô phỏng xong, nó chỉ bị cắt ngang bởi một Transaction có độ ưu tiên cao hơn xen vào

Giả sử trong một CEC tồn tại hai Transaction có độ ưu tiên khác nhau, nếu Transaction A rời khỏi CEC, thì Transaction còn lại sẽ thay thế và trở thành Active Transaction của CEC

Future Event Chain – FEC: một chuỗi sự kiện tương lai

Đây là thời gian đã được sắp đặt trước, có nhiệm vụ bắt các transaction phải chờ đợi một khoảng thời gian nào đó trong quá trình mô phỏng Khi nào mọi hoạt động mô phỏng ứng với thời gian hiện tại được hoàn thành, Transaction kế tiếp sẽ được lấy từ FEC Và hoạt động này sẽ cập nhật đồng hồ hệ thống, giá trị của đồng

hồ hệ thống sẽ bằng với thời gian lập lịch của Transaction cuối cùng được lấy từ FEC

Chúng ta thấy rằng các block: ADVANCE Blocks và GENERATE Blocks về bản chất chỉ là những cách xác định các Transaction từ FEC Các Blocks này tăng một lượng thời gian lên như một toán hạng, để tính toán thời gian tuyệt đối trước khi thay thế transaction từ FEC Đến khi đồng hồ hệ thống đạt đến thời gian tuyệt đối đó, Transaction được chuyển tới CEC trong thời gian mô phỏng hệ thống

Khi bộ lập lịch chọn ra một Active Transaction mới, mà nó không tồn tại trong CEC, thì phải lấy Transaction này từ FEC Sự gỡ bỏ của một hoặc nhiều Transaction luôn dẫn đến sự cập nhật đồng hồ hệ thống Khi ít nhất hai Transaction tập trung lại trên FEC tại thời điểm sắp xảy ra sự kiện kế tiếp, một sự hạn chế về mặt thời gian (Time Tie) được thiết lập

Và trong quá trình tiến hành thao tác trên GPSS, nếu chúng ta thiết lập cho Model Setting (trong phần mềm), một Transaction có sự hạn chế về mặt thời gian được chuyển từ FEC vào CEC, việc này không kiểm soát được thứ tự ưu tiên Đó là một điều không ai mong muốn khi lập trình

Như vậy, một sự hạn chế về mặt thời gian (time tie) xảy ra khi có sự xuất hiện của ít nhất hai Transaction có giá trị thời gian giống hệt nhau tại FEC Khi Time Tie này được phát hiện, những Transaction liên quan sẽ bị gỡ ra khỏi FEC một cách ngẫu nhiên

Ngày đăng: 25/07/2017, 21:48

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông. - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 1.1 Ví dụ về hệ thống hàng đợi, hay còn gọi là hệ thống phục vụ đám đông (Trang 12)
Hình 1.2: Mô hình hóa các yếu tố của một hệ thống hàng đợi - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 1.2 Mô hình hóa các yếu tố của một hệ thống hàng đợi (Trang 13)
Bảng 5: Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Bảng 5 Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi (Trang 21)
Hình 1.3: Mô tả sự chuyển trạng thái của chuỗi Markov - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 1.3 Mô tả sự chuyển trạng thái của chuỗi Markov (Trang 25)
Hình 1.4: Sơ đồ trạng thái của hệ thống phục vụ           Khi t  ∞, chúng ta thu được p ’ j (t)    p j (t); do đó p ’ j (t)   0, từ đây, chúng ta  giải phương trình vi phân (1.30) - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 1.4 Sơ đồ trạng thái của hệ thống phục vụ Khi t  ∞, chúng ta thu được p ’ j (t)  p j (t); do đó p ’ j (t)  0, từ đây, chúng ta giải phương trình vi phân (1.30) (Trang 25)
Hình 2.1: Minh họa cửa sổ làm việc của GPSS World - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 2.1 Minh họa cửa sổ làm việc của GPSS World (Trang 30)
Hình 3.2: Minh họa mô hình của hệ phục vụ đám đông đơn kênh hở - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 3.2 Minh họa mô hình của hệ phục vụ đám đông đơn kênh hở (Trang 44)
Hình 4.2: Cấu trúc mô hình phân tích - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.2 Cấu trúc mô hình phân tích (Trang 46)
Hình 4.1: Tổ chức luồng thông tin - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.1 Tổ chức luồng thông tin (Trang 46)
Hình 4.3: Lưu đồ giải thuật - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.3 Lưu đồ giải thuật (Trang 48)
Bảng 7: Báo cáo thông kê kết quả hoạt động của phòng xử lý thông tin - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Bảng 7 Báo cáo thông kê kết quả hoạt động của phòng xử lý thông tin (Trang 51)
Hình 4.5: Đánh giá hiệu suất của A, B, C với tối đa 1600 thông tin đầu vào, - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.5 Đánh giá hiệu suất của A, B, C với tối đa 1600 thông tin đầu vào, (Trang 53)
Hình 4.4: Đánh giá hiệu suất của các bộ phận A, B, C với tối đa 400 thông tin đầu  vào, lấy mẫu cách nhau 10 thông tin - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.4 Đánh giá hiệu suất của các bộ phận A, B, C với tối đa 400 thông tin đầu vào, lấy mẫu cách nhau 10 thông tin (Trang 53)
Hình 4.6: Điều kiện bài toán - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.6 Điều kiện bài toán (Trang 55)
Hình 4.8: Thuật toán hoạt động của mô hình mô phỏng - Nghiên cứu và sử dụng công cụ GPSS trong bài toán mô phỏng hàng đợi
Hình 4.8 Thuật toán hoạt động của mô hình mô phỏng (Trang 56)

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