Процесс оптимизации (поиск решения)

В динамике процесса поиска в главном окне системы OptQuest отображается состояние этого процесса (см. рис. 2.44).

Процесс оптимизации (поиск решения) - student2.ru

Процесс оптимизации (поиск решения) - student2.ru Процесс оптимизации (поиск решения) - student2.ru Рис. 2.44. Главное окно OptQuest в динамике поиска

Статус поиска (Status) отображается в левом верхнем углу окна (на рис. 2.44 статус определяет время до окончания поиска). Имя файла оптимизации (Optimization file) отображается в правом верхнем углу окна (в нашем случае TV.OPT).

На белой полосе в центре окна отображается текущее состояние процесса поиска. Ниже приводится перечень таких состояний.

Ready — исходное состояние готовности начать процесс оптими­зации.

Running a Test Simulation —■ OptQuest запускает тестовую имита­цию, чтобы установить параметры поиска.

Building Initial Population — OptQuest генерирует начальную попу­ляцию возможных решений.

Optimizing — идет поиск. Возможно, Micro Saint выполняет запуск имитационной модели или OptQuest решает, какие значения входных переменных сгенерировать следующими.

Neural Network Accelerator Engaged — если вы включили ускорение нейронной сети, OptQuest периодически обучает эту сеть.

Diversifying — OptQuest определил, что популяция решений полу­чит преимущество, если будет применена специальная диверсифика-ционная стратегия при создании новых решений. Диверсификацион-ная процедура включает новые решения в популяцию перед тем, как поиск будет продолжен.

Evaluating Diversified Population — OptQuest оценивает последнюю диверсифицированную популяцию.

Ниже белой полосы состояния поиска размещается таблица, ко­торая содержит:

• номер очередного запуска процесса имитации с новым вариан­том значений входных переменных (Simulation);



Часть 2. Имитационное моделирование

Оптимизация на имитационных моделях




                 
  Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru
    Процесс оптимизации (поиск решения) - student2.ru
 

Процесс оптимизации (поиск решения) - student2.ru

 

• значение целевой функции, полученной при этом запуске (ob­
jective);

• значения входных переменных, используемые при этом запуске
(в нашем случае это одна переменная — Nk).

Результаты поиска (значение целевой функции) располагаются в файле OPTQUEST.RES. Его можно просмотреть и проанализировать средствами системы Micro Saint как обычный файл результатов этой системы.

Результаты оптимизации

Процесс оптимизации (поиск решения) - student2.ru

Simulation j_Objs-f-liv • • ' _ j_ 6.00616 \ 2 2I 0.673794Г 6

После завершения оптимизации главное окно OptQuest отобража­ет трассу просмотренных вариантов решения оптимизационной зада­чи (рис. 2.45) и выделяет лучший из них.

Рис. 2.45. Главное окно OptQuest после завершения оптимизации

Для просмотра результатов оптимизации в меню опций (Options) используются специальные средства интерпретации результатов в виде графика (Graph), просмотра переменных (View Variables) или данных времени исполнения (Run Data).

Для рассматриваемого примера использование формы графика приводит к выводу окна рис. 2.46.

По оси абсцисс отложена последовательность шагов процесса по­иска решения (Simulation) с запуском соответствующей MS-модели. График Current показывает текущие результаты, a Best — процесс улучшения текущих результатов.

По оси ординат откладываются значения целевой функции (objec­tive). Эта ось может использовать два типа разметки: линейную (Line­ar/Linear) и логарифмическую (Log/Linear). Первая удобна при значи-

Рис. 2.46. График результатов оптимизации

тельной разнице в результатах оптимизации, вторая — при небольших отличиях между результатами. Выбор типа разметки открывается в меню Туре.

Для рассматриваемого примера поиск начался со значения Nk = — 2, рекомендованного в таблице выбора (рис. 2.42) в качестве нача­льного значения. При этом по результатам первой попытки (Simulati­on = 1) целевая функция определилась значением 6,00616. Вторая по­пытка (Simulation = 2) определялась значением Nk = 6, предложен­ным алгоритмом поиска (нами был выбран алгоритм No Neural Network — без нейронной сети). Имитация системы на втором шаге поиска привела к определению objective значением 0,673794, что су­щественно улучшило результат. Третья попытка использовала в каче­стве пробного значения входной переменной Nk = 4, что опять-таки улучшило результат (objective = 0,510690). Четвертая попытка практи­чески не изменила результат третьей, пятая была связана (как легко догадаться) с дальнейшим снижением Nk (скорее всего Nk = 1), что привело к резкому возрастанию длины очереди перед контролем и со­ответственно к резкому возрастанию значения целевой функции (ob­jective «50). Это вызвало резкое ухудшение уже найденного приближе­ния к оптимуму, поэтому кривая Best не отреагировала на этот вари­ант, шестой и седьмой шаги были связаны с возвращением в окрестности уже использованных значений Nk = 4-5, что также не улучшило результата поиска.

Просмотр результатов в окне View Variables связан с использова­нием диаграммы соотношений между значениями входных изменяе­мых переменных. Поскольку в нашем примере такая переменная то­лько одна, окно для анализа результатов для рассмотренного примера оказывается малоинформаnивным (рис. 2.47).

144

Часть 2. Имитационное моделирование

Оптимизация на имитационных моделях

145



           
  Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru
 
    Процесс оптимизации (поиск решения) - student2.ru

Процесс оптимизации (поиск решения) - student2.ru

Процесс оптимизации (поиск решения) - student2.ru

Процесс оптимизации (поиск решения) - student2.ru Рис. 2.47. Диаграмма сравнения переменных

Третья форма интерпретации результатов (Run Data) связана с выводом подробной информации о последовательности шагов про­цесса поиска, которые привели к наилучшему результату (последую­щие шаги не рассматриваются). В нашем примере к наилучшему резу­льтату привели три шага поиска и соответственно три запуска MS-mo-дели. Рис. 2.48 иллюстрирует вывод информации в форме (Run Data).

Оптимальный результат представлен первой записью.

Она включает в себя:

1) номер шага в процессе поиска (si­
mulation);

2) значения изменяемых переменных
(Values of Variables);

3) среднее значение целевой функции
(Average Objective). Это значение форми­
руется по нескольким прогонам модели в
случае, когда перед оптимизацией в уста­
новках (Edit —> Settings) указывается ко­
личество прогонов, большее 1. В нашем
примере Run = 1, поэтому усредненное
значение objective не отличается от обыч­
ного;

4) стандартное отклонение от среднего
(Standard Deviation). При количестве про­
гонов, равном 1 (Run=l в Edit —> Settings)
этот параметр равен 0;

5) индивидуальные значения целевой
функции по каждому из прогонов MS-mo-
дели (Individual Run Objective). В общем

случае это список, в нашем примере прогон один, поэтому в списке только одна запись: (Run 1: 0,51069).

После завершения оптимизации OptQuest предлагает внести изме­нения в MS-модель, связанные с установкой оптимальных значений изменяемых переменных. При согласии пользователя такое измене­ние вносится в календарь на момент системного времени clock = 0. При этом запуск MS- модели будет приводить к установке оптималь­ных значений изменяемых переменных. Рисунок 2.49 показывает со­держимое календаря с установленным OptQuest оптимальным значе­нием числа контролеров (Nk = 4).

Процесс оптимизации (поиск решения) - student2.ru

Процесс оптимизации (поиск решения) - student2.ru Рис. 2.49. Содержимое календаря с установленным оптимальным значением числа

контролеров (Nk = 4)

Из сопоставления содержимого календарей MS-модели до и после оптимизации (рис. 2.49 и 2.40) становится понятным, почему мы установили оператор присваивания (Nck:=Nk) не в начальный мо­мент времени, а несколько позже.

Контрольные вопросы и предложения

1. Что определяет функция objective в системе поиска оптимального решения
на имитационной MS-модели?

2. В чем состоит принципиальное отличие целевой функции objective от целе­
вой ячейки электронной таблицы?

3. Чем отличаются входные изменяемые переменные от остальных перемен­
ных имитационной MS-модели?

4. Как учитываются при оптимизации границы значений изменяемых пере­
менных?

5. Какое значение получают обычно входные переменные на первом шаге
процесса поиска, если задано поле Suggested Value?

6. Какие переменные MS-модели могут использоваться при определении
ограничений на пространство поиска в окне (Edit —> Constraints)?

7. Охарактеризуйте основные опции «Ускорителя нейронных сетей» и ситуа­
ции, в которых их следует использовать.

146

Часть 2. Имитационное моделирование

I:"



8. Процесс оптимизации (поиск решения) - student2.ru В чем состоят отличия кривых Current и Best при представлении результа­
тов оптимизации в виде графика?

9. Как интерпретируется термин Simulation в разметке оси абсцисс графика
результатов имитации?

10. Как изменятся результаты оптимизации, если целевую функцию рассмат­
риваемого примера определить следующим образом: objective:=Q_max?

11. Как изменятся результаты оптимизации, если целевую функцию рассмат­
риваемого примера определить следующим образом: objective:=(l-KPD)?

12. Можно ли в качестве изменяемой переменной рассмотренной модели вы­
брать переменную Q_max? Переменную State? Почему?

13. В чем состоят основные отличия между поиском оптимальных решений на
электронных таблицах и имитационных моделях?

Задания по имитационному

Наши рекомендации