Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио. |
Модель функционирования терминала
Второй отсеивающий эксперимент в GPSS World
Во втором эксперименте требуется исследовать зависимость количества обработанных автомобилей за 8 часов в зависимости от тех же факторов и их значений, что и в первом эксперименте.
Согласно постановке на второй эксперимент поступите так.
- Откройте эксперимент DispTerminalTimeObr.
- Сохраните эксперимент с именем DispTerminalKolObrCar.
- Удалите сгенерированный ранее код эксперимента Terminal, который расположен ниже программы модели.
- Выполните Edit/Insert Experiment/Screening … (Правка/Вставить эксперимент/Отсеивающий …). Откроется диалоговое окно Screening Experiment Generator (Генератор отсеивающего эксперимента) с заполненными полями.
- Оставьте все поля такими же, лишь замените в поле Expression (Выражение) группы Result (Результат) выражение, по которому вычисляется время обработки одного автомобиля X$TimeSum/N$KolObr, выражением N$KolObr/X$Prog для расчета количества обработанных автомобилей.
- Выполните пп. 6…16 предыдущего эксперимента.
- Фрагмент отчёта для четырех наблюдений (Run1…Run4) показан на рис. 7.8. К этим данным мы также обратимся позже.
Первый оптимизационный эксперимент в AnyLogic
Создайте первый эксперимент Оптимизация стохастических моделей в AnyLogic. Цель эксперимента: определение минимального времени обработки одного автомобиля в зависимости от тех же факторов и их значений, что и в отсеивающем эксперименте.
- Откройте в AnyLogic модель Terminal.
- В панели Проект щелкните правой кнопкой мыши элемент модели Terminal и из меню выберите Coздать/ Эксперимент.
- В появившемся диалоговом окне из списка Тип эксперимента: выберите Оптимизация.
- В поле Имя введите имя эксперимента, например, OptTerminal. Имя эксперимента должно начинаться с заглавной буквы - таково правило названия классов в Java.
- В поле Корневой класс модели: выберите Main. Этим выбором вы задали корневой (главный) класс эксперимента. Объект этого класса будет играть роль корня дерева объектов модели, запускаемой экспериментом.
- Если вы хотите применить к создаваемому эксперименту временные установки другого эксперимента, оставьте установленным флажок Копировать установки модельного времени из: и выберите эксперимент из справа выпадающего списка.
- Выберите опцию Фиксированное начальное число (воспроизводимые прогоны). В поле начальное число введите 1687. В этом случае при каждом запуске модели генератор случайных чисел будет инициализироваться этим числом. Поэтому прогоны будут воспроизводимыми при очередном запуске модели, что полезно при отладке модели.
- Щелкните Готово. Появится страница Основные панели Свойства. Установите опцию минимизировать.
- В поле Целевая функция введите root.TimeObr, так как корневой активный объект модели доступен здесь как root.
- Оставьте установленным флажок Количество итераций:. Под итерацией понимается один опыт (одно наблюдение). Количество итераций - это цель стратегического планирования эксперимента - определение количества наблюдений и уровней факторов в них для получения полной и достоверной информации о модели.
- В нашей модели нужно менять факторы timeA, timeЕ, timeF, timeI, timeZ, timeFH. Примем, что каждый фактор имеет два уровня k=2, m=6, тогда число итераций .
- В поле Количество итераций: установите 64. Задайте параметры, зна-чения которых будут меняться. В таблице на рис. 7.9 пере-числены все параметры корневого объекта Main.
- Чтобы разрешить варьирование параметров оптимизатором, перейдите на строку с параметром timeA. Щелкните мышью в ячейке Тип. Выберите тип параметра, отличный от значения фиксированный. Чтобы параметры изменялись точно так же, как и в отсеивающем эксперименте GPSS World, то есть имели два уровня (нижний и верхний или минимальное и максимальное значения), выберите тип дискретный.
- Задайте диапазон допустимых значений параметра. Для чего введите в ячейку Мин минимальное значение 10, в ячейку Макс максимальное значение 20. Так как параметр дискретный, в ячейке Шаг укажите величину шага 10.
- Задайте так же остальные параметры, как на рис. 7.9.
- Перейдите на страницу Репликации панели Свойства.
- Установите флажок Использовать репликации.
- Число репликаций (прогонов) в одной итерации (наблюдении) может быть фиксированным или переменным. Фиксированное число репликаций, например, при доверительной вероятности , точности и стандартном отклонении может быть определено по формуле: где - табулированный аргумент функции Лапласа.
- Выберите опцию Фиксированное количество репликаций и в соответствующем поле установите 400.
- Вернитесь на страницу Основные и щелкните Создать интерфейс.
Кнопка находится в правом верхнем углу страницы Основные. После щелчка удаляется презентация эксперимента и создаётся интерфейс эксперимента заново согласно его текущим установкам (набору оптимизационных параметров и их свойствам и т. д.). Поэтому создавать интерфейс нужно только после окончания задания параметров эксперимента. На интерфейсе будут видны знаки вопросов напротив оптимизационных параметров.
- В меню запуск выполните Terminal1/OptTerminal.
- Щелкните Запустить оптимизацию. Начнет выполняться эксперимент. Во время эксперимента можно видеть на графике изменение значения целевой функции (вертикальная ось). После выполнения 400*64=25 600 прогонов (рис. 7.10) эксперимент остановится.
Второй оптимизационный эксперимент в AnyLogic
Создайте второй эксперимент Оптимизация стохастических моделей в AnyLogic. Цель эксперимента: определение максимального количества обработанных автомобилей в зависимости от тех же факторов и их значений, что и в первом эксперименте.
- Откройте в AnyLogic модель Terminal.
- В панели Проект щелкните правой кнопкой мыши элемент модели Terminal и из контекстного меню выберите Coздать/ Эксперимент. В появившемся диалоговом окне из спискаТип эксперимента: выберите Оптимизация.
- В поле Имя введите имя эксперимента, например, OptTerminal2.
- Выполните пп. 5…8 первого эксперимента.
- Установите опцию максимизировать.
- В поле Целевая функция введите root.KolObrCar.
- Выполните пп. 11…19 первого эксперимента.
- Так как в данном эксперименте определяется максимальное количество обработанных автомобилей, то доверительную вероятность оставьте прежней , а точность и стандартное отклонение достаточно задать равными 1, то есть и . Тогда фиксированное число репликаций будет равно:
- Выберите опцию Фиксированное количество репликаций и в соответствующем поле установите 4.
- Вернитесь на страницу Основные и щелкните Создать интерфейс.
- В меню запуск выполните Terminal1/OptTerminal2.
- Щелкните Запустить оптимизацию. После выполнения 4*64=256 прогонов (рис. 7.11) эксперимент остановится. На второй итерации (втором наблюдении) четвертой репликации (прогоне) получено оптимальное значение функционала: 48,08.
Перейдем к рассмотрению результатов экспериментов.