BALL  1.5.0
ILPBondOrderStrategy.h
Go to the documentation of this file.
1 #ifndef BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
2 #define BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
3 
4 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
6 #endif
7 
8 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
10 #endif
11 // forward declaration for lp_solve
12 struct _lprec;
13 typedef struct _lprec lprec;
14 
15 namespace BALL
16 {
25  {
26  public:
28  virtual ~ILPBondOrderStrategy();
29 
30  virtual void clear();
31  virtual void init();
32 
33  virtual bool readOptions(const Options& options);
34  virtual void setDefaultOptions();
35 
36  virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();
37 
38  protected:
39  bool valid_;
40 
41  // Vector for mapping from variable indices onto free bonds in the
42  // order used by the ILP
43  std::vector<Bond*> index_to_free_bond_;
44 
45  // number of bond variables in the ILP
47 
48  // Constant penalty (fixed bonds)
50 
51  // flag indicating whether constraints need to be added
53 
54  // the ilp
56  };
57 }
58 #endif // BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
BALL::Options
Definition: options.h:46
BALL::ILPBondOrderStrategy::clear
virtual void clear()
BALL::ILPBondOrderStrategy::readOptions
virtual bool readOptions(const Options &options)
BALL::ILPBondOrderStrategy::ilp_
lprec * ilp_
Definition: ILPBondOrderStrategy.h:55
bondOrderAssignment.h
BALL::ILPBondOrderStrategy
Definition: ILPBondOrderStrategy.h:23
BALL::ILPBondOrderStrategy::setDefaultOptions
virtual void setDefaultOptions()
BALL::ILPBondOrderStrategy::ILPBondOrderStrategy
ILPBondOrderStrategy(AssignBondOrderProcessor *parent)
BALL::ILPBondOrderStrategy::init
virtual void init()
BALL_SIZE_TYPE
BALL::ILPBondOrderStrategy::valid_
bool valid_
Definition: ILPBondOrderStrategy.h:39
bondOrderAssignmentStrategy.h
BALL
Definition: constants.h:12
BALL::ILPBondOrderStrategy::const_penalty_
float const_penalty_
Definition: ILPBondOrderStrategy.h:49
BALL::AssignBondOrderProcessor
Assignment of bond orders from topology information.
Definition: assignBondOrderProcessor.h:88
BALL::BondOrderAssignmentStrategy
Base class for bond order assignment algorithms.
Definition: bondOrderAssignmentStrategy.h:26
BALL::ILPBondOrderStrategy::~ILPBondOrderStrategy
virtual ~ILPBondOrderStrategy()
lprec
struct _lprec lprec
Definition: ILPBondOrderStrategy.h:13
BALL::ILPBondOrderStrategy::index_to_free_bond_
std::vector< Bond * > index_to_free_bond_
Definition: ILPBondOrderStrategy.h:43
BALL::ILPBondOrderStrategy::computeNextSolution
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()
BALL::ILPBondOrderStrategy::first_solution_
bool first_solution_
Definition: ILPBondOrderStrategy.h:52
BALL::ILPBondOrderStrategy::number_of_free_bonds_
Position number_of_free_bonds_
Definition: ILPBondOrderStrategy.h:46