ecr: Evolutionary Computing in R

Provides a powerful framework for evolutionary computing in R. The user can easily construct powerful evolutionary algorithms for tackling both single- and multi-objective problems by plugging in different predefined evolutionary building blocks, e. g., operators for mutation, recombination and selection with just a few lines of code. Your problem cannot be easily solved with a standard EA which works on real-valued vectors, permutations or binary strings? No problem, 'ecr' has been developed with that in mind. Extending the framework with own operators is also possible. Additionally there are various comfort functions, like monitoring, logging and more.

AuthorJakob Bossek [aut, cre], Dirk Surmann [ctb]
Date of publication2016-09-10 18:06:34
MaintainerJakob Bossek <j.bossek@gmail.com>
LicenseBSD_2_clause + file LICENSE
Version1.0.1
https://github.com/jakobbossek/ecr

View on CRAN

Man pages

asemoa: Implementation of the NSGA-II EMOA algorithm by Deb.

autoplot.ecr_single_objective_result: Plot optimization trace.

buildInitialPopulation: Helper function to build initial population.

computeAverageHausdorffDistance: Average Hausdorff Distance computation.

computeCrowdingDistance: Compute the crowding distance of a set of points.

computeDistanceFromPointToSetOfPoints: Computes distance between a single point and set of points.

computeGenerationalDistance: Computes Generational Distance.

computeInvertedGenerationalDistance: Computes Inverted Generational Distance.

dominated: Check for pareto dominance.

dominated_hypervolume: Functions for the calculation of the dominated hypervolume...

dominates: Dominance relation check.

doNondominatedSorting: Fast non-dominated sorting algorithm.

doTheEvolution: Working horse of the ecr package.

ecr: Interface to 'ecr' similar to the 'optim' function.

ecrpackage: ecr: Evolutionary Computing in R

ecr_parallelization: Parallelization in ecr

ecr_result: Result object.

emoa_indicators: Computation of the unary epsilon-indicator.

evaluateFitness: Computes the fitness values for each member of a given...

evolutionary_setters: Collection of functions to set specific evolutionay...

generateOffspring: Creates offspring from a given mating pool of parents.

getAvailableEventNames: Receive a character vector of all valid event names.

getEvaluations: Get number of function evaluations.

getGenerations: Get number of generations.

getNextGeneration: Performs survival selection.

getOperatorName: Get name of a operator.

getOperatorParameters: Get the operator's parameters.

getSupportedRepresentations: Get supported representations.

isEcrOperator: Check if given function is an ecr operator.

is.supported: Check if ecr operator supports given representation.

makeGenerator: Construct a generator.

makeMonitor: Factory method for monitor objects.

makeMutator: Construct a mutation operator.

makeOperator: Construct evolutionary operator.

makeOptimizationTask: Creates an optimization task.

makePopulation: Generate a population.

makeRecombinator: Construct a recombination operator.

makeSelector: Construct a selection operator.

makeTerminator: Generate stopping condition.

mergePopulations: Merge populations.

nsga2: Implementation of the NSGA-II EMOA algorithm by Deb.

onePlusOneGA: Simple (1 + 1) Genetic Algorithm.

OptState: Optimization state.

OptStateGetter: Optimization state getter functions.

print.ecr_control: Print ecr control object.

reference_point_approximation: Reference point approximations.

registerAction: Register an action.

rescalePoints: Rescaling of points.

selectForMating: Generate mating pool.

selectForSurvival: Generate mating pool.

setupBinaryGenerator: Generates a generator object for the initial population.

setupBitFlipMutator: Generator of the Bitplip mutation operator.

setupCloseToOptimumTerminator: Stopping condition: close to optimum.

setupConsoleMonitor: Simple stdout monitoring function.

setupCrossoverRecombinator: Generator of the one-point crossover recombination operator.

setupDominatedHypervolumeSelector: Dominated hypervolume selector.

setupECRControl: Generates control object.

setupEvolutionaryOperators: Enhance control object with evolutionary operators.

setupGaussMutator: Generator of the Gaussian mutation operator.

setupGreedySelector: Simple "greedy" selector.

setupInsertionMutator: Generator for the Insertion mutation operator.

setupIntermediateRecombinator: Generator of the indermediate recombination operator.

setupInversionMutator: Generator for the Inversion mutation operator.

setupMaximumEvaluationsTerminator: Stopping condition: maximum number of function evaluations.

setupMaximumIterationsTerminator: Stopping condition: maximum number of iterations.

setupMaximumTimeTerminator: Stopping condition: time limit.

setupNondomSelector: Non-dominated sorting selector.

setupNullRecombinator: Generator of the "null" recombination operator.

setupOptPathLoggingMonitor: Logging monitor.

setupOptState: Generate an optimization state object.

setupOXRecombinator: Generator of the Ordered-Crossover (OX) recombination...

setupPermutationGenerator: Generates a generator object for the initial population.

setupPMXRecombinator: Generator of the Partially-Mapped-Crossover (PMX)...

setupPolynomialMutator: Generator of the polynomial mutation operator.

setupRouletteWheelSelector: Generator for Roulette-Wheel-Selection (fitness-proportional...

setupSBXRecombinator: Generator of the Simulated Binary Crossover (SBX)...

setupScrambleMutator: Generator for the Scramble mutation operator.

setupSimpleSelector: Simple (naive) mating pool generator.

setupSwapMutator: Generator for the Swap mutation operator.

setupTerminators: Generator for some frequently used stopping conditions.

setupTournamentSelector: Generator for k-Tournament selection.

setupUniformGenerator: Generates the uniform generator object for the initial...

setupUniformMutator: Generator of the Uniform mutation operator.

simpleEA: Simple (mu + lambda) EA implementation.

smsemoa: Implementation of the SMS-EMOA by Emmerich et al.

summary.ecr_multi_objective_result: Summary function for multi objective ecr result.

updateOptState: Update optimization state.

which.dominated: Determine which points of a set are (non)dominated.

wrapChildren: Wrap the individuals constructed by a recombination operator.

Functions

approximateIdealPoint Man page
approximateNadirPoint Man page
asemoa Man page
autoplot.ecr_single_objective_result Man page
buildInitialPopulation Man page
computeAverageHausdorffDistance Man page
computeCrowdingDistance Man page
computeDistanceFromPointToSetOfPoints Man page
computeDominatedHypervolume Man page
computeEpsilonIndicator Man page
computeGenerationalDistance Man page
computeHypervolumeContribution Man page
computeHypervolumeIndicator Man page
computeInvertedGenerationalDistance Man page
computeR1Indicator Man page
computeR2Indicator Man page
computeR3Indicator Man page
dominated Man page
dominates Man page
\%dominates\% Man page
doNondominatedSorting Man page
doTheEvolution Man page
ecr Man page
ecrpackage Man page
ecrpackage-package Man page
ecr_parallelization Man page
ecr_result Man page
evaluateFitness Man page
generateOffspring Man page
getAvailableEventNames Man page
getEvaluations Man page
getGenerations Man page
getNextGeneration Man page
getOperatorName Man page
getOperatorParameters Man page
getOptStateBestIndividual Man page
getOptStateControl Man page
getOptStateCurrentEvaluations Man page
getOptStateCurrentIter Man page
getOptStateFitness Man page
getOptStateOptPath Man page
getOptStateParamSet Man page
getOptStatePopulation Man page
getOptStateTask Man page
getOptStateTimePassed Man page
getSupportedRepresentations Man page
isDominated Man page
\%isDominatedBy\% Man page
isEcrOperator Man page
is.supported Man page
makeGenerator Man page
makeMonitor Man page
makeMutator Man page
makeOperator Man page
makeOptimizationTask Man page
makePopulation Man page
makeRecombinator Man page
makeSelector Man page
makeTerminator Man page
mergePopulations Man page
nondominated Man page
nsga2 Man page
onePlusOneGA Man page
OptState Man page
OptStateGetter Man page
print.ecr_control Man page
registerAction Man page
rescalePoints Man page
selectForMating Man page
selectForSurvival Man page
setupBinaryGenerator Man page
setupBitFlipMutator Man page
setupCloseToOptimumTerminator Man page
setupConsoleMonitor Man page
setupCrossoverRecombinator Man page
setupDominatedHypervolumeSelector Man page
setupECRControl Man page
setupEvolutionaryOperators Man page
setupGaussMutator Man page
setupGenerator Man page
setupGreedySelector Man page
setupInsertionMutator Man page
setupIntermediateRecombinator Man page
setupInversionMutator Man page
setupMaximumEvaluationsTerminator Man page
setupMaximumIterationsTerminator Man page
setupMaximumTimeTerminator Man page
setupMutator Man page
setupNondomSelector Man page
setupNullRecombinator Man page
setupOptPathLoggingMonitor Man page
setupOptState Man page
setupOXRecombinator Man page
setupParentSelector Man page
setupPermutationGenerator Man page
setupPMXRecombinator Man page
setupPolynomialMutator Man page
setupRecombinator Man page
setupRouletteWheelSelector Man page
setupSBXRecombinator Man page
setupScrambleMutator Man page
setupSimpleSelector Man page
setupSurvivalSelector Man page
setupSwapMutator Man page
setupTerminators Man page
setupTournamentSelector Man page
setupUniformGenerator Man page
setupUniformMutator Man page
simpleEA Man page
smsemoa Man page
summary.ecr_multi_objective_result Man page
updateOptState Man page
which.dominated Man page
which.nondominated Man page
wrapChildren Man page

Files

ecr
ecr/tests
ecr/tests/testthat
ecr/tests/testthat/Rplots.pdf
ecr/tests/testthat/test_approximatePoints.R
ecr/tests/testthat/test_recombinators.R
ecr/tests/testthat/test_makeOptimizationTask.R
ecr/tests/testthat/test_eventDispatcher.R
ecr/tests/testthat/test_doNondominatedSorting.R
ecr/tests/testthat/test_computeAverageHausdorffDistance.R
ecr/tests/testthat/test_stoppingConditions.R
ecr/tests/testthat/test_selectors.R
ecr/tests/testthat/test_computeCrowdingDistance.R
ecr/tests/testthat/test_dominates.R
ecr/tests/testthat/test_ecr.R
ecr/tests/testthat/test_emoa_indicators.R
ecr/tests/testthat/test_emoa.R
ecr/tests/testthat/test_mutators.R
ecr/tests/testthat/helper_zzz.R
ecr/tests/testthat/test_ea.R
ecr/tests/testthat/test_fitnessEvaluation.R
ecr/tests/testthat/test_setupStoppingConditions.R
ecr/tests/testthat/test_optPathLoggingMonitor.R
ecr/tests/testthat/test_permutationGenerator.R
ecr/src
ecr/src/weight_vectors.h
ecr/src/Makevars
ecr/src/precomputed_weight_vectors.h
ecr/src/eps_ind.c
ecr/src/hv.h
ecr/src/hv.c
ecr/src/avl.h
ecr/src/dominance.c
ecr/src/r_ind.c
ecr/src/macros.h
ecr/src/simulatedBinaryCrossover.c
ecr/src/helpers.h
ecr/src/computeHypervolume.c
ecr/src/polynomialMutation.c
ecr/src/helpers.c
ecr/src/crowdingDistance.c
ecr/src/avl.c
ecr/NAMESPACE
ecr/NEWS
ecr/R
ecr/R/setupECRControl.R ecr/R/computeAverageHausdorffDistance.R ecr/R/computeCrowdingDistance.R ecr/R/checkOperator.R ecr/R/computeDominatedHypervolume.R ecr/R/Result.R ecr/R/emoa.sms-emoa.R ecr/R/operator.recombinator.ox.R ecr/R/operator.terminator.max.evaluations.R ecr/R/doTerminate.R ecr/R/generateOffspring.R ecr/R/rescalePoints.R ecr/R/operator.selector.greedy.R ecr/R/setupTerminators.R ecr/R/operator.recombinator.sbx.R ecr/R/makeGenerator.R ecr/R/operator.mutator.scramble.R ecr/R/OptState.setter.R ecr/R/monitor.console.R ecr/R/eventDispatcher.R ecr/R/operator.recombinator.pmx.R ecr/R/operator.mutator.inversion.R ecr/R/operator.mutator.swap.R ecr/R/operator.recombinator.intermediate.R ecr/R/makeSelector.R ecr/R/getNextGeneration.R ecr/R/operator.termnator.max.time.R ecr/R/getBestIndividual.R ecr/R/makeTerminator.R ecr/R/operator.generator.random.permutation.R ecr/R/utilities.R ecr/R/doTheEvolution.R ecr/R/ecr.package.R ecr/R/ea.simpleEA.R ecr/R/operator.recombinator.null.R ecr/R/makePopulation.R ecr/R/doNondominatedSorting.R ecr/R/emoa.indicators.R ecr/R/operator.terminator.max.iter.R ecr/R/mergePopulations.R ecr/R/operator.mutator.bitflip.R ecr/R/operator.mutator.uniform.R ecr/R/operator.selector.simple.R ecr/R/operator.mutator.insertion.R ecr/R/operator.selector.roulettewheel.R ecr/R/makeOptimizationTask.R ecr/R/operator.recombinator.crossover.R ecr/R/makeRecombinator.R ecr/R/operator.mutator.gauss.R ecr/R/evaluateFitness.R ecr/R/ea.oneplusoneGA.R ecr/R/transformFitness.R ecr/R/operator.generator.random.binary.R ecr/R/makeOperator.R ecr/R/ecr.R ecr/R/emoa.as-emoa.R ecr/R/operator.generator.uniform.float.R ecr/R/approximatePoints.R ecr/R/makeMonitor.R ecr/R/optState.R ecr/R/setupEvolutionaryOperators.R ecr/R/operator.selector.k-tournament.R ecr/R/operator.selector.nondom.R ecr/R/docs.parallelization.R ecr/R/operator.mutator.polynomial.R ecr/R/monitor.opt.path.logging.R ecr/R/operator.selector.dominatedHypervolume.R ecr/R/autoplotECRResult.R ecr/R/dominates.R ecr/R/zzz.R ecr/R/makeMutator.R ecr/R/emoa.nsga2.R ecr/R/operator.terminator.optimum.R ecr/R/OptState.getter.R
ecr/MD5
ecr/DESCRIPTION
ecr/man
ecr/man/asemoa.Rd ecr/man/computeInvertedGenerationalDistance.Rd ecr/man/setupMaximumTimeTerminator.Rd ecr/man/setupEvolutionaryOperators.Rd ecr/man/wrapChildren.Rd ecr/man/getEvaluations.Rd ecr/man/setupPermutationGenerator.Rd ecr/man/evolutionary_setters.Rd ecr/man/setupOXRecombinator.Rd ecr/man/makePopulation.Rd ecr/man/getNextGeneration.Rd ecr/man/setupNondomSelector.Rd ecr/man/ecr_result.Rd ecr/man/setupInversionMutator.Rd ecr/man/setupInsertionMutator.Rd ecr/man/OptState.Rd ecr/man/buildInitialPopulation.Rd ecr/man/setupScrambleMutator.Rd ecr/man/nsga2.Rd ecr/man/which.dominated.Rd ecr/man/onePlusOneGA.Rd ecr/man/setupGaussMutator.Rd ecr/man/ecrpackage.Rd ecr/man/setupMaximumEvaluationsTerminator.Rd ecr/man/is.supported.Rd ecr/man/computeDistanceFromPointToSetOfPoints.Rd ecr/man/mergePopulations.Rd ecr/man/setupECRControl.Rd ecr/man/setupIntermediateRecombinator.Rd ecr/man/setupConsoleMonitor.Rd ecr/man/doTheEvolution.Rd ecr/man/makeRecombinator.Rd ecr/man/setupMaximumIterationsTerminator.Rd ecr/man/setupCrossoverRecombinator.Rd ecr/man/ecr_parallelization.Rd ecr/man/makeMutator.Rd ecr/man/getOperatorName.Rd ecr/man/setupUniformGenerator.Rd ecr/man/rescalePoints.Rd ecr/man/makeGenerator.Rd ecr/man/setupSwapMutator.Rd ecr/man/evaluateFitness.Rd ecr/man/setupTerminators.Rd ecr/man/getGenerations.Rd ecr/man/reference_point_approximation.Rd ecr/man/makeOptimizationTask.Rd ecr/man/updateOptState.Rd ecr/man/smsemoa.Rd ecr/man/setupSimpleSelector.Rd ecr/man/setupTournamentSelector.Rd ecr/man/selectForMating.Rd ecr/man/dominated.Rd ecr/man/setupPolynomialMutator.Rd ecr/man/setupRouletteWheelSelector.Rd ecr/man/computeGenerationalDistance.Rd ecr/man/getOperatorParameters.Rd ecr/man/dominates.Rd ecr/man/computeAverageHausdorffDistance.Rd ecr/man/setupBinaryGenerator.Rd ecr/man/selectForSurvival.Rd ecr/man/print.ecr_control.Rd ecr/man/setupPMXRecombinator.Rd ecr/man/emoa_indicators.Rd ecr/man/isEcrOperator.Rd ecr/man/setupUniformMutator.Rd ecr/man/setupOptState.Rd ecr/man/getAvailableEventNames.Rd ecr/man/ecr.Rd ecr/man/autoplot.ecr_single_objective_result.Rd ecr/man/makeOperator.Rd ecr/man/dominated_hypervolume.Rd ecr/man/makeTerminator.Rd ecr/man/doNondominatedSorting.Rd ecr/man/setupOptPathLoggingMonitor.Rd ecr/man/setupGreedySelector.Rd ecr/man/setupSBXRecombinator.Rd ecr/man/getSupportedRepresentations.Rd ecr/man/computeCrowdingDistance.Rd ecr/man/generateOffspring.Rd ecr/man/summary.ecr_multi_objective_result.Rd ecr/man/simpleEA.Rd ecr/man/makeMonitor.Rd ecr/man/setupNullRecombinator.Rd ecr/man/registerAction.Rd ecr/man/setupBitFlipMutator.Rd ecr/man/OptStateGetter.Rd ecr/man/setupCloseToOptimumTerminator.Rd ecr/man/makeSelector.Rd ecr/man/setupDominatedHypervolumeSelector.Rd
ecr/LICENSE

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.