CglZeroHalf Class Reference

Zero Half Cut Generator Class. More...

#include <CglZeroHalf.hpp>

Inheritance diagram for CglZeroHalf:
Inheritance graph
[legend]
Collaboration diagram for CglZeroHalf:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Generate Cuts



virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
 Generate zero half cuts for the model accessed through the solver interface.
Sets and Gets



int getFlags () const
 Get flags.
void setFlags (int value)
 Set flags.
Constructors and destructors



 CglZeroHalf ()
 Default constructor.
 CglZeroHalf (const CglZeroHalf &)
 Copy constructor.
virtual CglCutGeneratorclone () const
 Clone.
CglZeroHalfoperator= (const CglZeroHalf &rhs)
 Assignment operator.
virtual ~CglZeroHalf ()
 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 information.

Private Attributes

Private member data



int mr_
 number of rows in the ILP matrix
int mc_
 number of columns in the ILP matrix
int mnz_
 number of nonzero's in the ILP matrix
int * mtbeg_
 starting position of each row in arrays mtind and mtval
int * mtcnt_
 number of entries of each row in arrays mtind and mtval
int * mtind_
 column indices of the nonzero entries of the ILP matrix
int * mtval_
 values of the nonzero entries of the ILP matrix
int * vlb_
 lower bounds on the variables
int * vub_
 upper bounds on the variables
int * mrhs_
 right hand sides of the constraints
char * msense_
 senses of the constraints: 'L', 'G' or 'E'
Cgl012Cut cutInfo_
 Cgl012Cut object to make thread safe.
int flags_
 Flags 1 bit - global cuts.

Friends

void CglZeroHalfUnitTest (const OsiSolverInterface *siP, const std::string mpdDir)
 A function that tests the methods in the CglZeroHalf class.

Detailed Description

Zero Half Cut Generator Class.

This class generates zero half cuts via the following method:

See -

G. Andreello, A. Caprara, M. Fischetti, “Embedding Cuts in a Branch and Cut Framework: a Computational Study with {0,1/2}-Cuts”, INFORMS Journal on Computing 19(2), 229-238, 2007.

Definition at line 26 of file CglZeroHalf.hpp.


Constructor & Destructor Documentation

CglZeroHalf::CglZeroHalf (  ) 

Default constructor.

CglZeroHalf::CglZeroHalf ( const CglZeroHalf  ) 

Copy constructor.

virtual CglZeroHalf::~CglZeroHalf (  )  [virtual]

Destructor.


Member Function Documentation

virtual void CglZeroHalf::generateCuts ( const OsiSolverInterface si,
OsiCuts cs,
const CglTreeInfo  info = CglTreeInfo() 
) [virtual]

Generate zero half cuts for the model accessed through the solver interface.

Insert generated cuts into the cut set cs.

Implements CglCutGenerator.

int CglZeroHalf::getFlags (  )  const [inline]

Get flags.

Definition at line 44 of file CglZeroHalf.hpp.

void CglZeroHalf::setFlags ( int  value  )  [inline]

Set flags.

Definition at line 47 of file CglZeroHalf.hpp.

virtual CglCutGenerator* CglZeroHalf::clone (  )  const [virtual]

Clone.

Implements CglCutGenerator.

CglZeroHalf& CglZeroHalf::operator= ( const CglZeroHalf rhs  ) 

Assignment operator.

Reimplemented from CglCutGenerator.

virtual std::string CglZeroHalf::generateCpp ( FILE *  fp  )  [virtual]

Create C++ lines to get to current state.

Reimplemented from CglCutGenerator.

virtual void CglZeroHalf::refreshSolver ( OsiSolverInterface solver  )  [virtual]

This can be used to refresh any information.

Reimplemented from CglCutGenerator.


Friends And Related Function Documentation

void CglZeroHalfUnitTest ( const OsiSolverInterface siP,
const std::string  mpdDir 
) [friend]

A function that tests the methods in the CglZeroHalf 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.


Member Data Documentation

int CglZeroHalf::mr_ [private]

number of rows in the ILP matrix

Definition at line 89 of file CglZeroHalf.hpp.

int CglZeroHalf::mc_ [private]

number of columns in the ILP matrix

Definition at line 91 of file CglZeroHalf.hpp.

int CglZeroHalf::mnz_ [private]

number of nonzero's in the ILP matrix

Definition at line 93 of file CglZeroHalf.hpp.

int* CglZeroHalf::mtbeg_ [private]

starting position of each row in arrays mtind and mtval

Definition at line 95 of file CglZeroHalf.hpp.

int* CglZeroHalf::mtcnt_ [private]

number of entries of each row in arrays mtind and mtval

Definition at line 97 of file CglZeroHalf.hpp.

int* CglZeroHalf::mtind_ [private]

column indices of the nonzero entries of the ILP matrix

Definition at line 99 of file CglZeroHalf.hpp.

int* CglZeroHalf::mtval_ [private]

values of the nonzero entries of the ILP matrix

Definition at line 101 of file CglZeroHalf.hpp.

int* CglZeroHalf::vlb_ [private]

lower bounds on the variables

Definition at line 103 of file CglZeroHalf.hpp.

int* CglZeroHalf::vub_ [private]

upper bounds on the variables

Definition at line 105 of file CglZeroHalf.hpp.

int* CglZeroHalf::mrhs_ [private]

right hand sides of the constraints

Definition at line 107 of file CglZeroHalf.hpp.

char* CglZeroHalf::msense_ [private]

senses of the constraints: 'L', 'G' or 'E'

Definition at line 109 of file CglZeroHalf.hpp.

Cgl012Cut object to make thread safe.

Definition at line 111 of file CglZeroHalf.hpp.

int CglZeroHalf::flags_ [private]

Flags 1 bit - global cuts.

Definition at line 115 of file CglZeroHalf.hpp.


The documentation for this class was generated from the following file:

Generated on 5 Apr 2015 by  doxygen 1.6.1