Copyright(c) Fabricio Olivetti de Franca 2020
LicenseGPL-3
Maintainerfabricio.olivetti@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone

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

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