- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# BlisModel Class Reference

`#include <BlisModel.h>`

Inheritance diagram for BlisModel:

[legend]
Collaboration diagram for BlisModel:

[legend]
List of all members.

## Public Member Functions
| BlisModel ()
| Default construtor.
virtual | ~BlisModel ()
| Destructor.
void | gutsOfDestructor ()
| Actual destructor.
void | init ()
| Intialize member data.
virtual void | readInstance (const char *dataFile)
| Read in the instance data.
virtual void | readParameters (const int argnum, const char *const *arglist)
| Read in Alps, Blis parameters.
virtual void | writeParameters (std::ostream &outstream) const
| Write out parameters.
virtual AlpsTreeNode * | createRoot ()
| Create the root node based on model.
virtual bool | setupSelf ()
| Do necessary work to make model usable.
virtual void | setSolver (OsiSolverInterface *si)
| Set lp solver.
virtual OsiSolverInterface * | solver ()
| Get lp solver.
bool | resolve ()
| Resolving a lp.
void | setActiveNode (AlpsTreeNode *node)
| Set active node.
void | setSolEstimate (double est)
| Set the solution estimate of the active node.
int | getNumStrong ()
| Get number of strong branchings.
void | addNumStrong (int num=1)
| Add num to number of strong branchings.
double * | getObjCoef () const
| Get objective coefficients.
const double * | getColLower ()
| Get column lower bound.
const double * | getColUpper ()
| Get column upper bound.
int | getNumCols ()
| Get number of columns.
int | getNumRows ()
| Get number of rows.
double * | origVarLB ()
| Get original variable bounds arrary.
double * | origVarUB ()
double * | origConLB ()
| Get original constraint bounds arrary.
double * | origConUB ()
double * | startVarLB ()
| The starting variable bounds arrary of a subproblem (internal use).
double * | startVarUB ()
double * | startConLB ()
| The starting constraint bounds arrary of a subproblem (internal use).
double * | startConUB ()
int * | tempVarLBPos ()
| Temparory storage.
int * | tempVarUBPos ()
int * | tempConLBPos ()
int * | tempConUBPos ()
double | getLpObjValue () const
| Get current objective function value.
const double * | getLpSolution () const
| Get active lp solution.
int | getNumSolutions () const
| Get number of solutions.
int | getNumHeurSolutions () const
| Get number of heuristic solutions.
double * | incumbent ()
| Return best ip solution found so far.
bool | setBestSolution (BLIS_SOL_TYPE how, double &objectiveValue, const double *solution, bool fixVariables=false)
| Record a new incumbent solution and update objectiveValue.
double | getCutoff () const
| Get cut off value.
void | setCutoff (double co)
| Set cut off value.
bool | feasibleSolution (int &numIntegerInfs)
| Test the current lp solution for feasiblility.
bool | feasibleSolution (int &numIntegerInfs, int &numObjectInfs)
| Test the current solution for feasiblility.
void | findIntegers (bool startAgain)
| Identify integer variable.
int | getNumIntVars () const
| Get number of integers.
int * | getIntVars () const
| Get integer indices.
bool | checkInteger (double value) const
| Check if a value is integer.
void | addHeuristic (BlisHeuristic *heur)
| Add a heuristic.
BlisHeuristic * | heuristics (int i) const
| Get a specific heuristic.
int | numHeuristics () const
| Get the number of heuristics.
void | addCutGenerator (CglCutGenerator *generator, const char *name=NULL, int strategy=0, bool normal=true, bool atSolution=false, bool whenInfeasible=false)
| Add a cut generator.
BlisConGenerator * | cutGenerators (int i) const
| Get a specific cut generator.
int | numCutGenerators () const
| Get the number of cut generators.
int | getMaxNumCons () const
| Get the max number of cuts can be generated.
void | setMaxNumCons (int m)
| Set the max number of cuts can be generated.
BcpsConstraintPool * | constraintPool ()
| Access constraint pool.
int | useCons () const
| Query constraint generation strategy.
void | setUseCons (int u)
| Set constraint generation strategy.
int | getDenseConCutoff () const
| Get the thresheld to be considered as a dense constraint.
void | setDenseConCutoff (int cutoff)
| Set the thresheld to be considered as a dense constraint.
double * | getConRandoms () const
| Get randoms for check parallel constraints.
void | passInPriorities (const int *priorities, bool ifNotSimpleIntegers, int defaultValue=1000)
| Pass in branching priorities.
const int * | priority () const
| Priorities.
int | priority (int sequence) const
| Returns priority level for an object (or 1000 if no priorities exist).
const double | getNodeWeight () const
void | setNodeWeight (double nw)
virtual void | modelLog ()
| Log of specific models.
int | getNumNodes () const
| Get how many Nodes it took to solve the problem.
int | getNumIterations () const
| Get how many iterations it took to solve the problem.
int | getAveIterations () const
| Get the average iterations it took to solve a lp.
void | addNumNodes (int newNodes=1)
| Increment node count.
void | addNumIterations (int newIter)
| Increment Iteration count.
CoinMessageHandler * | messageHandler () const
| Get the message handler.
int | getHotstartStrategy ()
| Don't know what it is.
void | setHotstartStrategy (int value)
virtual void | registerKnowledge ()
| Register knowledge.
virtual AlpsEncoded * | encode () const
| The method that encodes the model into a encoded object.
virtual void | decodeToSelf (AlpsEncoded &)
| The method that decodes the model from a encoded object.
| BlisModel ()
| Default construtor.
virtual | ~BlisModel ()
| Destructor.
void | gutsOfDestructor ()
| Actual destructor.
void | setColMatrix (CoinPackedMatrix *mat)
| Pass a matrix in.
void | setNumCons (int num)
| Pass column upper bounds.
void | setNumVars (int num)
| Pass column upper bounds.
void | setNumElems (int num)
| Pass column upper bounds.
void | setConLb (double *cl)
| Pass column upper bounds.
void | setConUb (double *cu)
| Pass column lower bounds.
void | setVarLb (double *lb)
| Pass variable upper bounds.
void | setVarUb (double *ub)
| Pass variable lower bounds.
void | setColType (char *colType)
| Pass variable types.
void | setObjCoef (double *obj)
| Pass objective coefficients.
virtual void | readInstance (const char *dataFile)
| For parallel code, only the master calls this function.
virtual void | importModel (std::vector< BlisVariable * > vars, std::vector< BlisConstraint * > cons)
| For parallel code, only the master calls this function.
virtual void | readParameters (const int argnum, const char *const *arglist)
| Read in Alps, Blis parameters.
virtual void | writeParameters (std::ostream &outstream) const
| Write out parameters.
virtual AlpsTreeNode * | createRoot ()
| For parallel code, only the master calls this function.
virtual bool | setupSelf ()
| All processes call this function.
virtual void | preprocess ()
| Preprocessing the model.
virtual void | postprocess ()
| Postprocessing the searching results.
virtual void | setSolver (OsiSolverInterface *si)
| Set lp solver.
virtual OsiSolverInterface * | getSolver ()
| Get lp solver.
virtual OsiSolverInterface * | solver ()
| Get lp solver.
bool | resolve ()
| Resolving a lp.
void | setActiveNode (AlpsTreeNode *node)
| Set active node.
void | setSolEstimate (double est)
| Set the solution estimate of the active node.
int | getNumStrong ()
| Get number of strong branchings.
void | addNumStrong (int num=1)
| Add num to number of strong branchings.
int | getNumBranchResolve ()
| Get the maximum number of resolve during branching.
void | setNumBranchResolve (int num)
| Set the maximum number of resolve during branching.
double * | getObjCoef () const
| Get objective coefficients.
const double * | getColLower ()
| Get column lower bound.
const double * | getColUpper ()
| Get column upper bound.
int | getNumCols ()
| Get number of columns.
int | getNumRows ()
| Get number of rows.
double * | varLB ()
| Get variable bounds arrary.
double * | varUB ()
double * | conLB ()
| Get original constraint bounds arrary.
double * | conUB ()
double * | startVarLB ()
| The starting variable bounds arrary of a subproblem (internal use).
double * | startVarUB ()
double * | startConLB ()
| The starting constraint bounds arrary of a subproblem (internal use).
double * | startConUB ()
int * | tempVarLBPos ()
| Temparory storage.
int * | tempVarUBPos ()
int * | tempConLBPos ()
int * | tempConUBPos ()
double | getLpObjValue () const
| Get current objective function value.
const double * | getLpSolution () const
| Get active lp solution.
int | getNumSolutions () const
| Get number of solutions.
int | getNumHeurSolutions () const
| Get number of heuristic solutions.
double * | incumbent ()
| Return best ip solution found so far.
int | storeSolution (BlisSolutionType how, BlisSolution *sol)
| Record a new incumbent solution and update objectiveValue.
double | getCutoff () const
| Get cut off value.
void | setCutoff (double co)
| Set cut off value.
BlisSolution * | feasibleSolutionHeur (const double *solution)
| Test if a solution found by heuristic is feasible.
virtual BlisSolution * | feasibleSolution (int &numIntegerInfs, int &numObjectInfs)
| Test the current LP solution for feasiblility.
virtual BlisSolution * | userFeasibleSolution (const double *solution, bool &feasible)
| User's criteria for a feasible solution.
void | createIntgerObjects (bool startAgain)
| Identify integer variable.
int * | getIntObjIndices () const
| Get integers' object indices.
int | getNumIntObjects () const
| Get number of integers.
int * | getIntColIndices () const
| Get integers' column indices.
bool | checkInteger (double value) const
| Check if a value is integer.
void | analyzeObjective ()
void | addHeuristic (BlisHeuristic *heur)
| Add a heuristic.
BlisHeuristic * | heuristics (int i) const
| Get a specific heuristic.
int | numHeuristics () const
| Get the number of heuristics.
void | addCutGenerator (BlisConGenerator *generator)
| Add a Blis cut generator.
void | addCutGenerator (CglCutGenerator *generator, const char *name=NULL, BlisCutStrategy strategy=BlisCutStrategyAuto, int cutGenerationFrequency=1, bool normal=true, bool atSolution=false, bool whenInfeasible=false)
| Add a Cgl cut generator.
BlisConGenerator * | cutGenerators (int i) const
| Get a specific cut generator.
int | numCutGenerators () const
| Get the number of cut generators.
int | getMaxNumCons () const
| Get the max number of cuts can be generated.
void | setMaxNumCons (int m)
| Set the max number of cuts can be generated.
BcpsConstraintPool * | constraintPool ()
| Access constraint pool.
BcpsConstraintPool * | constraintPoolReceive ()
| Access receive constraint pool.
BcpsConstraintPool * | constraintPoolSend ()
| Access send constraint pool.
BlisCutStrategy | getCutStrategy () const
| Query constraint generation strategy.
void | setCutStrategy (BlisCutStrategy u)
| Set constraint generation strategy.
int | getCutGenerationFrequency () const
| Query constraint generation frequency.
void | setCutStrategy (int f)
| Set constraint generation frequency.
int | getDenseConCutoff () const
| Get the thresheld to be considered as a dense constraint.
void | setDenseConCutoff (int cutoff)
| Set the thresheld to be considered as a dense constraint.
double * | getConRandoms () const
| Get randoms for check parallel constraints.
void | passInPriorities (const int *priorities, bool ifNotSimpleIntegers, int defaultValue=1000)
| Pass in branching priorities.
const int * | priority () const
| Priorities.
int | priority (int sequence) const
| Returns priority level for an object (or 1000 if no priorities exist).
double | getNodeWeight () const
void | setNodeWeight (double nw)
virtual void | modelLog ()
| Log of specific models.
int | getNumNodes () const
| Get how many Nodes it took to solve the problem.
int | getNumIterations () const
| Get how many iterations it took to solve the problem.
int | getAveIterations () const
| Get the average iterations it took to solve a lp.
void | addNumNodes (int newNodes=1)
| Increment node count.
void | addNumIterations (int newIter)
| Increment Iteration count.
CoinMessageHandler * | blisMessageHandler () const
| Get the message handler.
CoinMessages | blisMessages ()
| Return messages.
virtual void | nodeLog (AlpsTreeNode *node, bool force)
| Node log.
virtual bool | fathomAllNodes ()
| Return true, if all nodes can be fathomed.
virtual void | registerKnowledge ()
| Register knowledge.
virtual AlpsEncoded * | encode () const
| The method that encodes the model into an encoded object.
virtual void | decodeToSelf (AlpsEncoded &)
| The method that decodes the model from an encoded object.
virtual AlpsEncoded * | packSharedKnowlege ()
| Pack knowledge to be shared with others into an encoded object.
virtual void | unpackSharedKnowledge (AlpsEncoded &)
| Unpack and store shared knowledge from an encoded object.
Branching Strategys
See the BcpsBranchStrategy class for additional information.
BcpsBranchStrategy * | branchStrategy () const
| Get the current branching strategy.
void | setBranchingMethod (BcpsBranchStrategy *method)
| Set the branching strategy.
void | setBranchingMethod (BcpsBranchStrategy &method)
| Set the branching stratedy.
Object manipulation routines
int | numObjects () const
| Get the number of objects.
void | setNumObjects (int num)
| Set the number of objects.
BcpsObject ** | objects ()
| Get the array of objects.
BcpsObject * | objects (int which)
| Get the specified object.
void | deleteObjects ()
| Delete all object information.
void | addObjects (int numObjects, BcpsObject **objects)
| Add in object information.
int | getNumOldConstraints () const
| Get number of old constraints.
void | setNumOldConstraints (int num)
| Set number of old constraints.
int | getOldConstraintsSize () const
| Get max number of old constraints.
void | setOldConstraintsSize (int num)
| Set max number of old constraints.
BlisConstraint ** | oldConstraints ()
| Access old constraints.
void | setOldConstraints (BlisConstraint **old)
| set old constraints.
void | delOldConstraints ()
| Set max number of old constraints.
BlisParams * | BlisPar ()
| Access parameters.
Branching Strategys
See the BcpsBranchStrategy class for additional information.
BcpsBranchStrategy * | branchStrategy () const
| Get the current branching strategy.
void | setBranchingMethod (BcpsBranchStrategy *method)
| Set the branching strategy.
void | setBranchingMethod (BcpsBranchStrategy &method)
| Set the branching stratedy.
BcpsBranchStrategy * | rampUpBranchStrategy () const
| Get the current branching strategy.
Object manipulation routines
int | numObjects () const
| Get the number of objects.
void | setNumObjects (int num)
| Set the number of objects.
BcpsObject ** | objects ()
| Get the array of objects.
BcpsObject * | objects (int which)
| Get the specified object.
void | setSharedObjectMark (int i)
| Mark object to be shared.
void | clearSharedObjectMark ()
| Clear all the share mark.
void | deleteObjects ()
| Delete all object information.
void | addObjects (int numObjects, BcpsObject **objects)
| Add in object information.
int | getNumOldConstraints () const
| Get number of old constraints.
void | setNumOldConstraints (int num)
| Set number of old constraints.
int | getOldConstraintsSize () const
| Get max number of old constraints.
void | setOldConstraintsSize (int num)
| Set max number of old constraints.
BlisConstraint ** | oldConstraints ()
| Access old constraints.
void | setOldConstraints (BlisConstraint **old)
| set old constraints.
void | delOldConstraints ()
| Set max number of old constraints.
BlisParams * | BlisPar ()
| Access parameters.
## Public Attributes
bool | isRoot_
| If root node.
double | startTime_
| Search starting time.
double | timeLimit_
| Max solution time.
double | integerTol_
| Integer tolerance.
double | optimalRelGap_
| Input relative optimal gap.
double | optimalAbsGap_
| Input absolute optimal gap.
bool | useHeuristics_
| If use heuristics.
OsiCuts | newCutPool_
| Store new cuts in each pass.
std::vector< AlpsTreeNode * > | leafToRootPath
| Record the path from leaf to root.
int | boundingPass_
| The number of passes during bounding procedure.
double | currRelGap_
| Current relative optimal gap.
double | currAbsGap_
| Current absolute optimal gap.
BlisHeurStrategy | heurStrategy_
| If use heuristics.
int | heurCallFrequency_
| Frequency of using heuristics.
std::vector< AlpsTreeNode * > | leafToRootPath
| Record the path from leaf to root.
## Protected Member Functions
void | init ()
| Intialize member data.
void | createObjects ()
| Create variables and constraints.
AlpsReturnStatus | encodeBlis (AlpsEncoded *encoded) const
| Pack Blis portion of the model into an encoded object.
AlpsReturnStatus | decodeBlis (AlpsEncoded &encoded)
| Unpack Blis portion of the model from an encoded object.
void | packSharedPseudocost (AlpsEncoded *encoded, int numToShare)
| Retrieve and pack shared pseudocost.
void | unpackSharedPseudocost (AlpsEncoded &encoded)
| Unpack and store shared pseduocost.
void | packSharedConstraints (AlpsEncoded *encoded)
| Retrieve and pack shared constraints.
void | unpackSharedConstraints (AlpsEncoded &encoded)
| Unpack and store shared constraints.
void | packSharedVariables (AlpsEncoded *encoded)
| Retrieve and pack shared variables.
void | unpackSharedVariables (AlpsEncoded &encoded)
| Unpack and store shared variables.
## Protected Attributes
OsiSolverInterface * | origLpSolver_
| Input by user.
OsiSolverInterface * | presolvedLpSolver_
| Presolved.
OsiSolverInterface * | lpSolver_
| Actually used.
CoinPackedMatrix * | colMatrix_
| Column majored matrix.
BlisPresolve * | presolve_
double * | incumbent_
| Incumbent.
int * | intObjIndices_
char * | colType_
BcpsBranchStrategy * | branchStrategy_
| Variable selection function.
BcpsBranchStrategy * | rampUpBranchStrategy_
BlisHotStartStrategy | hotstartStrategy_
BcpsObject ** | objects_
| The set of objects.
char * | sharedObjectMark_
| The objects that can be shared.
int * | priority_
| Priorities of integer object.
AlpsTreeNode * | activeNode_
| Active node.
int | numBranchResolve_
| Maximum number of resolve during branching.
BlisHeuristic ** | heuristics_
| The list of heuristics.
BlisCutStrategy | cutStrategy_
| If use cut generators.
int | cutGenerationFrequency_
| Frequency of cut generation.
BlisConGenerator ** | generators_
| The list of cut generators used.
BcpsConstraintPool * | constraintPool_
| Store all the cuts.
BlisConstraint ** | oldConstraints_
| Temporary store old cuts at a node when installing a node.
double * | conRandoms_
| Random keys.
BlisParams * | BlisPar_
| Blis parameters.
CoinMessageHandler * | blisMessageHandler_
| Message handler.
CoinMessages | blisMessages_
| Blis messages.
BcpsConstraintPool * | constraintPoolSend_
| Constraints that can be sent/broadcasted to other processes.
BcpsConstraintPool * | constraintPoolReceive_
| Constraints that are received from other processses.
double * | varLB_
| Variable and constraint bounds.
double * | varUB_
| Variable and constraint bounds.
double * | conLB_
| Variable and constraint bounds.
double * | conUB_
| Variable and constraint bounds.
double * | objCoef_
int | numIntObjects_
| Column types.
int * | intColIndices_
| Column types.
std::vector< BcpsVariable * > | inputVar_
| User's input objects.
std::vector< BcpsConstraint * > | inputCon_
| User's input objects.
double * | startVarLB_
| Starting var/con bounds for processing each node.
double * | startVarUB_
| Starting var/con bounds for processing each node.
double * | startConLB_
| Starting var/con bounds for processing each node.
double * | startConUB_
| Starting var/con bounds for processing each node.
int * | tempVarLBPos_
| Tempory storage for var/con indices.
int * | tempVarUBPos_
| Tempory storage for var/con indices.
int * | tempConLBPos_
| Tempory storage for var/con indices.
int * | tempConUBPos_
| Tempory storage for var/con indices.
## Private Attributes
OsiSolverInterface * | lpSolver_
| Lp solver.
CoinPackedMatrix * | colMatrix_
| Orignial column majored matrix.
int | numSolutions_
int | numHeurSolutions_
double | incObjValue_
| Incumbent objective value.
double * | incumbent_
| Incumbent.
double | cutoff_
| Cutoff in lp solver.
double | cutoffInc_
| Cutoff increment.
BcpsBranchStrategy * | branchStrategy_
| Variable selection function.
int | hotstartStrategy_
int | numObjects_
| Number of objects.
BcpsObject ** | objects_
| The set of objects.
int * | priority_
| Priorities of integer object.
AlpsTreeNode * | activeNode_
| Active node.
int | numStrong_
| Number of strong branching.
double | nodeWeight_
int | numHeuristics_
| Number of heuristics.
BlisHeuristic ** | heuristics_
| The list of heuristics.
int | useCons_
| If use cut generators.
int | numCutGenerators_
| Number of cut generators used.
int | maxNumCons_
| Number of cuts can be generators.
BlisConGenerator ** | generators_
| The list of cut generators used.
BcpsConstraintPool * | constraintPool_
| Store all the cuts.
BlisConstraint ** | oldConstraints_
| Temporary store old cuts at a node when installing a node.
int | oldConstraintsSize_
| The memory size allocated for oldConstraints_.
int | numOldConstraints_
| Number of old constraints.
double * | conRandoms_
| Random keys.
int | denseConCutoff_
| Dense constraint cutoff.
BlisParams * | BlisPar_
| Blis parameters.
CoinMessageHandler * | handler_
| Message handler.
int | numNodes_
| Number of processed nodes.
int | numIterations_
| Number of lp(Simplex) iterations.
int | aveIterations_
| Average number of lp iterations to solve a subproblem.
double * | origVarLB_
| Original variable and constraint bounds.
double * | origVarUB_
| Original variable and constraint bounds.
double * | origConLB_
| Original variable and constraint bounds.
double * | origConUB_
| Original variable and constraint bounds.
int | numCols_
| Number of columns/rows/elements.
int | numRows_
| Number of columns/rows/elements.
int | numElems_
| Number of columns/rows/elements.
double | objSense_
| Objective function.
double * | objCoef_
| Objective function.
int | numIntVars_
| Column types.
int * | intVars_
| Column types.
char * | colType_
| Column types.
double * | startVarLB_
| Starting var/con bounds for processing each node.
double * | startVarUB_
| Starting var/con bounds for processing each node.
double * | startConLB_
| Starting var/con bounds for processing each node.
double * | startConUB_
| Starting var/con bounds for processing each node.
int * | tempVarLBPos_
| Tempory storage for var/con indices.
int * | tempVarUBPos_
| Tempory storage for var/con indices.
int * | tempConLBPos_
| Tempory storage for var/con indices.
int * | tempConUBPos_
| Tempory storage for var/con indices.

## Detailed Description

Definition at line 61 of file BlisModel.h.

## Constructor & Destructor Documentation

BlisModel::BlisModel | ( |  | ) | `[inline]`

Default construtor.

Definition at line 277 of file BlisModel.h.

References init().

virtual BlisModel::~BlisModel | ( |  | ) | `[virtual]`

Destructor.

BlisModel::BlisModel | ( |  | ) | `[inline]`

Default construtor.

Definition at line 334 of file BlisModel.h.

References init().

virtual BlisModel::~BlisModel | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

void BlisModel::gutsOfDestructor | ( |  | ) |

Actual destructor.

void BlisModel::init | ( |  | ) |

Intialize member data.

Referenced by BlisModel().

virtual void BlisModel::readInstance | ( | const char * | dataFile | ) | `[virtual]`

Read in the instance data.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual void BlisModel::readParameters | ( | const int | argnum,
|  | const char *const * | arglist |
| ) |  |  | `[virtual]`

Read in Alps, Blis parameters.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual void BlisModel::writeParameters | ( | std::ostream & | outstream | ) | const`[virtual]`

Write out parameters.

Reimplemented from AlpsModel.

virtual AlpsTreeNode* BlisModel::createRoot | ( |  | ) | `[virtual]`

Create the root node based on model.

Reimplemented from AlpsModel.

virtual bool BlisModel::setupSelf | ( |  | ) | `[virtual]`

Do necessary work to make model usable.

Return success or not.

Reimplemented from AlpsModel.

virtual void BlisModel::setSolver | ( | OsiSolverInterface * | si | ) | `[inline, virtual]`

Set lp solver.

Definition at line 308 of file BlisModel.h.

References lpSolver_.

virtual OsiSolverInterface* BlisModel::solver | ( |  | ) | `[inline, virtual]`

Get lp solver.

Definition at line 311 of file BlisModel.h.

References lpSolver_.

Referenced by BlisHeurRound::BlisHeurRound().

bool BlisModel::resolve | ( |  | ) |

Resolving a lp.

void BlisModel::setActiveNode | ( | AlpsTreeNode * | node | ) | `[inline]`

Set active node.

Definition at line 317 of file BlisModel.h.

References activeNode_.

void BlisModel::setSolEstimate | ( | double | est | ) | `[inline]`

Set the solution estimate of the active node.

Definition at line 320 of file BlisModel.h.

References activeNode_, and AlpsTreeNode::setSolEstimate().

int BlisModel::getNumStrong | ( |  | ) | `[inline]`

Get number of strong branchings.

Definition at line 323 of file BlisModel.h.

References numStrong_.

void BlisModel::addNumStrong | ( | int | num = `1` | ) | `[inline]`

Add num to number of strong branchings.

Definition at line 326 of file BlisModel.h.

References numStrong_.

double* BlisModel::getObjCoef | ( |  | ) | const`[inline]`

Get objective coefficients.

Definition at line 333 of file BlisModel.h.

References objCoef_.

const double* BlisModel::getColLower | ( |  | ) | `[inline]`

Get column lower bound.

Definition at line 336 of file BlisModel.h.

References OsiSolverInterface::getColLower(), and lpSolver_.

const double* BlisModel::getColUpper | ( |  | ) | `[inline]`

Get column upper bound.

Definition at line 339 of file BlisModel.h.

References OsiSolverInterface::getColUpper(), and lpSolver_.

int BlisModel::getNumCols | ( |  | ) | `[inline]`

Get number of columns.

Definition at line 342 of file BlisModel.h.

References OsiSolverInterface::getNumCols(), and lpSolver_.

int BlisModel::getNumRows | ( |  | ) | `[inline]`

Get number of rows.

Definition at line 345 of file BlisModel.h.

References OsiSolverInterface::getNumRows(), and lpSolver_.

double* BlisModel::origVarLB | ( |  | ) | `[inline]`

Get original variable bounds arrary.

Definition at line 348 of file BlisModel.h.

References origVarLB_.

double* BlisModel::origVarUB | ( |  | ) | `[inline]`

Definition at line 349 of file BlisModel.h.

References origVarUB_.

double* BlisModel::origConLB | ( |  | ) | `[inline]`

Get original constraint bounds arrary.

Definition at line 352 of file BlisModel.h.

References origConLB_.

double* BlisModel::origConUB | ( |  | ) | `[inline]`

Definition at line 353 of file BlisModel.h.

References origConUB_.

double* BlisModel::startVarLB | ( |  | ) | `[inline]`

The starting variable bounds arrary of a subproblem (internal use).

Definition at line 356 of file BlisModel.h.

References startVarLB_.

double* BlisModel::startVarUB | ( |  | ) | `[inline]`

Definition at line 357 of file BlisModel.h.

References startVarUB_.

double* BlisModel::startConLB | ( |  | ) | `[inline]`

The starting constraint bounds arrary of a subproblem (internal use).

Definition at line 360 of file BlisModel.h.

References startConLB_.

double* BlisModel::startConUB | ( |  | ) | `[inline]`

Definition at line 361 of file BlisModel.h.

References startConUB_.

int* BlisModel::tempVarLBPos | ( |  | ) | `[inline]`

Temparory storage.

Definition at line 364 of file BlisModel.h.

References tempVarLBPos_.

int* BlisModel::tempVarUBPos | ( |  | ) | `[inline]`

Definition at line 365 of file BlisModel.h.

References tempVarUBPos_.

int* BlisModel::tempConLBPos | ( |  | ) | `[inline]`

Definition at line 366 of file BlisModel.h.

References tempConLBPos_.

int* BlisModel::tempConUBPos | ( |  | ) | `[inline]`

Definition at line 367 of file BlisModel.h.

References tempConUBPos_.

double BlisModel::getLpObjValue | ( |  | ) | const`[inline]`

Get current objective function value.

Definition at line 374 of file BlisModel.h.

References OsiSolverInterface::getObjValue(), and lpSolver_.

const double* BlisModel::getLpSolution | ( |  | ) | const`[inline]`

Get active lp solution.

Definition at line 377 of file BlisModel.h.

References OsiSolverInterface::getColSolution(), and lpSolver_.

int BlisModel::getNumSolutions | ( |  | ) | const`[inline]`

Get number of solutions.

Definition at line 387 of file BlisModel.h.

References numSolutions_.

int BlisModel::getNumHeurSolutions | ( |  | ) | const`[inline]`

Get number of heuristic solutions.

Definition at line 390 of file BlisModel.h.

References numHeurSolutions_.

double* BlisModel::incumbent | ( |  | ) | `[inline]`

Return best ip solution found so far.

Definition at line 393 of file BlisModel.h.

References incumbent_.

bool BlisModel::setBestSolution | ( | BLIS_SOL_TYPE | how,
|  | double & | objectiveValue,
|  | const double * | solution,
|  | bool | fixVariables = `false` |
| ) |  |  |

Record a new incumbent solution and update objectiveValue.

double BlisModel::getCutoff | ( |  | ) | const`[inline]`

Get cut off value.

Definition at line 402 of file BlisModel.h.

References cutoff_.

void BlisModel::setCutoff | ( | double | co | ) | `[inline]`

Set cut off value.

Definition at line 405 of file BlisModel.h.

References cutoff_, OsiSolverInterface::getObjSense(), lpSolver_, OsiDualObjectiveLimit, and OsiSolverInterface::setDblParam().

bool BlisModel::feasibleSolution | ( | int & | numIntegerInfs | ) |

Test the current lp solution for feasiblility.

Scan integer objects for indications of infeasibility.

bool BlisModel::feasibleSolution | ( | int & | numIntegerInfs,
|  | int & | numObjectInfs |
| ) |  |  |

Test the current solution for feasiblility.

Scan all objects for indications of infeasibility. This is broken down into simple integer infeasibility (`numIntegerInfs`) and all other reports of infeasibility(`numObjectInfs`).

BcpsBranchStrategy* BlisModel::branchStrategy | ( |  | ) | const`[inline]`

Get the current branching strategy.

Definition at line 432 of file BlisModel.h.

References branchStrategy_.

void BlisModel::setBranchingMethod | ( | BcpsBranchStrategy * | method | ) | `[inline]`

Set the branching strategy.

Definition at line 436 of file BlisModel.h.

References branchStrategy_.

void BlisModel::setBranchingMethod | ( | BcpsBranchStrategy & | method | ) | `[inline]`

Set the branching stratedy.

Definition at line 442 of file BlisModel.h.

References branchStrategy_.

int BlisModel::numObjects | ( |  | ) | const`[inline]`

Get the number of objects.

Definition at line 452 of file BlisModel.h.

References numObjects_.

void BlisModel::setNumObjects | ( | int | num | ) | `[inline]`

Set the number of objects.

Definition at line 455 of file BlisModel.h.

References numObjects_.

BcpsObject** BlisModel::objects | ( |  | ) | `[inline]`

Get the array of objects.

Definition at line 458 of file BlisModel.h.

References objects_.

BcpsObject* BlisModel::objects | ( | int | which | ) | `[inline]`

Get the specified object.

Definition at line 461 of file BlisModel.h.

References objects_.

void BlisModel::deleteObjects | ( |  | ) |

Delete all object information.

void BlisModel::addObjects | ( | int | numObjects,
|  | BcpsObject ** | objects |
| ) |  |  |

Add in object information.

Objects are cloned; the owner can delete the originals.

void BlisModel::findIntegers | ( | bool | startAgain | ) |

Identify integer variable.

int BlisModel::getNumIntVars | ( |  | ) | const`[inline]`

Get number of integers.

Definition at line 475 of file BlisModel.h.

References numIntVars_.

int* BlisModel::getIntVars | ( |  | ) | const`[inline]`

Get integer indices.

Definition at line 478 of file BlisModel.h.

References intVars_.

bool BlisModel::checkInteger | ( | double | value | ) | const`[inline]`

Check if a value is integer.

Definition at line 481 of file BlisModel.h.

void BlisModel::addHeuristic | ( | BlisHeuristic * | heur | ) |

Add a heuristic.

BlisHeuristic* BlisModel::heuristics | ( | int | i | ) | const`[inline]`

Get a specific heuristic.

Definition at line 500 of file BlisModel.h.

References heuristics_.

int BlisModel::numHeuristics | ( |  | ) | const`[inline]`

Get the number of heuristics.

Definition at line 503 of file BlisModel.h.

References numHeuristics_.

void BlisModel::addCutGenerator | ( | CglCutGenerator * | generator,
|  | const char * | name = `NULL`,
|  | int | strategy = `0`,
|  | bool | normal = `true`,
|  | bool | atSolution = `false`,
|  | bool | whenInfeasible = `false` |
| ) |  |  |

Add a cut generator.

BlisConGenerator* BlisModel::cutGenerators | ( | int | i | ) | const`[inline]`

Get a specific cut generator.

Definition at line 518 of file BlisModel.h.

References generators_.

int BlisModel::numCutGenerators | ( |  | ) | const`[inline]`

Get the number of cut generators.

Definition at line 521 of file BlisModel.h.

References numCutGenerators_.

int BlisModel::getMaxNumCons | ( |  | ) | const`[inline]`

Get the max number of cuts can be generated.

Definition at line 524 of file BlisModel.h.

References maxNumCons_.

void BlisModel::setMaxNumCons | ( | int | m | ) | `[inline]`

Set the max number of cuts can be generated.

Definition at line 527 of file BlisModel.h.

References maxNumCons_.

BcpsConstraintPool* BlisModel::constraintPool | ( |  | ) | `[inline]`

Access constraint pool.

Definition at line 530 of file BlisModel.h.

References constraintPool_.

int BlisModel::getNumOldConstraints | ( |  | ) | const`[inline]`

Get number of old constraints.

Definition at line 534 of file BlisModel.h.

References numOldConstraints_.

void BlisModel::setNumOldConstraints | ( | int | num | ) | `[inline]`

Set number of old constraints.

Definition at line 537 of file BlisModel.h.

References numOldConstraints_.

int BlisModel::getOldConstraintsSize | ( |  | ) | const`[inline]`

Get max number of old constraints.

Definition at line 540 of file BlisModel.h.

References oldConstraintsSize_.

void BlisModel::setOldConstraintsSize | ( | int | num | ) | `[inline]`

Set max number of old constraints.

Definition at line 543 of file BlisModel.h.

References oldConstraintsSize_.

BlisConstraint** BlisModel::oldConstraints | ( |  | ) | `[inline]`

Access old constraints.

Definition at line 546 of file BlisModel.h.

References oldConstraints_.

void BlisModel::setOldConstraints | ( | BlisConstraint ** | old | ) | `[inline]`

set old constraints.

Definition at line 549 of file BlisModel.h.

References oldConstraints_.

void BlisModel::delOldConstraints | ( |  | ) | `[inline]`

Set max number of old constraints.

Definition at line 552 of file BlisModel.h.

References oldConstraints_.

int BlisModel::useCons | ( |  | ) | const`[inline]`

Query constraint generation strategy.

Definition at line 559 of file BlisModel.h.

References useCons_.

void BlisModel::setUseCons | ( | int | u | ) | `[inline]`

Set constraint generation strategy.

Definition at line 562 of file BlisModel.h.

References useCons_.

int BlisModel::getDenseConCutoff | ( |  | ) | const`[inline]`

Get the thresheld to be considered as a dense constraint.

Definition at line 565 of file BlisModel.h.

References denseConCutoff_.

void BlisModel::setDenseConCutoff | ( | int | cutoff | ) | `[inline]`

Set the thresheld to be considered as a dense constraint.

Definition at line 568 of file BlisModel.h.

References denseConCutoff_.

double* BlisModel::getConRandoms | ( |  | ) | const`[inline]`

Get randoms for check parallel constraints.

Definition at line 571 of file BlisModel.h.

References conRandoms_.

void BlisModel::passInPriorities | ( | const int * | priorities,
|  | bool | ifNotSimpleIntegers,
|  | int | defaultValue = `1000` |
| ) |  |  |

Pass in branching priorities.

If ifClique then priorities are on cliques otherwise priorities are on integer variables. Other type (if exists set to default) 1 is highest priority. (well actually -INT_MAX is but that's ugly) If hotstart > 0 then branches are created to force the variable to the value given by best solution. This enables a sort of hot start. The node choice should be greatest depth and hotstart should normally be switched off after a solution.

If ifNotSimpleIntegers true then appended to normal integers

const int* BlisModel::priority | ( |  | ) | const`[inline]`

Priorities.

Definition at line 596 of file BlisModel.h.

References priority_.

int BlisModel::priority | ( | int | sequence | ) | const`[inline]`

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

Definition at line 599 of file BlisModel.h.

References priority_.

const double BlisModel::getNodeWeight | ( |  | ) | const`[inline]`

Definition at line 604 of file BlisModel.h.

References nodeWeight_.

void BlisModel::setNodeWeight | ( | double | nw | ) | `[inline]`

Definition at line 606 of file BlisModel.h.

References nodeWeight_.

virtual void BlisModel::modelLog | ( |  | ) | `[virtual]`

Log of specific models.

Reimplemented from AlpsModel.

int BlisModel::getNumNodes | ( |  | ) | const`[inline]`

Get how many Nodes it took to solve the problem.

Definition at line 617 of file BlisModel.h.

References numNodes_.

int BlisModel::getNumIterations | ( |  | ) | const`[inline]`

Get how many iterations it took to solve the problem.

Definition at line 620 of file BlisModel.h.

References numIterations_.

int BlisModel::getAveIterations | ( |  | ) | const`[inline]`

Get the average iterations it took to solve a lp.

Definition at line 623 of file BlisModel.h.

References aveIterations_.

void BlisModel::addNumNodes | ( | int | newNodes = `1` | ) | `[inline]`

Increment node count.

Definition at line 626 of file BlisModel.h.

References numNodes_.

void BlisModel::addNumIterations | ( | int | newIter | ) | `[inline]`

Increment Iteration count.

Definition at line 629 of file BlisModel.h.

References aveIterations_, numIterations_, and numNodes_.

CoinMessageHandler* BlisModel::messageHandler | ( |  | ) | const`[inline]`

Get the message handler.

Definition at line 635 of file BlisModel.h.

References handler_.

BlisParams* BlisModel::BlisPar | ( |  | ) | `[inline]`

Access parameters.

Definition at line 639 of file BlisModel.h.

References BlisPar_.

Referenced by VrpModel::VrpModel().

int BlisModel::getHotstartStrategy | ( |  | ) | `[inline]`

Don't know what it is.

Definition at line 643 of file BlisModel.h.

References hotstartStrategy_.

void BlisModel::setHotstartStrategy | ( | int | value | ) | `[inline]`

Definition at line 644 of file BlisModel.h.

References hotstartStrategy_.

virtual void BlisModel::registerKnowledge | ( |  | ) | `[virtual]`

Register knowledge.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual AlpsEncoded* BlisModel::encode | ( |  | ) | const`[virtual]`

The method that encodes the model into a encoded object.

Reimplemented from AlpsKnowledge.

Reimplemented in VrpModel.

virtual void BlisModel::decodeToSelf | ( | AlpsEncoded & |  | ) | `[virtual]`

The method that decodes the model from a encoded object.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

void BlisModel::init | ( |  | ) | `[protected]`

Intialize member data.

void BlisModel::createObjects | ( |  | ) | `[protected]`

Create variables and constraints.

void BlisModel::gutsOfDestructor | ( |  | ) |

Actual destructor.

void BlisModel::setColMatrix | ( | CoinPackedMatrix * | mat | ) | `[inline]`

Pass a matrix in.

Definition at line 350 of file BlisModel.h.

References colMatrix_.

void BlisModel::setNumCons | ( | int | num | ) | `[inline]`

Pass column upper bounds.

Definition at line 353 of file BlisModel.h.

References numRows_.

void BlisModel::setNumVars | ( | int | num | ) | `[inline]`

Pass column upper bounds.

Definition at line 356 of file BlisModel.h.

References numCols_.

void BlisModel::setNumElems | ( | int | num | ) | `[inline]`

Pass column upper bounds.

Definition at line 359 of file BlisModel.h.

References numElems_.

void BlisModel::setConLb | ( | double * | cl | ) | `[inline]`

Pass column upper bounds.

Definition at line 362 of file BlisModel.h.

References conLB_.

void BlisModel::setConUb | ( | double * | cu | ) | `[inline]`

Pass column lower bounds.

Definition at line 365 of file BlisModel.h.

References conUB_.

void BlisModel::setVarLb | ( | double * | lb | ) | `[inline]`

Pass variable upper bounds.

Definition at line 368 of file BlisModel.h.

References varLB_.

void BlisModel::setVarUb | ( | double * | ub | ) | `[inline]`

Pass variable lower bounds.

Definition at line 371 of file BlisModel.h.

References varUB_.

void BlisModel::setColType | ( | char * | colType | ) | `[inline]`

Pass variable types.

Definition at line 374 of file BlisModel.h.

References colType_.

void BlisModel::setObjCoef | ( | double * | obj | ) | `[inline]`

Pass objective coefficients.

Definition at line 379 of file BlisModel.h.

References objCoef_.

virtual void BlisModel::readInstance | ( | const char * | dataFile | ) | `[virtual]`

For parallel code, only the master calls this function.

1) Read in the instance data 2) Set colMatrix_, varLB_, varUB_, conLB_, conUB numCols_, numRows_ 3) Set objCoef_ and objSense_ 4) Set colType_ ('C', 'I', or 'B') 5) Create variables and constraints 6) Set numCoreVariables_ and numCoreConstraints_

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual void BlisModel::importModel | ( | std::vector< BlisVariable * > | vars,
|  | std::vector< BlisConstraint * > | cons |
| ) |  |  | `[virtual]`

For parallel code, only the master calls this function.

Import model from vars and cons. 1) Set colMatrix_, varLB_, varUB_, conLB_, conUB numCols_, numRows_ 2) Set objCoef_ (Assume minimization) 3) Set colType_ ('C', 'I', or 'B') 4) Set variables_ and constraints_ 5) Set numCoreVariables_ and numCoreConstraints_ NOTE: Blis takes over the memory ownship of vars and cons, which means users must NOT free vars or cons.

virtual void BlisModel::readParameters | ( | const int | argnum,
|  | const char *const * | arglist |
| ) |  |  | `[virtual]`

Read in Alps, Blis parameters.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual void BlisModel::writeParameters | ( | std::ostream & | outstream | ) | const`[virtual]`

Write out parameters.

Reimplemented from AlpsModel.

virtual AlpsTreeNode* BlisModel::createRoot | ( |  | ) | `[virtual]`

For parallel code, only the master calls this function.

Create the root node based on model.

Reimplemented from AlpsModel.

virtual bool BlisModel::setupSelf | ( |  | ) | `[virtual]`

All processes call this function.

Do necessary work to make model usable. Return success or not. 1) Set numIntObjects_, intColIndices_, intObjectIndices_ 2) Load problem to LP solver. 3) Create integer objects (must after load to lp since using lp info) 4) Set branch strategy 5) Add heuristics 6) Add Cgl cut generators

Reimplemented from AlpsModel.

virtual void BlisModel::preprocess | ( |  | ) | `[virtual]`

Preprocessing the model.

Reimplemented from AlpsModel.

virtual void BlisModel::postprocess | ( |  | ) | `[virtual]`

Postprocessing the searching results.

Reimplemented from AlpsModel.

virtual void BlisModel::setSolver | ( | OsiSolverInterface * | si | ) | `[inline, virtual]`

Set lp solver.

Definition at line 435 of file BlisModel.h.

References origLpSolver_.

virtual OsiSolverInterface* BlisModel::getSolver | ( |  | ) | `[inline, virtual]`

Get lp solver.

Definition at line 438 of file BlisModel.h.

References origLpSolver_.

virtual OsiSolverInterface* BlisModel::solver | ( |  | ) | `[inline, virtual]`

Get lp solver.

Definition at line 441 of file BlisModel.h.

References lpSolver_.

bool BlisModel::resolve | ( |  | ) |

Resolving a lp.

void BlisModel::setActiveNode | ( | AlpsTreeNode * | node | ) | `[inline]`

Set active node.

Definition at line 447 of file BlisModel.h.

References activeNode_.

void BlisModel::setSolEstimate | ( | double | est | ) | `[inline]`

Set the solution estimate of the active node.

Definition at line 450 of file BlisModel.h.

References activeNode_, and AlpsTreeNode::setSolEstimate().

int BlisModel::getNumStrong | ( |  | ) | `[inline]`

Get number of strong branchings.

Definition at line 453 of file BlisModel.h.

References numStrong_.

void BlisModel::addNumStrong | ( | int | num = `1` | ) | `[inline]`

Add num to number of strong branchings.

Definition at line 456 of file BlisModel.h.

References numStrong_.

int BlisModel::getNumBranchResolve | ( |  | ) | `[inline]`

Get the maximum number of resolve during branching.

Definition at line 459 of file BlisModel.h.

References numBranchResolve_.

void BlisModel::setNumBranchResolve | ( | int | num | ) | `[inline]`

Set the maximum number of resolve during branching.

Definition at line 462 of file BlisModel.h.

References numBranchResolve_.

double* BlisModel::getObjCoef | ( |  | ) | const`[inline]`

Get objective coefficients.

Definition at line 469 of file BlisModel.h.

References objCoef_.

const double* BlisModel::getColLower | ( |  | ) | `[inline]`

Get column lower bound.

Definition at line 472 of file BlisModel.h.

References OsiSolverInterface::getColLower(), and lpSolver_.

const double* BlisModel::getColUpper | ( |  | ) | `[inline]`

Get column upper bound.

Definition at line 475 of file BlisModel.h.

References OsiSolverInterface::getColUpper(), and lpSolver_.

int BlisModel::getNumCols | ( |  | ) | `[inline]`

Get number of columns.

Definition at line 478 of file BlisModel.h.

References OsiSolverInterface::getNumCols(), and lpSolver_.

int BlisModel::getNumRows | ( |  | ) | `[inline]`

Get number of rows.

Definition at line 481 of file BlisModel.h.

References OsiSolverInterface::getNumRows(), and lpSolver_.

double* BlisModel::varLB | ( |  | ) | `[inline]`

Get variable bounds arrary.

Definition at line 484 of file BlisModel.h.

References varLB_.

double* BlisModel::varUB | ( |  | ) | `[inline]`

Definition at line 485 of file BlisModel.h.

References varUB_.

double* BlisModel::conLB | ( |  | ) | `[inline]`

Get original constraint bounds arrary.

Definition at line 488 of file BlisModel.h.

References conLB_.

double* BlisModel::conUB | ( |  | ) | `[inline]`

Definition at line 489 of file BlisModel.h.

References conUB_.

double* BlisModel::startVarLB | ( |  | ) | `[inline]`

The starting variable bounds arrary of a subproblem (internal use).

Definition at line 492 of file BlisModel.h.

References startVarLB_.

double* BlisModel::startVarUB | ( |  | ) | `[inline]`

Definition at line 493 of file BlisModel.h.

References startVarUB_.

double* BlisModel::startConLB | ( |  | ) | `[inline]`

The starting constraint bounds arrary of a subproblem (internal use).

Definition at line 496 of file BlisModel.h.

References startConLB_.

double* BlisModel::startConUB | ( |  | ) | `[inline]`

Definition at line 497 of file BlisModel.h.

References startConUB_.

int* BlisModel::tempVarLBPos | ( |  | ) | `[inline]`

Temparory storage.

Definition at line 500 of file BlisModel.h.

References tempVarLBPos_.

int* BlisModel::tempVarUBPos | ( |  | ) | `[inline]`

Definition at line 501 of file BlisModel.h.

References tempVarUBPos_.

int* BlisModel::tempConLBPos | ( |  | ) | `[inline]`

Definition at line 502 of file BlisModel.h.

References tempConLBPos_.

int* BlisModel::tempConUBPos | ( |  | ) | `[inline]`

Definition at line 503 of file BlisModel.h.

References tempConUBPos_.

double BlisModel::getLpObjValue | ( |  | ) | const`[inline]`

Get current objective function value.

Definition at line 510 of file BlisModel.h.

References OsiSolverInterface::getObjValue(), and lpSolver_.

const double* BlisModel::getLpSolution | ( |  | ) | const`[inline]`

Get active lp solution.

Definition at line 513 of file BlisModel.h.

References OsiSolverInterface::getColSolution(), and lpSolver_.

int BlisModel::getNumSolutions | ( |  | ) | const`[inline]`

Get number of solutions.

Definition at line 520 of file BlisModel.h.

References numSolutions_.

int BlisModel::getNumHeurSolutions | ( |  | ) | const`[inline]`

Get number of heuristic solutions.

Definition at line 523 of file BlisModel.h.

References numHeurSolutions_.

double* BlisModel::incumbent | ( |  | ) | `[inline]`

Return best ip solution found so far.

Definition at line 526 of file BlisModel.h.

References incumbent_.

int BlisModel::storeSolution | ( | BlisSolutionType | how,
|  | BlisSolution * | sol |
| ) |  |  |

Record a new incumbent solution and update objectiveValue.

double BlisModel::getCutoff | ( |  | ) | const`[inline]`

Get cut off value.

Definition at line 532 of file BlisModel.h.

References cutoff_.

void BlisModel::setCutoff | ( | double | co | ) | `[inline]`

Set cut off value.

Definition at line 535 of file BlisModel.h.

References BlisPar_, cutoff_, BlisParams::cutoffInc, BlisParams::entry(), lpSolver_, OsiDualObjectiveLimit, and OsiSolverInterface::setDblParam().

BlisSolution* BlisModel::feasibleSolutionHeur | ( | const double * | solution | ) |

Test if a solution found by heuristic is feasible.

virtual BlisSolution* BlisModel::feasibleSolution | ( | int & | numIntegerInfs,
|  | int & | numObjectInfs |
| ) |  |  | `[virtual]`

Test the current LP solution for feasiblility.

Scan all objects for indications of infeasibility. This is broken down into simple integer infeasibility (`numIntegerInfs`) and all other reports of infeasibility(`numObjectInfs`).

virtual BlisSolution* BlisModel::userFeasibleSolution | ( | const double * | solution,
|  | bool & | feasible |
| ) |  |  | `[inline, virtual]`

User's criteria for a feasible solution.

If user think the given solution is feasible then need 1) set userFeasible to true, and 2) return a non-null solution. If user think the solution is infeasible then need 1) set userFeasible to false, and 2) return a null.

Reimplemented in VrpModel.

Definition at line 566 of file BlisModel.h.

BcpsBranchStrategy* BlisModel::branchStrategy | ( |  | ) | const`[inline]`

Get the current branching strategy.

Definition at line 582 of file BlisModel.h.

References branchStrategy_.

void BlisModel::setBranchingMethod | ( | BcpsBranchStrategy * | method | ) | `[inline]`

Set the branching strategy.

Definition at line 586 of file BlisModel.h.

References branchStrategy_.

void BlisModel::setBranchingMethod | ( | BcpsBranchStrategy & | method | ) | `[inline]`

Set the branching stratedy.

Definition at line 592 of file BlisModel.h.

References branchStrategy_.

BcpsBranchStrategy* BlisModel::rampUpBranchStrategy | ( |  | ) | const`[inline]`

Get the current branching strategy.

Definition at line 596 of file BlisModel.h.

References rampUpBranchStrategy_.

int BlisModel::numObjects | ( |  | ) | const`[inline]`

Get the number of objects.

Definition at line 604 of file BlisModel.h.

References numObjects_.

void BlisModel::setNumObjects | ( | int | num | ) | `[inline]`

Set the number of objects.

Definition at line 607 of file BlisModel.h.

References numObjects_.

BcpsObject** BlisModel::objects | ( |  | ) | `[inline]`

Get the array of objects.

Definition at line 610 of file BlisModel.h.

References objects_.

BcpsObject* BlisModel::objects | ( | int | which | ) | `[inline]`

Get the specified object.

Definition at line 613 of file BlisModel.h.

References objects_.

void BlisModel::setSharedObjectMark | ( | int | i | ) | `[inline]`

Mark object to be shared.

Definition at line 616 of file BlisModel.h.

References sharedObjectMark_.

void BlisModel::clearSharedObjectMark | ( |  | ) | `[inline]`

Clear all the share mark.

Definition at line 619 of file BlisModel.h.

References numIntObjects_, and sharedObjectMark_.

void BlisModel::deleteObjects | ( |  | ) |

Delete all object information.

void BlisModel::addObjects | ( | int | numObjects,
|  | BcpsObject ** | objects |
| ) |  |  |

Add in object information.

Objects are cloned; the owner can delete the originals.

void BlisModel::createIntgerObjects | ( | bool | startAgain | ) |

Identify integer variable.

int* BlisModel::getIntObjIndices | ( |  | ) | const`[inline]`

Get integers' object indices.

Definition at line 637 of file BlisModel.h.

References intObjIndices_.

int BlisModel::getNumIntObjects | ( |  | ) | const`[inline]`

Get number of integers.

Definition at line 640 of file BlisModel.h.

References numIntObjects_.

int* BlisModel::getIntColIndices | ( |  | ) | const`[inline]`

Get integers' column indices.

Definition at line 643 of file BlisModel.h.

References intColIndices_.

bool BlisModel::checkInteger | ( | double | value | ) | const`[inline]`

Check if a value is integer.

Definition at line 646 of file BlisModel.h.

void BlisModel::analyzeObjective | ( |  | ) |

void BlisModel::addHeuristic | ( | BlisHeuristic * | heur | ) |

Add a heuristic.

BlisHeuristic* BlisModel::heuristics | ( | int | i | ) | const`[inline]`

Get a specific heuristic.

Definition at line 667 of file BlisModel.h.

References heuristics_.

int BlisModel::numHeuristics | ( |  | ) | const`[inline]`

Get the number of heuristics.

Definition at line 670 of file BlisModel.h.

References numHeuristics_.

void BlisModel::addCutGenerator | ( | BlisConGenerator * | generator | ) |

Add a Blis cut generator.

void BlisModel::addCutGenerator | ( | CglCutGenerator * | generator,
|  | const char * | name = `NULL`,
|  | BlisCutStrategy | strategy = `BlisCutStrategyAuto`,
|  | int | cutGenerationFrequency = `1`,
|  | bool | normal = `true`,
|  | bool | atSolution = `false`,
|  | bool | whenInfeasible = `false` |
| ) |  |  |

Add a Cgl cut generator.

BlisConGenerator* BlisModel::cutGenerators | ( | int | i | ) | const`[inline]`

Get a specific cut generator.

Definition at line 689 of file BlisModel.h.

References generators_.

int BlisModel::numCutGenerators | ( |  | ) | const`[inline]`

Get the number of cut generators.

Definition at line 692 of file BlisModel.h.

References numCutGenerators_.

int BlisModel::getMaxNumCons | ( |  | ) | const`[inline]`

Get the max number of cuts can be generated.

Definition at line 695 of file BlisModel.h.

References maxNumCons_.

void BlisModel::setMaxNumCons | ( | int | m | ) | `[inline]`

Set the max number of cuts can be generated.

Definition at line 698 of file BlisModel.h.

References maxNumCons_.

BcpsConstraintPool* BlisModel::constraintPool | ( |  | ) | `[inline]`

Access constraint pool.

Definition at line 701 of file BlisModel.h.

References constraintPool_.

BcpsConstraintPool* BlisModel::constraintPoolReceive | ( |  | ) | `[inline]`

Access receive constraint pool.

Definition at line 704 of file BlisModel.h.

References constraintPoolReceive_.

BcpsConstraintPool* BlisModel::constraintPoolSend | ( |  | ) | `[inline]`

Access send constraint pool.

Definition at line 708 of file BlisModel.h.

References constraintPoolSend_.

int BlisModel::getNumOldConstraints | ( |  | ) | const`[inline]`

Get number of old constraints.

Definition at line 712 of file BlisModel.h.

References numOldConstraints_.

void BlisModel::setNumOldConstraints | ( | int | num | ) | `[inline]`

Set number of old constraints.

Definition at line 715 of file BlisModel.h.

References numOldConstraints_.

int BlisModel::getOldConstraintsSize | ( |  | ) | const`[inline]`

Get max number of old constraints.

Definition at line 718 of file BlisModel.h.

References oldConstraintsSize_.

void BlisModel::setOldConstraintsSize | ( | int | num | ) | `[inline]`

Set max number of old constraints.

Definition at line 721 of file BlisModel.h.

References oldConstraintsSize_.

BlisConstraint** BlisModel::oldConstraints | ( |  | ) | `[inline]`

Access old constraints.

Definition at line 724 of file BlisModel.h.

References oldConstraints_.

void BlisModel::setOldConstraints | ( | BlisConstraint ** | old | ) | `[inline]`

set old constraints.

Definition at line 727 of file BlisModel.h.

References oldConstraints_.

void BlisModel::delOldConstraints | ( |  | ) | `[inline]`

Set max number of old constraints.

Definition at line 730 of file BlisModel.h.

References oldConstraints_.

BlisCutStrategy BlisModel::getCutStrategy | ( |  | ) | const`[inline]`

Query constraint generation strategy.

Definition at line 737 of file BlisModel.h.

References cutStrategy_.

void BlisModel::setCutStrategy | ( | BlisCutStrategy | u | ) | `[inline]`

Set constraint generation strategy.

Definition at line 742 of file BlisModel.h.

References cutStrategy_.

int BlisModel::getCutGenerationFrequency | ( |  | ) | const`[inline]`

Query constraint generation frequency.

Definition at line 745 of file BlisModel.h.

References cutGenerationFrequency_.

void BlisModel::setCutStrategy | ( | int | f | ) | `[inline]`

Set constraint generation frequency.

Definition at line 748 of file BlisModel.h.

References cutGenerationFrequency_.

int BlisModel::getDenseConCutoff | ( |  | ) | const`[inline]`

Get the thresheld to be considered as a dense constraint.

Definition at line 751 of file BlisModel.h.

References denseConCutoff_.

void BlisModel::setDenseConCutoff | ( | int | cutoff | ) | `[inline]`

Set the thresheld to be considered as a dense constraint.

Definition at line 754 of file BlisModel.h.

References denseConCutoff_.

double* BlisModel::getConRandoms | ( |  | ) | const`[inline]`

Get randoms for check parallel constraints.

Definition at line 757 of file BlisModel.h.

References conRandoms_.

void BlisModel::passInPriorities | ( | const int * | priorities,
|  | bool | ifNotSimpleIntegers,
|  | int | defaultValue = `1000` |
| ) |  |  |

Pass in branching priorities.

If ifClique then priorities are on cliques otherwise priorities are on integer variables. Other type (if exists set to default) 1 is highest priority. (well actually -INT_MAX is but that's ugly) If hotstart > 0 then branches are created to force the variable to the value given by best solution. This enables a sort of hot start. The node choice should be greatest depth and hotstart should normally be switched off after a solution.

If ifNotSimpleIntegers true then appended to normal integers

const int* BlisModel::priority | ( |  | ) | const`[inline]`

Priorities.

Definition at line 782 of file BlisModel.h.

References priority_.

int BlisModel::priority | ( | int | sequence | ) | const`[inline]`

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

Definition at line 785 of file BlisModel.h.

References priority_.

double BlisModel::getNodeWeight | ( |  | ) | const`[inline]`

Definition at line 790 of file BlisModel.h.

References nodeWeight_.

void BlisModel::setNodeWeight | ( | double | nw | ) | `[inline]`

Definition at line 792 of file BlisModel.h.

References nodeWeight_.

virtual void BlisModel::modelLog | ( |  | ) | `[virtual]`

Log of specific models.

Reimplemented from AlpsModel.

int BlisModel::getNumNodes | ( |  | ) | const`[inline]`

Get how many Nodes it took to solve the problem.

Definition at line 803 of file BlisModel.h.

References numNodes_.

int BlisModel::getNumIterations | ( |  | ) | const`[inline]`

Get how many iterations it took to solve the problem.

Definition at line 806 of file BlisModel.h.

References numIterations_.

int BlisModel::getAveIterations | ( |  | ) | const`[inline]`

Get the average iterations it took to solve a lp.

Definition at line 809 of file BlisModel.h.

References aveIterations_.

void BlisModel::addNumNodes | ( | int | newNodes = `1` | ) | `[inline]`

Increment node count.

Definition at line 812 of file BlisModel.h.

References numNodes_.

void BlisModel::addNumIterations | ( | int | newIter | ) | `[inline]`

Increment Iteration count.

Definition at line 815 of file BlisModel.h.

References aveIterations_, numIterations_, and numNodes_.

CoinMessageHandler* BlisModel::blisMessageHandler | ( |  | ) | const`[inline]`

Get the message handler.

Definition at line 821 of file BlisModel.h.

References blisMessageHandler_.

CoinMessages BlisModel::blisMessages | ( |  | ) | `[inline]`

Return messages.

Definition at line 825 of file BlisModel.h.

References blisMessages_.

BlisParams* BlisModel::BlisPar | ( |  | ) | `[inline]`

Access parameters.

Definition at line 829 of file BlisModel.h.

References BlisPar_.

virtual void BlisModel::nodeLog | ( | AlpsTreeNode * | node,
|  | bool | force |
| ) |  |  | `[virtual]`

Node log.

Reimplemented from AlpsModel.

virtual bool BlisModel::fathomAllNodes | ( |  | ) | `[virtual]`

Return true, if all nodes can be fathomed.

Reimplemented from AlpsModel.

AlpsReturnStatus BlisModel::encodeBlis | ( | AlpsEncoded * | encoded | ) | const`[protected]`

Pack Blis portion of the model into an encoded object.

AlpsReturnStatus BlisModel::decodeBlis | ( | AlpsEncoded & | encoded | ) | `[protected]`

Unpack Blis portion of the model from an encoded object.

void BlisModel::packSharedPseudocost | ( | AlpsEncoded * | encoded,
|  | int | numToShare |
| ) |  |  | `[protected]`

Retrieve and pack shared pseudocost.

void BlisModel::unpackSharedPseudocost | ( | AlpsEncoded & | encoded | ) | `[protected]`

Unpack and store shared pseduocost.

void BlisModel::packSharedConstraints | ( | AlpsEncoded * | encoded | ) | `[protected]`

Retrieve and pack shared constraints.

void BlisModel::unpackSharedConstraints | ( | AlpsEncoded & | encoded | ) | `[protected]`

Unpack and store shared constraints.

void BlisModel::packSharedVariables | ( | AlpsEncoded * | encoded | ) | `[protected]`

Retrieve and pack shared variables.

void BlisModel::unpackSharedVariables | ( | AlpsEncoded & | encoded | ) | `[protected]`

Unpack and store shared variables.

virtual void BlisModel::registerKnowledge | ( |  | ) | `[virtual]`

Register knowledge.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual AlpsEncoded* BlisModel::encode | ( |  | ) | const`[virtual]`

The method that encodes the model into an encoded object.

Reimplemented from AlpsKnowledge.

Reimplemented in VrpModel.

virtual void BlisModel::decodeToSelf | ( | AlpsEncoded & |  | ) | `[virtual]`

The method that decodes the model from an encoded object.

Reimplemented from AlpsModel.

Reimplemented in VrpModel.

virtual AlpsEncoded* BlisModel::packSharedKnowlege | ( |  | ) | `[virtual]`

Pack knowledge to be shared with others into an encoded object.

Return NULL means that no knowledge can be shared.

Reimplemented from AlpsModel.

virtual void BlisModel::unpackSharedKnowledge | ( | AlpsEncoded & |  | ) | `[virtual]`

Unpack and store shared knowledge from an encoded object.

Reimplemented from AlpsModel.

## Member Data Documentation

OsiSolverInterface* BlisModel::lpSolver_`[private]`

Lp solver.

Definition at line 70 of file BlisModel.h.

Referenced by getColLower(), getColUpper(), getLpObjValue(), getLpSolution(), getNumCols(), getNumRows(), setCutoff(), setSolver(), and solver().

CoinPackedMatrix* BlisModel::colMatrix_`[private]`

Orignial column majored matrix.

(For MPS file, etc.)

Definition at line 77 of file BlisModel.h.

Referenced by setColMatrix().

double* BlisModel::origVarLB_`[private]`

Original variable and constraint bounds.

Definition at line 81 of file BlisModel.h.

Referenced by origVarLB().

double* BlisModel::origVarUB_`[private]`

Original variable and constraint bounds.

Definition at line 82 of file BlisModel.h.

Referenced by origVarUB().

double* BlisModel::origConLB_`[private]`

Original variable and constraint bounds.

Definition at line 83 of file BlisModel.h.

Referenced by origConLB().

double* BlisModel::origConUB_`[private]`

Original variable and constraint bounds.

Definition at line 84 of file BlisModel.h.

Referenced by origConUB().

int BlisModel::numCols_`[private]`

Number of columns/rows/elements.

Initaially is the same as numCoreVariables.

Definition at line 90 of file BlisModel.h.

Referenced by setNumVars().

int BlisModel::numRows_`[private]`

Number of columns/rows/elements.

Initaially is the same as numCoreVariables.

Definition at line 91 of file BlisModel.h.

Referenced by setNumCons().

int BlisModel::numElems_`[private]`

Number of columns/rows/elements.

Initaially is the same as numCoreVariables.

Definition at line 92 of file BlisModel.h.

Referenced by setNumElems().

double BlisModel::objSense_`[private]`

Objective function.

Definition at line 97 of file BlisModel.h.

double* BlisModel::objCoef_`[private]`

Objective function.

Definition at line 98 of file BlisModel.h.

Referenced by getObjCoef(), and setObjCoef().

int BlisModel::numIntVars_`[private]`

Column types.

Definition at line 103 of file BlisModel.h.

Referenced by getNumIntVars().

int* BlisModel::intVars_`[private]`

Column types.

Definition at line 104 of file BlisModel.h.

Referenced by getIntVars().

char* BlisModel::colType_`[private]`

Column types.

Definition at line 105 of file BlisModel.h.

Referenced by setColType().

int BlisModel::numSolutions_`[private]`

Definition at line 112 of file BlisModel.h.

Referenced by getNumSolutions().

int BlisModel::numHeurSolutions_`[private]`

Definition at line 113 of file BlisModel.h.

Referenced by getNumHeurSolutions().

double BlisModel::incObjValue_`[private]`

Incumbent objective value.

Definition at line 119 of file BlisModel.h.

double* BlisModel::incumbent_`[private]`

Incumbent.

Definition at line 122 of file BlisModel.h.

Referenced by incumbent().

double BlisModel::cutoff_`[private]`

Cutoff in lp solver.

Definition at line 125 of file BlisModel.h.

Referenced by getCutoff(), and setCutoff().

double BlisModel::cutoffInc_`[private]`

Cutoff increment.

Definition at line 128 of file BlisModel.h.

double* BlisModel::startVarLB_`[private]`

Starting var/con bounds for processing each node.

Definition at line 136 of file BlisModel.h.

Referenced by startVarLB().

double* BlisModel::startVarUB_`[private]`

Starting var/con bounds for processing each node.

Definition at line 137 of file BlisModel.h.

Referenced by startVarUB().

double* BlisModel::startConLB_`[private]`

Starting var/con bounds for processing each node.

Definition at line 138 of file BlisModel.h.

Referenced by startConLB().

double* BlisModel::startConUB_`[private]`

Starting var/con bounds for processing each node.

Definition at line 139 of file BlisModel.h.

Referenced by startConUB().

BcpsBranchStrategy* BlisModel::branchStrategy_`[private]`

Variable selection function.

Definition at line 143 of file BlisModel.h.

Referenced by branchStrategy(), and setBranchingMethod().

int BlisModel::hotstartStrategy_`[private]`

Definition at line 148 of file BlisModel.h.

Referenced by getHotstartStrategy(), and setHotstartStrategy().

int BlisModel::numObjects_`[private]`

Number of objects.

Definition at line 151 of file BlisModel.h.

Referenced by numObjects(), and setNumObjects().

BcpsObject** BlisModel::objects_`[private]`

The set of objects.

Definition at line 154 of file BlisModel.h.

Referenced by objects().

int* BlisModel::priority_`[private]`

Priorities of integer object.

Definition at line 157 of file BlisModel.h.

Referenced by priority().

AlpsTreeNode* BlisModel::activeNode_`[private]`

Active node.

Definition at line 160 of file BlisModel.h.

Referenced by setActiveNode(), and setSolEstimate().

int BlisModel::numStrong_`[private]`

Number of strong branching.

Definition at line 163 of file BlisModel.h.

Referenced by addNumStrong(), and getNumStrong().

double BlisModel::nodeWeight_`[private]`

Definition at line 166 of file BlisModel.h.

Referenced by getNodeWeight(), and setNodeWeight().

int BlisModel::numHeuristics_`[private]`

Number of heuristics.

Definition at line 173 of file BlisModel.h.

Referenced by numHeuristics().

BlisHeuristic** BlisModel::heuristics_`[private]`

The list of heuristics.

Definition at line 176 of file BlisModel.h.

Referenced by heuristics().

int BlisModel::useCons_`[private]`

If use cut generators.

Definition at line 183 of file BlisModel.h.

Referenced by setUseCons(), and useCons().

int BlisModel::numCutGenerators_`[private]`

Number of cut generators used.

Definition at line 186 of file BlisModel.h.

Referenced by numCutGenerators().

int BlisModel::maxNumCons_`[private]`

Number of cuts can be generators.

Definition at line 189 of file BlisModel.h.

Referenced by getMaxNumCons(), and setMaxNumCons().

BlisConGenerator** BlisModel::generators_`[private]`

The list of cut generators used.

Definition at line 192 of file BlisModel.h.

Referenced by cutGenerators().

BcpsConstraintPool* BlisModel::constraintPool_`[private]`

Store all the cuts.

Definition at line 195 of file BlisModel.h.

Referenced by constraintPool().

BlisConstraint** BlisModel::oldConstraints_`[private]`

Temporary store old cuts at a node when installing a node.

Definition at line 198 of file BlisModel.h.

Referenced by delOldConstraints(), oldConstraints(), and setOldConstraints().

int BlisModel::oldConstraintsSize_`[private]`

The memory size allocated for oldConstraints_.

Definition at line 201 of file BlisModel.h.

Referenced by getOldConstraintsSize(), and setOldConstraintsSize().

int BlisModel::numOldConstraints_`[private]`

Number of old constraints.

Definition at line 204 of file BlisModel.h.

Referenced by getNumOldConstraints(), and setNumOldConstraints().

double* BlisModel::conRandoms_`[private]`

Random keys.

Definition at line 207 of file BlisModel.h.

Referenced by getConRandoms().

int BlisModel::denseConCutoff_`[private]`

Dense constraint cutoff.

Definition at line 210 of file BlisModel.h.

Referenced by getDenseConCutoff(), and setDenseConCutoff().

BlisParams* BlisModel::BlisPar_`[private]`

Blis parameters.

Definition at line 217 of file BlisModel.h.

Referenced by BlisPar(), and setCutoff().

CoinMessageHandler* BlisModel::handler_`[private]`

Message handler.

Definition at line 220 of file BlisModel.h.

Referenced by messageHandler().

int BlisModel::numNodes_`[private]`

Number of processed nodes.

Definition at line 223 of file BlisModel.h.

Referenced by addNumIterations(), addNumNodes(), and getNumNodes().

int BlisModel::numIterations_`[private]`

Number of lp(Simplex) iterations.

Definition at line 226 of file BlisModel.h.

Referenced by addNumIterations(), and getNumIterations().

int BlisModel::aveIterations_`[private]`

Average number of lp iterations to solve a subproblem.

Definition at line 229 of file BlisModel.h.

Referenced by addNumIterations(), and getAveIterations().

int* BlisModel::tempVarLBPos_`[private]`

Tempory storage for var/con indices.

Definition at line 237 of file BlisModel.h.

Referenced by tempVarLBPos().

int* BlisModel::tempVarUBPos_`[private]`

Tempory storage for var/con indices.

Definition at line 238 of file BlisModel.h.

Referenced by tempVarUBPos().

int* BlisModel::tempConLBPos_`[private]`

Tempory storage for var/con indices.

Definition at line 239 of file BlisModel.h.

Referenced by tempConLBPos().

int* BlisModel::tempConUBPos_`[private]`

Tempory storage for var/con indices.

Definition at line 240 of file BlisModel.h.

Referenced by tempConUBPos().

bool BlisModel::isRoot_

If root node.

Definition at line 246 of file BlisModel.h.

double BlisModel::startTime_

Search starting time.

Definition at line 249 of file BlisModel.h.

double BlisModel::timeLimit_

Max solution time.

Definition at line 252 of file BlisModel.h.

double BlisModel::integerTol_

Integer tolerance.

Definition at line 255 of file BlisModel.h.

double BlisModel::optimalRelGap_

Input relative optimal gap.

Definition at line 258 of file BlisModel.h.

double BlisModel::optimalAbsGap_

Input absolute optimal gap.

Definition at line 261 of file BlisModel.h.

bool BlisModel::useHeuristics_

If use heuristics.

Definition at line 264 of file BlisModel.h.

OsiCuts BlisModel::newCutPool_

Store new cuts in each pass.

Definition at line 267 of file BlisModel.h.

std::vector<AlpsTreeNode *> BlisModel::leafToRootPath

Record the path from leaf to root.

Definition at line 272 of file BlisModel.h.

OsiSolverInterface* BlisModel::origLpSolver_`[protected]`

Input by user.

Definition at line 77 of file BlisModel.h.

Referenced by getSolver(), and setSolver().

OsiSolverInterface* BlisModel::presolvedLpSolver_`[protected]`

Presolved.

Definition at line 79 of file BlisModel.h.

OsiSolverInterface* BlisModel::lpSolver_`[protected]`

Actually used.

If using presolve, then it is presolved; otherwise it is the original.

Definition at line 82 of file BlisModel.h.

CoinPackedMatrix* BlisModel::colMatrix_`[protected]`

Column majored matrix.

(For MPS file, etc.)

Definition at line 89 of file BlisModel.h.

double* BlisModel::varLB_`[protected]`

Variable and constraint bounds.

Definition at line 93 of file BlisModel.h.

Referenced by setVarLb(), and varLB().

double* BlisModel::varUB_`[protected]`

Variable and constraint bounds.

Definition at line 94 of file BlisModel.h.

Referenced by setVarUb(), and varUB().

double* BlisModel::conLB_`[protected]`

Variable and constraint bounds.

Definition at line 95 of file BlisModel.h.

Referenced by conLB(), and setConLb().

double* BlisModel::conUB_`[protected]`

Variable and constraint bounds.

Definition at line 96 of file BlisModel.h.

Referenced by conUB(), and setConUb().

double* BlisModel::objCoef_`[protected]`

Definition at line 109 of file BlisModel.h.

int BlisModel::numIntObjects_`[protected]`

Column types.

Definition at line 114 of file BlisModel.h.

Referenced by clearSharedObjectMark(), and getNumIntObjects().

int* BlisModel::intColIndices_`[protected]`

Column types.

Definition at line 115 of file BlisModel.h.

Referenced by getIntColIndices().

std::vector<BcpsVariable *> BlisModel::inputVar_`[protected]`

User's input objects.

Definition at line 120 of file BlisModel.h.

std::vector<BcpsConstraint *> BlisModel::inputCon_`[protected]`

User's input objects.

Definition at line 121 of file BlisModel.h.

BlisPresolve* BlisModel::presolve_`[protected]`

Definition at line 128 of file BlisModel.h.

double* BlisModel::incumbent_`[protected]`

Incumbent.

Definition at line 141 of file BlisModel.h.

int* BlisModel::intObjIndices_`[protected]`

Definition at line 153 of file BlisModel.h.

Referenced by getIntObjIndices().

char* BlisModel::colType_`[protected]`

Definition at line 154 of file BlisModel.h.

double* BlisModel::startVarLB_`[protected]`

Starting var/con bounds for processing each node.

Definition at line 158 of file BlisModel.h.

double* BlisModel::startVarUB_`[protected]`

Starting var/con bounds for processing each node.

Definition at line 159 of file BlisModel.h.

double* BlisModel::startConLB_`[protected]`

Starting var/con bounds for processing each node.

Definition at line 160 of file BlisModel.h.

double* BlisModel::startConUB_`[protected]`

Starting var/con bounds for processing each node.

Definition at line 161 of file BlisModel.h.

BcpsBranchStrategy* BlisModel::branchStrategy_`[protected]`

Variable selection function.

Definition at line 165 of file BlisModel.h.

BcpsBranchStrategy* BlisModel::rampUpBranchStrategy_`[protected]`

Definition at line 166 of file BlisModel.h.

Referenced by rampUpBranchStrategy().

BlisHotStartStrategy BlisModel::hotstartStrategy_`[protected]`

Definition at line 171 of file BlisModel.h.

BcpsObject** BlisModel::objects_`[protected]`

The set of objects.

Definition at line 177 of file BlisModel.h.

char* BlisModel::sharedObjectMark_`[protected]`

The objects that can be shared.

Definition at line 180 of file BlisModel.h.

Referenced by clearSharedObjectMark(), and setSharedObjectMark().

int* BlisModel::priority_`[protected]`

Priorities of integer object.

Definition at line 183 of file BlisModel.h.

AlpsTreeNode* BlisModel::activeNode_`[protected]`

Active node.

Definition at line 186 of file BlisModel.h.

int BlisModel::numBranchResolve_`[protected]`

Maximum number of resolve during branching.

Definition at line 195 of file BlisModel.h.

Referenced by getNumBranchResolve(), and setNumBranchResolve().

BlisHeuristic** BlisModel::heuristics_`[protected]`

The list of heuristics.

Definition at line 205 of file BlisModel.h.

BlisCutStrategy BlisModel::cutStrategy_`[protected]`

If use cut generators.

Definition at line 212 of file BlisModel.h.

Referenced by getCutStrategy(), and setCutStrategy().

int BlisModel::cutGenerationFrequency_`[protected]`

Frequency of cut generation.

Definition at line 215 of file BlisModel.h.

Referenced by getCutGenerationFrequency(), and setCutStrategy().

BlisConGenerator** BlisModel::generators_`[protected]`

The list of cut generators used.

Definition at line 224 of file BlisModel.h.

BcpsConstraintPool* BlisModel::constraintPool_`[protected]`

Store all the cuts.

Definition at line 227 of file BlisModel.h.

BlisConstraint** BlisModel::oldConstraints_`[protected]`

Temporary store old cuts at a node when installing a node.

Definition at line 230 of file BlisModel.h.

double* BlisModel::conRandoms_`[protected]`

Random keys.

Definition at line 239 of file BlisModel.h.

BlisParams* BlisModel::BlisPar_`[protected]`

Blis parameters.

Definition at line 249 of file BlisModel.h.

CoinMessageHandler* BlisModel::blisMessageHandler_`[protected]`

Message handler.

Definition at line 252 of file BlisModel.h.

Referenced by blisMessageHandler().

CoinMessages BlisModel::blisMessages_`[protected]`

Blis messages.

Definition at line 255 of file BlisModel.h.

Referenced by blisMessages().

int* BlisModel::tempVarLBPos_`[protected]`

Tempory storage for var/con indices.

Definition at line 272 of file BlisModel.h.

int* BlisModel::tempVarUBPos_`[protected]`

Tempory storage for var/con indices.

Definition at line 273 of file BlisModel.h.

int* BlisModel::tempConLBPos_`[protected]`

Tempory storage for var/con indices.

Definition at line 274 of file BlisModel.h.

int* BlisModel::tempConUBPos_`[protected]`

Tempory storage for var/con indices.

Definition at line 275 of file BlisModel.h.

BcpsConstraintPool* BlisModel::constraintPoolSend_`[protected]`

Constraints that can be sent/broadcasted to other processes.

Definition at line 283 of file BlisModel.h.

Referenced by constraintPoolSend().

BcpsConstraintPool* BlisModel::constraintPoolReceive_`[protected]`

Constraints that are received from other processses.

Definition at line 286 of file BlisModel.h.

Referenced by constraintPoolReceive().

int BlisModel::boundingPass_

The number of passes during bounding procedure.

Definition at line 294 of file BlisModel.h.

double BlisModel::currRelGap_

Current relative optimal gap.

Definition at line 306 of file BlisModel.h.

double BlisModel::currAbsGap_

Current absolute optimal gap.

Definition at line 309 of file BlisModel.h.

BlisHeurStrategy BlisModel::heurStrategy_

If use heuristics.

Definition at line 312 of file BlisModel.h.

int BlisModel::heurCallFrequency_

Frequency of using heuristics.

Definition at line 315 of file BlisModel.h.

std::vector<AlpsTreeNode *> BlisModel::leafToRootPath

Record the path from leaf to root.

Definition at line 321 of file BlisModel.h.

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

- /home/coin/SVN-release/Blis-0.91.0/Bcps/examples/Blis/BlisModel.h
- /home/coin/SVN-release/Blis-0.91.0/Blis/src/BlisModel.h