1#ifndef DIPPY_DECOMPALGO_INCLUDED
2#define DIPPY_DECOMPALGO_INCLUDED
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);
134 :
DippyAlgoMixin(utilParam, pProb), DecompAlgoRC(app, utilParam) {
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);
DecompAlgoPC(DecompApp *app, UtilParameters &utilParam, bool doSetup=true, const DecompAlgoType algo=PRICE_AND_CUT)
Default constructors.
Base class for DECOMP algorithms.
The main application class.
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.
virtual void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.
DippyAlgoC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
void postProcessBranch(DecompAlgo *algo, DecompStatus decompStatus)
UtilParameters * m_utilParam
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)
void postProcessNode(DecompAlgo *algo, DecompStatus decompStatus)
DippyAlgoMixin(UtilParameters &utilParam, PyObject *pProb)
Constructor.
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 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)
DippyAlgoPC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
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.
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)
DippyAlgoRC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)