Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions
CglFlowCover.hpp File Reference
#include <iostream>
#include "CoinError.hpp"
#include "CglCutGenerator.hpp"
+ Include dependency graph for CglFlowCover.hpp:
+ This graph shows which files directly or indirectly include this file:

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. More...
 

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. More...
 
void CglFlowCoverUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
 A function that tests the methods in the CglFlowCover class. More...
 

Typedef Documentation

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

Definition at line 138 of file CglFlowCover.hpp.

Enumeration Type Documentation

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.

Definition at line 39 of file CglFlowCover.hpp.

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.

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.