GlobalSearch (global optimization) evaluates initial point only

조회 수: 12 (최근 30일)
James Heald
James Heald 2017년 5월 6일
댓글: Jinsen 2022년 8월 9일
Thanks in advance for any help.
When I call MATLAB's GlobalSearch, it performs one run of fmincon (and finds a decent solution) but then it doesn't search for any better solutions, i.e. it doesn't use any of the additional trial points generated using the scatter search algorithm, defeating the purpose of using GlobalSearch.
I am searching a 6-8 dimensional parameter space. My objective function (Fit_model) simulates a time series model and returns the sum squared error between model and empirical data.
I call:
gs = GlobalSearch('Display','iter');
obj = @(P) Fit_Model(FIb,nS,nC,nSC,nT,Groups,Cue,mP,y,CueT,ChannelBool,xinit,P);
problem = createOptimProblem('fmincon','x0',x0,'objective',obj,'lb',lb,'ub',ub);
[xmin,fmin,flag,output,solutions] = run(gs,problem);
and get the following response:
Num Pts Best Current Threshold Local Local
Analyzed F-count f(x) Penalty Penalty f(x) exitflag Procedure
0 1295 0.235 0.235 2 Initial Point
GlobalSearch stopped because it analyzed all the trial points.
The local solver ran once and it converged with a positive local solver exit flag.
and global solver output:
output =
struct with fields:
funcCount: 1303
localSolverTotal: 1
localSolverSuccess: 1
localSolverIncomplete: 0
localSolverNoSolution: 0
  댓글 수: 1
Jinsen
Jinsen 2022년 8월 9일
Hi, James, have you figured out the reason for that? I think I am facing exactly the same issue. and once I changed the initial values, the GlobalSearch can return with a different set of parameters etimated, meaning that the global minima has not been found...My objective function also simulate a time series model (sets of ordinary differential equations). Would really appreciate if you can share with your experience. Thanks. Jinsen

댓글을 달려면 로그인하십시오.

답변 (1개)

Alan Weiss
Alan Weiss 2017년 5월 8일
I suggest that you try using MultiStart instead. The GlobalSearch algorithm tries not to run the local solver from very many points. MultiStart has no such behavior. See How GlobalSearch and MultiStart Work.
Alan Weiss
MATLAB mathematical toolbox documentation
  댓글 수: 1
James Heald
James Heald 2017년 5월 8일
But globalsearch doesn't even run the stage one start point so something is awry...

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Global or Multiple Starting Point Search에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by