| PaGMO
    1.1.5
    | 
Particle Swarm optimization generational. More...
#include <pso_generational.h>

| Public Member Functions | |
| pso_generational (int gen=1, double omega=0.7298, double eta1=2.05, double eta2=2.05, double vcoeff=0.5, int variant=5, int neighb_type=2, int neighb_param=4) | |
| Constructor.  More... | |
| base_ptr | clone () const | 
| Clone method. | |
| void | evolve (population &) const | 
| Evolve implementation.  More... | |
| std::string | get_name () const | 
| Algorithm name. | |
|  Public Member Functions inherited from pagmo::algorithm::base | |
| base () | |
| Default constructor.  More... | |
| virtual | ~base () | 
| Trivial destructor.  More... | |
| std::string | human_readable () const | 
| Return human readable representation of the algorithm.  More... | |
| void | set_screen_output (const bool p) | 
| Setter-Getter for protected m_screen_output data.  More... | |
| bool | get_screen_output () const | 
| Gets screen output.  More... | |
| void | reset_rngs (const unsigned int) const | 
| Resets the seed of the internal rngs using a user-provided seed.  More... | |
| Protected Member Functions | |
| std::string | human_readable_extra () const | 
| Extra human readable algorithm info.  More... | |
| Friends | |
| class | boost::serialization::access | 
| Additional Inherited Members | |
|  Protected Attributes inherited from pagmo::algorithm::base | |
| bool | m_screen_output | 
| Indicates to the derived class whether to print stuff on screen. | |
| rng_double | m_drng | 
| Random number generator for double-precision floating point values. | |
| rng_uint32 | m_urng | 
| Random number generator for unsigned integer values. | |
| unsigned int | m_fevals | 
| A counter for the number of function evaluations. | |
Particle Swarm optimization generational.
As opposed to the main PSO algorithm implemented in Pagmo, that is pagmo::algorithm::pso, this version of Particle Swarm Optimization is generational. In other words, the velocity is first calculated for all particles, then the position is updated.
NOTE: this PSO is suitable for stochastic optimization problems. The random seed is changed at the end of each generation
Definition at line 52 of file pso_generational.h.
| pagmo::algorithm::pso_generational::pso_generational | ( | int | gen = 1, | 
| double | omega = 0.7298, | ||
| double | eta1 = 2.05, | ||
| double | eta2 = 2.05, | ||
| double | vcoeff = 0.5, | ||
| int | variant = 5, | ||
| int | neighb_type = 2, | ||
| int | neighb_param = 4 | ||
| ) | 
Constructor.
Allows to specify in detail all the parameters of the algorithm.
| [in] | gen | number of generations | 
| [in] | omega | particles' inertia weight, or alternatively, the constriction coefficient (usage depends on the variant used) | 
| [in] | eta1 | magnitude of the force, applied to the particle's velocity, in the direction of its previous best position | 
| [in] | eta2 | magnitude of the force, applied to the particle's velocity, in the direction of the best position in its neighborhood | 
| [in] | vcoeff | velocity coefficient (determining the maximum allowed particle velocity) | 
| [in] | variant | algorithm variant to use | 
| [in] | neighb_type | swarm topology to use | 
| [in] | neighb_param | if the lbest topology is selected (neighb_type=2), it represents each particle's indegree (also outdegree) in the swarm topology. Particles have neighbours up to a radius of k = neighb_param / 2 in the ring. If the Randomly-varying neighbourhood topology is selected (neighb_type=4), neighb_param represents each particle's maximum outdegree in the swarm topology. The minimum outdegree is 1 (the particle always connects back to itself). | 
| value_error | if m_omega is not in the [0,1] interval, eta1, eta2 are not in the [0,1] interval, vcoeff is not in ]0,1], variant is not one of 1 .. 6, neighb_type is not one of 1 .. 4 | 
Definition at line 58 of file pso_generational.cpp.
| 
 | virtual | 
Evolve implementation.
Run the PSO algorithm for the number of generations specified in the constructors.
| [in,out] | pop | input/output pagmo::population to be evolved. | 
We now set the cleared pop. cur_x is the best_x, re-evaluated with new seed.
Implements pagmo::algorithm::base.
Definition at line 104 of file pso_generational.cpp.
| 
 | protectedvirtual | 
Extra human readable algorithm info.
Will return a formatted string displaying the parameters of the algorithm.
Reimplemented from pagmo::algorithm::base.
Definition at line 619 of file pso_generational.cpp.
 1.8.9.1
 1.8.9.1