exponenta event banner

GlobalOptimSolution

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

Описание

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

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

Создание

При выполнении 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')

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

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

Представлен в R2010a