# QuantLib_Simplex man page

Simplex — Multi-dimensional simplex class.

## Synopsis

`#include <ql/math/optimization/simplex.hpp>`

Inherits **OptimizationMethod**.

### Public Member Functions

**Simplex** (**Real** lambda)

virtual EndCriteria::Type **minimize** (**Problem** &P, const **EndCriteria** &endCriteria)

minimize the optimization problem P

## Detailed Description

Multi-dimensional simplex class.

This method is rather raw and requires quite a lot of computing resources, but it has the advantage that it does not need any evaluation of the cost function's gradient, and that it is quite easily implemented. First, we choose N+1 starting points, given here by a starting point $ mathbf{P}_{0} $ and N points such that [ mathbf{P}_{mathbf{i}}=mathbf{P}_{0}+lambda mathbf{e}_{mathbf{i}}, ] where $ lambda $ is the problem's characteristic length scale). These points will form a geometrical form called simplex. The principle of the downhill simplex method is, at each iteration, to move the worst point (highest cost function value) through the opposite face to a better point. When the simplex seems to be constrained in a valley, it will be contracted downhill, keeping the best point unchanged.

## Constructor & Destructor Documentation

### Simplex (Real lambda)

Constructor taking as input the characteristic length

## Author

Generated automatically by Doxygen for QuantLib from the source code.

## Referenced By

Simplex(3) is an alias of QuantLib_Simplex(3).