2016-03-01 32 views
0

我试图通过使用drools解决Optaplanner的背包问题。以前有过这样的人吗?这指的是optaplanner的例子。Drools背负Optaplanner

感谢您的帮助

如下我已经实现了这些规则:


rule "weigth" dialect "java" when
$knapsack : Knapsack($capacity : capacity) $weightTotal : Number(intValue > $capacity) from accumulate( Item( $weight : weight), sum($weight) ) then scoreHolder.addHardConstraintMatch(kcontext, $capacity - $weightTotal.intValue()) end

+1

我们应该回答“是“ 或没有”? – laune

回答

0

。假定Item是你的计划的实体,它有一个规划变量boolean used,那么你会想只检查项目是used == true

... from accumulate(
     Item(used == true, 
      $weight : weight), 
     sum($weight) 
    ) 
+0

它仍然有效,谢谢 – jonas1289