BALL 1.5.0
Classes | List of all members
BALL::BranchAndBoundBondOrderStrategy Class Reference

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

Inheritance diagram for BALL::BranchAndBoundBondOrderStrategy:
BALL::KGreedyBondOrderStrategy BALL::AStarBondOrderStrategy BALL::BondOrderAssignmentStrategy

Classes

struct  Default
 
struct  Option
 Option names. More...
 

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< BondOrderAssignmentcomputeNextSolution ()
 
- Public Member Functions inherited from BALL::KGreedyBondOrderStrategy
 KGreedyBondOrderStrategy (AssignBondOrderProcessor *parent)
 
virtual ~KGreedyBondOrderStrategy ()
 
- Public Member Functions inherited from BALL::AStarBondOrderStrategy
 AStarBondOrderStrategy (AssignBondOrderProcessor *parent)
 
virtual ~AStarBondOrderStrategy ()
 
- Public Member Functions inherited from BALL::BondOrderAssignmentStrategy
 BondOrderAssignmentStrategy (AssignBondOrderProcessor *parent)
 
virtual boost::shared_ptr< BondOrderAssignmentcomputeNextSolution ()=0
 
virtual bool readOptions (const Options &options)
 
virtual void setDefaultOptions ()
 
virtual void clear ()
 
virtual void init ()=0
 

Additional Inherited Members

- Public Attributes inherited from BALL::BondOrderAssignmentStrategy
AssignBondOrderProcessorabop
 Our parent processor. More...
 
- Protected Attributes inherited from BALL::KGreedyBondOrderStrategy
float greedy_atom_type_penalty_
 
float greedy_bond_length_penalty_
 
Size greedy_k_
 
vector< PartialBondOrderAssignmentgreedy_set_
 
Position current_solution_
 
int greedy_node_expansions_
 
- Protected Attributes inherited from BALL::AStarBondOrderStrategy
PartialBondOrderAssignment::HEURISTIC_INDEX heuristic_index_
 The chosen heuristic. More...
 
std::priority_queue< PartialBondOrderAssignmentqueue_
 
int step_
 The priority queue. More...
 

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.