Опубликован: 15.02.2013 | Уровень: для всех | Доступ: платный
Лекция 10:

Модель функционирования системы воздушных перевозок

Имитация функционирования аэропорта 2

Сегменты, имитирующие функционирование аэропорта 2, построены в основном также, как и сегменты аэропорта 1, поэтому будут отмечены лишь некоторые особенности.

Поступление и учёт контейнеров в аэропорту 2

Сегмент Поступление и учёт контейнеров в аэропорту 2 предназначен для имитации приёма поступающих от источников грузов (контейнеров), учёта их, определения необходимого количества контейнеров для загрузки соответствующего самолёта и формирования команды для отправки этого самолёта на погрузку контейнеров (при наличии самолёта).

  1. Из палитры Презентация перетащите элемент Прямоугольник.
  2. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 30, Y: 830, Ширина: 290, Высота: 190.
  3. Перетащите элемент text и в поле Текст: введите Поступление и учёт контейнеров в аэропорту 2.
  4. Перетащите из Основной библиотеки по одному объекту source, selectOutput5 (имя selectOutput5) и sink. Поместите и соедините их так, как на рис. 9.11.

Установите свойства объектов согласно табл. 9.10.

Сегмент Поступление и учёт контейнеров в аэропорту 2

увеличить изображение
Рис. 9.11. Сегмент Поступление и учёт контейнеров в аэропорту 2
Таблица 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.

Создайте сегмент.

  1. Из палитры Презентация перетащите элемент Прямоугольник.
  2. Перейдите на страницу Дополнительные панели Свойства. Введите в поля X: 30, Y: 1040, Ширина: 310, Высота: 220.
  3. Перетащите элемент text и в поле Текст: введите Ожидание разгрузки в аэропорту 2.
  4. Перетащите из Основной библиотеки по два объекта enter, queue, hold и один объект exit. Поместите и соедините их так, как на рис. 9.12.
  5. Установите свойства объектов согласно табл. 9.11
Сегмент Ожидание разгрузки в аэропорту 2

увеличить изображение
Рис. 9.12. Сегмент Ожидание разгрузки в аэропорту 2

Предположим, что поступила заявка-самолёт в объект enter11. В нём проверяется условие: средства разгрузки свободны (разгрузка2Б.size()==0) и на стоянке нет ожидающих разгрузку самолётов? Если да, то разблокировывается объект hold5 и заявка-самолёт типа Б входит в объект наРазгрузку2 и далее в сегмент имитации разгрузки аэропорта 2.

Таблица 9.11.
Свойство Значения
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);}
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева