BALL
1.4.1
|
00001 #ifndef BALL_STRUCTURE_BONDORDERS_BRANCHANDBOUNDBONDORDERSTRATEGY_H 00002 #define BALL_STRUCTURE_BONDORDERS_BRANCHANDBOUNDBONDORDERSTRATEGY_H 00003 00004 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H 00005 # include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignmentStrategy.h> 00006 #endif 00007 00008 #ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H 00009 # include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignment.h> 00010 #endif 00011 00012 #ifndef BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H 00013 # include <BALL/STRUCTURE/BONDORDERS/KGreedyBondOrderStrategy.h> 00014 #endif 00015 00016 namespace BALL 00017 { 00028 class BranchAndBoundBondOrderStrategy 00029 : public KGreedyBondOrderStrategy 00030 { 00031 public: 00035 00036 struct BALL_EXPORT Option 00037 { 00044 static const char* BRANCH_AND_BOUND_CUTOFF; 00045 }; 00046 00047 struct BALL_EXPORT Default 00048 { 00049 static const float BRANCH_AND_BOUND_CUTOFF; 00050 }; 00052 00053 BranchAndBoundBondOrderStrategy(AssignBondOrderProcessor* parent); 00054 virtual ~BranchAndBoundBondOrderStrategy(); 00055 00056 virtual void clear(); 00057 virtual void init(); 00058 00059 virtual bool readOptions(const Options& options); 00060 virtual void setDefaultOptions(); 00061 00062 virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution(); 00063 00064 protected: 00065 }; 00066 } 00067 00068 #endif // BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H