15 #ifndef VRP_DECOMPAPP_INCLUDED
16 #define VRP_DECOMPAPP_INCLUDED
20 #include "DecompApp.h"
26 #define VRP_DECOMPAPP_USECONCORDE
27 #ifdef VRP_DECOMPAPP_USECONCORDE
60 #ifdef VRP_DECOMPAPP_USECONCORDE
76 const double * redCostX,
77 const double convexDual,
87 const double tolZero);
108 return i*numVertices + j;
111 int i = index / numVertices;
112 return make_pair(i, index % numVertices);
std::list< DecompCut * > DecompCutList
void createModelESPPCC(DecompConstraintSet *model)
void UtilDeleteVectorPtr(vector< T * > &vectorPtr, typename vector< T * >::iterator first, typename vector< T * >::iterator last)
virtual int generateCuts(const double *x, DecompCutList &newCuts)
Initialize the dual vector for PhaseII of PC.
void getSettings(UtilParameters &utilParam)
const int diGraphIndex(int i, int j, int numVertices)
DecompConstraintSet * m_modelESPPRC
virtual DecompSolverStatus solveRelaxed(const int whichBlock, const double *redCostX, const double convexDual, DecompVarList &varList)
Solve the relaxed problem.
void createModelTwoDegree(DecompConstraintSet *model)
virtual void printOriginalColumn(const int index, ostream *os) const
VRP_Param m_appParam
Application specific parameters.
VRP_Instance m_vrp
Storage of TSP instance.
const pair< int, int > diGraphBothEnds(int index, int numVertices)
virtual bool APPisUserFeasible(const double *x, const int n_cols, const double tolZero)
Method to determine if the solution (x) is feasible to the original model.
std::ostream * m_osLog
Log file.
const string m_classTag
Class id tag (for log / debugging).
void initializeApp()
Initialize applications.
vector< DecompConstraintSet * > m_models
The various model constraint systems used for different algos.
virtual ~VRP_DecompApp()
Default constructor.
VRP_Concorde m_concorde
Interface class for Concorde methods.
VRP_DecompApp(UtilParameters &utilParam)
Default constructor.
void dumpSettings(ostream *os=&cout)
std::list< DecompVar * > DecompVarList
double * m_objective
The model objective coefficients (original space).
The main application class.
VRP_CVRPsep m_cvrpSep
Interface class for CVRPSEP methods.
VRP_Boost m_boost
Interface class for Boost methods.