71 virtual bool fixes(
int ,
int ,
int ,
bool) {
return false;}
107 int numberExtraCliques=0,
const int * starts=NULL,
108 const CliqueEntry * entries=NULL,
const char * type=NULL);
112 virtual bool fixes(
int variable,
int toValue,
int fixedVariable,
bool fixedToLower);
172 {
return cEntry.
fixes&0x7fffffff;}
174 { cEntry.
fixes = sequence|(cEntry.
fixes&0x80000000);}
176 {
return (cEntry.
fixes&0x80000000)!=0;}
178 { cEntry.
fixes = (oneFixes ? 0x80000000 : 0)|(cEntry.
fixes&0x7fffffff);}
virtual bool fixes(int variable, int toValue, int fixedVariable, bool fixedToLower)
Take action if cut generator can fix a variable (toValue -1 for down, +1 for up) Returns true if stil...
int * integerVariable_
List of 0-1 integer variables.
void setSequenceInCliqueEntry(CliqueEntry &cEntry, int sequence)
virtual CglTreeInfo * clone() const
Clone.
bool inTree
Set true if in tree (to avoid ambiguity at first branch)
int * toZero()
Starts of integer variable going to zero.
OsiSolverInterface * analyze(const OsiSolverInterface &si, int createSolver=0, int numberExtraCliques=0, const int *starts=NULL, const CliqueEntry *entries=NULL, const char *type=NULL)
CliqueEntry * fixEntries()
Entries for fixing variables.
int numberVariables() const
Number of variables.
Collections of row cuts and column cuts.
OsiRowCut ** strengthenRow
Replacement array.
bool oneFixesInCliqueEntry(const CliqueEntry &cEntry)
virtual int initializeFixing(const OsiSolverInterface *)
Initalizes fixing arrays etc - returns >0 if we want to save info 0 if we don't and -1 if is to be use...
void convert()
Converts to ordered.
void setOneFixesInCliqueEntry(CliqueEntry &cEntry, bool oneFixes)
int packDown()
Packs down entries.
CglTreeInfo & operator=(const CglTreeInfo &rhs)
Assignment operator.
int level
The level of the search tree node.
int sequenceInCliqueEntry(const CliqueEntry &cEntry)
int numberIntegers() const
Number of 0-1 variables.
int * backward() const
Backward look up.
int * toOne_
Starts of integer variable going to one.
CglTreeProbingInfo()
Default constructor.
Abstract Base Class for describing an interface to a solver.
void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info) const
Generate cuts from implications.
int numberIntegers_
Number of 0-1 variables.
int formulation_rows
The number of rows in the original formulation.
virtual ~CglTreeInfo()
Destructor.
CglTreeInfo()
Default constructor.
int options
Options 1 - treat costed integers as important 2 - switch off some stuff as variables semi-integer 4 ...
CliqueEntry * fixEntry_
Entries for fixing variables.
CoinThreadRandom * randomNumberGenerator
Optional pointer to thread specific random number generator.
int fixColumns(OsiSolverInterface &si) const
Fix entries in a solver using implications.
virtual ~CglTreeProbingInfo()
Destructor.
virtual CglTreeInfo * clone() const
Clone.
Class for thread specific random numbers.
int * toZero_
Starts of integer variable going to zero.
int maximumEntries_
Maximum number in fixEntry_.
Derived class to pick up probing info.
Stored Cut Generator Class.
int * fixingEntry_
Entries for fixing variable when collecting.
Information about where the cut generator is invoked from.
int * toOne()
Starts of integer variable going to one.
virtual int initializeFixing(const OsiSolverInterface *model)
Initalizes fixing arrays etc - returns >0 if we want to save info 0 if we don't and -1 if is to be use...
int * backward_
Backward look up.
int numberVariables_
Number of variables.
int pass
How many times the cut generator was already invoked in this search tree node.
virtual bool fixes(int, int, int, bool)
Take action if cut generator can fix a variable (toValue -1 for down, +1 for up)
int * integerVariable() const
List of 0-1 integer variables.
int numberEntries_
Number entries in fixingEntry_ (and fixEntry_) or -2 if correct style.
CglTreeProbingInfo & operator=(const CglTreeProbingInfo &rhs)
Assignment operator.