UNPKG

tycho-solver

Version:

Evolutionary computation and optimization library

44 lines 1.5 kB
/** * Core types for the Tycho Solver library */ /** * Represents a fitness function that evaluates the quality of a solution */ export type FitnessFunction<T> = (individual: T) => number; /** * Configuration options for evolutionary algorithms */ import { InitializationOperator, EvaluationOperator, SelectionOperator, CrossoverOperator, MutationOperator, ReplacementOperator, ElitismOperator, TerminationOperator } from './operators'; import { RNG } from '../utils/rng'; export interface EvolutionaryConfig<T = any> { populationSize: number; maxGenerations: number; selectionPressure?: number; mutationRate?: number; crossoverRate?: number; elitism?: number; seed?: number; rng?: RNG; initializationOperator?: InitializationOperator<T, T[]>; evaluationOperator?: EvaluationOperator<T>; selectionOperator?: SelectionOperator<T>; crossoverOperator?: CrossoverOperator<T>; mutationOperator?: MutationOperator<T>; replacementOperator?: ReplacementOperator<T>; elitismOperator?: ElitismOperator<T>; terminationOperator?: TerminationOperator<T>; individualFactory?: () => T; eliteCount?: number; fitnessLimit?: number; } /** * Interface for evolutionary algorithm implementations */ export interface EvolutionaryAlgorithm<T> { evolve(generations?: number): Promise<T>; getBestSolution(): T; getBestFitness(): number; getPopulation(): T[]; getGeneration(): number; } //# sourceMappingURL=types.d.ts.map