next up previous
Next: Computing City Distances Up: Industry-sponsored research Previous: Industry-sponsored research

Dynamic pickup and delivery problem with time windows

The Pickup and Delivery Problem with Time Windows (PDPTW) deals with finding a set of routes for serving a set of transportation requests. Each transportation request is defined by a pickup location, a delivery location and a load. Each location has a time window within which it has to be served. A certain number of vehicles is activated at the beginning of a day, but if a new request cannot be feasibly served by these active vehicles, a new vehicle is added. The dynamic PDPTW deals with the problem in a dynamic (real-time) environment where not all of the requests are known in advance. The methodology used for solving the dynamic PDPTW is an on-line approach - the problem is being solved repeatedly as new requests become known. Future requests are not predicted nor stochastically modeled, i.e., the algorithm optimizes only over known requests.

Very large scale neighborhood (VLSN) search algorithms are known to produce good solutions for various practical optimization problems [1]. The neighborhood of a solution consists of set of solutions that may be derived by applying certain changes to the solution. Many simple local search procedures and many metaheuristics are neighborhood search procedures. We have used the concept of $ '$ improvement graph' to explore the neighborhood for local search [1]. The improvement graph consists of a set of nodes linked together by edges. Each scheduled job-pair corresponds to a node in the improvement graph. This is called a 1-node. In general a k-node is a node in the improvement graph corresponding to k job-pairs. All 1-nodes are present in the improvement graph but only select subsets of all k-nodes make it to the improvement graph. Because improvement nodes correspond to scheduled job-pairs, it makes sense to talk about a node's route. A node route in an improvement graph is just the route in which its associated job-pair(s) is scheduled. There is an edge between two nodes provided they are associated with different routes. The edges are directed and are used to store two types of weights, a path weight and a cycle weight. The cycle weight is defined to be the change in the objective function when the job-pair associated with the destination node is removed from its route and the job-pair from the the source node is added to the destination route (at the best possible location, using a greedy algorithm). Note that the source job-pair is inserted into the destination route after the destination job-pair is removed. The path weight is defined in exactly the same way, except that the destination job-pair is not removed from its route.

With these definitions, it is easy to see that a route-disjoint negative cycle in the improvement graph corresponds to a better schedule. The search for a negative cycle starts and ends at the same node; while this search is performed it is possible to make use of the path weight to find improvements that do not start and end at the same node. Therefore the search for improvements is reduced to finding route-disjoint negative paths and/or cycles in the improvement graph. Unfortunately, because of the route disjointness requirement, this problem is NP-hard. The algorithm we use to locate negative cycles is a considerable improvement of the method described in [1].

Our group members are active in this broad research area. Combining VLSN search and variable neighborhood search produced superior results in some classes of optimization problems considered by our group members [42]. How to extend this approach to our routing and scheduling problems that have an on-line component is not immediately obvious. However, we believe further investigation on variations of this approach could lead to viable solution approaches. Investigating this will be another priority. It may be noted that ejection chain algorithms developed in the previous phase of this project could be viewed as a VLSN search algorithm.


next up previous
Next: Computing City Distances Up: Industry-sponsored research Previous: Industry-sponsored research
& Bhattacharya 2009-01-16