CbcIdiotBranch Class Reference

Define an idiotic idea class. More...

#include <CbcFollowOn.hpp>

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

List of all members.

Public Member Functions

 CbcIdiotBranch ()
 CbcIdiotBranch (CbcModel *model)
 Useful constructor.
 CbcIdiotBranch (const CbcIdiotBranch &)
virtual CbcObjectclone () const
 Clone.
CbcIdiotBranchoperator= (const CbcIdiotBranch &rhs)
 ~CbcIdiotBranch ()
virtual double infeasibility (const OsiBranchingInformation *info, int &preferredWay) const
 Infeasibility - large is 0.5.
virtual void feasibleRegion ()
 This looks at solution and sets bounds to contain solution.
virtual CbcBranchingObjectcreateCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
 Creates a branching object.
virtual void initializeForBranching (CbcModel *)
 Initialize for branching.

Protected Member Functions

OsiRowCut buildCut (const OsiBranchingInformation *info, int type, int &preferredWay) const
 Build "cut".

Protected Attributes

CoinThreadRandom randomNumberGenerator_
 data Thread specific random number generator
CoinThreadRandom savedRandomNumberGenerator_
 Saved version of thread specific random number generator.

Detailed Description

Define an idiotic idea class.

The idea of this is that we take some integer variables away from integer and sum them with some randomness to get signed sum close to 0.5. We then can branch to exclude that gap.

This branching rule should be in addition to normal rules and have a high priority.

Definition at line 161 of file CbcFollowOn.hpp.


Constructor & Destructor Documentation

CbcIdiotBranch::CbcIdiotBranch (  ) 
CbcIdiotBranch::CbcIdiotBranch ( CbcModel model  ) 

Useful constructor.

CbcIdiotBranch::CbcIdiotBranch ( const CbcIdiotBranch  ) 
CbcIdiotBranch::~CbcIdiotBranch (  ) 

Member Function Documentation

virtual CbcObject* CbcIdiotBranch::clone (  )  const [virtual]

Clone.

Implements CbcObject.

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

Reimplemented from CbcObject.

virtual double CbcIdiotBranch::infeasibility ( const OsiBranchingInformation info,
int &  preferredWay 
) const [virtual]

Infeasibility - large is 0.5.

Reimplemented from CbcObject.

virtual void CbcIdiotBranch::feasibleRegion (  )  [virtual]

This looks at solution and sets bounds to contain solution.

Implements CbcObject.

virtual CbcBranchingObject* CbcIdiotBranch::createCbcBranch ( OsiSolverInterface solver,
const OsiBranchingInformation info,
int  way 
) [virtual]

Creates a branching object.

Reimplemented from CbcObject.

virtual void CbcIdiotBranch::initializeForBranching ( CbcModel  )  [virtual]

Initialize for branching.

Reimplemented from CbcObject.

OsiRowCut CbcIdiotBranch::buildCut ( const OsiBranchingInformation info,
int  type,
int &  preferredWay 
) const [protected]

Build "cut".


Member Data Documentation

data Thread specific random number generator

Definition at line 201 of file CbcFollowOn.hpp.

Saved version of thread specific random number generator.

Definition at line 203 of file CbcFollowOn.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 11 Apr 2013 for Cbc by  doxygen 1.6.1