Оптимизация стохастических моделей
Если Вы оптимизируете детерминированную модель, в которой нет стохастики
(то есть, случайных процессов, описанных с помощью вероятностных
распределений), то любые два "прогона" с одними и теми же
значениями оптимизационных параметров всегда будут иметь одно и то же
значение оптимизируемой функции на выходе (в момент окончания
"прогона"). В этом случае оптимизатору достаточно выполнить всего лишь
один "прогон" для каждой итерации оптимизации (то есть, для
каждого набора значений параметров, предлагаемого оптимизатором).
Если же в Вашей модели есть стохастика, то результаты
"прогонов" будут уникальными, и значения оптимизируемой функции,
полученные для "прогонов", произведенных при одних и тех же
значениях оптимизационных параметров, скорее всего, будут отличаться. В
этом случае мы не можем производить всего лишь один "прогон", принимать
его результат в качестве результата для данной итерации и продолжать
оптимизацию дальше, проверяя другие значения параметров. Чтобы получить
репрезентативные данные, которым можно доверять, нам нужно провести
несколько "прогонов" (называемых в даном контексте репликациями) для
одного набора значений параметров и принимать в качестве значения
целевой функции на итерации среднее значение результатов всех
репликаций.
Число репликаций, производимых в рамках одной итерации, может
быть как фиксированным, так и переменным. В первом случае Вы просто
задаете то количество репликаций, при котором Вы считаете, что
полученному результату можно будет доверять. В этом случае оптимизатор
будет всегда выполнять строго заданное количество репликаций за одну
итерацию.
Возможность выполнения переменного количества репликаций
позволяет
оптимизатору OptQuest проверять на статистическую значимость разницу
между средним значением целевой функции в текущей итерации ("текущее
среднее значение") и лучшим значением, найденным за предыдущие итерации
("лучшее значение"). Целью такой проверки является удаление худших
решений без потери слишком большого времени на их получение. Таким
образом, процесс может быть значительно ускорен за счет
прекращения поиска неподходящих решений вместо выполнения заданного
максимального количества репликаций.

Панель
свойств оптимизационного эксперимента. Страница Репликации
Чтобы запланировать выполнение
нескольких репликаций за одну итерацию
- Выберите эксперимент в панели Проекты.
- Перейдите на страницу Репликации
панели Свойства.
- Установите флажок Использовать
репликации.
Чтобы запланировать
выполнение фиксированного числа репликаций за одну итерацию
- Выберите опцию Фиксированное
количество репликаций.
- Задайте количество репликаций в поле Кол-во репликаций за итерацию.
Для оптимизации с переменным количеством репликаций в одной итерации
задаются минимальное и максимальное количество репликаций. За одну
итерацию оптимизатор OptQuest всегда выполняет заданное минимальное
количество репликаций. Необходимость выполнения дополнительных
репликаций определяется оптимизатором. Прекращение выполнения
дополнительных репликаций произойдет в одном из следующих случаев:
- Доверительный интервал для всех репликаций в рамках текущей
итерации достаточно мал, чтобы попасть в интервал, заданный степенью
доверия (то есть, искомое значение целевой функции для данной итерации
несущественно отличается от среднего значения всех репликаций, что
свидетельствует о том, что выборка репрезентативна, и найденному к
данному моменту значению можно доверять).
- Значение целевой функции в текущей репликации существенно
отстоит
от текущего лучшего значения и очевидно, что при выбранных в текущей
итерации значения оптимизационных параметров оптимальное решение
найдено быть не может.
- Было выполнено заданное максимальное количество репликаций.
Чтобы запланировать выполнение
переменного числа репликаций за одну итерацию
- Выберите опцию Переменное
кол-во репликаций (останов после выполнения минимального кол-ва
репликаций, при достижении доверительного интервала).
- Задайте минимальное количество репликаций в поле Минимальное кол-во репликаций.
- Задайте максимальное количество репликаций в поле Максимальное кол-во репликаций.
- В поле Доверительная
вероятность задайте значение доверительной вероятности для
получаемых значений целевой функции. Доверительная
вероятность
показывает, с какой вероятностью случайный ответ попадет в
доверительный интервал. Для простоты можно понимать её как точность
выборки. Как правило, используется 95%, но в тех случаях, когда высокая
точность не нужна, вероятностью можно пожертвовать и понизить её
уровень до 90% и даже до 85%. И наоборот, чем большую выборку может
себе позволить исследователь, тем выше можно установить точность
полученных данных. Доверительный
интервал можно понимать как погрешность, задает размах
части кривой распределения по обе стороны от выбранной точки, куда
могут попадать ответы.
- В поле Относительный
уровень ошибки задайте значение от 0 до 1, определяющее
размер доверительного интервала, который нас будет устраивать в
качестве условия прекращения выполнения дополнительных репликаций для
текущей итерации. Интервал считается как ("текущее среднее значение" - "текущее среднее значение" * относительный уровень
ошибки, "текущее среднее значение" + "текущее среднее значение" * относительный уровень ошибки).
Более подробную информацию о доверительном интервале Вы можете найти,
например, здесь.