BALL  1.4.79
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
BALL::GeneticAlgorithm Class Reference

#include <BALL/DOCKING/GENETICDOCK/geneticAlgorithm.h>

Public Member Functions

 GeneticAlgorithm ()
 
 GeneticAlgorithm (const GeneticAlgorithm &ga)
 
 GeneticAlgorithm (DockingAlgorithm *docker, DockProblem *, int pop_number, int iter, int init, int pop, int surv, double mrate, int save, int citer, double cvalue, int cstart)
 
virtual ~GeneticAlgorithm ()
 
virtual GeneticAlgorithm & operator= (const GeneticAlgorithm &ga)
 
void setup (DockProblem *, int pop_number, int iter, int init, int pop, int surv, double mrate, int save, int citer, double cvalue, int cstart)
 
virtual void start ()
 
virtual double getValue ()
 
GeneticIndividual * getIndividual (Index i)
 
bool registerParameter (GenericParameter *)
 

Protected Member Functions

double calculate (GeneticIndividual *)
 
void select (Size)
 
void mate ()
 
void mutate ()
 
void cleanUp ()
 
void cleanPool (vector< GeneticIndividual > &pool)
 
bool multiDemeCheck ()
 
void updatePool ()
 

Protected Attributes

vector< GenericParameter * > parameters_
 
Size population_size_
 
std::vector< std::vector< GeneticIndividual > > pools_
 
std::vector< std::pair< GeneticIndividual *, GeneticIndividual * > > selected_
 
std::vector< double > probabilities_
 
DockProblem * gp_
 
Size max_iterations_
 
Size immune_
 
double mutation_rate_
 
Size iteration_
 
Size survivors_
 
int conv_start_
 
bool finished_
 
DockingAlgorithm * docking_algorithm_
 
RandomNumberGenerator rng_
 
GeneticIndividual template_individual_
 

Friends

class EvolutionaryDocking
 

Detailed Description

Definition at line 21 of file geneticAlgorithm.h.

Constructor & Destructor Documentation

§ GeneticAlgorithm() [1/3]

BALL::GeneticAlgorithm::GeneticAlgorithm ( )

default constructor

§ GeneticAlgorithm() [2/3]

BALL::GeneticAlgorithm::GeneticAlgorithm ( const GeneticAlgorithm &  ga)

copy constructor

§ GeneticAlgorithm() [3/3]

BALL::GeneticAlgorithm::GeneticAlgorithm ( DockingAlgorithm *  docker,
DockProblem *  ,
int  pop_number,
int  iter,
int  init,
int  pop,
int  surv,
double  mrate,
int  save,
int  citer,
double  cvalue,
int  cstart 
)

constructor

§ ~GeneticAlgorithm()

virtual BALL::GeneticAlgorithm::~GeneticAlgorithm ( )
virtual

default destructor

Member Function Documentation

§ calculate()

double BALL::GeneticAlgorithm::calculate ( GeneticIndividual *  )
protected

§ cleanPool()

void BALL::GeneticAlgorithm::cleanPool ( vector< GeneticIndividual > &  pool)
protected

sorts the given pool according to the fitness values of its members and keeps only the best survivors_>ones (#best ones = survivors_)

§ cleanUp()

void BALL::GeneticAlgorithm::cleanUp ( )
protected

discard individuals

§ getIndividual()

GeneticIndividual* BALL::GeneticAlgorithm::getIndividual ( Index  i)

get i-th individual?!?!?

§ getValue()

virtual double BALL::GeneticAlgorithm::getValue ( )
inlinevirtual

Definition at line 83 of file geneticAlgorithm.h.

§ mate()

void BALL::GeneticAlgorithm::mate ( )
protected

produce offsprings

§ multiDemeCheck()

bool BALL::GeneticAlgorithm::multiDemeCheck ( )
protected

check for migration between populations

§ mutate()

void BALL::GeneticAlgorithm::mutate ( )
protected

random alteration

§ operator=()

virtual GeneticAlgorithm& BALL::GeneticAlgorithm::operator= ( const GeneticAlgorithm &  ga)
virtual

assignment operator

§ registerParameter()

bool BALL::GeneticAlgorithm::registerParameter ( GenericParameter *  )

register a parameter for optimization

§ select()

void BALL::GeneticAlgorithm::select ( Size  )
protected

select individuals for mating

§ setup()

void BALL::GeneticAlgorithm::setup ( DockProblem *  ,
int  pop_number,
int  iter,
int  init,
int  pop,
int  surv,
double  mrate,
int  save,
int  citer,
double  cvalue,
int  cstart 
)

clone methodsetup method

§ start()

virtual void BALL::GeneticAlgorithm::start ( )
virtual

optimize pool

§ updatePool()

void BALL::GeneticAlgorithm::updatePool ( )
protected

assign fitness score

Friends And Related Function Documentation

§ EvolutionaryDocking

friend class EvolutionaryDocking
friend

Definition at line 24 of file geneticAlgorithm.h.

Member Data Documentation

§ conv_start_

int BALL::GeneticAlgorithm::conv_start_
protected

iteration for the first convergence test

Definition at line 168 of file geneticAlgorithm.h.

§ docking_algorithm_

DockingAlgorithm* BALL::GeneticAlgorithm::docking_algorithm_
protected

Definition at line 174 of file geneticAlgorithm.h.

§ finished_

bool BALL::GeneticAlgorithm::finished_
protected

true if algorithm has stopped

Definition at line 172 of file geneticAlgorithm.h.

§ gp_

DockProblem* BALL::GeneticAlgorithm::gp_
protected

assings fitness score to individuals

Definition at line 144 of file geneticAlgorithm.h.

§ immune_

Size BALL::GeneticAlgorithm::immune_
protected

number of individuals immune to mutation

Definition at line 152 of file geneticAlgorithm.h.

§ iteration_

Size BALL::GeneticAlgorithm::iteration_
protected

count iterations during optimizaton

Definition at line 160 of file geneticAlgorithm.h.

§ max_iterations_

Size BALL::GeneticAlgorithm::max_iterations_
protected

number of iterations

Definition at line 148 of file geneticAlgorithm.h.

§ mutation_rate_

double BALL::GeneticAlgorithm::mutation_rate_
protected

fraction of individuals to be mutated

Definition at line 156 of file geneticAlgorithm.h.

§ parameters_

vector<GenericParameter*> BALL::GeneticAlgorithm::parameters_
protected

Definition at line 97 of file geneticAlgorithm.h.

§ pools_

std::vector<std::vector<GeneticIndividual> > BALL::GeneticAlgorithm::pools_
protected

vector of populations

Definition at line 132 of file geneticAlgorithm.h.

§ population_size_

Size BALL::GeneticAlgorithm::population_size_
protected

size of one population

Definition at line 128 of file geneticAlgorithm.h.

§ probabilities_

std::vector<double> BALL::GeneticAlgorithm::probabilities_
protected

probabilities for rank weighting

Definition at line 140 of file geneticAlgorithm.h.

§ rng_

RandomNumberGenerator BALL::GeneticAlgorithm::rng_
protected

Definition at line 178 of file geneticAlgorithm.h.

§ selected_

std::vector<std::pair<GeneticIndividual*, GeneticIndividual*> > BALL::GeneticAlgorithm::selected_
protected

vector of selected individuals

Definition at line 136 of file geneticAlgorithm.h.

§ survivors_

Size BALL::GeneticAlgorithm::survivors_
protected

number of individuals surviving an iteration

Definition at line 164 of file geneticAlgorithm.h.

§ template_individual_

GeneticIndividual BALL::GeneticAlgorithm::template_individual_
protected

used to initialize new individuals

Definition at line 182 of file geneticAlgorithm.h.