当前位置: 首页 > 知识库问答 >
问题:

当规划变量为空时,为什么构造启发式不起作用

西门嘉石
2023-03-14

我正在尝试使用 optaplanner 5.5.0 为收银员制定时间表。计划实体与苗圃排班示例 (shiftAssignment) 相同,但计划变量(员工)可为空(可以存在未分配的班次)。所以 TS 工作得很好,但构造启发式(第一次适合)什么也没做(因为在我的情况下,我想所有零的解决方案是可行的)。我应该怎么做才能使施工启发式工作?

共有2个答案

从元明
2023-03-14

6.0.0.CR1开始,构造启发式支持空变量。它已经发布了,请参见optaplanner.org.

戈正初
2023-03-14

至少在6.0.0.Beta2之前,构造启发式还不支持@PlanningVariable(nullable=true)(这是自6.0.0.Beta1以来的新功能)。

我正在努力重构构造启发式,以便它们基于选择器架构和放置器的东西。这将为 CH 带来许多好处,包括可为空=真支持。

 类似资料:
  • 我创建了一个从HashMap中删除学生的方法。当id为NULL时,它会抛出一个异常。有人知道它为什么不起作用吗? 公共类应用程序{public static void main(String[]args){ }

  • 在制定时间表时,你必须遵守法律(硬性要求),该法律规定,作为一名员工,你每七天只能工作一定的时间。它没有说日历周的原因是在创建时间表时为雇主提供一些回旋空间(通常是提前4-16周)。一旦设置了此计划期的开始日期,在您想要进行完整的重新规划之前,该日期无法更改,但您需要通知员工。所以它可以被视为一个变量,直到你接受了时间表,然后它就变成了一个常数。当然,这是每个员工的个人情况。该开始日期将由您的第一

  • 我试图实现的是,当我的EditText为空时,操作菜单中的MenuItem应该被禁用。我在onCreateOptionsMenu方法中展开菜单,然后禁用onPrepareOptionsMenu方法中的Send按钮并保存对菜单的引用,这样我就可以在onCreate方法中设置的TextWatcher中使用它。 这段代码工作正常,在屏幕方向改变之前,它会做它应该做的事情。我知道当这种情况发生时,活动会被

  • 问题内容: 我正在尝试从JSON网址获取集合。骨干网确实发送了请求并得到了响应,但是在它之后的集合中没有: 这是我的JavaScript: 响应中的JSON 响应中的Content-Type HTTP标头为。 为什么不将其加载到集合中?JSON是否正确? 一些更多的代码: 问题答案: 是异步的。尝试 要么 要么

  • 问题内容: 我有三部分字符串,每个部分用 符号分隔 。例如, 现在,当我使用这样的方法拆分它时: 它包含整个字符串作为单个元素的数组。 但是当我使用这个: 它完美的作品是什么,我想这意味着 现在的数组包含,并分别对指数0,1和2。 我想知道为什么第一次使用时不起作用,因为我在使用 问题答案: 因为字符是在正则表达式中用来标记行尾的保留令牌。因此,您必须使用进行 转义。