Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  Adding a new visit

    Posted Thu July 24, 2008 03:39 PM

    Originally posted by: SystemAdmin


    [anahana said:]

    I am trying to insert a new visit to an existing routing plan while the plan is being executed (Dynamic VRP) I used the function "createAdditionalVisits" in the "Adding Visit Disjunctives" example of Dispatcher 4.5, but I am not sure how exactly does this function take into account the current positions of the vehicles upon adding the new visit. Any thoughts?

    #CPOptimizer
    #DecisionOptimization


  • 2.  Re: Adding a new visit

    Posted Mon July 28, 2008 04:56 PM

    Originally posted by: SystemAdmin


    [Gwyneth said:]

    One possibility:

    You could take your old model and fix the visits that have already been performed (vehicle, next, delay, etc.). Then the  previous solution could be used as a starting point, then additional visits could be inserted.

    The key point is to pin the decisions taken by the engine (vehicle assignment, time, etc...) up to a certain point in time: if it is 11 AM, then you might want to pin the decisions until say 11:30 AM, or until the delivery that is going to occur next if it is going to happen later than 11:30 AM. This will prevent modifying the solution too much, in a way that would not be feasible for the vehicles.

    Depending on the time allowed, you might want to simply try to insert the new visits, or run a more time-consuming optimization.


    I hope this helps.

    #CPOptimizer
    #DecisionOptimization


  • 3.  Re: Adding a new visit

    Posted Tue July 29, 2008 07:51 AM

    Originally posted by: SystemAdmin


    [anahana said:]

    actually, that was helpfull; pinning the status of the problem at a specific point in time is just what I needed, the problem is I don't know how to do that :( I'm working on the PDPTW so I guess the status varaibles I need to keep hold of are: vehicle position, customer last visited, current time, and current capacity.

    Can you help me in pinning these status variables? Just point me in the direction :)

    Thanks
    #CPOptimizer
    #DecisionOptimization


  • 4.  Re: Adding a new visit

    Posted Tue July 29, 2008 03:34 PM

    Originally posted by: SystemAdmin


    [Gwyneth said:]

    One way to do this is to create constraints that bind these variables to the values.

    If you have a look at IloVisit in the reference manual, you will see how to get the vehicleVar and the nextVar for a visit.  You may also be interested in the cumulVar which gives the following:

    IloIfThen(env,
                v1.isJustBefore(v2),
                v2.getCumulVar(d) == v1.getCumulVar(d)
                                    + v1.getTransitVar(d));


    #CPOptimizer
    #DecisionOptimization


  • 5.  Re: Adding a new visit

    Posted Fri August 01, 2008 12:48 AM

    Originally posted by: SystemAdmin


    [anahana said:]

    Thanks, but the getDelayVar can not be used to know the vehicle location at a specific point in time. I'm trying to locate the vehicles at different points in time (e.g. 25 min after departure from the depot); I looked through the IloVisit functions, but could not find any function that takes any time units as an argument. Help...

    Regards,
    #CPOptimizer
    #DecisionOptimization