|
GALib-Parallel
Header-only C++ library for parallel evolutionary algorithms
|
#include <DifferentialEvolutionGA.h>
Public Member Functions | |
| DifferentialEvolutionGA (FitnessFunction< GeneType > &ff, double f_weight, double cr_rate, std::size_t max_gen, std::size_t threads=1) | |
| void | run (Population< GeneType > &population) override |
| Executes the optimization process on the given population. | |
Public Member Functions inherited from galib::Algorithm< GeneType > | |
| virtual | ~Algorithm ()=default |
| virtual void | enableConsoleLogging (const std::size_t interval) |
| Enables logging of progress to the standard output. | |
| virtual void | enableFileLogging (const std::string &path, std::size_t interval) |
| Enables logging of population snapshots to a CSV file. | |
| virtual void | enableLogging (const std::string &) |
| Placeholder for generic logging configuration. | |
Additional Inherited Members | |
Protected Member Functions inherited from galib::Algorithm< GeneType > | |
| void | notifyLoggers (std::size_t gen, const Population< GeneType > &pop) |
| Notifies all active loggers to record the current state. | |
Protected Attributes inherited from galib::Algorithm< GeneType > | |
| std::unique_ptr< utils::ConsoleLogger< GeneType > > | console_logger_m |
| std::unique_ptr< utils::FileLogger< GeneType > > | file_logger_m |
Definition at line 22 of file DifferentialEvolutionGA.h.
|
inline |
Definition at line 41 of file DifferentialEvolutionGA.h.
|
inlineoverridevirtual |
Executes the optimization process on the given population.
This is a pure-virtual method that must be implemented by concrete algorithms (e.g., StandardGA, IslandGA).
| population | The population to optimize. Modified in-place. |
Implements galib::Algorithm< GeneType >.
Definition at line 54 of file DifferentialEvolutionGA.h.
References galib::Population< GeneType >::empty(), galib::FitnessFunction< GeneType >::evaluate(), galib::Individual< GeneType >::getGenotype(), galib::FitnessFunction< GeneType >::getLowerBound(), galib::Population< GeneType >::getNumGenes(), galib::FitnessFunction< GeneType >::getUpperBound(), galib::Algorithm< GeneType >::notifyLoggers(), galib::Individual< GeneType >::setFitness(), and galib::Population< GeneType >::size().