3 * SeGMO, a Sequential Global Multiobjective Optimiser
5 * Created by Dario Izzo on 5/16/08.
6 * Copyright 2008 ¿dvanced Concepts Team (European Space Agency). All rights reserved.
15 #include "GOproblem.h"
16 #include "constants.h"
17 #include "individual.h"
23 // TODO: pass by reference here, why the copies?
24 void createRandomPopulation(const std::vector
<double> &, const std::vector
<double> &, int N
, rng_double_type
&);
25 void resetVelocities(const std::vector
<double> &, const std::vector
<double> &, rng_double_type
&);
26 void evaluatePopulation(GOProblem
&);
27 void addIndividual(const Individual
&);
28 void substituteIndividual(const Individual
&, int);
29 double evaluateMean() const;
30 double evaluateStd() const;
31 unsigned int size () const;
32 Individual
extractBestIndividual() const;
33 Individual
extractWorstIndividual() const;
34 Population
extractRandomDeme(int, std::vector
<int> &, rng_double_type
&);
35 void insertDeme(const Population
&, const std::vector
<int> &);
36 void insertBestInDeme(const Population
&, const std::vector
<int> &);
37 void insertDemeForced(const Population
&, const std::vector
<int> &);
40 Individual
&operator[](int);
41 const Individual
&operator[](int) const;
42 void operator=(const Population
&newpop
);
43 void operator=(const Individual
&x
);
46 friend std::ostream
& operator<<(std::ostream
& s
, Population
& pop
);
48 std::vector
<Individual
> pop
;
51 std::ostream
& operator<<(std::ostream
& s
, Population
& pop
);