Loading...
Searching...
No Matches
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

## CglFlowVLB

typedef CglFlowVUB CglFlowVLB

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

Definition at line 138 of file CglFlowCover.hpp.

## Enumeration Type Documentation

## CglFlowColType

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.

## CglFlowColStatus

enum CglFlowColStatus

Definition at line 39 of file CglFlowCover.hpp.

## CglFlowColCut

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 | This enumerative constant describes the various stati of vars in determining the cover. The column is a prime candidate.
CGLFLOW_COL_SECONDARY | The column is a secondary candidate.

Definition at line 44 of file CglFlowCover.hpp.

## CglFlowRowType

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

## operator<<()

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

Overloaded operator<< for printing VUB and VLB.

## CglFlowCoverUnitTest()

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.