PaGMO  1.1.5
Public Member Functions | Protected Member Functions | Friends
pagmo::algorithm::bee_colony Class Reference

The Artificial Bee Colony Solver (ABC) More...

#include <bee_colony.h>

Inheritance diagram for pagmo::algorithm::bee_colony:
Inheritance graph
[legend]

Public Member Functions

 bee_colony (int gen=1, int limit=20)
 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.
 

Detailed Description

The Artificial Bee Colony Solver (ABC)

bee.jpg
Bee
The Artificial Bee Colony (ABC) algorithm is a meta-heuristic algorithm inspired by the behaviour of bees.

At each call of the evolve method a number of function evaluations equal to 2 * gen * pop.size() is performed.

NOTE: when called on mixed-integer problems ABC treats the integer part as fixed and optimizes the continuous part.

See also
http://mf.erciyes.edu.tr/abc/pub/ABC.C
http://www.scholarpedia.org/article/Artificial_bee_colony_algorithm
Author
Andrea Mambrini (andre.nosp@m.a.ma.nosp@m.mbrin.nosp@m.i@gm.nosp@m.ail.c.nosp@m.om)

Definition at line 57 of file bee_colony.h.

Constructor & Destructor Documentation

pagmo::algorithm::bee_colony::bee_colony ( int  gen = 1,
int  limit = 20 
)

Constructor.

Allows to specify in detail all the parameters of the algorithm.

Parameters
[in]gennumber of generations (2 * pop.size() function evaluations per generation).
[in]limitnumber of tries after which a source of food is dropped if not improved
Exceptions
value_errorif number of iterations or limit are negative

Definition at line 49 of file bee_colony.cpp.

Member Function Documentation

void pagmo::algorithm::bee_colony::evolve ( population pop) const
virtual

Evolve implementation.

Run the ABC algorithm for the number of generations specified in the constructors.

Parameters
[in,out]popinput/output pagmo::population to be evolved.

Implements pagmo::algorithm::base.

Definition at line 73 of file bee_colony.cpp.

std::string pagmo::algorithm::bee_colony::human_readable_extra ( ) const
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 281 of file bee_colony.cpp.


The documentation for this class was generated from the following files: