So, basically what you're saying is, "The impact of a given negative soft
constraint is reduced by the occurrence of another positive constraint."
If that's the case, the rule makes sense to me: total up the occurrences of the
negative constraint, total up the occurrences of the positive constraint, and then combine
them in a way that describes their relationship.
In this case, what the positive constraint "favors" is the reduction or
elimination of the negative constraint, so subtracting the positive constraint makes
sense. (A classic "interference pattern" situation.)
--- On Thu, 1/7/10, Michael Neale <michael.neale(a)gmail.com> wrote:
From: Michael Neale <michael.neale(a)gmail.com>
Subject: [rules-users] Planner/solver - POSITIVE scoring...
To: "Rules Users List" <rules-users(a)lists.jboss.org>,
"Geoffrey" <ge0ffrey.spam(a)gmail.com>
Date: Thursday, January 7, 2010, 12:23 AM
Hi All - FYI I have been conversing
with Geoffrey on basic
solver/planner usage questions, but we are bring the
discussion here
in case others can benefit.
So I am looking at using IntConstraintOccurrence, for
scoring with
weights, and HardAndSoftConstraintScoreCalculator. So I can
see how
NEGATIVE_HARD and NEGATIVE_SOFT scores would work, with
appropriate
accumulator rules doing that etc.
What I am not sure about is ConstraintType.POSITIVE - so I
want to use
that to "favour" certain aspects of a solution. So would
the correct
way to use that to be to have rules that use a positive
IntConstrainOccurrence, and then do something like:
when
$softTotal : Number() from
accumulate(
IntConstraintOccurrence(constraintType ==
ConstraintType.NEGATIVE_SOFT, $weight : weight),
sum($weight) //
Vote for
http://jira.jboss.com/jira/browse/JBRULES-1075
);
$positiveTotal: Number()
from accumulate(
IntConstraintOccurrence(constraintType ==
ConstraintType.POSITIVE, $weight : weight),
sum($weight) //
Vote for
http://jira.jboss.com/jira/browse/JBRULES-1075
);
then
scoreCalculator.setSoftConstraintsBroken($softTotal.intValue()
- $positiveTotal.intValue());
?? it seems odd - I want to use POSITIVE but I am using it
to reduce
the soft constraints broken? The the higher the positive
score, the
less softConstraintsBroken property of the score calculator
is set -
that seems odd... or should I not use HardAndSoft if I am
using
POSITIVE and NEGATIVE scoring?
--
Michael D Neale
home:
www.michaelneale.net
blog:
michaelneale.blogspot.com
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users