Function evaluation in each iteration of pattern search exceeding 2* (number of optimization variable)
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Sam T
el 29 de En. de 2016
Comentada: Walter Roberson
el 30 de En. de 2016
* Newbie to global optimization toolbox *
Hi,
I am trying to perform constrained optimization using pattern search.
- Since the search method in pattern search is specified as GSSPositiveBasisNp1 (see definition of options below), I am expecting the number of function evaluations (FE) at each iteration to be 2 * (number of optimization variables = 45).
- However, when I perform the optimization, typical number of FE at each iteration is ~300 while it should be 90 (2*45).
The options that I use in pattern search is :
options = psoptimset('Display','iter', 'PlotFcns' , {@psplotfuncount, @psplotbestf}, 'UseParallel', 'always', 'TolFun', 1E-3, ...
'CompletePoll', 'on', 'SearchMethod', 'GSSPositiveBasisNp1', 'OutputFcn', @psoutputfcn );
optimalSol = patternsearch( fHandle, initialGuess, [], [], [], [], lb, ub, [],options);
Can you help me identify the issue here, and fix it?
0 comentarios
Respuesta aceptada
jgg
el 29 de En. de 2016
Editada: jgg
el 29 de En. de 2016
You have 'SearchMethod' enabled. This is an optional step which performs a search prior to the polling, resulting in the large number of extra function evaluations. Searching is different from polling in patternsearch's implementation in Matlab; it's basically like a local-prescreening of the most recent best point to improve convergence performance.
I think the option you actually want is 'PollMethod' instead.
Más respuestas (0)
Ver también
Categorías
Más información sobre Direct Search en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!