
мод сис / V.Boev-GPSSvsAnyLogic
.pdf
Однако при проведении экспериментов и наличии в модели, как в нашем случае, вложенных объектов, необходимо связывать параметры, размещенные на корневом объекте и вложенных объектах. Связывание необходимо потому, что изменять в ходе эксперимента можно только параметры корневого объекта.
В результате связывания значение параметра любого уровня вложенного объекта будет равно значению параметра объекта самого верхнего уровня.
Но следует иметь в виду, что связываются только параметры одного типа и что передача значения параметра производится лишь параметру объекта, находящегося ниже уровнем в иерархи-
ческом дереве модели. То есть связываются параметры последовательно от одного уровня к другому, а не через уровень или уровни.
Разместите элементы, как показано на рис. 5.15. Внесите соответствующие изменения в модель. Обратите внимание на различие имѐн связываемых параметров, например, КССР_1.
Свяжите параметры корневого объекта Main с параметрами вложенного объекта класса Degyrstvo.
1.Откройте диаграмму класса активного объекта Main.
2.Выберите на диаграмме вложенный объект degyrstvo.
3.Перейдите на страницу Параметры панели Свойства.
4.В таблице Параметры в поле Значение введите имя параметра класса объекта-владельца Main, значение которого нужно передавать этому параметру вложенного объекта. В результате у вас должно быть так, как на рис. 5.16.
Рис. 5.15. Размещение элементов на Initial_data_ PD
241

Рис. 5.16. Фрагмент страницы Параметры после связывания параметров
242

5. 1.8.3. Эксперимент Оптимизация стохастических моделей
Эксперимент Оптимизация может проводиться в AnyLogic оптимизатором OptQuest для детерминированных и стохастических моделей.
Наша модель ComSystem стохастическая. Создайте оптимизационный эксперимент стохастической модели с целью определения максимального коэффициента прибыли в зависимости от количества резервных СС и мастеров-ремонтников.
1.В панели Проект щелкните правой кнопкой мыши элемент модели ComSystem и из контекстного меню выберите Coздать/
Эксперимент.
2.В появившемся диалоговом окне из списка Тип экспери-
мента: выберите Оптимизация (рис. 5.17).
Рис. 5.17. Диалоговое окно Новый эксперимент
243

3.В поле Имя введите имя эксперимента, например, OptComSystem. Имя эксперимента должно начинаться с заглавной буквы — таково правило названия классов в Java.
4.В поле Корневой класс модели: выберите Main. Этим действием вы задали корневой (главный) класс эксперимента. Объект этого класса будет играть роль корня иерархического дерева объектов модели, запускаемой оптимизационным экспериментом.
5.Если вы хотите применить к создаваемому эксперименту временные установки другого эксперимента, оставьте установлен-
ным флажок Копировать установки модельного времени из: и
выберите эксперимент из расположенного справа выпадающего
списка. В данном случае оставьте, так как есть: Simulation.
6.Щелкните кнопку Готово. Появится страница Основные панели Свойства (рис. 5.18).
7.Установите опцию максимизировать.
8.Установите Фиксированное начальное число (воспроизводимые прогоны).
9.В поле Начальное число введите 5672.
10.Целевая функция доступна как root.Поэтому поле Целе-
вая функция введите root.degyrstvo.koefPribil.
11.Оставьте установленным флажок Количество итераций:. Под итерацией понимается один опыт (одно наблюдение). Количество итераций — это цель стратегического планирования эксперимента — определение количества наблюдений и уровней факторов
вних для получения полной и достоверной информации о модели.
12.Число итераций модели при полном факторном эксперименте, то есть число всех возможных сочетаний факторов, определяется по формуле:
I k1 k2 ... ki ... |
km , |
||
|
|
|
|
где ki — число уровней i-го фактора, i |
1, m . |
13. В нашей модели нужно менять количество резервных средств связи КССР_1…КССР_5 и количество мастеровремонтников Kol_masterov, то есть всего m=6 факторов. Факторы
имеют следующие уровни: |
k1 |
3, k2 k3 k4 6, k5 k6 5. Тогда |
число итераций |
|
|
I k1 k2 k3 k4 |
k5 |
k6 3 6 6 6 5 5 16 200. |
244

Рис. 5.18. Вкладка Основные оптимизационного эксперимента
245

14.Оставьте 500 в поле Количество итераций:, так как данная версия AnyLogic ограничена этим количеством итераций.
15.Задайте параметры, значения которых будут меняться. В таблице на рис. 5.18 перечислены все параметры корневого объек-
та Main.
16.Чтобы разрешить варьирование параметров оптимизатором, перейдите на строку с параметром КССР_1. Щелкните мышью в ячейке Тип. Выберите тип параметра, отличный от значения фиксированный. Так как параметр KCCР_1 целочисленный типа int, выберите дискретный.
17.Задайте диапазон допустимых значений параметра. Для чего введите в ячейку Мин минимальное значение 1, в ячейку Макс максимальное значение, например, для КССР1, 3. Так как параметр дискретный, в ячейке Шаг укажите величину шага 1.
18.Задайте так же остальные параметры, как на рис. 5.18.
19.Перейдите на страницу Репликации панели Свойства
(рис. 5.19).
20.Установите флажок Использовать репликации.
21.Число репликаций (прогонов) в одной итерации (наблюдении) может быть фиксированным или переменным. Фиксированное число репликаций, например, при доверительной вероятности
0,95 , точности |
|
0,1 и стандартном отклонении |
0,1 мо- |
||||
жет быть определено по формуле [1]: |
|
|
|||||
N |
t2 |
2 |
1,962 |
0,12 |
|
3,8416 4, |
|
|
|
|
|||||
|
|
2 |
0,12 |
|
|
|
где t 1,96 — табулированный аргумент функции Лапласа.
Возможность переменного количества репликаций позволяет оптимизатору OptQust проверять на статистическую значимость разницу между средним значением целевой функции в текущей итерации (текущее среднее значение) и лучшим значением, найденным за предыдущие итерации (лучшее значение). Целью такой проверки является удаление худших решений без потери времени на их получение. Таким образом, процесс может быть значительно ускорен за счет прекращения поиска неподходящих решений вместо выполнения заданного максимального количества реализаций.
22. Выберите опцию Фиксированное количество реплика-
ций и в соответствующем поле установите 4.
246

Рис. 5.19. Страница Репликации оптимизационного эксперимента
23. Вернитесь на страницу Основные и щелкните кнопку Создать интерфейс. Кнопка находится в правом верхнем углу страницы Основные. После щелчка удаляется содержимое презентации эксперимента и создается интерфейс эксперимента заново (рис. 5.20) согласно его текущим установкам (набору оптимизационных параметров и их свойствам и т. д.). Поэтому создавать интерфейс нужно только после окончания задания параметров эксперимента. На интерфейсе видны знаки вопросов напротив оптимизационных параметров.
24.В меню запуск выполните ComSystem/OptComSystem.
25.Щелкните Запустить оптимизацию. Начнет выполняться эксперимент. Во время эксперимента можно видеть на графике изменение значения целевой функции. После 500*4=2 000 прогонов (см. рис. 5.21) эксперимент остановится.
26.Результаты оптимизационного эксперимента приведены на рис. 5.21. Наилучшее значение целевой функции — коэффициент прибыли — равно 0,959. Получено оно на 154 итерации при следующих оптимальных значениях параметров: КССР_1=2, КССР_2= КССР_3= КССР_4=КССР_5=1, Kol_master=5.
27.Вернитесь к простому эксперименту. Измените значения
КССР_1… КССР_5 и Kol_master на Initial_data_PD на значения, полученные в оптимизационном эксперименте.
247

Рис. 5.20. Интерфейс оптимизационного эксперимента
28. Запустите простой эксперимент. Вы получите коэффициент прибыли 0,949, то есть такой же, как и в оптимизационном эксперименте. При этом уменьшатся затраты на содержание резервных СС и возрастут коэффициенты использования СС.
Замечание. Возможно, что результат оптимизационного эксперимента будет отличаться по коэффициенту прибыли в большую сторону при снятии ограничения в 500 итераций.
248

Рис. 5.21. Результаты оптимизационного эксперимента
Обратите внимание на интерфейс оптимизационного эксперимента (рис. 5.20): заготовка для графика относительного коэффициента прибыли расположена в первом квадранте, то есть коэффициент предполагается положительным. Однако при некоторых параметрах система предоставления услуг связи оказывается убыточной. Поэтому появляется четвѐртый квадрант (рис. 5.21), в котором искомый коэффициент отрицательный.
249

5. 1.8.4. Эксперимент Варьирование параметров
Эксперимент Варьирование параметров также может проводиться для детерминированных и стохастических моделей.
Создайте эксперимент Варьирование параметров для стохастической модели ComSystem с целью наблюдения за изменением коэффициента прибыли в зависимости от дохода за дежурство средств связи.
1.В панели Проект щелкните правой кнопкой мыши элемент модели ComSystem и из контекстного меню выберите Создать эксперимент.
2.В появившемся диалоговом окне из списка Тип экспери-
мента: выберите Варьирование параметров (рис. 5.22).
3.В поле Имя введите имя эксперимента, например, Par-
VarComSystem.
4. Остальные установки оставьте такими, как на рис. 5.18. Назначение их тоже, что и в оптимизационном эксперименте.
Рис. 5.22. Окно Новый эксперимент с выбранным экспериментом
250