Dip  0.92.4
Private Attributes | List of all members
SDPUC_DecompApp Class Reference

#include <SDPUC_DecompApp.h>

Inheritance diagram for SDPUC_DecompApp:
Inheritance graph
[legend]
Collaboration diagram for SDPUC_DecompApp:
Collaboration graph
[legend]

Public Member Functions

Helper functions (public).
void initializeApp ()
 Initialize application. More...
 
void createModels ()
 Initialize application. More...
 
void createModelCore (DecompConstraintSet *model)
 Initialize application. More...
 
void createModelRelax (DecompConstraintSet *model, int commId)
 Initialize application. More...
 
void createModelRelaxSparse (DecompConstraintSet *model, int commId)
 Initialize application. More...
 
void createModelMasterOnlys (vector< int > &masterOnlyCols)
 Initialize application. More...
 
DecompSolution createInitialSolution ()
 Initialize application. More...
 
SDPUC_InstancegetInstance ()
 Initialize application. More...
 
double * getObjective ()
 Initialize application. More...
 
Constructor and Destructor
 SDPUC_DecompApp (UtilParameters &utilParam)
 Default constructor. More...
 
virtual ~SDPUC_DecompApp ()
 Default constructor. More...
 
- Public Member Functions inherited from DecompApp
void createModels ()
 Create model parts. More...
 
DecompConstraintSetcreateModelPart (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 CoinPackedMatrixgetMatrix ()
 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 printOriginalColumn (const int index, ostream *os=&cout) const
 
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...
 
DecompAlgogetDecompAlgo () 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...
 
SDPUC_Param m_appParam
 Application specific parameters. More...
 
SDPUC_Instance m_instance
 SDPUC problem instance data. More...
 
double * m_objective
 The model objective coefficients (original space). More...
 
vector< DecompConstraintSet * > m_models
 Model constraint systems. 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...
 
UtilParametersm_utilParam
 
const double * m_objective
 Model data: objective function. More...
 
DecompModel m_modelCore
 Model data: the core model (A'') More...
 
std::map< int, DecompModelm_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...
 
DecompAlgom_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 CoinPackedMatrixm_matrix
 Original constraint matrix for the instance. More...
 
DecompConstraintSetm_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
 

Detailed Description

Definition at line 38 of file SDPUC_DecompApp.h.

Constructor & Destructor Documentation

SDPUC_DecompApp::SDPUC_DecompApp ( UtilParameters utilParam)
inline

Default constructor.

Takes an instance of UtilParameters

Definition at line 82 of file SDPUC_DecompApp.h.

References SDPUC_Param::dumpSettings(), SDPUC_Param::getSettings(), initializeApp(), SDPUC_Param::LogLevel, and m_appParam.

virtual SDPUC_DecompApp::~SDPUC_DecompApp ( )
inlinevirtual

Default constructor.

Takes an instance of UtilParameters

Definition at line 97 of file SDPUC_DecompApp.h.

References m_models, m_objective, UTIL_DELARR, and UtilDeleteVectorPtr().

Member Function Documentation

void SDPUC_DecompApp::initializeApp ( )
virtual

Initialize application.

Reimplemented from DecompApp.

Referenced by SDPUC_DecompApp().

void SDPUC_DecompApp::createModels ( )

Initialize application.

void SDPUC_DecompApp::createModelCore ( DecompConstraintSet model)

Initialize application.

void SDPUC_DecompApp::createModelRelax ( DecompConstraintSet model,
int  commId 
)

Initialize application.

void SDPUC_DecompApp::createModelRelaxSparse ( DecompConstraintSet model,
int  commId 
)

Initialize application.

void SDPUC_DecompApp::createModelMasterOnlys ( vector< int > &  masterOnlyCols)

Initialize application.

DecompSolution SDPUC_DecompApp::createInitialSolution ( )

Initialize application.

SDPUC_Instance& SDPUC_DecompApp::getInstance ( )
inline

Initialize application.

Definition at line 74 of file SDPUC_DecompApp.h.

References m_instance.

double* SDPUC_DecompApp::getObjective ( )
inline

Initialize application.

Definition at line 76 of file SDPUC_DecompApp.h.

References m_objective.

Member Data Documentation

const string SDPUC_DecompApp::m_classTag
private

Class id tag (for log / debugging).

Definition at line 41 of file SDPUC_DecompApp.h.

SDPUC_Param SDPUC_DecompApp::m_appParam
private

Application specific parameters.

Definition at line 44 of file SDPUC_DecompApp.h.

Referenced by SDPUC_DecompApp().

SDPUC_Instance SDPUC_DecompApp::m_instance
private

SDPUC problem instance data.

Definition at line 47 of file SDPUC_DecompApp.h.

Referenced by getInstance().

double* SDPUC_DecompApp::m_objective
private

The model objective coefficients (original space).

Definition at line 50 of file SDPUC_DecompApp.h.

Referenced by getObjective(), and ~SDPUC_DecompApp().

vector<DecompConstraintSet*> SDPUC_DecompApp::m_models
private

Model constraint systems.

Definition at line 53 of file SDPUC_DecompApp.h.

Referenced by ~SDPUC_DecompApp().


The documentation for this class was generated from the following file: