# CbcIdiotBranch Class Reference

Define an idiotic idea class. More...

`#include <CbcFollowOn.hpp>`

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

List of all members.

## Public Member Functions
| CbcIdiotBranch ()
| CbcIdiotBranch (CbcModel *model)
| Useful constructor.
| CbcIdiotBranch (const CbcIdiotBranch &)
virtual CbcObject * | clone () const
| Clone.
CbcIdiotBranch & | operator= (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 CbcBranchingObject * | createCbcBranch (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

CoinThreadRandom CbcIdiotBranch::randomNumberGenerator_`[mutable, protected]`

data Thread specific random number generator

Definition at line 201 of file CbcFollowOn.hpp.

CoinThreadRandom CbcIdiotBranch::savedRandomNumberGenerator_`[mutable, protected]`

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:

- /home/coin/svn-release/Cbc-2.8.1/Cbc/src/CbcFollowOn.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines