Цель работы: Разработать имитационную программу для анализа работы
склада в течение календарного года. Определить количество контейнеров, которое
проходит через склад. Определить оптимальный объём склада. Определить
минимальное и максимальное время доставки груза заказчику с момента прихода
машины с грузом на склад своими силами и машинами заказчика. Предложить
варианты повышения эффективности работы склада. Задания выполняются
согласно индивидуальным вариантам.
Лабораторное
задание: На склад прибывают грузовые
автомобили с контейнерами (от 4 до 10 шт.). В среднем на склад прибывает a автомобилей в час
(интервалы между моментами их прибытия – экспоненциальные случайные величины).
Одновременно на складе могут разгружаться не более чем 3 автомобиля. Выгрузка
одного контейнера занимает от 4 до 12 минут. Склад вмещает b контейнеров. При заполнении
склада разгрузка приостанавливается.
Примерно c % грузов доставляются заказчикам автомобилями,
принадлежащими складу. Склад имеет e автомобилей. Доставка груза
заказчику занимает от 1 до 5 ч. Остальные
грузы вывозятся автомобилями заказчиков. Интервал от поступления груза
до прибытия за ним автомобилей заказчика составляет от 5 до 20 ч.
Одновременно на складе могут
загружаться не более пяти автомобилей. Затраты времени на погрузку примерно
такие же, как и на выгрузку.
Вариант задания
Вариант
|
a
|
b
|
c
|
E
|
6
|
13
|
130
|
65
|
9
|
Ход работы
Листинг
программы без модификации:
WayA
table M1,2,1,100
WayB
table M1,2,1,100
Zagruzka
storage 5
Razgruzka
storage 3
Sclad
storage 130
CarPark
storage 9
generate
(Exponential(1,0,13))
assign
1,(duniform(1,4,12))
assign
2,p1
assign
3,p1
queue
in,p1
gate
SV Razgruzka
enter
Razgruzka
depart
in
***процесс
разгрузки***
loop_1
gate SNF Sclad,No
advance (Uniform(1,4/60#1,12/60#1))
enter Sclad
transfer ,end_loop
No sunavail Razgruzka
end_loop
LOOP 1,loop_1
leave Razgruzka
***процесс
загрузки***
enter
Zagruzka
transfer
.2,CarA,CarB
***автомобили
склада***
CarA
enter CarPark
loop_2
advance (Uniform(1,4/60#1,12/60#1))
leave Sclad
gate SNF Sclad,end_2
savail Razgruzka
end_2
LOOP 2,loop_2
leave
Zagruzka
advance
(uniform(1,1,5))
loop_p
advance (Uniform(1,4/60#1,12/60#1))
tabulate
WayA
advance
(uniform(1,1,5))
leave
CarPark
transfer
,end_zagr
***автомобили
заказчика***
CarB
assign 4,(uniform(1,0.5,1.5))
test
GE M1,P4
loop_4
advance (Uniform(1,4/60#1,12/60#1))
leave Sclad
gate SNF Sclad,end_4
savail Razgruzka
end_4
LOOP 2,loop_4
leave
Zagruzka
advance
(uniform(1,1,5))
loop_3
advance (Uniform(1,4/60#1,12/60#1))
tabulate
WayB
end_zagr
terminate
generate
(365#24)
terminate
1
Отчет
GPSS World Simulation Report
- Untitled Model 1.1.1
Friday, May 24,
2013 10:18:23
START TIME END TIME BLOCKS
FACILITIES STORAGES
0.000 8760.000 46
0 4
NAME VALUE
CARA 18.000
CARB 32.000
CARPARK 10005.000
END_2 23.000
END_4 38.000
END_LOOP 14.000
END_ZAGR 44.000
IN 10006.000
LOOP_1 9.000
LOOP_2 19.000
LOOP_3 41.000
LOOP_4 34.000
LOOP_P 26.000
NO 13.000
RAZGRUZKA 10003.000
SCLAD 10004.000
WAYA 10000.000
WAYB 10001.000
ZAGRUZKA 10002.000
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 665 0 0
2 ASSIGN 665 0 0
3 ASSIGN 665 0 0
4 ASSIGN 665 0 0
5 QUEUE 665 0 0
6 GATE 665 0 0
7 ENTER 665 0 0
8
DEPART 665 0 0
LOOP_1 9 GATE 5319 0 0
10 ADVANCE 5319 0 0
11 ENTER 5319 0
0
12 TRANSFER 5319 0 0
NO 13 SUNAVAIL 0 0 0
END_LOOP 14 LOOP 5319 0 0
15 LEAVE 665 0 0
16 ENTER 665 0 0
17 TRANSFER 665 0 0
CARA 18 ENTER 517 0 0
LOOP_2 19 ADVANCE 4137 0 0
20 LEAVE 4137 0 0
21 GATE 4137 0 0
22 SAVAIL 4137 0
0
END_2 23 LOOP 4137 0 0
24 LEAVE 517 0 0
25 ADVANCE 517 0 0
LOOP_P 26 ADVANCE 4137 0 0
27 LOOP 4137 0 0
28 TABULATE 517 0 0
29 ADVANCE 517 0 0
30 LEAVE 517 0 0
31 TRANSFER 517 0 0
CARB 32 ASSIGN 148 0 0
33 TEST 148 0 0
LOOP_4 34 ADVANCE 1182 0 0
35 LEAVE 1182 0 0
36 GATE 1182 0 0
37 SAVAIL 1182 0 0
END_4 38 LOOP 1182 0 0
39 LEAVE 148 0 0
40 ADVANCE 148 0 0
LOOP_3 41 ADVANCE 1182 0 0
42 LOOP 1182 0 0
43 TABULATE 148 0 0
END_ZAGR 44 TERMINATE 665 0 0
45 GENERATE 1 0 0
46 TERMINATE 1 0 0
QUEUE MAX CONT. ENTRY
ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0)
RETRY
IN 4655 4654 5319
665 2268.332 3735.776
4269.573 0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
ZAGRUZKA 5
5 0 3
665 1 0.155
0.031 0 0
RAZGRUZKA 3
3 0 2
665 1 0.081
0.027 0 0
SCLAD 130 130
0 21 5319
1 1.134 0.009
0 0
CARPARK 9 9
0 4 517
1 0.482 0.054
0 0
Листинг
программы с модификацией:
WayA
table M1,2,1,100
WayB
table M1,2,1,100
Zagruzka
storage 8
Razgruzka
storage 5
Sclad
storage 1500
CarPark
storage 12
generate
(Exponential(1,0,13))
assign
1,(duniform(1,4,12))
assign
2,p1
assign
3,p1
queue
in,p1
gate
SV Razgruzka
enter
Razgruzka
depart
in
***процесс
разгрузки***
loop_1
gate SNF Sclad,No
advance (Uniform(1,4/60#1,12/60#1))
enter Sclad
transfer ,end_loop
No sunavail Razgruzka
end_loop
LOOP 1,loop_1
leave Razgruzka
***процесс
загрузки***
enter
Zagruzka
transfer
.2,CarA,CarB
***автомобили
склада***
CarA
enter CarPark
loop_2
advance (Uniform(1,4/60#1,12/60#1))
leave Sclad
gate SNF Sclad,end_2
savail Razgruzka
end_2
LOOP 2,loop_2
leave
Zagruzka
advance
(uniform(1,1,5))
loop_p
advance (Uniform(1,4/60#1,12/60#1))
LOOP 3,loop_p
tabulate
WayA
advance
(uniform(1,1,5))
leave
CarPark
transfer
,end_zagr
***автомобили
заказчика***
CarB
assign 4,(uniform(1,0.5,1.5))
test
GE M1,P4
loop_4
advance (Uniform(1,4/60#1,12/60#1))
leave Sclad
gate SNF Sclad,end_4
savail Razgruzka
end_4
LOOP 2,loop_4
leave
Zagruzka
advance
(uniform(1,1,5))
loop_3
advance (Uniform(1,4/60#1,12/60#1))
LOOP 3,loop_3
tabulate
WayB
end_zagr
terminate
generate
(365#24)
terminate
1
Отчет
GPSS World
Simulation Report - LAB4.138.1
Thursday, April
18, 2013 12:08:29
START TIME END TIME BLOCKS
FACILITIES STORAGES
0.000 8760.000 46
0 4
NAME VALUE
CARA 18.000
CARB 32.000
CARPARK 10005.000
END_2 23.000
END_4 38.000
END_LOOP 14.000
END_ZAGR 44.000
IN 10006.000
LOOP_1 9.000
LOOP_2 19.000
LOOP_3 41.000
LOOP_4 34.000
LOOP_P 26.000
NO 13.000
RAZGRUZKA 10003.000
SCLAD 10004.000
WAYA 10000.000
WAYB 10001.000
ZAGRUZKA 10002.000
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 731 0 0
2 ASSIGN 731 0 0
3 ASSIGN 731 0 0
4 ASSIGN 731 0 0
5 QUEUE 731 0 0
6 GATE 731 0 0
7 ENTER 731 0 0
8 DEPART 731 0 0
LOOP_1 9 GATE 5714 0 0
10 ADVANCE 5714 0 0
11 ENTER 5714 0 0
12 TRANSFER 5714 0 0
NO 13 SUNAVAIL 0 0 0
END_LOOP 14 LOOP 5714 0 0
15 LEAVE 731 0 0
16 ENTER 731 0 0
17
TRANSFER 731 0 0
CARA 18 ENTER 602 0 0
LOOP_2 19 ADVANCE 4704 0 0
20 LEAVE 4704 0
0
21 GATE 4704 0 0
22 SAVAIL 4704 0 0
END_2 23 LOOP 4704 0 0
24 LEAVE 602 0 0
25 ADVANCE 602 0 0
LOOP_P 26 ADVANCE 4704 0 0
27 LOOP 4704 0 0
28
TABULATE 602 0 0
29 ADVANCE 602 0 0
30 LEAVE 602 0 0
31 TRANSFER 602 0 0
CARB 32 ASSIGN 129 0 0
33 TEST 129 0 0
LOOP_4 34 ADVANCE 1010 0 0
35 LEAVE
1010 0 0
36 GATE 1010 0 0
37 SAVAIL 1010 0 0
END_4 38 LOOP 1010 0 0
39
LEAVE 129 0 0
40 ADVANCE 129 0 0
LOOP_3 41 ADVANCE 1010 0 0
42 LOOP 1010 0 0
43 TABULATE 129 0 0
END_ZAGR 44 TERMINATE 731 0 0
45 GENERATE 1 0 0
46 TERMINATE
1 0 0
QUEUE MAX CONT. ENTRY
ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0)
RETRY
IN 4984 4983 5714
731 2557.934 3921.508
4496.789 0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
ZAGRUZKA 15
15 0 4
731 1 0.147
0.010 0 0
RAZGRUZKA 13
13 0 4
731 1 0.086
0.007 0 0
SCLAD 1600 1600 0
27 5714 1
1.141 0.001 0
0
CARPARK 10
10 0 7
602 1 0.549
0.055 0 0
Вывод: При моделировании программы без модификаций мы
получили следующие результаты: через склад прошло 5319 контейнеров, автомобили предприятия
сделали 517 рейсов, разгружено и загружено 665 автомобилей.
Изменение
времени разгрузки и загрузки повышения результата не дает.
Изменили
вместимость склада с 130 до 1500 контейнеров, количество автомобилей
предприятия с 3 до 10.
С
модифицированной программой мы получили следующее: через склад прошло 5714 контейнеров,
автомобили предприятия сделали 602 рейса, разгружен и загружен 731 автомобиль.
Таким образом, модификация к существенному увеличению производительности не
привела.
Комментариев нет:
Отправить комментарий