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