| Copyright | (c) Fabricio Olivetti de Franca 2020 | 
|---|---|
| License | GPL-3 | 
| Maintainer | fabricio.olivetti@gmail.com | 
| Stability | experimental | 
| Portability | POSIX | 
| Safe Haskell | None | 
IT.FI2POP
Contents
Description
Generic implementation of Interaction-Transformation Evolutionary Algorithm for any instance of IT expression with Feasible-Infeasible Two-Population for constraint handling.
To run itea you just need to call 'fi2pop mutFun fitness (pop0-feasible, pop0-infeasible)', 
where mutFun is a mutation function of the type Mutation,
fitness is a fitness function of type Fitness,
and 'pop0-x' is the initial Population of solutions of feasible or infeasible .
This function will result in an infinite list of populations, with
the i-th element being the population of the i-th generation.
This library also provides some generic mutation function builders.
Synopsis
- fi2pop :: Mutation -> Fitness -> (Population, Population) -> Rnd [(Population, Population)]
 - splitPop :: Population -> (Population, Population)
 - step2pop :: Mutation -> Fitness -> Int -> (Population, Population) -> Rnd (Population, Population)
 
FI2POP
fi2pop :: Mutation -> Fitness -> (Population, Population) -> Rnd [(Population, Population)] Source #
Creates a stream of generations the i-th element corresponds to the population of the i-th generation.
splitPop :: Population -> (Population, Population) Source #
Splits the population as feasible and infeasible.
step2pop :: Mutation -> Fitness -> Int -> (Population, Population) -> Rnd (Population, Population) Source #
Performs one iteration of FI2POP