Go to the documentation of this file.
9 #include "CoinPragma.hpp"
118 int arraysExist,
int depth);
214 const int *numberDown,
const int *numberUp,
215 const int *numberDownInfeasible,
const int *numberUpInfeasible,
218 void update(
int way,
int sequence,
double change,
bool feasible);
258 #ifndef NO_FATHOM_PRINT
291 #ifndef NO_FATHOM_PRINT
304 int index(
double value)
const;
336 int hash(
double value)
const;
338 void resize(
bool increaseMax);
This solves LPs using the simplex method.
double objectiveValue_
Value of objective.
This just implements CoinFactorization when an ClpMatrixBase object is passed.
double estimatedSolution_
Estimated solution value.
const double * dualSolution() const
Dual solution.
virtual ~ClpNodeStuff()
Destructor.
int startingDepth_
Depth passed in.
ClpNodeStuff & operator=(const ClpNodeStuff &)
Operator =.
int nodeCalled_
Node at which called.
int * whichRow_
Which rows in large model.
void createArrays(ClpSimplex *model)
Create odd arrays.
double * saveCosts_
Copy of costs (local)
double sumInfeasibilities() const
Sum infeasibilities.
void resize(bool increaseMax)
Resizes.
int numberInfeasibilities_
Number of infeasibilities.
void update(int way, int sequence, double change, bool feasible)
Update pseudo costs.
CoinMessageHandler * handler_
Cbc's message handler.
int maximumColumns_
Maximum columns so far.
double * primalSolution_
Primal solution.
int maximumFixed_
Maximum number fixed by reduced cost.
int way() const
Way for integer variable -1 down , +1 up.
int maximumNodes() const
Return maximum number of nodes.
int nBound_
Number bounds in large model.
unsigned char * status_
Status vector.
void changeState()
Change state of variable i.e. go other way.
int depth_
Relative depth.
int solverOptions_
Options to pass to solver 1 - create external reduced costs for columns 2 - create external reduced c...
Dual Row Pivot Steepest Edge Algorithm Class.
double * upPseudo_
Up pseudo costs.
int numberHash_
Number of entries in hash table.
void fillPseudoCosts(const double *down, const double *up, const int *priority, const int *numberDown, const int *numberUp, const int *numberDownInfeasible, const int *numberUpInfeasible, int number)
Fill with pseudocosts.
double * dualSolution_
Dual solution.
ClpNode()
Default constructor.
const unsigned char * statusArray() const
Status array.
ClpFactorization * factorization_
Factorization.
void cleanUpForCrunch()
Clean up as crunch is different model.
int stateOfSearch_
State of search from CbcModel.
double integerIncrement_
Integer increment.
double branchingValue_
Initial value of integer variable.
void setObjectiveValue(double value)
Set objective value.
int maximumRows_
Maximum rows so far.
int * numberUp_
Number of times up.
int depth() const
Relative depth.
virtual ~ClpHashValue()
Destructor.
virtual ~ClpNode()
Destructor.
int maximumIntegers_
Maximum Integers so far.
bool fathomed() const
Return true if branch exhausted.
int * upper_
Integer upper bounds (only used in fathomMany)
int addValue(double value)
Add value to list and return index.
int * whichColumn_
Which columns in large model.
void chooseVariable(ClpSimplex *model, ClpNodeStuff *info)
Choose a new variable.
double branchingValue() const
Initial value of integer variable.
int numberFixed_
Number fixed by reduced cost.
int * numberDownInfeasible_
Number of times down infeasible.
ClpNodeStuff()
Default constructor.
branchState branchState_
State of branch.
double * downPseudo_
Down pseudo costs.
int numberIterations_
Number of iterations.
int sequence() const
Sequence number of integer variable (-1 if none)
double smallChange_
Small change in branch.
double integerTolerance_
Integer tolerance.
double sumInfeasibilities_
Sum of infeasibilities.
ClpDualRowSteepest * weights_
Steepest edge weights.
CoinHashLink * hash_
Hash table.
bool oddArraysExist() const
If odd arrays exist.
int * pivotVariables_
Pivot variables for factorization.
double objectiveValue() const
Objective value.
int * numberUpInfeasible_
Number of times up infeasible.
int numberNodesExplored_
Number of nodes explored.
int maximumNodes_
Maximum number of nodes to do.
int presolveType_
Type of presolve - 0 none, 1 crunch.
int nNodes_
Number nodes returned (-1 if fathom aborted)
void zap(int type)
Zaps stuff 1 - arrays, 2 ints, 3 both.
int * fixed_
Variables fixed by reduced costs (at end of branch) 0x10000000 added if fixed to UB.
int flags_
Flags - 1 duals scaled.
int * lower_
Integer lower bounds (only used in fathomMany)
ClpHashValue()
Default constructor.
void gutsOfConstructor(ClpSimplex *model, const ClpNodeStuff *stuff, int arraysExist, int depth)
Does work of constructor (partly so gdb will work)
int fixOnReducedCosts(ClpSimplex *model)
Fix on reduced costs.
ClpNode ** nodeInfo_
Array of ClpNodes.
int numberInfeasibilities() const
Number infeasibilities.
double estimatedSolution() const
Estimated solution value.
int maxHash_
Maximum number of entries in hash table i.e. size.
int sequence_
Sequence number of integer variable (-1 if none)
int * numberDown_
Number of times down.
int numberEntries() const
Number of different entries.
ClpHashValue & operator=(const ClpHashValue &)
=
const double * primalSolution() const
Primal solution.
int saveOptions_
Save of specialOptions_ (local)
int maximumSpace() const
Return maximum space for nodes.
ClpSimplex * large_
Large model if crunched.
int lastUsed_
Last used space.
ClpNode & operator=(const ClpNode &)
Operator =.
int index(double value) const
Return index or -1 if not found.
void applyNode(ClpSimplex *model, int doBoundsEtc)
Applies node to model 0 - just tree bounds 1 - tree bounds and basis etc 2 - saved bounds and basis e...
int hash(double value) const
returns hash
int numberBeforeTrust_
Number before trust from CbcModel.