2016-03-01 2 views
0

J'essaie de résoudre le Knapsack-Problem avec l'Optaplanner en utilisant des baves. Est-ce que quelqu'un l'a déjà fait? Cela fait référence à l'exemple d'optaplanner.Drools Knapsack Optaplanner

Merci pour votre aide

J'ont mis en œuvre ces règles comme suit:


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

Sommes-nous censés répondre "oui " ou pas"? – laune

Répondre

0

présumant Item est votre entité de planification et qu'il a une variable de planification boolean used, alors vous aurez envie de seulement vérifier les articles qui sont used == true:

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

Cela fonctionne toujours, merci – jonas1289