Trước hết cần khảo sát và nghiên cứu 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 các thông số của hệ thống như: số nguồn các yêu cầu, mỗi nguồn sinh các yêu cầu theo quy luật phân phối ngẫu nhiên nào, có thứ tự ưu tiên giữa các nguồn hay không; kích thước hàng đợi và quy tắc ghi các yêu vào hàng đợi cũng như lấy chúng ra từ hàng đợi; số kênh phục vụ và nguyên tắc phục vụ, thời gian phục vụ theo quy luật phân phối ngẫu nhiên nào. Quy trình chung ứng dụng GPSS để mô phỏng một hệ thống hàng đợi như sau:
Bước 1: Xác định luật phân bố đầu vào (input) của các kênh phục vụ. Xác định các biến số thời gian gắn liền với đầu vào của các sự kiện. Từ đó lựa chọn hàm phân bố tương ứng trong GPSS.
Bước 2: Xác định luật phục vụ đối với kênh phục vụ: theo ưu tiên hay không ưu tiên. Thời gian phục vụ đối với từng bài toán. Từ đây xác định hàm phục vụ trong GPSS.
Bước 3: Xây dựng chương trình với công cụ GPSS và chạy chương trình, đưa ra kết quả mô phỏng.
Với mô hình 3 bước này, mấu chốt để mô phỏng thành công một hệ thống chính là bước 1, ở đây phải xác định được đúng dạng định luật phân phối của đầu vào để xác định xây dựng hệ thống.
Để mô phỏng hệ thống phục vụ đám đông bằng ngôn ngữ mô phỏng GPSS cần cài đặt một công cụ hỗ trợ ngôn ngữ này. Có nhiều phiên bản khác nhau GPSS World Personal Version, GPSS World Commercial Version, GPSS World Student Version… do công ty Minuteman software (http://www.minutemansoftware.com[19] ) cung cấp;
trong đó phiên bản GPSS World Student Version là phiên bản được cung cấp miễn phí nhằm mục đích học tập và nghiên cứu; để tiến hành nghiên cứu và thực hiện các mô phỏng đối với các hệ thống hàng đợi trong đề tài này tôi đã sử dụng phiên bản này.
Sau khi tải phiên bản miễn phí GPSS World Student Version về, tiến hành cài đặt như các phần mềm thông thường.
Để mô phỏng một hệ thống phục vụ đám đông thực hiện như sau:
- Tạo một mô hình: vào menu File / New /Model /OK.
- Thực hiện viết code chương trình bằng ngôn ngữ GPSS cho hệ thống.
- Tạo mô phỏng mới: vào menu Command / Create Simulation. Và lúc này ở menu Simulation Window sẽ xuất hiện các chức năng như: Blocks Window, Facilities Window, Plot Window, Queues Window… cho phép theo dõi quá trình mô phỏng và tính toán.
- Theo dõi và phân tích kết quả .
Để điều khiển quá trình mô phỏng người sử dụng có thể dùng các lệnh trong menu
Command như: START, STEP, HALT, CONTINUE. Khi quá trình mô phỏng kết thúc theo mặc định cửa sổ báo cáo kết quả REPORT sẽ xuất hiện.
Đây là mô hình một chương trình mô phỏng đơn giản:
Hình 3.3. Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản
GENERATE mô tả việc “yêu cầu” xuất hiện trong hệ thống.
QUEUE diễn tả việc “yêu cầu” (sự kiện) đi vào hàng đợi.
SEIZE yêu cầu được phục vụ, nếu kênh phục vụ bận thì “yêu cầu” phải tiếp tục bị giữ ở trong hàng đợi, ngược lại thì “yêu cầu” sẽ được chuyển vào kênh phục vụ.
DEPART biểu diễn hành vi “yêu cầu” được ra khỏi hàng đợi.
ADVANCE mô tả việc “yêu cầu” được phục vụ ở kênh phục vụ (máy phục vụ).
RELEASE giải phóng kênh phục vụ.
Một chương trình mô phỏng trong GPSS World sẽ có dạng như hình 3.4:
Hình 3.4. Minh họa chương trình mô phỏng trong GPSS World