QuantLib: Simplex Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Public Member Functions | List of all members
Simplex Class Reference
Math tools » Optimizers

Multi-dimensional simplex class. More...

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

Inheritance diagram for Simplex:
[legend]

## 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()

Simplex | ( | Real | lambda | ) |

Constructor taking as input the characteristic length