Evolutionary Parameter Estimation for 'Repast Simphony' Models

The EvoPER, Evolutionary Parameter Estimation for Individual-based Models is an extensible package providing optimization driven parameter estimation methods using metaheuristics and evolutionary computation techniques (Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization for continuous domains, Tabu Search, Evolutionary Strategies, ...) which could be more efficient and require, in some cases, fewer model evaluations than alternatives relying on experimental design. Currently there are built in support for models developed with 'Repast Simphony' Agent-Based framework (< https://repast.github.io/>) and with NetLogo (< https://ccl.northwestern.edu/netlogo/>) which are the most used frameworks for Agent-based modeling.


News

Change Log

This project adheres to Semantic Versioning.

[Unreleased]

Added

Changed

Fixed

EvoPER [0.5.0] - 2018-08-30

Added

  • OptionsTS The option class for Tabu search algorithm
  • abm.tabu The EvoPER Tabu search implementation
  • abm.tabu.R New file containing the the tabu search implementation
  • generateSolution Generates combinatory solutions
  • pop.last Pop the last element from list
  • pop.first Pop the first element from list
  • push Push an element to a list
  • searchrow Search data on a matrix
  • paramconverter Convert parameter from continuous to discrete and vice versa
  • netlogo-helper.R Auxiliary functions for running R/NetLogo models
  • NLWrapper.FindJar Wrapper function for NetLogo models
  • NLWrapper.Model Wrapper function for NetLogo models
  • NLWrapper.Shutdown Wrapper function for NetLogo models
  • NLWrapper.GetParameter Wrapper function for NetLogo models
  • NLWrapper.SetParameter Wrapper function for NetLogo models
  • NLWrapper.SetRandomSeed Wrapper function for NetLogo models
  • NLWrapper.Run Wrapper function for NetLogo models
  • NLWrapper.RunExperiment Wrapper function for NetLogo models

Changed

  • extremize Changed the wrapper for supporting Tabu search
  • Class Estimates optimization replace rbind by data.table's rbindlist
  • ObjectiveFunction support for cast parameter to integer
  • enforceBounds support for cast parameter to integer
  • enforceBounds support for discrete levels
  • abd.pso added paramconverter
  • abd.acor added paramconverter
  • abd.saa added paramconverter
  • abd.ees1 added paramconverter
  • abd.ees2 added paramconverter

Fixed

EvoPER [0.4.0] - 2017-03-14

Added

  • f0.rosenbrockn Rosenbrock of N parameters for variadic input
  • f1.rosenbrockn Rosenbrock of N parameters for vectors
  • f0.cigar Cigar of N parameters for variadic input
  • f1.cigar Cigar of N parameters for vectors
  • f0.schwefel Schwefel of N parameters for variadic input
  • f1.schwefel Schwefel of N parameters for vectors
  • f0.bohachevsky Bohachevsky of N parameters for variadic input
  • f1.bohachevsky Bohachevsky of N parameters for vectors
  • f0.schaffer Schaffer of N parameters for variadic input
  • f1.schaffer Schaffer of N parameters for vectors
  • random.wheel Function for randomlt gerating random seeds
  • predatorprey.plot1 A wrapper for predatorprey.plot0 for parameter list instead single vars
  • compare.algorithms1 Sistematic comparison of optimization algorithms
  • show.comp1 Plot the results of 'compare.algorithms1'
  • class-options.R new file
  • class-objective.R new file
  • class-estimates.R new file
  • experiments.R new file
  • test-functions.R new file
  • helper-functions.R new file
  • abm-pso.R new file
  • abm-saa.R new file
  • abm-acor.R new file
  • abm-ees1.R new file
  • abm-ees2.R new file
  • Basic unit testing for metaheuristics

Changed

  • predatorprey.plot - Now is predatorprey.plot0
  • Estimates$getBest() - Fixed return value for ACOR eliminating "w"
  • Default neighborhood function of PSO, previously was KN and now is K4
  • contourplothelper - Added parameters nbins, binwidth and points for a fine control of underlying kde2d
  • The EvoPER source file was break down in small files

Fixed

EvoPER [0.3.0] - 2016-11-26

Added

  • Estimates class for returning results of extremize function
  • OptionsACOR class for ACOr Options
  • abm.acor Implementation of ACO for continuous domains
  • abm.ees1 EvoPER Implementation of simple ES
  • OptionsFactory Creates an instance of Options class
  • naiveperiod Search for period in data
  • gm.mean Calculate the geometric mean
  • elog.level Wrapper (futile.logger) for getting/setting log level
  • elog.error Wrapper (futile.logger) for logging error messages
  • elog.info Wrapper (futile.logger) for logging info messages
  • elog.debug Wrapper (futile.logger) for logging debug messages
  • acor.updateants ACO internal function
  • acor.weigth ACO internal function
  • acor.probabilities ACO internal function
  • acor.lthgaussian ACO internal function
  • acor.sigma ACO internal function
  • acor.archive ACO internal function
  • acor.S ACO internal function
  • acor.F ACO internal function
  • acor.W ACO internal function
  • acor.N ACO internal function
  • es.evaluate General ES function for evaluating a solution
  • ees1.mating EES1 internal function
  • ees1.mating1 EES1 internal function
  • ees1.recombination EES1 internal function
  • ees1.mutation EES1 internal function
  • ees1.challenge EES1 internal function
  • ees1.explore EES1 internal function
  • ees1.selection EES1 internal function
  • abm.ees2 EvoPER Implementation of simple ES
  • partSolutionSpace Support function for implementing evolutionary strategies
  • sortSolution Support function for implementing evolutionary strategies
  • bestFitness Support function for implementing evolutionary strategies
  • getFitness Support function for implementing evolutionary strategies
  • bestSolution Support function for implementing evolutionary strategies
  • getSolution Support function for implementing evolutionary strategies
  • slopes Calculate the slope between poins for a time series
  • slope Calculate the slope between poins for a time series
  • gm.mean Calculate geometric mean
  • naiveperiod Calculate the period for a time series
  • Magnitude Returns the magnitude for a given number
  • xmeanci1 Calculates the confidence interval using resampling
  • xmeanci2 Calculates the confidence interval
  • fixdfcolumns Convert data frame columns to a type
  • xyplothelper Generate a xy plot
  • histplothelper Generate a histogram plot
  • scatterplotlothelper Generate a scatter plot
  • contourplothelper Generate a surface plot
  • f0.adtn.rosenbrock2 Examples, rosenbrock with noise
  • f1.adtn.rosenbrock2 Examples, rosenbrock with noise
  • f0.nlnn.rosenbrock2 Examples, rosenbrock with noise
  • f1.nlnn.rosenbrock2 Examples, rosenbrock with noise
  • predatorprey Examples, predator-prey ODE
  • predatorprey.plot Examples, plot results of predator-prey
  • f0.periodtuningpp Examples, period tuning of predator-prey

Changed

  • extremize now returns an instance of Estimates class
  • initSolution now accepts multiple sampling schemes

Fixed

EvoPER [0.2.0] - 2016-06-22

Added

  • extremize the entry point for optimization functions
  • Options Parent class for options
  • OptionsPSO class for PSO Options
  • OptionsSAA class for SAA Options
  • OptionsSDA class for SDA Options
  • abm.sda Simulted dilution
  • saa.neighborhood Neighborhood for SAA
  • saa.neighborhood1 Neighborhood for SAA
  • saa.neighborhoodH Neighborhood for SAA
  • saa.neighborhoodN Neighborhood for SAA
  • saa.tbyk Temperature for SAA
  • saa.texp Temperature for SAA
  • saa.bolt Temperature for SAA
  • saa.tcte Temperature for SAA
  • f0.test Plain Test function
  • f0.rosenbrock2 Plain Rosenbrock 2 parms test function

Changed

  • abm.pso Change in parameters
  • abm.saa Change in parameters
  • abm.sda Change in parameters
  • renamed saa.neighborhood.t1 now is - saa.neighborhood1

Fixed

  • Bug in abm.pso function

EvoPER 0.1.0 - 2016-06-15

Added

  • ObjectiveFunction S4 Parent class for the objective function
  • PlainFunction S4 Child class of ObjectiveFunction for estimating parameters of plain math functions
  • RepastFunction S4 Child class of ObjectiveFunction for estimating parameters of Repast models
  • assert Checks if some required precondition holds and stop execution if not
  • pso.Velocity Calculate the particle velocity
  • pso.neighborhood.K2 Two neighbors
  • pso.neighborhood.K4 Non Neumann Neighborhood for Particle Searm
  • pso.neighborhood.KN Fully connected graph neighborhood
  • pso.lbest Seach for the best neighbor
  • pso.best Search for the best particle
  • pso.chi Calculates the constriction coefficient
  • cbuf A Simple circular buffer implementation
  • lowerBound Check lower bound
  • upperBound Check upper bound
  • enforceBounds Check the lower and upper bounds
  • saa.neighborhood.t1 Neighborhood function for Simulated Annealing
  • abm.pso Entry point for Particle Swarm Optimization
  • abm.saa Entry point for Simulated Annealing
  • initSolution Generates a initial solution or particles

Changed

Fixed

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("evoper")

0.5.0 by Antonio Prestes Garcia, 6 months ago


https://github.com/antonio-pgarcia/evoper


Report a bug at https://github.com/antonio-pgarcia/evoper/issues


Browse source code at https://github.com/cran/evoper


Authors: Antonio Prestes Garcia [aut, cre] , Alfonso Rodriguez-Paton [aut, ths]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports methods, futile.logger, boot, reshape, ggplot2, deSolve, plot3D, plyr, data.table, utils, RNetLogo

Depends on rrepast

Suggests testthat


See at CRAN