Alps
2.0.2
|
Model class for ALPS Branch and Cut. More...
#include <AbcModel.h>
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. | |
AbcBranchDecision * | branchingMethod () 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... | |
AbcBranchDecision * | branchingMethod () 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... | |
AbcBranchDecision * | branchingMethod () 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... | |
AlpsParams * | AlpsPar () |
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 AlpsEncoded * | packSharedKnowlege () |
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... | |
AlpsEncoded * | encode () 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... | |
AlpsKnowledgeBroker * | broker () |
Get pointer to the knowledge broker. More... | |
const AlpsKnowledgeBroker * | broker () const |
Get pointer to the knowledge broker. More... | |
void | setBroker (AlpsKnowledgeBroker *broker) |
Set knowledge broker. More... | |
AlpsEncoded * | encode () 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... | |
AbcBranchDecision * | branchingMethod_ |
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_ |
AbcParams * | AbcPar_ |
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... | |
AbcParams * | AbcPar () |
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... | |
AbcParams * | AbcPar () |
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... | |
AbcParams * | AbcPar () |
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 AlpsTreeNode * | createRoot () |
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 AlpsKnowledge * | decode (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 AlpsTreeNode * | createRoot () |
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 AlpsKnowledge * | decode (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 AlpsTreeNode * | createRoot () |
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 AlpsKnowledge * | decode (AlpsEncoded &encoded) const |
Decode the given AlpsEncoded object into a new AlpsKnowledge object and. More... | |
AlpsEncoded * | encode () 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... | |
AlpsEncoded * | encode () 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... | |
AlpsEncoded * | encode () 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... | |
AbcModel & | operator= (AbcModel const &) |
Disable copy assignment operator. More... | |
AbcModel (AbcModel const &) | |
Disable copy constructor. More... | |
AbcModel & | operator= (AbcModel const &) |
Disable copy assignment operator. More... | |
AbcModel (AbcModel const &) | |
Disable copy constructor. More... | |
AbcModel & | operator= (AbcModel const &) |
Disable copy assignment operator. More... | |
Additional Inherited Members | |
Public Attributes inherited from AlpsKnowledge | |
AlpsKnowledgeBroker * | broker_ |
Protected Attributes inherited from AlpsModel | |
std::string | dataFile_ |
Data file. More... | |
AlpsParams * | AlpsPar_ |
The parameter set that is used in Alps. More... | |
Model class for ALPS Branch and Cut.
Definition at line 59 of file AbcModel.h.
Definition at line 62 of file AbcModel.h.
Definition at line 79 of file AbcModel.h.
Definition at line 62 of file AbcModel.h.
Definition at line 79 of file AbcModel.h.
Definition at line 62 of file AbcModel.h.
Definition at line 79 of file AbcModel.h.
|
inline |
Definition at line 226 of file AbcModel.h.
|
inline |
Definition at line 231 of file AbcModel.h.
|
inlinevirtual |
Definition at line 262 of file AbcModel.h.
|
private |
Disable copy constructor.
|
inline |
Definition at line 226 of file AbcModel.h.
|
inline |
Definition at line 231 of file AbcModel.h.
|
inlinevirtual |
Definition at line 262 of file AbcModel.h.
|
private |
Disable copy constructor.
|
inline |
Definition at line 226 of file AbcModel.h.
|
inline |
Definition at line 231 of file AbcModel.h.
|
inlinevirtual |
Definition at line 262 of file AbcModel.h.
|
private |
Disable copy constructor.
|
inline |
Initialize member data.
Definition at line 333 of file AbcModel.h.
|
inlinevirtual |
|
inlinevirtual |
Read in Alps and Abc parameters.
Reimplemented from AlpsModel.
Definition at line 392 of file AbcModel.h.
|
inline |
Definition at line 399 of file AbcModel.h.
|
inline |
Returns solver - has current state.
Definition at line 402 of file AbcModel.h.
void AbcModel::assignSolver | ( | OsiSolverInterface *& | solver | ) |
Assign a solver to the model (model assumes ownership) On return, solver
will be NULL.
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.
|
inline |
Number of integers in problem.
Definition at line 418 of file AbcModel.h.
|
inline |
Integer variables.
Definition at line 422 of file AbcModel.h.
void AbcModel::initialSolve | ( | ) |
Solve the initial LP relaxation Invoke the solver's initialSolve() method.
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.
bool AbcModel::resolve | ( | ) |
Reoptimise an LP relaxation Invoke the solver's resolve() method.
bool AbcModel::isAbandoned | ( | ) | const |
Are there a numerical difficulties?
bool AbcModel::isProvenOptimal | ( | ) | const |
Is optimality proven?
bool AbcModel::isProvenInfeasible | ( | ) | const |
Is infeasiblity proven (or none better than cutoff)?
bool AbcModel::isNodeLimitReached | ( | ) | const |
Node limit reached?
bool AbcModel::isSolutionLimitReached | ( | ) | const |
Solution limit reached?
|
inline |
Get how many iterations it took to solve the problem.
Definition at line 465 of file AbcModel.h.
|
inline |
Get how many Nodes it took to solve the problem.
Definition at line 468 of file AbcModel.h.
|
inline |
Increment the count of nodes.
Definition at line 471 of file AbcModel.h.
|
inline |
Final status of problem 0 finished, 1 stopped, 2 difficulties.
Definition at line 477 of file AbcModel.h.
|
inline |
Number of rows in continuous (root) problem.
Definition at line 495 of file AbcModel.h.
|
inline |
Definition at line 498 of file AbcModel.h.
|
inline |
Get number of columns.
Definition at line 505 of file AbcModel.h.
|
inline |
Get number of rows.
Definition at line 509 of file AbcModel.h.
|
inline |
Get number of nonzero elements.
Definition at line 513 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column lower bounds.
Definition at line 517 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column upper bounds.
Definition at line 521 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row constraint senses.
Definition at line 533 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of rows right-hand sides.
Definition at line 544 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row ranges.
Definition at line 555 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row lower bounds.
Definition at line 559 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row upper bounds.
Definition at line 563 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of objective function coefficients.
Definition at line 567 of file AbcModel.h.
|
inline |
Get objective function sense (1 for min (default), -1 for max)
Definition at line 571 of file AbcModel.h.
|
inline |
Definition at line 574 of file AbcModel.h.
|
inline |
Definition at line 577 of file AbcModel.h.
|
inline |
Return true if variable is continuous.
Definition at line 580 of file AbcModel.h.
|
inline |
Return true if variable is binary.
Definition at line 584 of file AbcModel.h.
|
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.
|
inline |
Return true if variable is general integer.
Definition at line 595 of file AbcModel.h.
|
inline |
Return true if variable is binary and not fixed at either bound.
Definition at line 599 of file AbcModel.h.
|
inline |
Get pointer to row-wise copy of matrix.
Definition at line 603 of file AbcModel.h.
|
inline |
Get pointer to column-wise copy of matrix.
Definition at line 607 of file AbcModel.h.
|
inline |
Get solver's value for infinity.
Definition at line 611 of file AbcModel.h.
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)
bool AbcModel::setBestSolution | ( | ABC_Message | how, |
double & | objectiveValue, | ||
const double * | solution, | ||
bool | fixVariables = false |
||
) |
Record a new incumbent solution and update objectiveValue.
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).
|
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.
|
inline |
Get pointer to array[getNumCols()] of primal solution vector.
Definition at line 647 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of dual prices.
Definition at line 651 of file AbcModel.h.
|
inline |
Get a pointer to array[getNumCols()] of reduced costs.
Definition at line 655 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row activity levels.
Definition at line 659 of file AbcModel.h.
|
inline |
Get current objective function value.
Definition at line 663 of file AbcModel.h.
|
inline |
Get best objective function value.
Definition at line 667 of file AbcModel.h.
|
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.
|
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.
|
inline |
Get number of solutions.
Definition at line 684 of file AbcModel.h.
|
inline |
Set number of solutions (so heuristics will be different)
Definition at line 688 of file AbcModel.h.
|
inline |
Get number of heuristic solutions.
Definition at line 692 of file AbcModel.h.
|
inline |
Set objective function sense (1 for min (default), -1 for max,)
Definition at line 696 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at root node.
Definition at line 703 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at other nodes (default 10)
Definition at line 711 of file AbcModel.h.
|
inline |
Number of entries in the list returned by #addedCuts()
Definition at line 714 of file AbcModel.h.
|
inline |
Definition at line 716 of file AbcModel.h.
|
inline |
Get the current branching decision method.
Definition at line 731 of file AbcModel.h.
|
inline |
Set the branching decision method.
Definition at line 734 of file AbcModel.h.
|
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.
|
inline |
Pass in Message handler (not deleted at end)
Definition at line 748 of file AbcModel.h.
|
inline |
Set language.
Definition at line 759 of file AbcModel.h.
|
inline |
Definition at line 761 of file AbcModel.h.
|
inline |
Return handler.
Definition at line 764 of file AbcModel.h.
|
inline |
Return messages.
Definition at line 767 of file AbcModel.h.
|
inline |
Return pointer to messages.
Definition at line 770 of file AbcModel.h.
|
inline |
Definition at line 776 of file AbcModel.h.
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.
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
void AbcModel::addHeuristic | ( | AbcHeuristic * | generator | ) |
Add one heuristic.
void AbcModel::reducedCostFix | ( | ) |
Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.
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.
|
inline |
Set an integer parameter.
Definition at line 832 of file AbcModel.h.
|
inline |
Set a double parameter.
Definition at line 838 of file AbcModel.h.
|
inline |
Get an integer parameter.
Definition at line 844 of file AbcModel.h.
|
inline |
Get a double parameter.
Definition at line 849 of file AbcModel.h.
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.
|
inline |
Get the cutoff bound on the objective function - always as minimize.
Definition at line 860 of file AbcModel.h.
|
inline |
Set the maximum node limit .
Definition at line 868 of file AbcModel.h.
|
inline |
Get the maximum node limit .
Definition at line 872 of file AbcModel.h.
|
inline |
Set the maximum number of solutions desired.
Definition at line 879 of file AbcModel.h.
|
inline |
Get the maximum number of solutions desired.
Definition at line 886 of file AbcModel.h.
|
inline |
Set the integrality tolerance .
Definition at line 893 of file AbcModel.h.
|
inline |
Get the integrality tolerance .
Definition at line 899 of file AbcModel.h.
|
inline |
Set the weight per integer infeasibility .
Definition at line 907 of file AbcModel.h.
|
inline |
Get the weight per integer infeasibility .
Definition at line 914 of file AbcModel.h.
|
inline |
Set the allowable gap between the best known solution and the best possible solution.
Definition at line 921 of file AbcModel.h.
|
inline |
Get the allowable gap between the best known solution and the best possible solution.
Definition at line 927 of file AbcModel.h.
|
inline |
Set the minimum drop to continue cuts.
Definition at line 932 of file AbcModel.h.
|
inline |
Get the minimum drop to continue cuts.
Definition at line 935 of file AbcModel.h.
|
virtual |
|
virtual |
|
inline |
Definition at line 945 of file AbcModel.h.
|
inline |
Definition at line 948 of file AbcModel.h.
|
inline |
Priorities.
Definition at line 957 of file AbcModel.h.
|
inline |
Returns priority level for an object (or 1000 if no priorities exist)
Definition at line 960 of file AbcModel.h.
|
virtual |
Pack AlpsPar_ into a given encode object.
Reimplemented from AlpsModel.
|
virtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsModel.
|
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.
|
inline |
Initialize member data.
Definition at line 333 of file AbcModel.h.
|
inlinevirtual |
|
inlinevirtual |
Read in Alps and Abc parameters.
Reimplemented from AlpsModel.
Definition at line 392 of file AbcModel.h.
|
inline |
Definition at line 399 of file AbcModel.h.
|
inline |
Returns solver - has current state.
Definition at line 402 of file AbcModel.h.
void AbcModel::assignSolver | ( | OsiSolverInterface *& | solver | ) |
Assign a solver to the model (model assumes ownership) On return, solver
will be NULL.
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.
|
inline |
Number of integers in problem.
Definition at line 418 of file AbcModel.h.
|
inline |
Integer variables.
Definition at line 422 of file AbcModel.h.
void AbcModel::initialSolve | ( | ) |
Solve the initial LP relaxation Invoke the solver's initialSolve() method.
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.
bool AbcModel::resolve | ( | ) |
Reoptimise an LP relaxation Invoke the solver's resolve() method.
bool AbcModel::isAbandoned | ( | ) | const |
Are there a numerical difficulties?
bool AbcModel::isProvenOptimal | ( | ) | const |
Is optimality proven?
bool AbcModel::isProvenInfeasible | ( | ) | const |
Is infeasiblity proven (or none better than cutoff)?
bool AbcModel::isNodeLimitReached | ( | ) | const |
Node limit reached?
bool AbcModel::isSolutionLimitReached | ( | ) | const |
Solution limit reached?
|
inline |
Get how many iterations it took to solve the problem.
Definition at line 465 of file AbcModel.h.
|
inline |
Get how many Nodes it took to solve the problem.
Definition at line 468 of file AbcModel.h.
|
inline |
Increment the count of nodes.
Definition at line 471 of file AbcModel.h.
|
inline |
Final status of problem 0 finished, 1 stopped, 2 difficulties.
Definition at line 477 of file AbcModel.h.
|
inline |
Number of rows in continuous (root) problem.
Definition at line 495 of file AbcModel.h.
|
inline |
Definition at line 498 of file AbcModel.h.
|
inline |
Get number of columns.
Definition at line 505 of file AbcModel.h.
|
inline |
Get number of rows.
Definition at line 509 of file AbcModel.h.
|
inline |
Get number of nonzero elements.
Definition at line 513 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column lower bounds.
Definition at line 517 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column upper bounds.
Definition at line 521 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row constraint senses.
Definition at line 533 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of rows right-hand sides.
Definition at line 544 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row ranges.
Definition at line 555 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row lower bounds.
Definition at line 559 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row upper bounds.
Definition at line 563 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of objective function coefficients.
Definition at line 567 of file AbcModel.h.
|
inline |
Get objective function sense (1 for min (default), -1 for max)
Definition at line 571 of file AbcModel.h.
|
inline |
Definition at line 574 of file AbcModel.h.
|
inline |
Definition at line 577 of file AbcModel.h.
|
inline |
Return true if variable is continuous.
Definition at line 580 of file AbcModel.h.
|
inline |
Return true if variable is binary.
Definition at line 584 of file AbcModel.h.
|
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.
|
inline |
Return true if variable is general integer.
Definition at line 595 of file AbcModel.h.
|
inline |
Return true if variable is binary and not fixed at either bound.
Definition at line 599 of file AbcModel.h.
|
inline |
Get pointer to row-wise copy of matrix.
Definition at line 603 of file AbcModel.h.
|
inline |
Get pointer to column-wise copy of matrix.
Definition at line 607 of file AbcModel.h.
|
inline |
Get solver's value for infinity.
Definition at line 611 of file AbcModel.h.
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)
bool AbcModel::setBestSolution | ( | ABC_Message | how, |
double & | objectiveValue, | ||
const double * | solution, | ||
bool | fixVariables = false |
||
) |
Record a new incumbent solution and update objectiveValue.
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).
|
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.
|
inline |
Get pointer to array[getNumCols()] of primal solution vector.
Definition at line 647 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of dual prices.
Definition at line 651 of file AbcModel.h.
|
inline |
Get a pointer to array[getNumCols()] of reduced costs.
Definition at line 655 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row activity levels.
Definition at line 659 of file AbcModel.h.
|
inline |
Get current objective function value.
Definition at line 663 of file AbcModel.h.
|
inline |
Get best objective function value.
Definition at line 667 of file AbcModel.h.
|
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.
|
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.
|
inline |
Get number of solutions.
Definition at line 684 of file AbcModel.h.
|
inline |
Set number of solutions (so heuristics will be different)
Definition at line 688 of file AbcModel.h.
|
inline |
Get number of heuristic solutions.
Definition at line 692 of file AbcModel.h.
|
inline |
Set objective function sense (1 for min (default), -1 for max,)
Definition at line 696 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at root node.
Definition at line 703 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at other nodes (default 10)
Definition at line 711 of file AbcModel.h.
|
inline |
Number of entries in the list returned by #addedCuts()
Definition at line 714 of file AbcModel.h.
|
inline |
Definition at line 716 of file AbcModel.h.
|
inline |
Get the current branching decision method.
Definition at line 731 of file AbcModel.h.
|
inline |
Set the branching decision method.
Definition at line 734 of file AbcModel.h.
|
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.
|
inline |
Pass in Message handler (not deleted at end)
Definition at line 748 of file AbcModel.h.
|
inline |
Set language.
Definition at line 759 of file AbcModel.h.
|
inline |
Definition at line 761 of file AbcModel.h.
|
inline |
Return handler.
Definition at line 764 of file AbcModel.h.
|
inline |
Return messages.
Definition at line 767 of file AbcModel.h.
|
inline |
Return pointer to messages.
Definition at line 770 of file AbcModel.h.
|
inline |
Definition at line 776 of file AbcModel.h.
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.
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
void AbcModel::addHeuristic | ( | AbcHeuristic * | generator | ) |
Add one heuristic.
void AbcModel::reducedCostFix | ( | ) |
Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.
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.
|
inline |
Set an integer parameter.
Definition at line 832 of file AbcModel.h.
|
inline |
Set a double parameter.
Definition at line 838 of file AbcModel.h.
|
inline |
Get an integer parameter.
Definition at line 844 of file AbcModel.h.
|
inline |
Get a double parameter.
Definition at line 849 of file AbcModel.h.
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.
|
inline |
Get the cutoff bound on the objective function - always as minimize.
Definition at line 860 of file AbcModel.h.
|
inline |
Set the maximum node limit .
Definition at line 868 of file AbcModel.h.
|
inline |
Get the maximum node limit .
Definition at line 872 of file AbcModel.h.
|
inline |
Set the maximum number of solutions desired.
Definition at line 879 of file AbcModel.h.
|
inline |
Get the maximum number of solutions desired.
Definition at line 886 of file AbcModel.h.
|
inline |
Set the integrality tolerance .
Definition at line 893 of file AbcModel.h.
|
inline |
Get the integrality tolerance .
Definition at line 899 of file AbcModel.h.
|
inline |
Set the weight per integer infeasibility .
Definition at line 907 of file AbcModel.h.
|
inline |
Get the weight per integer infeasibility .
Definition at line 914 of file AbcModel.h.
|
inline |
Set the allowable gap between the best known solution and the best possible solution.
Definition at line 921 of file AbcModel.h.
|
inline |
Get the allowable gap between the best known solution and the best possible solution.
Definition at line 927 of file AbcModel.h.
|
inline |
Set the minimum drop to continue cuts.
Definition at line 932 of file AbcModel.h.
|
inline |
Get the minimum drop to continue cuts.
Definition at line 935 of file AbcModel.h.
|
virtual |
|
virtual |
|
inline |
Definition at line 945 of file AbcModel.h.
|
inline |
Definition at line 948 of file AbcModel.h.
|
inline |
Priorities.
Definition at line 957 of file AbcModel.h.
|
inline |
Returns priority level for an object (or 1000 if no priorities exist)
Definition at line 960 of file AbcModel.h.
|
virtual |
Pack AlpsPar_ into a given encode object.
Reimplemented from AlpsModel.
|
virtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsModel.
|
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.
|
inline |
Initialize member data.
Definition at line 333 of file AbcModel.h.
|
inlinevirtual |
|
inlinevirtual |
Read in Alps and Abc parameters.
Reimplemented from AlpsModel.
Definition at line 392 of file AbcModel.h.
|
inline |
Definition at line 399 of file AbcModel.h.
|
inline |
Returns solver - has current state.
Definition at line 402 of file AbcModel.h.
void AbcModel::assignSolver | ( | OsiSolverInterface *& | solver | ) |
Assign a solver to the model (model assumes ownership) On return, solver
will be NULL.
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.
|
inline |
Number of integers in problem.
Definition at line 418 of file AbcModel.h.
|
inline |
Integer variables.
Definition at line 422 of file AbcModel.h.
void AbcModel::initialSolve | ( | ) |
Solve the initial LP relaxation Invoke the solver's initialSolve() method.
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.
bool AbcModel::resolve | ( | ) |
Reoptimise an LP relaxation Invoke the solver's resolve() method.
bool AbcModel::isAbandoned | ( | ) | const |
Are there a numerical difficulties?
bool AbcModel::isProvenOptimal | ( | ) | const |
Is optimality proven?
bool AbcModel::isProvenInfeasible | ( | ) | const |
Is infeasiblity proven (or none better than cutoff)?
bool AbcModel::isNodeLimitReached | ( | ) | const |
Node limit reached?
bool AbcModel::isSolutionLimitReached | ( | ) | const |
Solution limit reached?
|
inline |
Get how many iterations it took to solve the problem.
Definition at line 465 of file AbcModel.h.
|
inline |
Get how many Nodes it took to solve the problem.
Definition at line 468 of file AbcModel.h.
|
inline |
Increment the count of nodes.
Definition at line 471 of file AbcModel.h.
|
inline |
Final status of problem 0 finished, 1 stopped, 2 difficulties.
Definition at line 477 of file AbcModel.h.
|
inline |
Number of rows in continuous (root) problem.
Definition at line 495 of file AbcModel.h.
|
inline |
Definition at line 498 of file AbcModel.h.
|
inline |
Get number of columns.
Definition at line 505 of file AbcModel.h.
|
inline |
Get number of rows.
Definition at line 509 of file AbcModel.h.
|
inline |
Get number of nonzero elements.
Definition at line 513 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column lower bounds.
Definition at line 517 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of column upper bounds.
Definition at line 521 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row constraint senses.
Definition at line 533 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of rows right-hand sides.
Definition at line 544 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row ranges.
Definition at line 555 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row lower bounds.
Definition at line 559 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row upper bounds.
Definition at line 563 of file AbcModel.h.
|
inline |
Get pointer to array[getNumCols()] of objective function coefficients.
Definition at line 567 of file AbcModel.h.
|
inline |
Get objective function sense (1 for min (default), -1 for max)
Definition at line 571 of file AbcModel.h.
|
inline |
Definition at line 574 of file AbcModel.h.
|
inline |
Definition at line 577 of file AbcModel.h.
|
inline |
Return true if variable is continuous.
Definition at line 580 of file AbcModel.h.
|
inline |
Return true if variable is binary.
Definition at line 584 of file AbcModel.h.
|
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.
|
inline |
Return true if variable is general integer.
Definition at line 595 of file AbcModel.h.
|
inline |
Return true if variable is binary and not fixed at either bound.
Definition at line 599 of file AbcModel.h.
|
inline |
Get pointer to row-wise copy of matrix.
Definition at line 603 of file AbcModel.h.
|
inline |
Get pointer to column-wise copy of matrix.
Definition at line 607 of file AbcModel.h.
|
inline |
Get solver's value for infinity.
Definition at line 611 of file AbcModel.h.
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)
bool AbcModel::setBestSolution | ( | ABC_Message | how, |
double & | objectiveValue, | ||
const double * | solution, | ||
bool | fixVariables = false |
||
) |
Record a new incumbent solution and update objectiveValue.
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).
|
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.
|
inline |
Get pointer to array[getNumCols()] of primal solution vector.
Definition at line 647 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of dual prices.
Definition at line 651 of file AbcModel.h.
|
inline |
Get a pointer to array[getNumCols()] of reduced costs.
Definition at line 655 of file AbcModel.h.
|
inline |
Get pointer to array[getNumRows()] of row activity levels.
Definition at line 659 of file AbcModel.h.
|
inline |
Get current objective function value.
Definition at line 663 of file AbcModel.h.
|
inline |
Get best objective function value.
Definition at line 667 of file AbcModel.h.
|
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.
|
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.
|
inline |
Get number of solutions.
Definition at line 684 of file AbcModel.h.
|
inline |
Set number of solutions (so heuristics will be different)
Definition at line 688 of file AbcModel.h.
|
inline |
Get number of heuristic solutions.
Definition at line 692 of file AbcModel.h.
|
inline |
Set objective function sense (1 for min (default), -1 for max,)
Definition at line 696 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at root node.
Definition at line 703 of file AbcModel.h.
|
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.
|
inline |
Get the maximum number of cut passes at other nodes (default 10)
Definition at line 711 of file AbcModel.h.
|
inline |
Number of entries in the list returned by #addedCuts()
Definition at line 714 of file AbcModel.h.
|
inline |
Definition at line 716 of file AbcModel.h.
|
inline |
Get the current branching decision method.
Definition at line 731 of file AbcModel.h.
|
inline |
Set the branching decision method.
Definition at line 734 of file AbcModel.h.
|
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.
|
inline |
Pass in Message handler (not deleted at end)
Definition at line 748 of file AbcModel.h.
|
inline |
Set language.
Definition at line 759 of file AbcModel.h.
|
inline |
Definition at line 761 of file AbcModel.h.
|
inline |
Return handler.
Definition at line 764 of file AbcModel.h.
|
inline |
Return messages.
Definition at line 767 of file AbcModel.h.
|
inline |
Return pointer to messages.
Definition at line 770 of file AbcModel.h.
|
inline |
Definition at line 776 of file AbcModel.h.
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.
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
void AbcModel::addHeuristic | ( | AbcHeuristic * | generator | ) |
Add one heuristic.
void AbcModel::reducedCostFix | ( | ) |
Perform reduced cost fixing Fixes integer variables at their current value based on reduced cost penalties.
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.
|
inline |
Set an integer parameter.
Definition at line 832 of file AbcModel.h.
|
inline |
Set a double parameter.
Definition at line 838 of file AbcModel.h.
|
inline |
Get an integer parameter.
Definition at line 844 of file AbcModel.h.
|
inline |
Get a double parameter.
Definition at line 849 of file AbcModel.h.
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.
|
inline |
Get the cutoff bound on the objective function - always as minimize.
Definition at line 860 of file AbcModel.h.
|
inline |
Set the maximum node limit .
Definition at line 868 of file AbcModel.h.
|
inline |
Get the maximum node limit .
Definition at line 872 of file AbcModel.h.
|
inline |
Set the maximum number of solutions desired.
Definition at line 879 of file AbcModel.h.
|
inline |
Get the maximum number of solutions desired.
Definition at line 886 of file AbcModel.h.
|
inline |
Set the integrality tolerance .
Definition at line 893 of file AbcModel.h.
|
inline |
Get the integrality tolerance .
Definition at line 899 of file AbcModel.h.
|
inline |
Set the weight per integer infeasibility .
Definition at line 907 of file AbcModel.h.
|
inline |
Get the weight per integer infeasibility .
Definition at line 914 of file AbcModel.h.
|
inline |
Set the allowable gap between the best known solution and the best possible solution.
Definition at line 921 of file AbcModel.h.
|
inline |
Get the allowable gap between the best known solution and the best possible solution.
Definition at line 927 of file AbcModel.h.
|
inline |
Set the minimum drop to continue cuts.
Definition at line 932 of file AbcModel.h.
|
inline |
Get the minimum drop to continue cuts.
Definition at line 935 of file AbcModel.h.
|
virtual |
|
virtual |
|
inline |
Definition at line 945 of file AbcModel.h.
|
inline |
Definition at line 948 of file AbcModel.h.
|
inline |
Priorities.
Definition at line 957 of file AbcModel.h.
|
inline |
Returns priority level for an object (or 1000 if no priorities exist)
Definition at line 960 of file AbcModel.h.
|
virtual |
Pack AlpsPar_ into a given encode object.
Reimplemented from AlpsModel.
|
virtual |
Decode the given AlpsEncoded object into this.
Reimplemented from AlpsModel.
|
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.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
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.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
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.
AlpsEncoded* AlpsKnowledge::encode |
Encode the content of this into an AlpsEncoded object and return a pointer to it.
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.
|
private |
Number of rows at continuous.
Definition at line 109 of file AbcModel.h.
|
private |
Number of integers in problem.
Definition at line 111 of file AbcModel.h.
|
private |
Indices of integer variables.
Definition at line 113 of file AbcModel.h.
|
private |
|
private |
Message handler.
Definition at line 119 of file AbcModel.h.
|
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.
|
private |
Abc messages.
Definition at line 128 of file AbcModel.h.
|
private |
Array for integer parameters.
Definition at line 131 of file AbcModel.h.
|
private |
Array for double parameters.
Definition at line 134 of file AbcModel.h.
|
private |
The solver associated with this model.
Definition at line 137 of file AbcModel.h.
|
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.
|
private |
A copy of the solver, taken at the continuous (root) node.
Definition at line 146 of file AbcModel.h.
|
private |
|
private |
|
private |
Minimum degradation in objective value to continue cut generation.
Definition at line 155 of file AbcModel.h.
|
private |
Best objective.
Definition at line 158 of file AbcModel.h.
|
private |
Array holding the incumbent (best) solution.
Definition at line 161 of file AbcModel.h.
|
private |
Array holding the current solution.
This array is used more as a temporary.
Definition at line 166 of file AbcModel.h.
|
private |
Global cuts.
Definition at line 169 of file AbcModel.h.
|
private |
Cumulative number of nodes.
Definition at line 172 of file AbcModel.h.
|
private |
Cumulative number of iterations.
Definition at line 174 of file AbcModel.h.
|
private |
Status of problem - 0 finished, 1 stopped, 2 difficulties.
Definition at line 176 of file AbcModel.h.
|
private |
Number of entries in #addedCuts_.
Definition at line 178 of file AbcModel.h.
|
private |
Maximum number of cuts.
Definition at line 180 of file AbcModel.h.
|
private |
How often to scan global cuts.
Definition at line 182 of file AbcModel.h.
|
private |
Current limit on search tree depth.
The allocated size of #walkback_. Increased as needed.
Definition at line 188 of file AbcModel.h.
|
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.
|
private |
Number of cut generators.
Definition at line 196 of file AbcModel.h.
|
private |
Definition at line 198 of file AbcModel.h.
|
private |
Number of heuristics.
Definition at line 200 of file AbcModel.h.
|
private |
Definition at line 202 of file AbcModel.h.
|
private |
Maximum number of cut passes at root.
Definition at line 205 of file AbcModel.h.
|
private |
Maximum number of cut passes.
Definition at line 207 of file AbcModel.h.
|
private |
Variable selection function.
Definition at line 210 of file AbcModel.h.
|
private |
Number of solutions.
Definition at line 212 of file AbcModel.h.
|
private |
Number of heuristic solutions.
Definition at line 214 of file AbcModel.h.
|
private |
Priorities.
Definition at line 216 of file AbcModel.h.
|
private |
Definition at line 218 of file AbcModel.h.
|
private |
Definition at line 220 of file AbcModel.h.
|
private |
Abc parameters.
Definition at line 223 of file AbcModel.h.