1 #ifndef DIPPY_DECOMPALGO_INCLUDED 2 #define DIPPY_DECOMPALGO_INCLUDED 5 #include "DecompAlgoC.h" 6 #include "DecompAlgoPC.h" 7 #include "DecompAlgoRC.h" 8 #include "DecompAlgoD.h" 9 #include "DecompCutPool.h" 40 : pDownLB(NULL), pDownUB(NULL), pUpLB(NULL), pUpUB(NULL),
45 std::vector< std::pair<int, double> >& downBranchLB,
46 std::vector< std::pair<int, double> >& downBranchUB,
47 std::vector< std::pair<int, double> >& upBranchLB,
48 std::vector< std::pair<int, double> >& upBranchUB);
80 std::vector< std::pair<int, double> >& downBranchLB,
81 std::vector< std::pair<int, double> >& downBranchUB,
82 std::vector< std::pair<int, double> >& upBranchLB,
83 std::vector< std::pair<int, double> >& upBranchUB) {
85 upBranchLB, upBranchUB);
110 std::vector< std::pair<int, double> >& downBranchUB,
111 std::vector< std::pair<int, double> >& upBranchLB,
112 std::vector< std::pair<int, double> >& upBranchUB) {
114 upBranchLB, upBranchUB);
138 std::vector< std::pair<int, double> >& downBranchUB,
139 std::vector< std::pair<int, double> >& upBranchLB,
140 std::vector< std::pair<int, double> >& upBranchUB) {
142 upBranchLB, upBranchUB);
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)
void postProcessBranch(DecompAlgo *algo, DecompStatus decompStatus)
virtual void postProcessBranch(DecompStatus decompStatus)
Do some information sending after the current node has been branched.
virtual void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.
Mixin class for Dip Algorithms.
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)
DippyAlgoC(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)
Class for DECOMP algorithm Cutting Plane Method.
DippyAlgoMixin(UtilParameters &utilParam, PyObject *pProb)
Constructor.
virtual void postProcessBranch(DecompStatus decompStatus)
Do some information sending after the current node has been branched.
DippyAlgoPC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
UtilParameters * m_utilParam
DippyAlgoRC(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)
Python-enabled DecompAlgoC.
virtual void postProcessBranch(DecompStatus decompStatus)
Do some information sending after the current node has been branched.
void postProcessNode(DecompAlgo *algo, DecompStatus decompStatus)
Python-enabled DecompAlgoRC.
virtual void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.
The main application class.
Python-enabled DecompAlgoPC.
Base class for DECOMP algorithms.
Class for DECOMP algorithm Price and Cut.
virtual void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.