46 class CglLandPSimplex;
243 CachedData(
int nBasics = 0 ,
int nNonBasics = 0);
Select only those rows which had initialy a 0 reduced cost.
bool countMistakenRc
Wether to limit or not the number of mistaken RC (when perturbation is applied).
void getSortedFractionalIndices(std::vector< int > &indices, const CachedData &data, const CglLandP::Parameters ¶ms) const
Retrieve sorted integer variables which are fractional in the solution.
CglCutGenerator * clone() const
Clone function.
int * nonBasics_
Indices of non-basic variables.
ExtraCutsMode generateExtraCuts
Generate extra constraints from optimal lift-and-project basis.
Normalization
Normalization.
Base class for message handling.
select most negative reduced cost
OsiCuts extraCuts_
Store some extra cut which could be cheaply generated but do not cut current incumbent.
OsiSolverInterface * solver_
Solver before pivots.
2 * current number of constraints.
int failedPivotLimit
Maximum number of failed pivots before aborting.
double * originalColLower_
Original lower bounds for the problem (for lifting cuts).
int degeneratePivotLimit
maximum number of consecutive degenerate pivots 0
RhsWeightType
RHS weight in normalization.
int getSortedFractionals(CoinPackedVector &xFrac, const CachedData &data, const CglLandP::Parameters ¶ms) const
Retrieve sorted integer variables which are fractional in the solution.
SeparationSpaces sepSpace
Work in the reduced space (only non-structurals enter the basis)
int nBasics_
number of basics variables
bool * integers_
Stores wheter slacks are integer constrained.
Parameters & operator=(const Parameters &other)
Assignment opertator.
double * originalColUpper_
Original upper bounds for the problem (for lifting cuts).
CachedData & operator=(const CachedData &source)
CachedData(int nBasics=0, int nNonBasics=0)
CachedData cached_
Cached informations about problem.
void setLogLevel(int level)
set level of log for cut generation procedure :
Normalization normalization
How to weight normalization.
Collections of row cuts and column cuts.
double * slacks_
Stores the values of the slacks.
int numrows_
number of rows in the original problems.
int * basics_
Indices of basic variables in starting basis (ordered if variable basics_[i] s basic in row i) ...
double rhsWeight
Weight to put in RHS of normalization if static.
Generate cuts from the optimal basis.
void CglLandPUnitTest(OsiSolverInterface *si, const std::string &mpsDir)
int nNonBasics_
number of non-basics
LHSnorm lhs_norm
How to weight LHS of normalization.
LapMessages()
Constructor.
friend void CglLandPUnitTest(OsiSolverInterface *si, const std::string &mpsDir)
double timeLimit
Total time limit for cut generation.
int pivotLimitInTree
Max number of pivots at regular nodes.
Class collecting parameters for all cut generators.
int extraCutsLimit
Maximum number of extra rows to generate per round.
int pivotLimit
Max number of pivots before we generate the cut 20.
bool canLift_
Flag to say if cuts can be lifted.
Some informations that will be changed by the pivots and that we want to keep.
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Generate cuts for the model data contained in si.
LAP::Validator validator_
cut validator
CoinMessages messages_
messages
virtual bool needsOptimalBasis() const
Return true if needs optimal basis to do cuts.
bool strengthen
Do we strengthen the final cut (always do if modularize is 1)
LAP::Validator & validator()
virtual ~LapMessages()
destructor.
Class to validate or reject a cut.
Abstract Base Class for describing an interface to a solver.
CglLandP(const CglLandP::Parameters ¶ms=CglLandP::Parameters(), const LAP::Validator &validator=LAP::Validator())
Constructor for the class.
int maxCutPerRound
Maximum number of cuts generated at a given round.
void scanExtraCuts(OsiCuts &cs, const double *colsol) const
Cut Generator Base Class.
Use fractional space only for computing reduced costs.
double * colsol_
Stores the value of the solution to cut.
select best possible pivot.
double singleCutTimeLimit
Time limit for generating a single cut.
Class to hold and manipulate an array of massaged messages.
Generate all violated Mixed integer Gomory cuts in the course of the optimization.
CoinWarmStartBasis * basis_
Optimal basis.
SelectionRules pivotSelection
Which rule to apply for choosing entering and leaving variables.
Error Class thrown by an exception.
double away
A variable have to be at least away from integrity to be generated.
RhsWeightType rhsWeightType
How to weight RHS of normalization.
Generate cuts as soon as a structural enters the basis.
int numcols_
number of columns in the original problems.
void setLogLevel(int value)
Set current log (detail) level.
CoinMessageHandler * handler_
message handler
SeparationSpaces
Space where cuts are optimized.
void getData(const OsiSolverInterface &si)
Get the data from a problem.
Class storing parameters.
Information about where the cut generator is invoked from.
bool modularize
Do we apply Egon Balas's Heuristic for modularized cuts.
CglLandP & operator=(const CglLandP &rhs)
Assignment operator.
The default COIN simplex (basis-oriented) warm start class.
bool useTableauRow
Do we use tableau row or the disjunction (I don't really get that there should be a way to always use...
double pivotTol
Tolerance for small pivots values (should be the same as the solver.
Parameters()
Default constructor (with default values)
bool perturb
Apply perturbation procedure.