Выполнение решателя почти идентично для GlobalSearch и MultiStart. Единственное различие в синтаксисе заключается в MultiStart принимает дополнительный вход, описывающий стартовые точки.
Например, предположим, что вы хотите найти несколько локальных минимумов sixmin функция
sixmin = 4 x2 – 2.1 x4 + x6/3 + xy – 4 y2 + 4 y4.

Эта функция также называется функцией возврата верблюда с шестью горбами [3]. Все местные минимумы лежат в области-3 <reservedrangesplaceholder1> , <reservedrangesplaceholder0> ≤ 3.
Чтобы найти несколько локальных минимумов sixmin функция, использующая GlobalSearch, введите:
% % Set the random stream to get exactly the same output
% rng(14,'twister')
gs = GlobalSearch;
opts = optimoptions(@fmincon,'Algorithm','interior-point');
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],...
'options',opts);
[xming,fming,flagg,outptg,manyminsg] = run(gs,problem);Выход запуска (который изменяется, на основе случайного seed):
xming,fming,flagg,outptg,manyminsg
xming =
0.0898 -0.7127
fming =
-1.0316
flagg =
1
outptg =
struct with fields:
funcCount: 2115
localSolverTotal: 3
localSolverSuccess: 3
localSolverIncomplete: 0
localSolverNoSolution: 0
message: 'GlobalSearch stopped because it analyzed all the trial po...'
manyminsg =
1x2 GlobalOptimSolution array with properties:
X
Fval
Exitflag
Output
X0Чтобы найти несколько локальных минимумов sixmin функция, использующая 50 запуски fmincon с MultiStart, введите:
% % Set the random stream to get exactly the same output
% rng(14,'twister')
ms = MultiStart;
opts = optimoptions(@fmincon,'Algorithm','interior-point');
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],...
'options',opts);
[xminm,fminm,flagm,outptm,manyminsm] = run(ms,problem,50);Выход запуска (который изменяется на основе случайного seed):
xminm,fminm,flagm,outptm,manyminsm
xminm =
0.0898 -0.7127
fminm =
-1.0316
flagm =
1
outptm =
struct with fields:
funcCount: 2034
localSolverTotal: 50
localSolverSuccess: 50
localSolverIncomplete: 0
localSolverNoSolution: 0
message: 'MultiStart completed the runs from all start points.…'
manyminsm =
1x6 GlobalOptimSolution array with properties:
X
Fval
Exitflag
Output
X0В этом случае MultiStart расположен все шесть локальных минимумов, в то время как GlobalSearch расположен два. Для изображений MultiStart решения, см. Визуализация областей притяжения.