Loading...
Searching...
No Matches
BALL::BranchAndBoundBondOrderStrategy Class Reference

`#include <BALL/STRUCTURE/BONDORDERS/branchAndBoundBondOrderStrategy.h>`

Inheritance diagram for BALL::BranchAndBoundBondOrderStrategy:

## Classes

struct | Option
| Option names. More...
struct | Default

## Public Member Functions

Constant Definitions
| BranchAndBoundBondOrderStrategy (AssignBondOrderProcessor *parent)
virtual | ~BranchAndBoundBondOrderStrategy ()
virtual void | clear ()
virtual void | init ()
virtual bool | readOptions (const Options &options)
virtual void | setDefaultOptions ()
virtual boost::shared_ptr< BondOrderAssignment > | computeNextSolution ()
| KGreedyBondOrderStrategy (AssignBondOrderProcessor *parent)
virtual | ~KGreedyBondOrderStrategy ()
| AStarBondOrderStrategy (AssignBondOrderProcessor *parent)
virtual | ~AStarBondOrderStrategy ()
Public Member Functions inherited from BALL::BondOrderAssignmentStrategy
| BondOrderAssignmentStrategy (AssignBondOrderProcessor *parent)

## Additional Inherited Members

Public Attributes inherited from BALL::BondOrderAssignmentStrategy
AssignBondOrderProcessor * | abop
| Our parent processor.
float | greedy_atom_type_penalty_
float | greedy_bond_length_penalty_
Size | greedy_k_
vector< PartialBondOrderAssignment > | greedy_set_
Position | current_solution_
int | greedy_node_expansions_
PartialBondOrderAssignment::HEURISTIC_INDEX | heuristic_index_
| The chosen heuristic.
std::priority_queue< PartialBondOrderAssignment > | queue_
int | step_
| The priority queue.

## Detailed Description

Branch-and-bound algorithm for bond order assignment.

This class implements a (possibly sub-optimal) branch and bound approach for the bond order assignment problem that can be used by the AssignBondOrderProcessor . The implementation of this strategy is very similar to the KGreedy approach and much of its functionality can be reused. We thus derive from KGreedyBondOrderStrategy .

Definition at line 28 of file branchAndBoundBondOrderStrategy.h.

## Constructor & Destructor Documentation

## BranchAndBoundBondOrderStrategy()

BALL::BranchAndBoundBondOrderStrategy::BranchAndBoundBondOrderStrategy | ( | AssignBondOrderProcessor * | parent | ) |

## ~BranchAndBoundBondOrderStrategy()

virtual BALL::BranchAndBoundBondOrderStrategy::~BranchAndBoundBondOrderStrategy | ( |  | ) |

virtual

## Member Function Documentation

## clear()

virtual void BALL::BranchAndBoundBondOrderStrategy::clear | ( |  | ) |

virtual

Reimplemented from BALL::KGreedyBondOrderStrategy.

## computeNextSolution()

virtual boost::shared_ptr< BondOrderAssignment > BALL::BranchAndBoundBondOrderStrategy::computeNextSolution | ( |  | ) |

virtual

Reimplemented from BALL::KGreedyBondOrderStrategy.

## init()

virtual void BALL::BranchAndBoundBondOrderStrategy::init | ( |  | ) |

virtual

Reimplemented from BALL::KGreedyBondOrderStrategy.

## readOptions()

virtual bool BALL::BranchAndBoundBondOrderStrategy::readOptions | ( | const Options & | options | ) |

virtual

Reimplemented from BALL::KGreedyBondOrderStrategy.

## setDefaultOptions()

virtual void BALL::BranchAndBoundBondOrderStrategy::setDefaultOptions | ( |  | ) |

virtual

Reimplemented from BALL::KGreedyBondOrderStrategy.