假设我们有一个全栈应用程序,在前端有一个页面,我们可以在其中选择应用于特定问题的约束。当我们针对该特定问题运行时间折叠求解器时,这些约束的列表将被发送到后端。
如何确保 Timefold Solver 仅应用我从前端选择的约束? 如何修改 TimetableConstraintProvider(例如)以实现上述功能。
public class TimetableConstraintProvider implements ConstraintProvider {
@Override
public Constraint[] defineConstraints(ConstraintFactory constraintFactory) {
return new Constraint[] {
// Hard constraints
roomConflict(constraintFactory),
teacherConflict(constraintFactory),
studentGroupConflict(constraintFactory),
// Soft constraints
teacherRoomStability(constraintFactory),
teacherTimeEfficiency(constraintFactory),
studentGroupSubjectVariety(constraintFactory)
};
}
//implementation of the constraints
}
我假设,首先,我们应该有一个用于所选约束的 POST/GET 端点。之后下一步是什么?欢迎任何帮助。谢谢!
您正在寻找约束配置。权重为零的约束将被排除。