/usr/include/BALL/STRUCTURE/BONDORDERS/branchAndBoundBondOrderStrategy.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #ifndef BALL_STRUCTURE_BONDORDERS_BRANCHANDBOUNDBONDORDERSTRATEGY_H
#define BALL_STRUCTURE_BONDORDERS_BRANCHANDBOUNDBONDORDERSTRATEGY_H
#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignmentStrategy.h>
#endif
#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignment.h>
#endif
#ifndef BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H
# include <BALL/STRUCTURE/BONDORDERS/KGreedyBondOrderStrategy.h>
#endif
namespace BALL
{
/** 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
* \link AssignBondOrderProcessor AssignBondOrderProcessor \endlink.
* The implementation of this strategy
* is very similar to the KGreedy approach and much of its functionality
* can be reused. We thus derive from \link KGreedyBondOrderStrategy
* KGreedyBondOrderStrategy \endlink.
*/
class BranchAndBoundBondOrderStrategy
: public KGreedyBondOrderStrategy
{
public:
/** @name Constant Definitions
*/
//@{
/// Option names
struct BALL_EXPORT Option
{
/** the percentage cutoff for keeping PQ-Entries in the branch and bound algorithm.
* Default is 1.2.
* @see Option::AlgorithmBRANCH_AND_BOUND;
* \par
* <b>NOTE:</b> This option is still experimental.
*/
static const char* BRANCH_AND_BOUND_CUTOFF;
};
struct BALL_EXPORT Default
{
static const float BRANCH_AND_BOUND_CUTOFF;
};
//@}
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();
protected:
};
}
#endif // BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H
|