Tải bản đầy đủ (.doc) (37 trang)

mô hình hóa hệ hàng đợi trạm xăng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (372.01 KB, 37 trang )

1. Giới thiệu về phần mềm sigma
Phần mềm SIGMA cho Window là một hướng tiếp cận mới để mô phỏng và
mô hình hoá các sự kiện rời rạc và phân tích với một vài đặc tính mô hình mô
phỏng đặc biệt và hiệu quả. Đặc tính mạnh nhất của SIGMA cho Window là các
sự kiện được mô phỏng có thể được thiết lập và nâng cao, hiệu chỉnh khi đang
chạy. Các sự kiện đó có thể thay đổi hoặc thậm chí xoá đi trong suốt quá trình
mô phỏng. Trật tự có thể thay đổi và được sửa lỗi mà không cần dừng quá trình
chạy để thay đổi mã và biên dịch lại. Bạn có thể thậm chí tạm dừng và chạy lại
các sự kiện đáng quan tâm. Sử dụng SIGMA trong Window, một mô hình mô
phỏng có thể đợc phát triển và kiểm tra trong một khoảng thời gian nhỏ bằng
cách sử dụng các ngôn ngữ mô phỏng thông thường
Khả năng hỗ trợ linh hoạt là sự khác nhau cơ bản trong SIGMA cho
Window so với các môi trờng mô phỏng khác. Sự linh hoạt không được tạo ra từ
các mô hình mô phỏng sử dụng các phần mềm hỗ trợ thông dụng khác. Trong
SIGMA sự linh hoạt và mô hình hoá mô phỏng là đồng nhất
Bên cạnh khả năng mô hình hoá trực quan, khả năng phân tích và sự linh
hoạt. SIGMA cho Window cũng bao gồm các công cụ theo dõi sự kiện trực
quan bằng trạng thái hình ảnh và cho phép hình ảnh, dữ liệu được dán vào các
bảng tính và các phần mềm soạn thảo. Các mô hình SIGMA có khả năng tự
động dịch sang các ngôn ngữ khác bao gồm C, Pascal …Một mô hình SIGMA
thậm chí có thể ghi lời chú thích bằng tiếng anh
2. Ví dụ minh họa
Đề bài số 60: Một trạm xăng bao gồm 2 bơm xăng và 2 làn đường cập xe ở 2
bên của máy bơm. Dòng khách hàng đến trong khoảng thời gian ngẫu nhiên, giả
sử rằng khách hàng đến từ làn đường bên trái phân bố đều từ 2 đến 6 phút và
khách hàng đến từ làn đường bên phải phân bố đều từ 2 đến 4 phút. Thời gian
phục vụ (bơm xăng, trả tiền) từ 3 đến 5 phút mỗi bơm. Khách hàng không thể
vượt qua trước mặt họ ngay cả khi họ đã được phục vụ xong. Mỗi bơm chỉ có
thể bơm cho 1 chiếc xe tại một thời điểm trong cả 2 làn đường và không thể lái
xe để thay đổi làn đường. Nếu có hơn 4 xe ôtô chờ đợi trong 1 làn đường thì
1


khách hàng đến từ hướng đó sẽ bỏ đi. Hãy mô phỏng hoạt động của trạm xăng
trong khoảng 2h và 4h
Bài làm:
2.1. Giải quyết đề bài
+ Khách hàng đến bơm xăng
+ Tính tiền
+ Ra về
2.2. Xác định mô hình tính toán
Ta chọn mô hình mô phỏng Slofast0.mod có sẵn từ phần mềm SIGMA
Mô hình có 8 nút: chạy, khách1, khách2, kiểm tra, bơm1, bơm2, ra về 1, ra về 2.
- Nút chạy: Tạo thông số ban đầu,người thứ nhất và người thứ 2 đang bơm
xăng. SERVER[0]=1, SERVER[1]=1
2
- Nút khách1: Số lượng người đến bơm xăng từ làn bên trái tăng lên. ở đây
ta có vòng lặp để khi có thêm khách đến bơm xăng thì tăng lên 1.
QUEUE=QUEUE+1
3
- Nút khách2: Số lượng người đến bơm xăng từ làn bên phải tăng lên. ở đây
ta có vòng lặp để khi có thêm khách đến bơm xăng thì tăng lên 1.
QUEUE=QUEUE+1
4
- Nút kiểm tra: Kiểm tra bơm xăng 1 ( server 0 ) và bơm xăng 2 ( server 1)
nếu bơm xăng 1 đang bận.
5
- Nút bơm1: Bơm xăng 1 bắt đầu bơm xăng ( server 0 ), số lượng khách hàng
giảm đi 1
SERVER[0]=SERVER[0]-1, QUEUE=QUEUE-1
6
- Nút bơm2: Bơm xăng 2 bắt đầu bơm ( server 1 ), số khách hàng giảm đi 1
SERVER[1]=SERVER[1]-1, QUEUE=QUEUE-1

7
- Nút ra về 1: Bơm xăng 1 đã bơm xong xăng cho khách hàng
8
- Nút ra về 2: Bơm xăng 2 bơm xăng thêm được cho 1 khách hàng nữa
9
- Mũi tên 1 và 2 đầu thực hiện quá trình mô phỏng, khởi tạo các thông số đầu
vào
10
- Mũi tên 3: Sắp xếp khởi tạo vòng lặp kế tiếp (khi 1 người nữa mang xe đến
bơm xăng), sau mỗi khoảng thời gian ngẫu nhiên 2+4*RND ( Do đầu bài
khoảng 2 đến 6 phút có 1 người đến bơm xăng)
- Mũi tên 4 và 5: Bắt đầu hoạt động kiểm tra
11
- Mũi tên 6: Sắp xếp khởi tạo vòng lặp kế tiếp (khi 1 người nữa mang xe đến
bơm xăng), sau mỗi khoảng thời gian ngẫu nhiên 2+2*RND ( Do đầu bài
khoảng 2 đến 4 phút có 1 người đến bơm xăng)
- Mũi tên 7: Bắt đầu phục vụ khách hàng. Bơm 1 bắt đầu bơm xăng nếu bơm
2 có người đang bơm
12
- Mũi tên 8: Bơm 2 bắt đầu bơm, nếu bơm 1 có người đang bơm
- Mũi tên 9: Khách hàng đến bơm xăng xong và ra về
13
Thời gian phục vụ khách hàng từ 3 đến 5 phút
- Mũi tên 10:
Thời gian phục vụ khách hàng từ 3 đến 5 phút
14
2.3. Mô phỏng hệ thống trong 2 h:
Ta mô phỏng hoạt động của hệ thống trong vòng 2h
- Đồ thị
15

- Bảng các biến
MODEL DEFAULTS

Model Name: Many slow and fast servers
Model Description: SEVERAL SLOW AND SEVERAL FAST SERVERS
Output File: untitled.out
Output Plot Style: NOAUTO_FIT
Run Mode: GRAPHICS
Trace Vars: QUEUE,SERVER[0],SERVER[1
Random Number Seed: 12345
Initial Values: 2,5
Ending Condition: STOP_ON_TIME
Ending Time: 120.000
Trace Events: ALL EVENTS TRACED
Hide Edges:
Time Event Count QUEUE SERVER[0] SERVER[1]

0.000 Chay 1 0 1 1
0.000 khach2 1 1 1 1
0.000 kiemtra 1 1 1 1
0.000 Bom1 1 0 0 1
0.000 khach1 1 1 0 1
0.000 kiemtra 2 1 0 1
0.000 Bom2 1 0 0 0
2.193 khach2 2 1 0 0
2.193 kiemtra 3 1 0 0
3.071 ra ve 2 1 1 0 1
3.071 Bom2 2 0 0 0
4.216 khach2 3 1 0 0
16

4.216 kiemtra 4 1 0 0
4.667 ra ve 1 1 1 1 0
4.667 Bom1 2 0 0 0
5.790 khach1 2 1 0 0
5.790 kiemtra 5 1 0 0
6.174 ra ve 2 2 1 0 1
6.174 Bom2 3 0 0 0
7.747 khach2 4 1 0 0
7.747 kiemtra 6 1 0 0
8.837 ra ve 1 2 1 1 0
8.837 Bom1 3 0 0 0
10.414 khach2 5 1 0 0
10.414 kiemtra 7 1 0 0
10.741 ra ve 2 3 1 0 1
10.741 Bom2 4 0 0 0
11.447 khach1 3 1 0 0
11.447 kiemtra 8 1 0 0
12.228 ra ve 1 3 1 1 0
12.228 Bom1 4 0 0 0
12.948 khach2 6 1 0 0
12.948 kiemtra 9 1 0 0
15.327 ra ve 2 4 1 0 1
15.327 Bom2 5 0 0 0
15.525 ra ve 1 4 0 1 0
15.626 khach2 7 1 1 0
15.626 kiemtra 10 1 1 0
15.626 Bom1 5 0 0 0
17.382 khach1 4 1 0 0
17.382 kiemtra 11 1 0 0
18.159 khach2 8 2 0 0

17
18.159 kiemtra 12 2 0 0
18.395 ra ve 2 5 2 0 1
18.395 Bom2 6 1 0 0
18.961 ra ve 1 5 1 1 0
18.961 Bom1 6 0 0 0
20.577 khach2 9 1 0 0
20.577 kiemtra 13 1 0 0
22.438 ra ve 1 6 1 1 0
22.438 Bom1 7 0 0 0
22.840 khach1 5 1 0 0
22.840 kiemtra 14 1 0 0
23.228 ra ve 2 6 1 0 1
23.228 Bom2 7 0 0 0
24.438 khach2 10 1 0 0
24.438 kiemtra 15 1 0 0
26.066 khach1 6 2 0 0
26.066 kiemtra 16 2 0 0
27.310 ra ve 1 7 2 1 0
27.310 Bom1 8 1 0 0
27.462 khach2 11 2 0 0
27.462 kiemtra 17 2 0 0
27.487 ra ve 2 7 2 0 1
27.487 Bom2 8 1 0 0
28.858 khach1 7 2 0 0
28.858 kiemtra 18 2 0 0
30.131 khach2 12 3 0 0
30.131 kiemtra 19 3 0 0
32.131 ra ve 1 8 3 1 0
32.131 Bom1 9 2 0 0

32.452 ra ve 2 8 2 0 1
18
32.452 Bom2 9 1 0 0
33.993 khach2 13 2 0 0
33.993 kiemtra 20 2 0 0
34.655 khach1 8 3 0 0
34.655 kiemtra 21 3 0 0
35.234 ra ve 1 9 3 1 0
35.234 Bom1 10 2 0 0
37.298 ra ve 2 9 2 0 1
37.298 Bom2 10 1 0 0
37.768 khach2 14 2 0 0
37.768 kiemtra 22 2 0 0
38.081 khach1 9 3 0 0
38.081 kiemtra 23 3 0 0
38.446 ra ve 1 10 3 1 0
38.446 Bom1 11 2 0 0
40.935 khach2 15 3 0 0
40.935 kiemtra 24 3 0 0
41.052 khach1 10 4 0 0
41.052 kiemtra 25 4 0 0
41.688 ra ve 2 10 4 0 1
41.688 Bom2 11 3 0 0
41.801 ra ve 1 11 3 1 0
41.801 Bom1 12 2 0 0
44.928 khach2 16 3 0 0
44.928 kiemtra 26 3 0 0
45.302 ra ve 2 11 3 0 1
45.302 Bom2 12 2 0 0
45.863 ra ve 1 12 2 1 0

45.863 Bom1 13 1 0 0
48.347 khach2 17 2 0 0
19
48.347 kiemtra 27 2 0 0
49.512 ra ve 2 12 2 0 1
49.512 Bom2 13 1 0 0
49.860 ra ve 1 13 1 1 0
49.860 Bom1 14 0 0 0
51.103 khach2 18 1 0 0
51.103 kiemtra 28 1 0 0
53.511 ra ve 1 14 1 1 0
53.511 Bom1 15 0 0 0
53.709 ra ve 2 13 0 0 1
54.553 khach2 19 1 0 1
54.553 kiemtra 29 1 0 1
54.553 Bom2 14 0 0 0
56.763 ra ve 1 15 0 1 0
57.616 khach2 20 1 1 0
57.616 kiemtra 30 1 1 0
57.616 Bom1 16 0 0 0
57.667 ra ve 2 14 0 0 1
60.750 khach2 21 1 0 1
60.750 kiemtra 31 1 0 1
60.750 Bom2 15 0 0 0
60.964 ra ve 1 16 0 1 0
64.083 khach2 22 1 1 0
64.083 kiemtra 32 1 1 0
64.083 Bom1 17 0 0 0
65.634 ra ve 2 15 0 0 1
66.753 khach2 23 1 0 1

66.753 kiemtra 33 1 0 1
66.753 Bom2 16 0 0 0
68.331 ra ve 1 17 0 1 0
20
69.676 khach2 24 1 1 0
69.676 kiemtra 34 1 1 0
69.676 Bom1 18 0 0 0
69.947 ra ve 2 16 0 0 1
71.961 khach2 25 1 0 1
71.961 kiemtra 35 1 0 1
71.961 Bom2 17 0 0 0
73.784 ra ve 1 18 0 1 0
74.156 khach2 26 1 1 0
74.156 kiemtra 36 1 1 0
74.156 Bom1 19 0 0 0
75.260 ra ve 2 17 0 0 1
77.021 khach2 27 1 0 1
77.021 kiemtra 37 1 0 1
77.021 Bom2 18 0 0 0
77.614 ra ve 1 19 0 1 0
79.490 khach2 28 1 1 0
79.490 kiemtra 38 1 1 0
79.490 Bom1 20 0 0 0
81.170 ra ve 2 18 0 0 1
81.643 khach2 29 1 0 1
81.643 kiemtra 39 1 0 1
81.643 Bom2 19 0 0 0
83.953 ra ve 1 20 0 1 0
84.810 khach2 30 1 1 0
84.810 kiemtra 40 1 1 0

84.810 Bom1 21 0 0 0
85.438 ra ve 2 19 0 0 1
87.384 khach2 31 1 0 1
87.384 kiemtra 41 1 0 1
21
87.384 Bom2 20 0 0 0
89.597 ra ve 1 21 0 1 0
89.734 khach2 32 1 1 0
89.734 kiemtra 42 1 1 0
89.734 Bom1 22 0 0 0
91.193 ra ve 2 20 0 0 1
93.005 khach2 33 1 0 1
93.005 kiemtra 43 1 0 1
93.005 Bom2 21 0 0 0
94.508 ra ve 1 22 0 1 0
96.967 khach2 34 1 1 0
96.967 kiemtra 44 1 1 0
96.967 Bom1 23 0 0 0
97.027 ra ve 2 21 0 0 1
100.394 khach2 35 1 0 1
100.394 kiemtra 45 1 0 1
100.394 Bom2 22 0 0 0
101.350 ra ve 1 23 0 1 0
102.816 khach2 36 1 1 0
102.816 kiemtra 46 1 1 0
102.816 Bom1 24 0 0 0
104.009 ra ve 2 22 0 0 1
105.664 khach2 37 1 0 1
105.664 kiemtra 47 1 0 1
105.664 Bom2 23 0 0 0

107.397 ra ve 1 24 0 1 0
108.750 khach2 38 1 1 0
108.750 kiemtra 48 1 1 0
108.750 Bom1 25 0 0 0
109.230 ra ve 2 23 0 0 1
22
111.478 khach2 39 1 0 1
111.478 kiemtra 49 1 0 1
111.478 Bom2 24 0 0 0
112.344 ra ve 1 25 0 1 0
114.752 ra ve 2 24 0 1 1
114.762 khach2 40 1 1 1
114.762 kiemtra 50 1 1 1
114.762 Bom1 26 0 0 1
117.660 khach2 41 1 0 1
117.660 kiemtra 51 1 0 1
117.660 Bom2 25 0 0 0
119.206 ra ve 1 26 0 1 0
119.753 khach2 42 1 1 0
119.753 kiemtra 52 1 1 0
119.753 Bom1 27 0 0 0
120.695 ra ve 2 25 0 0 1
Nhận xét: dựa vào bảng trên ta thấy trong 2 giờ bơm 1 bơm xăng được cho 56
khách hàng và bơm 2 được cho 57 khách hàng.
2.4. Mô phỏng hệ thống trong 4h
- Đồ thị
23
- Bảng các biến
MODEL DEFAULTS


Model Name: Many slow and fast servers
Model Description: SEVERAL SLOW AND SEVERAL FAST SERVERS
Output File: UNTITLED.OUT
Output Plot Style: NOAUTO_FIT
Run Mode: GRAPHICS
Trace Vars: QUEUE,SERVER[0],SERVER[1
Random Number Seed: 12345
Initial Values: 2,5
Ending Condition: STOP_ON_TIME
Ending Time: 240.000
Trace Events: ALL EVENTS TRACED
Hide Edges:
24
Time Event Count QUEUE SERVER[0] SERVER[1]

0.000 Chay 1 0 1 1
0.000 khach2 1 1 1 1
0.000 kiemtra 1 1 1 1
0.000 Bom1 1 0 0 1
0.000 khach1 1 1 0 1
0.000 kiemtra 2 1 0 1
0.000 Bom2 1 0 0 0
2.193 khach2 2 1 0 0
2.193 kiemtra 3 1 0 0
3.071 ra ve 2 1 1 0 1
3.071 Bom2 2 0 0 0
4.216 khach2 3 1 0 0
4.216 kiemtra 4 1 0 0
4.667 ra ve 1 1 1 1 0
4.667 Bom1 2 0 0 0

5.790 khach1 2 1 0 0
5.790 kiemtra 5 1 0 0
6.174 ra ve 2 2 1 0 1
6.174 Bom2 3 0 0 0
7.747 khach2 4 1 0 0
7.747 kiemtra 6 1 0 0
8.837 ra ve 1 2 1 1 0
8.837 Bom1 3 0 0 0
10.414 khach2 5 1 0 0
10.414 kiemtra 7 1 0 0
25

×