coin-Bcp
Public Member Functions | List of all members
BCP_warmstart Class Referenceabstract

Warmstarting information for the LP solver. More...

#include <BCP_warmstart.hpp>

Inheritance diagram for BCP_warmstart:
Inheritance graph
[legend]

Public Member Functions

virtual ~BCP_warmstart ()
 The destructor is pure virtual. More...
 
virtual CoinWarmStartconvert_to_CoinWarmStart () const =0
 Return an OsiWarmStart object that can be fed to the LP engine. More...
 
virtual BCP_storage_t storage () const =0
 Return how the warmstarting info is stored. More...
 
virtual void update (const BCP_warmstart *const change)=0
 Update the current data with the one in the argument. More...
 
virtual BCP_warmstartas_change (const BCP_warmstart *const old_ws, const BCP_vec< int > &del_vars, const BCP_vec< int > &del_cuts, const double petol, const double detol) const =0
 Return a pointer to a warmstart info describing the currently stored data as a change with respect to that stored in old_ws. More...
 
virtual BCP_warmstartclone () const =0
 Make a replica of the current warmstart information. More...
 
virtual BCP_warmstartempty_wrt_this () const =0
 Create a warmstart info describing that no change should be done. More...
 
virtual int storage_size () const =0
 Return how much memory it'll take to pack this warmstart info. More...
 

Detailed Description

Warmstarting information for the LP solver.

A realization of the warmstarting information must done in a way that allows to keep the information either in an explicit way or as a change relative to another warmstarting information.

Definition at line 24 of file BCP_warmstart.hpp.

Constructor & Destructor Documentation

virtual BCP_warmstart::~BCP_warmstart ( )
inlinevirtual

The destructor is pure virtual.

(There are no data members here.)

Definition at line 27 of file BCP_warmstart.hpp.

Member Function Documentation

virtual CoinWarmStart* BCP_warmstart::convert_to_CoinWarmStart ( ) const
pure virtual

Return an OsiWarmStart object that can be fed to the LP engine.

Implemented in BCP_warmstart_basis, BCP_warmstart_primaldual, and BCP_warmstart_dual.

virtual BCP_storage_t BCP_warmstart::storage ( ) const
pure virtual

Return how the warmstarting info is stored.

Implemented in BCP_warmstart_basis, BCP_warmstart_primaldual, and BCP_warmstart_dual.

virtual void BCP_warmstart::update ( const BCP_warmstart *const  change)
pure virtual

Update the current data with the one in the argument.

If the argument is of explicit storage then just replace the current data. If it is relative and the current data is explicit then perform the update. Otherwise throw an exception.

Implemented in BCP_warmstart_primaldual, BCP_warmstart_basis, and BCP_warmstart_dual.

virtual BCP_warmstart* BCP_warmstart::as_change ( const BCP_warmstart *const  old_ws,
const BCP_vec< int > &  del_vars,
const BCP_vec< int > &  del_cuts,
const double  petol,
const double  detol 
) const
pure virtual

Return a pointer to a warmstart info describing the currently stored data as a change with respect to that stored in old_ws.

However, if the currently stored data is shorter to store than the change, then this method can return a copy of the current data! The current data must be explicitly stored and old_ws must be either explicit or can contain no data. Otherwise an exception must be thrown.

Parameters
old_wsthe old warmstart info
del_varsthe indices of the variables that are deleted from the formulation old_ws was created for
del_cutssame for the cuts
petolprimal zero tolerance
detoldual zero tolerance

Implemented in BCP_warmstart_primaldual, BCP_warmstart_basis, and BCP_warmstart_dual.

virtual BCP_warmstart* BCP_warmstart::clone ( ) const
pure virtual

Make a replica of the current warmstart information.

Implemented in BCP_warmstart_primaldual, BCP_warmstart_basis, and BCP_warmstart_dual.

virtual BCP_warmstart* BCP_warmstart::empty_wrt_this ( ) const
pure virtual

Create a warmstart info describing that no change should be done.

This is really the task of a constructor, but BCP does not know the type of warmstart the user will use, so it will invoke this method for a warmstart that was created by the user. Tricky, isn't it?

Implemented in BCP_warmstart_primaldual, BCP_warmstart_basis, and BCP_warmstart_dual.

virtual int BCP_warmstart::storage_size ( ) const
pure virtual

Return how much memory it'll take to pack this warmstart info.

It is used when comparing which sort of storage is smaller.

Implemented in BCP_warmstart_primaldual, BCP_warmstart_basis, and BCP_warmstart_dual.


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