#include <OsiDylpWarmStartBasis.hpp>
Inheritance diagram for OsiDylpWarmStartBasis:
Public Member Functions | |
Methods to get and set basis information. | |
Methods for structural and artificial variables are inherited from CoinWarmStartBasis. Constraint status is coded using the CoinWarmStartBasis::Status codes. Active constraints are coded as atLowerBound, inactive as isFree. | |
int | numberActiveConstraints () const |
Return the number of active constraints. | |
Status | getConStatus (int i) const |
Return the status of the specified constraint. | |
void | setConStatus (int i, Status st) |
Set the status of the specified constraint. | |
char * | getConstraintStatus () |
Return the status array for constraints. | |
const char * | getConstraintStatus () const |
const overload for getConstraintStatus() | |
void | setPhase (dyphase_enum phase) |
Set the lp phase for this basis. | |
dyphase_enum | getPhase () const |
Get the lp phase for this basis. | |
Basis `diff' methods | |
CoinWarmStartDiff * | generateDiff (const CoinWarmStart *const oldCWS) const |
Generate a `diff' that can convert oldBasis to this basis. | |
void | applyDiff (const CoinWarmStartDiff *const cwsdDiff) |
Apply diff to this basis. | |
Methods to modify the warm start object | |
void | setSize (int ns, int na) |
Set basis capacity; existing basis is discarded. | |
void | resize (int numRows, int numCols) |
Set basis capacity; existing basis is maintained. | |
void | compressRows (int tgtCnt, const int *tgts) |
Delete a set of rows from the basis. | |
void | deleteRows (int number, const int *which) |
Delete a set of rows from the basis. | |
virtual void | mergeBasis (const CoinWarmStartBasis *src, const XferVec *xferRows, const XferVec *xferCols) |
Merge entries from a source basis into this basis. | |
Constructors, destructors, and related functions | |
OsiDylpWarmStartBasis () | |
Default constructor (empty object). | |
OsiDylpWarmStartBasis (int ns, int na, const char *sStat, const char *aStat, const char *cStat=0) | |
Constructs a warm start object with the specified status arrays. | |
OsiDylpWarmStartBasis (const CoinWarmStartBasis &cwsb) | |
Construct an OsiDylpWarmStartBasis from a CoinWarmStartBasis. | |
OsiDylpWarmStartBasis (const OsiDylpWarmStartBasis &ws) | |
Copy constructor. | |
CoinWarmStart * | clone () const |
`Virtual constructor' | |
~OsiDylpWarmStartBasis () | |
Destructor. | |
OsiDylpWarmStartBasis & | operator= (const OsiDylpWarmStartBasis &rhs) |
Assignment. | |
void | assignBasisStatus (int ns, int na, char *&sStat, char *&aStat, char *&cStat) |
Assign the status vectors to be the warm start information. | |
void | assignBasisStatus (int ns, int na, char *&sStat, char *&aStat) |
Assign the status vectors to be the warm start information. | |
Miscellaneous methods | |
void | print () const |
Prints in readable format (for debug). | |
void | checkBasis () const |
Performs basis consistency checks (for debug). | |
Private Attributes | |
Constraint status private data members | |
dyphase_enum | phase_ |
dylp phase | |
char * | constraintStatus_ |
vector of constraint status information |
This derived class is necessary because dylp by default works with a subset of the full constraint system. The warm start object needs to contain a list of the active constraints in addition to the status information included in CoinWarmStartBasis. It is also convenient to include the solver phase in the warm start object.
Definition at line 39 of file OsiDylpWarmStartBasis.hpp.
OsiDylpWarmStartBasis::OsiDylpWarmStartBasis | ( | ) |
Default constructor (empty object).
OsiDylpWarmStartBasis::OsiDylpWarmStartBasis | ( | int | ns, | |
int | na, | |||
const char * | sStat, | |||
const char * | aStat, | |||
const char * | cStat = 0 | |||
) |
Constructs a warm start object with the specified status arrays.
OsiDylpWarmStartBasis::OsiDylpWarmStartBasis | ( | const CoinWarmStartBasis & | cwsb | ) |
Construct an OsiDylpWarmStartBasis from a CoinWarmStartBasis.
OsiDylpWarmStartBasis::OsiDylpWarmStartBasis | ( | const OsiDylpWarmStartBasis & | ws | ) |
Copy constructor.
OsiDylpWarmStartBasis::~OsiDylpWarmStartBasis | ( | ) |
Destructor.
int OsiDylpWarmStartBasis::numberActiveConstraints | ( | ) | const |
Return the number of active constraints.
Status OsiDylpWarmStartBasis::getConStatus | ( | int | i | ) | const [inline] |
Return the status of the specified constraint.
Definition at line 59 of file OsiDylpWarmStartBasis.hpp.
References constraintStatus_.
void OsiDylpWarmStartBasis::setConStatus | ( | int | i, | |
Status | st | |||
) | [inline] |
Set the status of the specified constraint.
Definition at line 67 of file OsiDylpWarmStartBasis.hpp.
References constraintStatus_.
char* OsiDylpWarmStartBasis::getConstraintStatus | ( | ) | [inline] |
Return the status array for constraints.
Definition at line 76 of file OsiDylpWarmStartBasis.hpp.
References constraintStatus_.
const char* OsiDylpWarmStartBasis::getConstraintStatus | ( | ) | const [inline] |
const
overload for getConstraintStatus()
Definition at line 84 of file OsiDylpWarmStartBasis.hpp.
References constraintStatus_.
void OsiDylpWarmStartBasis::setPhase | ( | dyphase_enum | phase | ) | [inline] |
Set the lp phase for this basis.
Definition at line 91 of file OsiDylpWarmStartBasis.hpp.
References phase_.
dyphase_enum OsiDylpWarmStartBasis::getPhase | ( | ) | const [inline] |
Get the lp phase for this basis.
Definition at line 95 of file OsiDylpWarmStartBasis.hpp.
References phase_.
CoinWarmStartDiff* OsiDylpWarmStartBasis::generateDiff | ( | const CoinWarmStart *const | oldCWS | ) | const [virtual] |
void OsiDylpWarmStartBasis::applyDiff | ( | const CoinWarmStartDiff *const | cwsdDiff | ) | [virtual] |
void OsiDylpWarmStartBasis::setSize | ( | int | ns, | |
int | na | |||
) | [virtual] |
void OsiDylpWarmStartBasis::resize | ( | int | numRows, | |
int | numCols | |||
) | [virtual] |
void OsiDylpWarmStartBasis::compressRows | ( | int | tgtCnt, | |
const int * | tgts | |||
) | [virtual] |
Delete a set of rows from the basis.
The resulting basis is guaranteed valid only if all deleted constraints are slack (hence the associated logicals are basic).
Reimplemented from CoinWarmStartBasis.
void OsiDylpWarmStartBasis::deleteRows | ( | int | number, | |
const int * | which | |||
) | [virtual] |
Delete a set of rows from the basis.
Reimplemented from CoinWarmStartBasis.
virtual void OsiDylpWarmStartBasis::mergeBasis | ( | const CoinWarmStartBasis * | src, | |
const XferVec * | xferRows, | |||
const XferVec * | xferCols | |||
) | [virtual] |
Merge entries from a source basis into this basis.
CoinWarmStart* OsiDylpWarmStartBasis::clone | ( | ) | const [virtual] |
OsiDylpWarmStartBasis& OsiDylpWarmStartBasis::operator= | ( | const OsiDylpWarmStartBasis & | rhs | ) |
Assignment.
void OsiDylpWarmStartBasis::assignBasisStatus | ( | int | ns, | |
int | na, | |||
char *& | sStat, | |||
char *& | aStat, | |||
char *& | cStat | |||
) |
Assign the status vectors to be the warm start information.
void OsiDylpWarmStartBasis::assignBasisStatus | ( | int | ns, | |
int | na, | |||
char *& | sStat, | |||
char *& | aStat | |||
) | [virtual] |
void OsiDylpWarmStartBasis::print | ( | ) | const [virtual] |
void OsiDylpWarmStartBasis::checkBasis | ( | ) | const |
Performs basis consistency checks (for debug).
dyphase_enum OsiDylpWarmStartBasis::phase_ [private] |
dylp phase
Definition at line 228 of file OsiDylpWarmStartBasis.hpp.
Referenced by getPhase(), and setPhase().
char* OsiDylpWarmStartBasis::constraintStatus_ [private] |
vector of constraint status information
Definition at line 230 of file OsiDylpWarmStartBasis.hpp.
Referenced by getConStatus(), getConstraintStatus(), and setConStatus().