@syntest/search
Version:
The common core of the SynTest Framework
54 lines • 1.99 kB
TypeScript
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