CHAPTER 3 A TIME-DEPENDENT k-shortest PATH ALGORITHM FOR ATIS APPLICATIONS

Similar documents
Adaptations of the A* Algorithm for the Computation of Fastest Paths in Deterministic Discrete-Time Dynamic Networks

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Abstract. Title of Thesis: THE QUICK TIME DEPENDENT QUICKEST FLOW PROBLEM: A LESSON IN ZERO-SUM CYCLES

Time-Dependent Network Assignment Strategy for Taxiway Routing at Airports

CS 450 Numerical Analysis. Chapter 7: Interpolation

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Models and Algorithms for Shortest Paths in a Time Dependent Network

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

3 No-Wait Job Shops with Variable Processing Times

LECTURES 3 and 4: Flows and Matchings

Conflict based Backjumping for Constraints Optimization Problems

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

2.3 Optimal paths. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

2.3 Optimal paths. Optimal (shortest or longest) paths have a wide range of applications:

Binary Trees. BSTs. For example: Jargon: Data Structures & Algorithms. root node. level: internal node. edge.

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Chapter 15 Introduction to Linear Programming

Rollout Algorithms for Discrete Optimization: A Survey

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Scan Scheduling Specification and Analysis

Algorithm Design and Analysis

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

Time dependent optimization problems in networks

CLOCK DRIVEN SCHEDULING

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1

Linear Methods for Regression and Shrinkage Methods

Implementation Techniques

6. Algorithm Design Techniques

4. Linear Programming

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

(Refer Slide Time: 01:00)

Multiway Blockwise In-place Merging

Computer Vision & Digital Image Processing. Global Processing via Graph-Theoretic Techniques

x ji = s i, i N, (1.1)

Overview. H. R. Alvarez A., Ph. D.

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Towards Efficient Higher-Order Semidefinite Relaxations for Max-Cut

Lecture VIII. Global Approximation Methods: I

Chapter 10. Fundamental Network Algorithms. M. E. J. Newman. May 6, M. E. J. Newman Chapter 10 May 6, / 33

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Resource Constrained Project Scheduling. Reservations and Timetabling

Branch-price-and-cut for vehicle routing. Guy Desaulniers

These are not polished as solutions, but ought to give a correct idea of solutions that work. Note that most problems have multiple good solutions.

Mathematical and Algorithmic Foundations Linear Programming and Matchings

SPEEDING UP DYNAMIC SHORTEST PATH ALGORITHMS

Solution Approaches for the Elementary Shortest Path Problem

CSC 505, Spring 2005 Week 6 Lectures page 1 of 9

Financial Optimization ISE 347/447. Lecture 13. Dr. Ted Ralphs

Contents. 1 Introduction. 2 Searching and Traversal Techniques. Preface... (vii) Acknowledgements... (ix)

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Rigidity, connectivity and graph decompositions

Discrete Optimization. Lecture Notes 2

Approximation Algorithms

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Delay-minimal Transmission for Energy Constrained Wireless Communications

Network optimization: An overview

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Temporally Adaptive A* Algorithm on Time Dependent Transportation Network

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

CAP 4630 Artificial Intelligence

Lecture I: Shortest Path Algorithms

Lecture 8: Non-bipartite Matching. Non-partite matching

On Page Rank. 1 Introduction

Notes for Lecture 24

Theorem 2.9: nearest addition algorithm

Fast algorithms for max independent set

A Benders decomposition approach for the robust shortest path problem with interval data

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Rational Bezier Surface

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

Register allocation. CS Compiler Design. Liveness analysis. Register allocation. Liveness analysis and Register allocation. V.

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

Real-time integrated prefetching and caching

( ) n 3. n 2 ( ) D. Ο

Empirical analysis of procedures that schedule unit length jobs subject to precedence constraints forming in- and out-stars

Polytopes Course Notes

Efficient Edge-Swapping Heuristics for the Reload Cost Spanning Tree Problem

Subset sum problem and dynamic programming

Linear Programming in Small Dimensions

Integer and Combinatorial Optimization: Clustering Problems

CLASS: II YEAR / IV SEMESTER CSE CS 6402-DESIGN AND ANALYSIS OF ALGORITHM UNIT I INTRODUCTION

Optimal Detector Locations for OD Matrix Estimation

Mining Frequent Itemsets in Time-Varying Data Streams

An Introduction to Dual Ascent Heuristics

Dynamic Programming Algorithms

Dynamic programming. Trivial problems are solved first More complex solutions are composed from the simpler solutions already computed

Discrete Covering. Location. Problems. Louis. Luangkesorn. Housekeeping. Dijkstra s Shortest Path. Discrete. Covering. Models.

The Encoding Complexity of Network Coding

COSC160: Data Structures Hashing Structures. Jeremy Bolton, PhD Assistant Teaching Professor

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

Discrete planning (an introduction)

Programming, numerics and optimization

2 is not feasible if rounded. x =0,x 2

Some Advanced Topics in Linear Programming

Worst-case running time for RANDOMIZED-SELECT

6. Lecture notes on matroid intersection

On the Max Coloring Problem

Transcription:

CHAPTER 3 A TIME-DEPENDENT k-shortest PATH ALGORITHM FOR ATIS APPLICATIONS 3.1. Extension of a Static k-sp Algorithm to the Time-Dependent Case Kaufman and Smith [1993] showed that under the consistency assumption, any static LS or LC algorithm can be extended to the time-dependent case (using the timespace network formulation). This section describes the extension of the static LC k-sp algorithm to the deterministic time-dependent case, by introducing time-dependent arc costs. Thus the labels (k-vectors) of the nodes now become time-dependent. This can be done trivially by storing these vectors for every time t S under consideration. The problem can be solved for two cases. We can find the SPs either from a common origin (forward formulation) to other nodes, or from each node to a common destination (backward formulation). The problem statement for the backward formulation is stated below. Given a network G, having N nodes and A arcs, a distinguished destination node f, a set of time-dependent link delay functions d ij (t) associated with each arc (i,j) A, and a discrete time set S, find the k shortest paths from each node in N to the destination node f, for every starting time t S. This problem can be solved by using a hybrid version of DYNASMART s TDSP and k-sp algorithms [Mahmassani, 1994]. Defining L k (t) be the label value associated with j the k th time-dependent shortest path from node j to destination f, starting from node j at time t, a brief statement for such an algorithm that finds these time-dependent k-sp is given below. 1. Initialize labels. L k (t) = {0,,..., } and f L k (t) = {,..., }, i f, k = 1, 2,..., K, t S. i Chapter 3 - Model Description 55

Insert f into a scan eligible list (SEL). Let i = f. 2. Correct labels. j (t) = d ji (t) + Lk i [d ji (t)] j Γ-1 (i), t, k = 1, 2,.., K (i = first node in SEL). where (t) represents the tentative label value for node j for starting time t. j Retain the k smallest values among L k (t), λ (t). If i has no unscanned label, delete i j j from SEL. If any component of j has changed, insert j into SEL, if it is not already there. If SEL is empty, stop. The label values give the k-shortest paths from every node to destination node f, for all times t S. Else go to Step 2. Note that in this algorithm, the label correcting step includes an extra set of calculations for each k-component of the nodes in the candidate list. These calculations involve O(k) comparisons to insert the label in the tentative k-vector. We can use dynamic programming arguments to demonstrate the convergence of this algorithm. Next, we consider the forward formulation of the time-dependent k-sp problem. The forward formulation behaves in a slightly different manner. The procedure is similar to a simple LC algorithm, but does not utilize dynamic programming calculations like the backward formulation, where label values from previous calculations are used. This algorithm is in fact only an approximate method for finding the TDSP if the delays are non-fifo. On the other hand, it has some advantages over the exact backward formulation extension of TDSP algorithm discussed earlier. To illustrate these and other features, first consider the problem statement. Given a network G, having N nodes and A arcs, a distinguished source node s, a set of time-dependent link delay functions d ij (t) associated with each arc (i, j) A, a discrete time set S, find the k shortest (simple) paths from the source node s to each node in N. Chapter 3 - Model Description 56

In the forward formulation, the problem can be solved separately for each starting time t s S from the origin node s. Hence, there is no correlation in the time-components for any node. Herein lies one advantage of the algorithm suggested in this report. If we have a large network with a large time set S, discretizing S would result in a very large number of time components, and therefore an extremely large number of function evaluations if we were to use any backward (dynamic programming) formulation if we were to solve the special case of finding the k-sp from s to f. Also, the backward formulation will determine the optimal, but not a simple shortest path. Define L k (t ) be the label value associated with j s the k th time-dependent shortest path from origin node s to node j, starting from the origin at time t = t s, where t s {t 0, t 0 +δ,, t 0 +(M-1)δ}, and where δ represents the smallest timeperiod that can be used update the state of the network without significant loss in accuracy. Then, the stepwise procedure for the algorithm can be stated as follows. 1. L k s (t s ) = {0,,..., } t s. L k (t ) = {,..., }, i s, t, and k = 1, 2,..., K. i s s Insert f into the scan eligible list (SEL). Let i = s. 2. For each j Γ(i), t s, k = 1, 2,.., K (i = first node in SEL), compute j (t) = d ij (Lk i [t s ]) + Lk i [t s ]. Retain the k smallest values among L k (t ), λ (t ). If i has no unscanned label, delete i j s j s from SEL. If any component of j has changed, insert j into SEL, if it is not already there. If SEL is empty, stop. The label values give the (approximate) k-shortest paths from the source node s to every node in N, for all (M) starting times t s. Else repeat Step 2. The algorithm (TD-kSP) proposed in this report sacrifices (theoretical) accuracy for speed in certain situations and is especially advantageous under the following assumptions. Chapter 3 - Model Description 57

1. An optimal set of paths is needed only for a few starting times from the origin node s. 2. The cardinality of the discrete time set S is extremely large compared to the value of k. We are (also) interested in finding the shortest (simple) path from s to f for each given starting time (t s ) from the origin node s. Algorithm TD-kSP can be effectively used to solve the following problems. 1. To determine the optimal time for an user to enter the network. To solve this problem, we set k = 1. The algorithm behaves like a discretized version of Dreyfus algorithm by implicitly enforcing the consistency assumption in the resulting label-correcting procedure. Based on the optimal arrival times (via simple paths) at the destination node f, we can determine the optimal starting time at the source node s. Note that this case is similar to the UW algorithm of Orda and Rom discussed earlier. 2. Determine the shortest paths for a given starting time t s from the source node s, given that S is very large (greater than 1000, say). To obtain a simple path, we set k = 1 for the algorithm. In general, this algorithm may not always find the optimal path if it is non-simple, but interestingly enough, we can solve another related hypothetical problem that can be used to derive a heuristic that can be used to obtain an approximate solution to the TD k-sp problem. Determine the shortest path from the source node s to all other nodes in the network, for a given starting time t s given that S is very large, and the link-delays are such that a waiting time > w i time units beyond the earliest arrival time via a simple path at any node i will result in unnecessary delays. Also, let r i (>0) be the minimum possible time to return to a node at any time. Chapter 3 - Model Description 58

We set k = max. (w i +1)/r i, noting that in the absence of ties, the k-sp values for any node i form the set of k different arrival times T k =,.., }, where is the earliest i {t0 i t1 i, tk-1 i t0 i possible arrival time and t k-1 i is the arrival time for the kth shortest path. For any arc(i, j), the optimal arrival time (possibly via a non-simple path) at node i, is necessarily contained in the set T k, since any later arrival at node i would result in an unnecessary delay in arrival at i j. Hence, t 0 (in the sorted set ) represents the shortest (possibly non-simple) path. Of j Tk j course, in general, one may not always be able to impose a tight bound on waiting times or return times. In the worst case, we may have to settle for the inequality 0 w S. The algorithm is generally efficient for small values of w (<10), while for the general case, the optimal solution represents a set of shortest paths obtained using a waiting time restriction of k+1 units and need not be a true optimal solution. To illustrate this concept, consider the dynamic network depicted in Figure 4. The only time-dependent link delay is associated with the link from node 3 to node 4. The earliest possible arrival time at node 3 = 1.The value w 3 can be calculated 1 by finding the smallest t such that t + d 34 (1+t) d 34 (1). Substituting the expression for d 34 (t) in this inequality, the value of t can then be obtained by solving the equation t+1+(4-t) 2 = 17. Discarding the trivial solution (t = 0), we obtain w 3 = 7. Also, the minimum re-arrival time at node 3 equals 4 (by traveling to node 2 and returning). Hence, the desired value of k = 7/4 = 2. It can be verified that using a value of k = 2 and solving this problem using algorithm TD-kSP yields the optimal (non-simple) shortest path. In general, if a good upper bound on the value of w i can be obtained, we can set k = max. w i (if this value is small). Note that if max. (w i +1)/r i = 1 for all nodes, then a value of k = 1 should be sufficient. In general, however, the algorithm can be run for some specified value of k to quickly obtain a bound on the TDSP. In addition, this formulation can be easily modified 1 In general, a non-linear optimization method may be required to calculate w. Chapter 3 - Model Description 59

to develop an adaptive k-sp algorithm (similar to the consideration of Skiscim and Golden, 1989) that can be ultimately used to obtain the (true) time-dependent k-shortest simple paths using a suitable modification of the method described in Lawler [1976]. 3.2. Program TD-kSP The program operates in the following four stages. 1. Input (a) -Reading of network data from the file od.dat. Input (b) -Reading of link-delay data from the file delay.dat. 2. Preprocessing (a) - Transformation from global to local coordinates/references. Preprocessing (b) - Construction of the node adjacency linked-list. 3. Path Processing - Using the path processing data structure (PPDS) to find the final SP labels. 4. Post Processing (a) - Construct the spanning tree data structure. Post Processing (b) - Output of the link numbers of any desired path to the file out.dat. In addition to these components, a random network generator was developed for the purposes of testing. This network generator can generate a set of nodes with random arcs connecting these nodes. The user can specify the degree of connectedness (density) of the network desired and the number of nodes in the network. Another important feature of the program is the implementation of linked lists to store the link delays. 3.2.1. Generation of Time-Dependent Link Delays The following scheme was used to model the time-dependent delay functions. For any link, the time set S was partitioned into a random number of sub-intervals. For each of these sub-intervals generated, a polynomial was generated having random degree and coefficients. A simple data structure consisting of a list of lists for each arc was used to implement this formulation. The first linked list stores the extreme points of each subinterval. For each of the elements (sub-intervals) in this list, the coefficients of the Chapter 3 - Model Description 60

generated polynomial is stored. Using dynamic memory allocation, we can generate any number of sub-intervals, coefficients, etc. Further, we can also constrain the delay functions to be continuous at extremities of the sub-intervals, and the delays to be nonnegative. Usually, a linear or quadratic delay function is sufficient for each timesubinterval. Another feature of the delay function implementation is that the nature (FIFO or non-fifo) of delay functions can be ascertained by finding the first derivative of the (non-negative) polynomial expressions (a general delay function may not be differentiable at points where the delay values change sign). The first derivative of the polynomial expression can be calculated by a simple manipulation of the coefficients. To test the computational performance of the algorithm, the random network generator program was used to obtain random networks. In addition, specially structured layered networks were also generated. The implementation schemes for these network generators are based on the methods suggested by Golden and Skiscim [1989] and Sherali et al. [1996]. The results obtained are presented in the next chapter. Chapter 3 - Model Description 61