Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования терминала
Эксперименты
Далее поступим так. Проведем эксперименты с моделями в GPSS World и AnyLogic. В GPSS World это будет дисперсионный анализ, а в AnyLogic - оптимизация стохастических моделей. В результате мы получим оптимальные значения факторов и показатели функционирования терминала, которые и оценим.
Первый отсеивающий эксперимент в GPSS World
Сущность этого эксперимента (мы назвали его первым потому, что проведём два отсеивающих эксперимента) состоит в проведении многофакторного дисперсионного анализа с целью выявления степени влияния различных факторов и их комбинаций (взаимодействий) на значение целевой функции (функции отклика, представленной в виде уравнения регрессии).
В условиях модели функционирования терминала в первом эксперименте требуется исследовать зависимость времени обработки одного автомобиля от шести факторов (это максимальные возможности GPSS World), например, при следующих их минимальных и максимальных значениях (табл. 7.6):
Уровни факторов | Факторы | |||||
---|---|---|---|---|---|---|
timeA | timeЕ | timeF | timeI | timeZ | timeFH | |
Нижний | 10 | 10 | 2 | 5 | 10 | 2 |
Верхний | 20 | 15 | 4 | 10 | 15 | 4 |
- Запустите GPSS World. Откройте модель Terminal. Выберите Edit / Insert Experiment / Screening … (Правка / Вставить эксперимент / Отсеивающий …). Откроется диалоговое окно Screening Experiment Generator (Генератор отсеивающего эксперимента). Приступите к заполнению полей диалогового окна.
- В поля Experiment Name (Имя эксперимента) и Run Procedure Name (Имя процедуры запуска) введите, например, Terminal и RunTerminal соответственно (рис. 7.4). Имена эксперименту и процедуре запуска эксперимента дает пользователь.
- Введите ранее выбранные согласно стратегическому планированию эксперимента факторы (табл. 7.6), начиная с фактора А. В поле Name (User Variable) (Имя (Переменная пользователя)) введите имя фактора, в поля Value1 и Value2 - его нижний и верхний уровни соответственно. Запомните соответствие между факторами и именами переменных.
- Ниже идет группа Fraction (Часть полного эксперимента). Установите Full, что соответствует полному факторному эксперименту. Справа под Run Count появится число 64, так как . Это число наблюдений, которое нужно сделать в эксперименте. Количество прогонов в каждом наблюдении определим позже при тактическом планировании эксперимента.
- В поле Expression (Выражение) группы Result (Результат) введите выражение, по которому вычисляется время обработки одного автомобиля: X$TimeSum/N$KolObr.
- После группы Result (Результат) расположены два флажка, позволяющие выбирать опции. При выборе опции Generate Run Procedure вместе с экспериментом создается стандартная процедура запуска, которую пользователь может корректировать согласно своим требованиям. Выбор второй опции Load F11 with CONDUCT Command закрепляет команду CONDUCT за функциональной клавишей F11. Тогда после создания объекта "Процесс моделирования" для запуска эксперимента нужно только нажать функциональную клавишу F11. Выберите обе опции.
- Создайте Plus - операторы и вставьте их в нижнюю часть модели Terminal. Для этого нажмите кнопку Insert Experiment (Вставить эксперимент), расположенную в левой нижней части диалогового окна Screening Experiment Generator (Генератор отсеивающего эксперимента) (см. рис. 7.4). Так как была выбрана опция Generate Run Procedure, то создана стандартная процедура запуска.
Появится её диалоговое окно, дающее возможность пользователю изменить процедуру запуска согласно своим требованиям.
- Перейдите, пользуясь клавишами вверх-вниз, в конец процедуры запуска. Там в разделе Set up your own run conditions (Задайте свои условия наблюдения) имеются две команды START, между которыми находится команда RESET (рис. 7.5). Поясним назначение этих команд.
- Первой командой START
DoCommand("START 100,NP"); /*Get past the Startup Period. */
определяется количество прогонов в неустоявшемся режиме. Команда RESET сбрасывает в ноль накопленную в этом режиме статистику без удаления транзактов из процесса моделирования.
- Второй командой START
DoCommand("START 1000,NP"); /*Run the Simulation. */
определяется количество прогонов в одном наблюдении. В обеих командах используется операторNP - стандартный отчёт не выводится. На рис. 7.5 показаны условия стандартной процедуры запуска после корректировки. Обе команды START мы оставили без изменения, а вот после команды RESET вставили строку
DoCommand("SAVEVALUE TimeSum,0");/*Run the Simulation. */
которая обнуляет ячейку TimeSum.
В этой ячейке накапливается суммарное время обработки всех автомобилей в одном наблюдении эксперимента. Содержимое сохраняемых ячеек при переходе к следующему наблюдению системой (командой RESET) не обнуляется. Поэтому и введена эта команда, в противном случае результаты моделирования будут неверными.
- После корректировки процедуры запуска нажмите Ok. Сгенерированный код Plus - эксперимента появится ниже программы GPSS-модели.
- Проведите трансляцию, т. е. создайте объект "Процесс моделирования", для чего выполните команду Command / Create Simulation (Команда / Создать процесс моделирования).
- При отсутствии ошибок в сгенерированном эксперименте в окне Journal (Журнал) появится сообщение (см. рис. 7.6).
- Запустите эксперимент. Для вызова эксперимента предназначена команда CONDUCT. Ранее за функциональной клавишей [F11] была закреплена команда CONDUCT (Edit/Settings/Function Keys (Правка/Настройки /Функциональные клавиши)) выбором соответствующей опции (см. рис. 7.4). Нажмите функциональную клавишу [F11]. Эксперимент начинает работать.
- В ходе выполнения эксперимента автоматически создается отчет, который по готовности записывается в окно Journal (Журнал) объекта "Процесс моделирования". В отчете содержатся Yield - целевая функция, значения её и значения факторов, при которых получены эти значения целевой функции.
- Фрагмент отчёта для четырех наблюдений (Run33 … Run36) показан на рис. 7.7. К этим данным и условиям выбора именно этого фрагмента отчёта мы обратимся позднее.
- В результате дисперсионного анализа определяется также среднее время обработки одного автомобиля при 64 комбинациях выбранных значений факторов (см. табл. 7.8). В данном случае это время составляет 44,962 мин, то есть около 45 мин.
- Сохраните эксперимент, указав имя DispTerminalTimeObr.