Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Литература / Работы 8_9

.pdf
Скачиваний:
80
Добавлен:
12.02.2018
Размер:
1.6 Mб
Скачать

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

Таблица 9.13

Свойство

Значения

 

enter14

Тип заявки:

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

 

enter15

Тип заявки:

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

 

queue

Имя:

стоянкаПогр2А

Тип заявки:

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

Вместимость

колСамТипА

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

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

 

queue1

Имя:

стоянкаПогр2Б

Тип заявки:

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

Вместимость

колСамТипБ

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

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

 

hold6

Тип заявки:

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

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

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

 

hold7

Тип заявки:

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

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

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

366

 

Окончание табл. 9.13

 

 

Свойство

Значения

 

exit

Имя:

наПогрузку2

Действия

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

При выходе:

{hold6.setBlocked(true);

 

enter16.take(entity);}

 

else

 

{hold7.setBlocked(true);

 

enter17.take(entity);}

9.1.9.5. Погрузка контейнеров в аэропорту 2

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

Создайте сегмент Погрузка контейнеров в аэропорту 2.

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

угольник.

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

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

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

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

4.Перетащите по два объекта enter, split, queue, delay, selectOutput и по одному объекту exit и sink. Поместите и соедините их так, как на рис. 9.17.

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

Рис. 9.17. Сегмент Погрузка контейнеров в аэропорту 2

367

Таблица 9.14

Свойство

 

Значения

 

enter16

Тип заявки:

 

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

 

enter17

Тип заявки:

 

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

 

split6

Типы заявок:

 

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

Оригинал, Копия

 

 

 

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

Количество копий

 

entity.колГрузоМест-1

Новая заявка (копия)

 

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

Действия

 

entity.типТрансп=

При выходе копии

 

 

 

original.типТрансп;

 

 

entity.колГрузоМест=

 

 

original.колГрузоМест;

 

 

entity.tPolet=

 

 

original.tPolet;

 

 

entity.разные=

 

 

original.разные;

 

split7

Типы заявок:

 

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

Оригинал, Копия

 

 

 

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

Количество копий

 

entity.колГрузоМест-1

Новая заявка (копия)

 

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

Действия

 

entity.типТрансп=

При выходе копии

 

original.типТрансп;

 

 

entity.колГрузоМест=

 

 

original.колГрузоМест;

 

 

entity.врПолёта=

 

 

original.врПолёта;

 

 

entity.разные=

 

 

original.разные;

 

queue6

Имя:

 

очПогр2А

Тип заявки:

 

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

Максимальная вместимость

 

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

Действия При выходе

 

entity.разные=

 

 

срВрПогрКонтСам2А;

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

 

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

368

 

Продолжение табл.9.14

 

 

Свойство

Значения

queue7

Имя:

очПогр2Б

Тип заявки:

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

Максимальная вместимость

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

Действия При выходе

entity.разные=

 

срВрПогрКонтСам2Б;

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

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

delay

Имя:

Погрузка2А

Тип заявки:

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

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

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

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

exponential

 

(1/entity.разные)

Вместимость

погрКонтСам2А

Действия При подходе к выходу

погрКонтА2++;

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

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

delay1

Имя:

Погрузка2Б

Тип заявки:

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

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

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

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

exponential

 

(1/entity.разные)

Вместимость

погрКонтСам2Б

Действия При подходе к выходу

погрКонтБ2++;

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

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

selectOutput8

Тип заявки:

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

Выход true выбирается

При выполнении условия

Условие

entity.колГрузоМест

 

==погрКонтА2

Действия При выходе (true)

entity.врПолёта=

 

normal(отклВрПолётаА21,

 

срВрПолётаА21);

 

погрКонтА2=0;

selectOutput9

Тип заявки:

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

Выход true выбирается

При выполнении условия

Условие

entity.колГрузоМест

 

==погрКонтБ2

369

 

 

Окончание табл.9.14

 

 

 

Свойство

 

Значения

Действия При выходе (true)

 

entity.врПолёта=

 

 

normal(отклВрПолётаБ21,

 

 

срВрПолётаБ21);

 

 

погрКонтБ2=0;

 

exit

Имя:

 

наВзлёт21

Тип заявки:

 

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

Действия При выходе

 

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

 

 

enter18.take(entity);

 

 

else

 

 

enter19.take(entity);

 

sink

Тип заявки:

 

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

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

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

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

угольник.

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

введите в поля X: 850, Y: 1040, Ширина: 250, Высота: 220.

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

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

370

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

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

Таблица 9.15

Свойство

Объекты

 

enter18

Тип заявки:

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

 

enter19

Тип заявки:

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

 

delay

Имя:

полётА21

Тип заявки:

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

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

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

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

entity.врПолёта

Вместимость

колСамТипА

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

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

 

delay1

Имя:

ПолётБ21

Тип заявки:

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

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

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

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

entity.врПолёта

Вместимость

колСамТипБ

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

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

 

exit

Имя:

наОжРазгр1

Действия При выходе

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

 

enter6.take(entity);

 

else enter7.take(entity);

9.1.9.7. Вывод результатов моделирования с использованием способа Событие

Для вывода результатов моделирования воспользуйтесь событием, происходящим по истечении таймаута.

5. Перетащите элемент Событиеиз палитры Модель на область просмотра Результаты как на рис. 9.3. Измените его имя на ОбрабРезультМодел. Нажмите Enter.

6.Установите флажок Отображать имя.

7.С помощью выпадающего списка Tип события: выберите

По таймауту.

371

8.Установите Режим: Срабатывает один раз.

9.Время срабатывания (абсолютное) 720000.

10.В поле Действие введите Java код, который будет выполняться при появлении этого события.

коэфДост21=достК21/всегоПостК2; коэфДост12=достК12/всегоПостК1;

коэфПогр1А=погрузка1А.statsUtilization.mean(); коэфПогр1Б=погрузка1Б.statsUtilization.mean(); коэфПогр2А=погрузка2А.statsUtilization.mean(); коэфПогр2Б=погрузка2Б.statsUtilization.mean(); коэфРазгр1А=разгрузка1А.statsUtilization.mean(); коэфРазгр1Б=разгрузка1Б.statsUtilization.mean(); коэфРазгр2А=разгрузка2А.statsUtilization.mean(); коэфРазгр2Б=разгрузка2Б.statsUtilization.mean(); коэфПолётА12=полётА12.statsUtilization.mean(); коэфПолётБ12=полётБ12.statsUtilization.mean();

коэфИспСам1А=коэфПогр1А+коэфРазгр1А+коэфПолётА12; коэфИспСам1Б=коэфПогр1Б+коэфРазгр1Б+коэфПолётБ12;

коэфПолётА21=полётА21.statsUtilization.mean(); коэфПолётБ21=полётБ21.statsUtilization.mean();

коэфИспСам2А=коэфПогр2А+коэфРазгр2А+коэфПолётА21; коэфИспСам2Б=коэфПогр2Б+коэфРазгр2Б+коэфПолётБ21; коэфИспСамА=(коэфИспСам1А+коэфИспСам2А)/2; коэфИспСамБ=(коэфИспСам1Б+коэфИспСам2Б)/2;

коэфДост=(достК12+достК21)/(всегоПостК1+всегоПостК2);

коэфИспСам=(коэфИспСамА+коэфИспСамБ)/2;

9.1.10. Запуск и отладка модели

Прежде чем запустить модель:

1.В окне Проекты выделите ВоздушныеПеревозки.

2.На странице Основные в поле Единицы модельного

времени: установите часы.

3.В окне Проекты выделите Simulation: Main.

4.На странице Случайность установите Фиксированное начальное число (воспроизводимые «прогоны»).

5.В поле Начальное число: введите 15657.

6.Перейдите на страницу Модельное время. В поле Оста-

новить: выберите В заданное время.

7.В поле Конечное время: введите 720000. Время моделирования увеличено в 1000 раз по числу прогонов модели в GPSS World. Таким образом, моделируется функционирование системы воздушных перевозок в течение 720 часов (30-ти суток).

372

Рис. 9.19. Результаты моделирования

8. Запустите модель. Если появятся ошибки, исправьте их. При правильном построении модели вы получите результаты, показанные на рис. 9.19.

Во время выполнения модели не все результаты моделирования видны, так как они рассчитываются и выводятся после окончания заданного времени моделирования.

Видно, что коэффициент доставки системы воздушных перевозок при принятых её характеристиках и потоках грузов составляет коэфДост = 0,31 при среднем коэффициенте использования самолётов обоих типов коэфИспСам = 0,638. Коэффициент использования самолёта типа Б (0,481) ниже коэфИспСамА = 0,795.

Машинное время выполнения модели 467,2 сек.

373