Dip  0.92.4
Public Member Functions | List of all members
DippyAlgoPC Class Reference

Python-enabled DecompAlgoPC. More...

#include <DippyDecompAlgo.h>

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

Public Member Functions

 DippyAlgoPC (DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
 
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)
 
virtual void postProcessBranch (DecompStatus decompStatus)
 Do some information sending after the current node has been branched. More...
 
virtual void postProcessNode (DecompStatus decompStatus)
 Do some information sending after the current node has been processed. More...
 
- Public Member Functions inherited from DecompAlgoPC
virtual void setMasterBounds (const double *lbs, const double *ubs)
 
virtual void createMasterProblem (DecompVarList &initVars)
 Create the master problem (all algorithms must define this function). More...
 
void createMasterStabilization ()
 
void addCutsToPool (const double *x, DecompCutList &newCuts, int &n_newCuts)
 
int addCutsFromPool ()
 
void recomposeSolution (const double *solution, double *rsolution)
 Compose solution in x-space from current space. More...
 
 DecompAlgoPC (DecompApp *app)
 
 ~DecompAlgoPC ()
 
std::vector< double > & getDualBest ()
 Default constructors. More...
 
std::vector< double > & getDualRMP ()
 Default constructors. More...
 
 DecompAlgoPC (DecompApp *app, UtilParameters &utilParam, bool doSetup=true, const DecompAlgoType algo=PRICE_AND_CUT)
 Default constructors. More...
 
 ~DecompAlgoPC ()
 Destructor. More...
 
- Public Member Functions inherited from DecompAlgo
bool isGapTight ()
 
double getInfinity ()
 Return the value of infinity. More...
 
virtual bool isDone ()
 
std::vector< double * > getDualRays (int maxNumRays)
 
std::vector< double * > getDualRaysCpx (int maxNumRays)
 
std::vector< double * > getDualRaysOsi (int maxNumRays)
 
virtual int generateCuts (double *xhat, DecompCutList &newCuts)
 
virtual void addVarsToPool (DecompVarList &newVars)
 
virtual void addVarsFromPool ()
 
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, DecompSubModel &subModel, DecompSolverResult *solveResult, std::list< DecompVar * > &vars, double timeLimit)
 
void appendVars (DecompVar *var)
 
void appendVars (DecompVarList &varList)
 
virtual void setSubProbBounds (const double *lbs, const double *ubs)
 
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 decompStat solutionUpdate (const decompPhase phase, const int maxInnerIter, const int maxOuterIter)
 
virtual decompPhase phaseUpdate (const decompPhase phase, const decompStat stat)
 
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 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)
 
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 DecompStat solutionUpdate (const DecompPhase phase, const int maxInnerIter, const int maxOuterIter)
 
virtual DecompPhase phaseUpdate (const DecompPhase phase, const DecompStat stat)
 
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 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)
 
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 ()
 
void loadSIFromModel (OsiSolverInterface *si, bool doInt=false)
 Create the master problem (all algorithms must define this function). More...
 
virtual DecompStatus processNode (const AlpsDecompTreeNode *node, const double globalLB, const double globalUB)
 The main DECOMP process loop for a node. More...
 
const AlpsDecompTreeNodegetCurrentNode () const
 Provide the current node the algorithm is solving. More...
 
virtual int generateInitVars (DecompVarList &initVars)
 Generate initial variables for master problem (PC/DC/RC). More...
 
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). More...
 
virtual void phaseUpdate (DecompPhase &phase, DecompStatus &status)
 Update of the phase for process loop. More...
 
virtual bool updateObjBound (const double mostNegRC=-DecompBigNum)
 Calculate the current LB and update best/history. More...
 
void initSetup ()
 Initial setup of algorithm structures and solver interfaces. More...
 
void getModelsFromApp ()
 Initial setup of algorithm structures and solver interfaces. More...
 
void createOsiSubProblem (DecompSubModel &subModel)
 Initial setup of algorithm structures and solver interfaces. More...
 
OsiSolverInterfacegetOsiLpSolverInterface ()
 Initial setup of algorithm structures and solver interfaces. More...
 
OsiSolverInterfacegetOsiIpSolverInterface ()
 Initial setup of algorithm structures and solver interfaces. More...
 
void coreMatrixAppendColBounds ()
 Calculate gap: |(ub-lb)|/|lb|. More...
 
void checkMasterDualObj ()
 Initial setup of algorithm structures and solver interfaces. More...
 
bool checkPointFeasible (const DecompConstraintSet *modelCore, const double *x)
 Initial setup of algorithm structures and solver interfaces. More...
 
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. More...
 
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. More...
 
void printBasisInfo (OsiSolverInterface *si, std::ostream *os)
 Initial setup of algorithm structures and solver interfaces. More...
 
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. More...
 
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. More...
 
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. More...
 
void printVars (std::ostream *os)
 Initial setup of algorithm structures and solver interfaces. More...
 
void printCuts (std::ostream *os)
 Initial setup of algorithm structures and solver interfaces. More...
 
void checkDuals ()
 Initial setup of algorithm structures and solver interfaces. More...
 
void checkReducedCost (const double *u, const double *u_adjusted)
 Initial setup of algorithm structures and solver interfaces. More...
 
void createFullMps (const std::string fileName)
 Initial setup of algorithm structures and solver interfaces. More...
 
virtual DecompSolverResultsolveDirect (const DecompSolution *startSol=NULL)
 Initial setup of algorithm structures and solver interfaces. More...
 
void masterMatrixAddMOCols (CoinPackedMatrix *masterM, double *colLB, double *colUB, double *objCoeff, std::vector< std::string > &colNames)
 Initial setup of algorithm structures and solver interfaces. More...
 
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. More...
 
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. More...
 
void masterPhaseItoII ()
 Initial setup of algorithm structures and solver interfaces. More...
 
void masterPhaseIItoI ()
 Initial setup of algorithm structures and solver interfaces. More...
 
bool isMasterColMasterOnly (const int index) const
 Initial setup of algorithm structures and solver interfaces. More...
 
bool isMasterColStructural (const int index) const
 Initial setup of algorithm structures and solver interfaces. More...
 
bool isMasterColArtificial (const int index) const
 Initial setup of algorithm structures and solver interfaces. More...
 
void breakOutPartial (const double *xHat, DecompVarList &newVars, const double intTol=1.0e-5)
 Initial setup of algorithm structures and solver interfaces. More...
 
void generateVarsAdjustDuals (const double *uOld, double *uNew)
 Create an adjusted dual vector with the duals from the convexity constraints removed. More...
 
void generateVarsCalcRedCost (const double *u, double *redCostX)
 Calculated reduced cost vector (over vars in compact space) for a given dual vector. More...
 
const double * getColLBNode () const
 Get a ptr to the current solution (in x-space). More...
 
const double * getColUBNode () const
 Get a ptr to the current solution (in x-space). More...
 
DecompStatsgetStats ()
 Get a ptr to the current solution (in x-space). More...
 
const double * getOrigObjective () const
 Get a ptr to the current solution (in x-space). More...
 
const DecompSubModelgetModelCore () const
 Get a ptr to the current solution (in x-space). More...
 
const int getAlgo () const
 Get a ptr to the current solution (in x-space). More...
 
const DecompParamgetParam () const
 Get a ptr to the current solution (in x-space). More...
 
DecompParamgetMutableParam ()
 Get a ptr to the current solution (in x-space). More...
 
OsiSolverInterfacegetMasterOSI ()
 Get a ptr to the current solution (in x-space). More...
 
DecompSubModelgetModelRelax (const int blockId)
 Get a ptr to the current solution (in x-space). More...
 
const double * getXhat () const
 Get a ptr to the current solution (in x-space). More...
 
void setCutoffUB (const double thisBound)
 Get a ptr to the current solution (in x-space). More...
 
const DecompSolutiongetXhatIPBest () const
 Get a ptr to the current solution (in x-space). More...
 
const std::vector
< DecompSolution * > & 
getXhatIPFeas () const
 Get a ptr to the current solution (in x-space). More...
 
const double getCutoffUB () const
 Get a ptr to the current solution (in x-space). More...
 
DecompStatsgetDecompStats ()
 Get a ptr to the current solution (in x-space). More...
 
const DecompParamgetDecompParam () const
 Get a ptr to the current solution (in x-space). More...
 
const DecompAppgetDecompApp () const
 Get a ptr to the current solution (in x-space). More...
 
DecompAppgetDecompAppMutable ()
 Get a ptr to the current solution (in x-space). More...
 
const int getNodeIndex () const
 Get a ptr to the current solution (in x-space). More...
 
const int getCutCallsTotal () const
 Get a ptr to the current solution (in x-space). More...
 
const int getPriceCallsTotal () const
 Get a ptr to the current solution (in x-space). More...
 
const double * getMasterPrimalSolution () const
 Get current primal solution for master problem. More...
 
const double * getMasterColReducedCost () const
 Get a ptr to the current solution (in x-space). More...
 
double getMasterObjValue () const
 Get a ptr to the current solution (in x-space). More...
 
const int getStopCriteria () const
 Get a ptr to the current solution (in x-space). More...
 
const double getGlobalGap () const
 Get the current global (integrality) gap. More...
 
const double getNodeIPGap () const
 Get the current node (integrality) gap. More...
 
const double getNodeLPGap () const
 Get the current node (continuous) gap. More...
 
const double getObjBestBoundLB () const
 Get the current best LB. More...
 
const void setStrongBranchIter (bool isStrongBranch=true)
 Set the object to be in strong branching mode. More...
 
const double getObjBestBoundUB () const
 Get the current best UB. More...
 
const double getMasterRowType (int row) const
 Get a specific row type. More...
 
bool isTailoffLB (const int changeLen=10, const double changePerLimit=0.1)
 Get a ptr to the current solution (in x-space). More...
 
int getNumRowType (DecompRowType rowType)
 Get a ptr to the current solution (in x-space). More...
 
void checkBlocksColumns ()
 Get a ptr to the current solution (in x-space). More...
 
 DecompAlgo (const DecompAlgoType algo, DecompApp *app, UtilParameters &utilParam, bool doSetup=true)
 Default constructors. More...
 
virtual ~DecompAlgo ()
 Destructor. More...
 

Additional Inherited Members

- Public Attributes inherited from DecompAlgo
DecompConstraintSetm_modelCore
 
DecompConstraintSetm_modelRelax
 
- Protected Attributes inherited from DecompAlgo
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
 
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
 
std::string m_classTag
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompParam m_param
 Parameters. More...
 
UtilParametersm_utilParam
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompAlgoType m_algo
 Type of algorithm for this instance. More...
 
DecompStatus m_status
 The current algorithm status. More...
 
double m_infinity
 The value of "infinity". More...
 
DecompPhase m_phase
 The current algorithm phase. More...
 
DecompPhase m_phaseLast
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompPhase m_phaseForce
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompAppm_app
 Pointer to current active DECOMP application. More...
 
DecompStats m_stats
 Storage of statistics for run and node. More...
 
DecompNodeStats m_nodeStats
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompMemPool m_memPool
 Memory pool used to reduce the number of allocations needed. More...
 
std::ostream * m_osLog
 Stream for log file (default to stdout). More...
 
DecompAlgoCGLm_cgl
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< double > m_origColLB
 Pointer (and label) to current active model core/relax. More...
 
std::vector< double > m_origColUB
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
OsiSolverInterfacem_masterSI
 Solver interface(s) for subproblems (P'). More...
 
OsiClpSolverInterfacem_cutgenSI
 Solver interface(s) for entire problem (Q''). More...
 
int m_cutgenObjCutInd
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
OsiSolverInterfacem_auxSI
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
const double * m_objective
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompSubModel m_modelCore
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::map< int, DecompSubModelm_modelRelax
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::map< int, std::vector
< DecompSubModel > > 
m_modelRelaxNest
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompVarList m_vars
 Containers for variables (current and pool). More...
 
DecompVarPool m_varpool
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompCutList m_cuts
 Containers for cuts (current and pool). More...
 
DecompCutPool m_cutpool
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double * m_xhat
 Storage for current solution (in x-space). More...
 
double m_cutoffUB
 User-defined cutoff (global UB) for B&B fathoming and LR. More...
 
std::vector< DecompSolution * > m_xhatIPFeas
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
DecompSolutionm_xhatIPBest
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< double > m_primSolution
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< double > m_dualSolution
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< double > m_reducedCost
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_numCols
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
bool m_isColGenExact
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_numConvexCon
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_rrLastBlock
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_rrIterSinceAll
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_nArtCols
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_nRowsOrig
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_nRowsBranch
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_nRowsConvex
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_nRowsCuts
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< DecompRowTypem_masterRowType
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< DecompColTypem_masterColType
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< int > m_masterArtCols
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double * m_colLBNode
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double * m_colUBNode
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_compressColsLastPrice
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_compressColsLastNumCols
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double m_relGap
 Current node gap (bestUB-bestLB)/bestLB. More...
 
DecompAlgoStop m_stopCriteria
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_colIndexUnique
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double m_masterObjLast
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
bool m_objNoChange
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double m_stabEpsilon
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
bool m_useInitLpDuals
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::map< int, int > m_artColIndToRowInd
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double m_globalLB
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
double m_globalUB
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< double > m_phaseIObj
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
int m_function
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
bool m_firstPhase2Call
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
bool m_isStrongBranch
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
const AlpsDecompTreeNodem_curNode
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::vector< int > m_masterOnlyCols
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
std::map< int, int > m_masterOnlyColsMap
 Map from original index to master index for master-only vars. More...
 
DecompBranchingImplementation m_branchingImplementation
 Store the name of the class (for logging/debugging) - "who am I?". More...
 
- Private Member Functions inherited from DippyAlgoMixin
 DippyAlgoMixin (UtilParameters &utilParam, PyObject *pProb)
 Constructor. More...
 
bool chooseBranchSet (DecompAlgo *algo, 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)
 
PyObject * getPDownLB ()
 
PyObject * getPDownUB ()
 
PyObject * getPUpLB ()
 
PyObject * getPpUpUB ()
 
void postProcessBranch (DecompAlgo *algo, DecompStatus decompStatus)
 
void postProcessNode (DecompAlgo *algo, DecompStatus decompStatus)
 
- Private Attributes inherited from DippyAlgoMixin
PyObject * m_pProb
 
UtilParametersm_utilParam
 

Detailed Description

Python-enabled DecompAlgoPC.

Definition at line 103 of file DippyDecompAlgo.h.

Constructor & Destructor Documentation

DippyAlgoPC::DippyAlgoPC ( DecompApp app,
UtilParameters utilParam,
PyObject *  pProb 
)
inline

Definition at line 105 of file DippyDecompAlgo.h.

Member Function Documentation

virtual bool DippyAlgoPC::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 
)
inlinevirtual

Reimplemented from DecompAlgo.

Definition at line 109 of file DippyDecompAlgo.h.

References DippyAlgoMixin::chooseBranchSet().

virtual void DippyAlgoPC::postProcessBranch ( DecompStatus  decompStatus)
inlinevirtual

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

Does nothing by default.

Reimplemented from DecompAlgo.

Definition at line 117 of file DippyDecompAlgo.h.

References DippyAlgoMixin::postProcessBranch().

virtual void DippyAlgoPC::postProcessNode ( DecompStatus  decompStatus)
inlinevirtual

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

Does nothing by default.

Reimplemented from DecompAlgo.

Definition at line 121 of file DippyDecompAlgo.h.

References DippyAlgoMixin::postProcessNode().


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