# Change Log
This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]
### Added
- Rastringin benchmark function to unit test
- Added Genetic algorithms optimization

### Changed

### Fixed

## [0.7.0] - 2026-02-10
### Added

### Changed
- Replaced logging library by logger library

### Fixed

## [0.6.0] - 2026-01-28
### Added

### Changed
- Replaced futile.log by logging library

### 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] (first realease) - 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
