Genex v1.0.1-beta Genex.Tools.Evaluation.Penalty View Source

Penalty functions for use with constraint satisfaction problems.

Returns the chromosome so you can easily cascade constraints.

Example

def fitness_function(c) do
  c
  |> Penalty.delta(...)
  |> Penalty.delta(...)
  |> eval()
end

eval/1 is a convenience function for returning fitness from a chromosome.

Link to this section Summary

Link to this section Functions

Link to this function

closest_valid(individual, feasibility, feasible, alpha \\ 1, distance \\ fn _, _ -> 0 end)

View Source

Closest-Valid penalty function.

Returns %Chromosome{}.

Parameters

  • individual: %Chromosome{}.
  • feasibiliy: Function.
  • feasible: feasible chromosome.
  • alpha: number
  • distance: Function.
Link to this function

delta(individual, feasibility, delta, distance \\ fn _ -> 0 end)

View Source

Delta penalty function.

Returns %Chromosome{}.

Parameters

  • individual: %Chromosome{}.
  • feasibiliy: Function.
  • delta: penalty.
  • distance: Function.