BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
STRUCTURE
BONDORDERS
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
5
# include <
BALL/STRUCTURE/BONDORDERS/bondOrderAssignmentStrategy.h
>
6
#endif
7
8
#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
9
# include <
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
{
23
class
ILPBondOrderStrategy
24
:
public
BondOrderAssignmentStrategy
25
{
26
public
:
27
ILPBondOrderStrategy
(
AssignBondOrderProcessor
* parent);
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
46
Position
number_of_free_bonds_
;
47
48
// Constant penalty (fixed bonds)
49
float
const_penalty_
;
50
51
// flag indicating whether constraints need to be added
52
bool
first_solution_
;
53
54
// the ilp
55
lprec
*
ilp_
;
56
};
57
}
58
#endif // BALL_STRUCTURE_BONDORDERS_ILPBONDORDERSTRATEGY_H
Generated by
1.8.3.1