- 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.
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.
## Public Attributes
bool | isRoot_
| If root node.
double | startTime_
| Search starting time.
double | timeLimit_
| Max solution time.
double | integerTol_
| Integer tolerance.
double | optimalRelGap_
| Relative optimal gap.
double | optimalAbsGap_
| 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.
## 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 in active subproblem.
int | numRows_
| Number of columns/rows/elements in active subproblem.
int | numElems_
| Number of columns/rows/elements in active subproblem.
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.

## 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.

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

Read in Alps, Blis parameters.

Reimplemented from AlpsModel.

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_.

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.

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

The method that encodes the model into a encoded object.

Reimplemented from AlpsKnowledge.

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

The method that decodes the model from a 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.

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 in active subproblem.

Initaially is the same as numCoreVariables.

Definition at line 90 of file BlisModel.h.

int BlisModel::numRows_`[private]`

Number of columns/rows/elements in active subproblem.

Initaially is the same as numCoreVariables.

Definition at line 91 of file BlisModel.h.

int BlisModel::numElems_`[private]`

Number of columns/rows/elements in active subproblem.

Initaially is the same as numCoreVariables.

Definition at line 92 of file BlisModel.h.

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().

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.

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().

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_

Relative optimal gap.

Definition at line 258 of file BlisModel.h.

double BlisModel::optimalAbsGap_

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.

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

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