Problem#

Layer 1: Use

saealib.Problem

Definition of optimization problem.

saealib.PymooProblem

Adapter wrapping a pymoo Problem instance as a saealib Problem.

saealib.InequalityConstraint

A single inequality constraint: g(x) <= threshold.

saealib.EqualityConstraint

A single equality constraint: h(x) = 0, satisfied within a tolerance.

saealib.ConstraintHandler

Pluggable constraint-processing strategy.

saealib.StaticToleranceHandler

Default constraint handler reproducing the static-tolerance behavior.

saealib.EpsilonConstraintHandler

Dynamic ε-constraint handler.

saealib.GradientRepairHandler

Gradient-based constraint repair handler.

saealib.linear_epsilon_schedule(eps0, n_gen)[source]#

Return a linear ε schedule: eps0 at gen 0, 0.0 at gen n_gen.

Parameters:
  • eps0 (float) – Initial ε value (gen 0).

  • n_gen (int) – Generation at which ε reaches 0.

Returns:

schedule(gen) -> float

Return type:

callable

saealib.exponential_epsilon_schedule(eps0, decay)[source]#

Return an exponential ε schedule: eps0 * decay**gen.

Parameters:
  • eps0 (float) – Initial ε value (gen 0).

  • decay (float) – Multiplicative decay factor per generation (0 < decay < 1).

Returns:

schedule(gen) -> float

Return type:

callable

Problem accepts a SearchSpace through space and can manage Genome representations and conversion to evaluation inputs. See Problem and SearchSpace for details.