'
Кондратьев А.А., Попова Т.М.
РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ РАБОТЫ НАЗЕМНОГО МЕТРОПОЛИТЕНА В СРЕДЕ GPSS WORLD *
Аннотация:
представленная работа посвящена имитационному моделированию процесса обслуживания пассажиров в метрополитене, при условии оптимальности загрузки транспорта в системе GPSS World
Ключевые слова:
имитационная модель, GPSS World, моделирование
УДК 004.942+519.876.5
Кондратьев А.А.
магистрант
Хабаровский филиал
Тихоокеанский государственный университет
(г. Хабаровск, Россия)
Научный руководитель:
Попова Т.М.
канд. физ.-мат. наук
Хабаровский филиал
Тихоокеанский государственный университет
(г. Хабаровск, Россия)
РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ
РАБОТЫ НАЗЕМНОГО МЕТРОПОЛИТЕНА
В СРЕДЕ GPSS WORLD
Аннотация: Представленная работа посвящена имитационному моделированию процесса обслуживания пассажиров в метрополитене, при условии оптимальности загрузки транспорта в системе GPSS World.
Ключевые слова: имитационная модель, GPSS World, моделирование.
В наши дни моделирование востребовано во многих отраслях профессиональной и научной деятельности человека.
Одним из наиболее распространенных способов моделирования сложных систем является имитационное компьютерное моделирование процессов реального мира. Имитационные модели не только отражают реальность с той или иной степенью точности, но и имитируют ее, представляют собой последовательность алгоритмов, реализуемого компьютерной программой, выполнение которой имитирует последовательность смены состояний в системе. Для разработки имитационной модели в среде GPSS необходимо установить программу, бесплатную версию которой можно скачать на сайте http://www.minutemansoftware.com, предназначенной для студентов.
В представленной работе разработана, построена и исследована имитационная модель облуживания пассажиров в метрополитене с целью определения оптимальной стоимости проезда в среде GPSS WORLD.
Рассмотрим задачу.
Мэрия города NN планирует построить систему городского наземного метро, которая будет состоять из одной линии и пяти станций. Параметры, которые заложены в проект, задаются следующими:
Необходимо смоделировать работу метрополитена в течение дня, считая, что работу планируется начинать утром в 6:00 и заканчивать в 1:00 (поезда заканчивают маршрут и уходят в депо).
Определить, сколько времени в среднем в метро будет проводить пассажир, сколько времени он будет терять при возможном ожидании поезда. Определить среднее суммарное время корректировки движения составов на станции 1. Определить, в каком случае метрополитен получит больше прибыли: если каждый пассажир будет платить 40 руб. за проезд независимо от того, сколько станций он проедет, или же он будет платить 30 руб. + 5 руб. за проезд каждого перегона между станциями.
|
Таблица 1 |
|
|
Таблица 2 |
Перегоны между станциями |
Мат. ожидание, с |
|
Станция |
Интенсивность, приход/мин |
Станция 1 – Станция 2 |
230 |
|
Станция 1 |
17 |
Станция 2 – Станция 3 |
110 |
|
Станция 2 |
22 |
Станция 3 – Станция 4 |
150 |
|
Станция 3 |
10 |
Станция 4 – Станция 5 |
120 |
|
Станция 4 |
18 |
Разворот на конечных станциях |
60 |
|
Станция 5 |
28 |
Таблица 3
Номера станций |
1 |
2 |
3 |
4 |
5 |
1 |
0 |
0,35 |
0,14 |
0,11 |
0,4 |
2 |
0,33 |
0 |
0,12 |
0,18 |
0,37 |
3 |
0,25 |
0,28 |
0 |
0,16 |
0,31 |
4 |
0,26 |
0,3 |
0,16 |
0 |
0,28 |
5 |
0,29 |
0,35 |
0,19 |
0,17 |
0 |
Модель системы (пассажир платит 40 руб.):
Rasp1 Function RN107,D4 ;распределение направлений с 1-й станции
0.35,12/0.49,13/0.60,14/1.0,15
Rasp2 Function RN117,D4 ;распределение направлений с 2-й станции
0.33,21/0.45,23/0.63,24/1.0,25
Rasp3 Function RN127,D4 ;распределение направлений с 3-й станции
0.25,31/0.53,32/0.69,34/1.0,35
Rasp4 Function RN137,D4 ;распределение направлений с 4-й станции
0.26,41/0.56,42/0.72,43/1.0,45
Rasp5 Function RN147,D4 ;распределение направлений с 5-й станции
0.29,51/0.64,52/0.83,53/1.0,54
Train1 EQU 1 ;для обращения по номеру
Train2 EQU 2
Train3 EQU 3
Train4 EQU 4
Train5 EQU 5
Train1 STORAGE 400 ;вместимость
Train2 STORAGE 400 ;вместимость
Train3 STORAGE 400 ;вместимость
Train4 STORAGE 400 ;вместимость
Train5 STORAGE 400 ;вместимость
GENERATE ,,,1 ;первый поезд
ASSIGN 101,1 ;храним номер поезда в 101-ом параметре
SAVEVALUE Npoezd,2
tocircle TEST GE AC1,54000,newrace ;если 15 часов не закончились - еще один круг
TERMINATE 1
newrace MARK 22 ;запоминаем начало рейса
ADVANCE (Normal(1,15,1)) ;стоим на 1-й станции
SAVEVALUE Price+,(40#(Q12+Q13+Q14+Q15)) ;обилечиваем
ASSIGN 2+,(Q12) ;добавляем желающих до 2-й станции
ENTER P101,(Q12) ;садим в поезд
DEPART 12,(Q12) ;уменьшаем длину очереди
ASSIGN 3+,(Q13) ;добавляем желающих до 3-й станции
ENTER P101,(Q13) ;садим в поезд
DEPART 13,(Q13) ;уменьшаем длину очереди
ASSIGN 4+,(Q14) ;добавляем желающих до 4-й станции
ENTER P101,(Q14) ;садим в поезд
DEPART 14,(Q14) ;уменьшаем длину очереди
ASSIGN 5+,(Q15) ;добавляем желающих до 5-й станции
ENTER P101,(Q15) ;садим в поезд
DEPART 15,(Q15) ;уменьшаем длину очереди
ADVANCE (Normal(2,230,3)) ;перегон 1-2
ADVANCE (Normal(1,15,1));стоим на 2-й станции
LEAVE P101,(P2) ;выход едущих до 2-й станции
ASSIGN 2,0 ;обнуляем
SAVEVALUE Price+,(40#(Q23+Q24+Q25)) ;обилечиваем
ASSIGN 3+,(Q23) ;добавляем желающих до 3-й станции
ENTER P101,(Q23) ;садим в поезд
DEPART 23,(Q23) ;уменьшаем длину очереди
ASSIGN 4+,(Q24) ;добавляем желающих до 4-й станции
ENTER P101,(Q24) ;садим в поезд
DEPART 24,(Q24) ;уменьшаем длину очереди
ASSIGN 5+,(Q25) ;добавляем желающих до 5-й станции
ENTER P101,(Q25) ;садим в поезд
DEPART 25,(Q25) ;уменьшаем длину очереди
ADVANCE (Normal(2,110,3)) ;перегон 2-3
ADVANCE (Normal(1,15,1));стоим на 3-й станции
LEAVE P101,(P3) ;выход едущих до 3-й станции
ASSIGN 3,0 ;обнуляем
SAVEVALUE Price+,(40#(Q34+Q35)) ;обилечиваем
ASSIGN 4+,(Q34) ;добавляем желающих до 4-й станции
ENTER P101,(Q34) ;садим в поезд
DEPART 34,(Q34) ;уменьшаем длину очереди
ASSIGN 5+,(Q35) ;добавляем желающих до 5-й станции
ENTER P101,(Q35) ;садим в поезд
DEPART 35,(Q35) ;уменьшаем длину очереди
ADVANCE (Normal(2,150,3)) ;перегон 3-4
ADVANCE (Normal(1,15,1));стоим на 4-й станции
LEAVE P101,(P4) ;выход едущих до 4-й станции
ASSIGN 4,0 ;обнуляем
SAVEVALUE Price+,(40#Q45) ;обилечиваем
ASSIGN 5+,(Q45) ;добавляем желающих до 5-й станции
ENTER P101,(Q45) ;садим в поезд
DEPART 45,(Q45) ;уменьшаем длину очереди
ADVANCE (Normal(2,120,3)) ;перегон 4-5
ADVANCE (Normal(1,15,1));стоим на 5-й станции
LEAVE P101,(P5) ;выход едущих до 5-й станции
ASSIGN 5,0 ;обнуляем
ADVANCE 60 ;разворот
;возврат по маршруту
ADVANCE (Normal(1,15,1));стоим на 5-й станции
SAVEVALUE Price+,(40#(Q54+Q53+Q52+Q51)) ;обилечиваем
ASSIGN 4+,(Q54) ;добавляем желающих до 4-й станции
ENTER P101,(Q54) ;садим в поезд
DEPART 54,(Q54) ;уменьшаем длину очереди
ASSIGN 3+,(Q53) ;добавляем желающих до 3-й станции
ENTER P101,(Q53) ;садим в поезд
DEPART 53,(Q53) ;уменьшаем длину очереди
ASSIGN 2+,(Q52) ;добавляем желающих до 2-й станции
ENTER P101,(Q52) ;садим в поезд
DEPART 52,(Q52) ;уменьшаем длину очереди
ASSIGN 1+,(Q51) ;добавляем желающих до 1-й станции
ENTER P101,(Q51) ;садим в поезд
DEPART 51,(Q51) ;уменьшаем длину очереди
ADVANCE (Normal(2,120,3)) ;перегон 5-4
ADVANCE (Normal(1,15,1));стоим на 4-й станции
LEAVE P101,(P4) ;выход едущих до 4-й станции
ASSIGN 4,0 ;обнуляем
SAVEVALUE Koef,1
TEST L R*101,(Q43+Q42+Q41),good1
SAVEVALUE Koef,(R*101/(Q43+Q42+Q41)) ;при первом проезде не все вместятся
good1 SAVEVALUE Price+,(40#Int((Q43+Q42+Q41)#X$Koef)) ;обилечиваем
ASSIGN 3+,(Int(X$Koef#Q43)) ;добавляем желающих до 3-й станции
ENTER P101,(Int(X$Koef#Q43)) ;садим в поезд
DEPART 43,(Int(X$Koef#Q43)) ;уменьшаем длину очереди
ASSIGN 2+,(Int(X$Koef#Q42)) ;добавляем желающих до 2-й станции
ENTER P101,(Int(X$Koef#Q42)) ;садим в поезд
DEPART 42,(Int(X$Koef#Q42)) ;уменьшаем длину очереди
ASSIGN 1+,(Int(X$Koef#Q41)) ;добавляем желающих до 1-й станции
ENTER P101,(Int(X$Koef#Q41)) ;садим в поезд
DEPART 41,(Int(X$Koef#Q41)) ;уменьшаем длину очереди
ADVANCE (Normal(2,150,3)) ;перегон 4-3
ADVANCE (Normal(1,15,1));стоим на 3-й станции
LEAVE P101,(P3) ;выход едущих до 3-й станции
ASSIGN 3,0 ;обнуляем
SAVEVALUE Koef,1
TEST L R*101,(Q32+Q31),good2
SAVEVALUE Koef,(R*101/(Q32+Q31)) ;при первом проезде не все вместятся
good2 SAVEVALUE Price+,(40#Int((Q32+Q31)#X$Koef)) ;обилечиваем
ASSIGN 2+,(Int(X$Koef#Q32)) ;добавляем желающих до 2-й станции
ENTER P101,(Int(X$Koef#Q32)) ;садим в поезд
DEPART 32,(Int(X$Koef#Q32)) ;уменьшаем длину очереди
ASSIGN 1+,(Int(X$Koef#Q31)) ;добавляем желающих до 1-й станции
ENTER P101,(Int(X$Koef#Q31)) ;садим в поезд
DEPART 31,(Int(X$Koef#Q31)) ;уменьшаем длину очереди
ADVANCE (Normal(2,110,3)) ;перегон 3-2
ADVANCE (Normal(1,15,1));стоим на 2-й станции
LEAVE P101,(P2) ;выход едущих до 3-й станции
ASSIGN 2,0 ;обнуляем
SAVEVALUE Price+,(40#Q21) ;обилечиваем
ASSIGN 1+,(Q21) ;добавляем желающих до 1-й станции
ENTER P101,(Q21) ;садим в поезд
DEPART 21,(Q21) ;уменьшаем длину очереди
ADVANCE (Normal(2,230,3)) ;перегон 2-1
ADVANCE (Normal(1,15,1));стоим на 1-й станции
LEAVE P101,(P1) ;выход едущих до 1-й станции
ASSIGN 1,0 ;обнуляем
ADVANCE 60 ;разворот
ASSIGN Comp+,1 ;число полных рейсов
ASSIGN TotT+,(AC1-P22) ;добавляем время рейса
TEST L P$TotT,(P$Comp#1500),tocircle ;раньше не выпускаем
ADVANCE (1500#P$Comp-P$TotT) ;держим до времени
ASSIGN TotT,(P$Comp#1500) ;общее время в пути
TRANSFER ,tocircle
;остальные поезда
GENERATE 300,,,4 ;остальные четыре поезда
ASSIGN 101,X$Npoezd
SAVEVALUE Npoezd+,1
TRANSFER ,tocircle
;пассажиры
GENERATE (Exponential(3,0,60.0/17)) ;на 1-ю станцию
QUEUE (FN$Rasp1) ;увеличиваем соответствующую очередь
TERMINATE
GENERATE (Exponential(3,0,60.0/22)) ;на 2-ю станцию
QUEUE (FN$Rasp2) ;увеличиваем соответствующую очередь
TERMINATE
GENERATE (Exponential(3,0,60.0/10)) ;на 3-ю станцию
QUEUE (FN$Rasp3) ;увеличиваем соответствующую очередь
TERMINATE
GENERATE (Exponential(3,0,60.0/18)) ;на 4-ю станцию
QUEUE (FN$Rasp4) ;увеличиваем соответствующую очередь
TERMINATE
GENERATE (Exponential(3,0,60.0/28)) ;на 5-ю станцию
QUEUE (FN$Rasp5) ;увеличиваем соответствующую очередь
TERMINATE
;время моделирования
START 5
Моделируем:
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 55200.000 141 0 5
NAME VALUE
COMP 10013.000
GOOD1 80.000
GOOD2 97.000
KOEF 10012.000
NEWRACE 6.000
NPOEZD 10010.000
PRICE 10011.000
RASP1 10000.000
RASP2 10001.000
RASP3 10002.000
RASP4 10003.000
RASP5 10004.000
TOCIRCLE 4.000
TOTT 10014.000
TRAIN1 1.000
TRAIN2 2.000
TRAIN3 3.000
TRAIN4 4.000
TRAIN5 5.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 1 0 0
2 ASSIGN 1 0 0
3 SAVEVALUE 1 0 0
TOCIRCLE 4 TEST 185 0 0
5 TERMINATE 5 0 0
NEWRACE 6 MARK 180 0 0
7 ADVANCE 180 0 0
8 SAVEVALUE 180 0 0
9 ASSIGN 180 0 0
10 ENTER 180 0 0
11 DEPART 180 0 0
12 ASSIGN 180 0 0
13 ENTER 180 0 0
14 DEPART 180 0 0
15 ASSIGN 180 0 0
16 ENTER 180 0 0
17 DEPART 180 0 0
18 ASSIGN 180 0 0
19 ENTER 180 0 0
20 DEPART 180 0 0
21 ADVANCE 180 0 0
22 ADVANCE 180 0 0
23 LEAVE 180 0 0
24 ASSIGN 180 0 0
25 SAVEVALUE 180 0 0
26 ASSIGN 180 0 0
27 ENTER 180 0 0
28 DEPART 180 0 0
29 ASSIGN 180 0 0
30 ENTER 180 0 0
31 DEPART 180 0 0
32 ASSIGN 180 0 0
33 ENTER 180 0 0
34 DEPART 180 0 0
35 ADVANCE 180 0 0
36 ADVANCE 180 0 0
37 LEAVE 180 0 0
38 ASSIGN 180 0 0
39 SAVEVALUE 180 0 0
40 ASSIGN 180 0 0
41 ENTER 180 0 0
42 DEPART 180 0 0
43 ASSIGN 180 0 0
44 ENTER 180 0 0
45 DEPART 180 0 0
46 ADVANCE 180 0 0
47 ADVANCE 180 0 0
48 LEAVE 180 0 0
49 ASSIGN 180 0 0
50 SAVEVALUE 180 0 0
51 ASSIGN 180 0 0
52 ENTER 180 0 0
53 DEPART 180 0 0
54 ADVANCE 180 0 0
55 ADVANCE 180 0 0
56 LEAVE 180 0 0
57 ASSIGN 180 0 0
58 ADVANCE 180 0 0
59 ADVANCE 180 0 0
60 SAVEVALUE 180 0 0
61 ASSIGN 180 0 0
62 ENTER 180 0 0
63 DEPART 180 0 0
64 ASSIGN 180 0 0
65 ENTER 180 0 0
66 DEPART 180 0 0
67 ASSIGN 180 0 0
68 ENTER 180 0 0
69 DEPART 180 0 0
70 ASSIGN 180 0 0
71 ENTER 180 0 0
72 DEPART 180 0 0
73 ADVANCE 180 0 0
74 ADVANCE 180 0 0
75 LEAVE 180 0 0
76 ASSIGN 180 0 0
77 SAVEVALUE 180 0 0
78 TEST 180 0 0
79 SAVEVALUE 1 0 0
GOOD1 80 SAVEVALUE 180 0 0
81 ASSIGN 180 0 0
82 ENTER 180 0 0
83 DEPART 180 0 0
84 ASSIGN 180 0 0
85 ENTER 180 0 0
86 DEPART 180 0 0
87 ASSIGN 180 0 0
88 ENTER 180 0 0
89 DEPART 180 0 0
90 ADVANCE 180 0 0
91 ADVANCE 180 0 0
92 LEAVE 180 0 0
93 ASSIGN 180 0 0
94 SAVEVALUE 180
Номер журнала Вестник науки №5 (62) том 4
Ссылка для цитирования:
Кондратьев А.А., Попова Т.М. РАЗРАБОТКА ИМИТАЦИОННОЙ МОДЕЛИ РАБОТЫ НАЗЕМНОГО МЕТРОПОЛИТЕНА В СРЕДЕ GPSS WORLD // Вестник науки №5 (62) том 4. С. 742 - 755. 2023 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/8475 (дата обращения: 15.05.2024 г.)
Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2023. 16+
*