<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<div class="moz-cite-prefix">On 06-06-13 11:50, Michiel Vermandel
wrote:<br>
</div>
<blockquote
cite="mid:1370512242.66721.YahooMailNeo@web161304.mail.bf1.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff; font-family:arial,
helvetica, sans-serif;font-size:10pt">
<div><span>></span> That's comparing apples and oranges.</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">> If you have 2 solutions
A and B scored using a different score function, it's
impossible to state whether A is better/worse than B based on
those scores or the number of violations.</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;"><br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">Well the rules stay the
same, only the weight is changed.</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;"><br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">If I have for example a rule
(R1) that requires a given skill for a job and a rule (R2)
which says someone can only do one job at the time then</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">Solution A) with different
weights I get something like 20 violations of R1 and 10
violations of R2</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">Solution B) with equal
weights I get something like 5 violations of R1 and 2
violations of R2</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">So B) is better.</div>
</div>
</blockquote>
Agreed - and Planner should be finding solution B) with A's scoring
function.<br>
<br>
Suggestions:<br>
1) Verify with enviromnentMode assertion that there is no score
corruption. That can explain that weirdness.<br>
Upgrade to 6.0.0.Beta3's match system if you do have score
corruption - it will likely solve it - the easy way.<br>
<br>
2) Use the benchmarker and test Tabu Search vs Late Acceptance etc,
with different parameters.<br>
<br>
3) Verify that R1 and R2 are not score trapped (see 6.0 docs keyword
"score trap")<br>
<blockquote
cite="mid:1370512242.66721.YahooMailNeo@web161304.mail.bf1.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff; font-family:arial,
helvetica, sans-serif;font-size:10pt">
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;"><br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">I understand the fact that a
business analysis defines the weights, that's why they have
been different so far.</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">1) I just don't know how to
get to solution B (which is better than A if you recalculate
with the weights of A) with the correct weights applied.</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;"><br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">2) Can you indicate how hard
it is to migrate from 5.5.0 to 6.0?</div>
</div>
</blockquote>
Follow the UpgradeFromPreviousVersionRecipe.txt in the zip.<br>
It takes an hour or 3, but it the recipe makes it painless.<br>
<blockquote
cite="mid:1370512242.66721.YahooMailNeo@web161304.mail.bf1.yahoo.com"
type="cite">
<div style="color:#000; background-color:#fff; font-family:arial,
helvetica, sans-serif;font-size:10pt">
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;"><br>
</div>
<div style="color: rgb(0, 0, 0); font-size: 13.3333px;
font-family: arial,helvetica,sans-serif; background-color:
transparent; font-style: normal;">Thanks</div>
<div> </div>
<div>-----------------<br>
<a class="moz-txt-link-freetext" href="http://www.codessentials.com">http://www.codessentials.com</a> - Your essential software, for
free!<br>
Follow us at <a class="moz-txt-link-freetext" href="http://twitter.com/#!/Codessentials">http://twitter.com/#!/Codessentials</a><br>
</div>
<div style="font-family: arial, helvetica, sans-serif;
font-size: 10pt;">
<div style="font-family: times new roman, new york, times,
serif; font-size: 12pt;">
<div dir="ltr">
<hr size="1"> <font face="Arial" size="2"> <b><span
style="font-weight:bold;">From:</span></b> Geoffrey
De Smet <a class="moz-txt-link-rfc2396E" href="mailto:ge0ffrey.spam@gmail.com"><ge0ffrey.spam@gmail.com></a><br>
<b><span style="font-weight: bold;">To:</span></b>
Michiel Vermandel <a class="moz-txt-link-rfc2396E" href="mailto:mvermand@yahoo.com"><mvermand@yahoo.com></a>; Rules
Users List <a class="moz-txt-link-rfc2396E" href="mailto:rules-users@lists.jboss.org"><rules-users@lists.jboss.org></a> <br>
<b><span style="font-weight: bold;">Sent:</span></b>
Thursday, June 6, 2013 11:15 AM<br>
<b><span style="font-weight: bold;">Subject:</span></b>
Re: [drools-planner] please advice on
IntConstraintOccurrence weight<br>
</font> </div>
<div class="y_msg_container"><br>
<div id="yiv2642368488">
<div> <br>
<div class="yiv2642368488moz-cite-prefix">On 06-06-13
10:22, Michiel Vermandel wrote:<br>
</div>
<blockquote type="cite">
<div
style="color:#000;background-color:#fff;font-family:arial,
helvetica, sans-serif;font-size:10pt;">
<div><span>Hi,</span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><br>
</div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;">(using
drools-planner 5.5.0.Final)</div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><br>
<span></span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>I'm
struggling with assigning weights to
IntConstraintOccurrence in a rule's LHS.</span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>If
I assign different weights for different rules
(because we think one rule is more important
than an other)</span></div>
</div>
</blockquote>
The business analysis defines the score weights, it's
not our call to make which is more important etc.<br>
One way talk to you your business people and get them
to convert their knowledge into score weights<br>
is to ask "if you had to put a price tag on
everything, how much would violating this constraint
cost us?".<br>
Basically normalize everything to a price.<br>
<br>
For example: in nurse rostering, "not giving a nurse
her day off requests costs the solution 100 $".<br>
It might seem unethical to put a price tag on a
nurse's happiness, but reality does it implicitly
anyway.<br>
<br>
<blockquote type="cite">
<div
style="color:#000;background-color:#fff;font-family:arial,
helvetica, sans-serif;font-size:10pt;">
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>
our end result is far worse than when we
assign all equal weights.</span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>I
do not look at the total value of hard and
soft score but at the number of violations.</span></div>
</div>
</blockquote>
That's comparing apples and oranges.<br>
If you have 2 solutions A and B scored using a
different score function, it's impossible to state
whether A is better/worse than B based on those scores
or the number of violations.<br>
<br>
What you can do is take solution B and grind it
through A's score function to compare it with score A
(or vica versa).<br>
<br>
<blockquote type="cite">
<div
style="color:#000;background-color:#fff;font-family:arial,
helvetica, sans-serif;font-size:10pt;">
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>I
can imagine that the planner can evolve much
easier to a better solution with all weights
being the same because if not then "transient"
moves will be made impossible to take.</span></div>
</div>
</blockquote>
Yes, if and only if the more difficult constraints
have higher weights (otherwise it's the opposite).<br>
<br>
But it's a bit absurd. For example in nurse rostering,
I could give all nurses their day off requests if I
didn't have to worry about assigning no more than 2
shifts to the same nurse as the same time...<br>
<blockquote type="cite">
<div
style="color:#000;background-color:#fff;font-family:arial,
helvetica, sans-serif;font-size:10pt;">
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><br>
<span></span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>But
how should we then implement importance in
rules?</span></div>
</div>
</blockquote>
Define your score function as your business needs it.
Use the techniques described in the 6.0 manual:
negative/postive, weights and levels.<br>
<br>
PS: 6.0.0.Beta3 is out and the new
addSoftConstraintMatch() system is much faster and
easier to use (see the blog post of a few months ago).<br>
<blockquote type="cite">
<div
style="color:#000;background-color:#fff;font-family:arial,
helvetica, sans-serif;font-size:10pt;">
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><br>
<span></span></div>
<div style="color:rgb(0, 0,
0);font-size:13.3333px;font-family:arial,
helvetica, sans-serif;
background-color:transparent;font-style:normal;"><span>Thanks</span></div>
<div> </div>
<div>-----------------<br>
<a moz-do-not-send="true" rel="nofollow"
class="yiv2642368488moz-txt-link-freetext"
target="_blank"
href="http://www.codessentials.com/">http://www.codessentials.com</a>
- Your essential software, for free!<br>
Follow us at <a moz-do-not-send="true"
rel="nofollow"
class="yiv2642368488moz-txt-link-freetext"
target="_blank"
href="http://twitter.com/#%21/Codessentials">http://twitter.com/#!/Codessentials</a></div>
</div>
<br>
<fieldset class="yiv2642368488mimeAttachmentHeader"></fieldset>
<br>
<pre>_______________________________________________
rules-users mailing list
<a moz-do-not-send="true" rel="nofollow" class="yiv2642368488moz-txt-link-abbreviated" ymailto="mailto:rules-users@lists.jboss.org" target="_blank" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a moz-do-not-send="true" rel="nofollow" class="yiv2642368488moz-txt-link-freetext" target="_blank" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></pre>
</blockquote>
<br>
</div>
</div>
<br>
<br>
</div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></pre>
</blockquote>
<br>
</body>
</html>