#include <MMKP_DecompApp.h>
Public Member Functions | |
virtual DecompSolverStatus | solveRelaxed (const int whichBlock, const double *redCostX, const double convexDual, DecompVarList &varList) |
Solve the relaxed problem. | |
virtual void | printOriginalColumn (const int index, ostream *os=&cout) const |
Print an original column (format for this app). | |
Helper functions (public). | |
void | initializeApp (UtilParameters &utilParam) |
Initialize application. | |
void | createModels () |
Initialize application. | |
void | createModelPartMCP (DecompConstraintSet *model) |
Initialize application. | |
void | createModelPartMCKP (DecompConstraintSet *model, int whichKnap=0) |
Initialize application. | |
void | createModelPartMC2KP (DecompConstraintSet *model, int whichKnap1, int whichKnap2) |
Initialize application. | |
void | createModelPartMCKP (DecompConstraintSet *model, vector< int > &whichKnaps) |
Initialize application. | |
void | createModelPartMMKPHalf (DecompConstraintSet *model) |
Initialize application. | |
void | createModelPartMMKP (DecompConstraintSet *model) |
Initialize application. | |
void | createModelPartMDKPCompl (DecompConstraintSet *model, int whichKnap=0) |
Initialize application. | |
void | createModelPartMDKP (DecompConstraintSet *model) |
Initialize application. | |
void | createModelPartMDKPHalf (DecompConstraintSet *model) |
Initialize application. | |
void | createModelPartMDKP (DecompConstraintSet *model, vector< int > &whichKnaps) |
Initialize application. | |
Constructor and Destructor | |
MMKP_DecompApp (UtilParameters &utilParam) | |
Default constructor. | |
virtual | ~MMKP_DecompApp () |
Default constructor. | |
Private Attributes | |
const string | m_classTag |
Class id tag (for log / debugging). | |
MMKP_Param | m_appParam |
Application specific parameters. | |
MMKP_Instance | m_instance |
MMKP problem instance data. | |
vector< MMKP_MCKnap * > | m_mcknap |
MMKP_MCKnap object for each knapsack row. | |
double * | m_objective |
The model objective coefficients (original space). | |
vector< DecompConstraintSet * > | m_models |
The various model constraint systems used for different algos. | |
MMKP_MemPool | m_auxMemPool |
Auxiliary memory storage. |
A DecompApp for solving the Multi-Dimensional Mulit-Choice Knapsack Problem (MMKP).
Definition at line 38 of file MMKP_DecompApp.h.
MMKP_DecompApp::MMKP_DecompApp | ( | UtilParameters & | utilParam | ) | [inline] |
Default constructor.
Takes an instance of UtilParameters
Definition at line 107 of file MMKP_DecompApp.h.
References initializeApp().
virtual MMKP_DecompApp::~MMKP_DecompApp | ( | ) | [inline, virtual] |
Default constructor.
Takes an instance of UtilParameters
Definition at line 117 of file MMKP_DecompApp.h.
References m_mcknap, m_models, m_objective, UTIL_DELARR, and UtilDeleteVectorPtr().
virtual DecompSolverStatus MMKP_DecompApp::solveRelaxed | ( | const int | whichBlock, | |
const double * | redCostX, | |||
const double | convexDual, | |||
DecompVarList & | varList | |||
) | [virtual] |
Solve the relaxed problem.
Reimplemented from DecompApp.
virtual void MMKP_DecompApp::printOriginalColumn | ( | const int | index, | |
ostream * | os = &cout | |||
) | const [virtual] |
Print an original column (format for this app).
Reimplemented from DecompApp.
void MMKP_DecompApp::initializeApp | ( | UtilParameters & | utilParam | ) | [virtual] |
void MMKP_DecompApp::createModels | ( | ) |
Initialize application.
Reimplemented from DecompApp.
void MMKP_DecompApp::createModelPartMCP | ( | DecompConstraintSet * | model | ) |
Initialize application.
void MMKP_DecompApp::createModelPartMCKP | ( | DecompConstraintSet * | model, | |
int | whichKnap = 0 | |||
) |
Initialize application.
void MMKP_DecompApp::createModelPartMC2KP | ( | DecompConstraintSet * | model, | |
int | whichKnap1, | |||
int | whichKnap2 | |||
) |
Initialize application.
void MMKP_DecompApp::createModelPartMCKP | ( | DecompConstraintSet * | model, | |
vector< int > & | whichKnaps | |||
) |
Initialize application.
void MMKP_DecompApp::createModelPartMMKPHalf | ( | DecompConstraintSet * | model | ) |
Initialize application.
void MMKP_DecompApp::createModelPartMMKP | ( | DecompConstraintSet * | model | ) |
Initialize application.
void MMKP_DecompApp::createModelPartMDKPCompl | ( | DecompConstraintSet * | model, | |
int | whichKnap = 0 | |||
) |
Initialize application.
void MMKP_DecompApp::createModelPartMDKP | ( | DecompConstraintSet * | model | ) |
Initialize application.
void MMKP_DecompApp::createModelPartMDKPHalf | ( | DecompConstraintSet * | model | ) |
Initialize application.
void MMKP_DecompApp::createModelPartMDKP | ( | DecompConstraintSet * | model, | |
vector< int > & | whichKnaps | |||
) |
Initialize application.
const string MMKP_DecompApp::m_classTag [private] |
Class id tag (for log / debugging).
Reimplemented from DecompApp.
Definition at line 41 of file MMKP_DecompApp.h.
MMKP_Param MMKP_DecompApp::m_appParam [private] |
Application specific parameters.
Definition at line 44 of file MMKP_DecompApp.h.
MMKP_Instance MMKP_DecompApp::m_instance [private] |
MMKP problem instance data.
Definition at line 47 of file MMKP_DecompApp.h.
vector<MMKP_MCKnap*> MMKP_DecompApp::m_mcknap [private] |
MMKP_MCKnap object for each knapsack row.
Definition at line 50 of file MMKP_DecompApp.h.
Referenced by ~MMKP_DecompApp().
double* MMKP_DecompApp::m_objective [private] |
The model objective coefficients (original space).
Reimplemented from DecompApp.
Definition at line 53 of file MMKP_DecompApp.h.
Referenced by ~MMKP_DecompApp().
vector<DecompConstraintSet*> MMKP_DecompApp::m_models [private] |
The various model constraint systems used for different algos.
Definition at line 56 of file MMKP_DecompApp.h.
Referenced by ~MMKP_DecompApp().
MMKP_MemPool MMKP_DecompApp::m_auxMemPool [private] |
Auxiliary memory storage.
Definition at line 59 of file MMKP_DecompApp.h.