Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
CglLandP Class Reference

#include <CglLandP.hpp>

+ Inheritance diagram for CglLandP:
+ Collaboration diagram for CglLandP:

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. More...
 
 ~CglLandP ()
 Destructor. More...
 
 CglLandP (const CglLandP &source)
 Copy constructor. More...
 
CglLandPoperator= (const CglLandP &rhs)
 Assignment operator. More...
 
CglCutGeneratorclone () const
 Clone function. More...
 
virtual bool needsOptimalBasis () const
 Return true if needs optimal basis to do cuts. More...
 
LAP::Validatorvalidator ()
 
void setLogLevel (int level)
 set level of log for cut generation procedure : More...
 
Parametersparameter ()
 
Generate Cuts
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
 Generate cuts for the model data contained in si. More...
 
- Public Member Functions inherited from CglCutGenerator
 CglCutGenerator ()
 Default constructor. More...
 
 CglCutGenerator (const CglCutGenerator &)
 Copy constructor. More...
 
CglCutGeneratoroperator= (const CglCutGenerator &rhs)
 Assignment operator. More...
 
virtual ~CglCutGenerator ()
 Destructor. More...
 
virtual std::string generateCpp (FILE *)
 Create C++ lines to set the generator in the current state. More...
 
virtual void refreshSolver (OsiSolverInterface *)
 This can be used to refresh any information. More...
 
int getAggressiveness () const
 Get Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
void setAggressiveness (int value)
 Set Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
void setGlobalCuts (bool trueOrFalse)
 Set whether can do global cuts. More...
 
bool canDoGlobalCuts () const
 Say whether can do global cuts. More...
 
virtual bool mayGenerateRowCutsInTree () const
 Returns true if may generate Row cuts in tree (rather than root node). More...
 
virtual int maximumLengthOfCutInTree () const
 Return maximum length of cut in tree. More...
 

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. More...
 
void getSortedFractionalIndices (std::vector< int > &indices, const CachedData &data, const CglLandP::Parameters &params) const
 Retrieve sorted integer variables which are fractional in the solution. More...
 

Private Attributes

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

Friends

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

Additional Inherited Members

- Public Attributes inherited from CglCutGenerator
int aggressive_
 Aggressiveness - 0 = neutral, 100 is normal root node. More...
 
bool canDoGlobalCuts_
 True if can do global cuts i.e. no general integers. More...
 

Detailed Description

Definition at line 49 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 58 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 65 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 74 of file CglLandP.hpp.

Normalization.

Enumerator
Unweighted 
WeightRHS 
WeightLHS 
WeightBoth 

Definition at line 82 of file CglLandP.hpp.

Enumerator
L1 
L2 
SupportSize 
Infinity 
Average 
Uniform 

Definition at line 90 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.

CglLandP::~CglLandP ( )

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() 
)
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
inlinevirtual

Return true if needs optimal basis to do cuts.

Reimplemented from CglCutGenerator.

Definition at line 197 of file CglLandP.hpp.

LAP::Validator& CglLandP::validator ( )
inline

Definition at line 202 of file CglLandP.hpp.

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 213 of file CglLandP.hpp.

Parameters& CglLandP::parameter ( )
inline

Definition at line 229 of file CglLandP.hpp.

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 53 of file CglLandP.hpp.

friend class CftCglp
friend

Definition at line 54 of file CglLandP.hpp.

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

Member Data Documentation

Parameters CglLandP::params_
private

Definition at line 238 of file CglLandP.hpp.

CachedData CglLandP::cached_
private

Cached informations about problem.

Definition at line 283 of file CglLandP.hpp.

CoinMessageHandler* CglLandP::handler_
private

message handler

Definition at line 285 of file CglLandP.hpp.

CoinMessages CglLandP::messages_
private

messages

Definition at line 287 of file CglLandP.hpp.

LAP::Validator CglLandP::validator_
private

cut validator

Definition at line 289 of file CglLandP.hpp.

int CglLandP::numrows_
private

number of rows in the original problems.

Definition at line 291 of file CglLandP.hpp.

int CglLandP::numcols_
private

number of columns in the original problems.

Definition at line 293 of file CglLandP.hpp.

double* CglLandP::originalColLower_
private

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

Definition at line 295 of file CglLandP.hpp.

double* CglLandP::originalColUpper_
private

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

Definition at line 297 of file CglLandP.hpp.

bool CglLandP::canLift_
private

Flag to say if cuts can be lifted.

Definition at line 299 of file CglLandP.hpp.

OsiCuts CglLandP::extraCuts_
private

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

Definition at line 301 of file CglLandP.hpp.


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