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

OptaPlanner:如何有效地执行一对多约束?

林德华
2023-03-14

我准备了EasyScorecalculatorClassIncrementalScorecalculatorClass(Java分数计数)示例,以解决电源消费者和电源供应商的问题(电话和充电器,其中电压必须相等,消费者所需安培不得大于供应商提供的安培,每个供应商都有成本)。

Optaplanner为两个消费者和一个供应商的样本制作解决方案,这不是我想要的,因为一个供应商不能在一次对两个消费者操作,解决方案必须以至少-1的值结束。

我看了一下OptaPlanner:如何强制规划变量值只使用一次,但不明白如何将Drool代码映射到Java...

共有1个答案

凌经赋
2023-03-14

有几个例子有你描述的唯一性约束。例如,在n-queens示例中,所有行都必须不同。该示例还具有java score impl。

 类似资料:
  • 问题内容: 我定义了一个MySQL表: 我在这里阅读到MySQL不支持带条件的。对于每个 customerId, 我们只有一个 primaryImage = 1 。 那么我还能采取什么措施来强制执行此约束? 问题答案: 完美支持独特的约束。 但是,它不支持部分约束/索引,因此您需要使用而不是标记非主图像。 您可以将任意数量的值插入到每个客户中,但只能插入一个非空值。

  • 我试图解决一个调度问题,它围绕着以下安排: 是否可以使用和实现约束?我尝试过以下路线: 我认为应该没有问题,但不确定如何获得这个来实现我想要的。这里是否需要?还是有一个不同的、更好的整体方法? 作为参考,ShiftAssignment类可以很容易地拥有如下所示的方法:

  • 实现SortedSet的Java类除了提供一些其他方法外,还应该提供一个迭代器,以升序迭代其元素。但我认为SortedSet接口规范无法强制执行它指定的这种行为约束。SortedSet只有几个方法,一个实现类可以实现这些方法,而实际上不必满足返回升序迭代器的要求,或者确实不需要有一个有效的比较器。 仅仅查看接口方法而不知道其名称,并不能告诉开发人员实现类应该实现的核心行为。 实现开发人员应该阅读J

  • 目前,我的问题有四个指标。每一种方法都是完全不同的(每一种方法都有不同的单位,不同的范围等等),而且每一种方法都是外部加权的。我用口水来得分。 我只有一个分数级别(),我必须找到一种方法,将这些度量的各个分数适当地组合到一个值上 目前最重要的问题是度量值的范围可能有很大的不同。 因此,例如,如果在一次移动之后,一个可能范围较小的度量的得分提高了,比如说10%,那么这可能完全被一次替代移动所抵消,该

  • 如何在多个字段上执行聚合?也就是说,我想列出“field1”和“field2”的术语聚合结果,不是单独列出,而是在同一个桶中列出。在elasticsearch中可能吗?

  • 问题内容: 在下表中输入值时,如何在SQL的同一表的列上强制使用外键约束: 员工人数 : 空号, 经理编号(必须是现有员工) 问题答案: 希望能帮助到你!