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