17 #ifndef DecompAlgoD_h_
18 #define DecompAlgoD_h_
78 std::vector<std::string>& colNames,
95 (*
m_osLog) <<
"New Global UB = "
std::list< DecompCut * > DecompCutList
virtual DecompStatus processNode(const AlpsDecompTreeNode *node, const double globalLB, const double globalUB)
The main DECOMP process loop for a node.
int RoundCutItersLimit
0: print nothing 1: print the node objective history
DecompAlgoD(DecompApp *app, UtilParameters &utilParam, double *xhat, int numOrigCols)
Default constructors.
DecompParam m_param
Parameters.
std::string UtilDblToStr(const double x, const int precision=-1, const double tooBig=UtilSmallerThanTooBig)
virtual void setObjBoundIP(const double thisBound)
Set the current integer bound and update best/history.
DecompCutList * m_newCuts
Store the name of the class (for logging/debugging) - "who am I?".
int LogDebugLevel
0: print nothing 1: print the node objective history
DecompAlgoD & operator=(const DecompAlgoD &)
Disable copy constructors.
Sparse Matrix Base Class.
int TotalPriceItersLimit
0: print nothing 1: print the node objective history
double * m_xhatD
Store the name of the class (for logging/debugging) - "who am I?".
#define UTIL_MSG(param, level, x)
int SolveMasterAsMip
0: print nothing 1: print the node objective history
double m_infinity
The value of "infinity".
std::pair< double, double > objBest
The global lower (.first) and upper (.second) bound.
DecompAlgoD(const DecompAlgoD &)
Disable copy constructors.
~DecompAlgoD()
Destructor.
int TotalCutItersLimit
0: print nothing 1: print the node objective history
Class for DECOMP algorithm Decomp.
DecompApp * m_app
Pointer to current active DECOMP application.
int RoundPriceItersLimit
0: print nothing 1: print the node objective history
Class for DECOMP algorithm Price and Cut.
virtual void phaseUpdate(DecompPhase &phase, DecompStatus &status)
Create the master problem (all algorithms must define this function).
DecompNodeStats m_nodeStats
Store the name of the class (for logging/debugging) - "who am I?".
int CutCglGomory
0: print nothing 1: print the node objective history
int m_numOrigCols
Store the name of the class (for logging/debugging) - "who am I?".
virtual void phaseDone()
Create the master problem (all algorithms must define this function).
virtual void createMasterProblem(DecompVarList &initVars)
Create the master problem (all algorithms must define this function).
void UtilPrintFuncBegin(std::ostream *os, const std::string &classTag, const std::string &funcName, const int logLevel, const int logLimit)
DecompParam m_param
Parameters.
void solveD(DecompCutList *newCuts)
Create the master problem (all algorithms must define this function).
void UtilPrintFuncEnd(std::ostream *os, const std::string &classTag, const std::string &funcName, const int logLevel, const int logLimit)
std::string m_classTag
Store the name of the class (for logging/debugging) - "who am I?".
std::ostream * m_osLog
Stream for log file (default to stdout).
std::list< DecompVar * > DecompVarList
The main application class.
virtual void masterMatrixAddArtCols(CoinPackedMatrix *masterM, double *colLB, double *colUB, double *objCoeff, std::vector< std::string > &colNames, int startRow, int endRow, char origOrBranch)
Create the master problem (all algorithms must define this function).