GlobalOptimSolution

Решение для оптимизации

Описание

GlobalOptimSolution объект содержит информацию о локальном минимуме, включая местоположение, значение целевой функции и стартовую точку или указывает что вывод на минимум.

GlobalSearch и MultiStart сгенерируйте вектор из GlobalOptimSolution объекты. Вектор упорядочен значением целевой функции от самого низкого (лучше всего) к (худшему) самому высокому. GlobalSearch и MultiStart объедините решения, которые совпадают с ранее найденными решениями в допусках. Для GlobalSearch детали, смотрите Update Solution Set в Когда Запуски fmincon. Для MultiStart детали, смотрите, Создают Объект GlobalOptimSolution.

Создание

Когда вы выполняетесь run и запросите решения выход, GlobalSearch и MultiStart создайте GlobalOptimSolution объекты, как выведено.

Свойства

развернуть все

Выйдите из условия локального решателя, возвращенного как целое число. Обычно положительный Exitflag соответствует локальному оптимуму и нулевому или отрицательному Exitflag соответствует неудачному поиску локального минимума.

Для точного значения каждого Exitflag, смотрите exitflag описание на соответствующей локальной странице ссылки на функцию решателя:

Типы данных: double

Значение целевой функции, возвращенное как действительный скаляр. Для lsqnonlin и lsqcurvefit решатели, Fval сумма квадратов невязки.

Типы данных: double

Структура output возвращена локальным решателем. Для получения дополнительной информации смотрите output описание на соответствующей локальной странице ссылки на функцию решателя:

Типы данных: struct

Локальное решение, возвращенное как массив с теми же размерностями как problem.x0.

Типы данных: double

Стартовые точки, которые приводят к текущему решению, возвратились как массив ячеек. Управляйте расстоянием между вопросами, рассмотренными как отличным путем установки FunctionTolerance и XTolerance свойства глобального решателя.

Типы данных: cell

Примеры

свернуть все

Используйте MultiStart создать вектор из GlobalOptimSolution объекты для проблемы с несколькими локальными минимумами.

rng default % For reproducibility
ms = MultiStart;
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
    + x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
    'objective',sixmin,'lb',[-3,-3],'ub',[3,3]);
[xmin,fmin,flag,outpt,allmins] = run(ms,problem,30);
MultiStart completed the runs from all start points.

All 30 local solver runs converged with a positive local solver exit flag.

allmins вектор из GlobalOptimSolution объекты.

disp(allmins)
  1x6 GlobalOptimSolution array with properties:

    X
    Fval
    Exitflag
    Output
    X0

Постройте значения целевой функции в возвращенных решениях.

plot(arrayfun(@(x)x.Fval,allmins),'k*')
xlabel('Solution number')
ylabel('Function value')
title('Solution Function Values')

Исследовать начальную букву указывает, что вывод к различным решениям, смотрите, Визуализируют Области притяжения.

Введен в R2010a