Bonmin 1.8.9
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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):

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: