Можно ли вывести более одного решения с помощью службы линейной оптимизации Google? Я создал проблему планирования игрушек ниже. Он выводит первое решение, но я хотел бы вывести более одного решения проблемы. Это возможно?
function schedule() {
var numDays = 5;
var numPeople = 6;
var engine = LinearOptimizationService.createEngine();
for (var d=0; d<numDays; d++) {
for (var p=0; p<numPeople; p++) {
engine.addVariable("Day"+d+"Person"+p, 0, 1, LinearOptimizationService.VariableType.INTEGER);
}
}
//only one person can work per day
for (var d=0; d<numDays; d++) {
var constraint = engine.addConstraint(1, 1);
for (var p=0; p<numPeople; p++) {
constraint.setCoefficient("Day"+d+"Person"+p, 1);
}
}
//each person can only work once per week at max
for (var p=0; p<numPeople; p++) {
var constraint = engine.addConstraint(0, 1);
for (var d=0; d<numDays; d++) {
constraint.setCoefficient("Day"+d+"Person"+p, 1);
}
}
var solution = engine.solve();
if (solution.isValid()) {
for (var d=0; d<numDays; d++) {
Logger.log("Day "+ d);
for (var p=0; p<numPeople; p++) {
Logger.log(solution.getVariableValue("Day"+d+"Person"+p));
}
}
}
}