UNPKG

tycho-solver

Version:

Evolutionary computation and optimization library

32 lines (31 loc) 1.69 kB
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 {};