Public Member Functions | Private Attributes | 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:
Inheritance graph
[legend]
Collaboration diagram for Bonmin::IpoptWarmStart:
Collaboration graph
[legend]

Public Member Functions

 IpoptWarmStart (bool empty=1, int numvars=0, int numcont=0)
 Default constructor. More...
 
 IpoptWarmStart (const Ipopt::SmartPtr< TMINLP2TNLP > tnlp, Ipopt::SmartPtr< IpoptInteriorWarmStarter > warm_starter)
 Usefull constructor, stores the current optimum of ipopt. More...
 
 IpoptWarmStart (int primal_size, int dual_size, const double *primal, const double *dual)
 Another usefull constructor, stores the passed point. More...
 
 IpoptWarmStart (const IpoptWarmStart &other, bool ownValues=1)
 Copy constructor. More...
 
 IpoptWarmStart (const CoinWarmStartPrimalDual &pdws)
 A constructor from a CoinWarmStartPrimalDual. More...
 
virtual ~IpoptWarmStart ()
 Abstract destructor. More...
 
virtual CoinWarmStart * clone () const
 `Virtual constructor' More...
 
virtual CoinWarmStartDiff * generateDiff (const CoinWarmStart *const oldCWS) const
 Generate the "differences" between two IpoptWarmStart. More...
 
virtual void applyDiff (const CoinWarmStartDiff *const cwsdDiff)
 Apply 'differences' to an Ipopt warm start. More...
 
Ipopt::SmartPtr
< IpoptInteriorWarmStarter
warm_starter () const
 Accessor to warm start information obecjt. More...
 
void flushPoint ()
 flush the starting point More...
 
bool empty () const
 Is this an empty warm start? More...
 

Private Attributes

Ipopt::SmartPtr
< IpoptInteriorWarmStarter
warm_starter_
 warm start information object More...
 
bool empty_
 Say if warm start is empty. More...
 

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

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

Default constructor.

Definition at line 23 of file BonIpoptWarmStart.cpp.

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

Usefull constructor, stores the current optimum of ipopt.

Usefull constructor.

Definition at line 32 of file BonIpoptWarmStart.cpp.

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

Another usefull constructor, stores the passed point.

Definition at line 48 of file BonIpoptWarmStart.cpp.

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

Copy constructor.

Definition at line 58 of file BonIpoptWarmStart.cpp.

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

A constructor from a CoinWarmStartPrimalDual.

Definition at line 68 of file BonIpoptWarmStart.cpp.

Bonmin::IpoptWarmStart::~IpoptWarmStart ( )
virtual

Abstract destructor.

Definition at line 106 of file BonIpoptWarmStart.cpp.

Member Function Documentation

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

`Virtual constructor'

Definition at line 67 of file BonIpoptWarmStart.hpp.

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

Generate the "differences" between two IpoptWarmStart.

Definition at line 77 of file BonIpoptWarmStart.cpp.

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.

Definition at line 97 of file BonIpoptWarmStart.cpp.

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

Accessor to warm start information obecjt.

Definition at line 82 of file BonIpoptWarmStart.hpp.

void Bonmin::IpoptWarmStart::flushPoint ( )

flush the starting point

Definition at line 110 of file BonIpoptWarmStart.cpp.

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

Is this an empty warm start?

Definition at line 91 of file BonIpoptWarmStart.hpp.

Member Data Documentation

Ipopt::SmartPtr<IpoptInteriorWarmStarter> Bonmin::IpoptWarmStart::warm_starter_
mutableprivate

warm start information object

Definition at line 97 of file BonIpoptWarmStart.hpp.

bool Bonmin::IpoptWarmStart::empty_
private

Say if warm start is empty.

Definition at line 99 of file BonIpoptWarmStart.hpp.


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