Using Optaplanner version 6.2.0
My DROOLS Rules:
rule "Transition Time Constraint"
when
$leftImageStrip:ImageStrip($selected : selected,
$satellite : satellite,
selected != null,
$timeslot : timeslot,
leftId : id,
lGain : gain,
lRollAngle : rollAngle,
$duration : duration)
$rightImageStrip : ImageStrip(selected == $selected,
satellite == $satellite,
Math.abs(timeslot.getTime() - $timeslot.getTime()) <= 460000,
this != $leftImageStrip,
rGain : gain,
rRollAngle : rollAngle)
then
x = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss.SSS");
scoreHolder.addHardConstraintMatch(kcontext, -1);
end
rule "Shoot Strip once"
when
$leftImageStrip: ImageStrip($selected : selected, $stripList : stripList,
leftId : id, selected != null)
$rightImageStrip: ImageStrip(selected == $selected, stripList == $stripList,
this != $leftImageStrip)
then
scoreHolder.addMediumConstraintMatch(kcontext, -1);
end
rule "Maximization of Selected Parameters"
when
$imageStrip: ImageStrip(selected != null)
then
scoreHolder.addSoftConstraintMatch(kcontext, $imageStrip.gain);
end
I stuck with a local optima that differs according to the input data sorting.
How can I overcome this problem to obtain the same optimum solution what ever the input data sorting is?, and of course it should be the global optimum one.
Can one assures that the obtained result using Optaplanner is the global optima? independent of the input data sorting?