Лабораторная работа №9

Назначение именам числовых значений

Цель работы: научиться назначать именам числовые значения.

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

Назначение именам числовых значений осуществляется c помощью оператора EQU. Формат функции EQU:

<Метка> EQU <А>,<В>

Метка — обязательное имя или символ;

А — имя одного или нескольких классов объектов;

В — количество объектов.

Атрибуты устройств:

F — истинно (1), если устройство занято;

FC — число транзактов в устройстве;

FT — среднее время пребывания транзакта в устройстве.

Атрибуты блоков:

N — полное число транзактов, вошедших в блок (с указанием имени или номера блока)

W — текущее содержание (число транзактов в блоке).

Пример 12. Имитационное моделирование движения на переходном переходе

Смоделировать движение на переходном переходе, оборудованном светофором. Автомобили подъезжают к переходу с равномерным распределением с интервалом времени 20±10 сек., а пешеходы, желающие пересечь улицу по переходу, прибывают к нему с интервалом 30±10 сек. Если переход занят пешеходами, то дорожное движение останавливается и создается очередь из ожидающих автомобилей. Время проезда через пешеходный переход составляет 10±2сек, пешеходы пересекают его в течении 14±3 сек. Красный сигнал светофора горит 300 сек, зеленый – 200 сек. Смоделировать работу системы для проезда 1000 автомобилей.

Таблица обозначений.

Временная дискрета: 1 сек.

Объект Объект в системе
Транзакты Фрагмент 1 модели Фрагмент 2 модели Фрагмент 3 модели Поток автомобилей Поток пешеходов Режим работы светофора
Функции Perexod Пешеходный переход
Продолжение таблицы обозначений
Очереди OCHER_mash OCHER_pesh Очередь машин перед переходом Очередь пешеходов перед переходом
Переменные SVET_avto SVET_pesh Zelen_time Kras_time Zelen Kras Сигнал светофора со стороны машин Сигнал светофора со стороны пешеходов Время горения зеленого сигнала светофора Время горения красного сигнала светофора Зеленый сигнал светофора Красный сигнал светофора

Листинг программы

*****Поток автомобилей****

generate 20,10; подъезжают автомобили

queue OCHER_mash; очередь машин перед переходом

test e X$SVET_avto,F$Perexod;свободен ли переход от пешеходов и горит ли зеленый свет

seize Perexod; машины проезжают по переходу

depart OCHER_mash; освобождаем очередь

advance 10,2; время движения по переходу

release Perexod;освобождение пешеходного перехода

terminate 1

*******Поток пешеходов********

generate 30,10; подъезжают автомобили

queue OCHER_pesh; очередь пешеходов перед переходом

test e X$SVET_pesh,F$Perexod;свободен ли переход от машин и горит ли зеленый свет

seize Perexod; пешеходы проходят по переходу

depart OCHER_pesh; освобождаем очередь

advance 14,3; время движения по переходу

release Perexod;освобождение пешеходного перехода

terminate 0

*********Работа светофора*******

generate,,,1;один светофор

Beg_n savevalue SVET_pesh,Kras;пешеходам горит красный

savevalue SVET_avto,Zelen;машинам горит зеленый

advance Zelen_time;продолжительность зеленого сигнала светофора

savevalue SVET_pesh,Zelen;пешеходам горит зеленый

savevalue SVET_avto,Kras;машинам горит красный

advance Kras_time;продолжительность красного сигнала светофора

transfer,Beg_n

Zelen EQU 0

Kras EQU 100

Zelen_time EQU 200

Kras_time EQU 300

start 1000

Сгенерируйте отчет, проанализируйте полученные результаты, сделайте выводы.

Лабораторная работа №10
Оптимизирующий эксперимент

Цель работы: научиться оптимизировать параметры моделируемой системы

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

Иногда постановка имитационной задачи предполагает нахождение оптимального значения какого-либо параметра системы или сочетания набора ее элементов. В этом случае используют встроенную в GPSS World процедуру оптимизирующего эксперимента.

Рассмотрим задачу оптимизации числа работников цеха механосборки.

Задача

На производственном участке работает 3 человека. Чтобы изготовить изделие, работники сначала его собирает в течение 30±5 мин, а потом обрабатывают с помощью специального устройства в течение 8±2 мин. После обработки изделие считается готовым. Прибыль от одного изделия составляет 5 единиц стоимости, использование машины обходится в 400 единиц стоимости в неделю, зарплата одного работника – 150 единиц стоимости в неделю.

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

Составьте программу, используя следующие обозначения: количество работников – nworkers; прибыль – prib.

Процедура оптимизирующего эксперимента предполагает следующее:

Необходимо выбрать пункт меню Edit/Insert Experiment/Optimizing после чего откроется диалоговое окно Optimizing Experiment Generator (рис.7)

В полях Experiment Name и Run Procedure Name задают соответственно название эксперимента и Run-процедуры прогонов модели (рекомендуется использовать DoTheRun).

В полях Factor Name указываются изменяемые величины и задаются значения их верхних и нижних уровней. Value 1 и Value 2.

Рисунок 7 – Окно «Optimizing Experiment Generator»

Поля Low Limit, High Limit для Movement Limit задают максимальные границы перемещения.

Значение поля Redirection Limit ограничивает количество изменений направлений при поиске оптимума.

В поле Expression указывают целевую функцию. С помощью переключателя Maximize/Minimize выбирается направление оптимизации.

При выборе Generate Run Procedure создается процедура прогонов модели. Выбор Load F12 позволяет запускать эксперимент с помощью нажатия одной клавиши F12.

Для запуска автоматической генерации эксперимента нажмите кнопку Insert Experiment, после чего откроется окно Run Procedure Generation (рис.8), в котором отображается автоматически сгенерированный текст Run-процедур.

Рисунок 8 – Окно «Run Procedure Generation»

В него нужно внести исправления (рис. 9).

Рисунок 9 – Откорректированное окно «Run Procedure Generation»

Теперь надо оттранслировать модель, выполнив пункт меню Command/Create Simulation. При этом все процедуры регистрируются (рис.10).

Рисунок 10 – Журнал регистрации процедур эксперимента

Нажатием клавиши F12 запускают эксперимент. В журнале сессии будет представлена следующая информация о ходе эксперимента (рис. 11).

Рисунок 11 – Журнал оптимизирующего эксперимента

Оптимальные значения: переменная nworkers составляет 4,978; переменная prib = 53,26 ед. С учетом условия целочисленности количества работников для этой работы равно 5, а величина дохода при этом составит 53,26 ед.


Список использованных источников:

1. Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. – М.: ДМК Пресс, 2004.

2. Прицкер А. Введение в имитационное моделирование и язык СЛАМ II – M.: Мир, 1987.

3. Советов Б.Я. Моделирование систем. Практикум: Учеб. пособие для вузов/ Б.Я. Советов, С.А. Яковлев. – 3-е изд., стер. – М.: Высш. шк., 2005.

4. Томашевский В. Имитационное моделирование в среде GPSS./В. Томашевский, Е. Жданова. – М.: Бестселлер, 2003.

5. Ходяков Е.В. Имитационное моделирование экономических процессов в АПК. Учебное пособие/Е.В. Ходяков, А.А. Липатов. – М. Издательский центр МГАУ, 2006.

6. Шеннон Р. Имитационное моделирование систем – наука и искусство. – М.: Мир, 1978.




double arrow
Сейчас читают про: