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,64 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG NGHIÊN CỨU VÀ SỬ DỤNG CÔNG CỤ GENERAL PURPOSE SIMULATION SYSTEM TRONG BÀI TOÁN MÔ PHỎNG HÀNG ĐỢI Thái Nguyên - 2012 ĐẠI HỌC THÁI NGUYÊN NGHIÊN CỨU VÀ SỬ DỤNG CÔNG CỤ GENERAL PURPOSE SIMULATION SYSTEM TRONG BÀI TOÁN MÔ PHỎNG HÀNG ĐỢI Chuyên ngành: Mã số: 60 48 01 TS. Lê Quang Minh Thái Nguyên - 2012 i LỜI CAM KẾT Tôi xin cam đoan Luận văn là do tôi thực hiện, được hoàn thành trên cơ sở tìm kiếm, 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 của Luận văn. Luận văn này là 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 Nguyễn Ngọc Thanh ii MỤC LỤC MỞ ĐẦU 1 Chƣơng 1: 4 CƠ SỞ LÝ THUYẾT VỀ HỆ THỐNG HÀNG ĐỢI 4 1.1. Mô tả hệ thống phục vụ 4 1.2. Các yếu tố của hệ thống phục vụ 6 1.2.1. Cường độ dòng vào 7 1.2.1.1. Cường độ dòng vào tiền định 7 1.2.1.2. Cường độ dòng vào Poisson 7 1.2.2. Hàng chờ (Queue) 8 1.2.3. Kênh phục vụ 8 1.2.4. Dòng ra 9 1.2.5. Nguyên tắc phục vụ của hệ thống dịch vụ 10 1.3. Trạng thái hệ thống phục vụ 10 1.3.1. Định nghĩa 10 1.3.2. Quá trình thay đổi trạng thái của hệ thống phục vụ 11 1.3.3. Sơ đồ trạng thái 11 1.3.4. Qui tắc thiết lập hệ phương trình trạng thái 12 Chƣơng 2: 14 HIỆN TRẠNG MỘT SỐ CÔNG CỤ MÔ PHỎNG BÀI TOÁN HÀNG ĐỢI 14 2.1. Ngôn ngữ mô phỏng GPSS và công cụ GPSS World 15 2.1.1. Giới thiệu về ngôn ngữ GPSS 15 2.1.2. Sự ra đời của ngôn ngữ GPSS 15 2.1.3. Những ưu điểm của ngôn ngữ GPSS 16 2.1.4. Các ứng dụng của công cụ mô phỏng GPSS World 17 2.2. Các công cụ mô phỏng sử dụng ngôn ngữ đặc tả Petri-net 19 2.2.1. Các khái niệm cơ bản về Petri-net 19 2.2.2. Mô tả toán học về Petri-net 21 2.2.3. Một số thuộc tính của Petri-net 22 2.2.4. Một số công cụ sử dụng ngôn ngữ Petri-net 23 2.2.5. Ứng dụng của mạng Petri-net 24 iii 2.3. Ngôn ngữ lập trình Matlab 24 2.4. Ngôn ngữ lập trình Java 25 2.5. Ngôn ngữ lập trình C++ và bộ công cụ Visual Studio.net 26 Chƣơng 3: 28 NGHIÊN CỨU VỀ NGÔN NGỮ GPSS VÀ CÔNG CỤ GPSS WORLD 28 3.1. Tổng quan về GPSS 28 3.2. Thao tác lệnh của GPSS 31 3.3. Các đối tƣợng trong GPSS 32 3.4. Block cơ bản trong GPSS 34 3.4.1. Block làm việc với Transactions 36 3.4.2. Facilities 39 3.4.3. Queue 40 3.4.4. Các Blocks dùng để điều khiển dịch chuyển của Transactions41 3.4.5. Phân phối xác suất nội tại (Built-in Probability Distributions)41 3.5. GPSS World Student Version 42 Chƣơng 4: 45 SỬ DỤNG NGÔN NGỮ GPSS VÀO BÀI TOÁN THỰC TẾ 45 4.1. Quy trình ứng dụng GPSS mô phỏng hệ thống phục vụ đám đông 45 4.2. Bài toán 46 4.2.1. Bài toán 1: 46 4.2.1.1. Phân tích bài toán 46 4.2.1.2. Giải bài toán 49 4.2.1.3. Mô hình GPSS World 50 4.2.2. Bài toán 2: 57 4.2.2.1. Phân tích bài toán 57 4.2.2.2. Giải bài toán 60 4.2.2.3. Mô hình GPSS WORLD 61 65 65 2. Kiến 66 TÀI LIỆU THAM KHẢO 67 iv DANH MỤC CÁC CHỮ VIẾT TẮT Kí hiệu Diễn giải CEC Current Events Chain FEC Future Events Chain GPSS General Purpose Simulation System WoPeD Workflow Petri-net Designer TAPAAL Tool for Verification of Timed-Arc Petri-nets v DANH MỤC CÁC BẢNG, BIỂU Trang Bảng 1. 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 = 480 phút 53 Bảng 2. 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 56 63 vi DANH MỤC CÁC HÌNH Trang Hình 1.1: Mô hình cơ bản của hệ thống phục vụ 4 Hình 1.2: Mô tả hệ thống phục vụ đám đông 5 Hình 1.3: Sơ đồ trạng thái của hệ thống phục vụ 12 Hình 2.1: Minh họa cửa sổ làm việc của GPSS World 16 Hình 2.2: Ví dụ về Petri-net 20 Hình 2.3: Minh họa tính tiếp cận của Petri-net 22 Hình 2.4: Minh họa tính bất tử của Petri-net 23 Hình 2.5: Minh họa tính không có đường bao giới hạn của Petri-net 23 Hình 2.6: Minh họa tính bảo thủ của Petri-net 23 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.1. Một hệ phục vụ đám đông đơn giản 35 Hình 3.2: Cửa sổ Untitled Model 1 với Model của hệ phục vụ đám đông đơn kênh hở 36 Hình 3.3: Ví dụ một cửa sổ Block Window 43 Hình 3.4: Ví dụ về một cửa sổ REPORT 43 Hình 4.1: Điều kiện bài toán 47 Hình 4.2: Cấu trúc mô hình phân tích 47 Hình 4.3: huật toán hoạt động của mô hình mô phỏng 48 Hình 4.4: Điều kiện bài toán 58 Hình 4.5: Cấu trúc mô hình phân tích 58 Hình 4.6: huật toán hoạt động của mô hình mô phỏng 59 1 MỞ ĐẦU Những năm gần đây, việc ứng dụng công nghệ thông tin vào các hoạt động trong đời sống, xã hội là rất cần thiết. 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ư: Mạng điện thoại, mạng máy tính, hệ thống phục vụ sử dụng phòng máy thực hành, hệ thống các quầy thu ngân trong siêu thị, hệ thống bán vé tự động, sân bay, Những hệ thống này được biết đến với tên gọi hệ thống phục vụ đám đông (hay hệ thống hàng đợi) [1]. Nhìn chung các hệ thống phục vụ đám đông là 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. Trong quá khứ, có rất nhiều dự án xây dựng hệ thống phục vụ phức tạp dựa trên hàng chờ (Queue) không thành công vì đã không đặc tả được chính xác bài toán thực tiễn. 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ó. 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 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. Các câu hỏi được đặt ra là: Làm thế nào để mô phỏng một hệ thống phức tạp dưới dạng đơn giản nhưng chính xác? Phương pháp nào là khả thi nhất, tối ưu nhất ? Có rất nhiều phương pháp đã được đưa ra để giải quyết bài toán trên như: Tính toán bằng các công thức toán học, xây dựng hệ thống phục vụ bằng các ngôn ngữ lập trình (Pascal, C++,…), mô phỏng bằng các công cụ mô phỏng (Matlab, Petri Network, …). Để xây dựng 2 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 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 ngôn ngữ mô phỏng chuyên dụng. Một trong những ngôn ngữ chuyên dụng mô phỏng hệ thống phức tạp, rời rạc hiệu quả và phổ biến nhất hiện nay là General Purpose Simulation System (GPSS) [4], ngôn ngữ này thuộc về lớp ngôn ngữ hướng vấn đề. Lĩnh vực áp dụng chính của GPSS là hệ thống phục vụ đám đông. Đối tượng của ngôn ngữ này được sử dụng tương tự như: Thành phần chuẩn của một hệ thống phục vụ đám đông; các yêu cầu, thiết bị phục vụ, hàng đợi, … Tập hợp đầy đủ 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. Trên thế giới nói chung và ở Liên bang Nga nói riêng, việc nghiên cứu và ứng dụng của GPSS rất phổ biến và phát triển. Tuy nhiên việc triển khai và ứng dụng công cụ mô phỏng GPSS trong giải quyết các bài toán hệ thống phục vụ đám đông là rất mới ở Việt Nam. Trên cơ sở nghiên cứu đã có, luận văn đã dựa trên định hướng xây dựng mô phỏng hệ thống phục vụ đám đông và sử dụng công cụ GPSS vào Bài toán phân phối sử dụng trong phòng máy thực hành của một trường đại học . Luận văn gồm 4 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: Cơ sở 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). [...]... công cụ mô phỏng các bài toán hàng đợi: 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, như: Ngôn ngữ mô phỏng GPSS và công cụ GPSS World; Các công cụ mô phỏng sử dụng ngôn ngữ đặc tả Petri-net; Ngôn ngữ lập trình Matlab; Ngôn ngữ lập trình Java; Ngôn ngữ lập trình C++ và bộ công cụ Visual Studio.NET Chƣơng 3 Nghiên cứu về ngôn ngữ GPSS và. .. MỘT SỐ CÔNG CỤ MÔ PHỎNG BÀI TOÁN HÀNG ĐỢI 15 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 Ngôn ngữ mô phỏng GPSS và công cụ GPSS World 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 và đặc trưng 2.1.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... một trong những công cụ phổ biến hỗ trợ thao tác với ngôn ngữ công cụ GPSS World Chƣơng 4 Sử dụng ngôn ngữ GPSS vào bài toán thực tế: Chương này tập trung vào việc giới thiệu bài toán phân phối trong sử dụng phòng máy thực hành ặc tả quy trình chung sử dụng GPSS để mô phỏng một hệ thống phục vụ đám đông, cách tiếp cận giải quyết bài toán thông qua Kết luận: Tóm lược nội dung chính của phát triển trong. .. 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, Matlab là ngôn ngữ hàng đầu trong nghiên cứu tại các trường... và công cụ GPSS World có những ưu điểm riêng biệt 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 đó Giới thiệu ngôn ngữ GPSS và công cụ GPSS World, một ngôn ngữ mô phỏng chuyên dụng với các khái niệm và đặc trưng; sự ra đời của ngôn ngữ GPSS; những ưu điểm của ngôn ngữ GPSS; các ứng dụng của công cụ mô phỏng GPSS World Các công cụ mô phỏng. .. phỏng sử dụng ngôn ngữ đặ - - -net lập trình Matlab; Ngôn ngữ lập trình Java; Ngôn ngữ lập trình C++ và bộ công cụ Visual Studio.net 28 Chƣơng 3: NGHIÊN CỨU VỀ NGÔN NGỮ GPSS VÀ CÔNG CỤ GPSS WORLD Có nhiều ngôn ngữ mô phỏng cũng như các giải thuật có thể được sử dụng để giải quyết bài toán hệ thống phục vụ đám đông Chương này sẽ giới thiệu một trong những ngôn ngữ mô phỏng chuyên dụng: Ngôn ngữ mô phỏng. .. 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.1.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. .. mô tả chúng Hình 2.9 giới thiệu mô phỏng hoạt động thường gặp trong thực tế, đó là các lái xe đỗ xe ở trạm xăng và bơm xăng vào xe Hình 2.9: Minh họa công cụ YASPER phát triển trên công nghệ Net 27 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. .. hiện nay Công cụ mô phỏng Simulink được sử dụng trong rất nhiều ứng dụng nghiên cứu cũng như thực tế Công cụ Netlab, được viết trên nền ngôn ngữ Matlab, dùng để làm việc với ngôn ngữ đặc tả Petri-net Công cụ này có một số đặc điểm sau: - Môi trường hiển thị đồ họa, dễ dàng sử dụng (hình 2.7) - Phân tích dạng đồ thị và sự thay đổi trên các đồ thị - Tổng hợp các chức năng phân tích dựa theo đặc tả toán học... version 4.0, các ứng dụng của chúng ta được thỏa sức phát triển Ở đây, xin giới thiệu một công cụ mô phỏng mạng Petri-net được phát triển trên nền tảng công nghệ Net của bộ công cụ lập trình Visual Studio, đó là công cụ YASPER (Yet Another Smart Process EditoR), là kết quả hợp tác giữa TU Eindhoven và Deloitte [19] Đây là công cụ dùng để đặc tả và chạy mô phỏng các tiến trình rời rạc, sử dụng ngôn ngữ đặc . số công cụ mô phỏng các bài toán hàng đợi: 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, như: Ngôn ngữ mô phỏng GPSS và công cụ. ĐẠI HỌC THÁI NGUYÊN NGHIÊN CỨU VÀ SỬ DỤNG CÔNG CỤ GENERAL PURPOSE SIMULATION SYSTEM TRONG BÀI TOÁN MÔ PHỎNG HÀNG ĐỢI Chuyên ngành: Mã số: 60 48 01 . HỌC THÁI NGUYÊN TRƢỜNG NGHIÊN CỨU VÀ SỬ DỤNG CÔNG CỤ GENERAL PURPOSE SIMULATION SYSTEM TRONG BÀI TOÁN MÔ PHỎNG HÀNG ĐỢI Thái Nguyên - 2012