如何将规划实体的ConstraintStreams与相关问题事实属性相结合?

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

我开始使用 OptaPlanner 实现一个学校时间表安排应用程序。

类似于文档中的课程安排示例,我想优化学校时间表,包括诸如“工作/工作时间少于 N 小时(每周)的老师理想情况下应该有一个(或两个,取决于N)休息日。

换句话说:教师的课程不应该分布在整个星期,而是每天的数量应该最大化。

课程是我唯一的计划实体,老师是一个问题事实(我猜)。也许我需要以不同的方式对其建模以访问教师时间段的总体分布(更具体地说:属于教师的所有课程时间段)。

我如何结合通常的约束,即老师不能同时上两节不同的课等,使用 ConstraintFactory 创建 ConstraintStreams(用于课程)以及更全局的属性(例如“课程紧凑性”)来定义兼职工作的教师(全天工作总比分布在整个星期更好)?我无法想象如何通过访问约束课程流来计算该分数。

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