CbcStrongInfo Struct Reference

Abstract base class for `objects'. More...

#include <CbcBranchBase.hpp>

Collaboration diagram for CbcStrongInfo:

Collaboration graph
[legend]
List of all members.

Public Attributes

CbcBranchingObjectpossibleBranch
double upMovement
double downMovement
int numIntInfeasUp
int numObjInfeasUp
bool finishedUp
int numItersUp
int numIntInfeasDown
int numObjInfeasDown
bool finishedDown
int numItersDown
int objectNumber
int fix

Detailed Description

Abstract base class for `objects'.

The branching model used in Cbc is based on the idea of an object. In the abstract, an object is something that has a feasible region, can be evaluated for infeasibility, can be branched on (i.e., there's some constructive action to be taken to move toward feasibility), and allows comparison of the effect of branching.

This class (CbcObject) is the base class for an object. To round out the branching model, the class CbcBranchingObject describes how to perform a branch, and the class CbcBranchDecision describes how to compare two CbcBranchingObjects.

To create a new type of object you need to provide three methods: infeasibility(), feasibleRegion(), and createBranch(), described below.

This base class is primarily virtual to allow for any form of structure. Any form of discontinuity is allowed.

Todo:
The notion that all branches are binary (two arms) is wired into the implementation of CbcObject, CbcBranchingObject, and CbcBranchDecision. Changing this will require a moderate amount of recoding.

Definition at line 44 of file CbcBranchBase.hpp.


Member Data Documentation

CbcBranchingObject* CbcStrongInfo::possibleBranch

Definition at line 45 of file CbcBranchBase.hpp.

double CbcStrongInfo::upMovement

Definition at line 46 of file CbcBranchBase.hpp.

double CbcStrongInfo::downMovement

Definition at line 47 of file CbcBranchBase.hpp.

int CbcStrongInfo::numIntInfeasUp

Definition at line 48 of file CbcBranchBase.hpp.

int CbcStrongInfo::numObjInfeasUp

Definition at line 49 of file CbcBranchBase.hpp.

bool CbcStrongInfo::finishedUp

Definition at line 50 of file CbcBranchBase.hpp.

int CbcStrongInfo::numItersUp

Definition at line 51 of file CbcBranchBase.hpp.

int CbcStrongInfo::numIntInfeasDown

Definition at line 52 of file CbcBranchBase.hpp.

int CbcStrongInfo::numObjInfeasDown

Definition at line 53 of file CbcBranchBase.hpp.

bool CbcStrongInfo::finishedDown

Definition at line 54 of file CbcBranchBase.hpp.

int CbcStrongInfo::numItersDown

Definition at line 55 of file CbcBranchBase.hpp.

int CbcStrongInfo::objectNumber

Definition at line 56 of file CbcBranchBase.hpp.

int CbcStrongInfo::fix

Definition at line 57 of file CbcBranchBase.hpp.


The documentation for this struct was generated from the following file:
Generated on Thu May 15 22:00:11 2008 by  doxygen 1.4.7