В этом примере показано, как решить задачу оптимизации с помощью алгоритма GPS, который является значением по умолчанию для patternsearch
решатель. Пример использует Оптимизировать задачу Live Editor завершить оптимизацию с помощью визуального подхода.
Этот пример использует целевую функцию ps_example
, который включен с программным обеспечением Global Optimization Toolbox. Просмотрите код для функции путем ввода следующей команды.
type ps_example
Этот рисунок показывает график функции.
Найти минимум ps_example
использование Оптимизировать задача Live Editor, завершите следующие шаги.
Создайте новый live скрипт путем нажатия кнопки New Live Script в разделе File по вкладке Home.
Вставьте Оптимизировать задачу Live Editor. Кликните по вкладке Insert и затем, в Секции кода, выберите Task> Optimize.
Для использования во вводе проблемных данных вставьте новый раздел путем нажатия кнопки Section Break на вкладке Insert. Новые разделы появляются выше и ниже задачи.
В новом разделе выше задачи введите следующий код, чтобы задать начальную точку и целевую функцию.
x0 = [2.1 1.7]; fun = @ps_example;
Чтобы поместить эти переменные в рабочую область, запустите раздел путем нажатия Ctrl + Enter.
В разделе Specify problem type задачи нажмите кнопку Objective > Nonsmooth.
Убедитесь, что выбранным решателем является patternsearch
.
В разделе Select problem data задачи выберите Objective function > Function handle и затем выберите fun
.
Выберите Initial point (x0) > x0.
В разделе прогресса Отображения задачи выберите графики размера Оптимального значения и Mesh.
Чтобы запустить решатель, кликните по кнопке ⁝ опций в правом верхнем из окна задачи и выберите Run Section. Графики появляются в отдельном окне рисунка и в области вывода задачи.
Верхний график показывает значение целевой функции лучшей точки в каждой итерации. Как правило, значения целевой функции улучшаются быстро в ранних итерациях и затем выравниваются, когда они приближаются к оптимальному значению.
Более низкий график показывает размер mesh в каждой итерации. Увеличения размера mesh после каждой успешной итерации и уменьшений после каждой неудачной итерации. Для получения дополнительной информации смотрите Как Поиск Шаблона Опрос работ.
Оптимизация остановилась, потому что размер mesh стал меньшим, чем значение допуска размера mesh, заданное MeshTolerance
опция. Минимальное значение функции - приблизительно-2.
Чтобы видеть значение функции решения и целевой функции, посмотрите во главе задачи.
Оптимизировать задача помещает переменные solution
и objectiveValue
в рабочей области. Просмотрите эти значения путем размещения нового раздела ниже задачи и включайте этот код.
disp(solution) disp(objectiveValue)
Запустите раздел путем нажатия Ctrl+Enter.
disp(solution)
-4.7124 -0.0000
disp(objectiveValue)
-2.0000
Оптимизировать | patternsearch