Mô tả hoạt động của mạng trình bày trong hình 3.10
- Transition t1 hoạt động sẽ lấy 1 token trong P1 và đặt vào P2. Hoạt động này tương ứng với một khách hàng ra khỏi hàng đợi đi vào kênh phục vụ.
- Transition t2 được kích hoạt do place đầu vào P2 có token, sau đó t2 hoạt động sẽ lấy đi 1 token trong P2 và một token trong P3, đặt một token vào P4 và P1. Hoạt động này tương ứng với một khách hàng rời khỏi kênh phục vụ, đồng thời một khách hàng khác sẽ ra khỏi hàng đợi đi vào kênh phục vụ và sau một thời gian ngẫu nhiên một khách hàng sẽ bổ sung vào hàng đợi.
- Transition t3 được kích hoạt do place đầu vào P4 có token, sau một thời gian trễ nào đó t3 hoạt động sẽ lấy đi 1 token trong P4 và đặt một token vào P3. Hoạt động này tương ứng với một khách hàng được đưa vào kênh phục vụ. Như vậy đảm bảo được yêu cầu tại một thời điểm hệ thống chỉ có tối đa m khách hàng được phục vụ.
3.3.4. Các bước phân tích và mô phỏng bài toán trên Petri Nets
Để sử dụng Petri Nets vào mô phỏng hệ thống hàng đợi cần tiến hành các bước sau: Bước 1: Xác định bài toán hay hệ thống hàng đợi cần mô phỏng.
Bước 2: Đo và thu thập hoặc chọn số liệu cần thiết để khảo sát thống kê các số liệu đặc trưng các yếu tố cơ bản của mô hình, tìm thuật toán.
Bước 3: Xây dựng mạng Petri, chạy mô phỏng kiểm chứng mô hình và so sánh kết quả kiểm chứng với các kết quả đã biết được trong thực tế hoặc trong các phương pháp khác. Phân tích kết quả chạy mô phỏng kiểm chứng, nếu cần phải sửa lại phương án đã được đánh giá qua chạy mô phỏng.
t2 t1 s m P1 P2 P3 P4 t3
Bước 4: Chạy mô phỏng để kiểm chứng phương án cuối cùng và kiểm tra tính đúng đắn của mọi kết luận về hệ thống thực tế được rút ra sau khi chạy mô phỏng. Triển khai hoạt động của hệ thống hàng đợi dựa trên phương án tìm được.
3.3.5. Một số công cụ dựa trên lý thuyết Petri Nets
Do những ưu điểm vượt trội của Petri Nets đã có rất nhiều công cụ mô hình hóa hệ thống được xây dựng dựa trên lý thuyết Petri Nets. Mỗi một công cụ có một số đặc điểm vượt trội riêng được tổng hợp trong bảng sau:
Bảng 3.8. So sánh một số công cụ Petri Nets
Công cụ Đặc điểm Môi trường
Hỗ trợ PN Thành phần ALPHA/Sim - Các mạng Petri nâng cao - Các mạng Petri với thời gian
- Soạn thảo đồ họa - Mô phỏng nhanh
- Phân tích hiệu năng đơn giản SumOS Solaris MS Windows NT F-net - Các mạng Petri ngẫu nhiên - Các mạng Petri với thời gian
- Soạn thảo đồ họa - Mô phỏng nhanh
- Phân tích hiệu năng đơn giản
- Không gian trạng thái - Phân tích cấu trúc
- Phân tích hiệu năng đơn giản
- Phân tích hiệu năng nâng cao MS Windows OS/2 GreatSPN - Các mạng Petri nâng cao - Các mạng Petri ngẫu nhiên - Các mạng Petri với thời gian
- Soạn thảo đồ họa - Mô phỏng nhanh - Không gian trạng thái - Phân tích cấu trúc
- Phân tích hiệu năng nâng cao Sun Linux Petri.Net Simulator - Các mạng Place/Transition - Các mạng Petri với thời gian
- Trình soạn thảo đồ họa - Mô phỏng nhanh
- Phân tích hiệu năng đơn giản - Các khối hệ thống con MS Windows 98 MS Windows NT MS Windows 2000 MS Windows XP Platform - Các mạng Place/Transition
- Trình soạn thảo đồ họa - Mô phỏng nhanh
Independent Petri Net Editor 2 - Các không gian trạng thái. - Phân tích cấu trúc - Các định dạng tệp và các module phân tích mở rộng. TimeNet - Các mạng Petri nâng cao - Các mạng Place/Transition - Các mạng Petri ngẫu nhiên - Các mạng Petri với thời gian
- Trình soạn thảo đồ họa - Mô phỏng nhanh - Phân tích cấu trúc
- Phân tích hiệu năng đơn giản
- Phân tích hiệu năng nâng cao PC, Linux PC, MS Windows XP WoPeD - Các mạng Place/Transition - Các mạng Workflow
- Trình soạn thảo đồ họa - Trình soạn thảo nguồn lực (các vai trò và các nhóm) - Hỗ trợ tiến trình con - Phân tích ngữ nghĩa - Phân tích định lượng Java Yasper - Các mạng Place/Transition - Các mạng Petri ngẫu nhiên - Các mạng Petri với thời gian
- Trình soạn thảo đồ họa - Mô phỏng nhanh - Các sự rút gọn mạng - Phân tích hiệu năng đơn giản
PC, MS Windows 2000
PC, MS Windows XP
Ngoài ra, còn có rất nhiều các công cụ Petri Nets khác. Trong phạm vi của luận văn không thể trình bày hết. Luận văn chỉ tập trung nghiên cứu về TNET (một phiên bản của FNET) và ứng dụng công cụ này vào mô phỏng các bài toán thực tế. Đây là công cụ được hiện thực dựa trên lý thuyết Petri Nets hỗ trợ các mạng Petri ngẫu nhiên và các mạng Petri thời gian. Công cụ cung cấp một số các tính năng vượt trội như: - Tạo và chỉnh sửa mô hình mô phỏng Petri Nets trong chế độ đồ họa sử dụng chuột và các thành phần đồ họa đã cung cấp sẵn.
- Lưu các mô hình như các tệp và tải các mô hình đã lưu trước đó từ các tệp trên đĩa. - Mô phỏng TNET trong cơ chế tự động, nhanh.
Để tạo một mô phỏng trên TNET, thực hiện như sau:
Bước 1: Tạo một tệp mô hình mới
Vào Файлы, chọn Новый. Xuất hiện cửa sổ soạn thảo mạng Petri sau:
Bước 2: Xây dựng mạng Petri
- Sử dụng các hình được cung cấp trên thanh công cụ để tạo places, transitions, acrs - Thiết lập các thông số cho Pi, Ti bằng cách nháy đúp chuột vào đối tượng cần đặt thông số. Hộp thoại mới sẽ hiển thị cho phép nhập các thông số.
- Đặt chế độ hiển thị và chế độ mô phỏng
Моделирование Режим, chọn По времени: đặt thời gian mô phỏng Bước 3: Thực hiện mô phỏng
Моделирование Запустить F9 Bước 4: Xem kết quả mô phỏng
Моделировние Статистика
- Để hiển thị kết quả phân tích trên các Pi , chọn: Моделировние Статистика Позиции - Để hiển thị kết quả phân tích trên các Тi , chọn:
Моделировние Статистика Переходы
Ngoài ra, TNET còn cung cấp các trợ giúp trong Подсказка Содержание
Khi cần mở lại các mô hình đã tạo, chọn:
Файлы Прочесть F3
Thanh công cụ vẽ
Thanh menu bar
Vùng soạn thảo mạng Petri
3.4. So sánh giữa Petri Nets và GPSS
Sau đây là so sánh một số đặc điểm của Petri Nets và GPSS
Bảng 3.9. So sánh giữa Petri Nets và GPSS
Petri Nets GPSS
Đặc điểm
- Ngôn ngữ đặc tả toán học, dựa trên lý thuyết về tập hợp
- Mô tả các thói quen, các quá trình chuyển đổi trong hệ thống rất chi tiết - Cung cấp các chú thích dạng đồ họa cho người dùng
- Ngôn ngữ lập trình hướng đối tượng
- Tạo ra các Transaction và quản lý chúng theo giai đoạn, hoặc theo khối (Block)
- Giao diện đồ họa người dùng - Tích hợp các hàm mật độ xác suất trong cơ sở dữ liệu
Ứng dụng
- Phân tích hoạt động của các hệ thống phân tán
- Phân tích các giao thức truyền thông - Thiết kế phần mềm
- Đánh giá hiệu quả hoạt động của hệ thống
- Mô phỏng các chương trình đồng bộ và song song
- Mô phỏng các hệ thống điều khiển công nghiệp; các hệ thống sự kiện rời rạc; các hệ thống bộ nhớ đa xử lý; các hệ thống chịu lỗi…
- Mô phỏng các hệ thống phục vụ đám đông như Call Center, bãi đậu xe, sân bay,…
- Đánh giá hoạt động trong mạng máy tính
Công cụ phát triển
- Ngôn ngữ lập trình C, C++
- Ngôn ngữ lập trình Java, viết ra dưới dạng Applet, chạy trên môi trường Java - Ngôn ngữ lập trình Matlab, viết dưới dạng tích hợp trong môi trường Matlab
- Ngôn ngữ lập trình GPSS - Công cụ GPSS World, - GPSS/PC, GPSS/H …
Kết luận
Chương 3 giới thiệu về hai ngôn ngữ mô phỏng Petri Nets và GPSS World ngôn ngữ đặc tả liên quan đến bài toán hàng đợi. Mỗi ngôn ngữ có những ưu điểm riêng.
Ngôn ngữ toán học Petri Nets là một ngôn ngữ mạnh để mô tả các hệ thống song song và hệ thống phân tán trong thực tế đời sống xã hội. 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 học.
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 giao tác, các khối dựa trên một giải thuật nào đó. Đồng thời, luận văn còn tập trung làm rõ thao tác lệnh của ngôn ngữ GPSS, các lệnh tạo các khối, lệnh khai báo đối tượng, lệnh điều khiển và lệnh vận hành. Các đối tượng trong ngôn ngữ GPSS cũng được phân chia rõ ràng cũng như chỉ ra các đặc trưng của các giao tác và các khối làm việc với giao tác. Về bản chất, ngôn ngữ GPSS hướng đối tượng này làm việc dựa trên các giao tác, tạo ra và quản lý chúng dưới dạng giai đoạn hoặc các khối. Giao tác có thể được coi là một “yêu cầu” hay một “sự kiện” trong bài toán hàng đợi, chúng liên kết với nhau dưới dạng các chuỗi.
Cuối cùng, đưa ra tiến trình chung để tiến hành mô phỏng một hệ thống hàng đợi trên công cụ GPSS World, đó là cần trải qua các giai đoạn phân tích, lập lưu đồ giải thuật, viết mã nguồn, chạy chương trình, sửa lỗi, cho hiển thị kết quả, đánh giá kết quả. Đồng thời, đưa ra một số so sánh vắn tắt về hai ngôn ngữ mô phỏng GPSS và Petri Nets.
Chương 4
ỨNG DỤNG CÔNG CỤ MÔ PHỎNG
VÀO MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI THỰC TẾ
Chương này sẽ tập trung giải quyết các bài toán trong thực tế để làm rõ khả năng áp dụng của ngôn ngữ mô phỏng GPSS và Ptri Nets vào hai bài toán điển hình cho hệ thống hàng đợi không ưu tiên và hệ thống hàng đợi có ưu tiên.
4.1. Mô phỏng hệ thống hàng đợi không ưu tiên
Sau đây là một bài toán thuộc lớp các bài toán về hệ thống hàng đợi không ưu tiên.
4.1.1. Phát biểu bài toán 1
Một điểm giao dịch của một ngân hàng được tổ chức gồm: một bàn tiếp nhận các yêu cầu giao dịch và hai bàn xử lý yêu cầu. Tại bàn tiếp nhận yêu cầu có một nhân viên tiếp nhận các yêu cầu giao dịch của các khách hàng đến với thời gian trung bình của một yêu cầu là 5±4 phút. Sau đó, phân bổ mỗi yêu cầu này đến một trong hai bàn xử lý yêu cầu theo nguyên tắc FIFO với xác suất 0.5 (không có cơ chế ưu tiên), nếu bàn đó “rảnh” thì sẽ xử lý yêu cầu giao dịch, còn ngược lại đơn hàng sẽ được chuyển đến bàn còn lại và cứ thế nhân viên nhận yêu cầu liên tục kiểm tra tình trạng hai bàn xử lý yêu cầu cho đến khi có bàn “rảnh” để thực hiện yêu cầu giao dịch đó. Mỗi lần kiểm tra nhân viên tiếp nhận yêu cầu sẽ mất đúng 1 phút. Nhân viên tiếp nhận có thể nhận đến 5 yêu cầu giao dịch một lúc, sau đó nếu tiếp tục có các yêu cầu giao dịch tiếp theo thì khách hàng sẽ bị từ chối. Mỗi yêu cầu giao dịch được nhân viên tại bàn xử lý yêu cầu thực hiện trong thời gian 12±8 phút.
Để giúp nhà quản lý có được cái nhìn tổng quan về hệ thống và đánh giá được hiệu suất sử dụng của hệ thống, từ đó có thể vạch ra được các chiến lược phát triển đúng đắn và kịp thời. Đặt ra một yêu cầu cấp thiết là cần mô hình hóa hệ thống. Không mất tính tổng quát, ở đây chúng ta chỉ mô hình hoạt động của điểm giao dịch của ngân hàng trong thời gian 60 giờ đồng hồ liên tục và đưa ra được số yêu cầu giao dịch của khách hàng thực hiện thành công, số yêu cầu giao dịch bị từ chối. Từ đó, suy ra được hệ số sử dụng của mỗi bàn xử lý.
4.1.2. Phân tích bài toán 1
Điều kiện bài toán được trình bày trong sơ đồ trên hình 4.1.