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

Nghiên cứu về hệ thống hàng đợi và xây dựng chương trình mô phỏng mô hình trên công cụ mô phỏng GPSS

60 1,3K 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 60
Dung lượng 2,26 MB

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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC HOÀNG ANH

NGHIÊN CỨU VỀ HỆ THỐNG HÀNG ĐỢI

VÀ XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG

MÔ HÌNH TRÊN CÔNG CỤ MÔ PHỎNG GPSS

LUẬN VĂN THẠC SĨ ĐIỆN TỬ - VIỄN THÔNG

HÀ NỘI - 2012

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC HOÀNG ANH

NGHIÊN CỨU VỀ HỆ THỐNG HÀNG ĐỢI

VÀ XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG

MÔ HÌNH TRÊN CÔNG CỤ MÔ PHỎNG GPSS

Ngành: Công nghệ Điện tử Viễn thông Chuyên ngành: Kỹ thuật điện tử

Mã số: 60 52 70

LUẬN VĂN THẠC SỸ

Người hướng dẫn khoa học: TS LÊ QUANG MINH

HÀ NỘI - 2012

Trang 3

Mục LụcBảng các ký hiệu và chữ viết tắt _ v Danh sách các hình vẽ vi Danh sách các bảng biểu _ vii Chương 1: Cơ sở lý thuyết về hệ thống hàng đợi _ 1

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

1.3.2 Định nghĩa về trạng thái của hệ thống phục vụ 10 1.3.3 Quá trình thay đổi trạng thái của hệ thống phục vụ 11 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 13

Chương 2: Hiện trạng một số công cụ mô phỏng các bài toán hàng đợi _ 16

2.1 Các công cụ mô phỏng sử dụng ngôn ngữ đặc tả Petri- net 16

2.2.4 Các ứng dụng của công cụ mô phỏng GPSS World 23 2.3 Một số ngôn ngữ lập trình bậc cao dùng để giải quyết bài toán hàng đợi 24

Trang 4

2.3.2 Ngôn ngữ lập trình Java 25 2.3.3 Ngôn ngữ lập trình C++ và bộ công cụ Visual Studio.NET 25

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

Chương 4: Áp dụng ngôn ngữ mô phỏng vào bài toán thực tế _ 39

4.1 Bài toán đánh giá hoạt động tại một đơn vị xử lý thông tin 39

4.2 Bài toán đánh giá hoạt động của một phần dây chuyền sản xuất tại E112 45

Kết luận chung 48 TÀI LIỆU THAM KHẢO _ 49

Trang 5

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

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

GPSS General Purpose Simulation

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

P/T net Place/ Transition Network Một loại ngôn ngữ mô tả toán học,

dựa trên lý thuyết về tập hợp

Trang 6

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

Hình 1 1 Ví dụ về hệ thống hàng đợi 1

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

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

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

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

Hình 2 4 Minh họa tính không có đường bao giới hạn của P/T net 19

Hình 2 7 Minh họa công cụ Netlab tích hợp trên nền tảng Matlab 24

Hình 2 8 Minh họa Applet: The Petri – Net – Simulator chạy trên nền Java 25

Hình 2 9 Minh họa công cụ YASPER phát triển trên công nghệ NET 26

Hình 3 2 Minh họa mô hình của hệ phục vụ đám đông đơn kênh hở 37

Hình 4 3 Đánh giá hiệu suất của các bộ phận A, B, C với 300 thông tin 44

Hình 4 4 Đánh giá hiệu suất của A, B, C với tối đa 1500 thông tin 44

Trang 7

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 1

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

Bảng 3: Các yếu tố theo quy tắc Kendall khi mô tả về hàng đợi 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 5

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

Bảng 6: So sánh giữa P/T net và GPSS 26

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

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

Trang 8

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,12]

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ữ 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 của tổng đài và phòng xử lý thông tin ở nơi tôi đang làm việc

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

Trang 9

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

giới thiệu một số ngôn ngữ, công cụ mô phỏng được sử dụng để giải quyết các bài toán hàng đợi Chúng ta sẽ tìm hiểu qua về ngôn ngữ đặc tả P/T net, và ngôn ngữ General Purpose Simulation System – GPSS, tiến hành so sánh, đánh giá hai ngôn ngữ đó GPSS có

ưu điểm hơn P/T net khi chúng ta giải bài toán hàng đợi bằng phương pháp mô phỏ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ế: Bài toán đánh giá hoạt động của

Tổng đài điện thoại, và đánh giá hoạt động của một phòng xử lý thông tin tại nơ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 10

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, 12, 18] (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 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

Trang 11

hoạt động theo những quy luật, nguyên tắc phục vụ nào?

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

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

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

đầu ra

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

Về bản chất, khi xuất hiện các yêu cầu vượt quá khả năng đáp ứng của một dịch

vụ nào đó tại một thời điểm nào đó, hàng đợi sẽ xuất hiện

Sự chờ đợi (nhanh hay chậm để được đáp ứng yêu cầu) phụ thuộc mạnh vào số lượng kênh phục vụ của hệ thống, cũng như quy tắc phục vụ của hệ thống

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

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

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

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

Trang 12

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]

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

có một số khách hàng bỏ đi, với tốc độ bỏ đi là λb Khi đó chúng ta sẽ tính hiệu suất hệ thống (theo góc độ dòng yêu cầu đầu vào, hay góc độ khách hàng):

Nếu nhìn ở góc độ phân bố tài nguyên trong hệ thống, hiệu suất hệ thống tính theo tỉ lệ thời gian mà mỗi máy phục vụ có thể thực hiện được, và tốc độ mà mỗi khách hàng được phục vụ

Khi đó hiệu suất hệ thống là một hàm số của N(t) và Nq(t):

η2 = λ - λb = f(N(t), Nq(t)) (1.3)

1.1.3 Công thức Little

Thời gian phục vụ là một đại lượng ngẫu nhiên, chúng ta khó có thể đo được Tuy nhiên, nhìn tổng thể, thời gian phục vụ trung bình là một yếu tố rất quan trọng, đem lại nhiều ý nghĩa để đánh giá hiệu suất hoạt động của hệ thống hàng đợi

Trang 13

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

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

Trung bình khách hàng chờ đợi và Thời gian chờ đợi trung bình

(1.5)

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

Trung bình khách hàng đang được phục vụ tại thời điểm t

và toàn bộ thời gian phục vụ trung bình trên các máy phục vụ

(1.6)

ρ = λtb E[τ]/ c

(đây là hệ số sử dụng của một hệ phục vụ có c máy phục vụ)

(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,13,14], 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ụ

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ờ

Trang 14

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 [8,

20] 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

k

j

j x

j

x e

k

j

x j

e x

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)

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 Possion, sẽ trình bày kỹ hơn về chuỗi này sau

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

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

Trang 15

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 1.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 Possion, tuân theo phân phối Possion

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

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

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

x t

t

e Dt

!)

Trong đó, λ o là số yêu cầu trung bình xuất hiện trong một đơn vị thời gian (cường

độ dòng yêu cầu) Nói cách khác là mật độ dòng yêu cầu không đổi

Trang 16

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

độ như sau:

t o

e t

t o

o

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ụ

Đặ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 1.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 Possion dừng ở phần trên

t o

e t

t o

o

e t

Trang 17

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ụ

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

Trang 18

6 Static priorities Phục vụ ưu tiên các yếu tố tĩ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

) ( , , )

( /

(1.23)

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 Poission có biểu diễn như sau:

t k

e k

t k

t N P

!

) ( ] ) ( [

(1.24)

Trang 19

Từ định nghĩa trên, chúng ta thấy ngay, quá trình ngẫu nhiên Poission là một quá trình Markov liên tục:

t

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

(1.25)

Xét một chuỗi Markov Xn (là quá trình ngẫu nhiên Markov nhận các giá trị

nguyên), vấn đề là làm thế nào để xác định được Xn

Đặt pj(0) = P[X0 = j], với j = 0, 1, 2,…Khi đó, xác suất đồng thời của n+1 giá trị đầu tiên là

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

* P[X1 = i1 / X0 = i0] * P[X0 = i0] (1.26)

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

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:

Trang 20

Số kênh đang làm việc k

Số kênh rảnh rỗi c – k

Tại một thời điểm t nào đó, hệ thống phục vụ đang ở trạng thái cụ thể Bản chất trạng thái đó là một quá trình ngẫu nhiên, nó hoạt động theo một luật phân phối xác suất nhất định Do vậy, tồn tại khả năng xuất hiện một trong các trạng thái xk(t) (k = 0,1,2, ) tại thời điểm t, với xác suất là một giá trị xác định Pk(t)

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

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

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

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

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

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

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

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

υi

Trang 21

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

Khi đó, chúng ta thiết lập được hệ phương trình vi phân Chapman – Kolmogorov :

i ij

j

dt

t dp t

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

Trang 22

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

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

i

j ij

p' ( ) 0 * với mọi j Tức là

i

j ij j

v

i

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,19, ] 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 Poision, 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 Poission,

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

) (

! 2

) (

! 1 1

*

! 1 ]

Trang 23

) ( ]

* ] 1 ) ( [ ] ,

N

- Tổng số khách hàng bị trì hoãn lại trong M/M/1 (theo (1.7)và (1.35)):

1 1

] [ 1

/ 1 1

/ )]

( [

] [ 1

] [ ] [ ] [

(

[

2

W E t

Chúng ta quan tâm tới yếu tố dòng vào, dòng ra Chúng mang bản chất

toán 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 đó, 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

Trang 24

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 hàng đợi

Tuy nhiên, để giải được các mô hình, phương trình toán học là điều khó khăn trong hệ thống hàng đợi Với sự phát triển của khoa học máy tính như ngày nay, với

ưu thế của sự tích hợp các phân phối xác suất toán học vào trong các phần mềm mô phỏng và việc xây dựng, thiết lập các mô hình, việc tìm ra các giải thuật, chúng ta giải quyết bài toán hàng đợi phức tạp này thông qua phương pháp mô phỏng trên phần mềm Điều đó khắc phục rất tốt những hạn chế của phương pháp toán học thuần túy khi giải quyết bài toán hàng đợi

Trang 25

Chương 2: Hiện trạng một số công cụ mô phỏng các bài toán hàng đợi

Chương này giới thiệu tổng quan một số công cụ mô phỏng được sử dụng trong thực tế để giải quyết các bài toán hàng đợi

2.1 Các công cụ mô phỏng sử dụng ngôn ngữ đặc tả Petri- net

[9-11,13,15] , (còn gọi là Place/Transition net, hoặ

ữ ả ọc về các hệ thống song song và các hệ thống

P/T net cung cấp các chú thích đồ họa để tiện cho người sử dụng, thiết lập các lựa chọn, các quy tắc để mô hình hóa sự kiện một cách tốt nhất

ới những phát triển lý thuyết toán học cho quá trình phân tích

2.1.1 Các khái niệm cơ bản về P/T net

Petri nets gồm ba thành phần cơ bản: place, transition và directed arc

là các vị trí, biểu thị bởi hình tròn, kí hiệu là vị trí P

là trạng thái và sự nhảy trạng thái, biểu thị bởi hình chữ nhật hoặc ô vuông, kí hiệu là trạng thái T

là các đường dẫn trực tiếp liên kết giữa các vị trí P và các trạng thái T

là các mã thông báo, nó biểu hiện cho đặc trưng của Place, biểu thị bởi chấm tròn đen nằm trong Place

Sự phân bố các Token trên các Place

Trang 26

Các đường nối (Arc) sẽ liên kết từ P sang T hoặc ngược lại từ T về P, không

bao giờ được nối Arc giữa T với T, hoặc P với P Trong hình trên, ta thấy P1 được coi

là Place đầu vào vì nó chứa đường nối nhảy tới trạng thái T1 Còn P4 được coi là Place đầu ra từ trạng thái T2

Các Place có chứa một số tự nhiên các mã thông báo (Tokens) nào đó Sự sắp

xếp, phân bố các Token này trên các Place thì được biết đến với thuật ngữ là Marking, tức là các mặt nạ

Một trạng thái trong hệ Petri net được gọi là fire (cháy) khi xuất hiện token trên toàn bộ các đường dẫn liên kết đầu vào (arc đầu vào) Chúng ta thấy rằng: việc thực thi trong toàn hệ thống Petri net là một quá trình không thể xác định rõ ràng, khi có rất nhiều trạng thái transition cùng xảy ra tại một thời điểm, trong số các transition đó, tồn tại một số transition bị cháy

Vì vậy, Petri net là một ngôn ngữ mô tả thích hợp khi mô hình hóa thói quen hoạt động của hệ thống phân tán Petri net có ứng dụng trong hệ thống hàng đợi

2.1.2 Mô tả toán học về Petri net

Thuần túy về toán học [15], chúng ta định nghĩa:

S là tập hợp xác định các Place

T là tập hợp xác định các Transition

F là các quan hệ kết nối (flow relations)

Net là một tổ hợp ba yếu tố N = (S, T, F)

Net thỏa mãn các điều kiện sau:

- S T = Ø , S T ≠ Ø S và T rời nhau, hợp của S và T khác rỗng

cho một số giá trị x S T }

S N là các thành phần có thuộc tính trong tập hợp S

T là các thành phần có thuộc tính trong tập hợp T

Trang 27

S

2.1.3 Một số thuộc tính của P/T net

Từ các khái niệm căn bản mô tả trên lý thuyết tập hợp, chúng ta phát triển mô hình Petri net với các đặc tính toán học, bao gồm:

- Đặc tính tiếp cận (Reachability)

Mặt nạ Marking M có thuộc tính tiếp cận từ mặt nạ M0 nếu tồn tại một chuỗi firing σ

= (M1 t1 , M2 t2 , M3 t3 ,… Mk tk) chuyển dịch từ M0 đến M Ví dụ với M = (1,0,1,0) và

M0 = (1,1,0,0), chúng ta thấy tồn tại chuỗi chuyển dịch firing như hình vẽ:

Hình 2 2 Minh họa tính tiếp cận của P/T net

- Tính bất tử (Liveness)

Bất kỳ mặt nạ marking nào đó, bất kỳ chuyển dịch transition nào đó, chúng đều

có thể trở thành đối tượng có khả năng firing

Trang 28

Hình 2 3 Minh họa tính bất tử của P/T net

- Tính không có đường bao giới hạn (Boundedness)

Điều này xảy ra khi một số lượng token trong bất kỳ Place nào đó không thể lớn lên một cách không xác định

Hình 2 4 Minh họa tính không có đường bao giới hạn của P/T net

- Tính bảo thủ (Conservation)

Tổng tất cả các Token trong mạng P/T net là một hằng số

Hình 2 5 Minh họa tính bảo thủ của P/T net

Trang 29

2.1.4 Một số công cụ sử dụng ngôn ngữ P/T net

- WoPeD (Workflow Petri Net Designer) [16], là một công cụ dùng để thiết

kế mô phỏng luồng công việc trong thực tế, sử dụng ngôn ngữ mô tả P/T net WoPeD là phần mềm mã nguồn mở Chi tiết chúng ta xem tại

- TAPAAL (Tool for Verification of Timed-Arc Petri Nets) [17], là công cụ

mô hình hóa, mô phỏng chạy trên nền Windows, Linux, Mac… Địa chỉ

2.1.5 Ứng dụng của mạng Petri net

- Thiết kế phần mềm

- Quản lý luồng công việc

- Phân tích dữ liệu, mô phỏng hoạt động trong thực tế…

Trang 30

2.2 Ngôn ngữ mô phỏng GPSS và công cụ GPSS World

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

2.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.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-7], 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ổ 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

Ngày đăng: 25/03/2015, 11:06

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w