Interior-point-optimisation  1.0-1
Interior-pointoptimisationlibrary
ipo::Model::Parameters Class Reference

#include <Model.hpp>

Collaboration diagram for ipo::Model::Parameters:
Collaboration graph

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...
 

Detailed Description

Definition at line 328 of file Model.hpp.

Constructor & Destructor Documentation

Model::Parameters::Parameters ( )

Constructor: sets default values.

Definition at line 313 of file Model.cc.

Member Function Documentation

double ipo::Model::Parameters::getEpsilon ( ) const
inline

Get value of epsilon.

Returns
value of epsilon

Definition at line 343 of file Model.hpp.

References epsilon.

Referenced by ipo::Model::stoppingCriterion().

double ipo::Model::Parameters::getMu ( ) const
inline

Get value of mu.

Returns
value of mu

Definition at line 338 of file Model.hpp.

References mu.

Referenced by ipo::Model::optimise().

std::ostream* ipo::Model::Parameters::getOutputStream ( ) const
inline

Get output stream.

Returns
output stream

Definition at line 348 of file Model.hpp.

References outputStream.

Referenced by ipo::Model::optimise().

void Model::Parameters::setEpsilon ( double const  epsilon)

Set value of epsilon.

Parameters
epsilonThe new value

Definition at line 323 of file Model.cc.

void Model::Parameters::setMu ( double const  mu)

Set value of mu.

Parameters
muThe new value

Definition at line 320 of file Model.cc.

void Model::Parameters::setOutputStream ( std::ostream *  outputStream)

Set value of output stream.

Parameters
outputStreamThe new value

Definition at line 327 of file Model.cc.

Member Data Documentation

double ipo::Model::Parameters::epsilon
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().

double ipo::Model::Parameters::mu
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 $1/t$. The barrier function approximates an indicator function, which is the limit as $t\to\infty$ of the barrier function. The optimisation algorithm periodically increases $t$ and mu is use to scale $t$ from a smaller to a larger value: $t\to\mu t$.

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

std::ostream* ipo::Model::Parameters::outputStream
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 $t$ used in the logarithmic barrier.

See also
mu

Definition at line 393 of file Model.hpp.

Referenced by getOutputStream().


The documentation for this class was generated from the following files: