SIMPS (StrategySimplex)-Constrained minimizer
The method is based on iterations of full-dimensional simplex calls (Nelder-Mead direct search method), each time followed by a series of two-dimensional simplex calls (local improvements by subspaces).
The inner full- and two-dimensional Nelder-Mead minimizers are realized through the calls to the internal AMOEBA function, based essentially on the Matlab's FMINS non-linear simplex implementation. The constraints are implemented by penalizing the target function.
The method provides clear advantage over the plain nonlinear simplex, and it has been proved to be specially useful for target functions with plenty of narrow local minima - standard traps for analitically based minimizers.
The method is not limited to continuos functions and does not require derivatives.
Additional help and information is available by calling HELP SIMPS, as well as looking into the documented code of M-files as included. A compete example GO.M is included, along with an exemplar target function FUN.M.
More specifically, the approach is different for the else cases for fxr<fv(n+1). In your implementation, there is either a small contraction or small reflection or a multi-contration (shrink). In the original paper, shrinking can be combined with small reflection and small contration. However, this is only a minor difference from the original paper and will of course work.
Really good work. What is the basis for the approach? I saw, that the implementation is different from, e.g. Numerical Recepies. Is there a specific reason for this?
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.