Base class for DECOMP algorithms. More...
#include <DecompAlgo.h>


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) |
| OsiSolverInterface * | initSolverInterface () |
| 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) |
| OsiSolverInterface * | getMasterSolverInterface () |
| virtual const double * | getRowPrice () const |
| const double * | getX () |
| DecompApp * | getApp () |
| const DecompSolution * | getXhatIPBest () |
| 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 () |
| OsiSolverInterface * | initSolverInterface () |
| 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) |
| OsiSolverInterface * | getMasterSolverInterface () |
| virtual const double * | getRowPrice () const |
| const double * | getX () |
| DecompApp * | getApp () |
| const DecompSolution * | getXhatIPBest () |
| 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 AlpsDecompTreeNode * | getCurrentNode () 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 §ionParam) |
| 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 DecompSolverResult * | solveDirect (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). | |
| DecompStats & | getStats () |
| 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 DecompAlgoModel & | getModelCore () 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 DecompParam & | getParam () const |
| Get a ptr to the current solution (in x-space). | |
| DecompParam & | getMutableParam () |
| Get a ptr to the current solution (in x-space). | |
| OsiSolverInterface * | getMasterOSI () |
| Get a ptr to the current solution (in x-space). | |
| DecompAlgoModel & | getModelRelax (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 DecompSolution * | getXhatIPBest () 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). | |
| DecompStats & | getDecompStats () |
| Get a ptr to the current solution (in x-space). | |
| const DecompParam & | getDecompParam () const |
| Get a ptr to the current solution (in x-space). | |
| const DecompApp * | getDecompApp () const |
| Get a ptr to the current solution (in x-space). | |
| DecompApp * | getDecompAppMutable () |
| 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 | |
| DecompConstraintSet * | m_modelCore |
| DecompConstraintSet * | m_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 |
| ClpModel * | m_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?". | |
| DecompApp * | m_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). | |
| DecompAlgoCGL * | m_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?". | |
| OsiSolverInterface * | m_masterSI |
| Solver interface(s) for subproblems (P'). | |
| OsiClpSolverInterface * | m_cutgenSI |
| Solver interface(s) for entire problem (Q''). | |
| int | m_cutgenObjCutInd |
| Store the name of the class (for logging/debugging) - "who am I?". | |
| OsiSolverInterface * | m_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, DecompAlgoModel > | m_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?". | |
| DecompSolution * | m_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?". | |
| UtilParameters * | m_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< DecompRowType > | m_masterRowType |
| Store the name of the class (for logging/debugging) - "who am I?". | |
| std::vector< DecompColType > | m_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 AlpsDecompTreeNode * | m_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 &) | |
| DecompAlgo & | operator= (const DecompAlgo &) |
| DecompAlgo (const DecompAlgo &) | |
| DecompAlgo & | operator= (const DecompAlgo &) |
Private Attributes | |
| decompAlgoType | m_algo |
Static Private Attributes | |
| static const char * | m_classTag |
| static const char * | versionTag |
Base class for DECOMP algorithms.
Definition at line 63 of file DecompAlgo.h.
| 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] |
Destructor.
Definition at line 1030 of file DecompAlgo.h.
References m_auxSI, m_cgl, m_colLBNode, m_colUBNode, m_cutgenSI, m_cuts, m_masterSI, m_vars, m_xhat, m_xhatIPFeas, UTIL_DELARR, UTIL_DELPTR, UtilDeleteListPtr(), and UtilDeleteVectorPtr().
| 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] |
Definition at line 359 of file DecompAlgo.h.
References m_cuts, m_masterSI, m_subprobSI, m_vars, m_xhat, m_xhatIPFeas, UTIL_DELARR, UTIL_DELPTR, UtilDeleteListPtr(), and UtilDeleteVectorPtr().
| 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] |
Definition at line 348 of file DecompAlgo.old.h.
References m_cuts, m_masterSI, m_subprobSI, m_vars, m_xhat, m_xhatIPFeas, UTIL_DELARR, UTIL_DELPTR, UtilDeleteListPtr(), and UtilDeleteVectorPtr().
| 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.
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).
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] |
Definition at line 391 of file DecompAlgo.h.
References DecompParam::LogDebugLevel, m_param, m_relGap, DecompParam::MasterGapLimit, and UtilDblToStr().
| 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] |
Reimplemented in DecompAlgoPC, DecompAlgoRC, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Initial setup of algorithm structures and solver interfaces.
Definition at line 623 of file DecompAlgo.h.
References DecompCol_ArtForBranchG, DecompCol_ArtForBranchL, DecompCol_ArtForConvexG, DecompCol_ArtForConvexL, DecompCol_ArtForCutG, DecompCol_ArtForCutL, DecompCol_ArtForRowG, DecompCol_ArtForRowL, and m_masterColType.
| 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] |
| virtual void DecompAlgo::setObjBound | ( | const double | thisBound, | |
| const double | thisBoundUB | |||
| ) | [inline, virtual] |
Set the current continuous bounds and update best/history.
Reimplemented in DecompAlgoPC.
Definition at line 868 of file DecompAlgo.h.
References DecompObjBound::bestBound, DecompObjBound::bestBoundIP, DecompNodeStats::cutCallsTotal, DecompObjBound::cutPass, getNodeIndex(), UtilTimer::getRealTime(), globalTimer, DecompParam::LogDebugLevel, m_classTag, m_globalLB, m_nodeStats, m_osLog, m_param, m_phase, DecompNodeStats::objBest, DecompNodeStats::objHistoryBound, DecompObjBound::phase, PHASE_PRICE1, DecompNodeStats::priceCallsTotal, DecompObjBound::pricePass, DecompObjBound::thisBound, DecompObjBound::thisBoundUB, DecompObjBound::timeStamp, UtilPrintFuncBegin(), and UtilPrintFuncEnd().
| virtual void DecompAlgo::setObjBoundIP | ( | const double | thisBound | ) | [inline, virtual] |
Set the current integer bound and update best/history.
Reimplemented in DecompAlgoD, and DecompAlgoPC.
Definition at line 902 of file DecompAlgo.h.
References DecompObjBound::bestBoundIP, DecompNodeStats::getLastBound(), UtilTimer::getRealTime(), globalTimer, DecompParam::LogDebugLevel, m_app, m_classTag, m_nodeStats, m_osLog, DecompApp::m_param, m_param, DecompNodeStats::objBest, DecompNodeStats::objHistoryBound, DecompObjBound::thisBoundIP, DecompObjBound::timeStamp, UTIL_MSG, UtilDblToStr(), UtilPrintFuncBegin(), and UtilPrintFuncEnd().
Referenced by setCutoffUB().
| 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] |
Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoRC, DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Implemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Reimplemented in DecompAlgoPC, DecompAlgoRC, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Reimplemented in DecompAlgoC, DecompAlgoD, DecompAlgoRC, DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Implemented in DecompAlgoC, DecompAlgoD, DecompAlgoPC, DecompAlgoRC, DecompAlgoC, DecompAlgoD, DecompAlgoPC, and DecompAlgoRC.
| 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] |
Reimplemented in DecompAlgoPC, DecompAlgoRC, DecompAlgoPC, and DecompAlgoRC.
| 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.
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().
DecompParam DecompAlgo::m_param [protected] |
DIP is distributed under the Eclipse Public License as part of the //.
Definition at line 81 of file DecompAlgo.h.
Referenced by DecompAlgoPC::DecompAlgoPC(), getDecompParam(), DecompAlgoPC::getMasterDualSolution(), getMutableParam(), getParam(), isGapTight(), DecompAlgoPC::setObjBound(), setObjBound(), DecompAlgoD::setObjBoundIP(), setObjBoundIP(), and DecompAlgoD::solveD().
DecompAlgoType DecompAlgo::m_algo [protected] |
Type of algorithm for this instance.
Definition at line 86 of file DecompAlgo.h.
Referenced by DecompAlgoD::DecompAlgoD(), and getAlgo().
DecompStatus DecompAlgo::m_status [protected] |
The current algorithm status.
Definition at line 91 of file DecompAlgo.h.
DecompPhase DecompAlgo::m_phase [protected] |
The current algorithm phase.
Definition at line 96 of file DecompAlgo.h.
Referenced by setObjBound().
DecompPhase DecompAlgo::m_phaseLast [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 97 of file DecompAlgo.h.
DecompPhase DecompAlgo::m_phaseForce [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 98 of file DecompAlgo.h.
DecompApp * DecompAlgo::m_app [protected] |
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().
DecompStats DecompAlgo::m_stats [protected] |
Storage of statistics for run and node.
Definition at line 108 of file DecompAlgo.h.
Referenced by getDecompStats(), and getStats().
DecompNodeStats DecompAlgo::m_nodeStats [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 109 of file DecompAlgo.h.
Referenced by getCutCallsTotal(), getNodeIndex(), getNodeLPGap(), getObjBestBoundLB(), getObjBestBoundUB(), getPriceCallsTotal(), isDone(), DecompAlgoPC::setObjBound(), setObjBound(), DecompAlgoD::setObjBoundIP(), and setObjBoundIP().
DecompMemPool DecompAlgo::m_memPool [protected] |
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().
DecompAlgoCGL* DecompAlgo::m_cgl [protected] |
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.
OsiSolverInterface * DecompAlgo::m_masterSI [protected] |
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().
OsiClpSolverInterface* DecompAlgo::m_cutgenSI [protected] |
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().
int DecompAlgo::m_cutgenObjCutInd [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 155 of file DecompAlgo.h.
OsiSolverInterface* DecompAlgo::m_auxSI [protected] |
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.
DecompConstraintSet * DecompAlgo::m_modelCore [protected] |
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().
DecompConstraintSet * DecompAlgo::m_modelRelax [protected] |
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.
DecompVarList DecompAlgo::m_vars [protected] |
Containers for variables (current and pool).
Definition at line 168 of file DecompAlgo.h.
Referenced by appendVars(), and ~DecompAlgo().
DecompVarPool DecompAlgo::m_varpool [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 169 of file DecompAlgo.h.
DecompCutList DecompAlgo::m_cuts [protected] |
Containers for cuts (current and pool).
Definition at line 174 of file DecompAlgo.h.
Referenced by ~DecompAlgo().
DecompCutPool DecompAlgo::m_cutpool [protected] |
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().
DecompSolution * DecompAlgo::m_xhatIPBest [protected] |
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.
UtilParameters* DecompAlgo::m_utilParam [protected] |
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.
int DecompAlgo::m_rrIterSinceAll [protected] |
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().
int DecompAlgo::m_compressColsLastPrice [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 224 of file DecompAlgo.h.
int DecompAlgo::m_compressColsLastNumCols [protected] |
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().
DecompAlgoStop DecompAlgo::m_stopCriteria [protected] |
Store the name of the class (for logging/debugging) - "who am I?".
Definition at line 232 of file DecompAlgo.h.
Referenced by getStopCriteria().
int DecompAlgo::m_colIndexUnique [protected] |
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.
bool DecompAlgo::m_firstPhase2Call [protected] |
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().
const AlpsDecompTreeNode* DecompAlgo::m_curNode [protected] |
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.
decompAlgoType DecompAlgo::m_algo [private] |
Definition at line 48 of file DecompAlgo.h.
DecompMemPool DecompAlgo::m_auxMemPool [protected] |
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.
int DecompAlgo::m_whichCoreModel [protected] |
Definition at line 56 of file DecompAlgo.h.
int DecompAlgo::m_priceCallsRound [protected] |
Definition at line 57 of file DecompAlgo.h.
int DecompAlgo::m_priceCallsTotal [protected] |
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().
ClpModel * DecompAlgo::m_masterCLP [protected] |
Definition at line 81 of file DecompAlgo.h.
DecompVarList DecompAlgo::m_initVars [protected] |
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().
vector<DecompSolution*> DecompAlgo::m_xhatIPFeas [protected] |
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.
1.6.1