# ClpNode Class Reference

`#include <ClpNode.hpp>`

Collaboration diagram for ClpNode:
[legend]

List of all members.

## Classes
struct | branchState
## Public Member Functions
Useful methods
void | applyNode (ClpSimplex *model, int doBoundsEtc)
| Applies node to model 0 - just tree bounds 1 - tree bounds and basis etc 2 - saved bounds and basis etc.
void | chooseVariable (ClpSimplex *model, ClpNodeStuff *info)
| Choose a new variable.
int | fixOnReducedCosts (ClpSimplex *model)
| Fix on reduced costs.
void | createArrays (ClpSimplex *model)
| Create odd arrays.
void | cleanUpForCrunch ()
| Clean up as crunch is different model.
Gets and sets
double | objectiveValue () const
| Objective value.
void | setObjectiveValue (double value)
| Set objective value.
const double * | primalSolution () const
| Primal solution.
const double * | dualSolution () const
| Dual solution.
double | branchingValue () const
| Initial value of integer variable.
double | sumInfeasibilities () const
| Sum infeasibilities.
int | numberInfeasibilities () const
| Number infeasibilities.
int | depth () const
| Relative depth.
double | estimatedSolution () const
| Estimated solution value.
int | way () const
| Way for integer variable -1 down , +1 up.
bool | fathomed () const
| Return true if branch exhausted.
void | changeState ()
| Change state of variable i.e. go other way.
int | sequence () const
| Sequence number of integer variable (-1 if none).
bool | oddArraysExist () const
| If odd arrays exist.
const unsigned char * | statusArray () const
| Status array.
Constructors, destructor
| ClpNode ()
| Default constructor.
| ClpNode (ClpSimplex *model, const ClpNodeStuff *stuff, int depth)
| Constructor from model.
void | gutsOfConstructor (ClpSimplex *model, const ClpNodeStuff *stuff, int arraysExist, int depth)
| Does work of constructor (partly so gdb will work).
virtual | ~ClpNode ()
| Destructor.
Copy methods (at present illegal - will abort)
| ClpNode (const ClpNode &)
| The copy constructor.
ClpNode & | operator= (const ClpNode &)
| Operator =.
## Protected Attributes
Data
double | branchingValue_
| Initial value of integer variable.
double | objectiveValue_
| Value of objective.
double | sumInfeasibilities_
| Sum of infeasibilities.
double | estimatedSolution_
| Estimated solution value.
ClpFactorization * | factorization_
| Factorization.
ClpDualRowSteepest * | weights_
| Steepest edge weights.
unsigned char * | status_
| Status vector.
double * | primalSolution_
| Primal solution.
double * | dualSolution_
| Dual solution.
int * | lower_
| Integer lower bounds (only used in fathomMany).
int * | upper_
| Integer upper bounds (only used in fathomMany).
int * | pivotVariables_
| Pivot variables for factorization.
int * | fixed_
| Variables fixed by reduced costs (at end of branch) 0x10000000 added if fixed to UB.
branchState | branchState_
| State of branch.
int | sequence_
| Sequence number of integer variable (-1 if none).
int | numberInfeasibilities_
| Number of infeasibilities.
int | depth_
| Relative depth.
int | numberFixed_
| Number fixed by reduced cost.
int | flags_
| Flags - 1 duals scaled.
int | maximumFixed_
| Maximum number fixed by reduced cost.
int | maximumRows_
| Maximum rows so far.
int | maximumColumns_
| Maximum columns so far.
int | maximumIntegers_
| Maximum Integers so far.

## Detailed Description

Definition at line 19 of file ClpNode.hpp.

## Constructor & Destructor Documentation

ClpNode::ClpNode | ( |  | ) |

Default constructor.

ClpNode::ClpNode | ( | ClpSimplex * | model,
|  | const ClpNodeStuff * | stuff,
|  | int | depth |
| ) |  |  |

Constructor from model.

virtual ClpNode::~ClpNode | ( |  | ) | `[virtual]`

Destructor.

ClpNode::ClpNode | ( | const ClpNode & |  | ) |

The copy constructor.

## Member Function Documentation

void ClpNode::applyNode | ( | ClpSimplex * | model,
|  | int | doBoundsEtc |
| ) |  |  |

Applies node to model 0 - just tree bounds 1 - tree bounds and basis etc 2 - saved bounds and basis etc.

void ClpNode::chooseVariable | ( | ClpSimplex * | model,
|  | ClpNodeStuff * | info |
| ) |  |  |

Choose a new variable.

int ClpNode::fixOnReducedCosts | ( | ClpSimplex * | model | ) |

Fix on reduced costs.

void ClpNode::createArrays | ( | ClpSimplex * | model | ) |

Create odd arrays.

void ClpNode::cleanUpForCrunch | ( |  | ) |

Clean up as crunch is different model.

double ClpNode::objectiveValue | ( |  | ) | const`[inline]`

Objective value.

Definition at line 43 of file ClpNode.hpp.

void ClpNode::setObjectiveValue | ( | double | value | ) | `[inline]`

Set objective value.

Definition at line 47 of file ClpNode.hpp.

const double* ClpNode::primalSolution | ( |  | ) | const`[inline]`

Primal solution.

Definition at line 51 of file ClpNode.hpp.

const double* ClpNode::dualSolution | ( |  | ) | const`[inline]`

Dual solution.

Definition at line 55 of file ClpNode.hpp.

double ClpNode::branchingValue | ( |  | ) | const`[inline]`

Initial value of integer variable.

Definition at line 59 of file ClpNode.hpp.

double ClpNode::sumInfeasibilities | ( |  | ) | const`[inline]`

Sum infeasibilities.

Definition at line 63 of file ClpNode.hpp.

int ClpNode::numberInfeasibilities | ( |  | ) | const`[inline]`

Number infeasibilities.

Definition at line 67 of file ClpNode.hpp.

int ClpNode::depth | ( |  | ) | const`[inline]`

Relative depth.

Definition at line 71 of file ClpNode.hpp.

double ClpNode::estimatedSolution | ( |  | ) | const`[inline]`

Estimated solution value.

Definition at line 75 of file ClpNode.hpp.

int ClpNode::way | ( |  | ) | const

Way for integer variable -1 down , +1 up.

bool ClpNode::fathomed | ( |  | ) | const

Return true if branch exhausted.

void ClpNode::changeState | ( |  | ) |

Change state of variable i.e. go other way.

int ClpNode::sequence | ( |  | ) | const`[inline]`

Sequence number of integer variable (-1 if none).

Definition at line 85 of file ClpNode.hpp.

bool ClpNode::oddArraysExist | ( |  | ) | const`[inline]`

If odd arrays exist.

Definition at line 89 of file ClpNode.hpp.

const unsigned char* ClpNode::statusArray | ( |  | ) | const`[inline]`

Status array.

Definition at line 93 of file ClpNode.hpp.

void ClpNode::gutsOfConstructor | ( | ClpSimplex * | model,
|  | const ClpNodeStuff * | stuff,
|  | int | arraysExist,
|  | int | depth |
| ) |  |  |

Does work of constructor (partly so gdb will work).

ClpNode& ClpNode::operator= | ( | const ClpNode & |  | ) |

Operator =.

## Member Data Documentation

double ClpNode::branchingValue_`[protected]`

Initial value of integer variable.

Definition at line 129 of file ClpNode.hpp.

double ClpNode::objectiveValue_`[protected]`

Value of objective.

Definition at line 131 of file ClpNode.hpp.

double ClpNode::sumInfeasibilities_`[protected]`

Sum of infeasibilities.

Definition at line 133 of file ClpNode.hpp.

double ClpNode::estimatedSolution_`[protected]`

Estimated solution value.

Definition at line 135 of file ClpNode.hpp.

ClpFactorization* ClpNode::factorization_`[protected]`

Factorization.

Definition at line 137 of file ClpNode.hpp.

ClpDualRowSteepest* ClpNode::weights_`[protected]`

Steepest edge weights.

Definition at line 139 of file ClpNode.hpp.

unsigned char* ClpNode::status_`[protected]`

Status vector.

Definition at line 141 of file ClpNode.hpp.

double* ClpNode::primalSolution_`[protected]`

Primal solution.

Definition at line 143 of file ClpNode.hpp.

double* ClpNode::dualSolution_`[protected]`

Dual solution.

Definition at line 145 of file ClpNode.hpp.

int* ClpNode::lower_`[protected]`

Integer lower bounds (only used in fathomMany).

Definition at line 147 of file ClpNode.hpp.

int* ClpNode::upper_`[protected]`

Integer upper bounds (only used in fathomMany).

Definition at line 149 of file ClpNode.hpp.

int* ClpNode::pivotVariables_`[protected]`

Pivot variables for factorization.

Definition at line 151 of file ClpNode.hpp.

int* ClpNode::fixed_`[protected]`

Variables fixed by reduced costs (at end of branch) 0x10000000 added if fixed to UB.

Definition at line 153 of file ClpNode.hpp.

branchState ClpNode::branchState_`[protected]`

State of branch.

Definition at line 155 of file ClpNode.hpp.

int ClpNode::sequence_`[protected]`

Sequence number of integer variable (-1 if none).

Definition at line 157 of file ClpNode.hpp.

int ClpNode::numberInfeasibilities_`[protected]`

Number of infeasibilities.

Definition at line 159 of file ClpNode.hpp.

int ClpNode::depth_`[protected]`

Relative depth.

Definition at line 161 of file ClpNode.hpp.

int ClpNode::numberFixed_`[protected]`

Number fixed by reduced cost.

Definition at line 163 of file ClpNode.hpp.

int ClpNode::flags_`[protected]`

Flags - 1 duals scaled.

Definition at line 165 of file ClpNode.hpp.

int ClpNode::maximumFixed_`[protected]`

Maximum number fixed by reduced cost.

Definition at line 167 of file ClpNode.hpp.

int ClpNode::maximumRows_`[protected]`

Maximum rows so far.

Definition at line 169 of file ClpNode.hpp.

int ClpNode::maximumColumns_`[protected]`

Maximum columns so far.

Definition at line 171 of file ClpNode.hpp.

int ClpNode::maximumIntegers_`[protected]`

Maximum Integers so far.

Definition at line 173 of file ClpNode.hpp.

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

- /home/coin/svn-release/Alps-1.4.8/Clp/src/ClpNode.hpp