Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / Compyuternoe_modelirovanie_v_AnyLogic_7_Boev_VD.pdf
Скачиваний:
225
Добавлен:
12.02.2018
Размер:
8.72 Mб
Скачать

Заявки-контейнеры занимают очередь к объекту погрузка1А, имитирующему непосредственно погрузку контейнеров в самолёт типа А в аэропорту 1. При покидании очереди выполняется код entity.разные=срВрПогрКонтСам1А, записывающий в поле с именем разные заявки-контейнера среднее время погрузки одного контейнера.

После объекта погрузка1А, на выходе которого ведётся счёт

погруженных контейнеров (погрКонтА1++), заявки-контейнеры входят в объект selectOutput1.

Этот объект проверяет условие (entity.колГрузоМест ==погрКонтБ1): полная ли загрузка самолёта? При выполнении этого условия, а оно будет выполнено тогда, когда будет загружен последний контейнер, последняя заявка теперь уже в качестве за- явки-самолёта поступит в объект наВзлёт (exit).

Из этого объекта заявка-самолёт типа А с полным грузом поступит в сегмент имитации полёта из аэропорта 1 в аэропорт 2.

Аналогичным образом имитируется погрузка в самолёт типа Б. Имитация начинается с поступления заявки-самолёта через объект enter3 в объект split1.

9.1.8.4. Полёт из аэропорта 1 в аэропорт 2

Сегмент Полёт из аэропорта 1 в аэропорт 2 предназначен для имитации полёта самолётов с грузом из аэропорта 1 в аэропорт 2.

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

1.Из палитры Презентация перетащите элемент Прямо-

угольник.

2.На странице Местоположение и размер панели Свойства

введите в поля X: 830, Y: 50, Ширина: 240, Высота: 200.

3.Перетащите элемент text и в поле Текст: введите Полёт из аэропорта 1 в аэропорт 2.

4.Перетащите из Библиотеки моделирования процессов по

два объекта enter, delay и один объект exit. Поместите и соедините их так, как на рис. 9.10.

5. Установите свойства объектов согласно табл. 9.7. Предположим, что поступила заявка-самолёт типа А в объект

enter4 и далее в объект с именем полётА12 (delay). Идентификатор полётА12 означает, что объект имитирует непосредственно полёт из аэропорта 1 в аэропорт 2. В аэропорту 2 заявка-самолёт входит в сегмент ожидания разгрузки.

350

Рис. 9.10. Сегмент Полёт из аэропорта 1 в аэропорт 2

Таблица 9.7

Свойство

Значения

 

enter4

Тип заявки:

ТранспСредство

 

enter5

Тип заявки:

ТранспСредство

 

delay

Имя:

полётА12

Тип заявки:

ТранспСредство

Задержка задаётся

Определённое время

Время задержки

entity.врПолёта

Вместимость

колСамТипА

Включить сбор статистики

Установить флажок

 

delay1

Имя:

ПолётБ12

Тип заявки:

ТранспСредство

Задержка задаётся

Определённое время

Время задержки

entity.врПолёта

Вместимость

колСамТипБ

Включить сбор статистики

Установить флажок

 

exit

Действия

if (entity.типТрансп==1)

При выходе:

enter10.take(entity);

 

else enter11.take(entity);

 

351

9.1.8.5. Ожидание разгрузки в аэропорту 1

Сегмент Ожидание разгрузки в аэропорту 1 предназначен для имитации ожидания разгрузки самолётов, прибывающих с грузом из аэропорта 2.

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

1.Из палитры Презентация перетащите элемент Прямо-

угольник.

2.На странице Местоположение и размер панели Свойства

введите в поля X: 270, Y: 270, Ширина: 310, Высота: 200.

3.Перетащите элемент text и в поле Текст: введите Ожида-

ние разгрузки в аэропорту 1.

4.Перетащите из Библиотеки моделирования процессов по два объекта enter, queue, hold и один объект exit. Поместите и со-

едините их так, как на рис. 9.11.

5. Установите свойства объектов согласно табл. 9.8. Предположим, что поступила заявка-самолёт из аэропорта 2 в

объект enter6. Если средства разгрузки свободны, то есть выполняется условие (разгрузка1А.size()==0), разблокировывается объект hold2 и заявка-самолёт входит в объект наРазгрузку1 и далее в сегмент имитации разгрузки.

Рис. 9.11. Сегмент Ожидание разгрузки в аэропорту 1

352

 

 

Таблица 9.8

 

 

 

Свойство

 

Значения

 

 

 

enter6

Тип заявки:

ТранспСредство

Действие при входе

if

(разгрузка1А.size()==0)

 

hold2.setBlocked(false);

 

enter7

Тип заявки:

ТранспСредство

Действие при входе

if

(разгрузка1Б.size()==0)

 

hold3.setBlocked(false);

 

queue

Имя:

стоянкаРазгр1А

Тип заявки:

ТранспСредство

Вместимость

колСамТипА

Включить сбор статистики

Установить флажок

 

queue1

Имя:

стоянкаРазгр1Б

Тип заявки:

ТранспСредство

Вместимость

колСамТипБ

Включить сбор статистики

Установить флажок

 

hold2

Тип заявки:

ТранспСредство

Изначально заблокирован

Установить флажок

 

hold3

Тип заявки:

ТранспСредство

Изначально заблокирован

Установить флажок

 

exit

Имя:

наРазгрузку1

Действия

if

(entity.типТрансп==1)

При выходе:

{hold2.setBlocked(true);

 

enter8.take(entity);}

 

else

 

{hold3.setBlocked(true);

 

enter9.take(entity);}

При выходе из объекта наРазгрузку1 блокируется объект hold2 кодом hold2.setBlocked(true), так как теперь средства разгрузки самолётов типа А аэропорта 1 заняты.

Если поступает заявка-самолёт типа Б, то она входит в сегмент через объект enter7. Имитация ожидания разгрузки заявкойсамолётом типа Б производится аналогично.

353