有没有人知道如何使用时隙模式定义约束?
您可能希望尝试使用新添加的ifexists()
构建块。在不了解实际域模型的情况下,我将约束想象成如下所示:
private Constraint twoConsecutivePeriods(ConstraintFactory constraintFactory) {
return constraintFactory.from(Period.class)
.ifExists(Period.class, equal(Period::getDay, period -> period.getDay() + 1))
.penalize("2 consecutive periods", period -> ...);
}
因此,可以使用ifNotexists()
来实现相反的目的。我们在巡回赛OptaPlanner示例中都有这两个例子。
请注意,此API仅在OptaPlanner 7.33.0.final之后才可用。
我已经为我的计划问题调整了课程时间安排示例......但我不知道如何确保连续或形容词周期。我的日程计划有活动,每个活动都有一个持续时间,我已将其转换为周期。例如......一个活动大约是120分钟,而时间段大约是30分钟,所以我创建了4个时隙活动。这种方式似乎很容易使活动适应不同的时期......但我找不到一种简单的方法来确保所有这些时隙活动必须是连续的。关于如何实现这一点有什么想法吗? 提前感谢
让我们假设一个关于护士名册的变体示例,在该示例中,护士不是在一天内分配一个班次,而是在当天分配一个可变数量的时间块(由24个时间块组成)。例如:Nurse1被分配给时间块[8、9、10、11、12、13、14]。让我们把这些连续的赋值称为ShiftPeriod。在这些移位周期上有一个硬的最小值和最大值。然而optaplanner很难找到一个可行的解决方案。 当有严格的连续约束时,是否更好地将规划实
问题内容: 有没有检查连续日期的功能。我在处理以下问题时遇到问题: 我的表有一个包含以下数据的列: 给定的开始日期为,结束日期为。我想要的结果是: 有人可以建议什么吗? 问题答案: 我认为这是 “连续日期分组岛” 问题的一种变体。可以使用以下方法完成: SQL小提琴 结果 这是SQL Server 2005版本: SQL小提琴
假设我有一个的实现。
问题内容: 我试图写一个函数来识别日期组,并测量组的大小。 到目前为止,我一直在使用Python进行此过程,但我想将其移入SQL。 例如清单 应该输出到新表中,如下所示: 理想情况下,这还应该能够解决周末和公共假日的问题- 我表中的日期应该是周一至周五(我想我可以通过制作一个新的工作日表并按顺序编号来解决此问题)。有人建议我尝试CTE。我对此很陌生,因此,我感谢任何人都可以提供的任何指导!谢谢。
我发现约束流无论如何都不适合我的目的,因为我无法在使用奖励或惩罚函数时控制基于匹配实体的分数级别。我将继续使用drools语法。