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 Nguyễn Đức Hoàng Anh Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật Điện
Trang 1Nghiê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 Nguyễn Đức Hoàng Anh
Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật Điện tử; Mã số: 60 52 70
Người hướng dẫn: TS Lê Quang Minh
Năm bảo vệ: 2012
Abstract: Trình bày 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 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 Nghiên cứu hiện trạng một số công cụ mô phỏng các bài toán hàng đợi: 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 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 giải bài toán hàng đợi bằng phương pháp mô phỏng Tìm hiểu về ngôn ngữ GPSS và công cụ GPSS World: đề 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 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 Á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
Keywords: Kỹ thuật điện tử; Mạng truyền thông; Mô hình hàng đợi; Ngôn ngữ GPSS
Content
TÓM TẮT LUẬN VĂN THẠC SỸ
Chương 1 Cơ sở lý thuyết về hệ thống hàng đợi
Chương 1 đư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
Các mô hình hàng đợi trong thực tế rất đa dạng, ví vụ như bãi đỗ xe, quán ăn, nhà ga, sân bay… Từ thực tế, chúng ta lập ra mô hình toán học của hệ thống hàng đợi
Trang 2Hình 1 1 Mô hình hóa các yếu tố của một hệ thống hàng đợi
Bảng 1: Các tham số đặc trưng trong hệ thống hàng đợi
STT Ký
hiệu
Nội dung
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 N q (t) Hàng chờ, đặc trưng bởi số lượng khe để
phục vụ cho xếp hàng
5 W i Thời gian xếp hàng của khách hàng thứ i
trong hàng chờ
6 N s (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
Chương 1 cũng đề cập tới biểu diễn toán học của hệ thống hàng đợi theo Kendall
A/B/m/K (1.8)
Bảng 2: Các yếu tố theo quy tắc Kendall khi mô tả về hàng đợi
Trang 3STT Ký hiệu Ý nghĩa
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ờ
Chương 1 trình bày về các quá trình Markov, một kiến thức nền quan trọng của bài toán hàng đợi, và đưa ra 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 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
~
ij
q
γ ij = υ i
* q~ij
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
p' ( ) ( ) ( ) (1.30)
Hình 1 2 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
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 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
Trang 4Purpose 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
Đầu tiên, chương 2 đề cập đến ngôn ngữ đặc tả Petri nets, gồm khái niệm, mô tả toán học, các đặc trưng của chúng
Petri nets gồm ba thành phần cơ bản: place, transition và directed arc
Hình 2 1 Ví dụ về Petri- net
Place
Transition
Directed Arc
Token
Marking
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 Tiếp theo, chương 2 đề cập sơ qua ngôn ngữ GPSS, ra đời tại IBM với điểm mạnh là quản lý theo các BLOCK và các TRANSACTION, cùng với ngôn ngữ lập trình bậc cao Matlab, ngôn ngữ lập trình Java, bộ công cụ lập trình Visual Studio.net, và tiến hành so sánh sơ qua về P/T net và GPSS
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
Cấu trúc lệnh trong GPSS:
Label BlockType Operands ; Comment
Mỗi thao tác lệnh trong GPSS thuộc vào một trong bốn dạng :
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ả
Trang 5GPSS có 7 nhóm đối tượng làm việc:
Đố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
Đố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
Đố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
Đố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: Queue Entities và Table Entities
Đối tượng tính toán: Function và Variable
Đối tượng lưu trữ: 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 –
Chương 3 đề cập sâu vào Transaction với các đặc trưng liên quan đến chuỗi sự kiện và thiết lập các bước giải bài toán hàng đợi dựa trên công cụ mô phỏng GPSS
Transaction là các đối tượng động trong GPSS với tập các thuộc tính, các thuộc tính này được gọi là các Parameters Chúng được tạo ra trong các thời điểm xác định nào đó của quá trình
mô phỏng, được quản lý và dịch chuyển thông qua các Blocks và cuối cùng là được xóa bỏ Một transaction đơn lẻ có thể bao gồm vài thực thể riêng, giống như là nhiều người “được phục vụ” bởi một thang máy Transaction có thể xem như là một “yêu cầu”, hay một “sự kiện” trong hệ thống phục vụ đám đông
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 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
Kết luận
Phần này tóm lược nội dung chính của khóa luận và nêu định hướng phát triển trong thời gian tới
KẾT LUẬN CHUNG
Kết quả đạt được của luận văn này
Luận văn tập trung làm rõ việc giải bài toán hàng đợi qua ngôn ngữ mô phỏng GPSS Về mặt nội dung, khóa luận đã đạt được những kết quả sau:
- Đưa ra Cở sở lý thuyết về hệ thống hàng đợi: Mô hình, tham số, các quy luật liên quan đến trạng thái của hệ thống hàng đợi
- Tìm hiểu qua về ngôn ngữ đặc tả P/T net mô tả các hệ thống phân tán
Trang 6- Nghiên cứu ngôn ngữ mô phỏng GPSS: các định nghĩa, cấu trúc của ngôn ngữ GPSS Làm việc trên công cụ GPSS World dành cho sinh viên
- Xây dựng các bước phân tích, mô phỏng hệ thống hàng đợi
- Áp dụng ngôn ngữ GPSS vào bài toán thực tiễn, và so sánh với kết quả tính toán trên lý thuyết
Mặt hạn chế của luận văn này:
- Chưa tìm hiểu được hết tất cả các ứng dụng của ngôn ngữ mô phỏng GPSS trong các bài toán thực tiễn
- Chỉ làm việc trên công cụ GPSS World dành cho sinh viên, nên kết quả chưa có sự so sánh với các phiên bản GPSS khác
Định hướng tương lai
Trong tương lai, luận văn sẽ tiếp tục khắc phục những hạn chế trên Đồng thời cũng cố gắng hoàn thiện nghiên cứu để có thể đưa GPSS áp dụng tốt hơn vào các ứng dụng trong thực tế tại nơi tôi đang làm việc
References
Tiếng Việt
[1] Lê Quang Minh, Phan Đăng Khoa, “Công cụ GPSS cho bài toán mô phỏng các hệ
thống phục vụ đám đông”, Báo cáo tổng hợp đề tài cấp ĐHQGHN, Viện Công nghệ
thông tin – Đại học Quốc Gia Hà Nội, 2010
Tiếng Anh
[2] Alberto Leon, Garcia; Probability and Random Processes for Electricial
Engineering, 2 nd Edition, University of Toronto, 1994, Chapter 8, 9
[3] http://en.wikipedia.org/wiki/Kendall’s_notation (đã kiểm tra 1/9/2012)
[4] Alan Pilkington, Royal Holloway; GPSS – Getting Started, University of London,
2005
[5] Geoffrey Gordon, IBM Corporation; The Development Of The General Purpose
Simulation System (GPSS), ACM, 1978
[6] M Peter Jurkat; Short Introduction to GPSS
[7] GPSS/PC general purpose simulation Reference Manual–Minuteman Software
P.O Box 171 Stow, Massachusetts 01775, 1986
[8] U Narayan Bhat, An Introduction to Queueing Theory, Southern Methodist
University, USA, 2008
[9] M Ajmone Marsan, Stochastic Petri net: An elementary Introduction, Dipartimento
di Scienze dell’s Informazione, Università di Milano, Italy, 2007
[10] Vedran Kordic, Petri nets, Theory and Application, I-Tech Education and
Publishing, Vienna, Austria, 2008
[11] G Balbo, J Desel, K Jensen, W Reisig, G Rozenberg, M Silva, Petri Nets 2000,
21th International Conference on Application and Theory of Petri Nets, Aarhus, Denmark, June, 26-30, 2000
Trang 7[12] Mag.DI Dr Christian Dombacher, Queueing Models for Call Centers, A-2232
Deustch –Wagram, 13.05.2010
[13] G Winskel, M Nielsen Models for Concurrency, Handbook of Logic and the
Foundations of Computer Science, vol 4, pages 1-148, OUP
[14] David G Kendall, Stochastic processes occurring in the theory of Queues and their analysis by the method of the imbedded Markov chain, Oxford University, England and Princeton University
[15] http://www.labri.fr/perso/anca/FDS/Pn-ESTII.pdf (đã kiểm tra 1/9/2012)
[16] http://www.woped.org/ (đã kiểm tra 1/9/2012)
[17] http://www.tapaal.net/ (đã kiểm tra 1/9/2012)
[18] Ivo Adan and Jacques Resing, Queueing Theory, Departement of Mathematics and
Compting Science, Eindhoven University of Technology, The Netherlands, 2002 [19]http://www.isor.vuw.ac.nz/~vignaux/teaching/queues/mm1/mm1.html (đã kiểm tra 1/9/2012)
[20] János Sztrik, Finite- Source Queueing Systems and Their Application, University
of Debrecen, August, 7, 2002
[21] http://www.minutemansoftware.com/ (đã kiểm tra 1/9/2012)
[22] http://www.yasper.org (đã kiểm trả 1/9/2012)