UNPKG

tycho-solver

Version:

Evolutionary computation and optimization library

21 lines 933 B
export const AcceptanceOperator = async ({ candidateSolution, candidateFitness, currentSolution, currentFitness, options, isTie, isCostImprovement, iterations = 0 }) => { // Accept improvement or tie with cost improvement const maximize = options.maximize ?? true; const accepted = (maximize ? candidateFitness > currentFitness : candidateFitness < currentFitness) || (isTie && isCostImprovement); const nextSolution = accepted ? candidateSolution : currentSolution; const nextFitness = accepted ? candidateFitness : currentFitness; // Call onClimb if improvement if (accepted && options.onClimb) { await options.onClimb(nextSolution, nextFitness, iterations); } // Return updated solution, fitness, and iterations return { solution: nextSolution, fitness: nextFitness, iterations }; }; //# sourceMappingURL=AcceptanceOperator.js.map