BÀI TẬP MÔ HÌNH HÓA
ĐỀ 58 :
SỬ DỤNG CHƯƠNG TRÌNH SIGMA ĐỂ
MÔ PHỎNG HỆ THỐNG
BÁN VÉ SÂN BAY
Mục lục:
Chương I : Giới thiệu chung
Chương II : Phân tích yêu cầu và xây dựng mô hình toán
Chương III : Kết quả mô phỏng
Chương IV : Các kết luận về hệ thống
CHƯƠNG I:
GIỚI THIỆU CHUNG
1
I. Giới thiệu chung về phần mềm sigma:
Trong các bài tập trước đây, ta thường xây dựng chương trình mô
phỏng bằng công cụ Visual Basic, tuy nhiên đó không phải là một công
cụ chuyên dụng để mô phỏng. Vì vậy trong bài tập này ta sử dụng 1 công
cụ mới, chuyên dùng để mô phỏng đó là chương trình SIGMA.
Phần mềm SIGMA FOR WINDOWS là một sự tiếp cận mới về
phân tích và mô phỏng các sự kiện rời rạc với một vài đặc tính xây dựng
mô hình mạnh.
Đặc tính nổi bật nhất của phần mềm SIGMA là các mô hình mô
phỏng có thể được tạo ra hoặc soạn thảo trong khi chương trình đang
chạy. Các sự kiện có thể thêm bớt, thay đổi hoặc loại bỏ. Trình tự logic
không bị thay đổi và các lỗi sẽ được hiệu chỉnh mà không cần dừng
chương trình để thay đổi mã và biên dịch lại. Bạn có thể tạm dừng hoặc
chạy lại chương trình bạn thích. Khi sử dụng phần mềm này một mô hình
mô phỏng có thể được phát triển và thực hiện trong một thời gian nhỏ và
nó cũng sử dụng ngôn ngữ lập trình biên dịch thuận tiện nhất.
Tính ưu việt cơ bản của phần mềm SIGMA mà các môi trường mô
phỏng khác không có được là các hỗ trợ hoạt cảnh trong phần mềm. Các
lần taxi đến tuân theo luật phân bố mũ với thời gian trung bình là 1 phút.
Hành khách đôi khi đến theo nhóm để giảm giá vé taxi. Mỗi xe taxi mang
theo từ 1 đến 4 hành khách. Khả năng của nhóm 1 người là 0,6, khả năng
của nhóm 2 người hoặc 3 người là 0,15, và khả năng của nhóm 4 hành
khách đến bằng taxi là 0,1. Khách hàng đến theo nhóm nhưng sẽ được
phục vụ lần lượt. Hãy mô phỏng hệ thống mua vé tại sân bay. Đánh giá
chiều dài hàng đợi của hệ thống.
CHƯƠNG II:
PHÂN TÍCH YÊU CẦU VÀ XÂY
DỰNG MÔ HÌNH TOÁN
I. Phân tích yêu cầu:
Theo đề bài, chúng ta sẽ có 2 hệ thống hàng đợi nối tiếp nhau. Đó là
hệ thống khách hàng lên xe taxi và khách hàng xếp hàng mua vé máy
bay. Ta sẽ sử dụng 4 biến SEVER tương ứng với 3 kênh phục vụ bán
vé và 1 kênh để tạo thời gian nghỉ so le 20 phút giữa các quầy. 1 biến
QUEUE tương tứng với 1 khách hàng. Ta cũng sẽ sử dụng 4 biến MV
để tạo 4 nhóm lên xe taxi với các tỷ lệ lần lượt : nhóm 1 người – 60%,
nhóm 2 người – 15%, nhóm 3 người – 15% và nhóm 4 người – 10%.
Ngoài ra còn các biến phụ như TONG, RA, DK.
II. Xây dựng mô hình toán:
1, Giao diện Sigmal :
3
4
2,Khai báo các biến:
QUEUE : biến khách hàng
SEVER : quầy phục vụ bán vé
RA : khách hàng ra khỏi quầy sau khi mua vé
MV : khách hàng nên xe taxi theo nhóm
TONG : tổng số khách hàng
DK : điều kiện để các quầy nghỉ giữa giờ
A, mũi tên từ Run đến ARRIV
10
Khởi tạo tham số, khách hàng lên taxi.
B, mũi tên từ ARRIV đến lần lượt 4 nhóm :
Mũi tên đến nhóm 1 : đưa tỷ lệ 1 khách lên taxi là 60%
Tương tự với các nhóm khác – 15% cho 2 người, 15% cho 3 người và
10% cho 4 người.
C, mũi tên từ các Nhóm đến Tổng :
11
Đưa các khách đến cửa sân bay để mua vé, cộng tổng các khách lại.
D, mũi tên từ Tổng đến Check :
Đại lý phục vụ 1 khách theo quy luật phân bố đều.
E, mũi tên từ Tổng đến các Vao0, Vao1, Vao2 :
12
Phân chia khách hàng từ Tổng đến lần lượt 3 điều kiện.
F, mũi tên từ Vao0, Vao1, Vao2 đến Q0nghi, Q1nghi và Q2nghi :
Nếu để ý ta sẽ thấy :
mũi tên từ Vao0 -> Q0nghi : trễ 0 phút
mũi tên từ Vao1 -> Q1nghi : trễ 20 phút
mũi tên từ Vao2 -> Q2nghi : trễ 40 phút
Như vậy, ta đã có thể tạo ra khoảng thời gian nghỉ đan xe giữa các quầy
bán vé là 20 phút.
G, mũi tên từ Vao0, Vao1 và Vao2 đến thẳng các quầy Q0, Q1 và Q2 :
13
Ở 3 mũi tên này thì thời gian trễ đều bằng 0, nghĩa là khách sẽ được đến
thằng quầy bán vé nếu điều kiện nghỉ là không tồn tại.
H, mũi tên từ Q0nghi, Q1nghi và Q2nghi đến các quầy Q0, Q1 và
Q2 :
3 mũi tên này đều có độ trễ là 20 phút, tức là sau khi điều kiện nghĩ kết
Ending Condition: STOP_ON_TIME
Ending Time: 60.000
Trace Events: ALL EVENTS TRACED
Hide Edges:
Time Event Count QUEUE RA[0] RA[1] RA[2] MV[0] MV[1]
MV[2] MV[3] TONG SERVER[0] SERVER[1] SERVER[2] 0.000 RUN 1 1 0 0 0 0 0 0 0 0
1 1 1
0.000 ARRIV 1 2 0 0 0 0 0 0 0 0
1 1 1
0.000 nhóm 4 1 2 0 0 0 0 0 0 4 0
1 1 1
0.000 Tong 1 2 0 0 0 0 0 0 4 4
1 1 1
0.000 nhóm 1 1 2 0 0 0 1 0 0 4 4
1 1 1
0.000 Tong 2 2 0 0 0 1 0 0 4 5
1 1 1
0.051 CHECK 1 2 0 0 0 1 0 0 4 5
1 1 1
0.051 Vao2 1 2 0 0 0 1 0 0 4 5
1 1 0
0.051 Vao1 1 2 0 0 0 1 0 0 4 5
1 0 0
17
0.051 Vao0 1 2 0 0 0 1 0 0 4 5
0 0 0
0.051 Q0nghi 1 2 0 0 0 1 0 0 4 5
0 -1 -1
4.861 Vao1 3 4 0 0 0 1 2 0 8 10
0 0 -1
4.861 quay 1 2 4 0 0 0 1 2 0 8 9
0 -1 -1
4.861 Vao0 3 4 0 0 0 1 2 0 8 9
0 -1 -1
5.558 CHECK 4 4 0 0 0 1 2 0 8 9
0 -1 -1
5.558 Vao2 4 4 0 0 0 1 2 0 8 9
0 -1 0
18
5.558 quay 2 3 4 0 0 0 1 2 0 8 8
0 -1 -1
5.558 Vao1 4 4 0 0 0 1 2 0 8 8
0 0 -1
5.558 quay 1 3 4 0 0 0 1 2 0 8 7
0 -1 -1
5.558 Vao0 4 4 0 0 0 1 2 0 8 7
0 -1 -1
6.017 ARRIV 4 5 0 0 0 1 2 0 8 7
0 -1 -1
7.637 ARRIV 5 6 0 0 0 1 2 0 8 7
0 -1 -1
7.708 ARRIV 6 7 0 0 0 1 2 0 8 7
0 -1 -1
7.708 nhóm 1 2 7 0 0 0 2 2 0 8 7
0 -1 -1
7.708 Tong 5 7 0 0 0 2 2 0 8 12
0 -1 -1
0 -1 -1
10.423 Vao1 6 9 0 0 0 4 2 0 8 13
0 0 -1
10.423 quay 1 5 9 0 0 0 4 2 0 8 12
0 -1 -1
10.423 Vao0 6 9 0 0 0 4 2 0 8 12
0 -1 -1
10.558 CHECK 7 9 0 0 0 4 2 0 8
12 0 -1 -1
10.558 Vao2 7 9 0 0 0 4 2 0 8 12
0 -1 0
10.558 quay 2 6 9 0 0 0 4 2 0 8 11
0 -1 -1
10.558 Vao1 7 9 0 0 0 4 2 0 8 11
0 0 -1
10.558 quay 1 6 9 0 0 0 4 2 0 8 10
0 -1 -1
10.558 Vao0 7 9 0 0 0 4 2 0 8 10
0 -1 -1
10.619 ARRIV 9 10 0 0 0 4 2 0 8
10 0 -1 -1
11.392 ARRIV 10 11 0 0 0 4 2 0 8
10 0 -1 -1
11.392 nhóm 4 3 11 0 0 0 4 2 0 12
10 0 -1 -1
11.392 Tong 8 11 0 0 0 4 2 0 12 18
0 -1 -1
11.392 nhóm 2 2 11 0 0 0 4 4 0 12
18 0 -1 -1
11.392 Tong 9 11 0 0 0 4 4 0 12 20
11.824 CHECK 10 11 0 0 0 5 4 0 12
17 0 -1 -1
11.824 Vao2 10 11 0 0 0 5 4 0 12 17
0 -1 0
11.824 quay 2 9 11 0 0 0 5 4 0 12 16
0 -1 -1
11.824 Vao1 10 11 0 0 0 5 4 0 12 16
0 0 -1
11.824 quay 1 9 11 0 0 0 5 4 0 12 15
0 -1 -1
11.824 Vao0 10 11 0 0 0 5 4 0 12 15
0 -1 -1
13.291 ARRIV 11 12 0 0 0 5 4 0 12
15 0 -1 -1
13.411 ARRIV 12 13 0 0 0 5 4 0 12
15 0 -1 -1
13.690 LEAV2 1 13 0 0 1 5 4 0 12
15 1 -1 -1
13.690 quay 2 10 13 0 0 1 5 4 0 12
14 1 -1 -2
14.966 ARRIV 13 14 0 0 1 5 4 0 12
14 1 -1 -2
14.966 nhóm 1 6 14 0 0 1 6 4 0 12
14 1 -1 -2
14.966 Tong 11 14 0 0 1 6 4 0 12 22
1 -1 -2
21
15.264 CHECK 11 14 0 0 1 6 4 0 12
22 1 -1 -2
15.264 Vao2 11 14 0 0 1 6 4 0 12 22
1 -2 0
16.056 quay 2 13 15 0 1 2 7 6 0 12
24 1 -2 -1
16.056 Vao1 12 15 0 1 2 7 6 0 12 24
1 0 -1
16.056 quay 1 12 15 0 1 2 7 6 0 12
23 1 -1 -1
16.056 Vao0 12 15 0 1 2 7 6 0 12 23
0 -1 -1
16.651 CHECK 13 15 0 1 2 7 6 0 12
23 0 -1 -1
22
16.651 Vao2 13 15 0 1 2 7 6 0 12 23
0 -1 0
16.651 quay 2 14 15 0 1 2 7 6 0 12
22 0 -1 -1
16.651 Vao1 13 15 0 1 2 7 6 0 12 22
0 0 -1
16.651 quay 1 13 15 0 1 2 7 6 0 12
21 0 -1 -1
16.651 Vao0 13 15 0 1 2 7 6 0 12 21
0 -1 -1
16.750 LEAV2 3 15 0 1 3 7 6 0 12
21 1 -1 -1
16.750 quay 2 15 15 0 1 3 7 6 0 12
20 1 -1 -2
16.764 ARRIV 15 16 0 1 3 7 6 0 12
20 1 -1 -2
16.785 ARRIV 16 17 0 1 3 7 6 0 12
20 1 -1 -2
25 0 -1 -1
17.576 Vao0 15 17 0 1 3 8 6 3 12 25
0 -1 -1
18.073 ARRIV 17 18 0 1 3 8 6 3 12
25 0 -1 -1
18.073 nhóm 3 2 18 0 1 3 8 6 6 12
25
2, Đồ thị :
A,Queue :
24
B, Ra từ quầy 0:
C, MV – khách lên taxi nhóm 1 :
25