Theo đúng thuật toán được trình bày ở hình 3.6, ta viết chương trình bằng ngôn ngữ GPSS.
Chương trình chạy trên ngôn ngữ GPSS: ;Chương trình mô phỏng mô hình sân bay.
;sigment 1 – Mô tả quá trình máy bay hạ cánh
;DOWN ;blok 1
GENERATE 10,5,,,1 ;Khởi tạo tham số trong khoảng 5'=>15' cho máy bay
;hạcánh
ASSIGN 1,0 ;Xác lập tham số 1 cho kênh phục vụ tại thời điểm 0
;tham số 1 được tính toán
;.trong trường hợp máy bay bay nhiều hơn 5 vòng
Again QUEUE Q_POL ;Máy bay nhận thông báo từ đường băng
TEST NE F$POLOSA,1,Busy ;Nếu đường băng bận thì đi tới khối Busy
PREEMPT POLOSA,PR ;Đường băng tiếp nhận các máy bay theo sự ưu tiên
ADVANCE 2 ;Thời gian bận của đường băng trong quá trình phục vụ
DEPART Q_POL ;Đường băng phục vụ máy bay hạ cánh
RETURN POLOSA ;Giải phóng đường băng
TERMINATE ;blok 2
;thì đi tới khối term, tức là trong trường hợp này máy
;bay hạ cánh sẽ bay sang sân bay phụ
ADVANCE 4 ;Thời gian bay 1 vòng
ASSIGN 1+,1 ;Tăng số vòng bay đối với máy bay này
TRANSFER ,Again ;Đến lượt máy bay tiếp theo
term ASSIGN 1,0 ;Máy bay sẽ bay sang sân bay phụ
TERMINATE
;sigment 2 – Mô tả quá trình máy bay cất cánh
;UP
GENERATE 10,2,,,2 ;Khởi tạo tham số trong khoảng 8'=>12' cho máy bay ;cất cánh
QUEUE Q_POL ;Máy bay nhận thông báo từ đường băng
PREEMPT POLOSA,PR ;Đường băng tiếp nhận các máy bay theo sự ưu tiên
ADVANCE 2 ;Thời gian bận của đường băng trong quá trình phục vụ
DEPART Q_POL ;Đường băng phục vụ máy bay hạ cánh
RETURN POLOSA ;Giải phóng đường băng
TERMINATE ;sigment 3
GENERATE 1440 ;1440 = 60*24: nghĩa là thời gian 1 ngày đêm tính
TERMINATE 1 ;bằng phút
(kết quả này đã được giản lược):
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 146 0 0 2 ASSIGN 146 0 0 AGAIN 3 QUEUE 174 0 0 4 TEST 174 0 0 5 PREEMPT 146 0 0 6 ADVANCE 146 0 0 7 DEPART 146 0 0 8 RETURN 146 0 0 9 TERMINATE 146 0 0 BUSY 10 TEST 28 0 0
11 ADVANCE 28 0 0 12 ASSIGN 28 0 0 13 TRANSFER 28 0 0 TERM 14 ASSIGN 0 0 0 15 TERMINATE 0 0 0 16 GENERATE 142 0 0 17 QUEUE 142 0 0 18 PREEMPT 142 0 0 19 ADVANCE 142 0 0 20 DEPART 142 0 0 21 RETURN 142 0 0 22 TERMINATE 142 0 0 23 GENERATE 1 0 0 24 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
POLOSA 288 0.400 2.000 1 0 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY Q_POL 30 28 316 0 12.521 57.058 57.058 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 290 2 1440.749 290 0 16
291 1 1445.367 291 0 1 292 0 2880.000 292 0 23
Giải thích các kết quả nhận được [4]:
1) Số lượng máy bay hạ cánh trong khoảng một ngày đêm : 146
2) Số lượng máy bay hạ cánh, mà phải thực hiện chuyến bay theo đường vòng : 28
3) Số lượng máy bay hạ cánh thành công trong thời gian một ngày đêm: 146 4) Số lượng máy bay hạ cánh không thành công trong khoảng một ngày đêm: 0 5) Số lượng máy bay cất cánh trong khoảng một ngày đêm: 142
6) Số lượng máy bay cất cánh thành công trong khoảng một ngày đêm: 142 7) Hệ số sử dụng của đường băng cho việc cất cánh- hạ cánh: 40 %
Nhận xét
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 Tính toán theo lý thuyết Tính toán trong GPSS 144 142 144 142 144 146 144 146
Số lượng máy bay hạ cánh, mà phải thực
hiện chuyến bay vòng 28
Số lượng máy bay hạ cánh không thành
công trong khoảng một ngày đêm 0
Hệ số sử dụng của đường băng cho việc cất
Qua các kết quả thực nghiệm thu được cho thấy: Đây chỉ là một trong số các bài toán hệ thống hàng đợi điển hình, việc tính toán bằng công thức toán học không quá phức tạp. Kết quả mô phỏng và tính toán trong GPSS World phù hợp với kết quả tính toán theo lý thuyết. Đồng thời, khi thời gian càng tăng (độ lấy mẫu càng lớn) thì độ chính xác giữa kết quả tính toán lý thuyết và kết quả mô phỏng theo GPSS World càng cao. Trong thực tế, có rất nhiều hệ thống có mô hình phức tạp hơn; số lượng nguồn yêu cầu tăng; số lượng kênh phục vụ nhiều hơn 1 kênh (hệ đa kênh); quy luật phục vụ cũng như thời gian phục vụ theo các quy luật phân bố khác nhau… Khi đó việc sử dụng công cụ tính toán toán học thông thường theo lý thuyết hàng đợi là rất khó khăn. Trong những trường hợp này, việc mô phỏng hệ thống hàng đợi bằng GPSS World là một giải pháp hiệu quả.
3.2.5. Mô phỏng bài toán bằng mô hình mạng Petri
Theo đúng thuật toán được trình bày ở hình 3.6 ta tạo ra mạng Petri, trình bày ở hình 3.8.
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
Các yêu cầu phục vụ từ đỉnh P1 di chuyển theo đường dẫn T1. Tham số T1 được thực hiện ở bảng 3.14.
Bảng 3.14 Thời gian chờ T1 ở vị trí P1
1 Đầu vào Р1
2 Đầu ra Р3, Р14
3 Thời gian chờ đợi 10 phút. – với xác suất 0.200 11 phút. – với xác suất 0.200 12 phút. – với xác suất 0.200 8 phút – với xác suất 0.200 9 phút. – với xác suất 0.200
Có sự phát sinh các yêu cầu yêu cầu phục vụ theo dạng thứ nhất, tức là đối với máy bay cất cánh. Các thông báo của nút P2 chuyển động theo đường dẫn T2. Các tham số T2 được thực hiện ở bảng 3.15.
Bảng 3.15 Thời gian chờ T2 ở vị trí P2
1 Đầu vào Р2
2 Đầu ra Р4, Р15
3 Thời gian chờ đợi 10 phút. – với xác suất 0.200 11 phút. – với xác suất 0.100 13 phút. – với xác suất 0.100 14 phút. – với xác suất 0.100 15 phút. – với xác suất 0.100 5 phút. – với xác suất 0.100 6 phút. – với xác suất 0.100 7 phút. – với xác suất 0.100 9 phút. – với xác suất 0.100
Có sự phát sinh các yêu cầu phục vụ theo dạng thứ hai, tức là đối với máy bay hạ cánh. Chúng ta sẽ sử dụng P5 như đỉnh điều khiển.Vì các yêu cầu ngay sau khi phát sinh phù hợp với chuyển động theo đường dẫn T3 và T4, nên T3 có sự ưu tiên lớn hơn so với T4, các yêu cầu từ P3 sẽ có sự ưu tiên hơn các yêu cầu từ P4, vấn đề này thỏa mãn yêu cầu của chúng ta. Trên các đường dẫn T3, T4, T6, T8, T10, T12 , T14 các yêu cầu sẽ được để lại trong 2 phút, vì thế các đường dẫn này thực hiện như là các dụng cụ phục vụ, tức là đường băng lên xuống. Trong trường hợp trên T4 các thực hiện các yêu cầu từ P4, chúng ngay lập tức chuyển sang T5. Trên các đường dẫn T5, T7, T9, T11, T13 các yêu cầu được để lại trong 4 phút, bởi vì các đường dẫn này thực hiện quá trình bay theo đường vòng. Đường dẫn T15
được coi như đường dẫn thời gian, mà ở đó không có các tham số của sự chậm lại. Thiết lập tham số thời gian để làm mạng làm việc: 1440, tức là số phút trong thời gian một ngày đêm. Số lượng nhãn đầu tiên trên P1 và P2- 500 nhãn.
Bảng 3.16 Kết quả phân tích hàng chờ T
Kết quả khi chạy chương trình:
Giải thích kết quả nhận được từ 2 bảng trên:
Số lượng máy bay hạ cánh trong khoảng một ngày đêm (P15): 144 Số lượng máy bay hạ cánh mà phải thực hiện bay theo một vòng: 39 Số lượng máy bay hạ cánh mà phải thực hiện bay theo 2 vòng: 2
Số lượng máy bay hạ cánh thành công trong khoảng một ngày đêm: 144 Số lượng máy bay hạ cánh không thành công trong khoảng một ngày đêm: 0 Số lượng máy bay cất cánh trong khoảng thời gian một ngày đêm (P14): 145 Số lượng máy bay cất cánh thành công trong khoảng thời gian một ngày đêm: 145 Hệ số sử dụng của đường băng cho việc cất cánh và hạ cánh: Có thể tính như là tổng hệ số sử dụng đường dẫn T3, T4, T6, T8, T10, T14 tức là:
20.12% + 14.30% + 5.41% + 0.28% = 40.11 %
Dựa vào kết quả từ việc giải bài toán bằng 3 phương pháp kể trên ta có bảng kết quả cuối cùng sau:
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
GPSS Mạng Petri Lý thuyết hàng đợi Số lượng các máy bay cất cánh thành công trong vòng một ngày đêm 142 145 144 Hệ số sử dụng đường băng cất cánh-hạ cánh К = 40 % К = 40.11 % К = 40 %
Giải quyết bài toán theo ba phương pháp, có thể đưa ra kết luận rằng việc giải bài toán thông qua mô hình bằng ngôn ngữ GPSS là thành công nhất, do chương trình ngắn gọn và rõ ràng.