| 
    Osi
    0.108.6
    
   | 
 
#include <CoinStructuredModel.hpp>
 Inheritance diagram for CoinStructuredModel:
 Collaboration diagram for CoinStructuredModel:Public Member Functions | |
Useful methods for building model  | |
| int | addBlock (const std::string &rowBlock, const std::string &columnBlock, const CoinBaseModel &block) | 
| add a block from a CoinModel using names given as parameters returns number of errors (e.g.  More... | |
| int | addBlock (const CoinBaseModel &block) | 
| add a block from a CoinModel with names in model returns number of errors (e.g.  More... | |
| int | addBlock (const std::string &rowBlock, const std::string &columnBlock, CoinBaseModel *block) | 
| add a block from a CoinModel using names given as parameters returns number of errors (e.g.  More... | |
| int | addBlock (const std::string &rowBlock, const std::string &columnBlock, const CoinPackedMatrix &matrix, const double *rowLower, const double *rowUpper, const double *columnLower, const double *columnUpper, const double *objective) | 
| add a block using names  More... | |
| int | writeMps (const char *filename, int compression=0, int formatType=0, int numberAcross=2, bool keepStrings=false) | 
| Write the problem in MPS format to a file with the given filename.  More... | |
| int | readSmps (const char *filename, bool keepNames=false, bool ignoreErrors=false) | 
| Read SMPS model.  More... | |
| int | decompose (const CoinModel &model, int type, int maxBlocks=50, const char **starts=NULL) | 
| Decompose a CoinModel 1 - try D-W 2 - try Benders 3 - try Staircase Returns number of blocks or zero if no structure.  More... | |
| int | decompose (const CoinPackedMatrix &matrix, const double *rowLower, const double *rowUpper, const double *columnLower, const double *columnUpper, const double *objective, int type, int maxBlocks=50, int *starts=NULL, double objectiveOffset=0.0) | 
| Decompose a model specified as arrays + CoinPackedMatrix 1 - try D-W 2 - try Benders 3 - try Staircase Returns number of blocks or zero if no structure.  More... | |
For getting information  | |
| int | numberRowBlocks () const | 
| Return number of row blocks.  More... | |
| int | numberColumnBlocks () const | 
| Return number of column blocks.  More... | |
| int | numberElementBlocks () const | 
| Return number of elementBlocks.  More... | |
| CoinBigIndex | numberElements () const | 
| Return number of elements.  More... | |
| const std::string & | getRowBlock (int i) const | 
| Return the i'th row block name.  More... | |
| void | setRowBlock (int i, const std::string &name) | 
| Set i'th row block name.  More... | |
| int | addRowBlock (int numberRows, const std::string &name) | 
| Add or check a row block name and number of rows.  More... | |
| int | rowBlock (const std::string &name) const | 
| Return a row block index given a row block name.  More... | |
| const std::string & | getColumnBlock (int i) const | 
| Return i'th the column block name.  More... | |
| void | setColumnBlock (int i, const std::string &name) | 
| Set i'th column block name.  More... | |
| int | addColumnBlock (int numberColumns, const std::string &name) | 
| Add or check a column block name and number of columns.  More... | |
| int | columnBlock (const std::string &name) const | 
| Return a column block index given a column block name.  More... | |
| const CoinModelBlockInfo & | blockType (int i) const | 
| Return i'th block type.  More... | |
| CoinBaseModel * | block (int i) const | 
| Return i'th block.  More... | |
| const CoinBaseModel * | block (int row, int column) const | 
| Return block corresponding to row and column.  More... | |
| CoinModel * | coinBlock (int i) const | 
| Return i'th block as CoinModel (or NULL)  More... | |
| const CoinBaseModel * | coinBlock (int row, int column) const | 
| Return block corresponding to row and column as CoinModel.  More... | |
| int | blockIndex (int row, int column) const | 
| Return block number corresponding to row and column.  More... | |
| CoinModel * | coinModelBlock (CoinModelBlockInfo &info) | 
| Return model as a CoinModel block and fill in info structure and update counts.  More... | |
| void | setCoinModel (CoinModel *block, int iBlock) | 
| Sets given block into coinModelBlocks_.  More... | |
| void | refresh (int iBlock) | 
| Refresh info in blockType_.  More... | |
| CoinModelBlockInfo | block (int row, int column, const double *&rowLower, const double *&rowUpper, const double *&columnLower, const double *&columnUpper, const double *&objective) const | 
| Fill pointers corresponding to row and column.  More... | |
| double | optimizationDirection () const | 
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.  More... | |
| void | setOptimizationDirection (double value) | 
| Set direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.  More... | |
Constructors, destructor  | |
| CoinStructuredModel () | |
| Default constructor.  More... | |
| CoinStructuredModel (const char *fileName, int decompose=0, int maxBlocks=50) | |
| Read a problem in MPS format from the given filename.  More... | |
| virtual | ~CoinStructuredModel () | 
| Destructor.  More... | |
Copy method  | |
| CoinStructuredModel (const CoinStructuredModel &) | |
| The copy constructor.  More... | |
| CoinStructuredModel & | operator= (const CoinStructuredModel &) | 
| =  More... | |
| virtual CoinBaseModel * | clone () const | 
| Clone.  More... | |
  Public Member Functions inherited from CoinBaseModel | |
| CoinBaseModel () | |
| Default Constructor.  More... | |
| CoinBaseModel (const CoinBaseModel &rhs) | |
| Copy constructor.  More... | |
| CoinBaseModel & | operator= (const CoinBaseModel &rhs) | 
| Assignment operator.  More... | |
| virtual | ~CoinBaseModel () | 
| Destructor.  More... | |
| int | numberRows () const | 
| Return number of rows.  More... | |
| int | numberColumns () const | 
| Return number of columns.  More... | |
| double | objectiveOffset () const | 
| Returns the (constant) objective offset This is the RHS entry for the objective row.  More... | |
| void | setObjectiveOffset (double value) | 
| Set objective offset.  More... | |
| double | optimizationDirection () const | 
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.  More... | |
| void | setOptimizationDirection (double value) | 
| Set direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.  More... | |
| int | logLevel () const | 
| Get print level 0 - off, 1 - errors, 2 - more.  More... | |
| void | setLogLevel (int value) | 
| Set print level 0 - off, 1 - errors, 2 - more.  More... | |
| const char * | getProblemName () const | 
| Return the problem name.  More... | |
| void | setProblemName (const char *name) | 
| Set problem name.  More... | |
| void | setProblemName (const std::string &name) | 
| Set problem name.  More... | |
| const std::string & | getRowBlock () const | 
| Return the row block name.  More... | |
| void | setRowBlock (const std::string &name) | 
| Set row block name.  More... | |
| const std::string & | getColumnBlock () const | 
| Return the column block name.  More... | |
| void | setColumnBlock (const std::string &name) | 
| Set column block name.  More... | |
| void | setMessageHandler (CoinMessageHandler *handler) | 
| Pass in message handler.  More... | |
Private Member Functions | |
| int | fillInfo (CoinModelBlockInfo &info, const CoinModel *block) | 
| Fill in info structure and update counts Returns number of inconsistencies on border.  More... | |
| void | fillInfo (CoinModelBlockInfo &info, const CoinStructuredModel *block) | 
| Fill in info structure and update counts.  More... | |
Private Attributes | |
Data members  | |
| int | numberRowBlocks_ | 
| Current number of row blocks.  More... | |
| int | numberColumnBlocks_ | 
| Current number of column blocks.  More... | |
| int | numberElementBlocks_ | 
| Current number of element blocks.  More... | |
| int | maximumElementBlocks_ | 
| Maximum number of element blocks.  More... | |
| std::vector< std::string > | rowBlockNames_ | 
| Rowblock name.  More... | |
| std::vector< std::string > | columnBlockNames_ | 
| Columnblock name.  More... | |
| CoinBaseModel ** | blocks_ | 
| Blocks.  More... | |
| CoinModel ** | coinModelBlocks_ | 
| CoinModel copies of blocks or NULL if original CoinModel.  More... | |
| CoinModelBlockInfo * | blockType_ | 
| Which parts of model are set in block.  More... | |
Additional Inherited Members | |
  Protected Attributes inherited from CoinBaseModel | |
| int | numberRows_ | 
| Current number of rows.  More... | |
| int | numberColumns_ | 
| Current number of columns.  More... | |
| double | optimizationDirection_ | 
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.  More... | |
| double | objectiveOffset_ | 
| Objective offset to be passed on.  More... | |
| std::string | problemName_ | 
| Problem name.  More... | |
| std::string | rowBlockName_ | 
| Rowblock name.  More... | |
| std::string | columnBlockName_ | 
| Columnblock name.  More... | |
| CoinMessageHandler * | handler_ | 
| Message handler (Passed in)  More... | |
| CoinMessages | messages_ | 
| Messages.  More... | |
| int | logLevel_ | 
| Print level.  More... | |
Definition at line 37 of file CoinStructuredModel.hpp.
| CoinStructuredModel::CoinStructuredModel | ( | ) | 
Default constructor.
| CoinStructuredModel::CoinStructuredModel | ( | const char * | fileName, | 
| int | decompose = 0,  | 
        ||
| int | maxBlocks = 50  | 
        ||
| ) | 
Read a problem in MPS format from the given filename.
May try and decompose
      
  | 
  virtual | 
Destructor.
| CoinStructuredModel::CoinStructuredModel | ( | const CoinStructuredModel & | ) | 
The copy constructor.
| int CoinStructuredModel::addBlock | ( | const std::string & | rowBlock, | 
| const std::string & | columnBlock, | ||
| const CoinBaseModel & | block | ||
| ) | 
add a block from a CoinModel using names given as parameters returns number of errors (e.g.
both have objectives but not same)
| int CoinStructuredModel::addBlock | ( | const CoinBaseModel & | block | ) | 
add a block from a CoinModel with names in model returns number of errors (e.g.
both have objectives but not same)
| int CoinStructuredModel::addBlock | ( | const std::string & | rowBlock, | 
| const std::string & | columnBlock, | ||
| CoinBaseModel * | block | ||
| ) | 
add a block from a CoinModel using names given as parameters returns number of errors (e.g.
both have objectives but not same) This passes in block - structured model takes ownership
| int CoinStructuredModel::addBlock | ( | const std::string & | rowBlock, | 
| const std::string & | columnBlock, | ||
| const CoinPackedMatrix & | matrix, | ||
| const double * | rowLower, | ||
| const double * | rowUpper, | ||
| const double * | columnLower, | ||
| const double * | columnUpper, | ||
| const double * | objective | ||
| ) | 
add a block using names
| int CoinStructuredModel::writeMps | ( | const char * | filename, | 
| int | compression = 0,  | 
        ||
| int | formatType = 0,  | 
        ||
| int | numberAcross = 2,  | 
        ||
| bool | keepStrings = false  | 
        ||
| ) | 
Write the problem in MPS format to a file with the given filename.
| compression | can be set to three values to indicate what kind of file should be written 
  | 
| formatType | specifies the precision to used for values in the MPS file 
  | 
| numberAcross | specifies whether 1 or 2 (default) values should be specified on every data line in the MPS file. | 
not const as may change model e.g. fill in default bounds
| int CoinStructuredModel::readSmps | ( | const char * | filename, | 
| bool | keepNames = false,  | 
        ||
| bool | ignoreErrors = false  | 
        ||
| ) | 
Read SMPS model.
| int CoinStructuredModel::decompose | ( | const CoinModel & | model, | 
| int | type, | ||
| int | maxBlocks = 50,  | 
        ||
| const char ** | starts = NULL  | 
        ||
| ) | 
Decompose a CoinModel 1 - try D-W 2 - try Benders 3 - try Staircase Returns number of blocks or zero if no structure.
| int CoinStructuredModel::decompose | ( | const CoinPackedMatrix & | matrix, | 
| const double * | rowLower, | ||
| const double * | rowUpper, | ||
| const double * | columnLower, | ||
| const double * | columnUpper, | ||
| const double * | objective, | ||
| int | type, | ||
| int | maxBlocks = 50,  | 
        ||
| int * | starts = NULL,  | 
        ||
| double | objectiveOffset = 0.0  | 
        ||
| ) | 
Decompose a model specified as arrays + CoinPackedMatrix 1 - try D-W 2 - try Benders 3 - try Staircase Returns number of blocks or zero if no structure.
      
  | 
  inline | 
Return number of row blocks.
Definition at line 126 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Return number of column blocks.
Definition at line 131 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Return number of elementBlocks.
Definition at line 136 of file CoinStructuredModel.hpp.
      
  | 
  virtual | 
Return number of elements.
Implements CoinBaseModel.
      
  | 
  inline | 
Return the i'th row block name.
Definition at line 143 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Set i'th row block name.
Definition at line 148 of file CoinStructuredModel.hpp.
| int CoinStructuredModel::addRowBlock | ( | int | numberRows, | 
| const std::string & | name | ||
| ) | 
Add or check a row block name and number of rows.
| int CoinStructuredModel::rowBlock | ( | const std::string & | name | ) | const | 
Return a row block index given a row block name.
      
  | 
  inline | 
Return i'th the column block name.
Definition at line 157 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Set i'th column block name.
Definition at line 162 of file CoinStructuredModel.hpp.
| int CoinStructuredModel::addColumnBlock | ( | int | numberColumns, | 
| const std::string & | name | ||
| ) | 
Add or check a column block name and number of columns.
| int CoinStructuredModel::columnBlock | ( | const std::string & | name | ) | const | 
Return a column block index given a column block name.
      
  | 
  inline | 
Return i'th block type.
Definition at line 171 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Return i'th block.
Definition at line 176 of file CoinStructuredModel.hpp.
| const CoinBaseModel* CoinStructuredModel::block | ( | int | row, | 
| int | column | ||
| ) | const | 
Return block corresponding to row and column.
| const CoinBaseModel* CoinStructuredModel::coinBlock | ( | int | row, | 
| int | column | ||
| ) | const | 
Return block corresponding to row and column as CoinModel.
| int CoinStructuredModel::blockIndex | ( | int | row, | 
| int | column | ||
| ) | const | 
Return block number corresponding to row and column.
| CoinModel* CoinStructuredModel::coinModelBlock | ( | CoinModelBlockInfo & | info | ) | 
Return model as a CoinModel block and fill in info structure and update counts.
| void CoinStructuredModel::setCoinModel | ( | CoinModel * | block, | 
| int | iBlock | ||
| ) | 
Sets given block into coinModelBlocks_.
| void CoinStructuredModel::refresh | ( | int | iBlock | ) | 
Refresh info in blockType_.
| CoinModelBlockInfo CoinStructuredModel::block | ( | int | row, | 
| int | column, | ||
| const double *& | rowLower, | ||
| const double *& | rowUpper, | ||
| const double *& | columnLower, | ||
| const double *& | columnUpper, | ||
| const double *& | objective | ||
| ) | const | 
Fill pointers corresponding to row and column.
      
  | 
  inline | 
Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.
Definition at line 203 of file CoinStructuredModel.hpp.
      
  | 
  inline | 
Set direction of optimization (1 - minimize, -1 - maximize, 0 - ignore.
Definition at line 208 of file CoinStructuredModel.hpp.
| CoinStructuredModel& CoinStructuredModel::operator= | ( | const CoinStructuredModel & | ) | 
=
      
  | 
  virtual | 
Clone.
Implements CoinBaseModel.
      
  | 
  private | 
Fill in info structure and update counts Returns number of inconsistencies on border.
      
  | 
  private | 
Fill in info structure and update counts.
      
  | 
  private | 
Current number of row blocks.
Definition at line 248 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Current number of column blocks.
Definition at line 250 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Current number of element blocks.
Definition at line 252 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Maximum number of element blocks.
Definition at line 254 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Rowblock name.
Definition at line 256 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Columnblock name.
Definition at line 258 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Blocks.
Definition at line 260 of file CoinStructuredModel.hpp.
      
  | 
  private | 
CoinModel copies of blocks or NULL if original CoinModel.
Definition at line 262 of file CoinStructuredModel.hpp.
      
  | 
  private | 
Which parts of model are set in block.
Definition at line 264 of file CoinStructuredModel.hpp.
 1.8.5