В этом примере показано, как решить задачу оптимизации с помощью алгоритма GPS, который является значением по умолчанию для patternsearch решатель. В примере используется задача «Оптимизировать интерактивный редактор» для завершения оптимизации с использованием визуального подхода.
В этом примере используется целевая функция ps_example, который входит в комплект программного обеспечения Global Optimization Toolbox. Просмотрите код функции, введя следующую команду.
type ps_exampleНа этом рисунке показан график функции.

Чтобы найти минимум ps_example с помощью задачи Оптимизировать интерактивный редактор (Optimize Live Editor) выполните следующие действия.
Создайте новый сценарий в реальном времени, нажав кнопку «Создать сценарий в реальном времени» в разделе «Файл» на вкладке «Главная».

Вставка задачи «Оптимизировать интерактивный редактор». Перейдите на вкладку Вставка, а затем в разделе Код выберите Задача > Оптимизировать.


Для использования при вводе данных о проблемах вставьте новый раздел, нажав кнопку «Разрыв раздела» на вкладке «Вставка». Новые разделы появляются над и под задачей.
В новом разделе над задачей введите следующий код для определения начальной точки и целевой функции.
x0 = [2.1 1.7]; fun = @ps_example;
Чтобы поместить эти переменные в рабочее пространство, запустите раздел, нажав клавиши CTRL + ENTER.
В разделе Указание типа проблемы задачи нажмите кнопку Цель > Не стрелять.
Убедитесь, что выбранный решатель patternsearch.
В разделе Select problem data задачи выберите Objective function > Function handle, а затем выберите fun.
Выберите Начальная точка (x0) > x0.
В разделе «Отображение хода выполнения» задачи выберите графики «Наилучшее значение» и «Размер сетки».

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

Верхний график показывает значение целевой функции лучшей точки в каждой итерации. Как правило, значения целевой функции быстро улучшаются на ранних итерациях и затем выравниваются по мере приближения к оптимальному значению.
На нижнем графике показан размер сетки в каждой итерации. Размер сетки увеличивается после каждой успешной итерации и уменьшается после каждой неудачной итерации. Дополнительные сведения см. в разделе Как работает опрос поиска шаблонов.
Оптимизация остановлена, так как размер сетки стал меньше значения допуска размера сетки, определенного MeshTolerance вариант. Минимальное значение функции равно приблизительно -2.
Чтобы увидеть решение и значение целевой функции, посмотрите в верхней части задачи.

Задача «Оптимизировать» помещает переменные solution и objectiveValue в рабочей области. Просмотрите эти значения, разместив новый раздел под задачей, и включите этот код.
disp(solution) disp(objectiveValue)
Запустите раздел, нажав Ctrl + Enter.
disp(solution)
-4.7124 -0.0000
disp(objectiveValue)
-2.0000
Оптимизировать | patternsearch