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

Simple way to implement immovable planning entities for chained entities (TSP, VRP)

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.0.0.Beta1
    • 6.0.1.Final
    • optaplanner-core
    • None

      According to the documentation for continuous planning, the way to 'lock' parts of the solution is by declaring a movableEntitySelectionFilter on the planning entity: Section 14.3.1. Immovable planning entities.
      However, this does not work well with chained entities where parts of the solution is calculated, like in the vehiclerouting example.

      For example, let's assume the following chains, where [Customer A] and [Customer C] are immovable:
      [Vehicle 1] <- [Customer A] <- [Customer B]
      [Vehicle 2] <- [Customer C] <- [Customer D]

      Even if we filter immovable entities, a move to set the variable [Vehicle 2] as previous standstill to [Customer B] can be selected with the following result that changes the immovable entity [Customer C]:
      [Vehicle 1] <- [Customer A]
      [Vehicle 2] <- [Customer B] <- [Customer C] <- [Customer D]

            gdesmet@redhat.com Geoffrey De Smet (Inactive)
            hagai.shatz Hagai Shatz (Inactive)
            Votes:
            4 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: