SIMPLEX is the well known "Nelder & Mead Simplex" updated to take into account discrete variables and constraints. Since it does not require derivatives of the function, it is more robust than algorithm based on local gradients.
SIMPLEX is an algorithm for non-linear optimization problems and should not be confused with the simplex method for linear programming.
A simplex is a polyhedron containing N+1 point in a N dimensional space (thus in two dimensions is a triangle, in three dimension is a tetrahedron, and so forth).
The scheduler for minimization is initialize by N+1 initial corners that are given by the first number_of_variables+1 design configurations available in the DOE table. If the DOE table is empty or has less than N+1 rows, the missing initial designs are randomly generated by the SIMPLEX.
The scheduler follows an algorithm for moving the initial points along with their function values, closer to the minimum (or maximum) of the objective. The points are moved toward the minimum until the scheduler either exceeds its maximum number of iterations or reaches the minimum (maximum). The movement of the simplex is given by three operations: "Reflection", "Expansion" and "Contraction".
The new candidate designs produced by the simplex algorithm are rounded to the nearest discrete values defined by the "base" value given to each variable.
Note:
SIMPLEX is a serial algorithm.
A better description of this algorithm is available in the paper The SIMPLEX Method.
The user must specify:
Maximum Number of Iterations: to be analyzed, default is 500.
Final Termination Accuracy: the algorithm will stop when it cannot find solution with improvements higher that the convergence value, default 1.0E-5.
Constraint Penalty: the value is the constant that multiplies the distance from the feasible boundary. The value can be problem dependent, and it is a function of the objective range as the penalization is added to the objective function. The default value is 1000. It is suggested to give a value to the penalty at least 2 order of magnitude higher than the expected objective function value. The Automatic checkbox will let the scheduler choose the most appropriate penalty value for the search algorithm and is recommended when the objective function values are not known.
Note:
The number of concurrent designs evaluation can be set in the Run Project Dialog. This number is consider "only for the first n+1 designs".
Note:
due to the discrete nature of the algorithm, convergence cannot be always ensured and the algorithm, in case of few variables with few intervals, will start looping. This will not cause big CPU losses but if this is annoying the algorithm can be stopped manually during the run.