18 #ifndef DecompAlgoD_h_
19 #define DecompAlgoD_h_
79 std::vector<std::string>& colNames,
96 (*
m_osLog) <<
"New Global UB = "
162 std::string& paramSection,
std::list< DecompCut * > DecompCutList
DecompParam m_param
DIP is distributed under the Eclipse Public License as part of the //.
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.
DecompAlgoD(DecompApp *app, UtilParameters *utilParam, std::string ¶mSection, double *xhat, int numOrigCols)
Disable copy constructors.
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.
DecompAlgoD(DecompApp *app, UtilParameters *utilParam, double *xhat, int numOrigCols)
Default constructors.
int LimitRoundCutIters
0: print nothing 1: print the node objective history
const std::string DecompAlgoStr[5]
Sparse Matrix Base Class.
void initSetup(UtilParameters *utilParam, std::string §ionParam)
Initial setup of algorithm structures and solver interfaces.
double * m_xhatD
Store the name of the class (for logging/debugging) - "who am I?".
#define UTIL_MSG(param, level, x)
int LimitTotalPriceIters
0: print nothing 1: print the node objective history
std::pair< double, double > objBest
The global lower (.first) and upper (.second) bound.
DecompAlgoD(const DecompAlgoD &)
Disable copy constructors.
int SolveMasterAsIp
0: print nothing 1: print the node objective history
~DecompAlgoD()
Destructor.
Class for DECOMP algorithm Decomp.
DecompAlgoType m_algo
Type of algorithm for this instance.
DecompApp * m_app
Pointer to current active DECOMP application.
Class for DECOMP algorithm Price and Cut.
virtual void phaseUpdate(DecompPhase &phase, DecompStatus &status)
Create the master problem (all algorithms must define this function).
virtual DecompStatus processNode(const AlpsDecompTreeNode *node, const double globalLB=-DecompInf, const double globalUB=DecompInf)
The main DECOMP process loop for a node.
DecompNodeStats m_nodeStats
Store the name of the class (for logging/debugging) - "who am I?".
int LimitRoundPriceIters
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)
int LimitTotalCutIters
0: print nothing 1: print the node objective history
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).