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 на соответствующей локальной странице ссылки на функцию решателя:

Типы данных: 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