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"
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 void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.
DippyAlgoC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
Mixin class for Dip Algorithms.
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.
DippyAlgoMixin(UtilParameters &utilParam, PyObject *pProb)
Constructor.
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)
virtual void postProcessBranch(DecompStatus decompStatus)
Do some information sending after the current node has been branched.
virtual void postProcessBranch(DecompStatus decompStatus)
Do some information sending after the current node has been branched.
Python-enabled DecompAlgoC.
void postProcessNode(DecompAlgo *algo, DecompStatus decompStatus)
Class for DECOMP algorithm Cutting Plane Method.
DippyAlgoPC(DecompApp *app, UtilParameters &utilParam, PyObject *pProb)
void postProcessBranch(DecompAlgo *algo, DecompStatus decompStatus)
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 DecompAlgoRC.
Python-enabled DecompAlgoPC.
virtual void postProcessNode(DecompStatus decompStatus)
Do some information sending after the current node has been processed.
Class for DECOMP algorithm Price and Cut.
UtilParameters * m_utilParam
Base class for DECOMP algorithms.
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)
The main application class.
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)