GlobalOptimSolution

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

Описание

A 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. The axes with title Solution Function Values contains an object of type line.

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

Введенный в R2010a