#include <CglLandP.hpp>
Classes | |
struct | CachedData |
Some informations that will be changed by the pivots and that we want to keep. More... | |
class | NoBasisError |
class | Parameters |
Class storing parameters. More... | |
class | SimplexInterfaceError |
Public Types | |
enum | SelectionRules { mostNegativeRc, bestPivot, initialReducedCosts } |
enum | ExtraCutsMode { none, AtOptimalBasis, WhenEnteringBasis, AllViolatedMigs } |
enum | SeparationSpaces { Fractional =0, Fractional_rc, Full } |
Space where cuts are optimized. More... | |
enum | Normalization { Unweighted = 0, WeightRHS, WeightLHS, WeightBoth } |
Normalization. More... | |
enum | LHSnorm { L1 = 0, L2, SupportSize, Infinity, Average, Uniform } |
enum | RhsWeightType { Fixed = 0, Dynamic } |
RHS weight in normalization. More... | |
Public Member Functions | |
CglLandP (const CglLandP::Parameters ¶ms=CglLandP::Parameters(), const LAP::Validator &validator=LAP::Validator()) | |
Constructor for the class. More... | |
~CglLandP () | |
Destructor. More... | |
CglLandP (const CglLandP &source) | |
Copy constructor. More... | |
CglLandP & | operator= (const CglLandP &rhs) |
Assignment operator. More... | |
CglCutGenerator * | clone () const |
Clone function. More... | |
virtual bool | needsOptimalBasis () const |
Return true if needs optimal basis to do cuts. More... | |
LAP::Validator & | validator () |
void | setLogLevel (int level) |
set level of log for cut generation procedure : More... | |
Parameters & | parameter () |
Generate Cuts | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) |
Generate cuts for the model data contained in si. More... | |
![]() | |
CglCutGenerator () | |
Default constructor. More... | |
CglCutGenerator (const CglCutGenerator &) | |
Copy constructor. More... | |
CglCutGenerator & | operator= (const CglCutGenerator &rhs) |
Assignment operator. More... | |
virtual | ~CglCutGenerator () |
Destructor. More... | |
virtual std::string | generateCpp (FILE *) |
Create C++ lines to set the generator in the current state. More... | |
virtual void | refreshSolver (OsiSolverInterface *) |
This can be used to refresh any information. More... | |
int | getAggressiveness () const |
Get Aggressiveness - 0 = neutral, 100 is normal root node. More... | |
void | setAggressiveness (int value) |
Set Aggressiveness - 0 = neutral, 100 is normal root node. More... | |
void | setGlobalCuts (bool trueOrFalse) |
Set whether can do global cuts. More... | |
bool | canDoGlobalCuts () const |
Say whether can do global cuts. More... | |
virtual bool | mayGenerateRowCutsInTree () const |
Returns true if may generate Row cuts in tree (rather than root node). More... | |
virtual int | maximumLengthOfCutInTree () const |
Return maximum length of cut in tree. More... | |
Private Member Functions | |
void | scanExtraCuts (OsiCuts &cs, const double *colsol) const |
int | getSortedFractionals (CoinPackedVector &xFrac, const CachedData &data, const CglLandP::Parameters ¶ms) const |
Retrieve sorted integer variables which are fractional in the solution. More... | |
void | getSortedFractionalIndices (std::vector< int > &indices, const CachedData &data, const CglLandP::Parameters ¶ms) const |
Retrieve sorted integer variables which are fractional in the solution. More... | |
Private Attributes | |
Parameters | params_ |
CachedData | cached_ |
Cached informations about problem. More... | |
CoinMessageHandler * | handler_ |
message handler More... | |
CoinMessages | messages_ |
messages More... | |
LAP::Validator | validator_ |
cut validator More... | |
int | numrows_ |
number of rows in the original problems. More... | |
int | numcols_ |
number of columns in the original problems. More... | |
double * | originalColLower_ |
Original lower bounds for the problem (for lifting cuts). More... | |
double * | originalColUpper_ |
Original upper bounds for the problem (for lifting cuts). More... | |
bool | canLift_ |
Flag to say if cuts can be lifted. More... | |
OsiCuts | extraCuts_ |
Store some extra cut which could be cheaply generated but do not cut current incumbent. More... | |
Friends | |
class | LAP::CglLandPSimplex |
class | CftCglp |
void | CglLandPUnitTest (OsiSolverInterface *si, const std::string &mpsDir) |
Additional Inherited Members | |
![]() | |
int | aggressive_ |
Aggressiveness - 0 = neutral, 100 is normal root node. More... | |
bool | canDoGlobalCuts_ |
True if can do global cuts i.e. no general integers. More... | |
Definition at line 49 of file CglLandP.hpp.
Enumerator | |
---|---|
mostNegativeRc |
select most negative reduced cost |
bestPivot |
select best possible pivot. |
initialReducedCosts |
Select only those rows which had initialy a 0 reduced cost. |
Definition at line 58 of file CglLandP.hpp.
Definition at line 65 of file CglLandP.hpp.
Space where cuts are optimized.
Enumerator | |
---|---|
Fractional | |
Fractional_rc |
Use fractional space only for computing reduced costs. |
Full |
Work in full space. |
Definition at line 74 of file CglLandP.hpp.
Normalization.
Enumerator | |
---|---|
Unweighted | |
WeightRHS | |
WeightLHS | |
WeightBoth |
Definition at line 82 of file CglLandP.hpp.
enum CglLandP::LHSnorm |
Enumerator | |
---|---|
L1 | |
L2 | |
SupportSize | |
Infinity | |
Average | |
Uniform |
Definition at line 90 of file CglLandP.hpp.
RHS weight in normalization.
Enumerator | |
---|---|
Fixed | |
Dynamic |
2 * current number of constraints. |
Definition at line 100 of file CglLandP.hpp.
CglLandP::CglLandP | ( | const CglLandP::Parameters & | params = CglLandP::Parameters() , |
const LAP::Validator & | validator = LAP::Validator() |
||
) |
Constructor for the class.
CglLandP::~CglLandP | ( | ) |
Destructor.
CglLandP::CglLandP | ( | const CglLandP & | source | ) |
Copy constructor.
|
virtual |
Clone function.
Implements CglCutGenerator.
|
virtual |
Generate cuts for the model data contained in si.
The generated cuts are inserted into and returned in the collection of cuts cs.
Implements CglCutGenerator.
|
inlinevirtual |
Return true if needs optimal basis to do cuts.
Reimplemented from CglCutGenerator.
Definition at line 197 of file CglLandP.hpp.
|
inline |
Definition at line 202 of file CglLandP.hpp.
|
inline |
set level of log for cut generation procedure :
Definition at line 213 of file CglLandP.hpp.
|
inline |
Definition at line 229 of file CglLandP.hpp.
|
private |
Retrieve sorted integer variables which are fractional in the solution.
Return the number of variables.
|
private |
Retrieve sorted integer variables which are fractional in the solution.
Return the number of variables.
|
friend |
Definition at line 53 of file CglLandP.hpp.
|
friend |
Definition at line 54 of file CglLandP.hpp.
|
friend |
|
private |
Definition at line 238 of file CglLandP.hpp.
|
private |
Cached informations about problem.
Definition at line 283 of file CglLandP.hpp.
|
private |
message handler
Definition at line 285 of file CglLandP.hpp.
|
private |
messages
Definition at line 287 of file CglLandP.hpp.
|
private |
cut validator
Definition at line 289 of file CglLandP.hpp.
|
private |
number of rows in the original problems.
Definition at line 291 of file CglLandP.hpp.
|
private |
number of columns in the original problems.
Definition at line 293 of file CglLandP.hpp.
|
private |
Original lower bounds for the problem (for lifting cuts).
Definition at line 295 of file CglLandP.hpp.
|
private |
Original upper bounds for the problem (for lifting cuts).
Definition at line 297 of file CglLandP.hpp.
|
private |
Flag to say if cuts can be lifted.
Definition at line 299 of file CglLandP.hpp.
|
private |
Store some extra cut which could be cheaply generated but do not cut current incumbent.
Definition at line 301 of file CglLandP.hpp.