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')

Figure contains an axes object. The axes object with title Solution Function Values contains an object of type line.

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

Введен в R2010a