ecr: Evolutionary Computing in R

Share:

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.

Author
Jakob Bossek [aut, cre], Dirk Surmann [ctb]
Date of publication
2016-09-10 18:06:34
Maintainer
Jakob Bossek <j.bossek@gmail.com>
License
BSD_2_clause + file LICENSE
Version
1.0.1
URLs

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