DecompAlgo Class Reference

Base class for DECOMP algorithms. More...

#include <DecompAlgo.h>

Inheritance diagram for DecompAlgo:
Inheritance graph
[legend]
Collaboration diagram for DecompAlgo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

bool isGapTight ()
virtual bool isDone ()
std::vector< double * > getDualRays (int maxNumRays)
virtual int generateVarsFea (DecompVarList &newVars, double &mostNegReducedCost)
virtual int generateVars (const DecompStatus stat, DecompVarList &newVars, double &mostNegReducedCost)
virtual int generateCuts (double *xhat, DecompCutList &newCuts)
virtual void addVarsToPool (DecompVarList &newVars)
virtual void addVarsFromPool ()
virtual void addCutsToPool (const double *x, DecompCutList &newCuts, int &m_cutsThisCall)
virtual int addCutsFromPool ()
bool isIPFeasible (const double *x, const bool isXSparse=false, const double feasVarTol=1.0e-6, const double feasConTol=1.0e-5, const double intTol=1.0e-5)
bool isLPFeasible (const double *x, const bool isXSparse=false, const double feasVarTol=1.0e-6, const double feasConTol=1.0e-5)
DecompStatus solveRelaxed (const double *redCostX, const double *origCost, const double alpha, const int n_origCols, const bool isNested, DecompAlgoModel &algoModel, DecompSolverResult *solveResult, std::list< DecompVar * > &vars)
void appendVars (DecompVar *var)
void appendVars (DecompVarList &varList)
virtual void setMasterBounds (const double *lbs, const double *ubs)
virtual void setSubProbBounds (const double *lbs, const double *ubs)
virtual bool chooseBranchSet (std::vector< std::pair< int, double > > &downBranchLb, std::vector< std::pair< int, double > > &downBranchUb, std::vector< std::pair< int, double > > &upBranchLb, std::vector< std::pair< int, double > > &upBranchUb)
OsiSolverInterfaceinitSolverInterface ()
void startupLog ()
void initSetup (int whichModel=1)
void tighten (int whichModel)
void solve (int whichModel=1)
double getTrueLowerBound ()
double getTrueUpperBound ()
void setTrueLowerBound (const double mostNegReducedCost)
void setTrueUpperBound (const double ub)
double calcConstant (const int m, const double *u)
bool isDualRayInfProof (const double *dualRay, const CoinPackedMatrix *rowMatrix, const double *colLB, const double *colUB, const double *rowRhs, ostream *os=0)
void printBasisInfo (OsiSolverInterface *si, ostream *os)
void printCurrentProblem (const OsiSolverInterface *si, const string baseName, const int nodeIndex, const int cutPass, const int pricePass, const bool printMps=true, const bool printLp=true)
void printCurrentProblem (const OsiSolverInterface *si, const string fileName, const bool printMps=true, const bool printLp=true)
void printVars (ostream *os=&cout)
void printCuts (ostream *os=&cout)
void solveBruteForce ()
void createFullMps (const string filename)
vector< double * > getDualRays (int maxNumRays)
void setApp (DecompApp *app)
void setBestUpperBound (const double bestUpperBound)
decompStat solveRelaxed (const int whichModel, const double *redCostX, const double *origCost, const double alpha, const int n_origCols, const bool checkRC, const bool checkDup, OsiSolverInterface *m_subprobSI, list< DecompVar * > &vars)
virtual void createMasterProblem (DecompVarList &initVars)=0
virtual decompStat solutionUpdate (const decompPhase phase, const int maxInnerIter, const int maxOuterIter)
virtual decompPhase phaseUpdate (const decompPhase phase, const decompStat stat)
virtual void setMasterBounds (const double *lbs, const double *ubs)
OsiSolverInterfacegetMasterSolverInterface ()
virtual const double * getRowPrice () const
const double * getX ()
DecompAppgetApp ()
const DecompSolutiongetXhatIPBest ()
virtual const double * getRightHandSide () const
virtual const char * getRowSense () const
int heuristics (const double *xhat, vector< DecompSolution * > &xhatIPFeas)
virtual int generateVars (const decompStat stat, DecompVarList &newVars, double &mostNegReducedCost)
virtual int generateCuts (DecompCutList &newCuts)
virtual void recomposeSolution (const double *solution, double *rsolution)
virtual int generateInitVars (DecompVarList &initVars)
virtual bool isDone ()
void addVarsToPool (DecompVarList &newVars)
void addVarsFromPool ()
bool isIPFeasible (const double *x, const double feasTol=1.0e-4, const double intTol=1.0e-4)
bool isLPFeasible (const double *x, const double feasTol=1.0e-4)
virtual void addCutsToPool (const double *x, DecompCutList &newCuts, int &n_newCuts)
virtual int addCutsFromPool ()
int chooseBranchVar (int &branchedOnIndex, double &branchedOnValue)
virtual int branch (int branchedOnIndex, double branchedOnValue)
decompStat processNode (const int nodeIndex=0)
void appendVars (DecompVar *var)
void appendVars (DecompVarList &varList)
 DecompAlgo (const decompAlgoType algo, DecompApp *app)
virtual ~DecompAlgo ()
OsiSolverInterfaceinitSolverInterface ()
void startupLog ()
void initSetup (int whichModel=1)
void tighten (int whichModel)
double getTrueLowerBound ()
double getTrueUpperBound ()
void setTrueLowerBound (const double mostNegReducedCost)
void setTrueUpperBound (const double ub)
double calcConstant (const int m, const double *u)
bool isDualRayInfProof (const double *dualRay, const CoinPackedMatrix *rowMatrix, const double *colLB, const double *colUB, const double *rowRhs, ostream *os=0)
void printBasisInfo (OsiSolverInterface *si, ostream *os)
void printCurrentProblem (const OsiSolverInterface *si, const string baseName, const int nodeIndex, const int cutPass, const int pricePass, const bool printMps=true, const bool printLp=true)
void printCurrentProblem (const OsiSolverInterface *si, const string fileName, const bool printMps=true, const bool printLp=true)
void printVars (ostream *os=&cout)
void printCuts (ostream *os=&cout)
void solveBruteForce ()
void createFullMps (const string filename)
vector< double * > getDualRays (int maxNumRays)
void setApp (DecompApp *app)
void setBestUpperBound (const double bestUpperBound)
DecompStat solveRelaxed (const int whichModel, const double *redCostX, const double *origCost, const double alpha, const int n_origCols, const bool checkRC, const bool checkDup, OsiSolverInterface *m_subprobSI, list< DecompVar * > &vars)
virtual void createMasterProblem (DecompVarList &initVars)=0
virtual DecompStat solutionUpdate (const DecompPhase phase, const int maxInnerIter, const int maxOuterIter)
virtual DecompPhase phaseUpdate (const DecompPhase phase, const DecompStat stat)
virtual void setMasterBounds (const double *lbs, const double *ubs)
OsiSolverInterfacegetMasterSolverInterface ()
virtual const double * getRowPrice () const
const double * getX ()
DecompAppgetApp ()
const DecompSolutiongetXhatIPBest ()
virtual const double * getRightHandSide () const
virtual const char * getRowSense () const
int heuristics (const double *xhat, vector< DecompSolution * > &xhatIPFeas)
virtual int generateVars (const DecompStat stat, DecompVarList &newVars, double &mostNegReducedCost)
virtual int generateCuts (DecompCutList &newCuts)
virtual void recomposeSolution (const double *solution, double *rsolution)
virtual int generateInitVars (DecompVarList &initVars)
virtual bool isDone ()
void addVarsToPool (DecompVarList &newVars)
void addVarsFromPool ()
bool isIPFeasible (const double *x, const double feasTol=1.0e-4, const double intTol=1.0e-4)
bool isLPFeasible (const double *x, const double feasTol=1.0e-4)
virtual void addCutsToPool (const double *x, DecompCutList &newCuts, int &n_newCuts)
virtual int addCutsFromPool ()
int chooseBranchVar (int &branchedOnIndex, double &branchedOnValue)
virtual int branch (int branchedOnIndex, double branchedOnValue)
DecompStat processNode (const int nodeIndex=0, const double globalLB=-DecompInf, const double globalUB=DecompInf)
void appendVars (DecompVar *var)
void appendVars (DecompVarList &varList)
 DecompAlgo (const DecompAlgoType algo, DecompApp *app)
virtual ~DecompAlgo ()
Pure virtual functions.



virtual void createMasterProblem (DecompVarList &initVars)
 Create the master problem (all algorithms must define this function).
void loadSIFromModel (OsiSolverInterface *si, bool doInt=false)
 Create the master problem (all algorithms must define this function).
virtual void recomposeSolution (const double *solution, double *rsolution)
 Compose solution in x-space from current space.
Virtual functions.



virtual DecompStatus processNode (const AlpsDecompTreeNode *node, const double globalLB=-DecompInf, const double globalUB=DecompInf)
 The main DECOMP process loop for a node.
const AlpsDecompTreeNodegetCurrentNode () const
 Provide the current node the algorithm is solving.
virtual void postProcessNode (DecompStatus decompStatus)
 Do some information sending after the current node has been processed.
virtual void postProcessBranch (DecompStatus decompStatus)
 Do some information sending after the current node has been branched.
virtual int generateInitVars (DecompVarList &initVars)
 Generate initial variables for master problem (PC/DC/RC).
virtual DecompStatus solutionUpdate (const DecompPhase phase, const bool resolve=true, const int maxInnerIter=COIN_INT_MAX, const int maxOuterIter=COIN_INT_MAX)
 Update of the solution vectors (primal and/or dual).
virtual void phaseUpdate (DecompPhase &phase, DecompStatus &status)
 Update of the phase for process loop.
virtual void phaseInit (DecompPhase &phase)
 Run the initial phase for processing node.
virtual void phaseDone ()
 Run the done phase for processing node.
virtual bool updateObjBound (const double mostNegRC=-DecompBigNum)
 Calculate the current LB and update best/history.
virtual void solutionUpdateAsIP ()
 The main DECOMP process loop for a node.
virtual int adjustColumnsEffCnt ()
 The main DECOMP process loop for a node.
virtual int compressColumns ()
 The main DECOMP process loop for a node.
Helper functions.



void initSetup (UtilParameters *utilParam, std::string &sectionParam)
 Initial setup of algorithm structures and solver interfaces.
void getModelsFromApp ()
 Initial setup of algorithm structures and solver interfaces.
void createOsiSubProblem (DecompAlgoModel &algoModel)
 Initial setup of algorithm structures and solver interfaces.
void coreMatrixAppendColBounds ()
 Calculate gap: |(ub-lb)|/|lb|.
void checkMasterDualObj ()
 Initial setup of algorithm structures and solver interfaces.
bool checkPointFeasible (const DecompConstraintSet *modelCore, const double *x)
 Initial setup of algorithm structures and solver interfaces.
bool isDualRayInfProof (const double *dualRay, const CoinPackedMatrix *rowMatrix, const double *colLB, const double *colUB, const double *rowRhs, std::ostream *os)
 Initial setup of algorithm structures and solver interfaces.
bool isDualRayInfProofCpx (const double *dualRay, const CoinPackedMatrix *rowMatrix, const double *colLB, const double *colUB, const double *rowRhs, std::ostream *os)
 Initial setup of algorithm structures and solver interfaces.
void printBasisInfo (OsiSolverInterface *si, std::ostream *os)
 Initial setup of algorithm structures and solver interfaces.
void printCurrentProblemDual (OsiSolverInterface *si, const std::string baseName, const int nodeIndex, const int cutPass, const int pricePass)
 Initial setup of algorithm structures and solver interfaces.
void printCurrentProblem (const OsiSolverInterface *si, const std::string baseName, const int nodeIndex, const int cutPass, const int pricePass, const int blockId=-1, const bool printMps=true, const bool printLp=true)
 Initial setup of algorithm structures and solver interfaces.
void printCurrentProblem (const OsiSolverInterface *si, const std::string fileName, const bool printMps=true, const bool printLp=true)
 Initial setup of algorithm structures and solver interfaces.
void printVars (std::ostream *os)
 Initial setup of algorithm structures and solver interfaces.
void printCuts (std::ostream *os)
 Initial setup of algorithm structures and solver interfaces.
void createFullMps (const std::string fileName)
 Initial setup of algorithm structures and solver interfaces.
virtual DecompSolverResultsolveDirect (const DecompSolution *startSol=NULL)
 Initial setup of algorithm structures and solver interfaces.
void masterMatrixAddMOCols (CoinPackedMatrix *masterM, double *colLB, double *colUB, double *objCoeff, std::vector< std::string > &colNames)
 Initial setup of algorithm structures and solver interfaces.
void masterMatrixAddArtCol (std::vector< CoinBigIndex > &colBeg, std::vector< int > &colInd, std::vector< double > &colVal, char LorG, int rowIndex, int colIndex, DecompColType colType, double &colLB, double &colUB, double &objCoeff)
 Initial setup of algorithm structures and solver interfaces.
virtual void masterMatrixAddArtCols (CoinPackedMatrix *masterM, double *colLB, double *colUB, double *objCoeff, std::vector< std::string > &colNames, int startRow, int endRow, DecompRowType rowType)
 Initial setup of algorithm structures and solver interfaces.
void masterPhaseItoII ()
 Initial setup of algorithm structures and solver interfaces.
void masterPhaseIItoI ()
 Initial setup of algorithm structures and solver interfaces.
bool isMasterColMasterOnly (const int index) const
 Initial setup of algorithm structures and solver interfaces.
bool isMasterColStructural (const int index) const
 Initial setup of algorithm structures and solver interfaces.
bool isMasterColArtificial (const int index) const
 Initial setup of algorithm structures and solver interfaces.
void breakOutPartial (const double *xHat, DecompVarList &newVars, const double intTol=1.0e-5)
 Initial setup of algorithm structures and solver interfaces.
void generateVarsAdjustDuals (const double *uOld, double *uNew)
 Create an adjusted dual vector with the duals from the convexity constraints removed.
void generateVarsCalcRedCost (const double *u, double *redCostX)
 Calculated reduced cost vector (over vars in compact space) for a given dual vector.
Set/get methods.



const double * getColLBNode () const
 Get a ptr to the current solution (in x-space).
const double * getColUBNode () const
 Get a ptr to the current solution (in x-space).
DecompStatsgetStats ()
 Get a ptr to the current solution (in x-space).
const double * getOrigObjective () const
 Get a ptr to the current solution (in x-space).
const DecompAlgoModelgetModelCore () const
 Get a ptr to the current solution (in x-space).
const int getAlgo () const
 Get a ptr to the current solution (in x-space).
const DecompParamgetParam () const
 Get a ptr to the current solution (in x-space).
DecompParamgetMutableParam ()
 Get a ptr to the current solution (in x-space).
OsiSolverInterfacegetMasterOSI ()
 Get a ptr to the current solution (in x-space).
DecompAlgoModelgetModelRelax (const int blockId)
 Get a ptr to the current solution (in x-space).
const double * getXhat () const
 Get a ptr to the current solution (in x-space).
void setCutoffUB (const double thisBound)
 Get a ptr to the current solution (in x-space).
const DecompSolutiongetXhatIPBest () const
 Get a ptr to the current solution (in x-space).
const std::vector
< DecompSolution * > & 
getXhatIPFeas () const
 Get a ptr to the current solution (in x-space).
const double getCutoffUB () const
 Get a ptr to the current solution (in x-space).
DecompStatsgetDecompStats ()
 Get a ptr to the current solution (in x-space).
const DecompParamgetDecompParam () const
 Get a ptr to the current solution (in x-space).
const DecompAppgetDecompApp () const
 Get a ptr to the current solution (in x-space).
DecompAppgetDecompAppMutable ()
 Get a ptr to the current solution (in x-space).
const int getNodeIndex () const
 Get a ptr to the current solution (in x-space).
const int getCutCallsTotal () const
 Get a ptr to the current solution (in x-space).
const int getPriceCallsTotal () const
 Get a ptr to the current solution (in x-space).
const double * getMasterPrimalSolution () const
 Get current primal solution for master problem.
const double * getMasterColReducedCost () const
 Get a ptr to the current solution (in x-space).
virtual const double * getMasterDualSolution () const
 Get current dual solution for master problem.
virtual void adjustMasterDualSolution ()
 Adjust the current dual solution for master problem.
double getMasterObjValue () const
 Get a ptr to the current solution (in x-space).
const int getStopCriteria () const
 Get a ptr to the current solution (in x-space).
const double getGlobalGap () const
 Get the current global (integrality) gap.
const double getNodeIPGap () const
 Get the current node (integrality) gap.
const double getNodeLPGap () const
 Get the current node (continuous) gap.
const double getObjBestBoundLB () const
 Get the current best LB.
const void setStrongBranchIter (bool isStrongBranch=true)
 Set the object to be in strong branching mode.
const double getObjBestBoundUB () const
 Get the current best UB.
const double getMasterRowType (int row) const
 Get a specific row type.
virtual void setObjBound (const double thisBound, const double thisBoundUB)
 Set the current continuous bounds and update best/history.
virtual void setObjBoundIP (const double thisBound)
 Set the current integer bound and update best/history.
bool isTailoffLB (const int changeLen=10, const double changePerLimit=0.1)
 Get a ptr to the current solution (in x-space).
int getNumRowType (DecompRowType rowType)
 Get a ptr to the current solution (in x-space).
void checkBlocksColumns ()
 Get a ptr to the current solution (in x-space).
Constructors and destructor.



 DecompAlgo (const DecompAlgoType algo, DecompApp *app, UtilParameters *utilParam)
 Default constructors.
virtual ~DecompAlgo ()
 Destructor.

Public Attributes

DecompConstraintSetm_modelCore
DecompConstraintSetm_modelRelax

Protected Attributes

DecompMemPool m_auxMemPool
int m_nodeIndex
int m_whichModel
int m_whichCoreModel
int m_priceCallsRound
int m_priceCallsTotal
int m_cutCallsRound
int m_cutCallsTotal
int m_varsThisRound
int m_cutsThisRound
int m_varsThisCall
int m_cutsThisCall
int m_isTightenAlgo
ostream * m_osLog
map< int, OsiSolverInterface * > m_subprobSI
ClpModelm_masterCLP
DecompVarList m_initVars
double m_tlb
double m_tub
double m_bestUpperBound
vector< DecompSolution * > m_xhatIPFeas
int m_numOrigCols
vector< vector< double > > m_optPoint
double * m_piEstimate
vector< bool > isStab
Data.



std::string m_classTag
 Store the name of the class (for logging/debugging) - "who am I?".
DecompParam m_param
 DIP is distributed under the Eclipse Public License as part of the //.
DecompAlgoType m_algo
 Type of algorithm for this instance.
DecompStatus m_status
 The current algorithm status.
DecompPhase m_phase
 The current algorithm phase.
DecompPhase m_phaseLast
 Store the name of the class (for logging/debugging) - "who am I?".
DecompPhase m_phaseForce
 Store the name of the class (for logging/debugging) - "who am I?".
DecompAppm_app
 Pointer to current active DECOMP application.
DecompStats m_stats
 Storage of statistics for run and node.
DecompNodeStats m_nodeStats
 Store the name of the class (for logging/debugging) - "who am I?".
DecompMemPool m_memPool
 Memory pool used to reduce the number of allocations needed.
std::ostream * m_osLog
 Stream for log file (default to stdout).
DecompAlgoCGLm_cgl
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< double > m_origColLB
 Pointer (and label) to current active model core/relax.
std::vector< double > m_origColUB
 Store the name of the class (for logging/debugging) - "who am I?".
OsiSolverInterfacem_masterSI
 Solver interface(s) for subproblems (P').
OsiClpSolverInterfacem_cutgenSI
 Solver interface(s) for entire problem (Q'').
int m_cutgenObjCutInd
 Store the name of the class (for logging/debugging) - "who am I?".
OsiSolverInterfacem_auxSI
 Store the name of the class (for logging/debugging) - "who am I?".
const double * m_objective
 Store the name of the class (for logging/debugging) - "who am I?".
DecompAlgoModel m_modelCore
 Store the name of the class (for logging/debugging) - "who am I?".
std::map< int, DecompAlgoModelm_modelRelax
 Store the name of the class (for logging/debugging) - "who am I?".
std::map< int, std::vector
< DecompAlgoModel > > 
m_modelRelaxNest
 Store the name of the class (for logging/debugging) - "who am I?".
DecompVarList m_vars
 Containers for variables (current and pool).
DecompVarPool m_varpool
 Store the name of the class (for logging/debugging) - "who am I?".
DecompCutList m_cuts
 Containers for cuts (current and pool).
DecompCutPool m_cutpool
 Store the name of the class (for logging/debugging) - "who am I?".
double * m_xhat
 Storage for current solution (in x-space).
double m_cutoffUB
 User-defined cutoff (global UB) for B&B fathoming and LR.
std::vector< DecompSolution * > m_xhatIPFeas
 Store the name of the class (for logging/debugging) - "who am I?".
DecompSolutionm_xhatIPBest
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< double > m_primSolution
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< double > m_dualSolution
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< double > m_reducedCost
 Store the name of the class (for logging/debugging) - "who am I?".
int m_numCols
 Store the name of the class (for logging/debugging) - "who am I?".
bool m_isColGenExact
 Store the name of the class (for logging/debugging) - "who am I?".
UtilParametersm_utilParam
 Store the name of the class (for logging/debugging) - "who am I?".
int m_numConvexCon
 Store the name of the class (for logging/debugging) - "who am I?".
int m_rrLastBlock
 Store the name of the class (for logging/debugging) - "who am I?".
int m_rrIterSinceAll
 Store the name of the class (for logging/debugging) - "who am I?".
int m_nArtCols
 Store the name of the class (for logging/debugging) - "who am I?".
int m_nRowsOrig
 Store the name of the class (for logging/debugging) - "who am I?".
int m_nRowsBranch
 Store the name of the class (for logging/debugging) - "who am I?".
int m_nRowsConvex
 Store the name of the class (for logging/debugging) - "who am I?".
int m_nRowsCuts
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< DecompRowTypem_masterRowType
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< DecompColTypem_masterColType
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< int > m_masterArtCols
 Store the name of the class (for logging/debugging) - "who am I?".
double * m_colLBNode
 Store the name of the class (for logging/debugging) - "who am I?".
double * m_colUBNode
 Store the name of the class (for logging/debugging) - "who am I?".
int m_compressColsLastPrice
 Store the name of the class (for logging/debugging) - "who am I?".
int m_compressColsLastNumCols
 Store the name of the class (for logging/debugging) - "who am I?".
double m_relGap
 Current node gap (bestUB-bestLB)/bestLB.
DecompAlgoStop m_stopCriteria
 Store the name of the class (for logging/debugging) - "who am I?".
int m_colIndexUnique
 Store the name of the class (for logging/debugging) - "who am I?".
double m_masterObjLast
 Store the name of the class (for logging/debugging) - "who am I?".
bool m_objNoChange
 Store the name of the class (for logging/debugging) - "who am I?".
double m_stabEpsilon
 Store the name of the class (for logging/debugging) - "who am I?".
bool m_useInitLpDuals
 Store the name of the class (for logging/debugging) - "who am I?".
std::map< int, int > m_artColIndToRowInd
 Store the name of the class (for logging/debugging) - "who am I?".
double m_globalLB
 Store the name of the class (for logging/debugging) - "who am I?".
double m_globalUB
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< double > m_phaseIObj
 Store the name of the class (for logging/debugging) - "who am I?".
int m_function
 Store the name of the class (for logging/debugging) - "who am I?".
bool m_firstPhase2Call
 Store the name of the class (for logging/debugging) - "who am I?".
bool m_isStrongBranch
 Store the name of the class (for logging/debugging) - "who am I?".
const AlpsDecompTreeNodem_curNode
 Store the name of the class (for logging/debugging) - "who am I?".
std::vector< int > m_masterOnlyCols
 Store the name of the class (for logging/debugging) - "who am I?".
std::map< int, int > m_masterOnlyColsMap
 Map from original index to master index for master-only vars.
double tempTimeLimit
 Store the name of the class (for logging/debugging) - "who am I?".
DecompBranchingImplementation m_branchingImplementation
 Store the name of the class (for logging/debugging) - "who am I?".

Private Member Functions

 DecompAlgo (const DecompAlgo &)
DecompAlgooperator= (const DecompAlgo &)
 DecompAlgo (const DecompAlgo &)
DecompAlgooperator= (const DecompAlgo &)

Private Attributes

decompAlgoType m_algo

Static Private Attributes

static const char * m_classTag
static const char * versionTag

Detailed Description

Base class for DECOMP algorithms.

Definition at line 63 of file DecompAlgo.h.


Constructor & Destructor Documentation

DecompAlgo::DecompAlgo ( const DecompAlgoType  algo,
DecompApp app,
UtilParameters utilParam 
) [inline]

Default constructors.

Definition at line 977 of file DecompAlgo.h.

References m_app, and DecompApp::m_decompAlgo.

virtual DecompAlgo::~DecompAlgo (  )  [inline, virtual]
DecompAlgo::DecompAlgo ( const DecompAlgo  )  [private]
DecompAlgo::DecompAlgo ( const decompAlgoType  algo,
DecompApp app 
) [inline]

Definition at line 326 of file DecompAlgo.h.

virtual DecompAlgo::~DecompAlgo (  )  [inline, virtual]
DecompAlgo::DecompAlgo ( const DecompAlgo  )  [private]
DecompAlgo::DecompAlgo ( const DecompAlgoType  algo,
DecompApp app 
) [inline]

Definition at line 314 of file DecompAlgo.old.h.

virtual DecompAlgo::~DecompAlgo (  )  [inline, virtual]

Member Function Documentation

virtual void DecompAlgo::createMasterProblem ( DecompVarList initVars  )  [virtual]

Create the master problem (all algorithms must define this function).

Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.

void DecompAlgo::loadSIFromModel ( OsiSolverInterface si,
bool  doInt = false 
)

Create the master problem (all algorithms must define this function).

virtual void DecompAlgo::recomposeSolution ( const double *  solution,
double *  rsolution 
) [virtual]

Compose solution in x-space from current space.

  • PC: this recomposes x from lambda
  • C : this just copies over LP solution

Reimplemented in DecompAlgoC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, and DecompAlgoPC.

virtual DecompStatus DecompAlgo::processNode ( const AlpsDecompTreeNode node,
const double  globalLB = -DecompInf,
const double  globalUB = DecompInf 
) [virtual]

The main DECOMP process loop for a node.

Referenced by DecompAlgoD::solveD().

const AlpsDecompTreeNode* DecompAlgo::getCurrentNode (  )  const [inline]

Provide the current node the algorithm is solving.

Definition at line 320 of file DecompAlgo.h.

References m_curNode.

virtual void DecompAlgo::postProcessNode ( DecompStatus  decompStatus  )  [inline, virtual]

Do some information sending after the current node has been processed.

Does nothing by default.

Reimplemented in DippyAlgoC, DippyAlgoPC, and DippyAlgoRC.

Definition at line 329 of file DecompAlgo.h.

virtual void DecompAlgo::postProcessBranch ( DecompStatus  decompStatus  )  [inline, virtual]

Do some information sending after the current node has been branched.

Does nothing by default.

Reimplemented in DippyAlgoC, DippyAlgoPC, and DippyAlgoRC.

Definition at line 336 of file DecompAlgo.h.

virtual int DecompAlgo::generateInitVars ( DecompVarList initVars  )  [virtual]

Generate initial variables for master problem (PC/DC/RC).

  • in CPM, this does nothing

Reimplemented in DecompAlgoC, and DecompAlgoC.

virtual DecompStatus DecompAlgo::solutionUpdate ( const DecompPhase  phase,
const bool  resolve = true,
const int  maxInnerIter = COIN_INT_MAX,
const int  maxOuterIter = COIN_INT_MAX 
) [virtual]

Update of the solution vectors (primal and/or dual).

virtual void DecompAlgo::phaseUpdate ( DecompPhase phase,
DecompStatus status 
) [virtual]

Update of the phase for process loop.

Reimplemented in DecompAlgoC, and DecompAlgoD.

virtual void DecompAlgo::phaseInit ( DecompPhase phase  )  [inline, virtual]

Run the initial phase for processing node.

Reimplemented in DecompAlgoC, and DecompAlgoPC.

Definition at line 363 of file DecompAlgo.h.

References getNodeIndex(), and PHASE_PRICE1.

virtual void DecompAlgo::phaseDone (  )  [inline, virtual]

Run the done phase for processing node.

Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.

Definition at line 372 of file DecompAlgo.h.

virtual bool DecompAlgo::updateObjBound ( const double  mostNegRC = -DecompBigNum  )  [virtual]

Calculate the current LB and update best/history.

Reimplemented in DecompAlgoC, and DecompAlgoRC.

virtual void DecompAlgo::solutionUpdateAsIP (  )  [inline, virtual]

The main DECOMP process loop for a node.

Reimplemented in DecompAlgoPC.

Definition at line 380 of file DecompAlgo.h.

virtual int DecompAlgo::adjustColumnsEffCnt (  )  [inline, virtual]

The main DECOMP process loop for a node.

Reimplemented in DecompAlgoPC.

Definition at line 382 of file DecompAlgo.h.

References DecompStatOk.

virtual int DecompAlgo::compressColumns (  )  [inline, virtual]

The main DECOMP process loop for a node.

Reimplemented in DecompAlgoPC.

Definition at line 385 of file DecompAlgo.h.

References DecompStatOk.

bool DecompAlgo::isGapTight (  )  [inline]
virtual bool DecompAlgo::isDone (  )  [inline, virtual]

Reimplemented in DecompAlgoRC, and DecompAlgoRC.

Definition at line 418 of file DecompAlgo.h.

References DecompNodeStats::cutsThisCall, m_nodeStats, and DecompNodeStats::varsThisCall.

std::vector<double*> DecompAlgo::getDualRays ( int  maxNumRays  ) 
virtual int DecompAlgo::generateVarsFea ( DecompVarList newVars,
double &  mostNegReducedCost 
) [virtual]

Reimplemented in DecompAlgoPC.

virtual int DecompAlgo::generateVars ( const DecompStatus  stat,
DecompVarList newVars,
double &  mostNegReducedCost 
) [virtual]

Reimplemented in DecompAlgoRC.

virtual int DecompAlgo::generateCuts ( double *  xhat,
DecompCutList newCuts 
) [virtual]
virtual void DecompAlgo::addVarsToPool ( DecompVarList newVars  )  [virtual]
virtual void DecompAlgo::addVarsFromPool (  )  [virtual]
virtual void DecompAlgo::addCutsToPool ( const double *  x,
DecompCutList newCuts,
int &  m_cutsThisCall 
) [virtual]

Reimplemented in DecompAlgoPC, and DecompAlgoPC.

virtual int DecompAlgo::addCutsFromPool (  )  [virtual]
bool DecompAlgo::isIPFeasible ( const double *  x,
const bool  isXSparse = false,
const double  feasVarTol = 1.0e-6,
const double  feasConTol = 1.0e-5,
const double  intTol = 1.0e-5 
)
bool DecompAlgo::isLPFeasible ( const double *  x,
const bool  isXSparse = false,
const double  feasVarTol = 1.0e-6,
const double  feasConTol = 1.0e-5 
)
DecompStatus DecompAlgo::solveRelaxed ( const double *  redCostX,
const double *  origCost,
const double  alpha,
const int  n_origCols,
const bool  isNested,
DecompAlgoModel algoModel,
DecompSolverResult solveResult,
std::list< DecompVar * > &  vars 
)
void DecompAlgo::appendVars ( DecompVar var  )  [inline]

Definition at line 467 of file DecompAlgo.h.

References m_vars.

void DecompAlgo::appendVars ( DecompVarList varList  )  [inline]

Definition at line 470 of file DecompAlgo.h.

References m_vars.

virtual void DecompAlgo::setMasterBounds ( const double *  lbs,
const double *  ubs 
) [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoPC.

virtual void DecompAlgo::setSubProbBounds ( const double *  lbs,
const double *  ubs 
) [virtual]

Reimplemented in DecompAlgoC.

virtual bool DecompAlgo::chooseBranchSet ( std::vector< std::pair< int, double > > &  downBranchLb,
std::vector< std::pair< int, double > > &  downBranchUb,
std::vector< std::pair< int, double > > &  upBranchLb,
std::vector< std::pair< int, double > > &  upBranchUb 
) [virtual]

Reimplemented in DippyAlgoC, DippyAlgoPC, and DippyAlgoRC.

void DecompAlgo::initSetup ( UtilParameters utilParam,
std::string &  sectionParam 
)

Initial setup of algorithm structures and solver interfaces.

Referenced by DecompAlgoC::DecompAlgoC(), DecompAlgoD::DecompAlgoD(), DecompAlgoPC::DecompAlgoPC(), and DecompAlgoRC::DecompAlgoRC().

void DecompAlgo::getModelsFromApp (  ) 

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::createOsiSubProblem ( DecompAlgoModel algoModel  ) 

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::coreMatrixAppendColBounds (  ) 

Calculate gap: |(ub-lb)|/|lb|.

void DecompAlgo::checkMasterDualObj (  ) 

Initial setup of algorithm structures and solver interfaces.

bool DecompAlgo::checkPointFeasible ( const DecompConstraintSet modelCore,
const double *  x 
)

Initial setup of algorithm structures and solver interfaces.

bool DecompAlgo::isDualRayInfProof ( const double *  dualRay,
const CoinPackedMatrix rowMatrix,
const double *  colLB,
const double *  colUB,
const double *  rowRhs,
std::ostream *  os 
)

Initial setup of algorithm structures and solver interfaces.

bool DecompAlgo::isDualRayInfProofCpx ( const double *  dualRay,
const CoinPackedMatrix rowMatrix,
const double *  colLB,
const double *  colUB,
const double *  rowRhs,
std::ostream *  os 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printBasisInfo ( OsiSolverInterface si,
std::ostream *  os 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printCurrentProblemDual ( OsiSolverInterface si,
const std::string  baseName,
const int  nodeIndex,
const int  cutPass,
const int  pricePass 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const std::string  baseName,
const int  nodeIndex,
const int  cutPass,
const int  pricePass,
const int  blockId = -1,
const bool  printMps = true,
const bool  printLp = true 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const std::string  fileName,
const bool  printMps = true,
const bool  printLp = true 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printVars ( std::ostream *  os  ) 

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::printCuts ( std::ostream *  os  ) 

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::createFullMps ( const std::string  fileName  ) 

Initial setup of algorithm structures and solver interfaces.

virtual DecompSolverResult* DecompAlgo::solveDirect ( const DecompSolution startSol = NULL  )  [inline, virtual]

Initial setup of algorithm structures and solver interfaces.

Reimplemented in DecompAlgoC.

Definition at line 583 of file DecompAlgo.h.

void DecompAlgo::masterMatrixAddMOCols ( CoinPackedMatrix masterM,
double *  colLB,
double *  colUB,
double *  objCoeff,
std::vector< std::string > &  colNames 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::masterMatrixAddArtCol ( std::vector< CoinBigIndex > &  colBeg,
std::vector< int > &  colInd,
std::vector< double > &  colVal,
char  LorG,
int  rowIndex,
int  colIndex,
DecompColType  colType,
double &  colLB,
double &  colUB,
double &  objCoeff 
)

Initial setup of algorithm structures and solver interfaces.

virtual void DecompAlgo::masterMatrixAddArtCols ( CoinPackedMatrix masterM,
double *  colLB,
double *  colUB,
double *  objCoeff,
std::vector< std::string > &  colNames,
int  startRow,
int  endRow,
DecompRowType  rowType 
) [virtual]

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::masterPhaseItoII (  ) 

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::masterPhaseIItoI (  ) 

Initial setup of algorithm structures and solver interfaces.

bool DecompAlgo::isMasterColMasterOnly ( const int  index  )  const [inline]

Initial setup of algorithm structures and solver interfaces.

Definition at line 616 of file DecompAlgo.h.

References DecompCol_MasterOnly, and m_masterColType.

bool DecompAlgo::isMasterColStructural ( const int  index  )  const [inline]

Initial setup of algorithm structures and solver interfaces.

Definition at line 619 of file DecompAlgo.h.

References DecompCol_Structural, DecompCol_Structural_NoDelete, and m_masterColType.

bool DecompAlgo::isMasterColArtificial ( const int  index  )  const [inline]
void DecompAlgo::breakOutPartial ( const double *  xHat,
DecompVarList newVars,
const double  intTol = 1.0e-5 
)

Initial setup of algorithm structures and solver interfaces.

void DecompAlgo::generateVarsAdjustDuals ( const double *  uOld,
double *  uNew 
)

Create an adjusted dual vector with the duals from the convexity constraints removed.

void DecompAlgo::generateVarsCalcRedCost ( const double *  u,
double *  redCostX 
)

Calculated reduced cost vector (over vars in compact space) for a given dual vector.

const double* DecompAlgo::getColLBNode (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 665 of file DecompAlgo.h.

References m_colLBNode.

const double* DecompAlgo::getColUBNode (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 668 of file DecompAlgo.h.

References m_colUBNode.

DecompStats& DecompAlgo::getStats (  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 675 of file DecompAlgo.h.

References m_stats.

const double* DecompAlgo::getOrigObjective (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 679 of file DecompAlgo.h.

References m_app, and DecompApp::m_objective.

const DecompAlgoModel& DecompAlgo::getModelCore (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 682 of file DecompAlgo.h.

References m_modelCore.

Referenced by AlpsDecompModel::getColNames(), AlpsDecompModel::getNumCoreCols(), AlpsDecompModel::getNumCoreRows(), AlpsDecompModel::getRowNames(), and AlpsDecompSolution::print().

const int DecompAlgo::getAlgo (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 686 of file DecompAlgo.h.

References m_algo.

const DecompParam& DecompAlgo::getParam (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 690 of file DecompAlgo.h.

References m_param.

DecompParam& DecompAlgo::getMutableParam (  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 694 of file DecompAlgo.h.

References m_param.

OsiSolverInterface* DecompAlgo::getMasterOSI (  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 698 of file DecompAlgo.h.

References m_masterSI.

DecompAlgoModel& DecompAlgo::getModelRelax ( const int  blockId  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 702 of file DecompAlgo.h.

References m_modelRelax.

const double* DecompAlgo::getXhat (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 713 of file DecompAlgo.h.

References m_xhat.

void DecompAlgo::setCutoffUB ( const double  thisBound  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 717 of file DecompAlgo.h.

References m_cutoffUB, and setObjBoundIP().

const DecompSolution* DecompAlgo::getXhatIPBest (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 723 of file DecompAlgo.h.

References m_xhatIPBest.

Referenced by AlpsDecompModel::getBestSolution().

const std::vector<DecompSolution*>& DecompAlgo::getXhatIPFeas (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 727 of file DecompAlgo.h.

References m_xhatIPFeas.

const double DecompAlgo::getCutoffUB (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 731 of file DecompAlgo.h.

References m_cutoffUB.

DecompStats& DecompAlgo::getDecompStats (  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 735 of file DecompAlgo.h.

References m_stats.

const DecompParam& DecompAlgo::getDecompParam (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 739 of file DecompAlgo.h.

References m_param.

const DecompApp* DecompAlgo::getDecompApp (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 743 of file DecompAlgo.h.

References m_app.

DecompApp* DecompAlgo::getDecompAppMutable (  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 746 of file DecompAlgo.h.

References m_app.

const int DecompAlgo::getNodeIndex (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 750 of file DecompAlgo.h.

References m_nodeStats, and DecompNodeStats::nodeIndex.

Referenced by DecompAlgoC::phaseInit(), phaseInit(), and setObjBound().

const int DecompAlgo::getCutCallsTotal (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 754 of file DecompAlgo.h.

References DecompNodeStats::cutCallsTotal, and m_nodeStats.

const int DecompAlgo::getPriceCallsTotal (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 758 of file DecompAlgo.h.

References m_nodeStats, and DecompNodeStats::priceCallsTotal.

const double* DecompAlgo::getMasterPrimalSolution (  )  const [inline]

Get current primal solution for master problem.

Definition at line 765 of file DecompAlgo.h.

References m_primSolution.

Referenced by getMasterObjValue().

const double* DecompAlgo::getMasterColReducedCost (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 769 of file DecompAlgo.h.

References m_reducedCost.

virtual const double* DecompAlgo::getMasterDualSolution (  )  const [inline, virtual]

Get current dual solution for master problem.

Reimplemented in DecompAlgoPC.

Definition at line 775 of file DecompAlgo.h.

References m_dualSolution.

virtual void DecompAlgo::adjustMasterDualSolution (  )  [inline, virtual]

Adjust the current dual solution for master problem.

Reimplemented in DecompAlgoPC.

Definition at line 782 of file DecompAlgo.h.

double DecompAlgo::getMasterObjValue (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 785 of file DecompAlgo.h.

References DecompInf, getMasterPrimalSolution(), OsiSolverInterface::getObjCoefficients(), m_masterSI, and m_primSolution.

const int DecompAlgo::getStopCriteria (  )  const [inline]

Get a ptr to the current solution (in x-space).

Definition at line 803 of file DecompAlgo.h.

References m_stopCriteria.

const double DecompAlgo::getGlobalGap (  )  const [inline]

Get the current global (integrality) gap.

Definition at line 810 of file DecompAlgo.h.

References m_globalLB, m_globalUB, and UtilCalculateGap().

const double DecompAlgo::getNodeIPGap (  )  const [inline]

Get the current node (integrality) gap.

Definition at line 817 of file DecompAlgo.h.

References getObjBestBoundLB(), getObjBestBoundUB(), and UtilCalculateGap().

const double DecompAlgo::getNodeLPGap (  )  const [inline]

Get the current node (continuous) gap.

Definition at line 824 of file DecompAlgo.h.

References DecompInf, getObjBestBoundLB(), m_nodeStats, DecompNodeStats::objHistoryBound, DecompObjBound::thisBoundUB, and UtilCalculateGap().

const double DecompAlgo::getObjBestBoundLB (  )  const [inline]

Get the current best LB.

Definition at line 840 of file DecompAlgo.h.

References m_nodeStats, and DecompNodeStats::objBest.

Referenced by getNodeIPGap(), and getNodeLPGap().

const void DecompAlgo::setStrongBranchIter ( bool  isStrongBranch = true  )  [inline]

Set the object to be in strong branching mode.

Definition at line 847 of file DecompAlgo.h.

References m_isStrongBranch.

const double DecompAlgo::getObjBestBoundUB (  )  const [inline]

Get the current best UB.

Definition at line 854 of file DecompAlgo.h.

References m_nodeStats, and DecompNodeStats::objBest.

Referenced by getNodeIPGap().

const double DecompAlgo::getMasterRowType ( int  row  )  const [inline]

Get a specific row type.

Definition at line 861 of file DecompAlgo.h.

References m_masterRowType.

virtual void DecompAlgo::setObjBound ( const double  thisBound,
const double  thisBoundUB 
) [inline, virtual]
virtual void DecompAlgo::setObjBoundIP ( const double  thisBound  )  [inline, virtual]
bool DecompAlgo::isTailoffLB ( const int  changeLen = 10,
const double  changePerLimit = 0.1 
)

Get a ptr to the current solution (in x-space).

int DecompAlgo::getNumRowType ( DecompRowType  rowType  )  [inline]

Get a ptr to the current solution (in x-space).

Definition at line 940 of file DecompAlgo.h.

References m_masterRowType.

void DecompAlgo::checkBlocksColumns (  ) 

Get a ptr to the current solution (in x-space).

DecompAlgo& DecompAlgo::operator= ( const DecompAlgo  )  [private]
OsiSolverInterface* DecompAlgo::initSolverInterface (  ) 
void DecompAlgo::startupLog (  ) 
void DecompAlgo::initSetup ( int  whichModel = 1  ) 
void DecompAlgo::tighten ( int  whichModel  ) 
void DecompAlgo::solve ( int  whichModel = 1  ) 

Referenced by DecompAlgoD::solveD().

double DecompAlgo::getTrueLowerBound (  )  [inline]

Definition at line 134 of file DecompAlgo.h.

References m_tlb.

double DecompAlgo::getTrueUpperBound (  )  [inline]

Definition at line 137 of file DecompAlgo.h.

References m_tub.

void DecompAlgo::setTrueLowerBound ( const double  mostNegReducedCost  ) 
void DecompAlgo::setTrueUpperBound ( const double  ub  )  [inline]

Definition at line 143 of file DecompAlgo.h.

References m_tub.

double DecompAlgo::calcConstant ( const int  m,
const double *  u 
)
bool DecompAlgo::isDualRayInfProof ( const double *  dualRay,
const CoinPackedMatrix rowMatrix,
const double *  colLB,
const double *  colUB,
const double *  rowRhs,
ostream *  os = 0 
)
void DecompAlgo::printBasisInfo ( OsiSolverInterface si,
ostream *  os 
)
void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const string  baseName,
const int  nodeIndex,
const int  cutPass,
const int  pricePass,
const bool  printMps = true,
const bool  printLp = true 
)
void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const string  fileName,
const bool  printMps = true,
const bool  printLp = true 
)
void DecompAlgo::printVars ( ostream *  os = &cout  ) 
void DecompAlgo::printCuts ( ostream *  os = &cout  ) 
void DecompAlgo::solveBruteForce (  ) 
void DecompAlgo::createFullMps ( const string  filename  ) 
vector<double*> DecompAlgo::getDualRays ( int  maxNumRays  ) 
void DecompAlgo::setApp ( DecompApp app  )  [inline]

Definition at line 177 of file DecompAlgo.h.

References m_app.

void DecompAlgo::setBestUpperBound ( const double  bestUpperBound  )  [inline]

Definition at line 182 of file DecompAlgo.h.

References m_bestUpperBound.

decompStat DecompAlgo::solveRelaxed ( const int  whichModel,
const double *  redCostX,
const double *  origCost,
const double  alpha,
const int  n_origCols,
const bool  checkRC,
const bool  checkDup,
OsiSolverInterface m_subprobSI,
list< DecompVar * > &  vars 
)
virtual void DecompAlgo::createMasterProblem ( DecompVarList initVars  )  [pure virtual]
virtual decompStat DecompAlgo::solutionUpdate ( const decompPhase  phase,
const int  maxInnerIter,
const int  maxOuterIter 
) [virtual]

Reimplemented in DecompAlgoRC.

virtual decompPhase DecompAlgo::phaseUpdate ( const decompPhase  phase,
const decompStat  stat 
) [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoD.

virtual void DecompAlgo::setMasterBounds ( const double *  lbs,
const double *  ubs 
) [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoPC.

OsiSolverInterface* DecompAlgo::getMasterSolverInterface (  )  [inline]

Definition at line 226 of file DecompAlgo.h.

References m_masterSI.

virtual const double* DecompAlgo::getRowPrice (  )  const [inline, virtual]

Reimplemented in DecompAlgoRC.

Definition at line 230 of file DecompAlgo.h.

References OsiSolverInterface::getRowPrice(), and m_masterSI.

const double* DecompAlgo::getX (  )  [inline]

Definition at line 234 of file DecompAlgo.h.

References m_xhat.

DecompApp* DecompAlgo::getApp (  )  [inline]

Definition at line 238 of file DecompAlgo.h.

References m_app.

const DecompSolution* DecompAlgo::getXhatIPBest (  )  [inline]

Definition at line 242 of file DecompAlgo.h.

References m_xhatIPBest.

virtual const double* DecompAlgo::getRightHandSide (  )  const [inline, virtual]

Definition at line 247 of file DecompAlgo.h.

References m_modelCore.

virtual const char* DecompAlgo::getRowSense (  )  const [inline, virtual]

Definition at line 251 of file DecompAlgo.h.

References m_modelCore.

int DecompAlgo::heuristics ( const double *  xhat,
vector< DecompSolution * > &  xhatIPFeas 
)
virtual int DecompAlgo::generateVars ( const decompStat  stat,
DecompVarList newVars,
double &  mostNegReducedCost 
) [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoRC.

virtual int DecompAlgo::generateCuts ( DecompCutList newCuts  )  [virtual]
virtual void DecompAlgo::recomposeSolution ( const double *  solution,
double *  rsolution 
) [inline, virtual]

Reimplemented in DecompAlgoC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, and DecompAlgoPC.

Definition at line 267 of file DecompAlgo.h.

virtual int DecompAlgo::generateInitVars ( DecompVarList initVars  )  [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoC.

virtual bool DecompAlgo::isDone (  )  [inline, virtual]

Reimplemented in DecompAlgoRC, and DecompAlgoRC.

Definition at line 273 of file DecompAlgo.h.

void DecompAlgo::addVarsToPool ( DecompVarList newVars  ) 
void DecompAlgo::addVarsFromPool (  ) 
bool DecompAlgo::isIPFeasible ( const double *  x,
const double  feasTol = 1.0e-4,
const double  intTol = 1.0e-4 
)
bool DecompAlgo::isLPFeasible ( const double *  x,
const double  feasTol = 1.0e-4 
)
virtual void DecompAlgo::addCutsToPool ( const double *  x,
DecompCutList newCuts,
int &  n_newCuts 
) [virtual]

Reimplemented in DecompAlgoPC, and DecompAlgoPC.

virtual int DecompAlgo::addCutsFromPool (  )  [virtual]
int DecompAlgo::chooseBranchVar ( int &  branchedOnIndex,
double &  branchedOnValue 
)
virtual int DecompAlgo::branch ( int  branchedOnIndex,
double  branchedOnValue 
) [virtual]

Reimplemented in DecompAlgoC.

decompStat DecompAlgo::processNode ( const int  nodeIndex = 0  ) 
void DecompAlgo::appendVars ( DecompVar var  )  [inline]

Definition at line 307 of file DecompAlgo.h.

References m_vars.

void DecompAlgo::appendVars ( DecompVarList varList  )  [inline]

Definition at line 310 of file DecompAlgo.h.

References m_vars.

DecompAlgo& DecompAlgo::operator= ( const DecompAlgo  )  [private]
OsiSolverInterface* DecompAlgo::initSolverInterface (  ) 
void DecompAlgo::startupLog (  ) 
void DecompAlgo::initSetup ( int  whichModel = 1  ) 
void DecompAlgo::tighten ( int  whichModel  ) 
double DecompAlgo::getTrueLowerBound (  )  [inline]

Definition at line 124 of file DecompAlgo.old.h.

References m_tlb.

double DecompAlgo::getTrueUpperBound (  )  [inline]

Definition at line 127 of file DecompAlgo.old.h.

References m_tub.

void DecompAlgo::setTrueLowerBound ( const double  mostNegReducedCost  ) 
void DecompAlgo::setTrueUpperBound ( const double  ub  )  [inline]

Definition at line 133 of file DecompAlgo.old.h.

References m_tub.

double DecompAlgo::calcConstant ( const int  m,
const double *  u 
)
bool DecompAlgo::isDualRayInfProof ( const double *  dualRay,
const CoinPackedMatrix rowMatrix,
const double *  colLB,
const double *  colUB,
const double *  rowRhs,
ostream *  os = 0 
)
void DecompAlgo::printBasisInfo ( OsiSolverInterface si,
ostream *  os 
)
void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const string  baseName,
const int  nodeIndex,
const int  cutPass,
const int  pricePass,
const bool  printMps = true,
const bool  printLp = true 
)
void DecompAlgo::printCurrentProblem ( const OsiSolverInterface si,
const string  fileName,
const bool  printMps = true,
const bool  printLp = true 
)
void DecompAlgo::printVars ( ostream *  os = &cout  ) 
void DecompAlgo::printCuts ( ostream *  os = &cout  ) 
void DecompAlgo::solveBruteForce (  ) 
void DecompAlgo::createFullMps ( const string  filename  ) 
vector<double*> DecompAlgo::getDualRays ( int  maxNumRays  ) 
void DecompAlgo::setApp ( DecompApp app  )  [inline]

Definition at line 167 of file DecompAlgo.old.h.

References m_app.

void DecompAlgo::setBestUpperBound ( const double  bestUpperBound  )  [inline]

Definition at line 172 of file DecompAlgo.old.h.

References m_bestUpperBound.

DecompStat DecompAlgo::solveRelaxed ( const int  whichModel,
const double *  redCostX,
const double *  origCost,
const double  alpha,
const int  n_origCols,
const bool  checkRC,
const bool  checkDup,
OsiSolverInterface m_subprobSI,
list< DecompVar * > &  vars 
)
virtual void DecompAlgo::createMasterProblem ( DecompVarList initVars  )  [pure virtual]
virtual DecompStat DecompAlgo::solutionUpdate ( const DecompPhase  phase,
const int  maxInnerIter,
const int  maxOuterIter 
) [virtual]

Reimplemented in DecompAlgoRC.

virtual DecompPhase DecompAlgo::phaseUpdate ( const DecompPhase  phase,
const DecompStat  stat 
) [virtual]
virtual void DecompAlgo::setMasterBounds ( const double *  lbs,
const double *  ubs 
) [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoPC.

OsiSolverInterface* DecompAlgo::getMasterSolverInterface (  )  [inline]

Definition at line 216 of file DecompAlgo.old.h.

References m_masterSI.

virtual const double* DecompAlgo::getRowPrice (  )  const [inline, virtual]

Reimplemented in DecompAlgoRC.

Definition at line 220 of file DecompAlgo.old.h.

References OsiSolverInterface::getRowPrice(), and m_masterSI.

const double* DecompAlgo::getX (  )  [inline]

Definition at line 224 of file DecompAlgo.old.h.

References m_xhat.

DecompApp* DecompAlgo::getApp (  )  [inline]

Definition at line 228 of file DecompAlgo.old.h.

References m_app.

const DecompSolution* DecompAlgo::getXhatIPBest (  )  [inline]

Definition at line 232 of file DecompAlgo.old.h.

References m_xhatIPBest.

virtual const double* DecompAlgo::getRightHandSide (  )  const [inline, virtual]

Definition at line 237 of file DecompAlgo.old.h.

References m_modelCore.

virtual const char* DecompAlgo::getRowSense (  )  const [inline, virtual]

Definition at line 241 of file DecompAlgo.old.h.

References m_modelCore.

int DecompAlgo::heuristics ( const double *  xhat,
vector< DecompSolution * > &  xhatIPFeas 
)
virtual int DecompAlgo::generateVars ( const DecompStat  stat,
DecompVarList newVars,
double &  mostNegReducedCost 
) [virtual]
virtual int DecompAlgo::generateCuts ( DecompCutList newCuts  )  [virtual]
virtual void DecompAlgo::recomposeSolution ( const double *  solution,
double *  rsolution 
) [inline, virtual]

Reimplemented in DecompAlgoC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, and DecompAlgoPC.

Definition at line 257 of file DecompAlgo.old.h.

virtual int DecompAlgo::generateInitVars ( DecompVarList initVars  )  [virtual]

Reimplemented in DecompAlgoC, and DecompAlgoC.

virtual bool DecompAlgo::isDone (  )  [inline, virtual]

Reimplemented in DecompAlgoRC, and DecompAlgoRC.

Definition at line 263 of file DecompAlgo.old.h.

void DecompAlgo::addVarsToPool ( DecompVarList newVars  ) 
void DecompAlgo::addVarsFromPool (  ) 
bool DecompAlgo::isIPFeasible ( const double *  x,
const double  feasTol = 1.0e-4,
const double  intTol = 1.0e-4 
)
bool DecompAlgo::isLPFeasible ( const double *  x,
const double  feasTol = 1.0e-4 
)
virtual void DecompAlgo::addCutsToPool ( const double *  x,
DecompCutList newCuts,
int &  n_newCuts 
) [virtual]

Reimplemented in DecompAlgoPC, and DecompAlgoPC.

virtual int DecompAlgo::addCutsFromPool (  )  [virtual]
int DecompAlgo::chooseBranchVar ( int &  branchedOnIndex,
double &  branchedOnValue 
)
virtual int DecompAlgo::branch ( int  branchedOnIndex,
double  branchedOnValue 
) [virtual]

Reimplemented in DecompAlgoC.

DecompStat DecompAlgo::processNode ( const int  nodeIndex = 0,
const double  globalLB = -DecompInf,
const double  globalUB = DecompInf 
)
void DecompAlgo::appendVars ( DecompVar var  )  [inline]

Definition at line 297 of file DecompAlgo.old.h.

References m_vars.

void DecompAlgo::appendVars ( DecompVarList varList  )  [inline]

Definition at line 300 of file DecompAlgo.old.h.

References m_vars.


Member Data Documentation

static const char * DecompAlgo::m_classTag [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, DecompAlgoRC, DecompAlgoC, and DecompAlgoRC.

Definition at line 76 of file DecompAlgo.h.

Referenced by setObjBound(), and setObjBoundIP().

Type of algorithm for this instance.

Definition at line 86 of file DecompAlgo.h.

Referenced by DecompAlgoD::DecompAlgoD(), and getAlgo().

The current algorithm status.

Definition at line 91 of file DecompAlgo.h.

The current algorithm phase.

Definition at line 96 of file DecompAlgo.h.

Referenced by setObjBound().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 97 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 98 of file DecompAlgo.h.

Pointer to current active DECOMP application.

Definition at line 103 of file DecompAlgo.h.

Referenced by DecompAlgo(), getApp(), getDecompApp(), getDecompAppMutable(), getOrigObjective(), setApp(), DecompAlgoD::setObjBoundIP(), setObjBoundIP(), and DecompAlgoD::solveD().

Storage of statistics for run and node.

Definition at line 108 of file DecompAlgo.h.

Referenced by getDecompStats(), and getStats().

Memory pool used to reduce the number of allocations needed.

Definition at line 114 of file DecompAlgo.h.

ostream * DecompAlgo::m_osLog [protected]

Stream for log file (default to stdout).

Definition at line 119 of file DecompAlgo.h.

Referenced by DecompAlgoPC::setObjBound(), setObjBound(), DecompAlgoD::setObjBoundIP(), and setObjBoundIP().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 121 of file DecompAlgo.h.

Referenced by ~DecompAlgo().

std::vector<double> DecompAlgo::m_origColLB [protected]

Pointer (and label) to current active model core/relax.

Definition at line 128 of file DecompAlgo.h.

std::vector<double> DecompAlgo::m_origColUB [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 129 of file DecompAlgo.h.

Solver interface(s) for subproblems (P').

Solver interface(s) for master problem (Q''). CPM: holds model core (and optionally relaxed) in original space PC : holds model core in reformulated space

Definition at line 142 of file DecompAlgo.h.

Referenced by getMasterObjValue(), getMasterOSI(), getMasterSolverInterface(), getRowPrice(), and ~DecompAlgo().

Solver interface(s) for entire problem (Q'').

CPM: not used (use m_masterSI) PC : holds model core (and optionally relaxed) in original space - used for CGL cuts

Definition at line 154 of file DecompAlgo.h.

Referenced by ~DecompAlgo().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 155 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 156 of file DecompAlgo.h.

Referenced by ~DecompAlgo().

const double* DecompAlgo::m_objective [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 159 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 160 of file DecompAlgo.h.

Referenced by getModelCore(), BcpsDecompModel::getNumCols(), BcpsDecompModel::getNumRows(), getRightHandSide(), and getRowSense().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 161 of file DecompAlgo.h.

Referenced by getModelRelax().

std::map<int, std::vector<DecompAlgoModel> > DecompAlgo::m_modelRelaxNest [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 162 of file DecompAlgo.h.

Containers for variables (current and pool).

Definition at line 168 of file DecompAlgo.h.

Referenced by appendVars(), and ~DecompAlgo().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 169 of file DecompAlgo.h.

Containers for cuts (current and pool).

Definition at line 174 of file DecompAlgo.h.

Referenced by ~DecompAlgo().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 175 of file DecompAlgo.h.

double * DecompAlgo::m_xhat [protected]

Storage for current solution (in x-space).

Definition at line 180 of file DecompAlgo.h.

Referenced by getX(), getXhat(), and ~DecompAlgo().

double DecompAlgo::m_cutoffUB [protected]

User-defined cutoff (global UB) for B&B fathoming and LR.

This does not imply a feasible IP solution, just a bound.

Definition at line 186 of file DecompAlgo.h.

Referenced by getCutoffUB(), and setCutoffUB().

vector< DecompSolution * > DecompAlgo::m_xhatIPFeas [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 188 of file DecompAlgo.h.

Referenced by getXhatIPFeas(), and ~DecompAlgo().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 189 of file DecompAlgo.h.

Referenced by getXhatIPBest().

std::vector<double> DecompAlgo::m_primSolution [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 193 of file DecompAlgo.h.

Referenced by getMasterObjValue(), and getMasterPrimalSolution().

std::vector<double> DecompAlgo::m_dualSolution [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 194 of file DecompAlgo.h.

Referenced by DecompAlgoPC::getMasterDualSolution(), and getMasterDualSolution().

std::vector<double> DecompAlgo::m_reducedCost [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 195 of file DecompAlgo.h.

Referenced by getMasterColReducedCost().

int DecompAlgo::m_numCols [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 196 of file DecompAlgo.h.

bool DecompAlgo::m_isColGenExact [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 198 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 200 of file DecompAlgo.h.

int DecompAlgo::m_numConvexCon [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 202 of file DecompAlgo.h.

int DecompAlgo::m_rrLastBlock [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 205 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 206 of file DecompAlgo.h.

int DecompAlgo::m_nArtCols [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 209 of file DecompAlgo.h.

int DecompAlgo::m_nRowsOrig [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 212 of file DecompAlgo.h.

int DecompAlgo::m_nRowsBranch [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 213 of file DecompAlgo.h.

int DecompAlgo::m_nRowsConvex [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 214 of file DecompAlgo.h.

int DecompAlgo::m_nRowsCuts [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 215 of file DecompAlgo.h.

std::vector<DecompRowType> DecompAlgo::m_masterRowType [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 216 of file DecompAlgo.h.

Referenced by getMasterRowType(), and getNumRowType().

std::vector<DecompColType> DecompAlgo::m_masterColType [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 217 of file DecompAlgo.h.

Referenced by isMasterColArtificial(), isMasterColMasterOnly(), and isMasterColStructural().

std::vector<int> DecompAlgo::m_masterArtCols [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 218 of file DecompAlgo.h.

double* DecompAlgo::m_colLBNode [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 221 of file DecompAlgo.h.

Referenced by getColLBNode(), and ~DecompAlgo().

double* DecompAlgo::m_colUBNode [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 222 of file DecompAlgo.h.

Referenced by getColUBNode(), and ~DecompAlgo().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 224 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 225 of file DecompAlgo.h.

double DecompAlgo::m_relGap [protected]

Current node gap (bestUB-bestLB)/bestLB.

Definition at line 230 of file DecompAlgo.h.

Referenced by isGapTight().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 232 of file DecompAlgo.h.

Referenced by getStopCriteria().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 233 of file DecompAlgo.h.

double DecompAlgo::m_masterObjLast [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 234 of file DecompAlgo.h.

bool DecompAlgo::m_objNoChange [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 235 of file DecompAlgo.h.

double DecompAlgo::m_stabEpsilon [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 238 of file DecompAlgo.h.

bool DecompAlgo::m_useInitLpDuals [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 239 of file DecompAlgo.h.

std::map<int, int> DecompAlgo::m_artColIndToRowInd [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 240 of file DecompAlgo.h.

double DecompAlgo::m_globalLB [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 242 of file DecompAlgo.h.

Referenced by getGlobalGap(), and setObjBound().

double DecompAlgo::m_globalUB [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 243 of file DecompAlgo.h.

Referenced by getGlobalGap().

std::vector<double> DecompAlgo::m_phaseIObj [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 245 of file DecompAlgo.h.

int DecompAlgo::m_function [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 247 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 248 of file DecompAlgo.h.

bool DecompAlgo::m_isStrongBranch [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 249 of file DecompAlgo.h.

Referenced by setStrongBranchIter().

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 251 of file DecompAlgo.h.

Referenced by getCurrentNode().

std:: vector<int> DecompAlgo::m_masterOnlyCols [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 253 of file DecompAlgo.h.

std::map<int, int> DecompAlgo::m_masterOnlyColsMap [protected]

Map from original index to master index for master-only vars.

Definition at line 257 of file DecompAlgo.h.

double DecompAlgo::tempTimeLimit [protected]

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 260 of file DecompAlgo.h.

Store the name of the class (for logging/debugging) - "who am I?".

Definition at line 265 of file DecompAlgo.h.

const char* DecompAlgo::m_classTag [static, private]

Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, DecompAlgoRC, DecompAlgoC, and DecompAlgoRC.

Definition at line 46 of file DecompAlgo.h.

static const char * DecompAlgo::versionTag [static, private]

Definition at line 47 of file DecompAlgo.h.

Definition at line 48 of file DecompAlgo.h.

Definition at line 51 of file DecompAlgo.h.

int DecompAlgo::m_nodeIndex [protected]

Definition at line 54 of file DecompAlgo.h.

int DecompAlgo::m_whichModel [protected]

Definition at line 55 of file DecompAlgo.h.

Definition at line 56 of file DecompAlgo.h.

Definition at line 57 of file DecompAlgo.h.

Definition at line 58 of file DecompAlgo.h.

int DecompAlgo::m_cutCallsRound [protected]

Definition at line 59 of file DecompAlgo.h.

int DecompAlgo::m_cutCallsTotal [protected]

Definition at line 60 of file DecompAlgo.h.

int DecompAlgo::m_varsThisRound [protected]

Definition at line 61 of file DecompAlgo.h.

int DecompAlgo::m_cutsThisRound [protected]

Definition at line 62 of file DecompAlgo.h.

int DecompAlgo::m_varsThisCall [protected]

Definition at line 63 of file DecompAlgo.h.

int DecompAlgo::m_cutsThisCall [protected]

Definition at line 64 of file DecompAlgo.h.

int DecompAlgo::m_isTightenAlgo [protected]

Definition at line 66 of file DecompAlgo.h.

ostream* DecompAlgo::m_osLog [protected]

Definition at line 68 of file DecompAlgo.h.

map< int, OsiSolverInterface * > DecompAlgo::m_subprobSI [protected]

Definition at line 73 of file DecompAlgo.h.

Referenced by ~DecompAlgo().

Definition at line 81 of file DecompAlgo.h.

Definition at line 90 of file DecompAlgo.h.

double DecompAlgo::m_tlb [protected]

Definition at line 95 of file DecompAlgo.h.

Referenced by getTrueLowerBound().

double DecompAlgo::m_tub [protected]

Definition at line 96 of file DecompAlgo.h.

Referenced by getTrueUpperBound(), and setTrueUpperBound().

double DecompAlgo::m_bestUpperBound [protected]

Definition at line 97 of file DecompAlgo.h.

Referenced by setBestUpperBound().

Definition at line 103 of file DecompAlgo.h.

int DecompAlgo::m_numOrigCols [protected]

Reimplemented in DecompAlgoD.

Definition at line 106 of file DecompAlgo.h.

vector< vector< double > > DecompAlgo::m_optPoint [protected]

Definition at line 108 of file DecompAlgo.h.

double * DecompAlgo::m_piEstimate [protected]

Definition at line 111 of file DecompAlgo.h.

vector< bool > DecompAlgo::isStab [protected]

Definition at line 112 of file DecompAlgo.h.

Definition at line 116 of file DecompAlgo.h.

Definition at line 117 of file DecompAlgo.h.


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

Generated on 5 Apr 2015 for Dip-All by  doxygen 1.6.1