Package: ecr 2.1.1

ecr: Evolutionary Computation in R

Framework for building evolutionary algorithms for both single- and multi-objective continuous or discrete optimization problems. A set of predefined evolutionary building blocks and operators is included. Moreover, the user can easily set up custom objective functions, operators, building blocks and representations sticking to few conventions. The package allows both a black-box approach for standard tasks (plug-and-play style) and a much more flexible white-box approach where the evolutionary cycle is written by hand.

Authors:Jakob Bossek [aut, cre, cph], Michael H. Buselli [ctb, cph], Wessel Dankers [ctb, cph], Carlos M. Fonseca [ctb, cph], Manuel Lopez-Ibanez [ctb, cph], Luis Paquete [ctb, cph], Joshua Knowles [ctb, cph], Eckart Zitzler [ctb, cph], Olaf Mersmann [ctb]

ecr_2.1.1.tar.gz
ecr_2.1.1.zip(r-4.5)ecr_2.1.1.zip(r-4.4)ecr_2.1.1.zip(r-4.3)
ecr_2.1.1.tgz(r-4.4-x86_64)ecr_2.1.1.tgz(r-4.4-arm64)ecr_2.1.1.tgz(r-4.3-x86_64)ecr_2.1.1.tgz(r-4.3-arm64)
ecr_2.1.1.tar.gz(r-4.5-noble)ecr_2.1.1.tar.gz(r-4.4-noble)
ecr_2.1.1.tgz(r-4.4-emscripten)ecr_2.1.1.tgz(r-4.3-emscripten)
ecr.pdf |ecr.html
ecr/json (API)
NEWS

# Install 'ecr' in R:
install.packages('ecr', repos = c('https://jakobbossek.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/jakobbossek/ecr2/issues

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:

On CRAN:

combinatorial-optimizationevolutionary-algorithmevolutionary-algorithmsevolutionary-strategygenetic-algorithm-frameworkmetaheuristicsmulti-objective-optimizationoptimizationoptimization-framework

7.20 score 42 stars 2 packages 63 scripts 347 downloads 129 exports 92 dependencies

Last updated 1 years agofrom:2b87e1c6b0. Checks:OK: 4 NOTE: 5. Indexed: yes.

TargetResultDate
Doc / VignettesOKNov 22 2024
R-4.5-win-x86_64NOTENov 22 2024
R-4.5-linux-x86_64NOTENov 22 2024
R-4.4-win-x86_64NOTENov 22 2024
R-4.4-mac-x86_64NOTENov 22 2024
R-4.4-mac-aarch64NOTENov 22 2024
R-4.3-win-x86_64OKNov 22 2024
R-4.3-mac-x86_64OKNov 22 2024
R-4.3-mac-aarch64OKNov 22 2024

Exports:%dominates%%isDominatedBy%addAllGroupaddUnionGroupapproximateIdealPointapproximateNadirPointapproximateRefPointsapproximateRefSetsasemoacategorizecomputeAverageHausdorffDistancecomputeCrowdingDistancecomputeDistanceFromPointToSetOfPointscomputeDominanceRankingcomputeGenerationalDistancecomputeHVcomputeHVContrcomputeIndicatorscomputeInvertedGenerationalDistancedominateddominatesdoNondominatedSortingecremoaIndCemoaIndDeltaemoaIndDeltapemoaIndEpsemoaIndGDemoaIndHVemoaIndIGDemoaIndM1emoaIndMDemoaIndONVGemoaIndR1emoaIndR2emoaIndR3emoaIndSPevaluateFitnessexplodefilterDuplicatedgengenBingenerateOffspringgeneratesMultipleChildrengenPermgenRealgetFrontgetIndividualsgetNumberOfChildrengetNumberOfParentsNeededForMatinggetPopulationsgetSizegetStatisticsgetSupportedRepresentationsimplodeinitECRControlinitLoggerinitParetoArchiveinitPopulationis.supportedisDominatedisEcrOperatorisMaximallyDominatedmakeECRMonitormakeEMOAIndicatormakeMutatormakeOperatormakeOptimizationTaskmakeRecombinatormakeSelectormakeTerminatormutatemutBitflipmutGaussmutInsertionmutInversionmutJumpmutPolynomialmutScramblemutSwapmutUniformniceCellFormaternondominatednormalizensga2plotDistributionplotFrontplotHeatmapplotScatter2dplotScatter3dplotStatisticsrecCrossoverrecIntermediaterecombinaterecOXrecPMXrecSBXrecUnifCrossoverreduceToSingleDataFrameregisterECROperatorreplaceMuCommaLambdareplaceMuPlusLambdaselDomHVselDomNumberPlusHVselectForMatingselectForSurvivalselGreedyselNondomselRankingselRouletteselSimpleselTournamentsetDominatessetupsetupECRDefaultMonitorsmsemoasortByObjectivestopOnEvalsstopOnItersstopOnMaxTimestopOnOptYtoGGtoLatextoParetoDfupdateLoggerupdateParetoArchivewhich.dominatedwhich.nondominatedwrapChildren

Dependencies:askpassbackportsbase64encBBmiscbslibcachemcheckmateclicolorspacecpp11crosstalkcurldata.tabledigestdplyrevaluatefansifarverfastmapfastmatchfontawesomefsgenericsggplot2gluegridExtragtablehighrhtmltoolshtmlwidgetshttrisobandjquerylibjsonlitekableExtraknitrlabelinglaterlatticelazyevallifecyclemagrittrMASSMatrixmemoisemgcvmimemisc3dmunsellnlmeopensslparallelMapParamHelperspillarpkgconfigplot3Dplot3DrglplotlyplyrpromisespurrrR6rappdirsRColorBrewerRcppRcppArmadilloreshape2rglrlangrmarkdownrstudioapisassscalesscatterplot3dsmoofstringistringrsvglitesyssystemfontstibbletidyrtidyselecttinytexutf8vctrsviridisviridisLitewithrxfunxml2yaml

Brief introduction to ecr

Rendered fromintroduction.Rmdusingknitr::rmarkdownon Nov 22 2024.

Last update: 2019-10-23
Started: 2017-03-29

Multi-Objective Evolutionary Algorithms

Rendered frommultiobjective.Rmdusingknitr::rmarkdownon Nov 22 2024.

Last update: 2019-10-23
Started: 2019-10-23

Readme and manuals

Help Manual

Help pageTopics
Grouping helpersaddAllGroup addUnionGroup
Reference point approximations.approximateIdealPoint approximateNadirPoint
Helper function to estimate reference points.approximateRefPoints
Helper function to estimate reference set(s).approximateRefSets
Implementation of the NSGA-II EMOA algorithm by Deb.asemoa
Assign group membership based on another group membership.categorize
Average Hausdorff Distance computation.computeAverageHausdorffDistance
Compute the crowding distance of a set of points.computeCrowdingDistance
Computes distance between a single point and set of points.computeDistanceFromPointToSetOfPoints
Ranking of approximation sets.computeDominanceRanking
Computes Generational Distance.computeGenerationalDistance
Functions for the calculation of the dominated hypervolume (contribution).computeHV computeHVContr
Computation of EMOA performance indicators.computeIndicators
Computes Inverted Generational Distance.computeInvertedGenerationalDistance
Check for pareto dominance.dominated nondominated
Dominance relation check.%dominates% %isDominatedBy% dominates isDominated
Fast non-dominated sorting algorithm.doNondominatedSorting
Interface to ecr similar to the optim function.ecr
Parallelization in ecrecr_parallelization
Result object.ecr_result
EMOA performance indicatorsemoaIndC emoaIndDelta emoaIndDeltap emoaIndEps emoaIndGD emoaIndHV emoaIndIGD emoaIndM1 emoaIndMD emoaIndONVG emoaIndR1 emoaIndR2 emoaIndR3 emoaIndSP
Computes the fitness value(s) for each individual of a given set.evaluateFitness
Explode/implode data frame column(s).explode implode
Filter approximation sets by duplicate objective vectors.filterDuplicated filterDuplicated.data.frame filterDuplicated.ecr_multi_objective_result filterDuplicated.list filterDuplicated.matrix
Helper functions for offspring generationgenerateOffspring mutate recombinate
Does the recombinator generate multiple children?generatesMultipleChildren
Population generatorsgen genBin generators genPerm genReal
Extract fitness values from Pareto archive.getFront
Extract individuals from Pareto archive.getIndividuals
Number of childrengetNumberOfChildren
Number of parents needed for matinggetNumberOfParentsNeededForMating
Access to logged population fitness.getPopulationFitness
Access to logged populations.getPopulations
Get size of Pareto-archive.getSize
Access the logged statistics.getStatistics
Get supported representations.getSupportedRepresentations
Control object generator.initECRControl
Initialize a log object.initLogger
Initialize Pareto Archive.initParetoArchive
Helper function to build initial population.initPopulation
Check if ecr operator supports given representation.is.supported
Check if given function is an ecr operator.isEcrOperator
Factory method for monitor objects.makeECRMonitor
Constructor for EMOA indicators.makeEMOAIndicator
Construct a mutation operator.makeMutator
Construct evolutionary operator.makeOperator
Creates an optimization task.makeOptimizationTask
Construct a recombination operator.makeRecombinator
Construct a selection operator.makeSelector
Generate stopping condition.makeTerminator
mcMSTmcMST
Bitplip mutator.mutBitflip
Gaussian mutator.mutGauss
Insertion mutator.mutInsertion
Inversion mutator.mutInversion
Jump mutator.mutJump
Polynomial mutation.mutPolynomial
Scramble mutator.mutScramble
Swap mutator.mutSwap
Uniform mutator.mutUniform
Formatter for table cells of LaTeX tables.niceCellFormater
Normalize approximations set(s).normalize
Implementation of the NSGA-II EMOA algorithm by Deb.nsga2
Plot distribution of EMOA indicators.plotDistribution
Draw scatterplot of Pareto-front approximationplotFront
Plot heatmap.plotHeatmap
Visualize bi-objective Pareto-front approximations.plotScatter2d
Visualize three-objective Pareto-front approximations.plotScatter3d
Generate line plot of logged statistics.plotStatistics
One-point crossover recombinator.recCrossover
Indermediate recombinator.recIntermediate
Ordered-Crossover (OX) recombinator.recOX
Partially-Mapped-Crossover (PMX) recombinator.recPMX
Simulated Binary Crossover (SBX) recombinator.recSBX
Uniform crossover recombinator.recUnifCrossover
Combine multiple data frames into a single data.frame.reduceToSingleDataFrame
Register operators to control object.registerECROperator
(mu + lambda) selectionreplace replaceMuCommaLambda replaceMuPlusLambda
Dominated Hypervolume selector.selDomHV
Modified dominated Hypervolume selector.selDomNumberPlusHV
Select individuals.select selectForMating selectForSurvival
Simple selector.selGreedy
Non-dominated sorting selector.selNondom
Rank Selection OperatorselRanking
Roulette-wheel / fitness-proportional selector.selRoulette
Simple (naive) selector.selSimple
k-Tournament selector.selTournament
Check if one set is better than another.setDominates
Set up parameters for evolutionary operator.setup
Default monitor.setupECRDefaultMonitor
Implementation of the SMS-EMOA by Emmerich et al.smsemoa
Sort Pareto-front approximation by objective.sortByObjective sortByObjective.data.frame sortByObjective.ecr_multi_objective_result sortByObjective.list sortByObjective.matrix
Stopping conditionsstopOnEvals stopOnIters stopOnMaxTime stopOnOptY stoppingConditions
Transform to long format.toGG
Export results of statistical tests to LaTeX table(s).toLatex toLatex.data.frame toLatex.list
Convert matrix to Pareto front data frame.toParetoDf
Fitness transformation / scaling.transformFitness
Update the log.updateLogger
Update Pareto Archive.updateParetoArchive
Determine which points of a set are (non)dominated.isMaximallyDominated which.dominated which.nondominated
Wrap the individuals constructed by a recombination operator.wrapChildren