我用easyScoreCalculatorClass
和incrementalScoreCalculatorClass
(Java得分计数)准备示例以解决电力消费者和电力供应商(电话和充电器,电压必须相等且消费者所需安培数必须不大)的问题然后供应商提供安培,每个供应商都有成本)。
Optaplanner为2个消费者和一个供应商提供样品解决方案,这是不可取的,因为我预计一个供应商不能同时对两个消费者进行操作,解决方案必须以至少-1的价值结束硬评分。
为了实施一对一的约束,我认为可以通过维护地图来计算供应商分配给消费者的次数。这是在Java代码中强制执行约束的可能解决方案吗?
是否可以组织数据或使用注释标记字段,以便自动强制执行此约束?
我期待optaplanner: how to enforce planning variables values to be used only once,但不了解如何将Drool代码映射到Java ...
答案 0 :(得分:1)
有几个示例具有您描述的唯一性约束。例如,在n-queens示例中,所有行必须不同。该示例也有一个java分数。