Documentation/Modules/OptAlgSimplex
Inhaltsverzeichnis
Summary
This optimization module is an implementation of the popular NelderMead Simplex Algorithm (1965) (1). The SIMPLEX method is a standard direct, deterministic optimization algorithm, which is implemented in many numerical tools (e.g. as method fminsearch.m
in the MATLAB(R) optimization toolbox or in GNU Octave). A good introduction is given by Wright (2).
The algorithm works best for a small number of design variables (110, sometimes 120). It fails, for example, on the Rosenbrock function, if more than 10 design variables are given.
Properties
General
Algorithm  deterministic 

Design Variables  Written for continuous variables. Discrete or mixed variables are NOT possible. 
Objectives  singleobjective for minimization. 
Constraint handling  no 
Boundary handling  no 
Initialization   
Connections
Starting at this module  Module requires exactly one connection of type optimization .


Ending at this module 
Actions
Name  Description 

Run  starts the optimization. 
Options
The options are currently described as "popup help".
Module Description
The SIMPLEX algorithm is implemented using the paper of Wright (2). However, some extensions are made as e.g. the initialization is not given in the references.
Initialization
First, an initial simplex is generated. Here, a simplex is a body in the Ndimensional design space that has N+1 vertices. The vertices are connected by straight lines. For two (N=2) and three (N=3) design variables, a simplex is a triangle or tetrahedron, respectively.
If the optimization problem provides an initial solution, this point is taken as first vertex of the simplex. If not, the initial simplex gets a random position obeying certain rules.
We distinguish several cases, depending on the problem properties (initial solution, initial search region, bounds
).
Problem Properties Given?  Action  

initial solution 
initial search region 
bounds 

Yes  No  No  option Initial Size of the Simplex defines the absolute length of the simplex in each design variable direction. I.e. a simplex is constructed, such that the distance between each vertex and the plane generated by the remaining points has this length.

Yes or No  Yes  Yes or No  option Initial Size of the Simplex defines the relative length of the simplex in each design variable direction compared to the size of the initial search region (i.e. difference upper to lower limit). Bounds are ignored.

Yes or No  No  Yes  option Initial Size of the Simplex defines the relative length of the simplex in each design variable direction compared to the size of the bounds (i.e. difference upper to lower limit).

Optimization
The SIMPLEX method follows a deterministic procedure. Except the initialization, always one new point is generated and evaluated. Thus, parallelization is not implemented.
Usage
... todo
Source Code
ToDo:Link to SVN
References
1 Nelder, J. A. and Mead, R. "A Simplex Method for Function Minimization." Comput. J. 7, 308313, 1965.
2 M. H. Wright. "Direct search methods: once scorned, now respectable". In D. F. Griffiths and G. A. Watson, editors, Numerical Analysis 1995 (Proceedings of the 1995 Dundee Biennial Conference in Numerical Analysis), pages 191–208. Addison Wesley Longman, 1996.