surrogateoptplot
surrogateoptplot
функция построения графика предоставляет большую информацию о суррогатных шагах оптимизации. Например, считайте график шагов surrogateopt
берет встроенную тестовую функцию rastriginsfcn
. Эта функция имеет глобальное минимальное значение 0 в точке [0,0]. Путем предоставления асимметричных границ вы поощряете surrogateopt
искать далеко от глобального минимума.
Создайте объемную поверхностную диаграмму rastriginsfcn
.
ezsurf(@(x,y)rastriginsfcn([x(:),y(:)]));
Установите асимметричные границы [-3,-3]
и [9,10]
. Установите опции использовать surrogateoptplot
функция построения графика, и затем вызывает surrogateopt
.
lb = [-3,-3]; ub = [9,10]; options = optimoptions('surrogateopt','PlotFcn','surrogateoptplot'); rng default [x,fval] = surrogateopt(@rastriginsfcn,lb,ub,options);
Surrogateopt stopped because it exceeded the function evaluation limit set by 'options.MaxFunctionEvaluations'.
Начните интерпретировать график с его левой стороны. Для получения дополнительной информации шагов алгоритма, см. Суррогатный Алгоритм Оптимизации.
Первые точки являются голубыми треугольниками, указывая на квазислучайные выборки функции в проблемных границах. Эти моменты наступают от фазы Construct Surrogate.
Затем черные точки, указывающие на адаптивные точки, точки, созданные в Поиске фазы Minimum.
Толстая зеленая линия представляет лучшее (самое низкое) найденное значение целевой функции. Вскоре после оценки номер 30, surrogateopt
застревает в локальном минимуме со значением целевой функции около 5. Увеличьте масштаб, чтобы видеть это поведение более ясно.
xlim([20 100]) ylim([0 10])
Около оценки номер 115 вертикальная линия указывает на суррогатный сброс. На данном этапе алгоритм возвращается к фазе Construct Surrogate.
Темно-синие точки x представляют должностное лицо, которое является лучшей точкой, найденной начиная с предыдущего суррогатного сброса.
Около оценки номер 150 должностное лицо улучшается относительно предыдущей лучшей точки путем достижения значения меньше чем 1. После этого номера оценки лучшая точка медленно падает в цене, чтобы почти обнулить. Увеличьте масштаб, чтобы видеть это поведение более ясно.
xlim([140 200]) ylim([0 6])
После оценки номер приблизительно 180 самые адаптивные точки около должностного лица, указывая, что шкала поиска уменьшается.
Оптимизация останавливается при оценке номер 200, потому что это - функциональный предел оценки по умолчанию для 2D проблемы.