fminsearch modifed for higher scale smooth function

This modification of fminsearch solves an issue with the simplex when the function ...
4,1K descargas
Actualizado 9 jun 2004

Ver licencia

This modification of fminsearch solves an issue with this simplex implementation when the function to minimize is smooth at a high scale, but rough at a low scale, i.e. when plotted with the parameters axis being (?10,10), there is a clear global extremum, but when zoomed (-0.1,0.1), the function is very rough an there are many local extremum.

The regular fminsearch initializes the first trials very close to each other, which might not be suitable for all the cases. The modification includes:
% (1) the DiffMinChange option is taken into account to limit contraction
% (2) two new options are added to initialize the starting trials (usual_delta,zero_term_delta).
% (3) there is a possibility to display patches for the cases with 2 parameters (might work for 3 parameters)

Example of calling:
options = optimset('Display','iter',...
'Diagnostics','on',...
'TolFun',0.1,...
'DiffMinChange',1,...
'DiffMaxChange',20,...
'LargeScale','off');
options.zero_term_delta = 3;
options.usual_delta = -3; % when negative, uses absolute, in this case the first % patch is {(3,0),(0,3),(0,0)} for two parameters

P = fminsearchOS(@funregister,P0,options,P1,P2)

Note: in some cases it gets stuck between contraction and shrinkage (a better modifications is probably needed), but the max number of evaluation stops it eventually.

Citar como

Olivier Salvado (2024). fminsearch modifed for higher scale smooth function (https://www.mathworks.com/matlabcentral/fileexchange/5157-fminsearch-modifed-for-higher-scale-smooth-function), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R13
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Polygons en Help Center y MATLAB Answers.
Agradecimientos

Inspiración para: Chromatography Model Parameters Optimizer (EDM, LI)

Community Treasure Hunt

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

Start Hunting!
Versión Publicado Notas de la versión
1.0.0.0