Alps  2.0.2
Public Types | List of all members
AbcModel Class Reference

Model class for ALPS Branch and Cut. More...

#include <AbcModel.h>

+ Inheritance diagram for AbcModel:
+ Collaboration diagram for AbcModel:

Public Types

enum  AbcIntParam {
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam
}
 
enum  AbcDblParam {
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam, AbcIntegerTolerance = 0, AbcInfeasibilityWeight,
  AbcCutoffIncrement, AbcAllowableGap, AbcMaximumSeconds, AbcLastDblParam,
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam
}
 
enum  AbcIntParam {
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam
}
 
enum  AbcDblParam {
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam, AbcIntegerTolerance = 0, AbcInfeasibilityWeight,
  AbcCutoffIncrement, AbcAllowableGap, AbcMaximumSeconds, AbcLastDblParam,
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam
}
 
enum  AbcIntParam {
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam,
  AbcMaxNumNode =0, AbcMaxNumSol, AbcFathomDiscipline, AbcLastIntParam
}
 
enum  AbcDblParam {
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam, AbcIntegerTolerance = 0, AbcInfeasibilityWeight,
  AbcCutoffIncrement, AbcAllowableGap, AbcMaximumSeconds, AbcLastDblParam,
  AbcIntegerTolerance = 0, AbcInfeasibilityWeight, AbcCutoffIncrement, AbcAllowableGap,
  AbcMaximumSeconds, AbcLastDblParam
}
 

Public Member Functions

Solve methods
void initialSolve ()
 Solve the initial LP relaxation Invoke the solver's initialSolve() method. More...
 
bool solveWithCuts (OsiCuts &cuts, int numberTries, AbcTreeNode *node, int &numberOldActiveCuts, int &numberNewCuts, int &maximumWhich, int *&whichGenerator, const bool cutDuringRampup, int &found)
 Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method. More...
 
bool resolve ()
 Reoptimise an LP relaxation Invoke the solver's resolve() method. More...
 
void initialSolve ()
 Solve the initial LP relaxation Invoke the solver's initialSolve() method. More...
 
bool solveWithCuts (OsiCuts &cuts, int numberTries, AbcTreeNode *node, int &numberOldActiveCuts, int &numberNewCuts, int &maximumWhich, int *&whichGenerator, const bool cutDuringRampup, int &found)
 Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method. More...
 
bool resolve ()
 Reoptimise an LP relaxation Invoke the solver's resolve() method. More...
 
void initialSolve ()
 Solve the initial LP relaxation Invoke the solver's initialSolve() method. More...
 
bool solveWithCuts (OsiCuts &cuts, int numberTries, AbcTreeNode *node, int &numberOldActiveCuts, int &numberNewCuts, int &maximumWhich, int *&whichGenerator, const bool cutDuringRampup, int &found)
 Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method. More...
 
bool resolve ()
 Reoptimise an LP relaxation Invoke the solver's resolve() method. More...
 
Methods returning info on how the solution process terminated
bool isAbandoned () const
 Are there a numerical difficulties? More...
 
bool isProvenOptimal () const
 Is optimality proven? More...
 
bool isProvenInfeasible () const
 Is infeasiblity proven (or none better than cutoff)? More...
 
bool isNodeLimitReached () const
 Node limit reached? More...
 
bool isSolutionLimitReached () const
 Solution limit reached? More...
 
int getIterationCount () const
 Get how many iterations it took to solve the problem. More...
 
int getNodeCount () const
 Get how many Nodes it took to solve the problem. More...
 
void incrementNodeCount (int s=1)
 Increment the count of nodes. More...
 
int status () const
 Final status of problem 0 finished, 1 stopped, 2 difficulties. More...
 
bool isAbandoned () const
 Are there a numerical difficulties? More...
 
bool isProvenOptimal () const
 Is optimality proven? More...
 
bool isProvenInfeasible () const
 Is infeasiblity proven (or none better than cutoff)? More...
 
bool isNodeLimitReached () const
 Node limit reached? More...
 
bool isSolutionLimitReached () const
 Solution limit reached? More...
 
int getIterationCount () const
 Get how many iterations it took to solve the problem. More...
 
int getNodeCount () const
 Get how many Nodes it took to solve the problem. More...
 
void incrementNodeCount (int s=1)
 Increment the count of nodes. More...
 
int status () const
 Final status of problem 0 finished, 1 stopped, 2 difficulties. More...
 
bool isAbandoned () const
 Are there a numerical difficulties? More...
 
bool isProvenOptimal () const
 Is optimality proven? More...
 
bool isProvenInfeasible () const
 Is infeasiblity proven (or none better than cutoff)? More...
 
bool isNodeLimitReached () const
 Node limit reached? More...
 
bool isSolutionLimitReached () const
 Solution limit reached? More...
 
int getIterationCount () const
 Get how many iterations it took to solve the problem. More...
 
int getNodeCount () const
 Get how many Nodes it took to solve the problem. More...
 
void incrementNodeCount (int s=1)
 Increment the count of nodes. More...
 
int status () const
 Final status of problem 0 finished, 1 stopped, 2 difficulties. More...
 
Problem information methods

These methods call the solver's query routines to return information about the problem referred to by the current object.

Querying a problem that has no data associated with it result in zeros for the number of rows and columns, and NULL pointers from the methods that return vectors.

Const pointers returned from any data-query method are valid as long as the data is unchanged and the solver is not called.

int numberRowsAtContinuous () const
 Number of rows in continuous (root) problem. More...
 
void setNumberRowsAtContinous (const int value)
 
int getNumCols () const
 Get number of columns. More...
 
int getNumRows () const
 Get number of rows. More...
 
int getNumElements () const
 Get number of nonzero elements. More...
 
const double * getColLower () const
 Get pointer to array[getNumCols()] of column lower bounds. More...
 
const double * getColUpper () const
 Get pointer to array[getNumCols()] of column upper bounds. More...
 
const char * getRowSense () const
 Get pointer to array[getNumRows()] of row constraint senses. More...
 
const double * getRightHandSide () const
 Get pointer to array[getNumRows()] of rows right-hand sides. More...
 
const double * getRowRange () const
 Get pointer to array[getNumRows()] of row ranges. More...
 
const double * getRowLower () const
 Get pointer to array[getNumRows()] of row lower bounds. More...
 
const double * getRowUpper () const
 Get pointer to array[getNumRows()] of row upper bounds. More...
 
const double * getObjCoefficients () const
 Get pointer to array[getNumCols()] of objective function coefficients. More...
 
double getObjSense () const
 Get objective function sense (1 for min (default), -1 for max) More...
 
AbcPseudocost ** getPseudoList ()
 
int * getPseudoIndices ()
 
bool isContinuous (int colIndex) const
 Return true if variable is continuous. More...
 
bool isBinary (int colIndex) const
 Return true if variable is binary. More...
 
bool isInteger (int colIndex) const
 Return true if column is integer. More...
 
bool isIntegerNonBinary (int colIndex) const
 Return true if variable is general integer. More...
 
bool isFreeBinary (int colIndex) const
 Return true if variable is binary and not fixed at either bound. More...
 
const CoinPackedMatrix * getMatrixByRow () const
 Get pointer to row-wise copy of matrix. More...
 
const CoinPackedMatrix * getMatrixByCol () const
 Get pointer to column-wise copy of matrix. More...
 
double getInfinity () const
 Get solver's value for infinity. More...
 
int numberRowsAtContinuous () const
 Number of rows in continuous (root) problem. More...
 
void setNumberRowsAtContinous (const int value)
 
int getNumCols () const
 Get number of columns. More...
 
int getNumRows () const
 Get number of rows. More...
 
int getNumElements () const
 Get number of nonzero elements. More...
 
const double * getColLower () const
 Get pointer to array[getNumCols()] of column lower bounds. More...
 
const double * getColUpper () const
 Get pointer to array[getNumCols()] of column upper bounds. More...
 
const char * getRowSense () const
 Get pointer to array[getNumRows()] of row constraint senses. More...
 
const double * getRightHandSide () const
 Get pointer to array[getNumRows()] of rows right-hand sides. More...
 
const double * getRowRange () const
 Get pointer to array[getNumRows()] of row ranges. More...
 
const double * getRowLower () const
 Get pointer to array[getNumRows()] of row lower bounds. More...
 
const double * getRowUpper () const
 Get pointer to array[getNumRows()] of row upper bounds. More...
 
const double * getObjCoefficients () const
 Get pointer to array[getNumCols()] of objective function coefficients. More...
 
double getObjSense () const
 Get objective function sense (1 for min (default), -1 for max) More...
 
AbcPseudocost ** getPseudoList ()
 
int * getPseudoIndices ()
 
bool isContinuous (int colIndex) const
 Return true if variable is continuous. More...
 
bool isBinary (int colIndex) const
 Return true if variable is binary. More...
 
bool isInteger (int colIndex) const
 Return true if column is integer. More...
 
bool isIntegerNonBinary (int colIndex) const
 Return true if variable is general integer. More...
 
bool isFreeBinary (int colIndex) const
 Return true if variable is binary and not fixed at either bound. More...
 
const CoinPackedMatrix * getMatrixByRow () const
 Get pointer to row-wise copy of matrix. More...
 
const CoinPackedMatrix * getMatrixByCol () const
 Get pointer to column-wise copy of matrix. More...
 
double getInfinity () const
 Get solver's value for infinity. More...
 
int numberRowsAtContinuous () const
 Number of rows in continuous (root) problem. More...
 
void setNumberRowsAtContinous (const int value)
 
int getNumCols () const
 Get number of columns. More...
 
int getNumRows () const
 Get number of rows. More...
 
int getNumElements () const
 Get number of nonzero elements. More...
 
const double * getColLower () const
 Get pointer to array[getNumCols()] of column lower bounds. More...
 
const double * getColUpper () const
 Get pointer to array[getNumCols()] of column upper bounds. More...
 
const char * getRowSense () const
 Get pointer to array[getNumRows()] of row constraint senses. More...
 
const double * getRightHandSide () const
 Get pointer to array[getNumRows()] of rows right-hand sides. More...
 
const double * getRowRange () const
 Get pointer to array[getNumRows()] of row ranges. More...
 
const double * getRowLower () const
 Get pointer to array[getNumRows()] of row lower bounds. More...
 
const double * getRowUpper () const
 Get pointer to array[getNumRows()] of row upper bounds. More...
 
const double * getObjCoefficients () const
 Get pointer to array[getNumCols()] of objective function coefficients. More...
 
double getObjSense () const
 Get objective function sense (1 for min (default), -1 for max) More...
 
AbcPseudocost ** getPseudoList ()
 
int * getPseudoIndices ()
 
bool isContinuous (int colIndex) const
 Return true if variable is continuous. More...
 
bool isBinary (int colIndex) const
 Return true if variable is binary. More...
 
bool isInteger (int colIndex) const
 Return true if column is integer. More...
 
bool isIntegerNonBinary (int colIndex) const
 Return true if variable is general integer. More...
 
bool isFreeBinary (int colIndex) const
 Return true if variable is binary and not fixed at either bound. More...
 
const CoinPackedMatrix * getMatrixByRow () const
 Get pointer to row-wise copy of matrix. More...
 
const CoinPackedMatrix * getMatrixByCol () const
 Get pointer to column-wise copy of matrix. More...
 
double getInfinity () const
 Get solver's value for infinity. More...
 
Methods related to querying the solution
double checkSolution (double cutoff, const double *solution, bool fixVariables)
 Call this to really test if a valid solution can be feasible Solution is number columns in size. More...
 
bool setBestSolution (ABC_Message how, double &objectiveValue, const double *solution, bool fixVariables=false)
 Record a new incumbent solution and update objectiveValue. More...
 
bool feasibleSolution (int &numberIntegerInfeasibilities)
 Test the current solution for feasiblility. More...
 
double * currentSolution () const
 Solution to the most recent lp relaxation. More...
 
const double * getColSolution () const
 Get pointer to array[getNumCols()] of primal solution vector. More...
 
const double * getRowPrice () const
 Get pointer to array[getNumRows()] of dual prices. More...
 
const double * getReducedCost () const
 Get a pointer to array[getNumCols()] of reduced costs. More...
 
const double * getRowActivity () const
 Get pointer to array[getNumRows()] of row activity levels. More...
 
double getCurrentObjValue () const
 Get current objective function value. More...
 
double getObjValue () const
 Get best objective function value. More...
 
void setObjValue (double obj)
 Set the best objective value. More...
 
const double * bestSolution () const
 The best solution to the integer programming problem. More...
 
int getSolutionCount () const
 Get number of solutions. More...
 
void setSolutionCount (int value)
 Set number of solutions (so heuristics will be different) More...
 
int getNumberHeuristicSolutions () const
 Get number of heuristic solutions. More...
 
void setObjSense (double s)
 Set objective function sense (1 for min (default), -1 for max,) More...
 
void setMaximumCutPassesAtRoot (int value)
 Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPassesAtRoot () const
 Get the maximum number of cut passes at root node. More...
 
void setMaximumCutPasses (int value)
 Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPasses () const
 Get the maximum number of cut passes at other nodes (default 10) More...
 
int currentNumberCuts () const
 Number of entries in the list returned by #addedCuts() More...
 
void setCurrentNumberCuts (int value)
 
double checkSolution (double cutoff, const double *solution, bool fixVariables)
 Call this to really test if a valid solution can be feasible Solution is number columns in size. More...
 
bool setBestSolution (ABC_Message how, double &objectiveValue, const double *solution, bool fixVariables=false)
 Record a new incumbent solution and update objectiveValue. More...
 
bool feasibleSolution (int &numberIntegerInfeasibilities)
 Test the current solution for feasiblility. More...
 
double * currentSolution () const
 Solution to the most recent lp relaxation. More...
 
const double * getColSolution () const
 Get pointer to array[getNumCols()] of primal solution vector. More...
 
const double * getRowPrice () const
 Get pointer to array[getNumRows()] of dual prices. More...
 
const double * getReducedCost () const
 Get a pointer to array[getNumCols()] of reduced costs. More...
 
const double * getRowActivity () const
 Get pointer to array[getNumRows()] of row activity levels. More...
 
double getCurrentObjValue () const
 Get current objective function value. More...
 
double getObjValue () const
 Get best objective function value. More...
 
void setObjValue (double obj)
 Set the best objective value. More...
 
const double * bestSolution () const
 The best solution to the integer programming problem. More...
 
int getSolutionCount () const
 Get number of solutions. More...
 
void setSolutionCount (int value)
 Set number of solutions (so heuristics will be different) More...
 
int getNumberHeuristicSolutions () const
 Get number of heuristic solutions. More...
 
void setObjSense (double s)
 Set objective function sense (1 for min (default), -1 for max,) More...
 
void setMaximumCutPassesAtRoot (int value)
 Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPassesAtRoot () const
 Get the maximum number of cut passes at root node. More...
 
void setMaximumCutPasses (int value)
 Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPasses () const
 Get the maximum number of cut passes at other nodes (default 10) More...
 
int currentNumberCuts () const
 Number of entries in the list returned by #addedCuts() More...
 
void setCurrentNumberCuts (int value)
 
double checkSolution (double cutoff, const double *solution, bool fixVariables)
 Call this to really test if a valid solution can be feasible Solution is number columns in size. More...
 
bool setBestSolution (ABC_Message how, double &objectiveValue, const double *solution, bool fixVariables=false)
 Record a new incumbent solution and update objectiveValue. More...
 
bool feasibleSolution (int &numberIntegerInfeasibilities)
 Test the current solution for feasiblility. More...
 
double * currentSolution () const
 Solution to the most recent lp relaxation. More...
 
const double * getColSolution () const
 Get pointer to array[getNumCols()] of primal solution vector. More...
 
const double * getRowPrice () const
 Get pointer to array[getNumRows()] of dual prices. More...
 
const double * getReducedCost () const
 Get a pointer to array[getNumCols()] of reduced costs. More...
 
const double * getRowActivity () const
 Get pointer to array[getNumRows()] of row activity levels. More...
 
double getCurrentObjValue () const
 Get current objective function value. More...
 
double getObjValue () const
 Get best objective function value. More...
 
void setObjValue (double obj)
 Set the best objective value. More...
 
const double * bestSolution () const
 The best solution to the integer programming problem. More...
 
int getSolutionCount () const
 Get number of solutions. More...
 
void setSolutionCount (int value)
 Set number of solutions (so heuristics will be different) More...
 
int getNumberHeuristicSolutions () const
 Get number of heuristic solutions. More...
 
void setObjSense (double s)
 Set objective function sense (1 for min (default), -1 for max,) More...
 
void setMaximumCutPassesAtRoot (int value)
 Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPassesAtRoot () const
 Get the maximum number of cut passes at root node. More...
 
void setMaximumCutPasses (int value)
 Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning. More...
 
int getMaximumCutPasses () const
 Get the maximum number of cut passes at other nodes (default 10) More...
 
int currentNumberCuts () const
 Number of entries in the list returned by #addedCuts() More...
 
void setCurrentNumberCuts (int value)
 
Branching Decisions

See the AbcBranchDecision class for additional information.

AbcBranchDecisionbranchingMethod () const
 Get the current branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision *method)
 Set the branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision &method)
 Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
AbcBranchDecisionbranchingMethod () const
 Get the current branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision *method)
 Set the branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision &method)
 Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
AbcBranchDecisionbranchingMethod () const
 Get the current branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision *method)
 Set the branching decision method. More...
 
void setBranchingMethod (AbcBranchDecision &method)
 Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
Message handling
void passInMessageHandler (CoinMessageHandler *handler)
 Pass in Message handler (not deleted at end) More...
 
void newLanguage (CoinMessages::Language language)
 Set language. More...
 
void setLanguage (CoinMessages::Language language)
 
CoinMessageHandler * messageHandler () const
 Return handler. More...
 
CoinMessages messages ()
 Return messages. More...
 
CoinMessages * messagesPointer ()
 Return pointer to messages. More...
 
bool checkInteger (double value) const
 
void findIntegers (bool startAgain)
 Identify integer variables and create corresponding objects. More...
 
void addCutGenerator (CglCutGenerator *generator, int howOften=1, const char *name=NULL, bool normal=true, bool atSolution=false, bool infeasible=false)
 Add one generator - up to user to delete generators. More...
 
void passInMessageHandler (CoinMessageHandler *handler)
 Pass in Message handler (not deleted at end) More...
 
void newLanguage (CoinMessages::Language language)
 Set language. More...
 
void setLanguage (CoinMessages::Language language)
 
CoinMessageHandler * messageHandler () const
 Return handler. More...
 
CoinMessages messages ()
 Return messages. More...
 
CoinMessages * messagesPointer ()
 Return pointer to messages. More...
 
bool checkInteger (double value) const
 
void findIntegers (bool startAgain)
 Identify integer variables and create corresponding objects. More...
 
void addCutGenerator (CglCutGenerator *generator, int howOften=1, const char *name=NULL, bool normal=true, bool atSolution=false, bool infeasible=false)
 Add one generator - up to user to delete generators. More...
 
void passInMessageHandler (CoinMessageHandler *handler)
 Pass in Message handler (not deleted at end) More...
 
void newLanguage (CoinMessages::Language language)
 Set language. More...
 
void setLanguage (CoinMessages::Language language)
 
CoinMessageHandler * messageHandler () const
 Return handler. More...
 
CoinMessages messages ()
 Return messages. More...
 
CoinMessages * messagesPointer ()
 Return pointer to messages. More...
 
bool checkInteger (double value) const
 
void findIntegers (bool startAgain)
 Identify integer variables and create corresponding objects. More...
 
void addCutGenerator (CglCutGenerator *generator, int howOften=1, const char *name=NULL, bool normal=true, bool atSolution=false, bool infeasible=false)
 Add one generator - up to user to delete generators. More...
 
- Public Member Functions inherited from AlpsModel
 AlpsModel ()
 Default construtor. More...
 
virtual ~AlpsModel ()
 Destructor. More...
 
std::string getDataFile () const
 Get the input file. More...
 
AlpsParamsAlpsPar ()
 Access Alps Parameters. More...
 
void setDataFile (std::string infile)
 Set the data file. More...
 
void writeParameters (std::ostream &outstream) const
 Write out parameters. More...
 
virtual void preprocess ()
 Preprocessing the model. More...
 
virtual void postprocess ()
 Postprocessing results. More...
 
virtual void modelLog ()
 Problem specific log. More...
 
virtual void nodeLog (AlpsTreeNode *node, bool force)
 Node log. More...
 
virtual bool fathomAllNodes ()
 Return true if all nodes on this process can be fathomed. More...
 
virtual void registerKnowledge ()
 Register knowledge class. More...
 
virtual void sendGeneratedKnowledge ()
 Send generated knowledge. More...
 
virtual void receiveGeneratedKnowledge ()
 Receive generated knowledge. More...
 
virtual AlpsEncodedpackSharedKnowlege ()
 Pack knowledge to be shared with others into an encoded object. More...
 
virtual void unpackSharedKnowledge (AlpsEncoded &)
 Unpack and store shared knowledge from an encoded object. More...
 
AlpsEncodedencode () const
 Get encode function defined in AlpsKnowledge. More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Get encode function defined in AlpsKnowledge. More...
 
- Public Member Functions inherited from AlpsKnowledge
 AlpsKnowledge ()
 Default constructor. More...
 
 AlpsKnowledge (AlpsKnowledgeType type)
 
 AlpsKnowledge (AlpsKnowledgeType type, AlpsKnowledgeBroker *broker)
 
virtual ~AlpsKnowledge ()
 Destructor. More...
 
AlpsKnowledgeType getType () const
 Get knowledge type. More...
 
void setType (AlpsKnowledgeType t)
 Set knowledge type. More...
 
AlpsKnowledgeBrokerbroker ()
 Get pointer to the knowledge broker. More...
 
const AlpsKnowledgeBrokerbroker () const
 Get pointer to the knowledge broker. More...
 
void setBroker (AlpsKnowledgeBroker *broker)
 Set knowledge broker. More...
 
AlpsEncodedencode () const
 Encode the content of this into an AlpsEncoded object and return a pointer to it. More...
 

Shared problem data

int numberRowsAtContinuous_
 Number of rows at continuous. More...
 
int numberIntegers_
 Number of integers in problem. More...
 
int * integerVariable_
 Indices of integer variables. More...
 
CoinWarmStartBasis * sharedBasis_
 Pointer to a warm start basis. More...
 
CoinMessageHandler * handler_
 Message handler. More...
 
bool defaultHandler_
 Flag to say if handler_ is the default handler. More...
 
CoinMessages messages_
 Abc messages. More...
 
int intParam_ [AbcLastIntParam]
 Array for integer parameters. More...
 
double dblParam_ [AbcLastDblParam]
 Array for double parameters. More...
 
OsiSolverInterface * solver_
 The solver associated with this model. More...
 
bool ourSolver_
 Ownership of the solver object The convention is that AbcModel owns the null solver. More...
 
OsiSolverInterface * continuousSolver_
 A copy of the solver, taken at the continuous (root) node. More...
 
CoinWarmStartBasis * basis_
 Pointer to a warm start basis. More...
 
CoinWarmStartBasis * lastws_
 Pointer to last warm basis. More...
 
double minimumDrop_
 Minimum degradation in objective value to continue cut generation. More...
 
double bestObjective_
 Best objective. More...
 
double * bestSolution_
 Array holding the incumbent (best) solution. More...
 
double * currentSolution_
 Array holding the current solution. More...
 
OsiCuts globalCuts_
 Global cuts. More...
 
int numberNodes_
 Cumulative number of nodes. More...
 
int numberIterations_
 Cumulative number of iterations. More...
 
int status_
 Status of problem - 0 finished, 1 stopped, 2 difficulties. More...
 
int currentNumberCuts_
 Number of entries in #addedCuts_. More...
 
int maximumNumberCuts_
 Maximum number of cuts. More...
 
int howOftenGlobalScan_
 How often to scan global cuts. More...
 
int maximumDepth_
 Current limit on search tree depth. More...
 
int numberStrong_
 Maximum number of candidates to consider for strong branching. More...
 
int numberCutGenerators_
 Number of cut generators. More...
 
AbcCutGenerator ** generator_
 
int numberHeuristics_
 Number of heuristics. More...
 
AbcHeuristic ** heuristic_
 
int maximumCutPassesAtRoot_
 Maximum number of cut passes at root. More...
 
int maximumCutPasses_
 Maximum number of cut passes. More...
 
AbcBranchDecisionbranchingMethod_
 Variable selection function. More...
 
int numberSolutions_
 Number of solutions. More...
 
int numberHeuristicSolutions_
 Number of heuristic solutions. More...
 
int * priority_
 Priorities. More...
 
AbcPseudocost ** pseudoList_
 
int * pseudoIndices_
 
AbcParamsAbcPar_
 Abc parameters. More...
 
 AbcModel ()
 
 AbcModel (const OsiSolverInterface &rhs)
 
virtual ~AbcModel ()
 
void init ()
 Initialize member data. More...
 
virtual void readInstance (const char *dataFile)
 Read in the problem data. More...
 
void readParameters (const int argnum, const char *const *arglist)
 Read in Alps and Abc parameters. More...
 
AbcParamsAbcPar ()
 
OsiSolverInterface * solver () const
 Returns solver - has current state. More...
 
void assignSolver (OsiSolverInterface *&solver)
 Assign a solver to the model (model assumes ownership) On return, solver will be NULL. More...
 
CoinWarmStartBasis * getEmptyBasis (int ns=0, int na=0) const
 Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch. More...
 
int numberIntegers () const
 Number of integers in problem. More...
 
const int * integerVariable () const
 Integer variables. More...
 
 AbcModel ()
 
 AbcModel (const OsiSolverInterface &rhs)
 
virtual ~AbcModel ()
 
void init ()
 Initialize member data. More...
 
virtual void readInstance (const char *dataFile)
 Read in the problem data. More...
 
void readParameters (const int argnum, const char *const *arglist)
 Read in Alps and Abc parameters. More...
 
AbcParamsAbcPar ()
 
OsiSolverInterface * solver () const
 Returns solver - has current state. More...
 
void assignSolver (OsiSolverInterface *&solver)
 Assign a solver to the model (model assumes ownership) On return, solver will be NULL. More...
 
CoinWarmStartBasis * getEmptyBasis (int ns=0, int na=0) const
 Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch. More...
 
int numberIntegers () const
 Number of integers in problem. More...
 
const int * integerVariable () const
 Integer variables. More...
 
 AbcModel ()
 
 AbcModel (const OsiSolverInterface &rhs)
 
virtual ~AbcModel ()
 
void init ()
 Initialize member data. More...
 
virtual void readInstance (const char *dataFile)
 Read in the problem data. More...
 
void readParameters (const int argnum, const char *const *arglist)
 Read in Alps and Abc parameters. More...
 
AbcParamsAbcPar ()
 
OsiSolverInterface * solver () const
 Returns solver - has current state. More...
 
void assignSolver (OsiSolverInterface *&solver)
 Assign a solver to the model (model assumes ownership) On return, solver will be NULL. More...
 
CoinWarmStartBasis * getEmptyBasis (int ns=0, int na=0) const
 Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch. More...
 
int numberIntegers () const
 Number of integers in problem. More...
 
const int * integerVariable () const
 Integer variables. More...
 

Heuristics and priorities

void addHeuristic (AbcHeuristic *generator)
 Add one heuristic. More...
 
void reducedCostFix ()
 Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties. More...
 
void takeOffCuts ()
 Remove inactive cuts from the model. More...
 
bool setIntParam (AbcIntParam key, int value)
 Set an integer parameter. More...
 
bool setDblParam (AbcDblParam key, double value)
 Set a double parameter. More...
 
int getIntParam (AbcIntParam key) const
 Get an integer parameter. More...
 
double getDblParam (AbcDblParam key) const
 Get a double parameter. More...
 
void setCutoff (double value)
 Set cutoff bound on the objective function. More...
 
double getCutoff () const
 Get the cutoff bound on the objective function - always as minimize. More...
 
bool setMaximumNodes (int value)
 Set the maximum node limit . More...
 
int getMaximumNodes () const
 Get the maximum node limit . More...
 
bool setMaximumSolutions (int value)
 Set the maximum number of solutions desired. More...
 
int getMaximumSolutions () const
 Get the maximum number of solutions desired. More...
 
bool setIntegerTolerance (double value)
 Set the integrality tolerance . More...
 
double getIntegerTolerance () const
 Get the integrality tolerance . More...
 
bool setInfeasibilityWeight (double value)
 Set the weight per integer infeasibility . More...
 
double getInfeasibilityWeight () const
 Get the weight per integer infeasibility . More...
 
bool setAllowableGap (double value)
 Set the allowable gap between the best known solution and the best possible solution. More...
 
double getAllowableGap () const
 Get the allowable gap between the best known solution and the best possible solution. More...
 
void setMinimumDrop (double value)
 Set the minimum drop to continue cuts. More...
 
double getMinimumDrop () const
 Get the minimum drop to continue cuts. More...
 
virtual AlpsTreeNodecreateRoot ()
 Create the root node. More...
 
virtual bool setupSelf ()
 Do necessary work to make model usable. More...
 
int numberStrong () const
 
void setNumberStrong (int number)
 
const int * priority () const
 Priorities. More...
 
int priority (int sequence) const
 Returns priority level for an object (or 1000 if no priorities exist) More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Pack AlpsPar_ into a given encode object. More...
 
virtual AlpsReturnStatus decodeToSelf (AlpsEncoded &encoded)
 Decode the given AlpsEncoded object into this. More...
 
virtual AlpsKnowledgedecode (AlpsEncoded &encoded) const
 Decode the given AlpsEncoded object into a new AlpsKnowledge object and. More...
 
void addHeuristic (AbcHeuristic *generator)
 Add one heuristic. More...
 
void reducedCostFix ()
 Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties. More...
 
void takeOffCuts ()
 Remove inactive cuts from the model. More...
 
bool setIntParam (AbcIntParam key, int value)
 Set an integer parameter. More...
 
bool setDblParam (AbcDblParam key, double value)
 Set a double parameter. More...
 
int getIntParam (AbcIntParam key) const
 Get an integer parameter. More...
 
double getDblParam (AbcDblParam key) const
 Get a double parameter. More...
 
void setCutoff (double value)
 Set cutoff bound on the objective function. More...
 
double getCutoff () const
 Get the cutoff bound on the objective function - always as minimize. More...
 
bool setMaximumNodes (int value)
 Set the maximum node limit . More...
 
int getMaximumNodes () const
 Get the maximum node limit . More...
 
bool setMaximumSolutions (int value)
 Set the maximum number of solutions desired. More...
 
int getMaximumSolutions () const
 Get the maximum number of solutions desired. More...
 
bool setIntegerTolerance (double value)
 Set the integrality tolerance . More...
 
double getIntegerTolerance () const
 Get the integrality tolerance . More...
 
bool setInfeasibilityWeight (double value)
 Set the weight per integer infeasibility . More...
 
double getInfeasibilityWeight () const
 Get the weight per integer infeasibility . More...
 
bool setAllowableGap (double value)
 Set the allowable gap between the best known solution and the best possible solution. More...
 
double getAllowableGap () const
 Get the allowable gap between the best known solution and the best possible solution. More...
 
void setMinimumDrop (double value)
 Set the minimum drop to continue cuts. More...
 
double getMinimumDrop () const
 Get the minimum drop to continue cuts. More...
 
virtual AlpsTreeNodecreateRoot ()
 Create the root node. More...
 
virtual bool setupSelf ()
 Do necessary work to make model usable. More...
 
int numberStrong () const
 
void setNumberStrong (int number)
 
const int * priority () const
 Priorities. More...
 
int priority (int sequence) const
 Returns priority level for an object (or 1000 if no priorities exist) More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Pack AlpsPar_ into a given encode object. More...
 
virtual AlpsReturnStatus decodeToSelf (AlpsEncoded &encoded)
 Decode the given AlpsEncoded object into this. More...
 
virtual AlpsKnowledgedecode (AlpsEncoded &encoded) const
 Decode the given AlpsEncoded object into a new AlpsKnowledge object and. More...
 
void addHeuristic (AbcHeuristic *generator)
 Add one heuristic. More...
 
void reducedCostFix ()
 Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties. More...
 
void takeOffCuts ()
 Remove inactive cuts from the model. More...
 
bool setIntParam (AbcIntParam key, int value)
 Set an integer parameter. More...
 
bool setDblParam (AbcDblParam key, double value)
 Set a double parameter. More...
 
int getIntParam (AbcIntParam key) const
 Get an integer parameter. More...
 
double getDblParam (AbcDblParam key) const
 Get a double parameter. More...
 
void setCutoff (double value)
 Set cutoff bound on the objective function. More...
 
double getCutoff () const
 Get the cutoff bound on the objective function - always as minimize. More...
 
bool setMaximumNodes (int value)
 Set the maximum node limit . More...
 
int getMaximumNodes () const
 Get the maximum node limit . More...
 
bool setMaximumSolutions (int value)
 Set the maximum number of solutions desired. More...
 
int getMaximumSolutions () const
 Get the maximum number of solutions desired. More...
 
bool setIntegerTolerance (double value)
 Set the integrality tolerance . More...
 
double getIntegerTolerance () const
 Get the integrality tolerance . More...
 
bool setInfeasibilityWeight (double value)
 Set the weight per integer infeasibility . More...
 
double getInfeasibilityWeight () const
 Get the weight per integer infeasibility . More...
 
bool setAllowableGap (double value)
 Set the allowable gap between the best known solution and the best possible solution. More...
 
double getAllowableGap () const
 Get the allowable gap between the best known solution and the best possible solution. More...
 
void setMinimumDrop (double value)
 Set the minimum drop to continue cuts. More...
 
double getMinimumDrop () const
 Get the minimum drop to continue cuts. More...
 
virtual AlpsTreeNodecreateRoot ()
 Create the root node. More...
 
virtual bool setupSelf ()
 Do necessary work to make model usable. More...
 
int numberStrong () const
 
void setNumberStrong (int number)
 
const int * priority () const
 Priorities. More...
 
int priority (int sequence) const
 Returns priority level for an object (or 1000 if no priorities exist) More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Pack AlpsPar_ into a given encode object. More...
 
virtual AlpsReturnStatus decodeToSelf (AlpsEncoded &encoded)
 Decode the given AlpsEncoded object into this. More...
 
virtual AlpsKnowledgedecode (AlpsEncoded &encoded) const
 Decode the given AlpsEncoded object into a new AlpsKnowledge object and. More...
 
AlpsEncodedencode () const
 Encode the content of this into an AlpsEncoded object and return a pointer to it. More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Encode the content of this into the given AlpsEncoded object. More...
 
AlpsEncodedencode () const
 Encode the content of this into an AlpsEncoded object and return a pointer to it. More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Encode the content of this into the given AlpsEncoded object. More...
 
AlpsEncodedencode () const
 Encode the content of this into an AlpsEncoded object and return a pointer to it. More...
 
virtual AlpsReturnStatus encode (AlpsEncoded *encoded) const
 Encode the content of this into the given AlpsEncoded object. More...
 
 AbcModel (AbcModel const &)
 Disable copy constructor. More...
 
AbcModeloperator= (AbcModel const &)
 Disable copy assignment operator. More...
 
 AbcModel (AbcModel const &)
 Disable copy constructor. More...
 
AbcModeloperator= (AbcModel const &)
 Disable copy assignment operator. More...
 
 AbcModel (AbcModel const &)
 Disable copy constructor. More...
 
AbcModeloperator= (AbcModel const &)
 Disable copy assignment operator. More...
 

Additional Inherited Members

- Public Attributes inherited from AlpsKnowledge
AlpsKnowledgeBrokerbroker_
 
- Protected Attributes inherited from AlpsModel
std::string dataFile_
 Data file. More...
 
AlpsParamsAlpsPar_
 The parameter set that is used in Alps. More...
 

Detailed Description

Model class for ALPS Branch and Cut.

Definition at line 59 of file AbcModel.h.

Member Enumeration Documentation

◆ AbcIntParam [1/3]

Enumerator
AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 62 of file AbcModel.h.

◆ AbcDblParam [1/3]

Enumerator
AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 79 of file AbcModel.h.

◆ AbcIntParam [2/3]

Enumerator
AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 62 of file AbcModel.h.

◆ AbcDblParam [2/3]

Enumerator
AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 79 of file AbcModel.h.

◆ AbcIntParam [3/3]

Enumerator
AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

AbcMaxNumNode 

The maximum number of nodes before terminating.

AbcMaxNumSol 

The maximum number of solutions before terminating.

AbcFathomDiscipline 

Fathoming discipline Controls objective function comparisons for purposes of fathoming by bound or determining monotonic variables.

If 1, action is taken only when the current objective is strictly worse than the target. Implementation is handled by adding a small tolerance to the target.

AbcLastIntParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 62 of file AbcModel.h.

◆ AbcDblParam [3/3]

Enumerator
AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

AbcIntegerTolerance 

The maximum amount the value of an integer variable can vary from integer and still be considered feasible.

AbcInfeasibilityWeight 

The objective is assumed to worsen by this amount for each integer infeasibility.

AbcCutoffIncrement 

The amount by which to tighten the objective function cutoff when a new solution is discovered.

AbcAllowableGap 

Stop when the gap between the objective value of the best known solution and the best bound on the objective of any solution is less than this.

This is an absolute value. Conversion from a percentage is left to the client.

AbcMaximumSeconds 

The maximum number of seconds before terminating.

A double should be adequate!

AbcLastDblParam 

Just a marker, so that a static sized array can store parameters.

Definition at line 79 of file AbcModel.h.

Constructor & Destructor Documentation

◆ AbcModel() [1/9]

AbcModel::AbcModel ( )
inline

Definition at line 226 of file AbcModel.h.

◆ AbcModel() [2/9]

AbcModel::AbcModel ( const OsiSolverInterface &  rhs)
inline

Definition at line 231 of file AbcModel.h.

◆ ~AbcModel() [1/3]

virtual AbcModel::~AbcModel ( )
inlinevirtual

Definition at line 262 of file AbcModel.h.

◆ AbcModel() [3/9]

AbcModel::AbcModel ( AbcModel const &  )
private

Disable copy constructor.

◆ AbcModel() [4/9]

AbcModel::AbcModel ( )
inline

Definition at line 226 of file AbcModel.h.

◆ AbcModel() [5/9]

AbcModel::AbcModel ( const OsiSolverInterface &  rhs)
inline

Definition at line 231 of file AbcModel.h.

◆ ~AbcModel() [2/3]

virtual AbcModel::~AbcModel ( )
inlinevirtual

Definition at line 262 of file AbcModel.h.

◆ AbcModel() [6/9]

AbcModel::AbcModel ( AbcModel const &  )
private

Disable copy constructor.

◆ AbcModel() [7/9]

AbcModel::AbcModel ( )
inline

Definition at line 226 of file AbcModel.h.

◆ AbcModel() [8/9]

AbcModel::AbcModel ( const OsiSolverInterface &  rhs)
inline

Definition at line 231 of file AbcModel.h.

◆ ~AbcModel() [3/3]

virtual AbcModel::~AbcModel ( )
inlinevirtual

Definition at line 262 of file AbcModel.h.

◆ AbcModel() [9/9]

AbcModel::AbcModel ( AbcModel const &  )
private

Disable copy constructor.

Member Function Documentation

◆ init() [1/3]

void AbcModel::init ( )
inline

Initialize member data.

Definition at line 333 of file AbcModel.h.

◆ readInstance() [1/3]

virtual void AbcModel::readInstance ( const char *  dataFile)
inlinevirtual

Read in the problem data.

Reimplemented from AlpsModel.

Definition at line 386 of file AbcModel.h.

◆ readParameters() [1/3]

void AbcModel::readParameters ( const int  argnum,
const char *const *  arglist 
)
inlinevirtual

Read in Alps and Abc parameters.

Reimplemented from AlpsModel.

Definition at line 392 of file AbcModel.h.

◆ AbcPar() [1/3]

AbcParams* AbcModel::AbcPar ( )
inline

Definition at line 399 of file AbcModel.h.

◆ solver() [1/3]

OsiSolverInterface* AbcModel::solver ( ) const
inline

Returns solver - has current state.

Definition at line 402 of file AbcModel.h.

◆ assignSolver() [1/3]

void AbcModel::assignSolver ( OsiSolverInterface *&  solver)

Assign a solver to the model (model assumes ownership) On return, solver will be NULL.

Note
Parameter settings in the outgoing solver are not inherited by the incoming solver.

◆ getEmptyBasis() [1/3]

CoinWarmStartBasis* AbcModel::getEmptyBasis ( int  ns = 0,
int  na = 0 
) const

Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch.

The object returned will be of the requested capacity and appropriate for the solver attached to the model.

◆ numberIntegers() [1/3]

int AbcModel::numberIntegers ( ) const
inline

Number of integers in problem.

Definition at line 418 of file AbcModel.h.

◆ integerVariable() [1/3]

const int* AbcModel::integerVariable ( ) const
inline

Integer variables.

Definition at line 422 of file AbcModel.h.

◆ initialSolve() [1/3]

void AbcModel::initialSolve ( )

Solve the initial LP relaxation Invoke the solver's initialSolve() method.

◆ solveWithCuts() [1/3]

bool AbcModel::solveWithCuts ( OsiCuts &  cuts,
int  numberTries,
AbcTreeNode node,
int &  numberOldActiveCuts,
int &  numberNewCuts,
int &  maximumWhich,
int *&  whichGenerator,
const bool  cutDuringRampup,
int &  found 
)

Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method.

It returns true if the subproblem remains feasible at the end of the evaluation.

◆ resolve() [1/3]

bool AbcModel::resolve ( )

Reoptimise an LP relaxation Invoke the solver's resolve() method.

◆ isAbandoned() [1/3]

bool AbcModel::isAbandoned ( ) const

Are there a numerical difficulties?

◆ isProvenOptimal() [1/3]

bool AbcModel::isProvenOptimal ( ) const

Is optimality proven?

◆ isProvenInfeasible() [1/3]

bool AbcModel::isProvenInfeasible ( ) const

Is infeasiblity proven (or none better than cutoff)?

◆ isNodeLimitReached() [1/3]

bool AbcModel::isNodeLimitReached ( ) const

Node limit reached?

◆ isSolutionLimitReached() [1/3]

bool AbcModel::isSolutionLimitReached ( ) const

Solution limit reached?

◆ getIterationCount() [1/3]

int AbcModel::getIterationCount ( ) const
inline

Get how many iterations it took to solve the problem.

Definition at line 465 of file AbcModel.h.

◆ getNodeCount() [1/3]

int AbcModel::getNodeCount ( ) const
inline

Get how many Nodes it took to solve the problem.

Definition at line 468 of file AbcModel.h.

◆ incrementNodeCount() [1/3]

void AbcModel::incrementNodeCount ( int  s = 1)
inline

Increment the count of nodes.

Definition at line 471 of file AbcModel.h.

◆ status() [1/3]

int AbcModel::status ( ) const
inline

Final status of problem 0 finished, 1 stopped, 2 difficulties.

Definition at line 477 of file AbcModel.h.

◆ numberRowsAtContinuous() [1/3]

int AbcModel::numberRowsAtContinuous ( ) const
inline

Number of rows in continuous (root) problem.

Definition at line 495 of file AbcModel.h.

◆ setNumberRowsAtContinous() [1/3]

void AbcModel::setNumberRowsAtContinous ( const int  value)
inline

Definition at line 498 of file AbcModel.h.

◆ getNumCols() [1/3]

int AbcModel::getNumCols ( ) const
inline

Get number of columns.

Definition at line 505 of file AbcModel.h.

◆ getNumRows() [1/3]

int AbcModel::getNumRows ( ) const
inline

Get number of rows.

Definition at line 509 of file AbcModel.h.

◆ getNumElements() [1/3]

int AbcModel::getNumElements ( ) const
inline

Get number of nonzero elements.

Definition at line 513 of file AbcModel.h.

◆ getColLower() [1/3]

const double* AbcModel::getColLower ( ) const
inline

Get pointer to array[getNumCols()] of column lower bounds.

Definition at line 517 of file AbcModel.h.

◆ getColUpper() [1/3]

const double* AbcModel::getColUpper ( ) const
inline

Get pointer to array[getNumCols()] of column upper bounds.

Definition at line 521 of file AbcModel.h.

◆ getRowSense() [1/3]

const char* AbcModel::getRowSense ( ) const
inline

Get pointer to array[getNumRows()] of row constraint senses.

  • 'L': <= constraint
  • 'E': = constraint
  • 'G': >= constraint
  • 'R': ranged constraint
  • 'N': free constraint

Definition at line 533 of file AbcModel.h.

◆ getRightHandSide() [1/3]

const double* AbcModel::getRightHandSide ( ) const
inline

Get pointer to array[getNumRows()] of rows right-hand sides.

  • if rowsense()[i] == 'L' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'G' then rhs()[i] == rowlower()[i]
  • if rowsense()[i] == 'R' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'N' then rhs()[i] == 0.0

Definition at line 544 of file AbcModel.h.

◆ getRowRange() [1/3]

const double* AbcModel::getRowRange ( ) const
inline

Get pointer to array[getNumRows()] of row ranges.

  • if rowsense()[i] == 'R' then rowrange()[i] == rowupper()[i] - rowlower()[i]
  • if rowsense()[i] != 'R' then rowrange()[i] is 0.0

Definition at line 555 of file AbcModel.h.

◆ getRowLower() [1/3]

const double* AbcModel::getRowLower ( ) const
inline

Get pointer to array[getNumRows()] of row lower bounds.

Definition at line 559 of file AbcModel.h.

◆ getRowUpper() [1/3]

const double* AbcModel::getRowUpper ( ) const
inline

Get pointer to array[getNumRows()] of row upper bounds.

Definition at line 563 of file AbcModel.h.

◆ getObjCoefficients() [1/3]

const double* AbcModel::getObjCoefficients ( ) const
inline

Get pointer to array[getNumCols()] of objective function coefficients.

Definition at line 567 of file AbcModel.h.

◆ getObjSense() [1/3]

double AbcModel::getObjSense ( ) const
inline

Get objective function sense (1 for min (default), -1 for max)

Definition at line 571 of file AbcModel.h.

◆ getPseudoList() [1/3]

AbcPseudocost** AbcModel::getPseudoList ( )
inline

Definition at line 574 of file AbcModel.h.

◆ getPseudoIndices() [1/3]

int* AbcModel::getPseudoIndices ( )
inline

Definition at line 577 of file AbcModel.h.

◆ isContinuous() [1/3]

bool AbcModel::isContinuous ( int  colIndex) const
inline

Return true if variable is continuous.

Definition at line 580 of file AbcModel.h.

◆ isBinary() [1/3]

bool AbcModel::isBinary ( int  colIndex) const
inline

Return true if variable is binary.

Definition at line 584 of file AbcModel.h.

◆ isInteger() [1/3]

bool AbcModel::isInteger ( int  colIndex) const
inline

Return true if column is integer.

Note: This function returns true if the the column is binary or a general integer.

Definition at line 591 of file AbcModel.h.

◆ isIntegerNonBinary() [1/3]

bool AbcModel::isIntegerNonBinary ( int  colIndex) const
inline

Return true if variable is general integer.

Definition at line 595 of file AbcModel.h.

◆ isFreeBinary() [1/3]

bool AbcModel::isFreeBinary ( int  colIndex) const
inline

Return true if variable is binary and not fixed at either bound.

Definition at line 599 of file AbcModel.h.

◆ getMatrixByRow() [1/3]

const CoinPackedMatrix* AbcModel::getMatrixByRow ( ) const
inline

Get pointer to row-wise copy of matrix.

Definition at line 603 of file AbcModel.h.

◆ getMatrixByCol() [1/3]

const CoinPackedMatrix* AbcModel::getMatrixByCol ( ) const
inline

Get pointer to column-wise copy of matrix.

Definition at line 607 of file AbcModel.h.

◆ getInfinity() [1/3]

double AbcModel::getInfinity ( ) const
inline

Get solver's value for infinity.

Definition at line 611 of file AbcModel.h.

◆ checkSolution() [1/3]

double AbcModel::checkSolution ( double  cutoff,
const double *  solution,
bool  fixVariables 
)

Call this to really test if a valid solution can be feasible Solution is number columns in size.

If fixVariables true then bounds of continuous solver updated. Returns objective value (worse than cutoff if not feasible)

◆ setBestSolution() [1/3]

bool AbcModel::setBestSolution ( ABC_Message  how,
double &  objectiveValue,
const double *  solution,
bool  fixVariables = false 
)

Record a new incumbent solution and update objectiveValue.

◆ feasibleSolution() [1/3]

bool AbcModel::feasibleSolution ( int &  numberIntegerInfeasibilities)

Test the current solution for feasiblility.

Scan all objects for indications of infeasibility. This is broken down into simple integer infeasibility (numberIntegerInfeasibilities) and all other reports of infeasibility (\pnumberObjectInfeasibilities).

◆ currentSolution() [1/3]

double* AbcModel::currentSolution ( ) const
inline

Solution to the most recent lp relaxation.

The solver's solution to the most recent lp relaxation.

Definition at line 643 of file AbcModel.h.

◆ getColSolution() [1/3]

const double* AbcModel::getColSolution ( ) const
inline

Get pointer to array[getNumCols()] of primal solution vector.

Definition at line 647 of file AbcModel.h.

◆ getRowPrice() [1/3]

const double* AbcModel::getRowPrice ( ) const
inline

Get pointer to array[getNumRows()] of dual prices.

Definition at line 651 of file AbcModel.h.

◆ getReducedCost() [1/3]

const double* AbcModel::getReducedCost ( ) const
inline

Get a pointer to array[getNumCols()] of reduced costs.

Definition at line 655 of file AbcModel.h.

◆ getRowActivity() [1/3]

const double* AbcModel::getRowActivity ( ) const
inline

Get pointer to array[getNumRows()] of row activity levels.

Definition at line 659 of file AbcModel.h.

◆ getCurrentObjValue() [1/3]

double AbcModel::getCurrentObjValue ( ) const
inline

Get current objective function value.

Definition at line 663 of file AbcModel.h.

◆ getObjValue() [1/3]

double AbcModel::getObjValue ( ) const
inline

Get best objective function value.

Definition at line 667 of file AbcModel.h.

◆ setObjValue() [1/3]

void AbcModel::setObjValue ( double  obj)
inline

Set the best objective value.

It is not necessary the value from the bestSolution_. It can be get from other processes.

Definition at line 672 of file AbcModel.h.

◆ bestSolution() [1/3]

const double* AbcModel::bestSolution ( ) const
inline

The best solution to the integer programming problem.

The best solution to the integer programming problem found during the search. If no solution is found, the method returns null.

Definition at line 680 of file AbcModel.h.

◆ getSolutionCount() [1/3]

int AbcModel::getSolutionCount ( ) const
inline

Get number of solutions.

Definition at line 684 of file AbcModel.h.

◆ setSolutionCount() [1/3]

void AbcModel::setSolutionCount ( int  value)
inline

Set number of solutions (so heuristics will be different)

Definition at line 688 of file AbcModel.h.

◆ getNumberHeuristicSolutions() [1/3]

int AbcModel::getNumberHeuristicSolutions ( ) const
inline

Get number of heuristic solutions.

Definition at line 692 of file AbcModel.h.

◆ setObjSense() [1/3]

void AbcModel::setObjSense ( double  s)
inline

Set objective function sense (1 for min (default), -1 for max,)

Definition at line 696 of file AbcModel.h.

◆ setMaximumCutPassesAtRoot() [1/3]

void AbcModel::setMaximumCutPassesAtRoot ( int  value)
inline

Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning.

Definition at line 700 of file AbcModel.h.

◆ getMaximumCutPassesAtRoot() [1/3]

int AbcModel::getMaximumCutPassesAtRoot ( ) const
inline

Get the maximum number of cut passes at root node.

Definition at line 703 of file AbcModel.h.

◆ setMaximumCutPasses() [1/3]

void AbcModel::setMaximumCutPasses ( int  value)
inline

Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning.

Definition at line 708 of file AbcModel.h.

◆ getMaximumCutPasses() [1/3]

int AbcModel::getMaximumCutPasses ( ) const
inline

Get the maximum number of cut passes at other nodes (default 10)

Definition at line 711 of file AbcModel.h.

◆ currentNumberCuts() [1/3]

int AbcModel::currentNumberCuts ( ) const
inline

Number of entries in the list returned by #addedCuts()

Definition at line 714 of file AbcModel.h.

◆ setCurrentNumberCuts() [1/3]

void AbcModel::setCurrentNumberCuts ( int  value)
inline

Definition at line 716 of file AbcModel.h.

◆ branchingMethod() [1/3]

AbcBranchDecision* AbcModel::branchingMethod ( ) const
inline

Get the current branching decision method.

Definition at line 731 of file AbcModel.h.

◆ setBranchingMethod() [1/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching decision method.

Definition at line 734 of file AbcModel.h.

◆ setBranchingMethod() [2/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 739 of file AbcModel.h.

◆ passInMessageHandler() [1/3]

void AbcModel::passInMessageHandler ( CoinMessageHandler *  handler)
inline

Pass in Message handler (not deleted at end)

Definition at line 748 of file AbcModel.h.

◆ newLanguage() [1/3]

void AbcModel::newLanguage ( CoinMessages::Language  language)
inline

Set language.

Definition at line 759 of file AbcModel.h.

◆ setLanguage() [1/3]

void AbcModel::setLanguage ( CoinMessages::Language  language)
inline

Definition at line 761 of file AbcModel.h.

◆ messageHandler() [1/3]

CoinMessageHandler* AbcModel::messageHandler ( ) const
inline

Return handler.

Definition at line 764 of file AbcModel.h.

◆ messages() [1/3]

CoinMessages AbcModel::messages ( )
inline

Return messages.

Definition at line 767 of file AbcModel.h.

◆ messagesPointer() [1/3]

CoinMessages* AbcModel::messagesPointer ( )
inline

Return pointer to messages.

Definition at line 770 of file AbcModel.h.

◆ checkInteger() [1/3]

bool AbcModel::checkInteger ( double  value) const
inline

Definition at line 776 of file AbcModel.h.

◆ findIntegers() [1/3]

void AbcModel::findIntegers ( bool  startAgain)

Identify integer variables and create corresponding objects.

Record integer variables and create an integer object for each one. If startAgain is true, a new scan is forced, overwriting any existing integer variable information.

◆ addCutGenerator() [1/3]

void AbcModel::addCutGenerator ( CglCutGenerator *  generator,
int  howOften = 1,
const char *  name = NULL,
bool  normal = true,
bool  atSolution = false,
bool  infeasible = false 
)

Add one generator - up to user to delete generators.

howoften affects how generator is used. 0 or 1 means always, >1 means every that number of nodes. Negative values have same meaning as positive but they may be switched off (-> -100) by code if not many cuts generated at continuous. -99 is just done at root. Name is just for printout

◆ addHeuristic() [1/3]

void AbcModel::addHeuristic ( AbcHeuristic generator)

Add one heuristic.

◆ reducedCostFix() [1/3]

void AbcModel::reducedCostFix ( )

Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.

◆ takeOffCuts() [1/3]

void AbcModel::takeOffCuts ( )

Remove inactive cuts from the model.

An OsiSolverInterface is expected to maintain a valid basis, but not a valid solution, when loose cuts are deleted. Restoring a valid solution requires calling the solver to reoptimise. If it's certain the solution will not be required, set allowResolve to false to suppress reoptimisation.

◆ setIntParam() [1/3]

bool AbcModel::setIntParam ( AbcIntParam  key,
int  value 
)
inline

Set an integer parameter.

Definition at line 832 of file AbcModel.h.

◆ setDblParam() [1/3]

bool AbcModel::setDblParam ( AbcDblParam  key,
double  value 
)
inline

Set a double parameter.

Definition at line 838 of file AbcModel.h.

◆ getIntParam() [1/3]

int AbcModel::getIntParam ( AbcIntParam  key) const
inline

Get an integer parameter.

Definition at line 844 of file AbcModel.h.

◆ getDblParam() [1/3]

double AbcModel::getDblParam ( AbcDblParam  key) const
inline

Get a double parameter.

Definition at line 849 of file AbcModel.h.

◆ setCutoff() [1/3]

void AbcModel::setCutoff ( double  value)

Set cutoff bound on the objective function.

When using strict comparison, the bound is adjusted by a tolerance to avoid accidentally cutting off the optimal solution.

◆ getCutoff() [1/3]

double AbcModel::getCutoff ( ) const
inline

Get the cutoff bound on the objective function - always as minimize.

Definition at line 860 of file AbcModel.h.

◆ setMaximumNodes() [1/3]

bool AbcModel::setMaximumNodes ( int  value)
inline

Set the maximum node limit .

Definition at line 868 of file AbcModel.h.

◆ getMaximumNodes() [1/3]

int AbcModel::getMaximumNodes ( ) const
inline

Get the maximum node limit .

Definition at line 872 of file AbcModel.h.

◆ setMaximumSolutions() [1/3]

bool AbcModel::setMaximumSolutions ( int  value)
inline

Set the maximum number of solutions desired.

Definition at line 879 of file AbcModel.h.

◆ getMaximumSolutions() [1/3]

int AbcModel::getMaximumSolutions ( ) const
inline

Get the maximum number of solutions desired.

Definition at line 886 of file AbcModel.h.

◆ setIntegerTolerance() [1/3]

bool AbcModel::setIntegerTolerance ( double  value)
inline

Set the integrality tolerance .

Definition at line 893 of file AbcModel.h.

◆ getIntegerTolerance() [1/3]

double AbcModel::getIntegerTolerance ( ) const
inline

Get the integrality tolerance .

Definition at line 899 of file AbcModel.h.

◆ setInfeasibilityWeight() [1/3]

bool AbcModel::setInfeasibilityWeight ( double  value)
inline

Set the weight per integer infeasibility .

Definition at line 907 of file AbcModel.h.

◆ getInfeasibilityWeight() [1/3]

double AbcModel::getInfeasibilityWeight ( ) const
inline

Get the weight per integer infeasibility .

Definition at line 914 of file AbcModel.h.

◆ setAllowableGap() [1/3]

bool AbcModel::setAllowableGap ( double  value)
inline

Set the allowable gap between the best known solution and the best possible solution.

Definition at line 921 of file AbcModel.h.

◆ getAllowableGap() [1/3]

double AbcModel::getAllowableGap ( ) const
inline

Get the allowable gap between the best known solution and the best possible solution.

Definition at line 927 of file AbcModel.h.

◆ setMinimumDrop() [1/3]

void AbcModel::setMinimumDrop ( double  value)
inline

Set the minimum drop to continue cuts.

Definition at line 932 of file AbcModel.h.

◆ getMinimumDrop() [1/3]

double AbcModel::getMinimumDrop ( ) const
inline

Get the minimum drop to continue cuts.

Definition at line 935 of file AbcModel.h.

◆ createRoot() [1/3]

virtual AlpsTreeNode* AbcModel::createRoot ( )
virtual

Create the root node.

Default: do nothing

Implements AlpsModel.

◆ setupSelf() [1/3]

virtual bool AbcModel::setupSelf ( )
virtual

Do necessary work to make model usable.

Return success or not.

Reimplemented from AlpsModel.

◆ numberStrong() [1/3]

int AbcModel::numberStrong ( ) const
inline

Definition at line 945 of file AbcModel.h.

◆ setNumberStrong() [1/3]

void AbcModel::setNumberStrong ( int  number)
inline

Definition at line 948 of file AbcModel.h.

◆ priority() [1/6]

const int* AbcModel::priority ( ) const
inline

Priorities.

Definition at line 957 of file AbcModel.h.

◆ priority() [2/6]

int AbcModel::priority ( int  sequence) const
inline

Returns priority level for an object (or 1000 if no priorities exist)

Definition at line 960 of file AbcModel.h.

◆ encode() [1/9]

virtual AlpsReturnStatus AbcModel::encode ( AlpsEncoded encoded) const
virtual

Pack AlpsPar_ into a given encode object.

Reimplemented from AlpsModel.

◆ decodeToSelf() [1/3]

virtual AlpsReturnStatus AbcModel::decodeToSelf ( AlpsEncoded encoded)
virtual

Decode the given AlpsEncoded object into this.

Reimplemented from AlpsModel.

◆ decode() [1/3]

virtual AlpsKnowledge* AbcModel::decode ( AlpsEncoded encoded) const
virtual

Decode the given AlpsEncoded object into a new AlpsKnowledge object and.

return a pointer to it. User application sub-classes should implement this since the returned pointer will point to user sub-class instances.

Implements AlpsKnowledge.

◆ operator=() [1/3]

AbcModel& AbcModel::operator= ( AbcModel const &  )
private

Disable copy assignment operator.

◆ init() [2/3]

void AbcModel::init ( )
inline

Initialize member data.

Definition at line 333 of file AbcModel.h.

◆ readInstance() [2/3]

virtual void AbcModel::readInstance ( const char *  dataFile)
inlinevirtual

Read in the problem data.

Reimplemented from AlpsModel.

Definition at line 386 of file AbcModel.h.

◆ readParameters() [2/3]

void AbcModel::readParameters ( const int  argnum,
const char *const *  arglist 
)
inlinevirtual

Read in Alps and Abc parameters.

Reimplemented from AlpsModel.

Definition at line 392 of file AbcModel.h.

◆ AbcPar() [2/3]

AbcParams* AbcModel::AbcPar ( )
inline

Definition at line 399 of file AbcModel.h.

◆ solver() [2/3]

OsiSolverInterface* AbcModel::solver ( ) const
inline

Returns solver - has current state.

Definition at line 402 of file AbcModel.h.

◆ assignSolver() [2/3]

void AbcModel::assignSolver ( OsiSolverInterface *&  solver)

Assign a solver to the model (model assumes ownership) On return, solver will be NULL.

Note
Parameter settings in the outgoing solver are not inherited by the incoming solver.

◆ getEmptyBasis() [2/3]

CoinWarmStartBasis* AbcModel::getEmptyBasis ( int  ns = 0,
int  na = 0 
) const

Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch.

The object returned will be of the requested capacity and appropriate for the solver attached to the model.

◆ numberIntegers() [2/3]

int AbcModel::numberIntegers ( ) const
inline

Number of integers in problem.

Definition at line 418 of file AbcModel.h.

◆ integerVariable() [2/3]

const int* AbcModel::integerVariable ( ) const
inline

Integer variables.

Definition at line 422 of file AbcModel.h.

◆ initialSolve() [2/3]

void AbcModel::initialSolve ( )

Solve the initial LP relaxation Invoke the solver's initialSolve() method.

◆ solveWithCuts() [2/3]

bool AbcModel::solveWithCuts ( OsiCuts &  cuts,
int  numberTries,
AbcTreeNode node,
int &  numberOldActiveCuts,
int &  numberNewCuts,
int &  maximumWhich,
int *&  whichGenerator,
const bool  cutDuringRampup,
int &  found 
)

Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method.

It returns true if the subproblem remains feasible at the end of the evaluation.

◆ resolve() [2/3]

bool AbcModel::resolve ( )

Reoptimise an LP relaxation Invoke the solver's resolve() method.

◆ isAbandoned() [2/3]

bool AbcModel::isAbandoned ( ) const

Are there a numerical difficulties?

◆ isProvenOptimal() [2/3]

bool AbcModel::isProvenOptimal ( ) const

Is optimality proven?

◆ isProvenInfeasible() [2/3]

bool AbcModel::isProvenInfeasible ( ) const

Is infeasiblity proven (or none better than cutoff)?

◆ isNodeLimitReached() [2/3]

bool AbcModel::isNodeLimitReached ( ) const

Node limit reached?

◆ isSolutionLimitReached() [2/3]

bool AbcModel::isSolutionLimitReached ( ) const

Solution limit reached?

◆ getIterationCount() [2/3]

int AbcModel::getIterationCount ( ) const
inline

Get how many iterations it took to solve the problem.

Definition at line 465 of file AbcModel.h.

◆ getNodeCount() [2/3]

int AbcModel::getNodeCount ( ) const
inline

Get how many Nodes it took to solve the problem.

Definition at line 468 of file AbcModel.h.

◆ incrementNodeCount() [2/3]

void AbcModel::incrementNodeCount ( int  s = 1)
inline

Increment the count of nodes.

Definition at line 471 of file AbcModel.h.

◆ status() [2/3]

int AbcModel::status ( ) const
inline

Final status of problem 0 finished, 1 stopped, 2 difficulties.

Definition at line 477 of file AbcModel.h.

◆ numberRowsAtContinuous() [2/3]

int AbcModel::numberRowsAtContinuous ( ) const
inline

Number of rows in continuous (root) problem.

Definition at line 495 of file AbcModel.h.

◆ setNumberRowsAtContinous() [2/3]

void AbcModel::setNumberRowsAtContinous ( const int  value)
inline

Definition at line 498 of file AbcModel.h.

◆ getNumCols() [2/3]

int AbcModel::getNumCols ( ) const
inline

Get number of columns.

Definition at line 505 of file AbcModel.h.

◆ getNumRows() [2/3]

int AbcModel::getNumRows ( ) const
inline

Get number of rows.

Definition at line 509 of file AbcModel.h.

◆ getNumElements() [2/3]

int AbcModel::getNumElements ( ) const
inline

Get number of nonzero elements.

Definition at line 513 of file AbcModel.h.

◆ getColLower() [2/3]

const double* AbcModel::getColLower ( ) const
inline

Get pointer to array[getNumCols()] of column lower bounds.

Definition at line 517 of file AbcModel.h.

◆ getColUpper() [2/3]

const double* AbcModel::getColUpper ( ) const
inline

Get pointer to array[getNumCols()] of column upper bounds.

Definition at line 521 of file AbcModel.h.

◆ getRowSense() [2/3]

const char* AbcModel::getRowSense ( ) const
inline

Get pointer to array[getNumRows()] of row constraint senses.

  • 'L': <= constraint
  • 'E': = constraint
  • 'G': >= constraint
  • 'R': ranged constraint
  • 'N': free constraint

Definition at line 533 of file AbcModel.h.

◆ getRightHandSide() [2/3]

const double* AbcModel::getRightHandSide ( ) const
inline

Get pointer to array[getNumRows()] of rows right-hand sides.

  • if rowsense()[i] == 'L' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'G' then rhs()[i] == rowlower()[i]
  • if rowsense()[i] == 'R' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'N' then rhs()[i] == 0.0

Definition at line 544 of file AbcModel.h.

◆ getRowRange() [2/3]

const double* AbcModel::getRowRange ( ) const
inline

Get pointer to array[getNumRows()] of row ranges.

  • if rowsense()[i] == 'R' then rowrange()[i] == rowupper()[i] - rowlower()[i]
  • if rowsense()[i] != 'R' then rowrange()[i] is 0.0

Definition at line 555 of file AbcModel.h.

◆ getRowLower() [2/3]

const double* AbcModel::getRowLower ( ) const
inline

Get pointer to array[getNumRows()] of row lower bounds.

Definition at line 559 of file AbcModel.h.

◆ getRowUpper() [2/3]

const double* AbcModel::getRowUpper ( ) const
inline

Get pointer to array[getNumRows()] of row upper bounds.

Definition at line 563 of file AbcModel.h.

◆ getObjCoefficients() [2/3]

const double* AbcModel::getObjCoefficients ( ) const
inline

Get pointer to array[getNumCols()] of objective function coefficients.

Definition at line 567 of file AbcModel.h.

◆ getObjSense() [2/3]

double AbcModel::getObjSense ( ) const
inline

Get objective function sense (1 for min (default), -1 for max)

Definition at line 571 of file AbcModel.h.

◆ getPseudoList() [2/3]

AbcPseudocost** AbcModel::getPseudoList ( )
inline

Definition at line 574 of file AbcModel.h.

◆ getPseudoIndices() [2/3]

int* AbcModel::getPseudoIndices ( )
inline

Definition at line 577 of file AbcModel.h.

◆ isContinuous() [2/3]

bool AbcModel::isContinuous ( int  colIndex) const
inline

Return true if variable is continuous.

Definition at line 580 of file AbcModel.h.

◆ isBinary() [2/3]

bool AbcModel::isBinary ( int  colIndex) const
inline

Return true if variable is binary.

Definition at line 584 of file AbcModel.h.

◆ isInteger() [2/3]

bool AbcModel::isInteger ( int  colIndex) const
inline

Return true if column is integer.

Note: This function returns true if the the column is binary or a general integer.

Definition at line 591 of file AbcModel.h.

◆ isIntegerNonBinary() [2/3]

bool AbcModel::isIntegerNonBinary ( int  colIndex) const
inline

Return true if variable is general integer.

Definition at line 595 of file AbcModel.h.

◆ isFreeBinary() [2/3]

bool AbcModel::isFreeBinary ( int  colIndex) const
inline

Return true if variable is binary and not fixed at either bound.

Definition at line 599 of file AbcModel.h.

◆ getMatrixByRow() [2/3]

const CoinPackedMatrix* AbcModel::getMatrixByRow ( ) const
inline

Get pointer to row-wise copy of matrix.

Definition at line 603 of file AbcModel.h.

◆ getMatrixByCol() [2/3]

const CoinPackedMatrix* AbcModel::getMatrixByCol ( ) const
inline

Get pointer to column-wise copy of matrix.

Definition at line 607 of file AbcModel.h.

◆ getInfinity() [2/3]

double AbcModel::getInfinity ( ) const
inline

Get solver's value for infinity.

Definition at line 611 of file AbcModel.h.

◆ checkSolution() [2/3]

double AbcModel::checkSolution ( double  cutoff,
const double *  solution,
bool  fixVariables 
)

Call this to really test if a valid solution can be feasible Solution is number columns in size.

If fixVariables true then bounds of continuous solver updated. Returns objective value (worse than cutoff if not feasible)

◆ setBestSolution() [2/3]

bool AbcModel::setBestSolution ( ABC_Message  how,
double &  objectiveValue,
const double *  solution,
bool  fixVariables = false 
)

Record a new incumbent solution and update objectiveValue.

◆ feasibleSolution() [2/3]

bool AbcModel::feasibleSolution ( int &  numberIntegerInfeasibilities)

Test the current solution for feasiblility.

Scan all objects for indications of infeasibility. This is broken down into simple integer infeasibility (numberIntegerInfeasibilities) and all other reports of infeasibility (\pnumberObjectInfeasibilities).

◆ currentSolution() [2/3]

double* AbcModel::currentSolution ( ) const
inline

Solution to the most recent lp relaxation.

The solver's solution to the most recent lp relaxation.

Definition at line 643 of file AbcModel.h.

◆ getColSolution() [2/3]

const double* AbcModel::getColSolution ( ) const
inline

Get pointer to array[getNumCols()] of primal solution vector.

Definition at line 647 of file AbcModel.h.

◆ getRowPrice() [2/3]

const double* AbcModel::getRowPrice ( ) const
inline

Get pointer to array[getNumRows()] of dual prices.

Definition at line 651 of file AbcModel.h.

◆ getReducedCost() [2/3]

const double* AbcModel::getReducedCost ( ) const
inline

Get a pointer to array[getNumCols()] of reduced costs.

Definition at line 655 of file AbcModel.h.

◆ getRowActivity() [2/3]

const double* AbcModel::getRowActivity ( ) const
inline

Get pointer to array[getNumRows()] of row activity levels.

Definition at line 659 of file AbcModel.h.

◆ getCurrentObjValue() [2/3]

double AbcModel::getCurrentObjValue ( ) const
inline

Get current objective function value.

Definition at line 663 of file AbcModel.h.

◆ getObjValue() [2/3]

double AbcModel::getObjValue ( ) const
inline

Get best objective function value.

Definition at line 667 of file AbcModel.h.

◆ setObjValue() [2/3]

void AbcModel::setObjValue ( double  obj)
inline

Set the best objective value.

It is not necessary the value from the bestSolution_. It can be get from other processes.

Definition at line 672 of file AbcModel.h.

◆ bestSolution() [2/3]

const double* AbcModel::bestSolution ( ) const
inline

The best solution to the integer programming problem.

The best solution to the integer programming problem found during the search. If no solution is found, the method returns null.

Definition at line 680 of file AbcModel.h.

◆ getSolutionCount() [2/3]

int AbcModel::getSolutionCount ( ) const
inline

Get number of solutions.

Definition at line 684 of file AbcModel.h.

◆ setSolutionCount() [2/3]

void AbcModel::setSolutionCount ( int  value)
inline

Set number of solutions (so heuristics will be different)

Definition at line 688 of file AbcModel.h.

◆ getNumberHeuristicSolutions() [2/3]

int AbcModel::getNumberHeuristicSolutions ( ) const
inline

Get number of heuristic solutions.

Definition at line 692 of file AbcModel.h.

◆ setObjSense() [2/3]

void AbcModel::setObjSense ( double  s)
inline

Set objective function sense (1 for min (default), -1 for max,)

Definition at line 696 of file AbcModel.h.

◆ setMaximumCutPassesAtRoot() [2/3]

void AbcModel::setMaximumCutPassesAtRoot ( int  value)
inline

Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning.

Definition at line 700 of file AbcModel.h.

◆ getMaximumCutPassesAtRoot() [2/3]

int AbcModel::getMaximumCutPassesAtRoot ( ) const
inline

Get the maximum number of cut passes at root node.

Definition at line 703 of file AbcModel.h.

◆ setMaximumCutPasses() [2/3]

void AbcModel::setMaximumCutPasses ( int  value)
inline

Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning.

Definition at line 708 of file AbcModel.h.

◆ getMaximumCutPasses() [2/3]

int AbcModel::getMaximumCutPasses ( ) const
inline

Get the maximum number of cut passes at other nodes (default 10)

Definition at line 711 of file AbcModel.h.

◆ currentNumberCuts() [2/3]

int AbcModel::currentNumberCuts ( ) const
inline

Number of entries in the list returned by #addedCuts()

Definition at line 714 of file AbcModel.h.

◆ setCurrentNumberCuts() [2/3]

void AbcModel::setCurrentNumberCuts ( int  value)
inline

Definition at line 716 of file AbcModel.h.

◆ branchingMethod() [2/3]

AbcBranchDecision* AbcModel::branchingMethod ( ) const
inline

Get the current branching decision method.

Definition at line 731 of file AbcModel.h.

◆ setBranchingMethod() [3/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching decision method.

Definition at line 734 of file AbcModel.h.

◆ setBranchingMethod() [4/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 739 of file AbcModel.h.

◆ passInMessageHandler() [2/3]

void AbcModel::passInMessageHandler ( CoinMessageHandler *  handler)
inline

Pass in Message handler (not deleted at end)

Definition at line 748 of file AbcModel.h.

◆ newLanguage() [2/3]

void AbcModel::newLanguage ( CoinMessages::Language  language)
inline

Set language.

Definition at line 759 of file AbcModel.h.

◆ setLanguage() [2/3]

void AbcModel::setLanguage ( CoinMessages::Language  language)
inline

Definition at line 761 of file AbcModel.h.

◆ messageHandler() [2/3]

CoinMessageHandler* AbcModel::messageHandler ( ) const
inline

Return handler.

Definition at line 764 of file AbcModel.h.

◆ messages() [2/3]

CoinMessages AbcModel::messages ( )
inline

Return messages.

Definition at line 767 of file AbcModel.h.

◆ messagesPointer() [2/3]

CoinMessages* AbcModel::messagesPointer ( )
inline

Return pointer to messages.

Definition at line 770 of file AbcModel.h.

◆ checkInteger() [2/3]

bool AbcModel::checkInteger ( double  value) const
inline

Definition at line 776 of file AbcModel.h.

◆ findIntegers() [2/3]

void AbcModel::findIntegers ( bool  startAgain)

Identify integer variables and create corresponding objects.

Record integer variables and create an integer object for each one. If startAgain is true, a new scan is forced, overwriting any existing integer variable information.

◆ addCutGenerator() [2/3]

void AbcModel::addCutGenerator ( CglCutGenerator *  generator,
int  howOften = 1,
const char *  name = NULL,
bool  normal = true,
bool  atSolution = false,
bool  infeasible = false 
)

Add one generator - up to user to delete generators.

howoften affects how generator is used. 0 or 1 means always, >1 means every that number of nodes. Negative values have same meaning as positive but they may be switched off (-> -100) by code if not many cuts generated at continuous. -99 is just done at root. Name is just for printout

◆ addHeuristic() [2/3]

void AbcModel::addHeuristic ( AbcHeuristic generator)

Add one heuristic.

◆ reducedCostFix() [2/3]

void AbcModel::reducedCostFix ( )

Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.

◆ takeOffCuts() [2/3]

void AbcModel::takeOffCuts ( )

Remove inactive cuts from the model.

An OsiSolverInterface is expected to maintain a valid basis, but not a valid solution, when loose cuts are deleted. Restoring a valid solution requires calling the solver to reoptimise. If it's certain the solution will not be required, set allowResolve to false to suppress reoptimisation.

◆ setIntParam() [2/3]

bool AbcModel::setIntParam ( AbcIntParam  key,
int  value 
)
inline

Set an integer parameter.

Definition at line 832 of file AbcModel.h.

◆ setDblParam() [2/3]

bool AbcModel::setDblParam ( AbcDblParam  key,
double  value 
)
inline

Set a double parameter.

Definition at line 838 of file AbcModel.h.

◆ getIntParam() [2/3]

int AbcModel::getIntParam ( AbcIntParam  key) const
inline

Get an integer parameter.

Definition at line 844 of file AbcModel.h.

◆ getDblParam() [2/3]

double AbcModel::getDblParam ( AbcDblParam  key) const
inline

Get a double parameter.

Definition at line 849 of file AbcModel.h.

◆ setCutoff() [2/3]

void AbcModel::setCutoff ( double  value)

Set cutoff bound on the objective function.

When using strict comparison, the bound is adjusted by a tolerance to avoid accidentally cutting off the optimal solution.

◆ getCutoff() [2/3]

double AbcModel::getCutoff ( ) const
inline

Get the cutoff bound on the objective function - always as minimize.

Definition at line 860 of file AbcModel.h.

◆ setMaximumNodes() [2/3]

bool AbcModel::setMaximumNodes ( int  value)
inline

Set the maximum node limit .

Definition at line 868 of file AbcModel.h.

◆ getMaximumNodes() [2/3]

int AbcModel::getMaximumNodes ( ) const
inline

Get the maximum node limit .

Definition at line 872 of file AbcModel.h.

◆ setMaximumSolutions() [2/3]

bool AbcModel::setMaximumSolutions ( int  value)
inline

Set the maximum number of solutions desired.

Definition at line 879 of file AbcModel.h.

◆ getMaximumSolutions() [2/3]

int AbcModel::getMaximumSolutions ( ) const
inline

Get the maximum number of solutions desired.

Definition at line 886 of file AbcModel.h.

◆ setIntegerTolerance() [2/3]

bool AbcModel::setIntegerTolerance ( double  value)
inline

Set the integrality tolerance .

Definition at line 893 of file AbcModel.h.

◆ getIntegerTolerance() [2/3]

double AbcModel::getIntegerTolerance ( ) const
inline

Get the integrality tolerance .

Definition at line 899 of file AbcModel.h.

◆ setInfeasibilityWeight() [2/3]

bool AbcModel::setInfeasibilityWeight ( double  value)
inline

Set the weight per integer infeasibility .

Definition at line 907 of file AbcModel.h.

◆ getInfeasibilityWeight() [2/3]

double AbcModel::getInfeasibilityWeight ( ) const
inline

Get the weight per integer infeasibility .

Definition at line 914 of file AbcModel.h.

◆ setAllowableGap() [2/3]

bool AbcModel::setAllowableGap ( double  value)
inline

Set the allowable gap between the best known solution and the best possible solution.

Definition at line 921 of file AbcModel.h.

◆ getAllowableGap() [2/3]

double AbcModel::getAllowableGap ( ) const
inline

Get the allowable gap between the best known solution and the best possible solution.

Definition at line 927 of file AbcModel.h.

◆ setMinimumDrop() [2/3]

void AbcModel::setMinimumDrop ( double  value)
inline

Set the minimum drop to continue cuts.

Definition at line 932 of file AbcModel.h.

◆ getMinimumDrop() [2/3]

double AbcModel::getMinimumDrop ( ) const
inline

Get the minimum drop to continue cuts.

Definition at line 935 of file AbcModel.h.

◆ createRoot() [2/3]

virtual AlpsTreeNode* AbcModel::createRoot ( )
virtual

Create the root node.

Default: do nothing

Implements AlpsModel.

◆ setupSelf() [2/3]

virtual bool AbcModel::setupSelf ( )
virtual

Do necessary work to make model usable.

Return success or not.

Reimplemented from AlpsModel.

◆ numberStrong() [2/3]

int AbcModel::numberStrong ( ) const
inline

Definition at line 945 of file AbcModel.h.

◆ setNumberStrong() [2/3]

void AbcModel::setNumberStrong ( int  number)
inline

Definition at line 948 of file AbcModel.h.

◆ priority() [3/6]

const int* AbcModel::priority ( ) const
inline

Priorities.

Definition at line 957 of file AbcModel.h.

◆ priority() [4/6]

int AbcModel::priority ( int  sequence) const
inline

Returns priority level for an object (or 1000 if no priorities exist)

Definition at line 960 of file AbcModel.h.

◆ encode() [2/9]

virtual AlpsReturnStatus AbcModel::encode ( AlpsEncoded encoded) const
virtual

Pack AlpsPar_ into a given encode object.

Reimplemented from AlpsModel.

◆ decodeToSelf() [2/3]

virtual AlpsReturnStatus AbcModel::decodeToSelf ( AlpsEncoded encoded)
virtual

Decode the given AlpsEncoded object into this.

Reimplemented from AlpsModel.

◆ decode() [2/3]

virtual AlpsKnowledge* AbcModel::decode ( AlpsEncoded encoded) const
virtual

Decode the given AlpsEncoded object into a new AlpsKnowledge object and.

return a pointer to it. User application sub-classes should implement this since the returned pointer will point to user sub-class instances.

Implements AlpsKnowledge.

◆ operator=() [2/3]

AbcModel& AbcModel::operator= ( AbcModel const &  )
private

Disable copy assignment operator.

◆ init() [3/3]

void AbcModel::init ( )
inline

Initialize member data.

Definition at line 333 of file AbcModel.h.

◆ readInstance() [3/3]

virtual void AbcModel::readInstance ( const char *  dataFile)
inlinevirtual

Read in the problem data.

Reimplemented from AlpsModel.

Definition at line 386 of file AbcModel.h.

◆ readParameters() [3/3]

void AbcModel::readParameters ( const int  argnum,
const char *const *  arglist 
)
inlinevirtual

Read in Alps and Abc parameters.

Reimplemented from AlpsModel.

Definition at line 392 of file AbcModel.h.

◆ AbcPar() [3/3]

AbcParams* AbcModel::AbcPar ( )
inline

Definition at line 399 of file AbcModel.h.

◆ solver() [3/3]

OsiSolverInterface* AbcModel::solver ( ) const
inline

Returns solver - has current state.

Definition at line 402 of file AbcModel.h.

◆ assignSolver() [3/3]

void AbcModel::assignSolver ( OsiSolverInterface *&  solver)

Assign a solver to the model (model assumes ownership) On return, solver will be NULL.

Note
Parameter settings in the outgoing solver are not inherited by the incoming solver.

◆ getEmptyBasis() [3/3]

CoinWarmStartBasis* AbcModel::getEmptyBasis ( int  ns = 0,
int  na = 0 
) const

Return an empty basis object of the specified size A useful utility when constructing a basis for a subproblem from scratch.

The object returned will be of the requested capacity and appropriate for the solver attached to the model.

◆ numberIntegers() [3/3]

int AbcModel::numberIntegers ( ) const
inline

Number of integers in problem.

Definition at line 418 of file AbcModel.h.

◆ integerVariable() [3/3]

const int* AbcModel::integerVariable ( ) const
inline

Integer variables.

Definition at line 422 of file AbcModel.h.

◆ initialSolve() [3/3]

void AbcModel::initialSolve ( )

Solve the initial LP relaxation Invoke the solver's initialSolve() method.

◆ solveWithCuts() [3/3]

bool AbcModel::solveWithCuts ( OsiCuts &  cuts,
int  numberTries,
AbcTreeNode node,
int &  numberOldActiveCuts,
int &  numberNewCuts,
int &  maximumWhich,
int *&  whichGenerator,
const bool  cutDuringRampup,
int &  found 
)

Evaluate a subproblem using cutting planes and heuristics The method invokes a main loop which generates cuts, applies heuristics, and reoptimises using the solver's native resolve() method.

It returns true if the subproblem remains feasible at the end of the evaluation.

◆ resolve() [3/3]

bool AbcModel::resolve ( )

Reoptimise an LP relaxation Invoke the solver's resolve() method.

◆ isAbandoned() [3/3]

bool AbcModel::isAbandoned ( ) const

Are there a numerical difficulties?

◆ isProvenOptimal() [3/3]

bool AbcModel::isProvenOptimal ( ) const

Is optimality proven?

◆ isProvenInfeasible() [3/3]

bool AbcModel::isProvenInfeasible ( ) const

Is infeasiblity proven (or none better than cutoff)?

◆ isNodeLimitReached() [3/3]

bool AbcModel::isNodeLimitReached ( ) const

Node limit reached?

◆ isSolutionLimitReached() [3/3]

bool AbcModel::isSolutionLimitReached ( ) const

Solution limit reached?

◆ getIterationCount() [3/3]

int AbcModel::getIterationCount ( ) const
inline

Get how many iterations it took to solve the problem.

Definition at line 465 of file AbcModel.h.

◆ getNodeCount() [3/3]

int AbcModel::getNodeCount ( ) const
inline

Get how many Nodes it took to solve the problem.

Definition at line 468 of file AbcModel.h.

◆ incrementNodeCount() [3/3]

void AbcModel::incrementNodeCount ( int  s = 1)
inline

Increment the count of nodes.

Definition at line 471 of file AbcModel.h.

◆ status() [3/3]

int AbcModel::status ( ) const
inline

Final status of problem 0 finished, 1 stopped, 2 difficulties.

Definition at line 477 of file AbcModel.h.

◆ numberRowsAtContinuous() [3/3]

int AbcModel::numberRowsAtContinuous ( ) const
inline

Number of rows in continuous (root) problem.

Definition at line 495 of file AbcModel.h.

◆ setNumberRowsAtContinous() [3/3]

void AbcModel::setNumberRowsAtContinous ( const int  value)
inline

Definition at line 498 of file AbcModel.h.

◆ getNumCols() [3/3]

int AbcModel::getNumCols ( ) const
inline

Get number of columns.

Definition at line 505 of file AbcModel.h.

◆ getNumRows() [3/3]

int AbcModel::getNumRows ( ) const
inline

Get number of rows.

Definition at line 509 of file AbcModel.h.

◆ getNumElements() [3/3]

int AbcModel::getNumElements ( ) const
inline

Get number of nonzero elements.

Definition at line 513 of file AbcModel.h.

◆ getColLower() [3/3]

const double* AbcModel::getColLower ( ) const
inline

Get pointer to array[getNumCols()] of column lower bounds.

Definition at line 517 of file AbcModel.h.

◆ getColUpper() [3/3]

const double* AbcModel::getColUpper ( ) const
inline

Get pointer to array[getNumCols()] of column upper bounds.

Definition at line 521 of file AbcModel.h.

◆ getRowSense() [3/3]

const char* AbcModel::getRowSense ( ) const
inline

Get pointer to array[getNumRows()] of row constraint senses.

  • 'L': <= constraint
  • 'E': = constraint
  • 'G': >= constraint
  • 'R': ranged constraint
  • 'N': free constraint

Definition at line 533 of file AbcModel.h.

◆ getRightHandSide() [3/3]

const double* AbcModel::getRightHandSide ( ) const
inline

Get pointer to array[getNumRows()] of rows right-hand sides.

  • if rowsense()[i] == 'L' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'G' then rhs()[i] == rowlower()[i]
  • if rowsense()[i] == 'R' then rhs()[i] == rowupper()[i]
  • if rowsense()[i] == 'N' then rhs()[i] == 0.0

Definition at line 544 of file AbcModel.h.

◆ getRowRange() [3/3]

const double* AbcModel::getRowRange ( ) const
inline

Get pointer to array[getNumRows()] of row ranges.

  • if rowsense()[i] == 'R' then rowrange()[i] == rowupper()[i] - rowlower()[i]
  • if rowsense()[i] != 'R' then rowrange()[i] is 0.0

Definition at line 555 of file AbcModel.h.

◆ getRowLower() [3/3]

const double* AbcModel::getRowLower ( ) const
inline

Get pointer to array[getNumRows()] of row lower bounds.

Definition at line 559 of file AbcModel.h.

◆ getRowUpper() [3/3]

const double* AbcModel::getRowUpper ( ) const
inline

Get pointer to array[getNumRows()] of row upper bounds.

Definition at line 563 of file AbcModel.h.

◆ getObjCoefficients() [3/3]

const double* AbcModel::getObjCoefficients ( ) const
inline

Get pointer to array[getNumCols()] of objective function coefficients.

Definition at line 567 of file AbcModel.h.

◆ getObjSense() [3/3]

double AbcModel::getObjSense ( ) const
inline

Get objective function sense (1 for min (default), -1 for max)

Definition at line 571 of file AbcModel.h.

◆ getPseudoList() [3/3]

AbcPseudocost** AbcModel::getPseudoList ( )
inline

Definition at line 574 of file AbcModel.h.

◆ getPseudoIndices() [3/3]

int* AbcModel::getPseudoIndices ( )
inline

Definition at line 577 of file AbcModel.h.

◆ isContinuous() [3/3]

bool AbcModel::isContinuous ( int  colIndex) const
inline

Return true if variable is continuous.

Definition at line 580 of file AbcModel.h.

◆ isBinary() [3/3]

bool AbcModel::isBinary ( int  colIndex) const
inline

Return true if variable is binary.

Definition at line 584 of file AbcModel.h.

◆ isInteger() [3/3]

bool AbcModel::isInteger ( int  colIndex) const
inline

Return true if column is integer.

Note: This function returns true if the the column is binary or a general integer.

Definition at line 591 of file AbcModel.h.

◆ isIntegerNonBinary() [3/3]

bool AbcModel::isIntegerNonBinary ( int  colIndex) const
inline

Return true if variable is general integer.

Definition at line 595 of file AbcModel.h.

◆ isFreeBinary() [3/3]

bool AbcModel::isFreeBinary ( int  colIndex) const
inline

Return true if variable is binary and not fixed at either bound.

Definition at line 599 of file AbcModel.h.

◆ getMatrixByRow() [3/3]

const CoinPackedMatrix* AbcModel::getMatrixByRow ( ) const
inline

Get pointer to row-wise copy of matrix.

Definition at line 603 of file AbcModel.h.

◆ getMatrixByCol() [3/3]

const CoinPackedMatrix* AbcModel::getMatrixByCol ( ) const
inline

Get pointer to column-wise copy of matrix.

Definition at line 607 of file AbcModel.h.

◆ getInfinity() [3/3]

double AbcModel::getInfinity ( ) const
inline

Get solver's value for infinity.

Definition at line 611 of file AbcModel.h.

◆ checkSolution() [3/3]

double AbcModel::checkSolution ( double  cutoff,
const double *  solution,
bool  fixVariables 
)

Call this to really test if a valid solution can be feasible Solution is number columns in size.

If fixVariables true then bounds of continuous solver updated. Returns objective value (worse than cutoff if not feasible)

◆ setBestSolution() [3/3]

bool AbcModel::setBestSolution ( ABC_Message  how,
double &  objectiveValue,
const double *  solution,
bool  fixVariables = false 
)

Record a new incumbent solution and update objectiveValue.

◆ feasibleSolution() [3/3]

bool AbcModel::feasibleSolution ( int &  numberIntegerInfeasibilities)

Test the current solution for feasiblility.

Scan all objects for indications of infeasibility. This is broken down into simple integer infeasibility (numberIntegerInfeasibilities) and all other reports of infeasibility (\pnumberObjectInfeasibilities).

◆ currentSolution() [3/3]

double* AbcModel::currentSolution ( ) const
inline

Solution to the most recent lp relaxation.

The solver's solution to the most recent lp relaxation.

Definition at line 643 of file AbcModel.h.

◆ getColSolution() [3/3]

const double* AbcModel::getColSolution ( ) const
inline

Get pointer to array[getNumCols()] of primal solution vector.

Definition at line 647 of file AbcModel.h.

◆ getRowPrice() [3/3]

const double* AbcModel::getRowPrice ( ) const
inline

Get pointer to array[getNumRows()] of dual prices.

Definition at line 651 of file AbcModel.h.

◆ getReducedCost() [3/3]

const double* AbcModel::getReducedCost ( ) const
inline

Get a pointer to array[getNumCols()] of reduced costs.

Definition at line 655 of file AbcModel.h.

◆ getRowActivity() [3/3]

const double* AbcModel::getRowActivity ( ) const
inline

Get pointer to array[getNumRows()] of row activity levels.

Definition at line 659 of file AbcModel.h.

◆ getCurrentObjValue() [3/3]

double AbcModel::getCurrentObjValue ( ) const
inline

Get current objective function value.

Definition at line 663 of file AbcModel.h.

◆ getObjValue() [3/3]

double AbcModel::getObjValue ( ) const
inline

Get best objective function value.

Definition at line 667 of file AbcModel.h.

◆ setObjValue() [3/3]

void AbcModel::setObjValue ( double  obj)
inline

Set the best objective value.

It is not necessary the value from the bestSolution_. It can be get from other processes.

Definition at line 672 of file AbcModel.h.

◆ bestSolution() [3/3]

const double* AbcModel::bestSolution ( ) const
inline

The best solution to the integer programming problem.

The best solution to the integer programming problem found during the search. If no solution is found, the method returns null.

Definition at line 680 of file AbcModel.h.

◆ getSolutionCount() [3/3]

int AbcModel::getSolutionCount ( ) const
inline

Get number of solutions.

Definition at line 684 of file AbcModel.h.

◆ setSolutionCount() [3/3]

void AbcModel::setSolutionCount ( int  value)
inline

Set number of solutions (so heuristics will be different)

Definition at line 688 of file AbcModel.h.

◆ getNumberHeuristicSolutions() [3/3]

int AbcModel::getNumberHeuristicSolutions ( ) const
inline

Get number of heuristic solutions.

Definition at line 692 of file AbcModel.h.

◆ setObjSense() [3/3]

void AbcModel::setObjSense ( double  s)
inline

Set objective function sense (1 for min (default), -1 for max,)

Definition at line 696 of file AbcModel.h.

◆ setMaximumCutPassesAtRoot() [3/3]

void AbcModel::setMaximumCutPassesAtRoot ( int  value)
inline

Set the maximum number of cut passes at root node (default 20) Minimum drop can also be used for fine tuning.

Definition at line 700 of file AbcModel.h.

◆ getMaximumCutPassesAtRoot() [3/3]

int AbcModel::getMaximumCutPassesAtRoot ( ) const
inline

Get the maximum number of cut passes at root node.

Definition at line 703 of file AbcModel.h.

◆ setMaximumCutPasses() [3/3]

void AbcModel::setMaximumCutPasses ( int  value)
inline

Set the maximum number of cut passes at other nodes (default 10) Minimum drop can also be used for fine tuning.

Definition at line 708 of file AbcModel.h.

◆ getMaximumCutPasses() [3/3]

int AbcModel::getMaximumCutPasses ( ) const
inline

Get the maximum number of cut passes at other nodes (default 10)

Definition at line 711 of file AbcModel.h.

◆ currentNumberCuts() [3/3]

int AbcModel::currentNumberCuts ( ) const
inline

Number of entries in the list returned by #addedCuts()

Definition at line 714 of file AbcModel.h.

◆ setCurrentNumberCuts() [3/3]

void AbcModel::setCurrentNumberCuts ( int  value)
inline

Definition at line 716 of file AbcModel.h.

◆ branchingMethod() [3/3]

AbcBranchDecision* AbcModel::branchingMethod ( ) const
inline

Get the current branching decision method.

Definition at line 731 of file AbcModel.h.

◆ setBranchingMethod() [5/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching decision method.

Definition at line 734 of file AbcModel.h.

◆ setBranchingMethod() [6/6]

void AbcModel::setBranchingMethod ( AbcBranchDecision method)
inline

Set the branching method This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 739 of file AbcModel.h.

◆ passInMessageHandler() [3/3]

void AbcModel::passInMessageHandler ( CoinMessageHandler *  handler)
inline

Pass in Message handler (not deleted at end)

Definition at line 748 of file AbcModel.h.

◆ newLanguage() [3/3]

void AbcModel::newLanguage ( CoinMessages::Language  language)
inline

Set language.

Definition at line 759 of file AbcModel.h.

◆ setLanguage() [3/3]

void AbcModel::setLanguage ( CoinMessages::Language  language)
inline

Definition at line 761 of file AbcModel.h.

◆ messageHandler() [3/3]

CoinMessageHandler* AbcModel::messageHandler ( ) const
inline

Return handler.

Definition at line 764 of file AbcModel.h.

◆ messages() [3/3]

CoinMessages AbcModel::messages ( )
inline

Return messages.

Definition at line 767 of file AbcModel.h.

◆ messagesPointer() [3/3]

CoinMessages* AbcModel::messagesPointer ( )
inline

Return pointer to messages.

Definition at line 770 of file AbcModel.h.

◆ checkInteger() [3/3]

bool AbcModel::checkInteger ( double  value) const
inline

Definition at line 776 of file AbcModel.h.

◆ findIntegers() [3/3]

void AbcModel::findIntegers ( bool  startAgain)

Identify integer variables and create corresponding objects.

Record integer variables and create an integer object for each one. If startAgain is true, a new scan is forced, overwriting any existing integer variable information.

◆ addCutGenerator() [3/3]

void AbcModel::addCutGenerator ( CglCutGenerator *  generator,
int  howOften = 1,
const char *  name = NULL,
bool  normal = true,
bool  atSolution = false,
bool  infeasible = false 
)

Add one generator - up to user to delete generators.

howoften affects how generator is used. 0 or 1 means always, >1 means every that number of nodes. Negative values have same meaning as positive but they may be switched off (-> -100) by code if not many cuts generated at continuous. -99 is just done at root. Name is just for printout

◆ addHeuristic() [3/3]

void AbcModel::addHeuristic ( AbcHeuristic generator)

Add one heuristic.

◆ reducedCostFix() [3/3]

void AbcModel::reducedCostFix ( )

Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.

◆ takeOffCuts() [3/3]

void AbcModel::takeOffCuts ( )

Remove inactive cuts from the model.

An OsiSolverInterface is expected to maintain a valid basis, but not a valid solution, when loose cuts are deleted. Restoring a valid solution requires calling the solver to reoptimise. If it's certain the solution will not be required, set allowResolve to false to suppress reoptimisation.

◆ setIntParam() [3/3]

bool AbcModel::setIntParam ( AbcIntParam  key,
int  value 
)
inline

Set an integer parameter.

Definition at line 832 of file AbcModel.h.

◆ setDblParam() [3/3]

bool AbcModel::setDblParam ( AbcDblParam  key,
double  value 
)
inline

Set a double parameter.

Definition at line 838 of file AbcModel.h.

◆ getIntParam() [3/3]

int AbcModel::getIntParam ( AbcIntParam  key) const
inline

Get an integer parameter.

Definition at line 844 of file AbcModel.h.

◆ getDblParam() [3/3]

double AbcModel::getDblParam ( AbcDblParam  key) const
inline

Get a double parameter.

Definition at line 849 of file AbcModel.h.

◆ setCutoff() [3/3]

void AbcModel::setCutoff ( double  value)

Set cutoff bound on the objective function.

When using strict comparison, the bound is adjusted by a tolerance to avoid accidentally cutting off the optimal solution.

◆ getCutoff() [3/3]

double AbcModel::getCutoff ( ) const
inline

Get the cutoff bound on the objective function - always as minimize.

Definition at line 860 of file AbcModel.h.

◆ setMaximumNodes() [3/3]

bool AbcModel::setMaximumNodes ( int  value)
inline

Set the maximum node limit .

Definition at line 868 of file AbcModel.h.

◆ getMaximumNodes() [3/3]

int AbcModel::getMaximumNodes ( ) const
inline

Get the maximum node limit .

Definition at line 872 of file AbcModel.h.

◆ setMaximumSolutions() [3/3]

bool AbcModel::setMaximumSolutions ( int  value)
inline

Set the maximum number of solutions desired.

Definition at line 879 of file AbcModel.h.

◆ getMaximumSolutions() [3/3]

int AbcModel::getMaximumSolutions ( ) const
inline

Get the maximum number of solutions desired.

Definition at line 886 of file AbcModel.h.

◆ setIntegerTolerance() [3/3]

bool AbcModel::setIntegerTolerance ( double  value)
inline

Set the integrality tolerance .

Definition at line 893 of file AbcModel.h.

◆ getIntegerTolerance() [3/3]

double AbcModel::getIntegerTolerance ( ) const
inline

Get the integrality tolerance .

Definition at line 899 of file AbcModel.h.

◆ setInfeasibilityWeight() [3/3]

bool AbcModel::setInfeasibilityWeight ( double  value)
inline

Set the weight per integer infeasibility .

Definition at line 907 of file AbcModel.h.

◆ getInfeasibilityWeight() [3/3]

double AbcModel::getInfeasibilityWeight ( ) const
inline

Get the weight per integer infeasibility .

Definition at line 914 of file AbcModel.h.

◆ setAllowableGap() [3/3]

bool AbcModel::setAllowableGap ( double  value)
inline

Set the allowable gap between the best known solution and the best possible solution.

Definition at line 921 of file AbcModel.h.

◆ getAllowableGap() [3/3]

double AbcModel::getAllowableGap ( ) const
inline

Get the allowable gap between the best known solution and the best possible solution.

Definition at line 927 of file AbcModel.h.

◆ setMinimumDrop() [3/3]

void AbcModel::setMinimumDrop ( double  value)
inline

Set the minimum drop to continue cuts.

Definition at line 932 of file AbcModel.h.

◆ getMinimumDrop() [3/3]

double AbcModel::getMinimumDrop ( ) const
inline

Get the minimum drop to continue cuts.

Definition at line 935 of file AbcModel.h.

◆ createRoot() [3/3]

virtual AlpsTreeNode* AbcModel::createRoot ( )
virtual

Create the root node.

Default: do nothing

Implements AlpsModel.

◆ setupSelf() [3/3]

virtual bool AbcModel::setupSelf ( )
virtual

Do necessary work to make model usable.

Return success or not.

Reimplemented from AlpsModel.

◆ numberStrong() [3/3]

int AbcModel::numberStrong ( ) const
inline

Definition at line 945 of file AbcModel.h.

◆ setNumberStrong() [3/3]

void AbcModel::setNumberStrong ( int  number)
inline

Definition at line 948 of file AbcModel.h.

◆ priority() [5/6]

const int* AbcModel::priority ( ) const
inline

Priorities.

Definition at line 957 of file AbcModel.h.

◆ priority() [6/6]

int AbcModel::priority ( int  sequence) const
inline

Returns priority level for an object (or 1000 if no priorities exist)

Definition at line 960 of file AbcModel.h.

◆ encode() [3/9]

virtual AlpsReturnStatus AbcModel::encode ( AlpsEncoded encoded) const
virtual

Pack AlpsPar_ into a given encode object.

Reimplemented from AlpsModel.

◆ decodeToSelf() [3/3]

virtual AlpsReturnStatus AbcModel::decodeToSelf ( AlpsEncoded encoded)
virtual

Decode the given AlpsEncoded object into this.

Reimplemented from AlpsModel.

◆ decode() [3/3]

virtual AlpsKnowledge* AbcModel::decode ( AlpsEncoded encoded) const
virtual

Decode the given AlpsEncoded object into a new AlpsKnowledge object and.

return a pointer to it. User application sub-classes should implement this since the returned pointer will point to user sub-class instances.

Implements AlpsKnowledge.

◆ operator=() [3/3]

AbcModel& AbcModel::operator= ( AbcModel const &  )
private

Disable copy assignment operator.

◆ encode() [4/9]

AlpsEncoded* AlpsKnowledge::encode

Encode the content of this into an AlpsEncoded object and return a pointer to it.

◆ encode() [5/9]

virtual AlpsReturnStatus AlpsKnowledge::encode

Encode the content of this into the given AlpsEncoded object.

Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.

◆ encode() [6/9]

AlpsEncoded* AlpsKnowledge::encode

Encode the content of this into an AlpsEncoded object and return a pointer to it.

◆ encode() [7/9]

virtual AlpsReturnStatus AlpsKnowledge::encode

Encode the content of this into the given AlpsEncoded object.

Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.

◆ encode() [8/9]

AlpsEncoded* AlpsKnowledge::encode

Encode the content of this into an AlpsEncoded object and return a pointer to it.

◆ encode() [9/9]

virtual AlpsReturnStatus AlpsKnowledge::encode

Encode the content of this into the given AlpsEncoded object.

Implementation given in this class can not be used when the memory of data members is not contiguous, i.e., some data members are pointers to heap locations, STL set, map, etc. These type of user application sub-classes should implement their own version of this.

Member Data Documentation

◆ numberRowsAtContinuous_

int AbcModel::numberRowsAtContinuous_
private

Number of rows at continuous.

Definition at line 109 of file AbcModel.h.

◆ numberIntegers_

int AbcModel::numberIntegers_
private

Number of integers in problem.

Definition at line 111 of file AbcModel.h.

◆ integerVariable_

int * AbcModel::integerVariable_
private

Indices of integer variables.

Definition at line 113 of file AbcModel.h.

◆ sharedBasis_

CoinWarmStartBasis * AbcModel::sharedBasis_
private

Pointer to a warm start basis.


Definition at line 115 of file AbcModel.h.

◆ handler_

CoinMessageHandler * AbcModel::handler_
private

Message handler.

Definition at line 119 of file AbcModel.h.

◆ defaultHandler_

bool AbcModel::defaultHandler_
private

Flag to say if handler_ is the default handler.

The default handler is deleted when the model is deleted. Other handlers (supplied by the client) will not be deleted.

Definition at line 125 of file AbcModel.h.

◆ messages_

CoinMessages AbcModel::messages_
private

Abc messages.

Definition at line 128 of file AbcModel.h.

◆ intParam_

int AbcModel::intParam_
private

Array for integer parameters.

Definition at line 131 of file AbcModel.h.

◆ dblParam_

double AbcModel::dblParam_
private

Array for double parameters.

Definition at line 134 of file AbcModel.h.

◆ solver_

OsiSolverInterface * AbcModel::solver_
private

The solver associated with this model.

Definition at line 137 of file AbcModel.h.

◆ ourSolver_

bool AbcModel::ourSolver_
private

Ownership of the solver object The convention is that AbcModel owns the null solver.

Currently there is no public method to give AbcModel a solver without giving ownership, but the hook is here.

Definition at line 143 of file AbcModel.h.

◆ continuousSolver_

OsiSolverInterface * AbcModel::continuousSolver_
private

A copy of the solver, taken at the continuous (root) node.

Definition at line 146 of file AbcModel.h.

◆ basis_

CoinWarmStartBasis * AbcModel::basis_
private

Pointer to a warm start basis.


Definition at line 149 of file AbcModel.h.

◆ lastws_

CoinWarmStartBasis * AbcModel::lastws_
private

Pointer to last warm basis.


Definition at line 152 of file AbcModel.h.

◆ minimumDrop_

double AbcModel::minimumDrop_
private

Minimum degradation in objective value to continue cut generation.

Definition at line 155 of file AbcModel.h.

◆ bestObjective_

double AbcModel::bestObjective_
private

Best objective.

Definition at line 158 of file AbcModel.h.

◆ bestSolution_

double * AbcModel::bestSolution_
private

Array holding the incumbent (best) solution.

Definition at line 161 of file AbcModel.h.

◆ currentSolution_

double * AbcModel::currentSolution_
private

Array holding the current solution.

This array is used more as a temporary.

Definition at line 166 of file AbcModel.h.

◆ globalCuts_

OsiCuts AbcModel::globalCuts_
private

Global cuts.

Definition at line 169 of file AbcModel.h.

◆ numberNodes_

int AbcModel::numberNodes_
private

Cumulative number of nodes.

Definition at line 172 of file AbcModel.h.

◆ numberIterations_

int AbcModel::numberIterations_
private

Cumulative number of iterations.

Definition at line 174 of file AbcModel.h.

◆ status_

int AbcModel::status_
private

Status of problem - 0 finished, 1 stopped, 2 difficulties.

Definition at line 176 of file AbcModel.h.

◆ currentNumberCuts_

int AbcModel::currentNumberCuts_
private

Number of entries in #addedCuts_.

Definition at line 178 of file AbcModel.h.

◆ maximumNumberCuts_

int AbcModel::maximumNumberCuts_
private

Maximum number of cuts.

Definition at line 180 of file AbcModel.h.

◆ howOftenGlobalScan_

int AbcModel::howOftenGlobalScan_
private

How often to scan global cuts.

Definition at line 182 of file AbcModel.h.

◆ maximumDepth_

int AbcModel::maximumDepth_
private

Current limit on search tree depth.

The allocated size of #walkback_. Increased as needed.

Definition at line 188 of file AbcModel.h.

◆ numberStrong_

int AbcModel::numberStrong_
private

Maximum number of candidates to consider for strong branching.

To disable storng branching and use pseudocost branching, set this to 0.

Definition at line 194 of file AbcModel.h.

◆ numberCutGenerators_

int AbcModel::numberCutGenerators_
private

Number of cut generators.

Definition at line 196 of file AbcModel.h.

◆ generator_

AbcCutGenerator ** AbcModel::generator_
private

Definition at line 198 of file AbcModel.h.

◆ numberHeuristics_

int AbcModel::numberHeuristics_
private

Number of heuristics.

Definition at line 200 of file AbcModel.h.

◆ heuristic_

AbcHeuristic ** AbcModel::heuristic_
private

Definition at line 202 of file AbcModel.h.

◆ maximumCutPassesAtRoot_

int AbcModel::maximumCutPassesAtRoot_
private

Maximum number of cut passes at root.

Definition at line 205 of file AbcModel.h.

◆ maximumCutPasses_

int AbcModel::maximumCutPasses_
private

Maximum number of cut passes.

Definition at line 207 of file AbcModel.h.

◆ branchingMethod_

AbcBranchDecision * AbcModel::branchingMethod_
private

Variable selection function.

Definition at line 210 of file AbcModel.h.

◆ numberSolutions_

int AbcModel::numberSolutions_
private

Number of solutions.

Definition at line 212 of file AbcModel.h.

◆ numberHeuristicSolutions_

int AbcModel::numberHeuristicSolutions_
private

Number of heuristic solutions.

Definition at line 214 of file AbcModel.h.

◆ priority_

int * AbcModel::priority_
private

Priorities.

Definition at line 216 of file AbcModel.h.

◆ pseudoList_

AbcPseudocost ** AbcModel::pseudoList_
private

Definition at line 218 of file AbcModel.h.

◆ pseudoIndices_

int * AbcModel::pseudoIndices_
private

Definition at line 220 of file AbcModel.h.

◆ AbcPar_

AbcParams * AbcModel::AbcPar_
private

Abc parameters.

Definition at line 223 of file AbcModel.h.


The documentation for this class was generated from the following file: