#include <CglDuplicateRow.hpp>
Inheritance diagram for CglDuplicateRow:
Public Member Functions | |
Generate Cuts | |
virtual void | generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const |
Fix variables and find duplicate/dominated rows for the model of the solver interface, si. | |
Get information on size of problem | |
const int * | duplicate () const |
Get duplicate row list, -1 means still in, -2 means out (all fixed), k>= means same as row k. | |
int | sizeDynamic () const |
Size of dynamic program. | |
int | numberOriginalRows () const |
Number of rows in original problem. | |
Get information on size of problem | |
int | logLevel () const |
logLevel | |
void | setLogLevel (int value) |
logLevel | |
We only check for duplicates amongst rows with effective rhs <= this | |
int | maximumRhs () const |
Get. | |
void | setMaximumRhs (int value) |
Set. | |
Constructors and destructors | |
CglDuplicateRow () | |
Default constructor. | |
CglDuplicateRow (OsiSolverInterface *solver) | |
Useful constructor. | |
CglDuplicateRow (const CglDuplicateRow &rhs) | |
Copy constructor. | |
virtual CglCutGenerator * | clone () const |
Clone. | |
CglDuplicateRow & | operator= (const CglDuplicateRow &rhs) |
Assignment operator. | |
virtual | ~CglDuplicateRow () |
Destructor. | |
virtual std::string | generateCpp (FILE *fp) |
Create C++ lines to get to current state. | |
virtual void | refreshSolver (OsiSolverInterface *solver) |
This can be used to refresh any inforamtion. | |
Protected Attributes | |
Protected member data | |
CoinPackedMatrix | matrix_ |
Matrix. | |
CoinPackedMatrix | matrixByRow_ |
Matrix by row. | |
int * | rhs_ |
Possible rhs (if 0 then not possible). | |
int * | duplicate_ |
Marks duplicate rows. | |
int * | lower_ |
To allow for <= rows. | |
int | maximumRhs_ |
Check duplicates if effective rhs <= this. | |
int | sizeDynamic_ |
Size of dynamic program. | |
int | logLevel_ |
Controls print out. |
Definition at line 11 of file CglDuplicateRow.hpp.
|
Default constructor.
|
|
Useful constructor.
|
|
Copy constructor.
|
|
Destructor.
|
|
Fix variables and find duplicate/dominated rows for the model of the solver interface, si. This is a very simple minded idea but I (JJF) am using it in a project so thought I might as well add it. It should really be called before first solve and I may modify CBC to allow for that. This is designed for problems with few rows and many integer variables where the rhs are <= or == and all coefficients and rhs are small integers. If effective rhs is K then we can fix all variables with coefficients > K to their lower bounds (effective rhs just means original with variables with nonzero lower bounds subtracted out). If one row is a subset of another and the effective rhs are same we can fix some variables and then the two rows are identical. The generator marks identical rows so can be taken out in solve Implements CglCutGenerator. |
|
Get duplicate row list, -1 means still in, -2 means out (all fixed), k>= means same as row k.
Definition at line 43 of file CglDuplicateRow.hpp. |
|
Size of dynamic program.
Definition at line 46 of file CglDuplicateRow.hpp. |
|
Number of rows in original problem.
Definition at line 49 of file CglDuplicateRow.hpp. References matrix_. |
|
logLevel
Definition at line 56 of file CglDuplicateRow.hpp. |
|
logLevel
Definition at line 58 of file CglDuplicateRow.hpp. References logLevel_. |
|
Get.
Definition at line 66 of file CglDuplicateRow.hpp. |
|
Set.
Definition at line 69 of file CglDuplicateRow.hpp. References maximumRhs_. |
|
Clone.
Implements CglCutGenerator. |
|
Assignment operator.
|
|
Create C++ lines to get to current state.
Reimplemented from CglCutGenerator. |
|
This can be used to refresh any inforamtion.
Reimplemented from CglCutGenerator. |
|
Matrix.
Definition at line 111 of file CglDuplicateRow.hpp. Referenced by numberOriginalRows(). |
|
Matrix by row.
Definition at line 113 of file CglDuplicateRow.hpp. |
|
Possible rhs (if 0 then not possible).
Definition at line 115 of file CglDuplicateRow.hpp. |
|
Marks duplicate rows.
Definition at line 117 of file CglDuplicateRow.hpp. |
|
To allow for <= rows.
Definition at line 119 of file CglDuplicateRow.hpp. |
|
Check duplicates if effective rhs <= this.
Definition at line 121 of file CglDuplicateRow.hpp. Referenced by setMaximumRhs(). |
|
Size of dynamic program.
Definition at line 123 of file CglDuplicateRow.hpp. |
|
Controls print out.
Definition at line 125 of file CglDuplicateRow.hpp. Referenced by setLogLevel(). |