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.

Files in this package

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.

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