Bonmin::IpoptWarmStart Class Reference

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

#include <BonIpoptWarmStart.hpp>

List of all members.

Public Member Functions

 IpoptWarmStart (bool empty=1, int numvars=0, int numcont=0)
 Default constructor.
 IpoptWarmStart (const Ipopt::SmartPtr< TMINLP2TNLP > tnlp, SmartPtr< IpoptInteriorWarmStarter > warm_starter)
 Usefull constructor.
 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 CoinWarmStart * clone () const
 `Virtual constructor'
virtual CoinWarmStartDiff * generateDiff (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.
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?

Private Attributes

SmartPtr< IpoptInteriorWarmStarterwarm_starter_
 warm start information object
bool empty_
 Say if warm start is empty.


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 22 of file BonIpoptWarmStart.cpp.

Referenced by clone().

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

Usefull constructor.

Definition at line 31 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 47 of file BonIpoptWarmStart.cpp.

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

Copy constructor.

Definition at line 57 of file BonIpoptWarmStart.cpp.

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

A constructor from a CoinWarmStartPrimalDual.

Definition at line 67 of file BonIpoptWarmStart.cpp.

Bonmin::IpoptWarmStart::~IpoptWarmStart (  )  [virtual]

Abstract destructor.

Definition at line 105 of file BonIpoptWarmStart.cpp.


Member Function Documentation

virtual CoinWarmStart* Bonmin::IpoptWarmStart::clone (  )  const [inline, virtual]

`Virtual constructor'

Definition at line 67 of file BonIpoptWarmStart.hpp.

References IpoptWarmStart().

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

Generate the "differences" between two IpoptWarmStart.

Definition at line 76 of file BonIpoptWarmStart.cpp.

References diff(), and ws.

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 96 of file BonIpoptWarmStart.cpp.

References Bonmin::IpoptWarmStartDiff::warm_starter(), and warm_starter_.

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

Accessor to warm start information obecjt.

Definition at line 82 of file BonIpoptWarmStart.hpp.

References warm_starter_.

void Bonmin::IpoptWarmStart::flushPoint (  ) 

flush the starting point

Definition at line 109 of file BonIpoptWarmStart.cpp.

Referenced by Bonmin::BonCbcFullNodeInfo::allBranchesGone().

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

Is this an empty warm start?

Definition at line 91 of file BonIpoptWarmStart.hpp.

References empty_.

Referenced by Bonmin::IpoptSolver::warmStartIsValid().


Member Data Documentation

SmartPtr<IpoptInteriorWarmStarter> Bonmin::IpoptWarmStart::warm_starter_ [mutable, private]

warm start information object

Definition at line 97 of file BonIpoptWarmStart.hpp.

Referenced by applyDiff(), and warm_starter().

bool Bonmin::IpoptWarmStart::empty_ [private]

Say if warm start is empty.

Definition at line 99 of file BonIpoptWarmStart.hpp.

Referenced by empty().


The documentation for this class was generated from the following files:
Generated on Mon May 3 03:14:02 2010 by  doxygen 1.4.7