tycho-solver
Version:
Evolutionary computation and optimization library
44 lines • 1.5 kB
TypeScript
/**
* 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