Documentation/Modules/OptAlgSimplex: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) (→References) |
Admin (Diskussion | Beiträge) K (Admin verschob die Seite Documentation/Modules/OptAlgSIMPLEX nach Documentation/Modules/OptAlgSimplex) |
||
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | |||
− | |||
==Summary== | ==Summary== | ||
Zeile 98: | Zeile 96: | ||
<span id="NelMead">1</span> Nelder, J. A. and Mead, R. "A Simplex Method for Function Minimization." Comput. J. 7, 308-313, 1965. | <span id="NelMead">1</span> Nelder, J. A. and Mead, R. "A Simplex Method for Function Minimization." Comput. J. 7, 308-313, 1965. | ||
+ | |||
<span id="Wright">2</span> 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), | <span id="Wright">2</span> 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. | pages 191–208. Addison Wesley Longman, 1996. | ||
− | |||
− |
Aktuelle Version vom 24. April 2019, 22:03 Uhr
Inhaltsverzeichnis
Summary
This optimization module is an implementation of the popular Nelder-Mead 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 (1-10, sometimes 1-20). 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 | single-objective 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 "pop-up 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 N-dimensional 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, 308-313, 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.