Опубликован: 15.02.2013 | Доступ: свободный | Студентов: 256 / 0 | Длительность: 16:52:00
ISBN: 978-5-9556-0146-5
Лекция 8:

Модель функционирования терминала

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Второй отсеивающий эксперимент в GPSS World

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

Согласно постановке на второй эксперимент поступите так.

  1. Откройте эксперимент DispTerminalTimeObr.
  2. Сохраните эксперимент с именем DispTerminalKolObrCar.
  3. Удалите сгенерированный ранее код эксперимента Terminal, который расположен ниже программы модели.
  4. Выполните Edit/Insert Experiment/Screening … (Правка/Вставить эксперимент/Отсеивающий …). Откроется диалоговое окно Screening Experiment Generator (Генератор отсеивающего эксперимента) с заполненными полями.
  5. Оставьте все поля такими же, лишь замените в поле Expression (Выражение) группы Result (Результат) выражение, по которому вычисляется время обработки одного автомобиля X$TimeSum/N$KolObr, выражением N$KolObr/X$Prog для расчета количества обработанных автомобилей.
  6. Выполните пп. 6…16 предыдущего эксперимента.
  7. Фрагмент отчёта для четырех наблюдений (Run1…Run4) показан на рис. 7.8. К этим данным мы также обратимся позже.
Окно Journal (Журнал) с отчетом второго эксперимента

Рис. 7.8. Окно Journal (Журнал) с отчетом второго эксперимента

Первый оптимизационный эксперимент в AnyLogic

Создайте первый эксперимент Оптимизация стохастических моделей в AnyLogic. Цель эксперимента: определение минимального времени обработки одного автомобиля в зависимости от тех же факторов и их значений, что и в отсеивающем эксперименте.

  1. Откройте в AnyLogic модель Terminal.
  2. В панели Проект щелкните правой кнопкой мыши элемент модели Terminal и из меню выберите Coздать/ Эксперимент.
  3. В появившемся диалоговом окне из списка Тип эксперимента: выберите Оптимизация.
  4. В поле Имя введите имя эксперимента, например, OptTerminal. Имя эксперимента должно начинаться с заглавной буквы - таково правило названия классов в Java.
  5. В поле Корневой класс модели: выберите Main. Этим выбором вы задали корневой (главный) класс эксперимента. Объект этого класса будет играть роль корня дерева объектов модели, запускаемой экспериментом.
  6. Если вы хотите применить к создаваемому эксперименту временные установки другого эксперимента, оставьте установленным флажок Копировать установки модельного времени из: и выберите эксперимент из справа выпадающего списка.
  7. Выберите опцию Фиксированное начальное число (воспроизводимые прогоны). В поле начальное число введите 1687. В этом случае при каждом запуске модели генератор случайных чисел будет инициализироваться этим числом. Поэтому прогоны будут воспроизводимыми при очередном запуске модели, что полезно при отладке модели.
  8. Щелкните Готово. Появится страница Основные панели Свойства. Установите опцию минимизировать.
  9. В поле Целевая функция введите root.TimeObr, так как корневой активный объект модели доступен здесь как root.
  10. Оставьте установленным флажок Количество итераций:. Под итерацией понимается один опыт (одно наблюдение). Количество итераций - это цель стратегического планирования эксперимента - определение количества наблюдений и уровней факторов в них для получения полной и достоверной информации о модели.
  11. В нашей модели нужно менять факторы timeA, timeЕ, timeF, timeI, timeZ, timeFH. Примем, что каждый фактор имеет два уровня k=2, m=6, тогда число итераций I=k^m=2^6=64.
  12. В поле Количество итераций: установите 64. Задайте параметры, зна-чения которых будут меняться. В таблице на рис. 7.9 пере-числены все параметры корневого объекта Main.
  13. Чтобы разрешить варьирование параметров оптимизатором, перейдите на строку с параметром timeA. Щелкните мышью в ячейке Тип. Выберите тип параметра, отличный от значения фиксированный. Чтобы параметры изменялись точно так же, как и в отсеивающем эксперименте GPSS World, то есть имели два уровня (нижний и верхний или минимальное и максимальное значения), выберите тип дискретный.
    Страница Основные панели Свойства эксперимента

    увеличить изображение
    Рис. 7.9. Страница Основные панели Свойства эксперимента
  14. Задайте диапазон допустимых значений параметра. Для чего введите в ячейку Мин минимальное значение 10, в ячейку Макс максимальное значение 20. Так как параметр дискретный, в ячейке Шаг укажите величину шага 10.
  15. Задайте так же остальные параметры, как на рис. 7.9.
  16. Перейдите на страницу Репликации панели Свойства.
  17. Установите флажок Использовать репликации.
  18. Число репликаций (прогонов) в одной итерации (наблюдении) может быть фиксированным или переменным. Фиксированное число репликаций, например, при доверительной вероятности \alpha = 0,95, точности \varepsilon =0,1 и стандартном отклонении \sigma=0,1 может быть определено по формуле:
    N=t^{2}_{\alpha}\frac{\sigma^2}{\varepsilon^2}=1,96^2\frac{0,1^2}{0,01^2}=3,8416 \cdot 100\approx400
    где t_{\alpha}=1,96 - табулированный аргумент функции Лапласа.
  19. Выберите опцию Фиксированное количество репликаций и в соответствующем поле установите 400.
  20. Вернитесь на страницу Основные и щелкните Создать интерфейс.

    Кнопка находится в правом верхнем углу страницы Основные. После щелчка удаляется презентация эксперимента и создаётся интерфейс эксперимента заново согласно его текущим установкам (набору оптимизационных параметров и их свойствам и т. д.). Поэтому создавать интерфейс нужно только после окончания задания параметров эксперимента. На интерфейсе будут видны знаки вопросов напротив оптимизационных параметров.

  21. В меню запуск выполните Terminal1/OptTerminal.
  22. Щелкните Запустить оптимизацию. Начнет выполняться эксперимент. Во время эксперимента можно видеть на графике изменение значения целевой функции (вертикальная ось). После выполнения 400*64=25 600 прогонов (рис. 7.10) эксперимент остановится.

Второй оптимизационный эксперимент в AnyLogic

Создайте второй эксперимент Оптимизация стохастических моделей в AnyLogic. Цель эксперимента: определение максимального количества обработанных автомобилей в зависимости от тех же факторов и их значений, что и в первом эксперименте.

Результаты первого оптимизационного эксперимента

увеличить изображение
Рис. 7.10. Результаты первого оптимизационного эксперимента
  1. Откройте в AnyLogic модель Terminal.
  2. В панели Проект щелкните правой кнопкой мыши элемент модели Terminal и из контекстного меню выберите Coздать/ Эксперимент. В появившемся диалоговом окне из спискаТип эксперимента: выберите Оптимизация.
  3. В поле Имя введите имя эксперимента, например, OptTerminal2.
  4. Выполните пп. 5…8 первого эксперимента.
  5. Установите опцию максимизировать.
  6. В поле Целевая функция введите root.KolObrCar.
  7. Выполните пп. 11…19 первого эксперимента.
  8. Так как в данном эксперименте определяется максимальное количество обработанных автомобилей, то доверительную вероятность оставьте прежней \alpha = 0,95, а точность и стандартное отклонение достаточно задать равными 1, то есть \varepsilon =1 и \sigma=1. Тогда фиксированное число репликаций будет равно:
    N=t^{2}_{\alpha}\frac{\sigma^2}{\varepsilon^2}=1,96^2\frac{1^2}{1^2}=3,8416 \cdot 1\approx4
  9. Выберите опцию Фиксированное количество репликаций и в соответствующем поле установите 4.
  10. Вернитесь на страницу Основные и щелкните Создать интерфейс.
  11. В меню запуск выполните Terminal1/OptTerminal2.
  12. Щелкните Запустить оптимизацию. После выполнения 4*64=256 прогонов (рис. 7.11) эксперимент остановится. На второй итерации (втором наблюдении) четвертой репликации (прогоне) получено оптимальное значение функционала: 48,08.

Перейдем к рассмотрению результатов экспериментов.

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Алексей Гроссман
Алексей Гроссман

Здравствуйте, прошел курс "Концептуальное проектирование систем в AnyLogic и GPSS World". Можно ли получить по нему сертификат? У нас в институте требуют сертификаты для создания портфолио.

Елена Блинаева
Елена Блинаева