fminsearch modifed for higher scale smooth function
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.
Zitieren als
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. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Quellenangaben
Inspiriert: 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!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 |