Перейти до основного вмісту

raygeo.nest.genetic

Genetic algorithm for nesting optimization.

Provides a GeneticAlgorithm class that manages a population of placement configurations (rotations, flips) and evolves them via mutation, crossover, and selection.

GeneticAlgorithm

generation()

generation() -> None

Evolve one generation.

ParameterTypeDescription
ReturnsNone

get_fitness()

get_fitness(idx: int) -> float

Returns the fitness of individual at idx.

ParameterTypeDescription
idxint
Returnsfloat

get_individual()

get_individual(idx: int) -> tuple[list[float], list[bool], list[bool], float]

Returns (rotations, flips_h, flips_v, fitness) for individual at idx.

ParameterTypeDescription
idxint
Returnstuple[list[float], list[bool], list[bool], float]

mate()

mate(male_idx: int, female_idx: int) -> list[tuple[list[float], list[bool], list[bool]]]

Mate two individuals and return the two children.

ParameterTypeDescription
male_idxint
female_idxint
Returnslist[tuple[list[float], list[bool], list[bool]]]

mutate()

mutate(idx: int) -> tuple[list[float], list[bool], list[bool]]

Mutate and return a copy of individual at idx.

ParameterTypeDescription
idxint
Returnstuple[list[float], list[bool], list[bool]]

set_fitness()

set_fitness(idx: int, fitness: float) -> None

Set the fitness for individual at idx.

ParameterTypeDescription
idxint
fitnessfloat
ReturnsNone