Loading...
Searching...
No Matches
ILPBondOrderStrategy.h
Go to the documentation of this file.
#ifndef BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
#define BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_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
// forward declaration for lp_solve
struct _lprec;
typedef struct _lprec lprec;
namespace BALL
{
class ILPBondOrderStrategy
: public BondOrderAssignmentStrategy
{
public:
ILPBondOrderStrategy(AssignBondOrderProcessor* parent);
virtual ~ILPBondOrderStrategy();
virtual void clear();
virtual void init();
virtual bool readOptions(const Options& options);
virtual void setDefaultOptions();
virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();
protected:
bool valid_;
// Vector for mapping from variable indices onto free bonds in the
// order used by the ILP
std::vector<Bond*> index_to_free_bond_;
// number of bond variables in the ILP
Position number_of_free_bonds_;
// Constant penalty (fixed bonds)
float const_penalty_;
// flag indicating whether constraints need to be added
bool first_solution_;
// the ilp
lprec* ilp_;
};
}
#endif // BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
lprec
struct _lprec lprec
Definition ILPBondOrderStrategy.h:13
bondOrderAssignmentStrategy.h
bondOrderAssignment.h
BALL::AssignBondOrderProcessor
Assignment of bond orders from topology information.
Definition assignBondOrderProcessor.h:90
BALL::BondOrderAssignmentStrategy::BondOrderAssignmentStrategy
BondOrderAssignmentStrategy(AssignBondOrderProcessor *parent)
BALL::ILPBondOrderStrategy::ilp_
lprec * ilp_
Definition ILPBondOrderStrategy.h:55
BALL::ILPBondOrderStrategy::~ILPBondOrderStrategy
virtual ~ILPBondOrderStrategy()
BALL::ILPBondOrderStrategy::index_to_free_bond_
std::vector< Bond * > index_to_free_bond_
Definition ILPBondOrderStrategy.h:43
BALL::ILPBondOrderStrategy::setDefaultOptions
virtual void setDefaultOptions()
BALL::ILPBondOrderStrategy::init
virtual void init()
BALL::ILPBondOrderStrategy::valid_
bool valid_
Definition ILPBondOrderStrategy.h:39
BALL::ILPBondOrderStrategy::number_of_free_bonds_
Position number_of_free_bonds_
Definition ILPBondOrderStrategy.h:46
BALL::ILPBondOrderStrategy::clear
virtual void clear()
BALL::ILPBondOrderStrategy::const_penalty_
float const_penalty_
Definition ILPBondOrderStrategy.h:49
BALL::ILPBondOrderStrategy::ILPBondOrderStrategy
ILPBondOrderStrategy(AssignBondOrderProcessor *parent)
BALL::ILPBondOrderStrategy::computeNextSolution
virtual boost::shared_ptr< BondOrderAssignment > computeNextSolution()
BALL::ILPBondOrderStrategy::first_solution_
bool first_solution_
Definition ILPBondOrderStrategy.h:52
BALL::ILPBondOrderStrategy::readOptions
virtual bool readOptions(const Options &options)
BALL::Options
Definition options.h:48
BALL
Definition constants.h:13
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140