Tổng quan về GPSS

Một phần của tài liệu 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 (Trang 36)

Về nguyên tắc, chức năng phức tạp của thuật toán mô phỏng có thể được thực hiện bằng các ngôn ngữ lập trình phổ thông (Pascal, C, ...), các ngôn ngữ này cung cấp khả năng không hạn chế để lập trình, gỡ lỗi và thử nghiệm các mô hình; Tuy nhiên, nó đòi hỏi nỗ lực lớn cho việc xây dựng và lập trình nhiều những thuật toán mô phỏng phức tạp, làm việc với danh sách dữ liệu có cấu trúc. Một sự thay thế là sử dụng ngôn ngữ mô phỏng chuyên dụng.

Ngôn ngữ chuyên dụng có phương pháp mô tả, khai báo cấu trúc và quá trình làm việc của hệ thống được mô phỏng, điều này đem lại sự thuận tiện và làm đơn giản hóa việc lập trình modul mô phỏng, bởi vì các hàm chức năng cơ bản của thuật toán khi đó được thực hiện một cách tự động. Chương trình mô phỏng các mô hình mẫu viết trên ngôn ngữ chuyên dụng gần với mô tả của hệ thống được mô phỏng trong ngôn ngữ tự nhiên, cho phép kể cả những người dùng không phải là lập trình viên chuyên nghiệp xây dựng mô hình mô phỏng phức tạp.

GPSS ngôn ngữ mô phỏng sự kiện rời rạc, được Geoffrey Gordon (IBM) [7], phát triển chính thức từ những năm 1960, đã đóng góp nhiều khái niệm

29

quan trọng tới sự phát triển của ngôn ngữ mô phỏng. Với tên khai sinh là GPSS – Gordon’s Programmable Simulation System sau này được đổi tên thành GPSS – General Purpose Simulation System như ngày nay. GPSS World là một biến thể của GPSS/PC, một sự triển khai sớm của GPSS cho máy tính cá nhân. Từ khi được giới thiệu vào năm 1984, GPSS/PC và các phiên bản khác nhau của nó đã thu được hàng nghìn đôla từ hàng triệu người sử dụng trên toàn thế giới. Hiện nay, sự triển khai trên Windows của GPSS World đã mở rộng tiềm năng trong môi trường Internet.

GPSS không dùng bước nhảy theo thời gian mà dựa vào việc tạo ra “giao dịch” – Transactions và sau đó quản lý chúng trong các giai đoạn, Blocks khác nhau. Transaction được theo vết và được đặt trên vùng quản lí khác nhau phụ thuộc vào việc hoặc chúng đã sẵn thực thi ngay (Current Event Chain – CEC) [4], hoặc cần chờ một số sự kiện trong tương lai (Future Event Chain – FEC). Khi tất cả sự kiện hiện thời được xử lí, sau đó thời gian được tăng lên và sự mô phỏng tiếp diễn qua một tập CEC mới. Ta có thể xem CEC và FEC để thấy vị trí của Transaction bằng cách sử dụng menu: Window > Simulation Snapshot > CEC/FEC Snapshot khi sự mô phỏng đang vận hành.

Điểm mạnh của GPSS World là tính trong suốt. Tính trong suốt được thể hiện bởi ba lí do. Thứ nhất, việc mô phỏng bằng phương pháp “hộp đen” (Black-Box) là thật sự nguy hiểm vì không thể quan sát được cơ chế vận hành bên trong. Điều này không chỉ không chắc chắn rằng nó có phù hợp với tình hình thực tại hay không mà còn khó đảm bảo nó sẽ làm việc theo đúng dự kiến. Thứ hai, sự mô phỏng thành công rất có ý nghĩa về mặt giá trị và có thời gian tồn tại kéo dài. Những người mới sẽ dễ dàng nắm bắt được cơ chế vận hành bên trong của hệ thống để từ đó tiếp quản công việc. Thứ ba, một trong những thuận lợi của việc mô phỏng tính toán hiệu quả nhất nhưng ít được đề cập nhất là sự hiểu biết về hành vi của hệ thống đạt được khi một chuyên viên

30

mô phỏng có kinh nghiệm có thể nhìn thấy cái động bên trong tại các thời gian quyết định trong mô phỏng.

Ưu điểm của GPSS đối với người sử dụng: - Thao tác nhiều nghiệp vụ khác nhau. - Sử dụng bộ nhớ ảo.

- Tương thích với nhiều hệ điều hành.

- Giao diện đồ họa thân thiện với người dùng. - Dễ dàng hình dung được quy trình của mô hình.

Với những đặc tính và ưu điểm trên, GPSS có thể được áp dụng trên nhiều lĩnh vực trong thực tế. ng dụng chính của GPSS có thể kể đến như: - Giao thông vận tải (phổ biến nhất là mô hình bảo trì máy bay fleet trong kĩ thuật hàng không và vận tải công ty).

- Công nghệ mạng: Nghiên cứu đánh giá các vùng dữ liệu mạng.

- Thương mại: Hệ thống bán hàng tự động, hệ thống thanh toán tiền trong siêu thị…

- Một số ứng dụng trong công nghiệp: Ứng dụng trong sản xuất kim loại tự động.

Ví dụ một chương trình GPSS đơn giản:

GENERATE 300,100 ;Create next customer. QUEUE BARBER ;Begin queue time. SEIZE BARBER ;Own or wait for barber. DEPART BARBER ;End queue time.

ADVANCE 400,200 ;Haircut takes a few minutes. RELEASE BARBER ;Haircut done. Give up the barber.

31

Chương trình trên mô tả một quầy phục vụ cắt tóc. Khách hàng đến quầy theo một khoảng thời gian ngẫu nhiên là 300±100 phút. Thời gian để phục vụ một khách hàng (thời gian cắt tóc) là 400±200 phút.

Một phần của tài liệu 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 (Trang 36)

Tải bản đầy đủ (PDF)

(77 trang)