如何根据 Timefold Spring Boot 中的前端输入动态选择对优化问题应用哪些约束?

问题描述 投票:0回答:1

假设我们有一个全栈应用程序,在前端有一个页面,我们可以在其中选择应用于特定问题的约束。当我们针对该特定问题运行时间折叠求解器时,这些约束的列表将被发送到后端。

如何确保 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 端点。之后下一步是什么?欢迎任何帮助。谢谢!

java spring-boot constraints optaplanner timefold
1个回答
0
投票

您正在寻找约束配置。权重为零的约束将被排除。

© www.soinside.com 2019 - 2024. All rights reserved.