BALL
1.5.0
include
BALL
DOCKING
GENETICDOCK
geneticAlgorithm.h
Go to the documentation of this file.
1
// ----------------------------------------------------
2
// $Maintainer: Marcel Schumann $
3
// $Authors: Jan Fuhrmann, Marcel Schumann $
4
// ----------------------------------------------------
5
6
#ifndef BALL_DOCKING_GENETICDOCK_GENETICALGORITHM_H
7
#define BALL_DOCKING_GENETICDOCK_GENETICALGORITHM_H
8
9
#include "
geneticIndividual.h
"
10
#include <
BALL/DOCKING/GENETICDOCK/parameter.h
>
11
12
#include <vector>
13
#include <utility>
14
#include <random>
15
16
namespace
BALL
17
{
18
19
class
DockProblem;
20
21
class
DockingAlgorithm;
22
23
class
BALL_EXPORT
BALL_DEPRECATED
GeneticAlgorithm
24
{
25
friend
class
EvolutionaryDocking
;
26
27
public
:
28
//CREATE(GeneticAlgorithm)
29
32
GeneticAlgorithm
();
33
36
GeneticAlgorithm
(
const
GeneticAlgorithm
& ga);
37
40
GeneticAlgorithm
(
DockingAlgorithm
* docker,
DockProblem
*,
41
int
pop_number,
42
int
iter,
43
int
init,
44
int
pop,
45
int
surv,
46
double
mrate,
47
int
save,
48
int
citer,
49
double
cvalue,
50
int
cstart
51
);
52
55
virtual
~
GeneticAlgorithm
();
56
59
virtual
GeneticAlgorithm
& operator= (
const
GeneticAlgorithm
& ga);
60
63
// virtual GeneticAlgorithm* clone();
64
67
void
setup(
DockProblem
*,
68
int
pop_number,
69
int
iter,
70
int
init,
71
int
pop,
72
int
surv,
73
double
mrate,
74
int
save,
75
int
citer,
76
double
cvalue,
77
int
cstart
78
);
79
82
virtual
void
start();
83
86
virtual
double
getValue
() {
return
0.0; };
87
90
GeneticIndividual
* getIndividual(
Index
i);
91
94
bool
registerParameter(
GenericParameter
*);
95
96
protected
:
97
98
double
calculate(
GeneticIndividual
*);
99
100
vector<GenericParameter*>
parameters_
;
101
104
void
select(
Size
);
105
108
void
mate();
109
112
void
mutate();
113
116
void
cleanUp();
117
119
void
cleanPool(vector<GeneticIndividual>& pool);
120
123
bool
multiDemeCheck();
124
127
void
updatePool();
128
131
Size
population_size_
;
132
135
std::vector<std::vector<GeneticIndividual> >
pools_
;
136
139
std::vector<std::pair<GeneticIndividual*, GeneticIndividual*> >
selected_
;
140
143
std::vector<double>
probabilities_
;
144
147
DockProblem
*
gp_
;
148
151
Size
max_iterations_
;
152
155
Size
immune_
;
156
159
double
mutation_rate_
;
160
163
Size
iteration_
;
164
167
Size
survivors_
;
168
171
int
conv_start_
;
172
175
bool
finished_
;
176
177
DockingAlgorithm
*
docking_algorithm_
;
178
181
std::mt19937
rng_
;
182
185
GeneticIndividual
template_individual_
;
186
};
187
}
188
189
#endif
/* BALL_DOCKING_GENETICDOCK_GENETICALGORITHM_H */
BALL::GeneticAlgorithm::gp_
DockProblem * gp_
Definition:
geneticAlgorithm.h:147
BALL_INDEX_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::GeneticAlgorithm::template_individual_
GeneticIndividual template_individual_
Definition:
geneticAlgorithm.h:185
BALL::GeneticAlgorithm::probabilities_
std::vector< double > probabilities_
Definition:
geneticAlgorithm.h:143
BALL::EvolutionaryDocking
Definition:
evolutionaryDocking.h:34
BALL::GeneticAlgorithm::immune_
Size immune_
Definition:
geneticAlgorithm.h:155
BALL::GeneticAlgorithm::finished_
bool finished_
Definition:
geneticAlgorithm.h:175
BALL::GeneticAlgorithm::getValue
virtual double getValue()
Definition:
geneticAlgorithm.h:86
BALL::GeneticAlgorithm::iteration_
Size iteration_
Definition:
geneticAlgorithm.h:163
geneticIndividual.h
BALL_SIZE_TYPE
BALL::GeneticAlgorithm::rng_
std::mt19937 rng_
Definition:
geneticAlgorithm.h:181
BALL::GeneticAlgorithm::docking_algorithm_
DockingAlgorithm * docking_algorithm_
Definition:
geneticAlgorithm.h:177
BALL::GeneticAlgorithm::conv_start_
int conv_start_
Definition:
geneticAlgorithm.h:171
BALL::GeneticIndividual
Definition:
geneticIndividual.h:15
BALL::GeneticAlgorithm::max_iterations_
Size max_iterations_
Definition:
geneticAlgorithm.h:151
BALL
Definition:
constants.h:12
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition:
COMMON/global.h:64
BALL::GeneticAlgorithm::survivors_
Size survivors_
Definition:
geneticAlgorithm.h:167
BALL::GeneticAlgorithm::population_size_
Size population_size_
Definition:
geneticAlgorithm.h:131
BALL::GeneticAlgorithm::mutation_rate_
double mutation_rate_
Definition:
geneticAlgorithm.h:159
BALL::GeneticAlgorithm::selected_
std::vector< std::pair< GeneticIndividual *, GeneticIndividual * > > selected_
Definition:
geneticAlgorithm.h:139
BALL::GeneticAlgorithm::parameters_
vector< GenericParameter * > parameters_
Definition:
geneticAlgorithm.h:100
BALL::DockingAlgorithm
Definition:
dockingAlgorithm.h:45
BALL::DockProblem
Definition:
dockProblem.h:35
BALL::GenericParameter
Definition:
parameter.h:14
BALL::GeneticAlgorithm::pools_
std::vector< std::vector< GeneticIndividual > > pools_
Definition:
geneticAlgorithm.h:135
BALL::GeneticAlgorithm
Definition:
geneticAlgorithm.h:23
parameter.h
Generated by
1.8.16