### Drools solver Javapolis 2007 slides

The BOF was a success and as promised, I ‘ve posted the slides online:

People asked a bunch of interesting questions afterwards.
One question I felt I left a bit unanswered: how do you weigh your constraints in DRL? So, here’s a code example that should answer that question too:

rule "twoExamsInARow"  when    // ...  then    insertLogical(new IntConstraintOccurrence(        "twoExamsInARow",        10, // weight        $leftExam,$rightExam));endrule "twoExamsInADay"  when    // ...  then    insertLogical(new IntConstraintOccurrence(        "twoExamsInADay",        1, // weight        $leftExam,$rightExam));endrule "softConstraintsBroken"  when    $total : Double() from accumulate( IntConstraintOccurrence($weight : weight),      sum($weight) ); then scoreCalculator.setSoftConstraintsBroken($total.intValue());end

So the 2 in a row constraint is 10 times heavier than the 2 in a day constraint.