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