UNPKG

@syntest/search

Version:

The common core of the SynTest Framework

54 lines 1.99 kB
import { BudgetManager } from "../../budget/BudgetManager"; import { Encoding } from "../../Encoding"; import { EncodingSampler } from "../../EncodingSampler"; import { ObjectiveManager } from "../../objective/managers/ObjectiveManager"; import { Procreation } from "../../operators/procreation/Procreation"; import { TerminationManager } from "../../termination/TerminationManager"; import { SearchAlgorithm } from "../SearchAlgorithm"; /** * Base class for Evolutionary Algorithms (EA). * Uses the T encoding. */ export declare abstract class EvolutionaryAlgorithm<T extends Encoding> extends SearchAlgorithm<T> { /** * The sampler used to sample new encodings. * @protected */ protected _encodingSampler: EncodingSampler<T>; /** * The size of the population. * @protected */ protected _populationSize: number; /** * The procreation operator to apply. */ protected _procreation: Procreation<T>; /** * Constructor. * * @param objectiveManager The objective manager used by the specific algorithm * @param encodingSampler The encoding sampler used by the specific algorithm * @param crossover The crossover operator to apply * */ constructor(objectiveManager: ObjectiveManager<T>, encodingSampler: EncodingSampler<T>, procreation: Procreation<T>, populationSize: number); /** * @inheritDoc * @protected */ protected _initialize(budgetManager: BudgetManager<T>, terminationManager: TerminationManager): Promise<void>; /** * @inheritDoc * @protected */ protected _iterate(budgetManager: BudgetManager<T>, terminationManager: TerminationManager): Promise<void>; /** * Makes a selection of the population based on the environment. * * @param size The size of the selection * @protected */ protected abstract _environmentalSelection(size: number): void; } //# sourceMappingURL=EvolutionaryAlgorithm.d.ts.map