Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 77 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
77
Dung lượng
1,65 MB
Nội dung
Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Lê Xuân Hiếu NGHIÊN CỨU CÔNG CỤ MÔ PHỎNG GPSS VÀ PETRI NET CHO BÀI TOÁN HỆ THỐNG HÀNG ĐỢI LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG Lê Xuân Hiếu NGHIÊN CỨU CÔNG CỤ MÔ PHỎNG GPSS VÀ PETRI NET CHO BÀI TOÁN HỆ THỐNG HÀNG ĐỢI Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS. Lê Quang Minh Thái Nguyên - 2013 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ LỜI CAM ĐOAN 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. Mọi 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 hoàn toàn mới và không sao chép nguyên bản từ bất kì một nguồn tài liệu nào khác. Nếu có gì sai sót, tôi xin chịu mọi trách nhiệm./. HỌC VIÊN Lê Xuân Hiếu i Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ MỤC LỤC ĐẶT VẤN ĐỀ 1 Chương 1. TỔNG QUAN VỀ HỆ THỐNG HÀNG ĐỢI 3 1.1. Vai trò của hệ thống hàng đợi. 3 1.2. Mô tả hệ thống hàng đợi. 3 1.2.1. Mô hình hóa một hệ thống hàng đợi 5 1.2.2. Công thức Little 7 1.2.3. Hệ thống hàng đợi theo cách viết của Kendall và các phân phối liên quan 7 1.3. Các yếu tố của hệ thống hàng đợi. 10 1.3.1. Dòng yêu cầu đầu vào 10 1.3.2. Hàng đợi 12 1.3.3. Kênh phục vụ 12 1.3.4. Dòng yêu cầu đầu ra 13 1.3.5 Các quy luật hoạt động của hệ thống phục vụ 13 1.4. Trạng thái hệ thống phục vụ 15 1.4.1. Định nghĩa về trạng thái của hệ thống phục vụ 15 1.4.2. Quá trình thay đổi trạng thái của hệ thống phục vụ 15 1.4.3. Sơ đồ trạng thái 16 1.4.4. Qui tắc thiết lập hệ phương trình trạng thái 16 Chương 2. CÁC CÔNG CỤ MÔ PHỎNG BÀI TOÁN HÀNG ĐỢI 19 2.1. Quy trình chung của việc phân tích, mô phỏng hệ thống hàng đợi 19 2.2. 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 20 2.2.1. Ngôn ngữ lập trình Matlab 20 2.2.2. Ngôn ngữ lập trình Java 21 2.2.3. Ngôn ngữ lập trình C++ và bộ công cụ Visual Studio.net 22 2.3. Ngôn ngữ mô phỏng GPSS và công cụ GPSS World 23 2.3.1. Giới thiệu về ngôn ngữ GPSS 23 2.3.2. Sự ra đời của ngôn ngữ GPSS 24 ii Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 2.3.3. Những ưu điểm của ngôn ngữ GPSS 25 2.3.4. Các ứng dụng của công cụ mô phỏng GPSS World 26 2.3.5. GPSS World Student Version 28 2.4. Các công cụ mô phỏng sử dụng ngôn ngữ đặc tả Petri-net 29 2.4.1. Các khái niệm cơ bản về Petri-net 29 2.4.2. Mô tả toán học về Petri-net 31 2.4.3. Một số thuộc tính của Petri-net 32 2.4.4. Một số công cụ sử dụng ngôn ngữ Petri-net 33 2.4.5. Ứng dụng của mạng Petri-net 34 2.5. So sánh giữa P/T net và GPSS 34 Chương 3. SỬ DỤNG GPSS VÀ PETRI NET 36 TRONG BÀI TOÁN MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI 36 3.1. Mô phỏng bài toán hàng đợi không ưu tiên 36 3.1.1. Phát biểu bài toán. 36 3.1.2. Phân tích bài toán 37 3.1.3. Phân tích kết quả của bài toán bằng lý thuyết hàng đợi 37 3.1.4. Mô phỏng bài toán bằng công cụ GPSS WORLD 39 3.1.5. Mô phỏng bài toán bằng mô hình mạng Petri 43 3.2. Mô phỏng bài toán hàng đợi có ưu tiên. 51 3.2.1 Phát biểu bài toán 51 3.2.2. Phân tích bài toán 52 3.2.3. Phân tích kết quả bài toán bằng lý thuyết hàng đợi 54 3.2.4. Mô phỏng bài toán bằng GPSS World 55 3.2.5. Mô phỏng bài toán bằng mô hình mạng Petri 59 3.3. Đánh giá các kết quả mô phỏng 64 KẾT LUẬN VÀ KIẾN NGHỊ 66 TÀI LIỆU THAM KHẢO 68 iii Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu Tiếng Anh Giải thích theo tiếng Việt CEC Current Event Chain Chuỗi sự kiện hiện tại GPSS General Purpose Simulation System Ngôn ngữ mô phỏng hệ thống GPSS GPSS/PC General Purpose Simulation System/Personal Computer Môi trường lập trình cho ngôn ngữ GPSS FEC Future Event Chain Chuỗi sự kiện tương lai PABX Private Automatic Branch Exchange Tổng đài liên lạc dành cho một tổ chức, đơn vị độc lập 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 iv Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ DANH MỤC CÁC BẢNG BIỂU Trang Bảng 1.1 Các yếu tố cấu thành hàng đợi 4 Bảng 1.2 Các tham số đặc trưng trong hệ thống hàng đợi 6 Bảng 1.3 Các yếu tố theo quy tắc Kendall khi mô tả về hàng đợi 8 Bảng 1.4 Các phân phối xác suất liên quan đến A và B trong mô tả Kendall 9 Bảng 1.5 Một số phương pháp phục vụ áp dụng trong lý thuyết hàng đợi 14 Bảng 2.1 So sánh giữa Petri Net và GPSS 34 Bảng 3.1 Thời gian chờ T1 ở vị trí P1 45 Bảng 3.2 Thời gian chờ Tx-T8 ở vị trí P12 45 Bảng 3.3 Thời gian chờ T5 ở vị trí P7 46 Bảng 3.4 Thời gian chờ T5 ở vị trí P8 46 Bảng 3.5 Kết quả phân tích hàng chờ T 47 Bảng 3.6 Kết quả phân tích vị trí các đỉnh P 47 Bảng 3.7 Thời gian chờ T1 ở vị trí P1 (Khi T1 thay đổi) 48 Bảng 3.8 Thời gian chờ T5 ở vị trí P7 (Khi T5 thay đổi) 49 Bảng 3.9 Thời gian chờ T6 ở vị trí P8 (Khi T6 thay đổi) 49 Bảng 3.10 Kết quả phân tích hàng chờ T khi T1,T5,T6 thay đổi 50 Bảng 3.11 Kết quả phân tích vị trí các đỉnh P khi T1,T5,T6 thay đổi 50 Bảng 3.12 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS và Petri Net 51 Bảng 3.13 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS vớ = 1.440 phút 58 Bảng 3.14 Thời gian chờ T1 ở vị trí P1 60 Bảng 3.15 Thời gian chờ T2 ở vị trí P2 61 Bảng 3.16 Kết quả phân tích hàng chờ T 62 Bảng 3.17 Kết quả phân tích vị trí các đỉnh P 62 Bảng 3.18 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS và Petri Net 63 Bảng 3.19 So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS và Petri Net theo thời gian 64 v Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 Mô hình cơ bản của hệ thống hàng đợi (hay hệ thống phục vụ đám đông) 3 Hình 1.2 Mô hình hóa các yếu tố của một hệ thống hàng đợi 5 Hình 1.3 Mô tả hệ thống đợi 7 Hình 1.4 Sơ đồ trạng thái của hệ thống phục vụ 16 Hình 2.1 Minh họa công cụ Netlab tích hợp trên nền tảng Matlab 21 Hình 2.2 Minh họa Applet: The Petri - Net - Simulator chạy trên nền Java 22 Hình 2.3 Minh họa công cụ YASPER phát triển trên công nghệ .Net 23 Hình 2.4 Minh họa cửa sổ làm việc của GPSS World 25 Hình 2.5 Ví dụ về một cửa sổ REPORT GPSS World Student Version 29 Hình 2.6 Ví dụ Petri-net 30 Hình 2.7 Minh họa tính tiếp cận của Petri-net 32 Hình 2.8 Minh họa tính bất tử của Petri-net 33 Hình 2.9 Minh họa tính không có đường bao giới hạn của Petri-Net 33 Hình 2.10 Minh họa tính bảo thủ của Petri-net 33 Hình 3.1 Mô phỏng điều kiện bài toán xe cẩu trên thực tế 37 Hình 3.2 Mô phỏng điều kiện bài toán xe cẩu theo toán học 37 Hình 3.3 Sơ đồ khối thuật toán bài toán xe cẩu 39 Hình 3.4 Mô hình bài toán xe cẩu theo mạng Petri 43 Hình 3.5 Điều kiện bài toán mô phỏng mô hình hệ thống điều khiển đường băng sân bay 52 Hình 3.6 Sơ đồ thuật toán bài toán mô phỏng mô hình hệ thống điều khiển đường băng sân bay 53 Hình 3.7 Mô hình hàng đợi theo dạng M/M/1 bài toán mô phỏng mô hình hệ thống điều khiển đường băng sân bay 54 Hình 3.8 Mô hình hóa bằng mạng Petri bài toán mô phỏng mô hình hệ thống điều khiển đường băng sân bay 60 1 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ ĐẶT VẤN ĐỀ Trong thực tế, chúng ta bắt gặp rất nhiều các hệ thống được thiết lập bởi các yêu cầu (của khách hàng), trong đó các thời điểm xuất hiện được xem như một đại lượng ngẫu nhiên, còn nhu cầu được đặc trưng bằng khối lượng các công việc phải làm để phục vụ, thứ tự ưu tiên trước sau, thời gian hoàn thành công việc và toàn bộ công việc. Đó là những hệ thống như: Xếp hàng mua vé vào rạp hát, xếp hàng thanh toán tiền ở quầy thu ngân ở siêu thị, máy bay cất cánh (hạ cánh), mạng máy tính, bãi đậu xe, phi trường… Những hệ thống này được gọi là hệ thống hàng đợi (hay hệ thống phục vụ đám đông)[1],[3],[6],12]. Nhìn chung các hệ thống hàng đợi là các hệ thống phức tạp, việc vận hành và tính toán các đặc trưng của hệ thống để tư vấn cho nhà quản lý là một vấn đề hết sức cần thiết. Việc xây dựng mô hình toán học cho mỗi hệ thống là rất cần thiết để giảm chi phí tối đa cho các hoạt động đặc tả nó. Việc đặc tả và tính toán một số đặc điểm của hệ thống hàng đợi có thể đem lại các kết quả dự báo quan trọng cho hệ thống. Khi đó tính chất đầy đủ của các mô hình mô phỏng cần đạt được việc mô phỏng quá trình làm việc của mỗi phần tử trong hệ thống với việc đảm bảo các logic, quy tắc của sự tương tác và phát triển của chúng cả trong không gian và trong thời gian. Để xây dựng mô hình mô phỏng bằng cách sử dụng các ngôn ngữ lập trình truyền thống là khá phức tạp, khó khăn do 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 (song song) với việc xây dựng các hàm tạo ngẫu nhiên các sự kiện (random) cũng không hề đơn giản, chính vì vậy đã xuất hiện các ngôn ngữ mô phỏng chuyên dụng. Hiện nay có một số phương pháp đánh giá, mô phỏng được sử dụng rộng rãi và có hiệu quả trên thực tế là phương pháp mô hình hoá và các mô hình được sử dụng hiện nay là mô hình hàng đợi, mạng Petri, General Purpose Simulation System (GPSS), đồ thị, và các mô hình lai ghép Trong đó mô hình hàng đợi là một mô hình đơn giản và tỏ ra có hiệu quả trong thực tế. 2 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Với nhu cầu cần mô phỏng hệ thống hàng đợi, việc áp dụng cách tiệp cận cũng như công cụ mô phỏng nào là một vấn đề quan trọng do tính chất của hệ thống, quy mô của hệ thống có thể là những yếu tố ảnh hưởng đến việc lựa chọn công cụ. Chính vì vậy, yêu cầu lựa chọn, so sánh, đánh giá các công cụ mô phỏng là một đề tài mang ý nghĩa khoa học và thực tiễn cao. Với lý do đó, tôi lựa chọn đề tài “Nghiên cứu công cụ mô phỏng GPSS và Petri Net cho bài toán hệ thống hàng đợi“ cho luận văn tốt nghiệp thạc sỹ của mình. Luận văn gồm 3 chương với nội dung được mô tả tóm lược như sau: Chương 1. Tổng quan về hệ thống hàng đợi: Nội dung chương 1 đưa ra vai trò của hệ thống hàng đợi; tập trung vào cơ sở lý thuyết hàng đợi (lý thuyết phục vụ đám đông) bao gồm các mô tả về một hệ thống hàng đợi nói chung như: Các yếu tố của hệ thống hàng đợi (dòng vào, dòng ra, hàng chờ, kênh phục vụ), trạng thái của hệ thống (quá trình thay đổi trạng thái của hệ thống phục vụ, sơ đồ trạng thái, quy tắc thiết lập hệ phương trình trạng thái). Chương 2. Các công cụ mô phỏng bài toán hàng đợi: Cách tiếp cận cho việc mô phỏng bài toán hàng đợi bằng một số ngôn ngữ lập trình bậc cao như Java, Matlab, C++… và các ngôn ngữ đặc tả ,công cụ mô phỏng chuyên dụng GPSS, Petri Net. Nghiên cứu kỹ cách áp dụng công cụ mô phỏng GPSS và Petri Net cho bài toán hàng đợi. Đưa ra so sánh đặc điểm, ứng dụng giữa công cụ GPSS và Petri Net. Chương 3. Sử dụng GPSS và Petri Net trong bài toán mô phỏng hệ thống hàng đợi: Áp dụng công cụ mô phỏng GPSS và Petri Net vào 2 bài toán hàng đợi cụ thể: Bài toán hàng đợi không ưu tiên (bài toán mô phỏng điều khiển xe cẩu) và bài toán hàng đợi có ưu tiên (bài toán mô phỏng hệ thống điều khiển hệ thống đường băng sân bay). So sánh kết quả tính toán theo lý thuyết với kết quả mô phỏng trên GPSS và Petri Net theo thời gian. Từ các kết quả mô phỏng được trình bày trong luận văn đưa ra so sánh, khuyến cáo khi sử dụng 2 công cụ mô phỏng GPSS và Petri Net khi áp dụng vào bài toán cụ thể. 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. [...]... Java, Matlab là ngôn ngữ hàng đầu trong nghiên cứu tại các trường học Ngôn ngữ GPSS và công cụ GPSS World, Petri Net c Transaction, các Block dựa trên một giải thuật nào đó 2.1 Quy trình chung của việc phân tích, mô phỏng hệ thống hàng đợi Khảo sát, nghiên cứu một hệ thống; Qua đó đưa ra mô hình toán học cho hệ thống cần mô phỏng Ở bước này cần xác định được thông số của hệ thống như: số nguồn yêu cầu,... đỗ xe ở trạm xăng và bơm xăng vào xe Hình 2.3: Minh họa công cụ YASPER phát triển trên công nghệ Net Ngoài ra, trên môi trường Unix, Linux, việc phát triển công cụ mô phỏng cho Petri- net cũng được tiến hành Tuy nhiên, các môi trường này không phổ biến như môi trường Windows, nên vấn đề nghiên cứu, ứng dụng cho Petri- net là một vấn đề lâu dài 2.3 Ngôn ngữ mô phỏng GPSS và công cụ GPSS World Giới thiệu... phải chờ để được phục vụ và đôi khi bị từ chối phục vụ, việc nghiên cứu đảm bảo sự hiệu quả, tối ưu làm việc của hệ thống hàng đợi chính là mục đích của lý thuyết hàng đợi 1.2 Mô tả 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] với mô hình được mô tả ở hình 1.1 Hình 1.1: Mô hình cơ bản của hệ thống hàng đợi (hay hệ thống phục vụ đám đông) Trong mô hình này, chúng ta... yếu tố như: Số lượng giao dịch trong hệ thống, số kênh giao dịch cung ứng dịch vụ tại thời điểm đó và thời gian phục vụ cho mỗi yêu cầu đến 1.2.1 Mô hình hóa một hệ thống hàng đợi Chúng ta có thể mô hình hóa đơ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ó: Số hóa bởi trung tâm học... Chương 2 CÁC CÔNG CỤ MÔ PHỎNG BÀI TOÁN HÀNG ĐỢI Chương này giới thiệu về một số công cụ mô phỏng, ngôn ngữ đặc tả liên quan đến bài toán hàng đợi Mỗi công cụ, ngôn ngữ có những ưu điểm riêng Dựa trên đặc tả toán học của nó, và sử dụng ngôn ngữ lập trình như Java, Matlab, C, C++, các nhà phát triển đã tạo ra các công cụ làm việc theo chủ đích của họ Java sử dụng các Applet linh hoạt trên môi trường Java,... thước hàng đợi và quy tắ ợi cũng như lấy chúng ra từ hàng đợi; Số kênh phục vụ và quy tắc xử lí yêu cầu, thời gian phục vụ theo quy luật phân bố ngẫu nhiên nào Một quy trình chung cho việc phân tích, mô phỏng một hệ thống hàng đợi được đề xuất như sau: Bước 1: Phân tích hệ thống, chủ yếu là phân tích bản chất yếu tố dòng đầu vào (dòng yêu cầu hệ thống) , tín hiệu đến và các trạng thái của hệ thống Cụ thể... đối với từng bài toán Từ đây xác định hàm phục vụ trong các công cụ mô phỏng cụ thể Bước 3: Giải hệ phương trình trạng thái để tìm ra các xác suất trạng thái đối với mô hình phân tích dựa trên lý thuyết hàng đợi Từ đó thiết lập các mối quan hệ giữa các chỉ tiêu cần đánh giá Để mô phỏng cần xây dựng chương trình với công cụ mô phỏng và chạy chương trình, đưa ra kết quả mô phỏng Bước 4: Tính toán, so sánh,... VỀ HỆ THỐNG HÀNG ĐỢI 1.1 Vai trò của hệ thống hàng đợi Lý thuyết hàng đợi (queuing theory) đã được nghiên cứu và ứng dụng rộng rãi trên thế giới trong nhiều lĩnh vực ngành nghề khác nhau như bưu chính viễn thông, hàng không, đường sắt, kiểm soát lưu lượng giao thông, đánh giá hiệu năng hệ thống máy tính, y tế và chăm sóc sức khỏe, không lưu, bán vé …[3] Trong nhiều hệ thống hàng đợi, các khách hàng. .. tập trung vào cơ sở lý thuyết hàng đợi (lý thuyết phục vụ đám đông), bao gồm các mô tả về một hệ thống phục vụ nói chung như: 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ụ), trạng thái của hệ thống (quá trình thay đổi trạng thái của hệ thống phục vụ, sơ đồ trạng thái, quy tắc thiết lập hệ phương trình trạng thái) : - Mô tả hệ thống phục vụ: Dòng các yêu cầu vào, hệ thống phục... hoạt động của hệ thống hàng đợi Công thức Litte [2],[3] 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.2) Khi đó, chúng ta suy ra các hệ quả sau: E[Nq(t)] = λtb E[W] (1.3) Trung bình khách hàng chờ đợi và Thời gian chờ đợi trung bình . dụng GPSS và Petri Net trong bài toán mô phỏng hệ thống hàng đợi: Áp dụng công cụ mô phỏng GPSS và Petri Net vào 2 bài toán hàng đợi cụ thể: Bài toán hàng đợi không ưu tiên (bài toán mô phỏng. chuyên dụng GPSS, Petri Net. Nghiên cứu kỹ cách áp dụng công cụ mô phỏng GPSS và Petri Net cho bài toán hàng đợi. Đưa ra so sánh đặc điểm, ứng dụng giữa công cụ GPSS và Petri Net. Chương. VỀ HỆ THỐNG HÀNG ĐỢI 3 1.1. Vai trò của hệ thống hàng đợi. 3 1.2. Mô tả hệ thống hàng đợi. 3 1.2.1. Mô hình hóa một hệ thống hàng đợi 5 1.2.2. Công thức Little 7 1.2.3. Hệ thống hàng đợi