|
Здравствуйте, прошел курс "Концептуальное проектирование систем в 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);} | |

