![]() |
ECF 1.5
|
Public Member Functions | |
| bool | initialize (StateP state) |
| Initialize the algorithm, read parameters from the system, do a sanity check. More... | |
| bool | advanceGeneration (StateP state, DemeP deme) |
| Perform a single generation on a single deme. More... | |
| void | quickSort (std::vector< IndividualP > *group, int left, int right, std::string prop, int objective) |
| void | sortBasedOnProperty (std::vector< IndividualP > *deme, double *fMin, double *fMax, std::string prop, int objective) |
| int | checkDominance (MOFitnessP fitness1, MOFitnessP fitness2) |
| void | nonDomSorting (boost::shared_ptr< std::vector< IndividualP > > pool, int N, boost::shared_ptr< std::vector< std::vector< IndividualP > > > fronts) |
| void | crowdedDistanceEst (StateP state, std::vector< IndividualP > *deme) |
| void | makeNewPop (StateP state, DemeP deme) |
Public Member Functions inherited from Algorithm | |
| std::string | getName () |
| Get algorithm name. Each algorithm is uniquely identified with its name. More... | |
| virtual bool | isParallel () |
| Is algorithm parallel (false by default for all algorithms not inheriting ParallelAlgorithm class). More... | |
| bool | isImplicitParallel () |
| Is algorithm run in implicit parallel mode (in development, see tutorial). More... | |
| virtual bool | advanceGeneration (StateP, DemeP)=0 |
| Perform a single generation on a single deme. More... | |
| virtual bool | initialize (StateP) |
| Initialize the algorithm, read parameters from the system, do a sanity check. More... | |
| virtual void | registerParameters (StateP) |
| Register algorithm's parameters (if any). More... | |
| virtual bool | initializePopulation (StateP) |
| Evaluate initial population (called by State::run before evolution starts). More... | |
| virtual void | read () |
| virtual bool | advanceGeneration (StateP state) |
| Perform one generation of the algorithm on the whole population. More... | |
| void | evaluate (IndividualP ind) |
| Helper function: evaluate an individual. More... | |
| uint | mutate (const std::vector< IndividualP > &pool) |
| Helper function: send a vector of individuals to mutation. More... | |
| uint | mutate (const IndividualP victim) |
| Helper function: send a single individual to mutation. More... | |
| void | replaceWith (IndividualP oldInd, IndividualP newInd) |
| Helper function: replace an individual in current deme. More... | |
| void | replaceWith (uint oldIndId, IndividualP newInd) |
| Helper function: replace an individual at given position in current deme. More... | |
| void | registerParallelParameters (StateP state) |
| used only in parallel ECF More... | |
| bool | initializeParallel (StateP state) |
| used only in parallel ECF More... | |
| virtual bool | advanceGeneration (StateP state) |
| Parallel ECF: Perform one generation of the algorithm. | |
| virtual void | bcastTermination (StateP state) |
| Parallel ECF: broadcast termination to worker processes. More... | |
| void | registerParallelParameters (StateP state) |
| Parallel ECF: Register parameters for implicit parallel algorithm version. | |
| bool | initializeParallel (StateP state) |
| Parallel ECF: Initialize implicit parallel algorithm. | |
| void | initializeImplicit (StateP state) |
| Parallel ECF: Initialize implicit parallel mode. More... | |
| bool | implicitParallelOperate (StateP state) |
| Parallel ECF: Worker processes in implicit parallel algorithm. More... | |
| void | evaluate (IndividualP ind) |
| Parallel ECF: evaluate an individual. More... | |
| void | implicitEvaluate (IndividualP ind) |
| Parallel ECF: implicitly evaluate an individual (store for later evaluation in implicit parallel version). More... | |
| uint | mutate (const IndividualP victim) |
| Parallel ECF: immediately mutate an individual. More... | |
| uint | mutate (const std::vector< IndividualP > &pool) |
| Parallel ECF: mutate a vector of individuals. More... | |
| uint | implicitMutate (IndividualP ind) |
| Parallel ECF: implicitly mutate an individual (store for later mutation in implicit parallel version). More... | |
| void | replaceWith (IndividualP oldInd, IndividualP newInd) |
| Parallel ECF: replace an individual in a deme. | |
| void | replaceWith (uint oldIndId, IndividualP newInd) |
| Parallel ECF: replace an individual at given position in a deme. More... | |
| bool | mate (IndividualP p1, IndividualP p2, IndividualP child) |
| Helper function: crossover two individuals. More... | |
| IndividualP | copy (IndividualP source) |
| Helper function: make a copy of an individual. More... | |
| bool | removeFrom (IndividualP victim, std::vector< IndividualP > &pool) |
| Helper function: remove victim from pool of individual pointers. More... | |
| bool | isMember (IndividualP single, std::vector< IndividualP > &pool) |
| Helper function: check if individual is in the pool. More... | |
Protected Attributes | |
| std::vector< IndividualP > * | parentPop |
| boost::shared_ptr< std::vector< std::vector< IndividualP > > > | fronts |
| SelectionOperatorP | selRandomOp |
| SelectionOperatorP | selWorstOp |
Protected Attributes inherited from Algorithm | |
| DemeP | activeDeme_ |
| std::string | name_ |
| algorithm name More... | |
| bool | bImplicitParallel_ |
| implicit parallel flag More... | |
| std::vector< SelectionOperatorP > | selectionOp |
| sel. operators used by algorithm More... | |
| std::vector< IndividualP > | requests_ |
| std::vector< IndividualP > | stored_ |
| individual vectors for implicit evaluation More... | |
| std::vector< uint > | requestIds_ |
| individual indexes for implicit evaluation More... | |
| std::vector< IndividualP > | demeCopy_ |
| std::vector< IndividualP > | myJob_ |
| worker's individual vector More... | |
| CommunicatorP | comm_ |
| uint | jobSize_ |
| uint | totalEvaluations_ |
| uint | wastedEvaluations_ |
| bool | bImplicitEvaluation_ |
| implicit evaluation flag More... | |
| bool | bImplicitMutation_ |
| implicit mutation flag More... | |
| bool | bSynchronized_ |
| is implicit paralelization synchronous More... | |
| SelectionOperatorP | selBestOp |
| std::vector< IndividualP > | requestsMut_ |
| std::vector< IndividualP > | receivedMut_ |
| individual vectors for implicit mutation More... | |
| std::vector< uint > | requestMutIds_ |
| individual indexes for implicit mutation More... | |
| IndividualP | currentBest_ |
| std::vector< IndividualP > | storedInds_ |
| std::vector< std::vector< IndividualP > > | sentInds_ |
| individuals sent for evaluation More... | |
| std::vector< bool > | isConsistent_ |
| is individual (genotype-fitness pair) consistent More... | |
Additional Inherited Members | |
Public Attributes inherited from Algorithm | |
| CrossoverP | crossover_ |
| sptr to container of crossover operators (set by the system) More... | |
| MutationP | mutation_ |
| sptr to container of mutation operators (set by the system) More... | |
| EvaluateOpP | evalOp_ |
| sptr to evaluation operator (set by the system) More... | |
| StateP | state_ |
Protected Member Functions inherited from Algorithm | |
| bool | registerParameter (StateP state, std::string name, voidP value, enum ECF::type T, std::string description="") |
| Helper function: register a single parameter with the system. More... | |
| voidP | getParameterValue (StateP state, std::string name) |
| Helper function: get parameter value from the system. More... | |
| void | storeIndividual (IndividualP) |
| stores the individual (if it is consistent), resets consistency flag More... | |
| void | storeGenotypes (std::vector< IndividualP > &) |
| adds genotypes of individuals to 'sent' repository More... | |
| void | setConsistency (IndividualP) |
| denotes current individual as consistent More... | |
| void | restoreIndividuals (std::vector< uint >) |
| restores individuals whose fitness is received More... | |
| void | restorePopulation () |
| restores inconsistent individuals to last consistent state More... | |
Definition at line 8 of file AlgNSGA2.h.
| AlgNSGA2::AlgNSGA2 | ( | ) |
Definition at line 9 of file AlgNSGA2.cpp.
|
virtual |
Perform a single generation on a single deme.
Must be implemented by a specific algorithm class
Implements Algorithm.
Definition at line 305 of file AlgNSGA2.cpp.
| int AlgNSGA2::checkDominance | ( | MOFitnessP | fitness1, |
| MOFitnessP | fitness2 | ||
| ) |
Definition at line 84 of file AlgNSGA2.cpp.
| void AlgNSGA2::crowdedDistanceEst | ( | StateP | state, |
| std::vector< IndividualP > * | deme | ||
| ) |
Definition at line 208 of file AlgNSGA2.cpp.
|
virtual |
Initialize the algorithm, read parameters from the system, do a sanity check.
Called by the system before the algorithm starts (Algorithm::advanceGeneration)
Reimplemented from Algorithm.
Definition at line 23 of file AlgNSGA2.cpp.
| void AlgNSGA2::makeNewPop | ( | StateP | state, |
| DemeP | deme | ||
| ) |
Definition at line 270 of file AlgNSGA2.cpp.
| void AlgNSGA2::nonDomSorting | ( | boost::shared_ptr< std::vector< IndividualP > > | pool, |
| int | N, | ||
| boost::shared_ptr< std::vector< std::vector< IndividualP > > > | fronts | ||
| ) |
Definition at line 124 of file AlgNSGA2.cpp.
| void AlgNSGA2::quickSort | ( | std::vector< IndividualP > * | group, |
| int | left, | ||
| int | right, | ||
| std::string | prop, | ||
| int | objective = -1 |
||
| ) |
Definition at line 33 of file AlgNSGA2.cpp.
| void AlgNSGA2::sortBasedOnProperty | ( | std::vector< IndividualP > * | deme, |
| double * | fMin, | ||
| double * | fMax, | ||
| std::string | prop, | ||
| int | objective = -1 |
||
| ) |
Definition at line 71 of file AlgNSGA2.cpp.
|
protected |
Definition at line 12 of file AlgNSGA2.h.
|
protected |
Definition at line 11 of file AlgNSGA2.h.
|
protected |
Definition at line 13 of file AlgNSGA2.h.
|
protected |
Definition at line 13 of file AlgNSGA2.h.