GlobalSearch (global optimization) evaluates initial point only

12 vues (au cours des 30 derniers jours)
James Heald
James Heald le 6 Mai 2017
Commenté : Jinsen le 9 Août 2022
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 commentaire
Jinsen
Jinsen le 9 Août 2022
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

Connectez-vous pour commenter.

Réponses (1)

Alan Weiss
Alan Weiss le 8 Mai 2017
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 commentaire
James Heald
James Heald le 8 Mai 2017
But globalsearch doesn't even run the stage one start point so something is awry...

Connectez-vous pour commenter.

Catégories

En savoir plus sur Global or Multiple Starting Point Search dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by