coin-Cgl
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
CglLandP Class Reference

#include <CglLandP.hpp>

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

List of all members.

Classes

struct  CachedData
 Some informations that will be changed by the pivots and that we want to keep. More...
class  NoBasisError
class  Parameters
 Class storing parameters. More...
class  SimplexInterfaceError

Public Types

enum  SelectionRules { mostNegativeRc, bestPivot, initialReducedCosts }
enum  ExtraCutsMode { none, AtOptimalBasis, WhenEnteringBasis, AllViolatedMigs }
enum  SeparationSpaces { Fractional = 0, Fractional_rc, Full }
 Space where cuts are optimized. More...
enum  Normalization { Unweighted = 0, WeightRHS, WeightLHS, WeightBoth }
 Normalization. More...
enum  LHSnorm {
  L1 = 0, L2, SupportSize, Infinity,
  Average, Uniform
}
enum  RhsWeightType { Fixed = 0, Dynamic }
 RHS weight in normalization. More...

Public Member Functions

 CglLandP (const CglLandP::Parameters &params=CglLandP::Parameters(), const LAP::Validator &validator=LAP::Validator())
 Constructor for the class.
 ~CglLandP ()
 Destructor.
 CglLandP (const CglLandP &source)
 Copy constructor.
CglLandPoperator= (const CglLandP &rhs)
 Assignment operator.
CglCutGeneratorclone () const
 Clone function.
virtual bool needsOptimalBasis () const
 Return true if needs optimal basis to do cuts.
LAP::Validatorvalidator ()
void setLogLevel (int level)
 set level of log for cut generation procedure :
Parametersparameter ()
Generate Cuts
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo()) const
 Generate cuts for the model data contained in si.

Private Member Functions

void scanExtraCuts (OsiCuts &cs, const double *colsol) const
int getSortedFractionals (CoinPackedVector &xFrac, const CachedData &data, const CglLandP::Parameters &params) const
 Retrieve sorted integer variables which are fractional in the solution.
void getSortedFractionalIndices (std::vector< int > &indices, const CachedData &data, const CglLandP::Parameters &params) const
 Retrieve sorted integer variables which are fractional in the solution.

Private Attributes

Parameters params_
CachedData cached_
 Cached informations about problem.
CoinMessageHandler * handler_
 message handler
CoinMessages messages_
 messages
LAP::Validator validator_
 cut validator
int numrows_
 number of rows in the original problems.
int numcols_
 number of columns in the original problems.
double * originalColLower_
 Original lower bounds for the problem (for lifting cuts).
double * originalColUpper_
 Original upper bounds for the problem (for lifting cuts).
bool canLift_
 Flag to say if cuts can be lifted.
OsiCuts extraCuts_
 Store some extra cut which could be cheaply generated but do not cut current incumbent.

Friends

class LAP::CglLandPSimplex
class CftCglp
void CglLandPUnitTest (OsiSolverInterface *si, const std::string &mpsDir)

Detailed Description

Definition at line 54 of file CglLandP.hpp.


Member Enumeration Documentation

Enumerator:
mostNegativeRc 

select most negative reduced cost

bestPivot 

select best possible pivot.

initialReducedCosts 

Select only those rows which had initialy a 0 reduced cost.

Definition at line 63 of file CglLandP.hpp.

Enumerator:
none 

Generate no extra cuts.

AtOptimalBasis 

Generate cuts from the optimal basis.

WhenEnteringBasis 

Generate cuts as soon as a structural enters the basis.

AllViolatedMigs 

Generate all violated Mixed integer Gomory cuts in the course of the optimization.

Definition at line 69 of file CglLandP.hpp.

Space where cuts are optimized.

Enumerator:
Fractional 
Fractional_rc 

Use fractional space only for computing reduced costs.

Full 

Work in full space.

Definition at line 77 of file CglLandP.hpp.

Normalization.

Enumerator:
Unweighted 
WeightRHS 
WeightLHS 
WeightBoth 

Definition at line 84 of file CglLandP.hpp.

Enumerator:
L1 
L2 
SupportSize 
Infinity 
Average 
Uniform 

Definition at line 91 of file CglLandP.hpp.

RHS weight in normalization.

Enumerator:
Fixed 
Dynamic 

2 * current number of constraints.

Definition at line 100 of file CglLandP.hpp.


Constructor & Destructor Documentation

CglLandP::CglLandP ( const CglLandP::Parameters params = CglLandP::Parameters(),
const LAP::Validator validator = LAP::Validator() 
)

Constructor for the class.

Destructor.

CglLandP::CglLandP ( const CglLandP source)

Copy constructor.


Member Function Documentation

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

Assignment operator.

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

Clone function.

Implements CglCutGenerator.

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

Generate cuts for the model data contained in si.

The generated cuts are inserted into and returned in the collection of cuts cs.

Implements CglCutGenerator.

virtual bool CglLandP::needsOptimalBasis ( ) const [inline, virtual]

Return true if needs optimal basis to do cuts.

Reimplemented from CglCutGenerator.

Definition at line 202 of file CglLandP.hpp.

Definition at line 206 of file CglLandP.hpp.

References validator_.

void CglLandP::setLogLevel ( int  level) [inline]

set level of log for cut generation procedure :

  1. for none
  2. for log at begin and end of procedure + at some time interval
  3. for log at every cut generated

Definition at line 216 of file CglLandP.hpp.

References handler_.

Definition at line 231 of file CglLandP.hpp.

References params_.

void CglLandP::scanExtraCuts ( OsiCuts &  cs,
const double *  colsol 
) const [private]
int CglLandP::getSortedFractionals ( CoinPackedVector &  xFrac,
const CachedData data,
const CglLandP::Parameters params 
) const [private]

Retrieve sorted integer variables which are fractional in the solution.

Return the number of variables.

void CglLandP::getSortedFractionalIndices ( std::vector< int > &  indices,
const CachedData data,
const CglLandP::Parameters params 
) const [private]

Retrieve sorted integer variables which are fractional in the solution.

Return the number of variables.


Friends And Related Function Documentation

friend class LAP::CglLandPSimplex [friend]

Definition at line 58 of file CglLandP.hpp.

friend class CftCglp [friend]

Definition at line 59 of file CglLandP.hpp.

void CglLandPUnitTest ( OsiSolverInterface *  si,
const std::string &  mpsDir 
) [friend]

Member Data Documentation

Definition at line 239 of file CglLandP.hpp.

Referenced by parameter().

CachedData CglLandP::cached_ [mutable, private]

Cached informations about problem.

Definition at line 278 of file CglLandP.hpp.

CoinMessageHandler* CglLandP::handler_ [private]

message handler

Definition at line 280 of file CglLandP.hpp.

Referenced by setLogLevel().

CoinMessages CglLandP::messages_ [private]

messages

Definition at line 282 of file CglLandP.hpp.

cut validator

Definition at line 284 of file CglLandP.hpp.

Referenced by validator().

int CglLandP::numrows_ [mutable, private]

number of rows in the original problems.

Definition at line 286 of file CglLandP.hpp.

int CglLandP::numcols_ [mutable, private]

number of columns in the original problems.

Definition at line 288 of file CglLandP.hpp.

double* CglLandP::originalColLower_ [mutable, private]

Original lower bounds for the problem (for lifting cuts).

Definition at line 290 of file CglLandP.hpp.

double* CglLandP::originalColUpper_ [mutable, private]

Original upper bounds for the problem (for lifting cuts).

Definition at line 292 of file CglLandP.hpp.

bool CglLandP::canLift_ [mutable, private]

Flag to say if cuts can be lifted.

Definition at line 294 of file CglLandP.hpp.

OsiCuts CglLandP::extraCuts_ [mutable, private]

Store some extra cut which could be cheaply generated but do not cut current incumbent.

Definition at line 296 of file CglLandP.hpp.


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