Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования системы воздушных перевозок
Имитация функционирования аэропорта 2
Сегменты, имитирующие функционирование аэропорта 2, построены в основном также, как и сегменты аэропорта 1, поэтому будут отмечены лишь некоторые особенности.
Поступление и учёт контейнеров в аэропорту 2
Сегмент Поступление и учёт контейнеров в аэропорту 2 предназначен для имитации приёма поступающих от источников грузов (контейнеров), учёта их, определения необходимого количества контейнеров для загрузки соответствующего самолёта и формирования команды для отправки этого самолёта на погрузку контейнеров (при наличии самолёта).
- Из палитры Презентация перетащите элемент Прямоугольник.
- Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 30, Y: 830, Ширина: 290, Высота: 190.
- Перетащите элемент text и в поле Текст: введите Поступление и учёт контейнеров в аэропорту 2.
- Перетащите из Основной библиотеки по одному объекту source, selectOutput5 (имя selectOutput5) и sink. Поместите и соедините их так, как на рис. 9.11.
Установите свойства объектов согласно табл. 9.10.
Свойство | Значения |
---|---|
source | |
Имя: | истГрузов2 |
Класс заявки: | ГрузАэропорт2 |
Заявки прибывают согласно | Времени между прибытиями |
Время между прибытиями | Exponential |
(1/срВрПостКонт2) | |
Количество заявок, прибывающих за один раз | |
Новая заявка | 1 |
Действие при выходе | new ГрузАэропорт2() |
d=(uniform_discr(минКонтПост2, | |
максКонтПост2)); | |
всегоПостК2+=d; | |
текНалК2+=d; | |
selectOutput5 | |
Класс заявки: | ГрузАэропорт2 |
Использовать: | Условия |
Условие 0 | текНалК2<грузПодСамА |
Условие 1 | стоянкаПогр2А.size()>0&& |
погрузка2А.size()==0 | |
Действие при выходе 1 | текНалК2-=грузПодСамА; |
hold6.setBlocked(false); | |
Условие 2 | текНалК2<грузПодСамБ |
Условие 3 | стоянкаПогр2Б.size()>0&& |
погрузка2Б.size()==0 | |
Действие при выходе 3 | текНалК2-=грузПодСамБ; |
hold7.setBlocked(false); | |
sink | |
Класс заявки: | ГрузАэропорт2 |
Объект source с именем истГрузов2 генерирует заявку-партию класса ГрузАэропорт2 поступивших контейнеров. Заявка-партия поступает на объект selectOutput5.
Описанная в п. 9.1.8.2 последовательность проверок условий производится и в данном сегменте каждый раз при появлении в модели очередной заявки-партии. Все заявки класса ГрузАэропорт2 также выводятся из модели.
В данном сегменте, как и в п. 9.1.8.2, при выполнении подобных условий, только относительно аэропорта 2, формируются команды на отправку самолётов на погрузку.
Ожидание разгрузки в аэропорту 2
Сегмент Ожидание разгрузки в аэропорту 2 предназначен для имитации ожидания разгрузки самолётов, прибывших из аэропорта 1.
Создайте сегмент.
- Из палитры Презентация перетащите элемент Прямоугольник.
- Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 30, Y: 1040, Ширина: 310, Высота: 220.
- Перетащите элемент text и в поле Текст: введите Ожидание разгрузки в аэропорту 2.
- Перетащите из Основной библиотеки по два объекта enter, queue, hold и один объект exit. Поместите и соедините их так, как на рис. 9.12.
- Установите свойства объектов согласно табл. 9.11
Предположим, что поступила заявка-самолёт в объект enter11. В нём проверяется условие: средства разгрузки свободны (разгрузка2Б.size()==0) и на стоянке нет ожидающих разгрузку самолётов? Если да, то разблокировывается объект hold5 и заявка-самолёт типа Б входит в объект наРазгрузку2 и далее в сегмент имитации разгрузки аэропорта 2.
Свойство | Значения |
---|---|
enter10 | |
Класс заявки: | ТранспСредство |
Действие при входе | if |
(стоянкаРазгр2А.size()==0 | |
&&разгрузка2А.size()==0) hold4.setBlocked(false); | |
enter11 | |
Класс заявки: | ТранспСредство |
Действие при входе | if |
(стоянкаРазгр2Б.size()==0 | |
&&разгрузка2Б.size()==0) hold5.setBlocked(false); | |
queue | |
Имя: | стоянкаРазгр2А |
Класс заявки: | ТранспСредство |
Вместимость | колСамТипА |
Включить сбор статистики | Установить флажок |
queue1 | |
Имя: | стоянкаРазгр2Б |
Класс заявки: | ТранспСредство |
Вместимость | колСамТипБ |
Включить сбор статистики | Установить флажок |
hold4 | |
Класс заявки: | ТранспСредство |
Изначально заблокирован | Установить флажок |
hold5 | |
Класс заявки: | ТранспСредство |
Изначально заблокирован | Установить флажок |
exit | |
Имя: | наРазгрузку2 |
Действие при выходе | if (entity.типТрансп==1) {hold4.setBlocked(true); |
enter12.take(entity);} | |
else {hold5.setBlocked(true); | |
enter13.take(entity);} |