Cbc 2.10.13
Loading...
Searching...
No Matches
CbcIdiotBranch Class Reference

Define an idiotic idea class. More...

#include <CbcFollowOn.hpp>

Inheritance diagram for CbcIdiotBranch:
Collaboration diagram for CbcIdiotBranch:

Public Member Functions

 CbcIdiotBranch ()
 CbcIdiotBranch (CbcModel *model)
 Useful constructor.
 CbcIdiotBranch (const CbcIdiotBranch &)
virtual CbcObject * clone () 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 159 of file CbcFollowOn.hpp.

Constructor & Destructor Documentation

◆ CbcIdiotBranch() [1/3]

CbcIdiotBranch::CbcIdiotBranch ( )

◆ CbcIdiotBranch() [2/3]

CbcIdiotBranch::CbcIdiotBranch ( CbcModel * model)

Useful constructor.

◆ CbcIdiotBranch() [3/3]

CbcIdiotBranch::CbcIdiotBranch ( const CbcIdiotBranch & )

◆ ~CbcIdiotBranch()

CbcIdiotBranch::~CbcIdiotBranch ( )

Member Function Documentation

◆ clone()

virtual CbcObject * CbcIdiotBranch::clone ( ) const
virtual

Clone.

◆ operator=()

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

◆ infeasibility()

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

Infeasibility - large is 0.5.

◆ feasibleRegion()

virtual void CbcIdiotBranch::feasibleRegion ( )
virtual

This looks at solution and sets bounds to contain solution.

◆ createCbcBranch()

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

Creates a branching object.

◆ initializeForBranching()

virtual void CbcIdiotBranch::initializeForBranching ( CbcModel * )
virtual

Initialize for branching.

◆ buildCut()

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

Build "cut".

Member Data Documentation

◆ randomNumberGenerator_

CoinThreadRandom CbcIdiotBranch::randomNumberGenerator_
mutableprotected

data Thread specific random number generator

Definition at line 199 of file CbcFollowOn.hpp.

◆ savedRandomNumberGenerator_

CoinThreadRandom CbcIdiotBranch::savedRandomNumberGenerator_
mutableprotected

Saved version of thread specific random number generator.

Definition at line 201 of file CbcFollowOn.hpp.


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