tycho-solver
Version:
Evolutionary computation and optimization library
22 lines (21 loc) • 780 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LSTerminationOperator = void 0;
class LSTerminationOperator {
shouldTerminate(state) {
var _a;
const { fitness, options, iterations = 0 } = state;
const maxIterations = (_a = options.maxIterations) !== null && _a !== void 0 ? _a : 1000;
const fitnessLimit = options.fitnessLimit;
if (iterations >= maxIterations) {
return true;
}
if (typeof fitnessLimit === 'number') {
if ((options.maximize && fitness >= fitnessLimit) || (!options.maximize && fitness <= fitnessLimit)) {
return true;
}
}
return false;
}
}
exports.LSTerminationOperator = LSTerminationOperator;