tycho-solver
Version:
Evolutionary computation and optimization library
26 lines (25 loc) • 737 B
TypeScript
export interface ObjectiveFunction<T> {
(solution: T): number | Promise<number>;
}
export interface CostFunction<T> {
(solution: T): number | Promise<number>;
}
export interface NeighborhoodFunction<T> {
(solution: T): T[];
}
export interface LocalSearchOptions<T = any> {
maxIterations?: number;
maximize?: boolean;
randomRestarts?: number;
randomInitializer?: () => T;
onClimb?: (solution: T, fitness: number, iteration: number) => Promise<void>;
costFunction?: CostFunction<T>;
maximizeCost?: boolean;
dynamicNeighborhoodFunction?: NeighborhoodFunction<T>;
fitnessLimit?: number;
}
export interface LocalSearchResult<T> {
solution: T;
fitness: number;
iterations: number;
}