@syntest/search
Version:
The common core of the SynTest Framework
68 lines • 1.78 kB
TypeScript
import { SearchAlgorithm } from "../algorithms/SearchAlgorithm";
import { Encoding } from "../Encoding";
import { Budget } from "./Budget";
import { BudgetListener } from "./BudgetListener";
import { BudgetType } from "./BudgetType";
/**
* Manager for the budget of the search process.
*
* Keeps track how much budget is left before the search process has to be terminated.
*
* @author Mitchell Olsthoorn
*/
export declare class BudgetManager<T extends Encoding> implements BudgetListener<T> {
/**
* List of currently active budgets.
* @protected
*/
protected _budgets: Map<BudgetType, Budget<T>>;
constructor();
/**
* Return the available budget as a value from zero to one.
*
* Loops over all active budgets to find the one with the lowest budget.
*/
getBudget(): number;
/**
* Return whether the budget manager has any budget left.
*/
hasBudgetLeft(): boolean;
/**
* Add budget to the list of active budgets.
*
* @param budget The budget to add
*/
addBudget(name: BudgetType, budget: Budget<T>): this;
getBudgetObject(name: BudgetType): Budget<T>;
/**
* Remove budget from the list of active budgets.
*
* @param budget The budget to remove
*/
removeBudget(budget: Budget<T>): this;
/**
* @inheritDoc
*/
initializationStarted(): void;
/**
* @inheritDoc
*/
initializationStopped(): void;
/**
* @inheritDoc
*/
searchStarted(): void;
/**
* @inheritDoc
*/
searchStopped(): void;
/**
* @inheritDoc
*/
iteration(searchAlgorithm: SearchAlgorithm<T>): void;
/**
* @inheritDoc
*/
evaluation(): void;
}
//# sourceMappingURL=BudgetManager.d.ts.map