Bonmin 1.8.9
Loading...
Searching...
No Matches
Bonmin::IpoptWarmStart Class Reference

Class for storing warm start informations for Ipopt. More...

#include <BonIpoptWarmStart.hpp>

Inheritance diagram for Bonmin::IpoptWarmStart:
Collaboration diagram for Bonmin::IpoptWarmStart:

Public Member Functions

 IpoptWarmStart (bool empty=1, int numvars=0, int numcont=0)
 Default constructor.
 IpoptWarmStart (const Ipopt::SmartPtr< TMINLP2TNLP > tnlp, Ipopt::SmartPtr< IpoptInteriorWarmStarter > warm_starter)
 Usefull constructor, stores the current optimum of ipopt.
 IpoptWarmStart (int primal_size, int dual_size, const double *primal, const double *dual)
 Another usefull constructor, stores the passed point.
 IpoptWarmStart (const IpoptWarmStart &other, bool ownValues=1)
 Copy constructor.
 IpoptWarmStart (const CoinWarmStartPrimalDual &pdws)
 A constructor from a CoinWarmStartPrimalDual.
virtual ~IpoptWarmStart ()
 Abstract destructor.
virtual CoinWarmStartclone () const
 ‘Virtual constructor’
virtual CoinWarmStartDiffgenerateDiff (const CoinWarmStart *const oldCWS) const
 Generate the "differences" between two IpoptWarmStart.
virtual void applyDiff (const CoinWarmStartDiff *const cwsdDiff)
 Apply 'differences' to an Ipopt warm start.
Ipopt::SmartPtr< IpoptInteriorWarmStarterwarm_starter () const
 Accessor to warm start information obecjt.
void flushPoint ()
 flush the starting point
bool empty () const
 Is this an empty warm start?
Public Member Functions inherited from CoinWarmStartPrimalDual
int dualSize () const
const double * dual () const
int primalSize () const
const double * primal () const
void assign (int primalSize, int dualSize, double *&primal, double *&dual)
 CoinWarmStartPrimalDual ()
 CoinWarmStartPrimalDual (int primalSize, int dualSize, const double *primal, const double *dual)
 CoinWarmStartPrimalDual (const CoinWarmStartPrimalDual &rhs)
CoinWarmStartPrimalDualoperator= (const CoinWarmStartPrimalDual &rhs)
void clear ()
void swap (CoinWarmStartPrimalDual &rhs)
virtual ~CoinWarmStartPrimalDual ()
Public Member Functions inherited from CoinWarmStart
virtual ~CoinWarmStart ()
Public Member Functions inherited from CoinWarmStartBasis
int getNumStructural () const
int getNumArtificial () const
int numberBasicStructurals () const
Status getStructStatus (int i) const
void setStructStatus (int i, Status st)
char * getStructuralStatus ()
const char * getStructuralStatus () const
char * getArtificialStatus ()
Status getArtifStatus (int i) const
void setArtifStatus (int i, Status st)
const char * getArtificialStatus () const
virtual void setSize (int ns, int na)
virtual void resize (int newNumberRows, int newNumberColumns)
virtual void compressRows (int tgtCnt, const int *tgts)
virtual void deleteRows (int rawTgtCnt, const int *rawTgts)
virtual void deleteColumns (int number, const int *which)
virtual void mergeBasis (const CoinWarmStartBasis *src, const XferVec *xferRows, const XferVec *xferCols)
 CoinWarmStartBasis ()
 CoinWarmStartBasis (int ns, int na, const char *sStat, const char *aStat)
 CoinWarmStartBasis (const CoinWarmStartBasis &ws)
virtual ~CoinWarmStartBasis ()
virtual CoinWarmStartBasisoperator= (const CoinWarmStartBasis &rhs)
virtual void assignBasisStatus (int ns, int na, char *&sStat, char *&aStat)
virtual void print () const
bool fullBasis () const
bool fixFullBasis ()
CoinWarmStartBasis::Status getStatus (const char *array, int i)
void setStatus (char *array, int i, CoinWarmStartBasis::Status st)
const char * statusName (CoinWarmStartBasis::Status status)
int getNumStructural () const
int getNumArtificial () const
int numberBasicStructurals () const
Status getStructStatus (int i) const
void setStructStatus (int i, Status st)
char * getStructuralStatus ()
const char * getStructuralStatus () const
char * getArtificialStatus ()
Status getArtifStatus (int i) const
void setArtifStatus (int i, Status st)
const char * getArtificialStatus () const
virtual void setSize (int ns, int na)
virtual void resize (int newNumberRows, int newNumberColumns)
virtual void compressRows (int tgtCnt, const int *tgts)
virtual void deleteRows (int rawTgtCnt, const int *rawTgts)
virtual void deleteColumns (int number, const int *which)
virtual void mergeBasis (const CoinWarmStartBasis *src, const XferVec *xferRows, const XferVec *xferCols)
 CoinWarmStartBasis ()
 CoinWarmStartBasis (int ns, int na, const char *sStat, const char *aStat)
 CoinWarmStartBasis (const CoinWarmStartBasis &ws)
virtual ~CoinWarmStartBasis ()
virtual CoinWarmStartBasisoperator= (const CoinWarmStartBasis &rhs)
virtual void assignBasisStatus (int ns, int na, char *&sStat, char *&aStat)
virtual void print () const
bool fullBasis () const
bool fixFullBasis ()

Additional Inherited Members

Public Types inherited from CoinWarmStartBasis
enum  Status
typedef CoinTriple< int, int, int > XferEntry
typedef std::vector< XferEntryXferVec
Public Attributes inherited from CoinWarmStartBasis
 isFree
 basic
 atUpperBound
 atLowerBound
 superBasic
Protected Attributes inherited from CoinWarmStartBasis
int numStructural_
int numArtificial_
int maxSize_
char * structuralStatus_
char * artificialStatus_

Detailed Description

Class for storing warm start informations for Ipopt.


This class inherits from CoinWarmStartPrimalDual, because that's what this warmstart really is.
For practical reason (integration in Cbc) this class also inherits from CoinWarmStartBasis.
This class stores a starting point (primal and dual values) for Ipopt.

The primal part of the base class contains the value of each primal variable.

The dual part of the base class consists of three sections (the number of values is 2*numcols+numrows):

  • First, values for dual variables associated with the lower bound constraints on structurals, i.e., primal variables (constraints $ l \leq x $);
  • Then values for dual variables associated with upper bound constraints on structurals (constraints $ x \leq u$).
  • the values for dual variables associated with regular constraints (constraints $ g(x) \leq 0 $)

Definition at line 46 of file BonIpoptWarmStart.hpp.

Constructor & Destructor Documentation

◆ IpoptWarmStart() [1/5]

Bonmin::IpoptWarmStart::IpoptWarmStart ( bool empty = 1,
int numvars = 0,
int numcont = 0 )

Default constructor.

◆ IpoptWarmStart() [2/5]

Bonmin::IpoptWarmStart::IpoptWarmStart ( const Ipopt::SmartPtr< TMINLP2TNLP > tnlp,
Ipopt::SmartPtr< IpoptInteriorWarmStarter > warm_starter )

Usefull constructor, stores the current optimum of ipopt.

◆ IpoptWarmStart() [3/5]

Bonmin::IpoptWarmStart::IpoptWarmStart ( int primal_size,
int dual_size,
const double * primal,
const double * dual )

Another usefull constructor, stores the passed point.

◆ IpoptWarmStart() [4/5]

Bonmin::IpoptWarmStart::IpoptWarmStart ( const IpoptWarmStart & other,
bool ownValues = 1 )

Copy constructor.

◆ IpoptWarmStart() [5/5]

Bonmin::IpoptWarmStart::IpoptWarmStart ( const CoinWarmStartPrimalDual & pdws)

A constructor from a CoinWarmStartPrimalDual.

◆ ~IpoptWarmStart()

virtual Bonmin::IpoptWarmStart::~IpoptWarmStart ( )
virtual

Abstract destructor.

Member Function Documentation

◆ clone()

virtual CoinWarmStart * Bonmin::IpoptWarmStart::clone ( ) const
inlinevirtual

‘Virtual constructor’

Reimplemented from CoinWarmStartPrimalDual.

Definition at line 67 of file BonIpoptWarmStart.hpp.

◆ generateDiff()

virtual CoinWarmStartDiff * Bonmin::IpoptWarmStart::generateDiff ( const CoinWarmStart *const oldCWS) const
virtual

Generate the "differences" between two IpoptWarmStart.

Reimplemented from CoinWarmStartPrimalDual.

◆ applyDiff()

virtual void Bonmin::IpoptWarmStart::applyDiff ( const CoinWarmStartDiff *const cwsdDiff)
virtual

Apply 'differences' to an Ipopt warm start.

What this actually does is get a copy to the vector of values stored in IpoptWarmStartDiff.

Reimplemented from CoinWarmStartPrimalDual.

◆ warm_starter()

Ipopt::SmartPtr< IpoptInteriorWarmStarter > Bonmin::IpoptWarmStart::warm_starter ( ) const
inline

Accessor to warm start information obecjt.

Definition at line 82 of file BonIpoptWarmStart.hpp.

◆ flushPoint()

void Bonmin::IpoptWarmStart::flushPoint ( )

flush the starting point

◆ empty()

bool Bonmin::IpoptWarmStart::empty ( ) const
inline

Is this an empty warm start?

Definition at line 91 of file BonIpoptWarmStart.hpp.


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