Closed tmtenbrink closed 3 weeks ago
Thanks for the report, it is indeed a bug if aries incorrectly reports optimality.
I was able to reproduce it (thank you for the details!). I only did a very shallow exploration but it seems that the bug was introduced very recently between v0.3.2
and v0.3.3
. At least for orb05.jsp
, version 0.3.2 appears to always return the valid solution.
Maybe you can use this version while I investigate the source of the problem (which may take some time depending on my availability).
Note that to automate testing you can use the ./ci/scheduling.py
script that will run the solver on a number of problems with a know makespan and exit with error code 1
in case of a failure.
For instance, to find the problematic version, I extended the instances tested as follow:
instances = [
("jobshop", "examples/scheduling/instances/jobshop/ft06.jsp", 55),
("jobshop", "examples/scheduling/instances/jobshop/la01.jsp", 666),
("openshop", "examples/scheduling/instances/openshop/taillard/tai04_04_01.osp", 193),
] + [
("jobshop", "examples/scheduling/instances/jobshop/orb05.jsp", 887),
] * 100
@tmtenbrink I have fixed a bug in #136 that seemed to be the cause of the problem you faced. Could you check that your problem has indeed disappeared with the latest master
version?
Thank you for the swift resolution. Unfortunately we were not able to do the final runs for our project with the master version, we used 0.3.2 instead, so I cannot check that indeed it's resolved for all the instances I mentioned earlier. Those I tried seem good though.
I was running a comparison of ORTools and this solver. However, for some instances ORTools found better solutions than aries, even though aries had reported them as being optimal.
An instance I was able to reproduce this quite easily was with
orb05.jsp
. The optimal value should be 887, which Aries does usually find. However, when I did a small sample of running it 20 times, 3 of those reported an optimal value of 889, one an optimal value of 890.Is this expected, do you maybe know the reason for this?
Thank you.
Reproduce
Run
a few times.
Other instances
Other instances where I found a similar problem, but here I did not really extensively test it: