15 #ifndef TSP_DECOMPAPP_INCLUDED
16 #define TSP_DECOMPAPP_INCLUDED
20 #include "DecompApp.h"
57 const double * redCostX,
58 const double convexDual,
66 const double tolZero);
90 vector< pair<int,double> > & edge_cost,
void initializeApp()
Guts of constructor.
std::list< DecompCut * > DecompCutList
void createModel2Match(DecompConstraintSet *modelCS)
Create the two-matching constraints.
void UtilDeleteVectorPtr(vector< T * > &vectorPtr, typename vector< T * >::iterator first, typename vector< T * >::iterator last)
void getSettings(UtilParameters &utilParam)
int generateCutsSubtour(DecompCutList &newCuts)
Guts of constructor.
adjacency_list< vecS, vecS, undirectedS, no_property, edge_prop > Graph
void dumpSettings(ostream *os=&cout)
virtual int generateCuts(const double *x, DecompCutList &newCuts)
Initialize the dual vector for PhaseII of PC.
vector< DecompConstraintSet * > m_models
The various model constraint systems used for different algos.
void createModelTrivialSEC(DecompConstraintSet *modelCS)
Create trivial subtour elimination constraints.
const string m_classTag
Class id tag (for log / debugging).
void solveOneTree(const double *cost, const double alpha, vector< pair< int, double > > &edge_cost, DecompVarList &vars, Graph &g)
Guts of constructor.
TSP_DecompApp(UtilParameters &utilParam)
Default constructor.
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.
void createModels()
Create models.
virtual void printOriginalColumn(const int index, ostream *os) const
TSP_Instance m_tsp
Storage of TSP instance.
double * m_objective
The model objective coefficients (original space).
TSP_Param m_appParam
Application specific parameters.
virtual ~TSP_DecompApp()
Default constructor.
std::list< DecompVar * > DecompVarList
virtual DecompSolverStatus solveRelaxed(const int whichBlock, const double *redCostX, const double convexDual, DecompVarList &varList)
Solve the relaxed problem.
The main application class.