|
Interior-point-optimisation
1.0-1
Interior-pointoptimisationlibrary
|
#include <Model.hpp>

Public Member Functions | |
| Parameters () | |
| Constructor: sets default values. More... | |
| double | getMu () const |
| Get value of mu. More... | |
| double | getEpsilon () const |
| Get value of epsilon. More... | |
| std::ostream * | getOutputStream () const |
| Get output stream. More... | |
| void | setMu (double const mu) |
| Set value of mu. More... | |
| void | setEpsilon (double const epsilon) |
| Set value of epsilon. More... | |
| void | setOutputStream (std::ostream *outputStream) |
| Set value of output stream. More... | |
Private Attributes | |
| double | mu |
| A value used for scaling: the default is 10. More... | |
| double | epsilon |
| A limit used for convergence. More... | |
| std::ostream * | outputStream |
| A stream (default is nullptr) for sending output to. More... | |
| Model::Parameters::Parameters | ( | ) |
|
inline |
Get value of epsilon.
Definition at line 343 of file Model.hpp.
References epsilon.
Referenced by ipo::Model::stoppingCriterion().
|
inline |
Get value of mu.
Definition at line 338 of file Model.hpp.
References mu.
Referenced by ipo::Model::optimise().
|
inline |
Get output stream.
Definition at line 348 of file Model.hpp.
References outputStream.
Referenced by ipo::Model::optimise().
| void Model::Parameters::setEpsilon | ( | double const | epsilon | ) |
| void Model::Parameters::setMu | ( | double const | mu | ) |
| void Model::Parameters::setOutputStream | ( | std::ostream * | outputStream | ) |
|
private |
A limit used for convergence.
The default is square root of machine epsilon. The optimisation improves an estimate of the objective function until it is within epsilon of the optimum.
Note that convergence also depends on (1) the problem being well formed, and (2) how well the NewtonGradient and LineSearch algorithms used internally perform.
Definition at line 386 of file Model.hpp.
Referenced by getEpsilon().
|
private |
A value used for scaling: the default is 10.
The value must exceed 1. The interior point optimisation uses a logarithmic barrier in which the natural logarithm of the negative of each constraint function is scaled by a value
. The barrier function approximates an indicator function, which is the limit as
of the barrier function. The optimisation algorithm periodically increases
and mu is use to scale
from a smaller to a larger value:
.
See page 570 of Stephen Boyd and Lieven Vandenberghe, Convex Optimization, Cambridge University Press, 2004.
Definition at line 377 of file Model.hpp.
Referenced by getMu().
|
private |
A stream (default is nullptr) for sending output to.
This is used to show the progress of the optimisation by displaying, for example, the value
used in the logarithmic barrier.
Definition at line 393 of file Model.hpp.
Referenced by getOutputStream().