Optaplanner:序列结构启发式,具有多个计划变量,这些变量均为无效或无效



根据文档,对于我的实体上的多个计划变量,我需要在构造启发式中使用顺序方式,以免它失控。但是根据文档,

顺序:一次分配一个变量....

这对我来说是一个关注点,因为我有一个约束,说讲座不能有时间表,但没有空间,反之亦然,但是如果无分配(过度约束(,则可以。发生的事情是没有分配的,因为这不会仅破坏任何硬性约束。解决此问题的任何方法/模式?

ah,我理解:因为顺序首先分配一个段,然后在尝试分配房间之前进行得分计算,所以它会选择不分配该期间,因为它会破坏困难的约束当period != null && room == null

有趣。我能想到的一个解决方法是,在该顺序配置中的周期选择器的计划值(这是第一个(上添加过滤器。该过滤器过滤出" null"值,该值迫使CH将周期分配给非零值。

另一种方法是在自定义阶段使用自定义CH。在示例中查找"初始化器"类。

的一些较旧的示例可能仍在使用。

最新更新