branchColour Class Reference
[Colouring]

Branch & bound implementation for node colouring. More...

#include <branchColour.h>

Inheritance diagram for branchColour:

branchNode< TNode, TFloat > managedObject goblinRootObject

Public Member Functions

 branchColour (abstractMixedGraph &, TNode, char=0) throw ()
 branchColour (branchColour &) throw ()
 ~branchColour () throw ()
unsigned long Size () const throw ()
unsigned long Allocated () const throw ()
void Show () throw ()
bool Complete () throw (ERRejected)
void PlanarComplete () throw (ERCheck)
TNode SelectVariable () throw ()
TBranchDir DirectionConstructive (TNode i) throw (ERRange)
TBranchDir DirectionExhaustive (TNode i) throw (ERRange)
branchNode< TNode, TFloat > * Clone () throw ()
void Raise (TNode i) throw (ERRange)
void Lower (TNode i) throw (ERRange)
TFloat SolveRelaxation () throw ()
TObjectSense ObjectSense () const throw ()
TFloat Infeasibility () const throw ()
void SaveSolution () throw ()

Detailed Description

Branch & bound implementation for node colouring.


Constructor & Destructor Documentation

branchColour abstractMixedGraph ,
TNode  ,
char  = 0
throw ()
 

branchColour branchColour  )  throw ()
 

~branchColour  )  throw ()
 


Member Function Documentation

unsigned long Allocated  )  const throw ()
 

Reimplemented from branchNode< TNode, TFloat >.

branchNode< TNode, TFloat > * Clone  )  throw () [virtual]
 

Generate a copy of this branch node.

Returns:
A pointer to the copy

Implements branchNode< TNode, TFloat >.

bool Complete  )  throw (ERRejected)
 

branchNode< TNode, TFloat >::TBranchDir DirectionConstructive TNode  v  )  throw (ERRange) [virtual]
 

Preferred search direction before feasibility has been achieved.

Implements branchNode< TNode, TFloat >.

branchNode< TNode, TFloat >::TBranchDir DirectionExhaustive TNode  v  )  throw (ERRange) [virtual]
 

Preferred search direction after feasibility has been achieved.

Implements branchNode< TNode, TFloat >.

TFloat Infeasibility  )  const throw () [virtual]
 

Symbolic value for infeasible subproblems.

Implements branchNode< TNode, TFloat >.

void Lower TNode  i  )  throw (ERRange) [virtual]
 

Lower an upper variable bound.

This operation applies after solving a relaxation and duplicating the branch node. It sets an upper variable bound to the greatest integral lower bound on the current variable value.

The operation may restrict further variables, namely, if it is obvoious that no solutions for the master problem are lost.

Parameters:
i The index of the restricted variable

Implements branchNode< TNode, TFloat >.

branchNode< TNode, TFloat >::TObjectSense ObjectSense  )  const throw () [virtual]
 

Decide between maximization and minimization problems.

Implements branchNode< TNode, TFloat >.

void PlanarComplete  )  throw (ERCheck)
 

void Raise TNode  i  )  throw (ERRange) [virtual]
 

Raise a lower variable bound.

This operation applies after solving a relaxation and duplicating the branch node. It sets a lower variable bound to the least integral upper bound on the current variable value.

The operation may restrict further variables, namely, if it is obvoious that no solutions for the master problem are lost.

Parameters:
i The index of the variable to be restricted

Implements branchNode< TNode, TFloat >.

void SaveSolution  )  throw () [virtual]
 

Copy the current solution to the original problem instance.

Implements branchNode< TNode, TFloat >.

TNode SelectVariable  )  throw () [virtual]
 

Selection of a variable to be restricted next.

Returns:
The branch variable index

Implements branchNode< TNode, TFloat >.

void Show  )  throw ()
 

unsigned long Size  )  const throw () [virtual]
 

Implements goblinRootObject.

TFloat SolveRelaxation  )  throw () [virtual]
 

Solve the relaxed subproblem according.

Returns:
The objective value of this relaxed subproblem

Implements branchNode< TNode, TFloat >.