Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-393

Broken TransportTimeToHubUpdatingVariableListener in Coach shuttle gathering

XMLWordPrintable

    • NEW
    • NEW

      I've tried to separate issue in this specific example.

      few observations:
      1. score corruption occurs AFTER move which changes value of LAST entity in chain to ANCHOR.

      • move itself is fine B2 {B1 -> S1}
      • undo move is corrupted B2 {B1 -> B1}
      • bug seems to be in createUndoMove consider following chain:

      S1 <- B0 <- B1 <- B2

      chain after move should look like:
      S1 <- B2 <- B0 <- B1

      B2 is entity, new value is S1 and old value is B1
      when creating undo move, old value is S1 and new value is B1. There is problem, because variableDescriptor in createUndoMove (in ChainedChangeMove) set oldValue to B1 and not S1!

      2. reproducibility of bug is not satisfiable

      • I was able to remove all but three busses, one shuttle and one coach
      • I've removed all moves but change moves
      • I've elminiated score function
      • with this eliminations I was able to reproduce bug in 150 steps under one second.
      • storing solution does not help

      3. problem might still be somewhere else

      • I am going to examine it more. But there is problem that I don't understand this example well so I don't know precisely what is correct and what is not. There are some hubs, destinations, next and previous stops with coaches and shuttles atc...

      4. interesting thing:

      • the step before corrupted one is S1 {B1 -> B0}
      • S1 have planning value destination
      • so when corrupted move is done, solution looks like:

      B0 <(destination) S1 < B2 <- B0 <- B1

      • not sure if that is correct or not, can't continue without knowledge of this example
      • another interesting thing: in corrupted step. there are three undoable moves: B0 {S1 -> B0}

        , S1

        {B0 -> B0}, S1 {B0 -> B0}

        which are correctly handled.

      5. reproducer:

              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              jvahala Jiří Vahala (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: