|
Dip
0.92.4
|
#include <GAP_DecompApp.h>


Public Member Functions | |
| DecompSolverStatus | solveRelaxed (const int whichBlock, const double *redCostX, const double target, list< DecompVar * > &vars) |
| Solve the relaxed problem. More... | |
| void | printOriginalColumn (const int index, ostream *os=&cout) const |
| Print an original column (format for this app). More... | |
| void | printOriginalColumn (const int index, ostream *os=&cout) const |
| Print an original column (format for this app). More... | |
Helper functions (public). | |
| void | initializeApp () |
| Guts of constructor. More... | |
| const int | getOffsetI (const int i) const |
| TODO comment. More... | |
| const int | getIndexIJ (const int i, const int j) const |
| Guts of constructor. More... | |
| pair< int, int > | getIndexInv (const int index) const |
| Guts of constructor. More... | |
| int | createModels () |
| TODO comment. More... | |
| int | createModelPartAP (DecompConstraintSet *model) |
| Guts of constructor. More... | |
| const GAP_Instance & | getInstance () const |
| Guts of constructor. More... | |
| const GAP_DecompParam & | getParam () const |
| Guts of constructor. More... | |
| const double * | getObjective () const |
| Guts of constructor. More... | |
| DecompConstraintSet * | getModel (string modelName) const |
| Guts of constructor. More... | |
| void | initializeApp (UtilParameters &utilParam) |
| Guts of constructor. More... | |
| const int | getOffsetI (const int i) const |
| Helper methods for indexing. More... | |
| const int | getIndexIJ (const int i, const int j) const |
| Guts of constructor. More... | |
| pair< int, int > | getIndexInv (const int index) const |
| Guts of constructor. More... | |
| int | createModels () |
| Creation of the various model constraint systems. More... | |
| int | createModelPartAP (DecompConstraintSet *model) |
| Guts of constructor. More... | |
| int | createModelPartKP (DecompConstraintSet *model) |
| Guts of constructor. More... | |
| int | createModelPartKP (DecompConstraintSet *model, int whichKnap) |
| Guts of constructor. More... | |
| int | createModelPartKP (DecompConstraintSet *model, vector< int > &whichKnaps) |
| Guts of constructor. More... | |
| const GAP_Instance & | getInstance () const |
| Some access methods to private data. More... | |
| const GAP_DecompParam & | getParam () const |
| Guts of constructor. More... | |
| const double * | getObjective () const |
| Guts of constructor. More... | |
Constructor and Destructor | |
| GAP_DecompApp (UtilParameters &utilParam) | |
| Default constructor. More... | |
| virtual | ~GAP_DecompApp () |
| Default constructor. More... | |
| GAP_DecompApp (UtilParameters &utilParam) | |
| Default constructor. More... | |
| virtual | ~GAP_DecompApp () |
| Default constructor. More... | |
Public Member Functions inherited from DecompApp | |
| void | createModels () |
| Create model parts. More... | |
| DecompConstraintSet * | createModelPart (const int nRowsPart, const int *rowsPart) |
| void | createModelPart (DecompConstraintSet *model, const int nRowsPart, const int *rowsPart) |
| void | createModelPartSparse (DecompConstraintSet *model, const int nRowsPart, const int *rowsPart) |
| void | readInitSolutionFile (DecompVarList &initVars) |
| void | readBlockFile () |
| Read block file. More... | |
| void | readProblem () |
| Read Problem. More... | |
| void | singlyBorderStructureDetection () |
| Automatically detect singly bordered structure. More... | |
| void | findActiveColumns (const std::vector< int > &rowsPart, std::set< int > &activeColsSet) |
| Find the active columns for some block. More... | |
| const std::string | getInstanceName () |
| Get Intance name. More... | |
| const CoinPackedMatrix * | getMatrix () |
| Get constraint matrix for analysis. More... | |
| void | setInfinity () |
| Set the value of infinity. More... | |
| DecompApp (UtilParameters &utilParam) | |
| Constructor for base DecompApp class. More... | |
| virtual | ~DecompApp () |
| Destructor. More... | |
| void | startupLog () |
| Initialize the DecompApp data. More... | |
| int | createModel () |
| virtual void | APPcreateModel (double *&objCoeff, map< int, DecompConstraintSet * > &modelCore, map< int, DecompConstraintSet * > &modelRelax)=0 |
| virtual bool | APPisUserFeasible (const double *x, const int n_cols, const double tolZero) |
| virtual int | APPheuristics (const double *xhat, vector< DecompSolution * > &xhatIPFeas) |
| virtual int | generateInitVars (DecompVarList &initVars, int whichModel) |
| virtual int | generateCuts (const double *x, const DecompConstraintSet &modelCore, const DecompConstraintSet &modelRelax, DecompCutList &newCuts) |
| virtual decompStat | APPsolveRelaxed (const int whichModel, const double *redCostX, const double *origCost, const double alpha, const int n_origCols, const bool checkRC, const bool checkDup, OsiSolverInterface *m_subprobSI, list< DecompVar * > &vars) |
| virtual void | printOriginalSolution (const int n_cols, const double *solution, ostream *os=&cout) const |
| DecompApp (UtilParameters &utilParam) | |
| virtual | ~DecompApp () |
| void | preprocess () |
| Preprocess (standard ): on the TODO list. More... | |
| void | startupLog () |
| Print startup message to log. More... | |
| int | createModel () |
| Preprocess (standard ): on the TODO list. More... | |
| const double | getBestKnownLB () const |
| Preprocess (standard ): on the TODO list. More... | |
| const double | getBestKnownUB () const |
| Preprocess (standard ): on the TODO list. More... | |
| void | setBestKnownLB (const double bestKnownLB) |
| Preprocess (standard ): on the TODO list. More... | |
| void | setBestKnownUB (const double bestKnownUB) |
| Preprocess (standard ): on the TODO list. More... | |
| void | setModelObjective (const double *objective, const int length) |
| Set the model objective function. More... | |
| void | setModelCore (DecompConstraintSet *model, const std::string modelName) |
| Set the model core constraint matrix. More... | |
| void | setModelRelax (DecompConstraintSet *model, const std::string modelName="", const int blockId=0) |
| Set the model relaxed constraint matrix (for a particular block). More... | |
| void | setModelRelaxNest (DecompConstraintSet *model, const std::string modelName, const int blockId=0) |
| Set the model relaxed (nested) constraint matrix (for a particular block). More... | |
| DecompAlgo * | getDecompAlgo () const |
| Get a pointer to the base algorithm class. More... | |
| virtual void | initDualVector (std::vector< double > &dualVector) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual bool | APPisUserFeasible (const double *x, const int numCols, const double tolZero) |
| Method to determine if the solution (x) is feasible to the original model. More... | |
| virtual int | APPheuristics (const double *xhat, const double *origCost, std::vector< DecompSolution * > &xhatIPFeas) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual const double * | getDualForGenerateVars (const double *dual) |
| This function allows the user to return their own dual vector to be used in the generation of new variables (in the reduced-cost calculation). More... | |
| virtual int | generateInitVars (DecompVarList &initVars) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual int | generateCuts (const double *x, DecompCutList &newCuts) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual void | solveRelaxedWhich (std::vector< int > &blocksToSolve, std::map< int, std::vector< double > > &userDualsByBlock) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual DecompSolverStatus | solveRelaxed (const int whichBlock, const double *redCostX, const double target, DecompVarList &varList) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual DecompSolverStatus | solveRelaxedNest (const int whichBlock, const double *redCostX, const double target, DecompVarList &varList) |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual void | printOriginalColumn (const int index, std::ostream *os=&std::cout) const |
| Initialize the dual vector for PhaseII of PC. More... | |
| virtual void | printOriginalSolution (const int n_cols, const std::vector< std::string > &colNames, const double *solution, std::ostream *os=&std::cout) const |
| Initialize the dual vector for PhaseII of PC. More... | |
Private Attributes | |
| const string | m_classTag |
| Class id tag (for log / debugging). More... | |
| GAP_Instance | m_instance |
| GAP problem instance data. More... | |
| GAP_DecompParam | m_appParam |
| Application specific parameters. More... | |
| vector< GAP_KnapPisinger * > | m_knap |
| GAP_Knapsack object for each knapsack row. More... | |
| double * | m_objective |
| The model objective coefficients (original space). More... | |
| map< string, DecompConstraintSet * > | m_models |
| The various model constraint systems used for different algorithms, keyed by a unique string (model name). More... | |
| vector< DecompConstraintSet * > | m_models |
| Store pointers to the various model constraint systems, so their memory can be deleted. More... | |
Additional Inherited Members | |
Public Attributes inherited from DecompApp | |
| int | NumBlocks |
| Number of Blocks defalut value 0 set by BlockNumInput parameter. More... | |
| DecompParam | m_param |
| Parameters. More... | |
| UtilParameters * | m_utilParam |
| const double * | m_objective |
| Model data: objective function. More... | |
| DecompModel | m_modelCore |
| Model data: the core model (A'') More... | |
| std::map< int, DecompModel > | m_modelRelax |
| Model data: the relaxed model(s) (A') More... | |
| std::map< int, std::vector < DecompModel > > | m_modelRelaxNest |
| Model data: the relaxed (nested) model(s) (A') More... | |
| DecompAlgo * | m_decompAlgo |
| Pointer to the base algorithmic object. More... | |
| CoinMpsIO | m_mpsIO |
| MPS object for reading instances. More... | |
| CoinLpIO | m_lpIO |
| LP object for reading instances. More... | |
| const CoinPackedMatrix * | m_matrix |
| Original constraint matrix for the instance. More... | |
| DecompConstraintSet * | m_modelC |
| The model constraint systems used for different algos. More... | |
| std::map< int, DecompConstraintSet * > | m_modelR |
| std::map< int, std::vector< int > > | m_blocks |
| Definition of blocks (by rows) More... | |
| int | m_threadIndex |
| serves as an index to track different DecompApp object during Concurrent process, where when m_threadIndex is 0, problem is solved by cutting plance from standalone solver, when it is greater than 0, it is solved by branch-and-price, More... | |
| double | m_infinity |
| The value of infinity. More... | |
| DecompModel | m_model |
| map< int, DecompConstraintSet * > | m_modelCore |
| map< int, DecompConstraintSet * > | m_modelRelax |
Protected Attributes inherited from DecompApp | |
| std::ostream * | m_osLog |
| Log file. More... | |
| double | m_bestKnownLB |
| The best known LB/UB for this application (if known, for debugging). More... | |
| double | m_bestKnownUB |
| ostream * | m_osLog |
A DecompApp for solving the Generalized Assignment Problem (GAP).
Definition at line 38 of file GAP_DecompApp.h.
|
inline |
Default constructor.
Takes an instance of UtilParameters
Definition at line 125 of file GAP_DecompApp.h.
References GAP_DecompParam::dumpSettings(), GAP_DecompParam::getSettings(), initializeApp(), GAP_DecompParam::LogLevel, and m_appParam.
|
inlinevirtual |
Default constructor.
Takes an instance of UtilParameters
Definition at line 139 of file GAP_DecompApp.h.
References m_knap, m_models, UtilDeleteMapPtr(), and UtilDeleteVectorPtr().
|
inline |
Default constructor.
Takes an instance of UtilParameters
Definition at line 117 of file GAP_DecompApp3.h.
References initializeApp().
|
inlinevirtual |
Default constructor.
Takes an instance of UtilParameters
Definition at line 124 of file GAP_DecompApp3.h.
References m_models, m_objective, UTIL_DELARR, and UtilDeleteVectorPtr().
| DecompSolverStatus GAP_DecompApp::solveRelaxed | ( | const int | whichBlock, |
| const double * | redCostX, | ||
| const double | target, | ||
| list< DecompVar * > & | vars | ||
| ) |
Solve the relaxed problem.
|
virtual |
Print an original column (format for this app).
Reimplemented from DecompApp.
|
virtual |
|
inline |
TODO comment.
Definition at line 79 of file GAP_DecompApp.h.
References GAP_Instance::getNTasks(), and m_instance.
|
inline |
Guts of constructor.
Definition at line 82 of file GAP_DecompApp.h.
References GAP_Instance::getNTasks(), and m_instance.
|
inline |
Guts of constructor.
Definition at line 87 of file GAP_DecompApp.h.
References GAP_Instance::getNTasks(), and m_instance.
| int GAP_DecompApp::createModels | ( | ) |
TODO comment.
| int GAP_DecompApp::createModelPartAP | ( | DecompConstraintSet * | model | ) |
Guts of constructor.
|
inline |
|
inline |
|
inline |
|
inline |
|
virtual |
Print an original column (format for this app).
Reimplemented from DecompApp.
| void GAP_DecompApp::initializeApp | ( | UtilParameters & | utilParam | ) |
Guts of constructor.
|
inline |
Helper methods for indexing.
Definition at line 79 of file GAP_DecompApp3.h.
References GAP_Instance::getNTasks(), and m_instance.
|
inline |
Guts of constructor.
Definition at line 82 of file GAP_DecompApp3.h.
References GAP_Instance::getNTasks(), and m_instance.
|
inline |
Guts of constructor.
Definition at line 87 of file GAP_DecompApp3.h.
References GAP_Instance::getNTasks(), and m_instance.
| int GAP_DecompApp::createModels | ( | ) |
Creation of the various model constraint systems.
| int GAP_DecompApp::createModelPartAP | ( | DecompConstraintSet * | model | ) |
Guts of constructor.
| int GAP_DecompApp::createModelPartKP | ( | DecompConstraintSet * | model | ) |
Guts of constructor.
| int GAP_DecompApp::createModelPartKP | ( | DecompConstraintSet * | model, |
| int | whichKnap | ||
| ) |
Guts of constructor.
| int GAP_DecompApp::createModelPartKP | ( | DecompConstraintSet * | model, |
| vector< int > & | whichKnaps | ||
| ) |
Guts of constructor.
|
inline |
Some access methods to private data.
Definition at line 103 of file GAP_DecompApp3.h.
References m_instance.
|
inline |
|
inline |
|
private |
Class id tag (for log / debugging).
Definition at line 41 of file GAP_DecompApp.h.
|
private |
GAP problem instance data.
Definition at line 44 of file GAP_DecompApp.h.
Referenced by getIndexIJ(), getIndexInv(), getInstance(), and getOffsetI().
|
private |
Application specific parameters.
Definition at line 47 of file GAP_DecompApp.h.
Referenced by GAP_DecompApp(), and getParam().
|
private |
GAP_Knapsack object for each knapsack row.
Definition at line 50 of file GAP_DecompApp.h.
Referenced by ~GAP_DecompApp().
|
private |
The model objective coefficients (original space).
Definition at line 53 of file GAP_DecompApp.h.
Referenced by getObjective(), and ~GAP_DecompApp().
|
private |
The various model constraint systems used for different algorithms, keyed by a unique string (model name).
Definition at line 57 of file GAP_DecompApp.h.
Referenced by getModel(), and ~GAP_DecompApp().
|
private |
Store pointers to the various model constraint systems, so their memory can be deleted.
Definition at line 63 of file GAP_DecompApp3.h.
1.8.5