This class describes a warmstart information that consists of basis information for structural and artificial variables. More...
#include <BCP_warmstart_basis.hpp>
Public Member Functions | |
virtual CoinWarmStart * | convert_to_CoinWarmStart () const |
Return an CoinwarmStart object that can be fed to the LP engine. | |
virtual BCP_storage_t | storage () const |
Return how the warmstarting info is stored. | |
virtual BCP_warmstart * | clone () const |
Make a replica of the current warmstart information. | |
virtual BCP_warmstart * | empty_wrt_this () const |
Create a warmstart info describing that no change should be done. | |
virtual int | storage_size () const |
Return how much memory it'll take to pack this warmstart info. | |
virtual void | update (const BCP_warmstart *const change) |
virtual 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 |
void | pack (BCP_buffer &buf) const |
Pack the warmstart info into a buffer. | |
Constructors and destructor | |
BCP_warmstart_basis (BCP_buffer &buf) | |
Create the object by unpacking it from a buffer. | |
BCP_warmstart_basis (const char *vfirst, const char *vlast, const char *cfirst, const char *clast) | |
Create an explicitly stored warmstart info by considering the two character arrays ([vfirst,vlast) and [cfirst,clast) ) as the status arrays for the variables/cuts. | |
BCP_warmstart_basis (const BCP_warmstart_basis &ws) | |
Copy constructor. | |
~BCP_warmstart_basis () | |
Create the object by unpacking it from a buffer. | |
Private Member Functions | |
BCP_warmstart_basis & | operator= (const BCP_warmstart_basis &) |
The assignment operator is declared but not defined to disable it. | |
BCP_warmstart_basis () | |
The default constructor creates an empty WrtParent warmstart info (i.e., no change wrt the parent). | |
Private Attributes | |
BCP_vec_change< char > | _var_stat |
The stati of the variables stored as a vector change. | |
BCP_vec_change< char > | _cut_stat |
The stati of the cuts stored as a vector change. |
This class describes a warmstart information that consists of basis information for structural and artificial variables.
"basic / on_upper / on_lower" info is stored on 2 bits for every variable. Only the added methods are documented in details on this page, for the inherited methods see the description of the base class.
Definition at line 24 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis::BCP_warmstart_basis | ( | ) | [inline, private] |
The default constructor creates an empty WrtParent warmstart info (i.e., no change wrt the parent).
This is a private method since only the empty_wrt_this() method should be able to use this form of creation.
Definition at line 32 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis::BCP_warmstart_basis | ( | BCP_buffer & | buf | ) | [inline] |
Create the object by unpacking it from a buffer.
Definition at line 45 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis::BCP_warmstart_basis | ( | const char * | vfirst, | |
const char * | vlast, | |||
const char * | cfirst, | |||
const char * | clast | |||
) | [inline] |
Create an explicitly stored warmstart info by considering the two character arrays ([vfirst,vlast)
and [cfirst,clast)
) as the status arrays for the variables/cuts.
Definition at line 50 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis::BCP_warmstart_basis | ( | const BCP_warmstart_basis & | ws | ) | [inline] |
Copy constructor.
Definition at line 54 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis::~BCP_warmstart_basis | ( | ) | [inline] |
Create the object by unpacking it from a buffer.
Definition at line 57 of file BCP_warmstart_basis.hpp.
BCP_warmstart_basis& BCP_warmstart_basis::operator= | ( | const BCP_warmstart_basis & | ) | [private] |
The assignment operator is declared but not defined to disable it.
virtual CoinWarmStart* BCP_warmstart_basis::convert_to_CoinWarmStart | ( | ) | const [virtual] |
Return an CoinwarmStart object that can be fed to the LP engine.
The implementation for this class will return an CoinwarmStartBasis object.
Implements BCP_warmstart.
virtual BCP_storage_t BCP_warmstart_basis::storage | ( | ) | const [virtual] |
Return how the warmstarting info is stored.
Implements BCP_warmstart.
virtual BCP_warmstart* BCP_warmstart_basis::clone | ( | ) | const [inline, virtual] |
Make a replica of the current warmstart information.
Implements BCP_warmstart.
Definition at line 69 of file BCP_warmstart_basis.hpp.
virtual BCP_warmstart* BCP_warmstart_basis::empty_wrt_this | ( | ) | const [inline, 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?
Implements BCP_warmstart.
Definition at line 73 of file BCP_warmstart_basis.hpp.
virtual int BCP_warmstart_basis::storage_size | ( | ) | const [inline, virtual] |
Return how much memory it'll take to pack this warmstart info.
It is used when comparing which sort of storage is smaller.
Implements BCP_warmstart.
Definition at line 79 of file BCP_warmstart_basis.hpp.
virtual void BCP_warmstart_basis::update | ( | const BCP_warmstart *const | change | ) | [virtual] |
virtual BCP_warmstart* BCP_warmstart_basis::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 [virtual] |
void BCP_warmstart_basis::pack | ( | BCP_buffer & | buf | ) | const [inline] |
Pack the warmstart info into a buffer.
Definition at line 94 of file BCP_warmstart_basis.hpp.
BCP_vec_change<char> BCP_warmstart_basis::_var_stat [private] |
The stati of the variables stored as a vector change.
Definition at line 37 of file BCP_warmstart_basis.hpp.
BCP_vec_change<char> BCP_warmstart_basis::_cut_stat [private] |
The stati of the cuts stored as a vector change.
Definition at line 39 of file BCP_warmstart_basis.hpp.