Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМНЫЙ АНАЛИЗ.doc
Скачиваний:
27
Добавлен:
18.12.2018
Размер:
8.13 Mб
Скачать

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

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

139

Рис. 2.41. Главное окно OptQuest (исходное состояние)

  1. указать — максимизировать или минимизировать целевую фун­ кцию модели;

  2. если необходимо, ввести дополнительные ограничения для из­ меняемых переменных.

Выбор изменяемых переменных (Edit —> Variables) приведет к от­крытию окна рис. 2.42.

Двойной щелчок мыши в поле Select (рис. 2.42) изменяет статус переменной: Yes — переменная выбрана для изменения OptQuest, No — нет.

В поле Name отображаются имена переменных MS-модели. В по­лях Lower Bound и Upper Bound указываются соответственно возмож­ная нижняя и верхняя границы для соответствующей переменной. Для облегчения поиска можно указать предполагаемые значения из­меняемой переменной в колонке Suggested Value. Если предполагае­мые значения выходят за границы или не удовлетворяют ограничени­ям, то они игнорируются. Тип переменной (Integer/Real) переносится в таблицу рис. 2.42 из MS-модели автоматически.

Установка параметров оптимизации (Edit —> Settings) в окне рис. 2.41 связана с определением вида оптимизации (поиск максиму­ма или минимума целевой функции) и установкой количества прого­нов модели (обычно выбирается один). Если выбирается большее ко­личество запусков, то значение целевой функции усредняется по ко-, личеству запусков (см. рис. 2.48).

Ограничения (Edit —> Constraints) в окне рис. 2.41 устанавливают­ся только для входных переменных. OptQuest позволяет пользователю задавать произвольное число ограничений в виде линейной комбина­ции изменяемых переменных. Если предположить, что изменяемые переменные — это Xi (для i = 1, ..., п), то любое ограничение может быть записано в следующей форме: al*Xl + а2*Х2 + ... + ап*Хп # Ь, где ai и b — константы, а знак '#' заменяет одно из следующих отно­шений: '=', ':=', '= =' (отношения равенства) или '<=', '<','>=','>' (от­ношения порядка).

В нашем примере одна изменяемая переменная — число контро­леров Nk. Мы задаем для нее единственное ограничение: Nk <= 6. Для этого случая окно ограничений будет выглядеть следующим обра­зом (рис. 2.43).

Рис. 2.42.Таблица выбора изменяемых переменных

В этом окне представлен весь список переменных нашей имита­ционной модели. Из них мы должны выбрать только те переменные, которые для имитационной модели являются входными. Значения та­ких переменных не должны вычисляться или изменяться внутри MS-модели. Только OptQuest в процессе оптимизации может варьи­ровать значениями этих переменных, ориентируясь на достижение оптимального значения целевой функции. В нашей)модели такой входной переменной является только одна — это переменная Nk, остальные зависят от нее (прямо или косвенно).

140

141

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

Часть 2. Имитационное моделирование Установка дополнительных опций

Меню Опций (Options) рис. 2.41 позволяет установить время оп­тимизации и выбрать вариант алгоритма оптимизации.

Опция «Ускоритель нейронных сетей» (Neural Network Accelera­tor) разработана, чтобы улучшить мощность поиска OptQuest'a. При использовании нейронной сети OptQuest собирает информацию о по­лучаемых значениях целевой функции при различных значениях из­меняемых переменных. Затем эта информация используется для обу­чения нейронной сети в процессе поиска. OptQuest автоматически определяет как много данных требуется и как часто нужно повторять обучение, основываясь на том, что время проведения имитации моде­ли и время оптимизации ограничено пользователем.

В меню опции «Ускоритель нейронных сетей» 4 пункта:

  1. No Neural Network (Без нейронной сети). Этот механизм поиска на каждом шаге оптимизации (Simulation) формирует новые значения входных переменных и отправляет их в имитационную MS-модель для формирования оценки целевой функции objective. Использование этого механизма предпочтительно для имитационных моделей с ма­ лым количеством изменяемых переменных.

  2. Conservative Neural Network (Консервативная нейронная сеть). Этот алгоритм поиска связан с использованием консервативного пра­ вила для того, чтобы отбрасывать потенциально плохие решения. Ис- спользование этого пункта целесообразно, если на имитацию отведе­ но относительно мало времени.

3. Aggressive Neural Network (Агрессивная нейронная сеть). Эта опция предпочтительна для большинства моделей и указана по умолчанию.

4. Extremely Aggressive Neural Network (Экстремально агрессивная нейронная сеть). Выбор этого пункта сильно ускоряет поиск, увели­ чивая риск потерять некоторые хорошие решения. Рекомендуется для моделей, имитация которых очень продолжительна и в которых до­ статочно приближенного решения.