tycho-solver
Version:
Evolutionary computation and optimization library
32 lines (31 loc) • 1.69 kB
TypeScript
import { InitializationOperator } from '../../../core/operators/InitializationOperator';
import { EvaluationOperator } from '../../../core/operators/EvaluationOperator';
import { SelectionOperator } from '../../../core/operators/SelectionOperator';
import { CrossoverOperator } from '../../../core/operators/CrossoverOperator';
import { MutationOperator } from '../../../core/operators/MutationOperator';
import { ReplacementOperator } from '../../../core/operators/ReplacementOperator';
import { ElitismOperator } from '../../../core/operators/ElitismOperator';
import { TerminationOperator } from '../../../core/operators/TerminationOperator';
interface GALoopOperatorConfig<T> {
population?: T[];
initializationOperator?: InitializationOperator<T>;
evaluationOperator?: EvaluationOperator<T>;
selectionOperator?: SelectionOperator<T>;
crossoverOperator?: CrossoverOperator<T>;
mutationOperator?: MutationOperator<T>;
replacementOperator?: ReplacementOperator<T>;
elitismOperator?: ElitismOperator<T>;
terminationOperator?: TerminationOperator<T>;
fitnessFunction: (ind: T) => number | Promise<number>;
maxGenerations: number;
eliteCount?: number;
fitnessLimit?: number;
populationSize?: number;
}
export declare const GALoopOperator: <T>({ population, initializationOperator, evaluationOperator, selectionOperator, crossoverOperator, mutationOperator, replacementOperator, elitismOperator, terminationOperator, fitnessFunction, maxGenerations, eliteCount, fitnessLimit, populationSize }: GALoopOperatorConfig<T>) => Promise<{
bestSolution: T;
bestFitness: number;
population: T[];
generation: number;
}>;
export {};