- Main Page
- Namespaces
- Classes
- Files
- Directories

- Search for |

- File List
- File Members

# CglFlowCover.hpp File Reference

`#include <iostream>`
`#include "CoinError.hpp"`
`#include "CglCutGenerator.hpp"`

Include dependency graph for CglFlowCover.hpp:

Go to the source code of this file.

## Classes
class | CglFlowVUB
| Variable upper bound class. More...
class | CglFlowCover
| Lifed Simple Generalized Flow Cover Cut Generator Class. More...
## Typedefs
typedef CglFlowVUB | CglFlowVLB
| Variable lower bound class, which is the same as vub.
## Enumerations
enum | CglFlowColType { CGLFLOW_COL_BINNEG = -2, CGLFLOW_COL_CONTNEG, CGLFLOW_COL_CONTPOS = 1, CGLFLOW_COL_BINPOS }
| This enumerative constant describes the various col types. More...
enum | CglFlowColStatus
enum | CglFlowColCut { CGLFLOW_COL_OUTCUT = 0, CGLFLOW_COL_INCUT, CGLFLOW_COL_INCUTDONE, CGLFLOW_COL_INLMIN, CGLFLOW_COL_INLMINDONE, CGLFLOW_COL_INLMINMIN, CGLFLOW_COL_PRIME, CGLFLOW_COL_SECONDARY }
| This enumerative constant describes the various stati of vars in a cut or not. More...
enum | CglFlowRowType { CGLFLOW_ROW_UNDEFINED, CGLFLOW_ROW_VARUB, CGLFLOW_ROW_VARLB, CGLFLOW_ROW_VAREQ, CGLFLOW_ROW_MIXUB, CGLFLOW_ROW_MIXEQ, CGLFLOW_ROW_NOBINUB, CGLFLOW_ROW_NOBINEQ, CGLFLOW_ROW_SUMVARUB, CGLFLOW_ROW_SUMVAREQ, CGLFLOW_ROW_UNINTERSTED }
| This enumerative constant describes the various row types. More...
## Functions
std::ostream & | operator<< (std::ostream &os, const CglFlowVUB &v)
| Overloaded operator<< for printing VUB and VLB.
void | CglFlowCoverUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
| A function that tests the methods in the CglFlowCover class.

## Typedef Documentation

typedef CglFlowVUB CglFlowVLB

Variable lower bound class, which is the same as vub.

Definition at line 138 of file CglFlowCover.hpp.

## Enumeration Type Documentation

enum CglFlowColType

This enumerative constant describes the various col types.

Enumerator:

  CGLFLOW_COL_BINNEG | The column(variable) is a negative binary variable.
  CGLFLOW_COL_CONTNEG | The column is a negative continous variable.
  CGLFLOW_COL_CONTPOS | The column is a positive continous variable.
  CGLFLOW_COL_BINPOS | The column is a positive binary variable.

Definition at line 28 of file CglFlowCover.hpp.

enum CglFlowColStatus

Definition at line 39 of file CglFlowCover.hpp.

enum CglFlowColCut

This enumerative constant describes the various stati of vars in a cut or not.

Enumerator:

  CGLFLOW_COL_OUTCUT | The column is NOT in cover.
  CGLFLOW_COL_INCUT | The column is in cover now.
  CGLFLOW_COL_INCUTDONE | The column is decided to be in cover.
  CGLFLOW_COL_INLMIN | The column is in L-.
  CGLFLOW_COL_INLMINDONE | The column is decided to be in L-.
  CGLFLOW_COL_INLMINMIN | The column is in L--.
  CGLFLOW_COL_PRIME | The column is a prime candidate.
  CGLFLOW_COL_SECONDARY | The column is a secondary candidate.

Definition at line 44 of file CglFlowCover.hpp.

enum CglFlowRowType

This enumerative constant describes the various row types.

Enumerator:

  CGLFLOW_ROW_UNDEFINED | The row type of this row is NOT defined yet.
  CGLFLOW_ROW_VARUB | After the row is flipped to 'L', the row has exactly two variables: one is negative binary and the other is continous, and the RHS is zero.
  CGLFLOW_ROW_VARLB | After the row is flipped to 'L', the row has exactlytwo variables: one is positive binary and the other is continous, and the RHS is zero.
  CGLFLOW_ROW_VAREQ | The row sense is 'E', the row has exactly two variables: one is binary and the other is a continous, and the RHS is zero.
  CGLFLOW_ROW_MIXUB | Rows can not be classfied into other types and the row sense is NOT 'E'.
  CGLFLOW_ROW_MIXEQ | Rows can not be classfied into other types and the row sense is 'E'.
  CGLFLOW_ROW_NOBINUB | All variables are NOT binary and the row sense is NOT 'E'.
  CGLFLOW_ROW_NOBINEQ | All variables are NOT binary and the row sense is 'E'.
  CGLFLOW_ROW_SUMVARUB | The row has one binary and 2 or more other types of variables and the row sense is NOT 'E'.
  CGLFLOW_ROW_SUMVAREQ | The row has one binary and 2 or more other types of variables and the row sense is 'E'.
  CGLFLOW_ROW_UNINTERSTED | All variables are binary.

Definition at line 66 of file CglFlowCover.hpp.

## Function Documentation

std::ostream& operator<< | ( | std::ostream & | os,
|  | const CglFlowVUB & | v |
| ) |  |  |

Overloaded operator<< for printing VUB and VLB.

void CglFlowCoverUnitTest | ( | const OsiSolverInterface * | siP,
|  | const std::string | mpdDir |
| ) |  |  |

A function that tests the methods in the CglFlowCover class.

The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.