--- category: literaturenote citekey: schmidtintegratingroutingdecisionspublic2014 title: Integrating Routing Decisions in Public Transportation Problems authors: "Schmidt, Marie E." year: 2014 date: 2014-00-00 2014 doi: 10.1007/978-1-4614-9566-6 url: "https://doi.org/10.1007/978-1-4614-9566-6" zotero_key: ZGPZFWV7 zotero_storage: 9X58C8UQ collections: transpordi_planeerimine folder: 001_artiklid firstAuthor: "Schmidt, Marie E." status: converted --- Marie E. Schmidt # Integrating Routing Decisions in Public Transportation Problems ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_0_Picture_3.jpeg) #### Springer Optimization and Its Applications #### VOLUME 89 *Managing Editor* Panos M. Pardalos (University of Florida) *Editor–Combinatorial Optimization* Ding-Zhu Du (University of Texas at Dallas) *Advisory Board* J. Birge (University of Chicago) C.A. Floudas (Princeton University) F. Giannessi (University of Pisa) H.D. Sherali (Virginia Polytechnic and State University) T. Terlaky (McMaster University) Y. Ye (Stanford University) #### *Aims and Scope* Optimization has been expanding in all directions at an astonishing rate during the last few decades. New algorithmic and theoretical techniques have been developed, the diffusion into other disciplines has proceeded at a rapid pace, and our knowledge of all aspects of the field has grown even more profound. At the same time, one of the most striking trends in optimization is the constantly increasing emphasis on the interdisciplinary nature of the field. Optimization has been a basic tool in all areas of applied mathematics, engineering, medicine, economics, and other sciences. The series *Springer Optimization and Its Applications* publishes undergraduate and graduate textbooks, monographs and state-of-the-art expository work that focus on algorithms for solving optimization problems and also study applications involving such problems. Some of the topics covered include nonlinear optimization (convex and nonconvex), network flow problems, stochastic optimization, optimal control, discrete optimization, multi-objective programming, description of software packages, approximation techniques and heuristic approaches. For further volumes: ## Integrating Routing Decisions in Public Transportation Problems ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_3_Picture_2.jpeg) Marie E. Schmidt Institute for Numerical and Applied Mathematics Göttingen, Germany ISSN 1931-6828 ISSN 1931-6836 (electronic) ISBN 978-1-4614-9565-9 ISBN 978-1-4614-9566-6 (eBook) DOI 10.1007/978-1-4614-9566-6 Springer New York Heidelberg Dordrecht London Library of Congress Control Number: 2013957935 Mathematics Subject Classification (2010): 90-02 #### © Springer Science+Business Media New York 2014 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher's location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Printed on acid-free paper Springer is part of Springer Science+Business Media [\(www.springer.com\)](www.springer.com) ## **Preface** To model and solve optimization problems arising in public transportation planning, data about the passengers is necessary and has to be included in the models in any phase of the planning process. In particular, when aiming at minimizing the passengers' travel time, information about passengers' travel routes is indispensable. For example, if many passengers travel between two stations using the same route, it may be beneficial to establish a high-speed line on this route; a good timetable should offer low waiting times for connections with high passenger numbers. For this reason, many solution approaches assume a two-step procedure: in the first step, passenger routes are determined using shortest path, flow, or traffic assignment procedures. In the second step, the actual planning of lines, timetables, etc., is done. This approach ignores that for most passengers there are many possible ways to reach their destinations in the public transportation network; thus, the actual connections the passengers will take depend strongly on the decisions made during the planning phase. In this book we aim at integrating the route determination procedure in the optimization process of public transportation problems. We consider three planning problems arising in public transportation planning: *line planning* specifies the paths and frequencies of the train lines to be established based on data about the infrastructure; *timetabling* determines arrival and departure times of trains at stations; and the task of *delay management* is to decide whether trains should wait for feeder trains or depart on time in case of delays. In order to maximize the passengers' benefit, our objective is the minimization of the passengers' overall travel time. After formulating suitable network models for the considered problems with integrated routing, we investigate the computational complexity of the integrated problems. We prove NP-hardness results and derive polynomial algorithms for special cases, furthermore we investigate the approximability of some of the vi Preface considered problems. For solving the integrated problems, we present exact integer programming approaches as well as a heuristic approach which alternates route determination and optimization steps. Göttingen, Germany Marie E. Schmidt ## **Contents** | 1 | Introduction
| 1 | | | |---|------------------|-------------|------------------------------------------------------------------------------|----| | | 1.1 | Overview | | 1 | | | 1.2 | Outline | | 4 | | | 1.3 | Basic | Concepts
Used
in
This
Book
| 5 | | 2 | Line | | Planning | 9 | | | 2.1 | | Introduction
to
Line
Planning
| 9 | | | | 2.1.1 | Line
Planning
Problems
| 9 | | | | 2.1.2 | Literature
Overview
| 12 | | | | 2.1.3 | The
Line
Planning
Problems
Considered
in
This
Book | 14 | | | | 2.1.4 | Outline
of
the
Line
Planning
Chapter | 20 | | | 2.2 | Modeling | Line
Planning
with
Routing
| 20 | | | | 2.2.1 | The
Change-and-Go
Network
| 21 | | | | 2.2.2 | Line
Planning
in
the
Change-and-Go
Network | 23 | | | | 2.2.3 | The
Line
Network
| 25 | | | | 2.2.4 | Uncapacitated
Line
Planning
in
the
Line
Network | 28 | | | 2.3 | Solving | Line
Planning
When
Part
of
the
Solution
Is
Fixed
| 30 | | | | 2.3.1 | Solving
Uncapacitated
Line
Planning
When
Part | | | | | | of
the
Solution
Is
Fixed | 30 | | | | 2.3.2 | Solving
Capacitated
Line
Planning
When
Part | | | | | | of
the
Solution
Is
Fixed | 31 | | | 2.4 | | Classification
of
Line
Planning
Problems
with
Routing
| 33 | | | 2.5 | | Uncapacitated
Line
Planning
with
Routing
| 35 | | | | 2.5.1 | Uncapacitated
Line
Planning
in
General
Networks
| 35 | | | | 2.5.2 | Uncapacitated
Line
Planning
in
Linear
Networks
| 44 | | | 2.6 | Capacitated | Line
Planning
with
Routing
| 60 | | | | 2.6.1 | Complexity
of
Capacitated
Line
Planning
with
Routing
| 60 | | | | 2.6.2 | Integer
Programming
Formulations | 64 | viii Contents | 3 | | Timetabling | | 73 | |---|-------|-------------|----------------------------------------------------------------------------------|-----| | | 3.1 | | Introduction
to
Timetabling
| 73 | | | | 3.1.1 | Timetabling
Problems
| 73 | | | | 3.1.2 | Literature
Overview
| 76 | | | | 3.1.3 | The
Timetabling
Problem
Considered
in
This
Book
| 79 | | | | 3.1.4 | Outline
of
the
Timetabling
Chapter
| 81 | | | 3.2 | Modeling | Timetabling
with
Routing
Using | | | | | | Event-Activity
Networks
| 82 | | | 3.3 | Solving | Timetabling
When
Part
of
the
Solution
Is
Fixed
| 85 | | | 3.4 | Complexity | of
Timetabling
with
Routing
| 88 | | | | 3.4.1 | NP-Hardness
of
Timetabling
with
Routing
| 88 | | | | 3.4.2 | Inapproximability
of
Timetabling
with
Routing
| 92 | | | 3.5 | | Timetabling
with
Routing
Between
Events
| 97 | | | 3.6 | An | Exact
Algorithm
for
Timetabling
with
Routing
| 99 | | | 3.7 | Integer | Programming
Formulations
| 101 | | | | 3.7.1 | Flow-Based
Formulation
| 102 | | | | 3.7.2 | Virtual-Activity-Based
Formulation
| 108 | | 4 | Delay | | Management
| 113 | | | 4.1 | | Introduction
to
Delay
Management
| 113 | | | | 4.1.1 | Delay
Management
Problems
| 113 | | | | 4.1.2 | Literature
Overview
| 117 | | | | 4.1.3 | The
Delay
Management
Problem
Considered | | | | | | in
This
Book
| 120 | | | | 4.1.4 | Outline
of
the
Delay
Management
Chapter | 122 | | | 4.2 | Modeling | Delay
Management
with
Routing
Using | | | | | | Event-Activity
Networks
| 123 | | | 4.3 | Solving | Delay
Management
When
Part
of
the
Solution
Is
Fixed
| 126 | | | 4.4 | Complexity | of
Delay
Management
with
Routing
| 130 | | | | 4.4.1 | NP-Hardness
of
Delay
Management
with
Routing | | | | | | for
One
OD-Pair
| 131 | | | | 4.4.2 | An
Algorithm
for
Delay
Management
with
Routing | | | | | | with
One
OD-Pair | 136 | | | | 4.4.3 | NP-Hardness
of
Delay
Management
with
Routing | | | | | | for
Instances
with
NTT
Property
| 151 | | | | 4.4.4 | Inapproximability
of
Delay
Management
with
Routing
| 155 | | | 4.5 | Integer | Programming
Formulation
| 162 | | 5 | An | Iterative | Solution
Approach
for
General
Network | | | | | Problems | with
Routing
| 167 | | | 5.1 | | Classification
of
Network
Problems
with
Routing
| 167 | | | 5.2 | An | Iterative
Heuristic
| 173 | | | 5.3 | The | Price
of
Sequentiality
| 175 | | | 5.4 | Analysis | of
the
Iterative
Heuristic
for
Timetabling
with
Routing
| 176 | | | | | | | | ix | |----| | | | | 5.5 | Analysis | of
the
Iterative
Heuristic
for
Arc
Speed-Up
| 181 | |---|------------|-------------|-------------------------------------------------------------------|-----| | | | 5.5.1 | Definition
of
the
Problem
Arc
Speed-Up
| 181 | | | | 5.5.2 | The
Iterative
Heuristic
for
Arc
Speed-Up
| 183 | | | | 5.5.3 | Solving
Arc
Speed-Up
Exactly
| 185 | | | | 5.5.4 | The
Price
of
Sequentiality
for
Arc
Speed-Up
| 186 | | 6 | | Conclusions | and
Outlook
| 207 | | | Frequently | Used | Notation
| 213 | | | | | References | 217 | | | Index | | | 225 | ## **Chapter 1 Introduction** #### **1.1 Overview** This book treats three optimization problems arising in public railway transportation, namely - the problem of *line planning* which, given the infrastructural data, i.e., information about stations, tracks and track lengths, consists of finding a *line concept* that specifies the paths and frequencies of the train lines to be established; - the problem of *timetabling*, i.e., to specify arrival and departure times of trains at stations in a *timetable*; and - the problem of *delay management*: given an operating public transportation system and a set of delays occurring in the daily operations, the task of delay management is to decide whether trains should wait for delayed feeder trains or depart on time and to update the existing timetable to incorporate these changes. The updated timetable is called a *disposition timetable*. Our objective in the above-mentioned problems is to minimize the overall travel time of the passengers who use the public transportation system. Certainly, the routes that the passengers take influence the travel time. Hence, a good solution algorithm for the above-described problems takes passenger routes into account. That is, if many passengers travel between two stations using the same route, it might be beneficial to establish a high-speed line on this route. Or, to give an example with regard to the problems of timetabling and delay management, if many passengers change at a station from one train to another, the passengers would favor a timetable that does not make them wait too long for the second train, while in case of a delay on the incoming train, a good *disposition timetable* would ensure that the passengers do not miss the connecting train. Hence, in order to find good line concepts, timetables, or disposition timetables, it is important to know the passenger routes. 1 2 1 Introduction ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_11_Figure_1.jpeg) **Fig. 1.1** The public transportation network, consisting of stations and tracks, described in the example. The *dashed trains* are high-speed trains, the other trains are regional trains For this reason, in the literature it is often assumed that a good *routing*, i.e., a collection of a route for every passenger, is part of the input of the above-described problems. Thereby, many approaches lose sight of the fact that the line concepts, timetables, or disposition timetables themselves considerably influence which routes are favorable and which are not. Hence, approaches that estimate passenger routes without any knowledge of the transportation system to be established on the infrastructure are likely to produce suboptimal solutions. This fact is illustrated in the following example which is sketched in Fig. 1.1: Consider a passenger p who wants to travel from station s1 to station s2. There are two possible ways to do that: a shorter connection with a length of 100 km passing a station s3 and another connection which makes a slight detour via station s4 and thus has length 150 km. Without further information, one would suggest that p take the shorter connection. However, due to constraints on the line concept or preferences of other passengers, it may turn out that a line concept is established in which the shorter route via s3 is served by very slow regional trains tr1 and tr2, making many intermediate stops at regional stations, while on the other hand the tracks .s1; s4/ and .s4; s2/ are served by high-speed trains tr3 and tr4. In view of our objective of minimizing the travel time, the passenger would choose the high-speed connection. Thus, our initial 'guess' for an optimal route, taking only the lengths of the tracks between the stations into account was misleading and did not find an optimal route with regard to the line concept. 1.1 Overview 3 Given additionally the knowledge of the timetable, it may turn out that the train tr4 in fact departs much later in s4 than the arrival of tr3 takes place. In this setting it turns out to be advantageous for p to choose the regional trains instead of waiting a long time at station s4. Again, our guess given only the input information of the timetabling problem, consisting in this case of the network and the line concept assumed above, leads to a suboptimal path for passenger p. To round the example off with a quick glance on delay management we remark that for the given timetable in case of a delay on tr1, train tr2 might or might not wait for train tr1 at station s3, depending on the number of passengers that want to transfer at s3 and the number of passengers which already sit in tr2 and hope to continue their journey without delays. If tr2 does not wait, p would have better chosen the path via station s4, preferring a long waiting time to the prospect of being not able to continue the journey at station s3. We conclude that the passenger routes are not at all fixed, i.e., contained in the *input* of our optimization problems, but depend on the chosen line concept, timetable, or disposition timetable, respectively, and should hence be considered as part of the *solution* instead. The task of this book is to conceptually integrate the determination of passenger routes in the optimization step of line planning, timetabling, and delay management. In other words, our goal is to determine a line concept/timetable/disposition timetable which is optimal in the sense that it allows a routing with travel time shorter than or equal to the travel time of routings that are possible for other line concepts (or timetables/disposition timetables, respectively). An important step when approaching an optimization problem, in particular if real-world instances can be expected to be large, is to investigate the complexity of (solving or approximating) the problem, since it allows to assess which solution methods may be possible to solve the problems and which running times can be hoped for. For this reason, a large part of this book concentrates on an analysis of the border between easy and hard problems in line planning, timetabling, and delay management, which can later on be used as a basis for developing solution methods. In particular, we are interested in the following questions: - How can existing models for line planning, timetabling, and delay management be extended to allow a free choice of the routing? - What is the computational complexity of determining a line concept/timetable/ disposition timetable and a routing, simultaneously? Can we identify classes of instances for which this can be done in polynomial or pseudopolynomial time? Where is the borderline between easily solvable and NP-hard problems? - To what extent can existing solution methods for line planning, timetabling, and delay management support the simultaneous calculation of both a line concept/timetable/disposition timetable and a routing? - Can existing integer programming approaches be modified to solve our problems? Is it possible to approximate optimal solutions calculating line concepts/timetables/disposition timetables and routings iteratively? 4 1 Introduction #### **1.2 Outline** Since public transportation problems are often very complex and hard to solve, most works concentrate only on one problem at a time, although there exist some attempts to combine multiple problems identified in public transportation planning into one large model (see, e.g., [LM07a] and references therein). Following this approach, we regard the problems of *line planning with routing*, *(aperiodic) timetabling with routing*, and *delay management with routing* as independent problems and dedicate a chapter to each of these problems. An introduction to the respective problem and an overview over models, complexity results, and solution techniques is given at the beginning of each of the three chapters. To obtain an overview about the field of public transportation in general, we refer the interested reader to [BLZ97,GJPC04,HKLV05,DH07,GH08,CKT10], and references therein. Chapter [2](#page-18-0) treats line planning with routing. Based on a result implying strong NP-hardness for general line planning problems with routing, we concentrate on identifying restrictions on the input parameter of the problems which allow polynomial- or pseudopolynomial-time algorithms for line planning problems without capacity restrictions. When taking into account capacity restrictions, line concepts that represent a system optimum may force some passengers to take long detours which do not represent the individually optimal route choices for these passengers. We formulate a model for capacitated line planning where every passenger can take a route that is individually optimal for him/her without provoking capacity conflicts and present an integer programming formulation to solve our problem. In Chap. [3,](#page-81-0) after proving NP-hardness of aperiodic timetabling with routing in general, we utilize the fact that for a fixed routing timetabling can be solved by linear programming to define a timetabling problem with limited route choices which is still solvable in polynomial time. This motivates an exact algorithm for timetabling with routing as well as an integer programming formulation which differs from the straightforward approach of modeling passenger routes using multi-commodity flow constraints. Surprisingly, in Chap. [4](#page-121-0) delay management with routing turns out to be NP-hard even if there is only one passenger traveling. Hence, our main focus in this chapter is to develop a polynomial-time approximation algorithm for instances of delay management with routing considering only one passenger. We identify a restriction under which this algorithm provides optimal results and investigate whether these results can be extended to instances with more passengers. Although this turns out not to be the case, the algorithm can still be used in the last section of this chapter to enhance out the integer programming formulation which we develop based on a formulation for a delay management problem with fixed routing. Motivated by the structural similarities between the considered problems, in Chap. [5](#page-175-0) we develop a heuristic which can be applied to a whole class of network problems with routing. This heuristic alternatingly calculates a routing and a line concept/timetable/disposition timetable, relying on shortest path algorithms and existing optimization algorithms for finding an optimal line concept/timetable/disposition timetable in presence of a fixed routing. Furthermore, we establish an index measuring the worst-case quality of the heuristic. Before we start the discussion of the problems, we define some concepts from graph theory needed in the following chapters and other prerequisites and notions used in this book in Sect. 1.3. The problems of line planning, timetabling, and delay management are treated as independent problems in Chaps. [2](#page-18-0)[–4.](#page-121-0) Hence, to some extent it is possible to read individual chapters of this book independently from the others. However, since the problems of line planning, timetabling, and delay management are subsequent steps of the public transportation planning process, definitions and notations in timetabling and delay management rely on precedent chapters and are not repeated but assumed to be known in later chapters. The iterative heuristic developed in Chap. [5](#page-175-0) is stated for a general problem class, hence Chap. [5](#page-175-0) could also stand alone, but examples for the illustration of the notions and the evaluation of the heuristic are taken from the preceding chapters. #### **1.3 Basic Concepts Used in This Book** In this book, we use some basic concepts from graph theory, complexity theory, and combinatorial and linear integer optimization. For the theory of NP-completeness we refer to [GJ79]. Note that since all decision problems considered in this book are in NP, as can be easily verified, in our proofs of NP-completeness, we only specify a polynomial transformation from a problem Q0 that is known to be NP-complete to our problem Q. If all numbers occurring in the constructed instances of Q are polynomially bounded in the size of the corresponding instances of Q0 , strong NP-completeness follows. (Strong) NPhardness for an optimization problem follows from (strong) NP-completeness of the corresponding decision problem. Models and concepts from linear integer and combinatorial optimization can be found in, e.g., [NW88]. We use the abbreviations *LP* for *linear program* and *IP* for *linear integer program*. When considering optimization problems, we use the term solution in the sense of *feasible solution*. To avoid confusion we define all concepts from graph theory needed in this book below, following [Die06,AMO93] for the most part. Furthermore, at the end of this section we introduce the *public transportation network* (PTN) which models the infrastructure for public transportation problems and is hence used in the definitions of line planning, timetabling, and delay management. **Definition 1.3.1.** An *(undirected) graph* G D .V; E/ is a pair of disjoint sets V and E - V V . The elements in V are called the *vertices* or *nodes* of G, the elements in E are called (undirected) *edges*. We denote an edge by e D fi; j g. Most problems in public transportation are represented using directed graphs. 6 1 Introduction **Definition 1.3.2.** A *directed graph* or *digraph* G D .V; A/ is a pair of disjoint sets V and A together with two mappings ˛ and ! from A to V . We denote a *directed edge* or *arc* of G by e D .˛.e/; !.e//. Note that we can easily 'forget' that a digraph is directed replacing the arc set A by the edge set E WD ffi; j g W .i; j / 2 Ag. Since V \E D ;, we sometimes slightly abuse notation and write i 2 G or e 2 G for a vertex i or an edge e in a (di)graph G D .V; E/. Let G D .V; A/ be a digraph. For *v* 2 V , let ı-.*v*/ WD fa W ˛.a/ D *v*g - A denote the set of arcs starting in *v* and ıC.*v*/ WD fa W !.a/ D *v*g - A denote the set of arcs ending in *v*. In our application, all considered graphs are *finite*, e.g., they have a finite number of nodes and they do not have *loops*, e.g., no edges fi; ig (or .i; i /, in the directed case), or *multiple edges*. Thus, from now on, when talking about graphs we refer to finite graphs. Since the graphs we use for modeling are also used for distance calculations, in many cases we assign labels to the edges or arcs representing their lengths. **Definition 1.3.3.** An (undirected) graph G D .V; E/ with edge length Le for every edge e 2 E is called an *(undirected) network*, analogously we call a directed graph G D .V; A/ with arc length La for every arc a 2 A a *(directed) network*. **Definition 1.3.4.** A *linear network* is an undirected network G D .V; E/ with node set V D f*v*1; *v*2;:::; *v*ng and edge set E D ff*v*1; *v*2g; f*v*2; *v*3g;:::; f*v*n-1; *v*ngg. Let G D .V; E/ be a graph/undirected network. We refer to G0 D .V 0 ; E0 / with V 0 - V and E0 - .V 0 V 0 / \ E as a *subgraph/subnetwork* of G and write G0 G. Let V 0 be a subset of V and E0 WD ffi; j g 2 E W i; j 2 V 0 g. Then G0 D .V 0 ; E0 / G is called the *subgraph/subnetwork induced by* V 0 . In a directed graph/directed network G D .V; A/, we call G0 D .V 0 ; A0 / with V 0 - V and A0 - A a *subgraph/subnetwork* of G and write G0 G. For a subset V 0 of V and A0 WD f.i; j / 2 A W i; j 2 V 0 g, we call G0 D .V 0 ; A0 / G the *subgraph/subnetwork induced by* V 0 . #### **Definition 1.3.5.** - Let G D .V; E/ be an undirected graph. A *path* in G is a subgraph P D .VP ; EP / defined by a sequence of nodes i1;:::;in that are linked by edges fij ; ijC1g for i D 1; : : : ; n 1. - Let G D .V; A/ be a directed graph. A *directed path* in G is a subgraph P D .VP ; AP / given by a sequence of nodes i1;:::;in that are linked by arcs .ij ; ijC1/ for i D 1; : : : ; n 1. In contrast, an *undirected path* in G is given as a sequence of nodes i1;:::;in such that for every j D 1; : : : ; n 1 either .ij ; ijC1/ 2 A or .ijC1; ij / 2 A. Note that nodes can repeat in a path according to this definition. This is often referred to as a *walk* in the literature. A path P D .i1; i2;:::;in/ is called *simple* if ij ¤ ik for all j ¤ k. In directed graphs, we often refer to directed paths simply as *paths*. If we refer to undirected paths, we always emphasize that. Note that a path is also uniquely determined by its edge or arc sequence, hence, we sometimes write P D .i1; e1; i2; e2;:::;en-1; in/, P D .i1; i2;:::;in/, or P D .e1; e2;:::;en-1/ instead of P D .fi1; i2;:::;ing; fe1; e2;:::;en-1g/. **Definition 1.3.6.** The *length* of a (directed or undirected) path P D .VP ; AP / is given as l.P / D P a2AP La. The *shortest path problem* is the task to find a path P with first node s and last node t of minimum length in a (directed or undirected network) with two specified nodes s and t. Let G D .V; E/ be a directed or undirected graph with nonnegative edge lengths. For a given start node s, *Dijkstra's algorithm* (see, e.g., [NW88]) calculates a set of shortest paths fPt W t 2 V g to every other node t in the node set V ; thus, in particular it solves the shortest path problem defined above. If this algorithm is implemented using *Fibonacci Heaps*, a running time of O.m C n log.n// can be achieved (see [FT87]), where m is the number of edges/arcs and n is the number of nodes in the considered graph. Note that in directed acyclic graphs, it is possible to find shortest paths in O.m/ (see, e.g., [AMO93]). The variant where shortest paths between all pairs of nodes have to be found is called the *all-pairs shortest path problem*. It can be solved, e.g., using the *Floyd– Warshall algorithm* in O.n3/. **Notation 1.3.7.** *Let* G D .V; E/ *be a (directed or undirected) network and let* f.si ; ti/ W i 2 I g - V V *denote a set of pairs of nodes. We call the set of paths* fPi W i 2 I g *where* Pi *is a shortest path from* si *to* ti *in* G *a* shortest-path routing*.* Note that, in case of positive edge or arc lengths, every shortest path is simple. **Definition 1.3.8.** In an undirected graph, a path C defined by a node sequence i1;:::;in with i1 D in is called a *cycle*. If a graph does not contain any cycle as a subgraph, it is called *acyclic*. Let G D .V; A/ be a directed graph and i; j 2 V . - j is called a *successor* of a node i if there exists a directed path from i to j in G. - j is called a *predecessor* of i if there exists a directed path from j to i in G. - If G is acyclic and i is a predecessor of j in G, we write i G j and j G i. If i ¤ j , we can also write i G i. G, G, G define a partial order on the vertices of G. - j is the *direct successor* of i on a path P if .i; j / 2 P. i is then called *direct predecessor* of j on P. **Definition 1.3.9.** Let G D .V; E/ be a non-empty directed or undirected graph. - G is called *connected* if for every pair i; j 2 V ; it contains a path from i to j as a subgraph. - A connected subgraph H of G is called a *connected component* of G if there is no connected subgraph H0 of G such that H ¨ H0 . 8 1 Introduction **Definition 1.3.10.** A *tree* is an undirected, connected, acyclic graph. The basic network, common to all three problems studied in this book, is the so-called PTN, modeling the underlying infrastructure of stations and tracks. **Definition 1.3.11.** A PTN is an undirected network $$\mathcal{PTN} = (S, E).$$ In railway transportation, the vertices S represent train stations, the (undirected) edges E represent the physical connections between the vertices, i.e., the tracks. The length of a track e is included in the model as edge length Le 2 N0. ## **Chapter 2 Line Planning** #### **2.1 Introduction to Line Planning** #### *2.1.1 Line Planning Problems* Given the public transportation network, i.e., information about the location of the stations, the tracks connecting the stations, and the lengths of the tracks, *line planning* aims at determining the *lines*, i.e., the routes served regularly by a train. Furthermore, in many line planning approaches, not only the routes which should be served are considered, but also the *frequencies* of the services are planned. #### **Lines** A *line* is a path in the PTN which is served by *trains*. In the line planning problems investigated in this book we are given a predefined set of potential lines, the *line pool*, among which we choose the lines we want to establish. It is also possible to define the set of potential lines only implicitly as a path from a predefined origin to a predefined destination [BGP08,BN10]. Another approach is to construct lines by combining small line parts, see, e.g., [LS67,SBP74,Son79,Fuh08]. #### **Trains and Frequencies** The *frequency* of a line indicates how many trains of the line are operated in a certain time period. In the literature, both the problems of finding a line concept and the problem of finding a line concept *together* with a corresponding frequency assignment are referred to as line planning, while the problem of assigning a frequency to a given line concept is called *frequency setting* (see, e.g., [CF95, GSS04, dMI06]). There are various reasons why frequencies are an important feature in line planning. 10 2 Line Planning When a passenger arrives at a station by train, his/her waiting time for the next connecting train depends on the frequency of the connecting train; hence in practice, line frequencies have a significant impact on travel times. However, there is a second reason to consider line frequencies: the capacity of the transportation system. If there are 500 passengers who want to take the same line on the same edge of the PTN during a certain time period and the capacity of a train is only 200, we need at least three trains serving the line. In this book we ignore the impact of line frequencies on waiting times and refer the interested reader to [CF95, GSS04, dMI06] and references therein. Instead, we focus on *uncapacitated line planning*, where frequencies are not taken into account, and *capacitated line planning*, where frequencies are introduced due to capacity reasons. In capacitated line planning we make use of the definition of *trains* as single realizations of a line which can transport only a certain number of passengers Cap at a time. In uncapacitated line planning capacity restrictions are not considered, i.e., Cap is set to 1. #### **Properties of Lines** Every line l is assigned a monotonously increasing function ˛l W RC 0 ! RC 0 , called *line driving time function*, which is often assumed to be the identity. However, like in [SS10b,SS12a,Sch12] in this book we consider the general case where line driving time functions can differ from the identity. Furthermore, every line is assigned a line cost ˇl which specifies the cost caused by establishing line l with frequency fl . Often, ˇl consists of a fixed cost l 0 and a per-train cost bl > 0, i.e., ˇl.fl/ D blfl C l (see, e.g., [TTBP11]). In the problems considered in this book, we only consider per-train costs bl , i.e., l D 0. This simplification is common in the literature, it is, e.g., used in [GYW06, BN10, TTBP11]. More realistic models apportion costs according to rolling stock utilization [Bus98,CvDZ98,GvHK04,GvHK06]. Some models additionally assume upper bounds on the frequency of a line [TTBP11] or an edge of the PTN [Bus98,CvDZ98,GvHK04,GvHK06]. #### **Transportation Modes** Some publications consider the simultaneous optimization of several transportation modes or train types which may differ, for example, in halting patterns, speed, and capacity (see, e.g., [CvDZ98,GvHK06,BGP07,BGP08,TTBP11,BK12]), while others assume that all considered vehicles are uniform and that different transportation modes or types of vehicles can be dealt with separately [BKZ97,Sch05,SS06]. The approach followed in this book allows different line driving time functions and can hence be classified somewhere in between these approaches. #### **Demand** In cost-oriented models (see, e.g., [BLL04, TTBP11, GvHK04, CvDZ98]) and some earlier models in passenger-oriented transportation (e.g., [BKZ97]) passenger demand is modeled by defining minimal frequencies on the edges of the PTN and has to be covered by the line concept. The minimal frequencies may be a direct input to the problem [Bus98,BLL04,TTBP11] or pre-estimated by a shortest-path routing in the PTN [CvDZ98,GvHK04,GvHK06]. However, when trying to maximize passengers' convenience, predefined passenger routes do not seem to be the right modeling approach since passengers choose routes according to the travel time and/or the numbers of transfers observed in the present line concept. Consequently, most line planning models assume that we are given every passenger's origin and his/her destinations as a set of *origindestination pairs (OD-pairs)*. #### **Budget Considerations** Without budget considerations, a solution that maximizes passengers' convenience would lead to many lines which are rarely used. Therefore, some passenger-oriented line planning models minimize a weighted sum of the chosen passenger-oriented objective and the costs of the line concepts (see, e.g., [GYW06, BGP07, BGP08, NJ08, BN10]). Another option is to impose an overall *budget* B on the line costs [Sch05,SS06,SS10b,SS12a,Sch12]. Additionally, setting up too many lines can be avoided by *upper bounds* on frequencies, as done, e.g., in [Bus98, SS06, BGP08, NJ08]. #### **Objective Functions** The aim of *cost-oriented line planning* [CvDZ98,BLL04, GvHK04,TTBP11] is to minimize the costs of the established line concept subject to covering the passengers' demand. To cover passengers' demand, minimal frequencies are imposed on the edges of the PTN. In contrast to cost-oriented line planning models, passenger-oriented line planning aims at maximizing the quality of the public transportation system from the passengers' point of view. There are two main approaches to passenger-oriented line planning: the *direct traveler approach* and the *minimization of travel time*. The *direct traveler approach* maximizes passengers' travel quality by maximizing the number of travelers that do not have to change lines during their journey. It is introduced in [Die78] and developed further in [BKZ97, Bus98]. In [BKZ97] the routes for the OD-pairs are predefined and only direct travelers on these routes are counted. In [Die78,Bus98] in contrast, for every OD-pair a set of the so-called *pleasant paths* in the PTN is given. Any of these pleasant paths can be chosen for the passenger, if it allows a direct connection from origin to destination. 12 2 Line Planning Also the *travel time* is an important criterion to measure passengers' convenience. It consists of the *driving time* between stations and the *transfer time* between trains. Since in line planning no timetable is known, the transfer time is estimated by *transfer penalties* pl l0 s for transfers from line l to line l0 at station s. To simplify the model, sometimes it is assumed that the transfer penalties are equal for all transfers (see, e.g., [Sch05, SS06]) or even set to 0 (see, e.g., [PB06, BGP07, BGP08]), which implies that only the driving time is minimized in the corresponding models. Borndörfer and Neumann [BN10] and Borndörfer and Karbstein [BK12] use a model that estimates transfer penalties to allow faster computation times with respect to exact models such as [SS06]. Guan et al. [GYW06] minimize a weighted sum of costs, travel time, and transfers. Apart from the cited papers, the objective of minimizing travel time has already been formulated, e.g., in [LS67, SBP74, Son79,Man80]. However, solution approaches in these early papers are purely heuristic. Another approach of passenger-oriented line planning with integrated passenger routing has been treated in [NJ08] under the objective of maximizing the *travel quality* which is defined as the time a passenger can save compared to the maximal accepted travel time. #### *2.1.2 Literature Overview* In Sect. [2.1.1](#page-18-0) we presented different modeling paradigms in line planning. In this section we give a broad overview on complexity results and exact solution techniques for solving line planning problems. Since there is a multitude of different line planning models and results, a more detailed overview is beyond the scope of this book. We refer the interested reader to the surveys about line planning given in [Chu84, IC95, Sch11], the more general survey papers listed in Sect. [1.2](#page-13-0) and references therein. #### **Computational Complexity** In most more recent papers on line planning, the use of sophisticated solution techniques is justified with proofs of computational hardness for the considered problems. In [Bus98] it is shown that in presence of lower and upper frequency bounds, choosing a feasible line concept with frequencies from a given line pool is (strongly) NP-complete by reduction from Hamiltonian Path. Given a passenger routing, in [CvDZ98] it is shown that covering the demand in a cost-optimal way is (strongly) NP-hard. In [TTBP11], the computational complexity of a cost-oriented line planning problem on linear networks and tree networks is investigated. In [BNP09], Borndörfer et al. define the *line connectivity problem*: given an undirected graph, a set of OD-pairs and a set of lines with costs, the task is to find a set of lines with minimal costs such that for every OD-pair there exists a path in the graph from origin to destination which is completely covered by lines. For the corresponding decision problem, the authors show that it is in P if there is only one OD-pair, but strongly NP-complete in general, even if *OD* D S S, using a reduction from Set Cover. Line planning with travel-time objective is (strongly) NP-complete if lines are constructed from scratch, even if only the number of transfers is counted in the objective function [Sch05]. In [PB06], Pfetsch and Borndörfer show that line planning with a weighted objective functions consisting of travel time and costs is NP-hard in case of free route choices as well as for the restrictions to unsplittable routes and shortest paths in the PTN. Furthermore, they investigate the gap between solutions to the line planning problems under different restrictions on the routings. In [Sch05, SS06] line planning with travel-time objective is considered on a linear network. The problem is shown to be (strongly) NP-hard even if only transfers are counted in the objective function and the line costs are equal for all lines. Here, the proof takes advantage of different halting patterns of the trains. [SS10b,SS12a] give an extensive overview about the complexity of different uncapacitated line planning problems on linear networks where all trains have the same halting patterns and extend their results to line planning problems with capacities. The results are presented in Sects. [2.5](#page-44-0) and [2.6.1](#page-69-0) of this book. #### **IP Formulations and Solution Techniques** The different line planning problems in the literature are often modeled as integer programs. In cost-oriented models, the variables represent the frequencies of lines in the line pool, subject to capacity and coverage constraints that vary with the model [Bus98, GvHK04, GvHK06, TTBP11]. Sometimes, other decisions like the number of coaches [CvDZ98, Bus98, BLL04] are included in the formulation. Solution techniques include branch-and-bound [Bus98, CvDZ98], branch-and-cut [GvHK04], and variable fixing heuristics [BLL04]. In passenger-oriented approaches, passengers' demand is given in form of OD-pairs that have to be routed through the network. When using integer programming methods, passenger routes are modeled as paths or flows in the network. In [BGP08], Borndörfer et al. propose an IP model to minimize a weighted sum of driving time and costs modeling passengers' route choices as flows in a directed version of the PTN. Instead of using a predefined line pool, also the lines are modeled as flows between line origins and line destinations. To account for transfers, many flow-based formulations [Sch05, SS06, SS10b, SS12a, Sch12] make use of an extension of the PTN, the *change-and-go network (CGN)* (see Sect. [2.2.1\)](#page-30-0), which consists of a path for each line and transfer arcs. For every arc of this network and every OD-pair, a flow variable is introduced. 14 2 Line Planning To solve the LP-relaxation of a line planning problem with travel-time objective, in [Sch05, SS06] Scholl and Schöbel make use of the (almost) block-diagonal structure of the constraint matrix and apply Dantzig–Wolfe decomposition. In contrast to flow-based formulations, path-based formulation introduce a variable for every possible path from origin to destination of an OD-pair. Guan et al. [GYW06] propose an integer program which minimizes a weighted sum of costs, travel time, and transfers using variables for assigning passengers to routes and to lines covering the routes. To keep the number of variables small, the number of possible routes is restricted in the problem input. Borndörfer et al. [BGP07,BGP08] propose an IP model using path variables for minimizing a weighted sum of driving time and costs. Like in the flow-based model proposed in [BGP08], they do not assume a fixed line pool, but allow all possible lines between a set of line origins and line destinations. However, in contrast to the flow-based model, the lines are not modeled by flows but, like the passengers' routes, by path variables. Borndörfer et al. [BGP07, BGP08] solve a relaxation of the model using column generation. While the pricing problem for the passengers' routes is a shortest path problem, the pricing problem for the lines turns out to be a longest path problem and strongly NP-hard. However, if the lengths of the lines are restricted, dynamic programming techniques can be used to solve the pricing problem efficiently [BGP07]. A similar approach is followed in [NJ08]. A disadvantage of the models proposed by [BGP07,BGP08] is that they do not account for passengers' transfers, i.e., only the driving time is considered in the objective function. The models proposed in [BN10, BK12] try to overcome this disadvantage by estimating the number of direct travelers [BN10] or the number of passengers' transfers [BK12]. Also here, column generation is used to solve a relaxation of the problem. Borndörfer and Neumann compare the obtained results to the results obtained using the model of [BN10]. Path-based IP models for the direct traveler approach are given in [Die78,BKZ97, Bus98]. #### *2.1.3 The Line Planning Problems Considered in This Book* We now describe the line planning problems considered in this book in more detail and introduce definitions and notations used throughout the book. We consider three different passenger-oriented line planning problems with the objective of minimizing the overall travel time: uncapacitated line planning with routing (uLPwR), simplified capacitated line planning with routing (scLPwR), and capacitated line planning with routing (cLPwR). #### **Lines, Line Concepts, and Budget Restriction** Let *PT N* D .S; E/ be a PTN. We define a line l to be a path in *PT N* specifying also a direction: #### **Definition 2.1.1.** • A *one-directional line* l is given by a sequence $$(s_1, e_1, s_2, e_2, \ldots, e_{k-1}, s_k)$$ of vertices si 2 S and edges ei 2 E such that ei D fsi ; siC1g which contains every node of the PTN at most once, unless s1 D sk. - A sequence .s1; e1; s2; e2;:::;ek-1; sk; ek-1; e2; s2; e1; s1/ with si ¤ sj for all i; j is called a *bi-directional line*. - Both one- and bi-directional lines are summarized under the name of *lines*. Since a line .s1; e1; s2; e2;:::;ek-1; sk/ is uniquely represented by its node sequence .s1; s2;:::;sk/ or its edge sequence .e1; e2;:::;ek-1/, we sometimes represent it using one of these shorter notations. We denote by S.l/ WD fs 2 S W s 2 lg and E.l/ WD fe 2 E W e 2 lg the stations and edges visited by line l, and by *L*.s/ WD fl W l 3 sg and *L*.e/ WD fl W l 3 eg the lines visiting a given station s or edge e. To emphasize that siC1 is a direct successor of si on l (in the order defined by the line), we write .si ; siC1/ 2 l. Note that for bi-directional lines, we have both .si ; siC1/ 2 l and .siC1; si/ 2 l. We denote by *L* a given line pool which can contain both one-directional and bi-directional lines l with associated line driving time function ˛l . Line costs are given by a multiplicative factor bl , i.e., ˇl.fl/ WD blfl for every l 2 *L*. In capacitated line planning, we call a single realization of a line a *train* and assume that every train has a *capacity* Cap, which does not depend on the train or the line. **Definition 2.1.2.** For a line l 2 *L*, the *frequency* fl 2 N states how many trains of line l are operated in a certain time period. In capacitated line planning, a *line concept* is a set *L*0 - *L* together with a frequency fl 2 N for every l 2 *L*0 . To indicate that a line l is not contained in *L*0 , we sometimes write fl D 0. Since in uncapacitated line planning the frequencies are either 0 (the line is not contained in the line concept) or 1 (the line is contained in the line concept), we often omit stating the frequencies explicitly and call *L*0 a line concept. We assume an overall budget B on the costs of a line concept. That is, a line concept *L*0 - *L* is *feasible* if P l2*L*0 blfl B. Due to the f0; 1g-frequencies, in uncapacitated line planning this can be written as P l2*L*0 bl B. 16 2 Line Planning #### **Passenger Routes** Assuming that the passengers' demand for traveling between the stations is known, we use the notion of *OD-pairs* to define demand on the network. **Definition 2.1.3.** A set of *OD-pairs* is a subset of pairs of stations *OD* - S S. For every OD-pair .*u*; *v*/ 2 *OD*, the *number of passengers* or *passenger weight wuv* is specified. A passenger's journey can now be described in the following way: **Definition 2.1.4.** A *line-route* P*uv* for a passenger of OD-pair .*u*; *v*/ 2 *OD* specifies - a path P D .s1; e1; s2; e2;:::;ej-1; sj / with s1 WD *u* and sj WD *v* and - for each edge ei 2 P a line l 2 *L*.ei/ which is chosen for traveling on ei . P is called the *path corresponding to* P*uv in the PTN*. P*uv* does not only specify the path in the PTN, but also the lines used for traveling on the path and the stations where transfers between lines take place. We say that a line-route P*uv* is *feasible* for a line concept *L*0 if P*uv* uses only lines contained in *L*0 . In order to estimate travel times, we make use of the line driving time function ˛l associated to every line l. Let Le denote the edge length for e 2 E and let ˛l be the line driving time function of a line l 2 *L*.e/. The *driving time* of line l on edge e 2 E is calculated as Ll e WD ˛l.Le/. Transfers from one line to another are penalized using *transfer penalties* pl l0 s 2 N0 which arise when a passenger transfers from line l to line l0 at station s. Given driving times and transfer penalties, we can estimate the travel time along a line -route: Let *L*0 be a line concept and P be a feasible line-route for *L*0 - The *driving time along* P, d.*L*0 ;P/, is calculated summing up the driving times Ll e D ˛l.Le/ for every edge e 2 P and the line l used on this edge. - The *transfer time along* P, t .*L*0 ;P/, is calculated summing up the transfer penalties pl l0 s whenever the line-route suggests the transfer from one line l to another line l0 at a station s. - The *travel time along* P is given as c.*L*0 ;P/ WD d.*L*0 ;P/ C t .*L*0 ;P/. - The *cost along* P*uv*, b.*L*0 ; P*uv*/, is calculated as the sum over the costs of all lines used by P*uv*. Since a line-route P*uv* does not only specify a path in the PTN but also the lines taken on the path, the line concept decides the feasibility of P*uv*. However, for any two line concepts *L*0 1, *L*0 2 for which P*uv* is feasible, the driving, transfer and travel times, and the cost along P*uv* coincide. Even so, to keep notation consistent to later chapters, we decide against the abbreviated notation d.P*uv*/ WD d.*L*0 ; P*uv*/, etc. #### **Line-Routings** A *line-routing for OD-pair* .*u*; *v*/ $$\mathcal{R}_{uv} := \{P : \text{ line-route } P \text{ is used by } (u, v)\}$$ specifies a line-route for every passenger in .*u*; *v*/. We denote by *w*P *uv* the *number of passengers of OD-pair* .*u*; *v*/ *using line-route* P and require that P P2*Ruv w*P *uv* D *wuv*. A *line-routing R* is a set which contains a line-routing for every OD-pair .*u*; *v*/ 2 *OD*. In uncapacitated line planning we assume that all passengers of an OD-pair take the same line-route. Hence, in this case a line-routing is just a collection of exactly one path P*uv* for every OD-pair .*u*; *v*/. When the set of OD-pairs is indexed, e.g., *OD* D f.*u*k; *v*k/ W k 2 Kg for an index set K, for the sake of simplicity, we also use the notation *w*k WD *wu*k *v*k and Pk WD P*u*k *v*k . In capacitated line planning, passengers of the same OD-pair may take different line-routes. A line-routing *R* is *feasible for a given line concept L*0 if every line-route in *R* is feasible for *L*0 and (in case of capacitated line planning) capacity constraints are not violated, i.e., for every edge e and every l 2 *L*.e/, the number of passengers traveling in l on e is at most fl Cap. On the other hand, given a line-routing we can also demand that the line concept should be chosen in a way to make the line-routing feasible: A line concept *L*0 is *feasible for a line-routing R* if it is a feasible line concept, if all lines used by *R* are contained in *L*0 , and if (in case of capacity restrictions) the frequency fl of each line l on each edge e 2 E.l/ is at least the number of passengers using l on e divided by Cap. Let *L*0 be a line concept and *R* D fP*uv* W .*u*; *v*/ 2 *OD*g a line-routing. The overall *travel time* is defined as $$c(\mathcal{L}',\mathcal{R}) := \sum_{(u,v)\in\mathcal{OD}} \sum_{P\in\mathcal{R}_{uv}} w_{uv}^P c(\mathcal{L}',P).$$ #### **Uncapacitated Line Planning and Simplified Capacitated Line Planning** We are now ready to define the first two line planning problems considered in this book. #### **Definition 2.1.5.** • *Uncapacitated line planning with routing* An instance .*PT N* ;*L*; *OD*;B/ of *uncapacitated line planning with routing (uLPwR)* consists of a public transportation network *PT N* , a line pool *L*, a set of OD-pairs *OD*, and a budget B. 18 2 Line Planning **Fig. 2.1** Example for an instance where the solution found by the conventional frequency model is unrealistic. Travel demand is indicated by the *dotted arrows* ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_27_Picture_2.jpeg) $$l_1$$ $\alpha_{l_1}(x) = 2x, \quad b_{l_1} = 2$ $l_2$ $\alpha_{l_2}(x) = x, \quad b_{l_2} = 3$ $\alpha_{l_3}(x) = 2.5x, \quad b_{l_3} = 1$ The task is to choose a feasible line concept *L*0 and a feasible (in the uncapacitated sense) line-routing *R* for *L*0 , such that the overall travel time c.*L*0 ; *R*/ of the passengers is minimized. • *Simple capacitated line planning with routing* An instance .N;*L*; *OD*; B;Cap/ of *simple capacitated line planning with routing (scLPwR)* consists of a public transportation network *PT N* , a line pool *L*, a set of OD-pairs *OD*, a budget B, and a restriction on the capacity of the trains Cap. The task is to choose a feasible line concept *L*0 together with frequencies fl 2 N for all l 2 *L*0 and a feasible (in the capacitated sense) routing *R*, such that the overall travel time c.*L*0 ; *R*/ is minimized. (uLPwR) was defined in [SS10b, SS12a]. In [Sch05, SS06], Scholl and Schöbel investigate (scLPwR) with the additional restriction that the number of trains on every edge e of the corresponding PTN is restricted by a maximal edge frequency f max e . #### **Individually Optimal Routings** Even ignoring timetabling issues, it is quite unrealistic to assume that in capacitated line planning, the *feasibility* of a routing will be enough to avoid capacity violations in trains. This is demonstrated in the following example. We consider a linear PTN with three stations s1, s2, and s3 which are connected by edges of length 1. There are three lines: lines l1 and l2 go from s1 to s3. l1 has driving time function ˛l1 .x/ WD 2x for x 2 RC 0 , l2 has driving time function ˛l2 .x/ WD x for x 2 RC 0 , and l3 has a driving time function of ˛l3 .x/ WD 2:5x for x 2 RC 0 and goes from s2 to s3. The line costs are given by bl1 D 2, bl2 D 3, and bl3 D 1 and we have a budget B D 4. 50 passengers want to travel from s1 to s3 and 100 passengers travel from s2 to s3. We assume a train capacity of Cap D 100. See Fig. 2.1 for a picture of the PTN. In order to minimize the overall travel time, we choose lines l2 and l3 with frequency fl2 D fl3 D 1 as a solution to scLPwR. Then half of the passengers starting the journey in B can board the fast line l2, while the others have to take the slower line. As long as we do not assume different prices for traveling on the lines, this solution does not seem to be realizable in practice, as all passengers would prefer to take the faster line. The optimum calculated with conventional frequency models is a *system optimum* which may force some passengers to take large detours, while the more desirable goal would be to find a collection of *individually optimal routing decisions*. To overcome this difficulty, Borndörfer et al. suggest in [BGP08] to investigate a model that allows only paths with travel time in a predefined range (depending on shortest path distances in the PTN). In contrast to this approach in the following we present a model from [Sch12] which allows all passengers to travel on shortest paths in the routing network. For a given line concept *L*0 , we call a line-routing *R shortest-path line-routing for L*0 if for every OD-pair .*u*; *v*/ 2 *OD* the travel time on every line-route P 2 *Ruv* equals the minimal possible travel time from *u* to *v* on a line-route using lines from *L*0 . The third line planning problem we consider in this book is defined as follows. #### **Definition 2.1.6.** *Capacitated line planning with routing* An instance .N;*L*; *OD*; B;Cap/ of *capacitated line planning with routing (cLPwR)* consists of a public transportation network *PT N* , a line pool *L*, a set of OD-pairs *OD*, a budget B, and a restriction on the capacity of the trains Cap. The task is to choose a feasible line concept *L*0 together with frequencies fl 2 N for all l 2 *L*0 and a feasible shortest-path routing *R* in N.*L*0 /, such that the overall travel time c.*L*0 ; *R*/ is minimized. A solution .*L*0 ; *R*/ consisting of a feasible line concept and a feasible shortestpath routing in N.*L*0 / does not necessarily exist, even if a solution .*L*Q0 ; *R*Q/, providing a system optimum, exists, as we see in the following example. We are given a PTN consisting of four stations, s1; s2; s3, and s4 connected as shown in Fig. [2.2.](#page-29-0) There are two lines l1 D .s1; s2; s4/ and l2 D .s1; s3; s4/ with bl1 D bl2 D 1 and ˛l1 .x/ WD x and ˛l2 .x/ WD x for x 2 RC 0 . The budget is B D 2. The capacities of the trains are Cap D 10. The set of OD-pairs is *OD* WD f.s1; s2/; .s1; s3/; .s1; s4/g with passenger numbers *w*s1s2 D *w*s1s3 WD 5 and *w*.s1;s4/ WD 10. The only feasible line concept that allows all passenger to reach their destinations is to establish both lines with frequency fl1 D fl2 WD 1. However, in this solution, five passengers of OD-pair .s1; s4/ have to take line l2 and have a travel time of 4 which is not the shortest path distance between s org 1 and sdest 4 in *N* .*L*/. However, a solution that *in theory* forces some passengers to take long detours will probably not be accepted *in practice*. Most likely, the passengers try to take the shorter paths anyway and hence violate the present capacity restrictions. Thus, whenever there exists a solution to cLPwR which allows all passengers to travel on shortest paths, it improves the quality of the transportation system compared to the system optimum to choose this solution. 20 2 Line Planning **Fig. 2.2** Example for nonexistence of a solution that allows passengers to travel on shortest paths. Demand for traveling is indicated by the *dotted arrows* in the PTN ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_29_Figure_2.jpeg) #### *2.1.4 Outline of the Line Planning Chapter* In Sect. 2.2 we introduce the CGN and the line network and show how line planning problems can be modeled using these networks. Section [2.3](#page-39-0) explains how line planning can be solved if part of the solution, i.e., the line concept or the routing, is fixed. From the strong NP-completeness result for the line connectivity problem in [BNP09], strong NP-hardness of uLPwR can easily be deduced. Therefore, in Sect. [2.4,](#page-42-0) we define subclasses of instances of uLPwR and investigate the computational complexity of these subclasses in Sect. [2.5.](#page-44-0) In particular we perform an extensive complexity analysis of uLPwR in linear PTNs in Sect. [2.5.2.](#page-53-0) For capacitated line planning, i.e., scLPwR and cLPwR, we are able to prove strong NP-completeness of the corresponding decision problem even in a very restricted case in Sect. [2.6.1.](#page-69-0) This motivates Sect. [2.6.2](#page-73-0) where we develop an integer program for cLPwR based on an integer programming formulation for scLPwR from [Sch05,SS06]. #### **2.2 Modeling Line Planning with Routing** In this section we introduce the concept of the change-and-go network (*CGN*) which combines the PTN, the line pool, and the OD-pairs into one network model. It is often used for line planning purposes (see, e.g., [Sch05,SS06,SS10b,SS12a,Sch12]) since all information specified in a line-route can be conveniently represented as a path in the CGN. Under some quite strong restrictions, i.e., if the considered PTN is linear, the line driving time is equal for all lines, and the transfer penalties do not depend on the stations where the transfers take place, we can condense the information contained in the PTN to a much smaller network, the *line network*. (see, e.g., [Sch05, SS10b, SS12a]). Under the mentioned restrictions, the line network allows faster solution algorithms than the CGN, since it omits parts of the structure which are dispensable in this case. #### *2.2.1 The Change-and-Go Network* In order to depict the various travel possibilities from the origins to the destinations, the concept of a *CGN* was introduced in [Sch05, SS06]. We follow the slightly different modeling approach of [SS10b,SS12a] to cope with differing requirements like directed lines and different line driving times. Given a public transportation network *PT N* , a line pool *L*, and a set of OD-pairs *OD*, we construct a *CGN* in the following way: We first define the node set of the CGN. There are three different types of nodes. The *travel nodes* represent the stopping of lines. **Definition 2.2.1.** Let S be the node set of *PT N* . The set of *travel nodes* is defined as Vtravel WD fŒs; l W s 2 S; l 2 *L*.s/g. Furthermore, origins and destinations have to be integrated in the network. To this end, we define two mappings org and dest that map an OD-pair .*u*; *v*/ to an *origin node u*org WD org.*u*; *v*/ and to a *destination node v*dest WD dest.*u*; *v*/ which are added to the CGN. #### **Definition 2.2.2.** - The set of *origin nodes* is given as Vorg WD org.*OD*/ D f*u*org W .*u*; *v*/ 2 *OD*g. - Analogously, the set of *destination nodes* is Vdest WD dest.*OD*/ D f*v*dest W .*u*; *v*/ 2 *OD*g. To model passenger flows in the network, we need to represent the lines, provide possibilities for transfers, and include the passengers' demand. All of this is done by means of arcs. **Definition 2.2.3.** Let E be the edge set of *PT N* . • The set of *driving arcs* Adrive -Vtravel Vtravel is defined as $$A_{\text{drive}} := \{([s, l], [s', l]) : l \in \mathcal{L}, \{s, s'\} \in E(l), s \leq_l s'\}.$$ The length of a driving arc .Œs; l; Œs0 ; l/ is given as c.Œs;l;Œs0;l/ WD Ll ss0 . • The set of *transfer arcs* Atrans -Vtravel Vtravel is defined as $$A_{\text{trans}} := \{([s, l], [s, l']) : s \in S, l \neq l' \in \mathcal{L}(s)\}$$ and the arc length of a transfer arc .Œs; l; Œs; l0 / is given as c.Œs;l;Œs;l0/ WD pl l0 s . 22 2 Line Planning ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_31_Figure_1.jpeg) **Fig. 2.3** Construction of the change-and-go network N (**a**) PTN (**b**) constructed CGN • The set of *origin arcs* Aorg -Vorg Vtravel is defined as $$A_{\mathrm{org}} := \{(u^{\mathrm{org}}, [u, l]) : u^{\mathrm{org}} \in V_{\mathrm{org}}, [u, l] \in V_{\mathrm{travel}}\}.$$ The length of every origin arc .*u*org; Œ*u*; l/ is set to c.*u*org;Œ*u*;l/ WD 0. • Analogously the set of *destination arcs* Adest -Vtravel Vdest is defined as $$A_{\text{dest}} := \{([v, l], v^{\text{dest}}) : v^{\text{dest}} \in V_{\text{dest}}, [v, l] \in V_{\text{travel}}\}$$ and c.Œ*v*;l;*v*dest/ WD 0 for every .Œ*v*; l; *v*dest/ 2 Adest. For a 2 Adrive, let l.a/ be the (uniquely defined) line belonging to arc a. The *CGN* is now defined as N D .V; A/ with $$V := V_{\text{travel}} \cup V_{\text{org}} \cup V_{\text{dest}}$$ and $A := A_{\text{drive}} \cup A_{\text{trans}} \cup A_{\text{org}} \cup A_{\text{dest}}$ . We denote nN WD jV j and mN WD jAj. In Fig. 2.3 an example for the construction of a CGN is given: a PTN is depicted in Fig. 2.3a. We have a line pool *L* WD fl1 D .s1; s2; s3/; l2 D .s4; s5; s6/; l3 D .s1; s4; s5; s2; s1/; l4 D .s3; s6/g with line driving times ˛l1 .x/ WD 1 2x, ˛l2 .x/ WD 3x, ˛l3 .x/ WD x and ˛l4 .x/ WD 5 4x and OD-pairs .s1; s6/ and .s4; s3/. In Fig. 2.3b the CGN is shown. The dotted lines represent the origins and destinations of the passengers and the dashed lines stand for the transfer possibilities between two lines. It can be seen easily that given a public transportation network *PT N* D .S; E/, a line pool *L*, and a set of OD-pairs *OD*, the corresponding CGN is of size O.jSj j*L*j 2/ and that the time needed for its construction is of the same order: Since every line contains at most jSj stations and edges, for every line l 2 *L* it takes time O.jSj/ to follow l and draw the nodes Vtravel and the arcs Adrive corresponding to l. This gives O.jSjj*L*j/ over all lines. Given the travel nodes, at every station we draw at most j*L*j 2 transfer arcs which takes time O.jSjj*L*j 2/ for all stations. Finally, we add at most one origin node and j*L*j origin arcs at every station, the same holds for the destination nodes and the destination arcs. #### *2.2.2 Line Planning in the Change-and-Go Network* Let a PTN, a line pool *L*, and a set of OD-pairs *OD* be given and let N D .V; E/ be the corresponding CGN. For an OD-pair .*u*; *v*/ every path P*uv* from origin node *u*org to destination node *v*dest in N represents a line-route for OD-pair .*u*; *v*/ and vice versa. Hence we can translate the definitions of driving time, transfer time, travel time, and costs along a line-route to paths in N: Let *L*0 be a line concept and P a path in the routing network N.*L*0 /. We define • the *driving time along* P as $$d(\mathcal{L}', P) = \sum_{a \in P \cap A_{\text{drive}}} c_a,$$ • the *transfer time along* P as $$t(\mathcal{L}', P) = \sum_{a \in P \cap A_{\text{trans}}} c_a,$$ • the *travel time along* P as $$c(\mathcal{L}', P) = d(\mathcal{L}', P) + t(\mathcal{L}', P) = \sum_{a \in P} c_a,$$ • and the *cost along* P as $$b(\mathcal{L}', P) = \sum_{l:\exists s \in S \ s.t. \ [s,l] \in P} b_l.$$ Using these definitions, for a line concept *L*0 , a feasible line-route P0 *uv*, and the corresponding path P*uv* in N it holds that $$\begin{split} d(\mathcal{L}',P'_{uv}) &= d(\mathcal{L}',P_{uv}),\ t(\mathcal{L}',P'_{uv}) = t(\mathcal{L}',P_{uv}),\ c(\mathcal{L}',P'_{uv}) = c(\mathcal{L}',P_{uv}), \\ \text{and}\ b(\mathcal{L}',P'_{uv}) &= b(\mathcal{L}',P_{uv}). \end{split}$$ Due to this observation, we identify line-routes and the corresponding paths in N. 24 2 Line Planning ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_33_Figure_1.jpeg) **Fig. 2.4** Routing network N.*L*0 / for *L*0 D fl1; l3; l4g We define a *routing Ruv for OD-pair* .*u*; *v*/2 *OD* to be a collection of paths P from *u*org to *v*dest in the CGN. *w*P *uv* now denotes the *number of passengers of OD-pair* .*u*; *v*/ *using path* P. A *routing R* is then defined as *R* WD S .*u*;*v*/2*OD Ruv*. Given a line concept *L*0 , the *routing network* N.*L*0 / is obtained by removing all arcs belonging to other lines from the CGN. That is, N.*L*0 / WD .V .*L*0 /; A.*L*0 // with $$V(\mathcal{L}') := \{[s, l] \in V_{\text{travel}} : l \in \mathcal{L}'\} \cup V_{\text{org}} \cup V_{\text{dest}}$$ and $$A(\mathcal{L}') := \{ (i, j) \in A : i, j \in V(\mathcal{L}') \}.$$ In Fig. 2.4 the routing network N.*L*0 / for the example given in Fig. [2.3](#page-31-0) and line concept *L*0 D fl1; l3; l4g is shown. All arcs belonging to line l2 are removed. The definition of the routing network allows us to transfer the concept of individually optimal routings to the CGN: For a given line concept *L*0 , a routing *R* in the routing network N.*L*0 / is a *shortest-path routing for L*0 , if for every OD-pair .*u*; *v*/ 2 *OD* the travel time on every path P 2 *Ruv* equals the travel time on a shortest path from *u*org to *v*dest in N.*L*0 /. Also the notion of feasibility can be transferred easily from line-routings to routings using the routing network notation: **Definition 2.2.4.** A routing *R* in N is *feasible for a line concept L*0 (or, vice versa, *L*0 is *feasible for R*) if - *R* is a routing in N.*L*0 /, i.e., P*uv* - N.*L*0 / for all P*uv* 2 *R*, - and (in case of capacitated line planning) if $$\sum_{(u,v)\in\mathcal{OD}} \sum_{P\in\mathcal{R}_{uv}:P\ni a} w_{uv}^P \le f_{l(a)} \text{Cap } \forall a\in A_{\text{drive}}.$$ That is, given a line concept *L*0 , a routing is feasible for *L*0 if and only if the corresponding line-routing is feasible for *L*0 . Let *L*0 be a line concept and *R* WD S .*u*;*v*/2*OD Ruv* be a feasible routing with passenger number *w*P *uv* for all .*u*; *v*/ 2 *OD*; P 2 *Ruv*. The overall *travel time* can be calculated as $$c(\mathcal{L}',\mathcal{R}) = \sum_{(u,v)\in\mathcal{OD}} \sum_{P\in\mathcal{R}_{uv}} w_{uv}^P c(\mathcal{L}',P).$$ We can now restate the line planning problems from Definitions [2.1.5](#page-26-0) and [2.1.6.](#page-28-0) #### **Definition 2.2.5.** • *Uncapacitated line planning with routing* An instance .N;*L*; *OD*;B/ of *uncapacitated line planning with routing (uLPwR)* consists of a CGN N, a line pool *L*, a set of OD-pairs *OD*, and a budget B. The task is to choose a feasible (in the uncapacitated sense) line concept *L*0 and a routing *R* in N.*L*0 /, such that the overall travel time c.*L*0 ; *R*/ of the passengers is minimized. • *Simple capacitated line planning with routing* An instance .N;*L*; *OD*; B;Cap/ of *simple capacitated line planning with routing (scLPwR)* consists of a CGN N, a line pool *L*, a set of OD-pairs *OD*, a budget B, and a restriction on the capacity of the trains Cap. The task is to choose a feasible (in the capacitated sense) line concept *L*0 together with frequencies fl 2 N for all l 2 *L*0 and a feasible routing *R*, such that the overall travel c.*L*0 ; *R*/ is minimized. • *Capacitated line planning with routing (cLPwR)* An instance .N;*L*; *OD*; B;Cap/ of *capacitated line planning with routing (cLPwR)* consists of a CGN N, a line pool *L*, a set of OD-pairs *OD*, a budget B, and a restriction on the capacity of the trains Cap. The task is to choose a feasible line concept *L*0 together with frequencies fl 2 N for all l 2 *L*0 and a feasible (in the capacitated sense) shortest-path routing *R* in N.*L*0 /, such that the overall travel time c.*L*0 ; *R*/ is minimized. Since they describe the same problems, we use Definition 2.2.5 as well as Definitions [2.1.5](#page-26-0) and [2.1.6](#page-28-0) for uLPwR, scLPwR, and cLPwR equivalently. #### *2.2.3 The Line Network* In Sect. [2.5](#page-44-0) we partly restrict our analysis of uLPwR to *linear* PTNs as defined in Sect. [1.3.](#page-14-0) Under some additional restrictions, this allows us to condense the information contained in the CGN to a smaller network in the way explained in this section. Similarly, scLPwR and cLPwR can be regarded on line networks. However, since we investigate only uLPwR under these restrictions, we state our definitions in this section in terms of uLPwR. 26 2 Line Planning As we will see in Lemma 2.2.6, in linear PTNs with all lines having the same driving time function, the travel time of an OD-pair depends only on the transfers on its path P*uv* from origin to destination (remember that in uLPwR all passengers of an OD-pair travel on the same path P*uv*). We can hence minimize the overall *transfer time* $$t(\mathcal{L}',\mathcal{R}) := \sum_{P_{uv} \in \mathcal{R}} w_{uv} t(\mathcal{L}', P_{uv})$$ of a solution .*L*0 ; *R*/ to an instance I D .N;*L*; *OD*;B/ of uLPwR instead of the overall travel time. **Lemma 2.2.6.** *Let* I D .*PT N* ;*L*; *OD*;B/ *be an instance of uLPwR with PT N linear and line driving time functions* ˛l WD ˛ *with a fixed* ˛ W RC 0 ! RC *for all* l 2 *L*0 *. Let* .*L*0 ; *R*/ *be a solution to* I *. Then it holds that* $$(\mathcal{L}',\mathcal{R})$$ is an optimal solution to $I$ $\Leftrightarrow$ $t(\mathcal{L}',\mathcal{R}) \leq t(\hat{\mathcal{L}},\hat{\mathcal{R}})$ for all feasible solutions $(\hat{\mathcal{L}},\hat{\mathcal{R}})$ to $I$ . *Proof.* Let .*u*k; *v*k/ 2 *OD* be an OD-pair. Note that for any path Pk for .*u*k; *v*k/ 2 *N* , the corresponding path PPTN k in *PT N* is the same, since *PT N* is linear. Since ˛l D ˛ for all l 2 *L*0 $$d(\mathcal{OD}) := \sum_{(u_k, v_k) \in \mathcal{OD}} w_k \sum_{e \in P_k^{\mathcal{DTN}}} \alpha(L_e)$$ is well-defined and does not depend on the chosen routing. We obtain $$c(\mathcal{L}', \mathcal{R}) = \sum_{P_k \in \mathcal{R}} w_k c(\mathcal{L}', P_k)$$ $$= \sum_{P_k \in \mathcal{R}} w_k \sum_{a \in P_k \cap A_{\text{drive}}} c_a + \sum_{P_k \in \mathcal{R}} w_k \sum_{a \in P_k \cap A_{\text{trans}}} c_a$$ $$= \sum_{P_k \in \mathcal{R}} w_k \sum_{a \in P_k \cap A_{\text{drive}}} \alpha(L_e) + \sum_{P_k \in \mathcal{R}} w_k t(\mathcal{L}', P_k)$$ $$= \sum_{(u_k, v_k) \in \mathcal{OD}} w_k \sum_{e \in P_k^{\mathcal{PTN}}} \alpha(L_e) + t(\mathcal{L}', \mathcal{R})$$ $$= d(\mathcal{OD}) + t(\mathcal{L}', \mathcal{R}).$$ Since d.*OD*/ does not depend on the chosen line concept or the chosen routing, the statement of the lemma follows. ut Let I D .*PT N* ;*L*; *OD*;B/ be an instance of uLPwR. We say that the transfer penalties in I are *station-independent* if for every pair of lines l; l0 2 *L*, there is a pl l0 2 N0 with pl l0 s WD pl l0 for all s 2 S.l/ \ S.l0 /. If for instance I D .*PT N* ;*L*; *OD*;B/ of uLPwR the PTN is linear, line driving time functions are equal, and transfer penalties are station-independent; the transfer time of an OD-pair on path Pk only depends on the line sequence which is used on Pk, i.e., $$t(\mathcal{L}', P_k) = \sum_{a \in P_k \cap A_{\text{trans}}} c_a = \sum_{([s.l], [s.l']) \in P_k \cap A_{\text{trans}}} p_s^{ll'} = \sum_{([l.l'): \exists s \in Ss.t.([s.l], [s.l']) \in P_k \cap A_{\text{trans}}} p^{ll'}$$ Let I D .*PT N* ;*L*; *OD*;B/ be an instance of uLPwR. In the remainder of this section we assume that - 1. the corresponding public transportation network *PT N* is linear, - 2. the driving time functions are equal for all lines. - 3. the transfer penalties are station-independent. In this case, we can condense the information contained in the CGN to a smaller network, the *line network*. The nodes in the line network model the lines the passengers can take as well as origins and destinations. **Definition 2.2.7.** The node set of the line network is defined as VL WD *L* [ Vorg [ Vdest. Again the arcs are introduced to model travel possibilities. #### **Definition 2.2.8.** • The set of *transfer arcs* of the line network is defined as $$(A_L)_{\text{trans}} := \{(l, l') : S(l) \cap S(l') \neq \emptyset\}.$$ The length of a transfer arc .l; l0 / 2 .AL/trans is cl l0 WD pl l0 • The set of *origin arcs* of the line network is defined as $$(A_L)_{\text{org}} := \{(u^{\text{org}}, l) : u^{\text{org}} \in V_{\text{org}}, l \in \mathcal{L}(u)\}.$$ The arc lengths are c.*u*org;l/ WD 0 for all .*u*org;l/ 2 .AL/org. • The set of *destination arcs* of the line network is defined as $$(A_L)_{\text{dest}} := \{(l, v^{\text{dest}}) : v^{\text{dest}} \in V_{\text{dest}}, l \in \mathcal{L}(v)\}.$$ The arc lengths are c.l;*v*dest/ WD 0 for all .l; *v*dest/ 2 .AL/dest. 28 2 Line Planning ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_37_Figure_1.jpeg) **Fig. 2.5** Construction of the LN (**a**) linear PTN (**b**) constructed LN We now define the *line network (LN)* as NL D .VL; AL/ with $$A_L := (A_L)_{\text{trans}} \cup (A_L)_{\text{org}} \cup (A_L)_{\text{dest}}.$$ We denote nNL WD jVLj and mNL WD jALj. See Fig. 2.5 for an example. In Fig. 2.5a a PTN and five lines l1; l2; l3; l4, and l5 are given. Assume that *OD* D f.s1; s5/g. Figure 2.5b shows the corresponding LN for the so-defined instance of uLPwR. Given an instance .*PT N* ;*L*; *OD*;B/ of uLPwR fulfilling [\(1\)](#page-36-0)–[\(3\)](#page-36-0) with *PT N* D .S; E/, the corresponding LN is of size O..*L*jCj*OD*j/ j*L*j/. The time needed for its construction is in O..jSjj*L*jCj*OD*j/ j*L*j/. This can be seen as follows: Given the nodes *L* of the LN, for every station s 2 S we draw a pair of directed transfer arcs between all pairs of nodes in *L*.s/. This can be done in O.jSjj*L*j 2/. Then for each of the origin and destination nodes (there are at most O.j*OD*j/), we add at most j*L*j origin or destination arcs. The resulting networks have O.j*L*jCj*OD*j/ nodes and O.j*L*j 2 C j*OD*jj*L*j/ arcs. #### *2.2.4 Uncapacitated Line Planning in the Line Network* Let I D .N;*L*; *OD*;B/ be an instance of uLPwR with properties [\(1\)](#page-36-0)–[\(3\)](#page-36-0) from Sect. [2.2.3](#page-34-0) and NL the corresponding LN. It is easy to check that for every OD-pair .*u*; *v*/ 2 *OD*, every path in NL from *u*org to *v*dest represents a line-route or a path in N from *u*org to *v*dest and vice versa. Now, for a line concept *L*0 and a line-route P0 *uv* which is feasible for *L*0 , we can regard the corresponding path P*uv* in NL instead and calculate the *transfer time along* P0 *uv* as $$t(\mathcal{L}', P'_{uv}) = \sum_{a \in P_{uv}} c_a.$$ If P*uv* is a simple path in NL, the *cost along* P0 *uv* is $$b(\mathcal{L}', P'_{uv}) = \sum_{l \in P'_{uv}} b_l.$$ Note that any path corresponding to a "reasonable" line-route is simple. Hence for instances with properties [\(1\)](#page-36-0)–[\(3\)](#page-36-0), we identify line-routes, paths in the CGN, and paths in the LN. Again, we can define a routing on our simplified network structure, which for instances of uLPwR with properties [\(1\)](#page-36-0)–[\(3\)](#page-36-0) corresponds to a routing in the CGN or a line-routing. A *routing* in an LN NL is a collection *R* WD fP*uv* W .*u*; *v*/ 2 *OD*g with P*uv* being a path from *u*org to *v*dest in NL. Similar to the routing network in Sect. [2.2.1,](#page-30-0) we can define a *line routing network* as NL.*L*0 / WD .VL.*L*0 /; AL.*L*0 // with $$V_L(\mathcal{L}') := \mathcal{L}' \cup V_{\text{org}} \cup V_{\text{dest}}$$ and $$A_L(\mathcal{L}') := \{(i, j) \in A_L : i, j \in V_L(\mathcal{L}')\}.$$ We can easily transfer the notion of feasibility to routings in the LN: A routing *R* in NL is *feasible for a line concept L*0 (or, vice versa, *L*0 is feasible for *R*) if *R* is a routing in NL.*L*0 /, i.e., P*uv* - NL.*L*0 / for all P*uv* 2 *R*. That is, given a line concept *L*0 , a routing in NL is feasible for *L*0 if and only if the corresponding line-routing is feasible for *L*0 . We can now restate uLPwR from Definitions [2.1.5](#page-26-0) and [2.2.5](#page-34-0) for instances fulfilling properties [\(1\)](#page-36-0)–[\(3\)](#page-36-0), where, due to Lemma [2.2.6,](#page-35-0) we can take the overall transfer time instead of the overall travel time as an objective. **Definition 2.2.9.** An instance .NL;*L*; *OD*;B/ of *uncapacitated line planning with routing (uLPwR)* fulfilling conditions [\(1\)](#page-36-0)–[\(3\)](#page-36-0) consists of a line pool *L*, a LN NL, a set of OD-pairs *OD*, and a budget B. The task is to choose a feasible line concept *L*0 and a feasible routing *R* in NL.*L*0 /, such that the overall transfer time t .*L*0 ; *R*/ of the passengers is minimized. In the following, we assume that for every instance I D .*PT N* ;*L*; *OD*;B/ of uLPwR, N and NL are given, since they can be determined in polynomial time from .*PT N* ;*L*; *OD*;B/. To solve the problems or to prove complexity results, we use Definitions [2.1.5,](#page-26-0) [2.2.5,](#page-34-0) and (in case that conditions [\(1\)](#page-36-0)–[\(3\)](#page-36-0) hold) 2.2.9 for uLPwR equivalently. The running time of the algorithms is always stated with respect to the problem formulation used and the time needed to transfer a PTN to a CGN or to an LN is not added. Also for scLPwR and cLPwR we use both Definitions [2.1.5](#page-26-0) and [2.2.5](#page-34-0) equivalently and do not add the time needed to transfer instances to the algorithms. 30 2 Line Planning #### **2.3 Solving Line Planning When Part of the Solution Is Fixed** In this section we show that the choice of a line concept or a routing is enough to define a solution to line planning problems. #### *2.3.1 Solving Uncapacitated Line Planning When Part of the Solution Is Fixed* **Definition 2.3.1.** Let I D .N;*L*; *OD*;B/ be an instance of uLPwR and let *R* be a routing in N: • We define the *line concept corresponding to R* as $$\mathcal{L}(\mathcal{R}) := \bigcup_{P_k \in \mathcal{R}} \{l : \exists a \in P_k \text{ with } l(a) = l\}.$$ • If *L*.*R*/ is feasible, we call .*L*.*R*/; *R*/ the *solution corresponding to R*. Analogously to Definition 2.3.1 we write *L*.P / WD fl W 9a 2 P with l.a/ D lg for any path P in a CGN N D .V; A/. Since *L*.*R*/ is the minimal line concept that contains *R*, we have the following lemma. **Lemma 2.3.2.** *Let* I D .N;*L*; *OD*;B/ *be an instance of uLPwR and let R be a routing in* N*. Then the following equivalence holds:* $$\exists \ \mathcal{L}' \ feasible \ for \ \mathcal{R} \Leftrightarrow \mathcal{L}(\mathcal{R}) \ is \ feasible \ for \ \mathcal{R}.$$ Analogously to Definition 2.3.1 we can also specify solutions corresponding to a given line concept. **Definition 2.3.3.** Let I D .N;*L*; *OD*;B/ be an instance of uLPwR and let *L*0 be a feasible line concept. If there exists a feasible routing for *L*0 , for every .*u*k; *v*k/ 2 *OD* we denote by *P*k.*L*0 / (or *Pu*k *v*k .*L*0 /) the set of shortest paths from *u* org k to *v*dest k in N.*L*0 /. • We denote by $$OPT(\mathcal{L}') := \{ \mathcal{R}(\mathcal{L}') : \{ P_1(\mathcal{L}'), P_2(\mathcal{L}'), \dots, P_{|\mathcal{OD}|}(\mathcal{L}') : P_k(\mathcal{L}') \in \mathcal{P}_k(\mathcal{L}') \}$$ the set of *routings corresponding to L*0 . • We call f.*L*0 ; *R*.*L*0 // W *R*.*L*0 / 2 OPT.*L*0 /g the set of *solutions corresponding to L*0 Since *R*.*L*0 / is defined as a shortest-path routing, Lemma [2.3.4](#page-40-0) follows directly. **Lemma 2.3.4.** *Let* I D .N;*L*; *OD*;B/ *be an instance of uLPwR and let L*0 *be a feasible line concept. Then for every R*.*L*0 / 2 OPT.*L*0 / *it holds that* $$c(\mathcal{L}', \mathcal{R}(\mathcal{L}')) \le c(\mathcal{L}', \mathcal{R}')$$ *for all routings R*0 *in* N.*L*0 /*.* **Notation 2.3.5.** *Let* I D .N;*L*; *OD*;B/ *be an instance of uLPwR. In the following we sometimes describe a solution to* I *stating only* - *a line concept L*0 *, referring to a corresponding full solution* .*L*0 ; *R*.*L*0 / *for any R*.*L*0 / 2 OPT.*L*0 /*, or* - *a routing R referring to the corresponding full solution* .*L*.*R*/; *R*/*.* #### *2.3.2 Solving Capacitated Line Planning When Part of the Solution Is Fixed* It has been shown in [Sch12] that also in scLPwR and cLPwR it is possible to construct a line concept from a given routing and vice versa. For the first, we proceed analogously to Definition [2.3.1](#page-39-0) and additionally set the frequencies just high enough such that every passenger can travel on his or her chosen path. **Definition 2.3.6.** Let I D .N;*L*; *OD*; B;Cap/ be an instance of scLPwR or cLPwR and let *R* be a routing in N:. • We define the *line concept corresponding to R* as $$\mathcal{L}(\mathcal{R}) := \bigcup_{P_k \in \mathcal{R}} \{l : \exists a \in P_k \text{ with } l(a) = l\}.$$ with frequencies $$f_l := \max_{a:l(a)=l} \left\lceil \frac{\sum_{(P, w_{uv}^P) \in R} w_{uv}^P}{\text{Cap}} \right\rceil.$$ • If *L*.*R*/ is feasible, we call .*L*.*R*/; *R*/ the *solution corresponding to R*. Since *L*.*R*/ is the minimal line concept that contains *R*, we have the following lemma. **Lemma 2.3.7.** *Let* I D .N;*L*; *OD*; B;Cap/ *be an instance of scLPwR or cLPwR and let R be a routing in* N*. Then we have the following equivalence:* $$\exists \ \mathcal{L}' \ feasible \ for \ \mathcal{R} \Leftrightarrow \mathcal{L}(\mathcal{R}) \ is \ feasible \ for \ \mathcal{R}.$$ 32 2 Line Planning Given a line concept *L*0 , the frequencies of *L*0 determine capacities $$k_a := \begin{cases} 0 & \text{if } a \in A_{\text{drive}} \text{ and } l(a) \notin \mathcal{L}', \\ f_l(a) \text{Cap} & \text{if } a \in A_{\text{drive}} \text{ and } l(a) \in \mathcal{L}', \\ \infty & \text{otherwise.} \end{cases}$$ on the arcs of the CGN. Finding a feasible routing for scLPwR or cLPwR for a given line concept hence resembles a *multi-commodity flow problem* (see e.g. [GJ79]) instead of a shortest path problem, as in the uncapacitated case. In the following we will see that in fact, finding a feasible line concept for a given routing in uLPwR is not easier than a multi-commodity flow problem, or, in particular, the problem *Directed Two-Commodity Integral Flow*. An instance .G; r1; r2; t1; t2; R1; R2/ of *Directed Two-Commodity Integral Flow* consists of a directed graph G D .VG; AG/ with capacities ka for all a 2 AG. The question to decide is whether there are two flow functions f1; f2 W AG ! ZC 0 such that - 1. for every a 2 AG f1.a/ C f2.a/ ka, - 2. for every *v* 2 VG n fr1; r2; t1; t2g $$\sum_{a \in \delta^{+}(v)} f_i(a) - \sum_{a \in \delta^{-}(v)} f_i(a) = 0 \quad \text{for } i = 1, 2,$$ 3. and $$\sum_{a \in \delta^+(t_i)} f_i(a) \ge R_i \quad \text{for } i = 1, 2.$$ Directed Two-Commodity Integral Flow is (strongly) NP-complete [GJ79]. **Theorem 2.3.8.** *Let* I D .N;*L*; *OD*; B;Cap/ *be an instance of scLPwR or cLPwR and let L*0 *be a line concept. It is strongly NP-complete to decide whether there exists a feasible routing for L*0 *or not.* *Proof.* Let .G; r1; r2; t1; t2; R1; R2/ be an instance of Directed Two-Commodity Integral Flow. We now construct an instance I D .N;*L*; *OD*; B;Cap/ of scLPwR or cLPwR and a line concept *L*0 - We define the PTN as the undirected graph corresponding to G, i.e., S WD fsi W i 2 VGg, E WD ffsi ; sj g W .i; j / 2 AGg and we set Le WD 1 for all e 2 E. - For every a D .i; j / 2 AG we introduce a line la WD .si ; fsi ; sj g; sj /. We set ˛l WD 0 and bl WD 1 for every l 2 *L*. - We set pl l0 s WD 0 for all occurring transfers in this network. - We define *OD* WD f.sr1 ; st1 /; .sr2 ; st2 /g and *w*sr1 st1 WD R1, *w*sr2 st2 WD R2. - We set B WD P a2AG ka and Cap WD 1. • Let *L*0 WD *L* with fla WD ka for all la 2 *L* be the given line concept. We see that due to the definitions of B, *L*0 is feasible. We show now that there exists a solution to .G; r1; r2; t1; t2; R1; R2/ if and only if there exists a solution to I . • Suppose that *R* WD *R*sr1 st1 [ *R*sr2 st2 is a feasible routing for *L*0 . We define $$f_i(a) := \sum_{P \in \mathcal{R}_{s_{r_i} s_{t_i}} : a \in P} w_{s_{r_i} s_{t_i}}^P.$$ Then we can easily verify [\(1\)](#page-41-0)–[\(3\)](#page-41-0). Hence, .f1; f2/ is a solution to .G; r1; r2; t1; t2; R1; R2/. • Note that if there is a solution .f1; f2/ to .G; r1; r2; t1; t2; R1; R2/, there is also a solution .f 1 ; f 2 / to .G; r1; r2; t1; t2; R1; R2/ with $$\sum_{a \in \delta^{+}(t_i)} f_i^*(a) = R_i \quad \text{for } i = 1, 2.$$ (2.1) • Let f 1 ; f 2 W AG ! ZC 0 be a solution to .G; r1; r2; t1; t2; R1; R2/ with $$\sum_{a\in\delta^+(t_i)} f_i^*(a) = R_i \quad \text{for } i = 1, 2.$$ Then due to [\(2\)](#page-41-0), and (2.1), f i defines a routing *R*sri sti for .sri ; sti/. *R* WD *R*sr1 st1 [ *R*sr2 st2 is feasible due to [\(1\)](#page-41-0). Hence, *R* is a solution to the instance .N;*L*; *OD*; B;Cap/ of scLPwR. • Since line driving time functions and transfer penalties are 0, *R* is a shortest-path routing in N.*L*0 /. Thus, *R* is a solution to the instance .N;*L*; *OD*; B;Cap/ of cLPwR. #### **2.4 Classification of Line Planning Problems with Routing** In Theorem [2.5.1](#page-45-0) we will see that even the problem of finding a feasible solution to uLPwR is strongly NP-complete in general. Thus, unless P D NP we cannot hope to find a polynomial-time optimization algorithm or even a polynomial-time approximation algorithm for the general line planning problem with routing. Due to this result, we impose several restrictions on the problem structure of line planning with routing. In the following sections, we give polynomial- or pseudopolynomial-time algorithms for the obtained subcases or show that they are already NP-hard. The considered restrictions are the following: • *Capacity/frequency restrictions:* We start discussing *uncapacitated line planning with routing (uLPwR)* as defined in Definitions [2.1.5,](#page-26-0) [2.2.5,](#page-34-0) and [2.2.9](#page-38-0) in ut 34 2 Line Planning Sect. [2.5.](#page-44-0) In Sect. [2.6](#page-69-0) we investigate the models scLPwR and cLPwR defined in Definitions [2.1.5,](#page-26-0) [2.1.6,](#page-28-0) and [2.2.9](#page-38-0) for *line planning under capacity restrictions*. - *Number/structure of OD-pairs:* With respect to the OD-pairs we distinguish between problems where there is only one OD-pair, problems where the OD-pairs have a common origin, and problems with arbitrary sets of OD-pairs. - *No-line-twice property:* In Sect. [2.5](#page-44-0) we see that considering only one OD-pair, uLPwR becomes much easier if the line pool has a certain structure. This structure is called *no-line-twice (NLT)* property which signifies that there must exist an optimal solution in which no passenger enters a line more than once. - *Network structure:* Since most problems turn out to be hard on general networks, we mostly concentrate on linear PTNs. - *Line driving time functions:* In some cases we assume equal line driving time functions. - *Transfer penalties:* In the general case the transfer penalties depend on the lines between which the transfer takes place and on the station where it takes place. We investigate the following special cases: (a) station-independent transfer penalties where the transfer penalties only depend on the lines between which the transfers take place, (b) equal transfer penalties, and (c) no transfer penalties (i.e., all transfer penalties are zero). While the restrictions on the structure of the OD-pairs are only interesting for theoretical reasons, many of the other assumptions are not as far from reality as they may seem on first glance. Equal line driving functions model the situation that all used trains are of the same type. This may not be completely true in practical instances; nevertheless, we can assume that the number of different train types is small and so is the number of different driving time functions. Transfers from one train to another are inconvenient for the passengers due to the waiting time at the transfer station and the eventuality of missing connecting trains in case of delays. This is reflected in the transfer penalties. Without too much simplification we can assume that this inconvenience only depends on the number of transfers and not on the stations where the transfers take place nor on the involved trains. Hence, equal transfer penalties seem to be a reasonable choice. Thinking about reasonable passenger routes in public transportation settings, the restriction to instances with *NLT* appears natural. The situation that underlying PTNs (or at least parts of them) are linear frequently occurs in countries with less dense railway systems like New Zealand or India. Although vehicle capacity is an important issue in public transportation planning, uncapacitated line planning accentuates the question *which lines should be established* for the passengers' convenience and leaves the adjustment of capacity requirements to a subsequent step of frequencies setting. #### **2.5 Uncapacitated Line Planning with Routing** In this section we analyze the computational complexity of uLPwR under different restrictions based on the results from [SS10b, SS12a]. We start restricting the problem class to instances of uLPwR with only one OD-pair in Sect. 2.5.1. Seeing that this problem is already hard, we discover a property inherent to most practical instances that allows us to develop a pseudopolynomial-time solution algorithm for uLPwR with one OD-pair. If we additionally restrict the problem class to linear networks, in Sect. [2.5.2.1](#page-54-0) we see that in some cases a significant speed-up is possible. Furthermore, when we relax our assumption of only one OD-pair in Sects. [2.5.2.2](#page-58-0) and [2.5.2.3,](#page-63-0) we discover that in some cases we can transfer our results for one OD-pair to instances of uLPwR in linear networks with several OD-pairs. #### *2.5.1 Uncapacitated Line Planning in General Networks* Before we study the complexity of uLPwR, we shortly discuss complexity results regarding the related *line connectivity* problem defined by Borndörfer et al. in [BNP09]. *Line Connectivity* is defined as follows: Given an undirected graph G D .V; E/, a set of terminal nodes T V , and a set of lines *L* with nonnegative line costs which cover all edges of G, is there a subset of lines *L*0 *L* of minimal cost such that for each pair of distinct terminal nodes t1; t2 2 T there exists a path from t1 to t2 which is completely covered by lines of *L*0 ? NP-hardness of this problem can be shown by reduction from the well-known *Steiner Tree* problem (see Definition on p. [61\)](#page-69-0) by defining for every edge e in the PTN, a line le with unit line cost which serves only edge e. In case of only two terminals, the Steiner tree problem corresponds to the problem of finding a shortest path between two nodes. Also the line connectivity problem can be solved in this case by a shortest path algorithm in an auxiliary graph. If all nodes are terminal nodes, the Steiner tree problem becomes the *minimum spanning tree* problem which can be solved to optimality by greedy algorithms (see, e.g., [Gib85]). However, it can be shown that line connectivity is strongly NP-hard even if all nodes of the graph are terminals and all line costs are equal using a reduction from *Set Cover* [BNP09]. The latter result implies NP-hardness of our line planning problem uLPwR. More precisely, setting *OD* D f.t1; t2/ W t1; t2 2 T g we obtain that it is even NP-complete to decide whether a feasible solution to uLPwR exists, if all line costs are equal. Since line driving time functions and transfer penalties do not influence the feasibility of a solution, we can assume that for every line l the line driving time function ˛l is defined by ˛l.x/ WD x for x 2 RC 0 and that pl l0 s WD 0 for all lines l; l0 and all stations s to strengthen the theorem. 36 2 Line Planning **Theorem 2.5.1.** *Finding a feasible solution to uLPwR is strongly NP-complete, even if* - *all line costs are equal,* - *the line driving time functions are equal for all lines, and* - *the transfer penalties are equal for all transfers.* Hence, unless P D NP, there is no polynomial-time solution algorithm to find a feasible solution to uLPwR, much less one which finds a solution with guaranteed quality or even an optimal one. Theorem 2.5.1 hence justifies our approach of analyzing subclasses of instances of uLPwR according to the classification made in Sect. [2.4.](#page-42-0) We now start our analysis of the optimization problem uLPwR by showing that without further limitations on the structure of the line pool, uLPwR is strongly NP-hard, even if we have only one OD-pair. #### **Theorem 2.5.2.** *uLPwR is strongly NP-hard, even if* - *there is only one OD-pair,* - *the line driving time functions of all lines are equal,* - *there are no transfer penalties, and* - *the line costs are equal for all lines.* We prove this by reduction from the strongly NP-complete problem *Hitting Set* [GJ79]. An instance .P; Q; K/ of *Hitting Set* consists of a set P D fp1; p2;:::;pmg, a set of subsets Q D fq1; q2;:::;qng of P, and a natural number K < jPj. The question to decide is whether there is a subset P0 - P with jP0 j K such that every qj 2 Q contains at least one pi 2 P0 . *Proof.* Let .P; Q; K/ be an instance of Hitting Set with P D fp1; p2;:::;pmg and Q D fq1; q2;:::;qng. We construct an instance I of uLPwR with one OD-pair in the following way. • We set the set of stations to be $$S := \{s_1, s_{4n+2}\} \cup \{s_{4(j-1)+2}, s_{4(j-1)+3}, s_{4(j-1)+4} : j = 1, \dots, n\}$$ $$\cup \{s_{4(j-1)+2}^i, s_{4(j-1)+4}^i : j = 1, \dots, n, i = 1, \dots, m\}$$ $$\cup \{s_{4(j-1)+5}^i : j = 1, \dots, n-1, i = 1, \dots, m\}$$ and define the set of edges of the PTN as $$\begin{split} E &= \{\{s_1, s_2\}\} \\ &\quad \cup \{\{s_{4(j-1)+2}, s_{4(j-1)+3}\}, \{s_{4(j-1)+3}, s_{4(j-1)+4}\}, \{s_{4(j-1)+4}, s_{4(j-1)+6}\} \\ &\quad : j = 1, \dots, n\} \\ &\quad \cup \{\{s_{4(j-1)+2}^i, s_{4(j-1)+4}^i\} : j = 1, \dots, n, i = 1, \dots, m\} \end{split}$$ ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_46_Figure_2.jpeg) **Fig. 2.6** Example for the construction of the CGN in the proof of Theorem 2.6 $$\bigcup \{ \{s_{4(j-1)+4}^i, s_{4(j-1)+5}^i\}, \{s_{4(j-1)+5}^i, s_{4(j-1)+6}^i\} : j = 1, \dots, n-1, \\\ni = 1, \dots, m \}$$ We set M WD 2n C 2, $$L_{\{s_{4(j-1)+3},s_{4(j-1)+4}\}} := M \text{ for } j = 1,\dots,n,$$ and $L_{\{s_{4(j-1)+5}^i,s_{4(j-1)+6}^i\}} := M \text{ for } i = 1,\dots,m, \ j = 1,\dots,n-1.$ All other edge lengths are set to Le WD 1. Now whenever pi 2 qj , we identify si 4.j-1/C2 WD s4.j-1/C2 and si 4.j-1/C4 WD s4.j-1/C4. - We have a line l 0 that visits stations sk in increasing order of k. Furthermore, we have m more lines l 1; l 2;:::;lm. Line li visits stations si k in increasing order of k. All lines l have line driving time function ˛l with ˛l.x/ WD x for x 2 RC 0 and cost bl WD 1. We set B WD K C 1. - We set all transfer penalties to 0. - Our OD-pair is .*u*; *v*/ with *u* WD s1 and *v* WD s4nC2. An example for the CGN constructed for the set P D f1; 2; 3g and the set of subsets Q D ff1; 2g; f1; 3gg where we omit all transfer arcs that cannot be used in a solution .*L*0 ; *R*/ with c.*L*0 ; *R*0 / 5 is shown in Fig. 2.6. For the sake of a compact representation, the lines are omitted in the node labels. Now we claim that if and only if there is a solution to the constructed instance of uLPwR with objective value better or equal to 2n C 1, there is a solution to the given instance .P; Q; K/ of Hitting Set. 1. Let .*L*0 ; *R*/ be a solution to I with c.*L*0 ; *R*/ 2n C 1. Let P*uv* be the path contained in *R*. No arc of length M can be contained in P*uv*, because otherwise $$(\mathcal{L}', P_{uv}) \geq M > 2n + 1.$$ 38 2 Line Planning Thus, for every j D 1; : : : ; n, fŒs4.j-1/C4; l 0; Œs4.j-1/C6; l 0gDfŒs4.j-1/C4; l 0; Œs4jC2; l 0g 2 P*uv* and there exists an i such that fŒsi 4.j-1/C2; li ; Œsi 4.j-1/C4; li g 2 P*uv*. Furthermore fŒs1; l 0; Œs2; l 0g 2 P*uv*. Hence, for every j D 1; : : : ; n there is a line li 2 *L*0 such that a transfer from line l 0 to line li is possible at station s4.j-1/C2. In other words, for every j D 1; : : : ; n there is an index i with li 2 *L*0 such that si 4.j-1/C2 D s4.j-1/C2. Setting P .*L*0 / WD fpi W li 2 *L*0 g we obtain that for every j D 1; : : : ; n there is an index i with pi 2 qj . Furthermore, $$|P(\mathcal{L}')| = |\mathcal{L}'| - 1 = \sum_{l \in \mathcal{L}'} b_l - 1 \le B - 1 = K.$$ 2. Let P0 be a solution to .P; Q; K/. We define a line-route P*uv*.P0 / for .*u*; *v*/ as follows. P*uv*.P0 / starts in s1 taking line l 0. For every j D 1; : : : ; n at station s4.j-1/C2, P*uv*.P0 / transfers to a line li for whose index i pi 2 qj holds and goes back to l 0 at station s4.j-1/C4. Then by construction c.*L*.P*uv*.P0 //; P*uv*.P0 // D 2n C 1, and $$\sum_{l \in \mathcal{L}(P_{\text{int}}(P'))} b_l \leq \sum_{l \in \{l^0\} \cup \{l^l: p_l \in q_l\}} b_l \leq |P'| + 1 = K + 1.$$ ut Note that the instances constructed in the reduction from Hitting Set in the proof of Theorem [2.5.2](#page-45-0) look somehow artificial: although there might be situations where a line l has a long detour and we can take a shortcut using another line and entering an earlier train of line l0 , this is not very likely to happen in practice. We hence assume the *NLT* property in most of the following results: **Definition 2.5.3.** An instance I D .N;*L*; *OD*;B/ of uLPwR has the *NLT property* if there exists an optimal solution .*L*0 ; *R*/ to I such that for every P 2 *R* the following holds: If i; k 2 Adrive \ P and l.i / D l.k/, then l.j / D l.i / for all j 2 Adrive \ P for which i P j P k. The NLT property is not an unrealistic requirement on the line pool. If the line driving time functions are equal for all lines and the line pool only allows lines that run along shortest paths in the PTN, the NLT property is fulfilled, as we see in the following lemma. Such a line pool is not uncommon in the literature (see, e.g., [BKZ97]). **Lemma 2.5.4.** *Consider a public transportation network PT N and a line pool L. If* - *every line* .s1; e1; s2; e2;:::;ek-1; sk/ *is a shortest path in PT N from its start node* s1 *to its end node* sk*, and* - *the line driving time functions are equal for all lines in L,* *for every choice of OD* - S S *and* B 2 N*, the instance* I D .*PT N* ;*L*; *OD*;B/ *has the NLT property.* *Proof.* Let *PT N* D .V; E/. Consider an optimal solution .*L*0 ; *R*/ to I . Let .*u*; *v*/ 2 *OD* be an OD-pair and let P*uv* be the path chosen for .*u*; *v*/ in the corresponding routing network N.*L*0 / D .V .*L*0 /; A.*L*0 //. Suppose that there is a line l which is entered more than once on P*uv*. Let i1 be the node where l is left the first time and ik be the node where it is entered the second time. Let P0 be the subpath of P*uv* from i1 to ik and let P be the path from i1 to ik contained in l. For the travel time on P *uv* WD .P*uv* n P0 / [ P we obtain $$c(\mathcal{L}', P_{uv}^*) = \sum_{a \in P_{uv}^*} c_a$$ $$= \sum_{a \in P} c_a + \sum_{a \in P_{uv}^* \setminus P} c_a$$ $$= \alpha \left( \sum_{\{i_j, i_{j+1}\} \in E: \{[i_j, I], [i_{j+1}, I]\} \in P} L_{\{i_j, i_{j+1}\}} \right) + \sum_{a \in P_{uv}^* \setminus P} c_a$$ $$\leq \alpha \left( \sum_{\{i'_j, i'_{j+1}\} \in E: \exists I' \text{ s.t. } ([i_j, I'], [i_{j+1}, I']) \in P'} L_{\{i'_j, i'_{j+1}\}} \right) + \sum_{a \in P_{uv}^* \setminus P} c_a$$ $$\leq \sum_{a \in P'} c_a + \sum_{a \in P_{uv}^* \setminus P} c_a$$ $$= \sum_{a \in P'} c_a + \sum_{a \in P_{uv}^* \setminus P'} c_a$$ $$= c(\mathcal{L}', P_{uv}).$$ Thus, we can replace P0 by P, i.e., consider P *uv* WD .P*uv* n P0 / [ P instead of P*uv*. We iterate this replacement procedure until the resulting path has the required property. ut As we will see in Theorem [2.5.6,](#page-49-0) the NLT property allows us to find solutions to instances of uLPwR with one OD-pair in pseudopolynomial time. We achieve this by solving uLPwR with one OD-pair as a *Resource-Constrained Shortest Path (RCSP)* problem in the CGN. An instance .G; .s; t /; R/ of the optimization problem *RCSP* (see, e.g., [BC89]) consists of a (directed or undirected) network G D .V; A/ with two nonnegative labels: the length La and the resource consumption ra, on each edge/arc a 2 A. An origin node s and a destination node t are specified, and a bound R 2 N on the resource consumption is given. The task is to find a path P of minimal length from s to t, under the constraint that P a2P ra R. Let I D .N;*L*; *OD*;B/ be an instance of uLPwR with j*OD*j D 1, say *OD* D f.*u*; *v*/g. In order to transform our problem to a RCSP problem, we assign to every 40 2 Line Planning transfer arc a D .Œs; l; Œs; l0 / and every origin arc a D .*u*org; Œ*u*; l0 / a second label ba that represents the line cost of the line l0 which is entered, i.e., ba WD bl0 . For the driving arcs and the destination arcs, this cost label is set to ba WD 0. Let P*uv* be a path from *u*org to *v*dest in N. We denote $$\tilde{b}(\mathcal{L}(P_{uv}), P_{uv}) := \sum_{a \in P_{uv} \cap (A_{\text{org}} \cup A_{\text{trans}})} b_a.$$ Then $$b(\mathcal{L}(P_{uv}), P_{uv}) = \sum_{l:E(l)\cap P_{uv} \neq \emptyset} b_l$$ $$= \sum_{l:([u^{\text{org}},[u,l])\in P_{uv}} b_l + \sum_{l:\exists s,l' \ s.t.([s,l'],[s,l])\in A_{\text{trans}}\cap P_{uv}} b_l$$ $$\leq \sum_{a\in P_{uv}\cap (A_{\text{org}}\cup A_{\text{trans}})} b_a$$ $$= \tilde{b}(\mathcal{L}(P_{uv}), P_{uv}). \tag{2.2}$$ This gives us the following lemma. **Lemma 2.5.5.** *Let* I D .N; f.*u*; *v*/g;*L*;B/ *be an instance of uLPwR and let* P *be a feasible solution with objective value* c *to the instance* .N; .*u*org; *v*dest/; B/ *of RCSP with the labels* La WD ca *and* ra WD ba *on the arcs* a *of* N*, origin node u*org*, destination node v*dest*, and the bound* B *on the sum over the* ba*. Then* .*L*.P /; fPg/ *is a feasible solution to* I *with* c.*L*.P /; fPg/ D c*.* Note that if the NLT property holds, in (2.2) it follows that b.*L*.P*uv*/; P*uv*/ D Q b.*L*.P*uv*/; P*uv*/. In this case, the optimal solution path P*uv* to I is also optimal for RCSP. Hence, in this case we obtain the stronger result of Theorem 2.5.6. **Theorem 2.5.6.** *Given an instance* I D .N; f.*u*; *v*/g;*L*;B/ *of uLPwR which has the NLT property, any optimal solution to the instance* .N; .*u*org; *v*dest/; B/ *of RCSP with the labels* La WD ca *and* ra WD ba *on the arcs of* N*, origin node u*org*, destination node v*dest*, and the bound* B *on the sum over the* ba*, is an optimal solution to* I *.* Although RCSP is NP-hard [WC96], it can be solved in pseudopolynomial time. The algorithm given in [Phi93] solves the RCSP problem in time O.jAjR C jV jR log.jV jR//.. For an instance I 0 D .G; .s; t /; R/ of RCSP, it constructs a *search graph* S D .VS ; AS /, that is, a graph whose node set VS consists of R copies of the node set of the initial graph G D .V; A/ for the constraint on the resources R. Nodes Œi; r in this graph represent the nodes i from the initial graph as well as the actual level of resource consumption. Consequently, an arc .Œi; r; Œj; r0 / is introduced if .i; j / 2 A and rij D r0 r. Applying Dijkstra's algorithm on S for start node, Œs; 0 provides us with a set of paths fPr W r D 1; : : : ; Rg where Pr is a shortest path from Œs; 0 to Œt; r in S if such a path exists. Choosing a path of minimal length from fPr W r D 1; : : : ; Rg, we obtain an optimal solution to I 0 . Note that the structure of the search graph makes it possible to reverse the role of "resource" and "length": that is, given a bound P L on the path lengths, e.g., L WD a2A La for the set of edges or arcs A, we can construct a search graph S0 D .V 0 S ; A0 S / whose node sets consist of L copies of V . In this case, nodes Œi; l in S0 represent the nodes i from the initial graph as well as the traveled distance to the origin, i.e., .Œi; l; Œj; l0 / 2 A0 S , if .i; j / 2 A and Lij D l0 l. Applying Dijkstra's algorithm on S0 for start node, Œs; 0 provides us with a set of paths fPl W l D 1; : : : ; Lg where Pl is a shortest path from Œs; 0 to Œt; l if such a path exists. The path Pl with minimal l among all found paths is an optimal solution to I 0 . Using the algorithm from [Phi93] and observing that the travel time in N is bounded by C WD maxf1;P a2A cag and the costs are bounded by BO WD minfB;P a2A bag, we obtain the following results. **Theorem 2.5.7.** *Let* I D .N;*L*; *OD*;B/ *be an instance of uLPwR with* j*OD*j D 1*.* - *The RCSP algorithm can be applied to* I *in pseudopolynomial time* - *1.* O.mN BO C nN BO log.nN B// O *with* BO WD minfB;P a2A bag*, or 2.* O.mN C C nN C log.nN C // *with* C WD maxf1;P a2A cag*.* - *If the RCSP algorithm returns a solution, it is feasible for* I *and its objective value is an upper bound on the optimal objective value.* - *If* I *has the NLT property and there exists a feasible solution to* I *, the algorithm returns an optimal solution to* I *.* Hence, an upper bound on the objective value of an instance I of uLPwR with one OD-pair is provided by the RCSP algorithm. On the other hand, a lower bound for the objective value of any line planning problem with routing is easily obtained by performing a shortest-path routing in the CGN (neglecting line costs). By modifying a proof for NP-completeness of the decision version of the RCSP problem (see [WC96]), in Theorem 2.5.8 we find that we cannot do better than solving uLPwR with one OD-pair in pseudopolynomial time, even if we require that our instances have the NLT property. #### **Theorem 2.5.8.** *uLPwR is NP-hard, even if* - *there is only one OD-pair,* - *the considered instances have the NLT property,* - *the line driving time functions of all lines are equal, and* - *there are no transfer penalties.* We prove Theorem 2.5.8 by reduction from *Partition*. An instance of *Partition* consists of a set *M* of n natural numbers that sum up to a number M. The question is whether there is a subset *M*0 of *M* such that the sum of all elements in *M*0 is M 2 . Partition is NP-complete [GJ79]. 42 2 Line Planning ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_51_Figure_1.jpeg) ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_51_Figure_2.jpeg) **Fig. 2.7** Example for the construction of an instance of uLPwR in the proof of Theorem [2.5.8](#page-50-0) (**a**) The constructed PTN (**b**) The constructed CGN *Proof.* Let *M* D fm1;:::;mng be an instance of Partition. We construct the following instance I of uLPwR: - The PTN consists of n C 1 stations s1; s2;:::;snC1. For j D 1; : : : n, sj is connected to sjC1 by two edges, ej and ej . The length of ej is set to Lej WD M, the length of ej to Lej WD M mj . - The line pool *L* consists of 2n lines, l j D .sj ; ej ; sjC1/ with line cost blj WD 0 and lj D .sj ; ej ; sjC1/ with line cost blj WD mj for j D 1; : : : ; n. We define ˛l as ˛l.x/ WD x for all l 2 *L* and B WD M 2 . - We set the transfer penalties to 0. - Let *OD* D f*u*; *v*g with *u* WD s1 and *v* WD sn. Figure 2.7 shows an example with *M* D fm1; m2; m3; m4g. We observe that by construction the NLT property holds in all so-constructed instances. Note that for every line-route P*uv* from *u* D s1 to *v* D snC1, the sum of its line costs b.*L*.P*uv*/; P*uv*/ and its traveling time c.*L*.P*uv*/; P*uv*/ is $$b(\mathcal{L}(P_{uv}), P_{uv}) + c(\mathcal{L}(P_{uv}), P_{uv}) = nM.$$ We show that if and only if there is a line-route P*uv* from s1 to snC1 with cost b.*L*.P*uv*/; P*uv*/ B D M 2 and travel time c.*L*.P*uv*/; P*uv*/ nM M 2 , there is a solution to the given instance of Partition. 1. Let P*uv* be such a line-route and let EP*uv* be the edge set of its corresponding path in *PT N* . From $$b(\mathcal{L}(P_{uv}), P_{uv}) \leq \frac{M}{2}, \quad c(\mathcal{L}(P_{uv}), P_{uv}) \leq nM - \frac{M}{2}$$ and $$b(\mathcal{L}(P_{uv}), P_{uv}) + c(\mathcal{L}(P_{uv}), P_{uv}) = nM,$$ we can conclude that b.*L*.P*uv*/; P*uv*/ D M 2 holds. We define *M*.P*uv*/ WD fmj W ej 2 EP*uv* g and obtain that $$\sum_{m_j \in \mathcal{M}(P_{uv})} m_j = \sum_{j: e_j \in E_{P_{uv}}} m_j = \sum_{j: l_j \in \mathcal{L}(P_{uv})} m_j = \sum_{j: l_j \in \mathcal{L}(P_{uv})} b_{l_j} = b(\mathcal{L}(P_{uv}), P_{uv}) = \frac{M}{2},$$ hence *M*.P*uv*/ is a solution to the given instance of Partition. 2. Vice versa for a solution *M*0 to Partition, we define $$E_{P_{uv}}(\mathcal{M}') := \{e_j : m_j \in \mathcal{M}'\} \cup \{e^j : m_j \notin \mathcal{M}'\}.$$ Then EP*uv* .*M*0 / induces a path P*uv*.*M*0 / in *PT N* for which $$\begin{split} b(\mathcal{L}(P_{uv}(\mathcal{M}')), P_{uv}(\mathcal{M}')) &= \sum_{l: E_{P_{uv}(\mathcal{M}')} \cap E(l) \neq \emptyset} b_l \\ &= \sum_{j: E_{P_{uv}(\mathcal{M}')} \cap E(l^j) \neq \emptyset} b_{l^j} + \sum_{j: E_{P_{uv}(\mathcal{M}')} \cap E(l_j) \neq \emptyset} b_{l_j} \\ &= 0 + \sum_{m_j \in \mathcal{M}'} m_j \\ &= \frac{M}{2}, \end{split}$$ and $$c(\mathcal{L}(P_{uv}(\mathcal{M}')), P_{uv}(\mathcal{M}')) = nM - b(\mathcal{L}(P_{uv}(\mathcal{M}')), P_{uv}(\mathcal{M}')) = nM - \frac{M}{2}.$$ Later, in Corollary [2.5.17,](#page-58-0) we see that the problem from Theorem [2.5.8](#page-50-0) can be solved in polynomial time if the driving time function of all lines is equal *and* the PTN is linear. Although it allows to reduce the solution time to pseudopolynomial time in the case of only one OD-pair, the NLT property does not help in the general case 44 2 Line Planning of uLPwR, where we have more OD-pairs. In fact, even if we assume that every line covers only one edge of the PTN (a case in which the NLT property trivially holds), the problem of finding an optimal line concept and an optimal routing can be reduced to the *Steiner tree* problem (see [Sch05]). #### *2.5.2 Uncapacitated Line Planning in Linear Networks* In this section we restrict our analysis to linear PTNs as defined in Definition [1.3.4.](#page-15-0) Before we expose our results regarding the optimization problem uLPwR in the next three sections, we shortly discuss the solvability of the associated feasibility problem. In contrast to the result of Theorem [2.5.1,](#page-45-0) the restriction to linear PTNs allows polynomial-time solutions, by regarding the problem as a Set Cover problem with consecutive-ones property: **Theorem 2.5.9.** *An instance* I D .*PT N* ;*L*; *OD*;B/ *of the feasibility problem of uLPwR where PT N is a linear network can be solved in polynomial time.* *Proof.* Let I D .*PT N* ;*L*; *OD*;B/ be an instance of uLPwR with *PT N* D .V; E/ linear. Let E0 denote the set of edges that are used by at least one OD-pair. A line concept *L*0 is a feasible solution to I if and only if P l2*L*0 bl B and for all e 2 E0 there is at least one line l 2 *L*0 with e 2 E.l/. Thus, we can decide the feasibility problem by solving the following (weighted) Set Cover problem with variables $$x_l := \begin{cases} 1 \text{ if } l \in \mathcal{L}' \\ 0 \text{ otherwise} \end{cases}$$ for all $l \in \mathcal{L}$ : $$\min \sum_{l=1}^{|\mathcal{L}'|} b_l x_l$$ $$s.t. \ Ax \ge 1,$$ $$x_l \in \{0, 1\},$$ where $$A := (a_{el})_{e=1,\dots,|E'|;\ l=1,\dots,|\mathcal{L}|}$$ with $a_{el} := \begin{cases} 1 \text{ if } e \in l \\ 0 \text{ otherwise.} \end{cases}$ This integer program can be solved in polynomial time: Let the elements e0 i in E0 be indexed consecutively in the same order as in E. Then, for a line l, if e0 i 2 l and e0 k 2 l, also e0 j 2 l for all j 2 fi C 1; i C 2;:::; k 1g. Hence, A has the consecutive-ones property and is totally unimodular. Thus, the integer program can be solved by linear programming. ut In Sect. [2.5.2.1](#page-54-0) we consider the case of uLPwR for only one OD-pair in a linear PTN. In Sects. [2.5.2.2](#page-58-0) and [2.5.2.3](#page-63-0) we extend our results to situations with more OD-pairs. #### **2.5.2.1 Uncapacitated Line Planning in Linear Networks for One OD-Pair** The first theorem shows that even in the case of linear PTNs, the NLT property is indispensable for solving instances of uLPwR with one OD-pair efficiently. **Theorem 2.5.10.** *uLPwR is strongly NP-hard, even if* - *the PTN is linear, and* - *there is only one OD-pair.* *Proof.* Similarly to Theorem [2.5.2](#page-45-0) we prove this by reduction from Hitting Set. Let .P; Q; K/ be an instance of Hitting Set with P D fp1; p2;:::;pmg and Q D fq1; q2;:::;qng. We construct an instance I of uLPwR in the following way: - We have 2nC2 stations s1;:::;s2nC2 which are connected in this order by edges. The edges fsi ; siC1g for i odd have length 1 and for i even have length 2. - There are m lines l1;:::;lm running from station s1 to station s2nC2 with line driving time functions ˛li.x/ WD x and line costs bki WD 1 for i D 1; : : : ; m. Additionally there are n more lines l 1;:::;ln with l j running from station s2j to s2jC1 with line driving time functions ˛lj .x/ WD 1 2x and line costs blj WD 0 for j D 1; : : : ; n. We set B WD K. - The OD-pair is .*u*; *v*/ with *u* WD s1 and *v* WD s2nC2. - The transfer penalty to transfer from li to l j is 0 for all i; j in all stations, the transfer penalty from li to li0 is 1 for every i ¤ i0 and every station. Now we set $$p_{s_{2j+1}}^{l^j l_i} := \begin{cases} 0 \text{ if } p_i \in q_j \\ 1 \text{ otherwise.} \end{cases}$$ See Fig. [2.8](#page-55-0) for an example of this construction with element set P D fp1; p2; p3; p4g and set of subsets Q D ffp2; p4g; fp1; p3g; fp2; p3; p4gg. The PTN is depicted in Fig. [2.8a](#page-55-0). The CGN is shown in Fig. [2.8b](#page-55-0) where we only show transfer arcs with zero penalty. We now claim that there is a solution .*L*0 ; *R*/ to the described instance of uLPwR with objective value c.*L*0 ; *R*/ 2n C 1 if and only if there is a solution to the instance .P; Q; K/ of Hitting Set. 1. Let .*L*0 ; *R*/ be a solution to I with c.*L*0 ; *R*/ 2n C 1. Let P*uv* denote the path from *u*org to *v*dest contained in *R*. Note that P*uv* can contain only driving arcs of length 1 and transfer arcs of length 0. Thus, P*uv* uses all lines l j . Furthermore, in every station s2jC1 there has to be a transfer arc of length 0 from line l j to a line li 2 *L*0 . In other words, for every j there is an index i such that we can transfer from l j to li at cost 0. Hence, for the set P .*L*0 / WD fpi W li 2 *L*0 g it holds that for every qj there is a pi 2 P .*L*0 / such that pi 2 qj . Furthermore, $$|P(\mathcal{L}')| = |\{p_i : l_i \in \mathcal{L}'\}| = \sum_{l \in \mathcal{L}'} b_l \le K.$$ 46 2 Line Planning ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_55_Figure_1.jpeg) ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_55_Figure_2.jpeg) **Fig. 2.8** Example for the construction of an instance of uLPwR in Theorem [2.5.10](#page-54-0) (**a**) constructed PTN (**b**) constructed CGN 2. Let P0 be a solution to the considered instance of Hitting Set. We construct a line-route P*uv*.P0 / as follows: on edge fs1; s2g, P*uv* uses line l1. For every j , on edge fs2j ; s2jC1g P*uv*.P0 / uses line l j . On edge fs2j ; s2jC1g P*uv*.P0 / uses a line li with pi 2 qj . Then by construction the transfer penalties along the line-route are 0 and c.*L*.P*uv*.P0 //; fP*uv*.P0 /g/ D 2n C 1. Furthermore, ut $$\sum_{l \in \mathcal{L}(P_{uv})(P')} b_l = |\{l_i \in \mathcal{L}(P_{uv}(P'))\}| \le |P'| = K.$$ Due to this hardness result we assume in the following that the NLT property holds. Applying the result of Lemma [2.5.4](#page-47-0) to linear PTNs, we obtain the following corollary. **Corollary 2.5.11.** *Let* I D .*PT N* ;*L*; *OD*;B/ *be an instance of uLPwR with* - *linear PTN, and* - *all lines having the same driving time function.* *Then* I *has the NLT property.* **Theorem 2.5.12.** *uLPwR is NP-hard, even if* - *the PTN is linear,* - *there is only one OD-pair,* - *the NLT property holds,* *and one of the following conditions is fulfilled:* - *1. either there are no transfer penalties,* - *2. or the line driving time functions of all lines are equal (which implies the NLT property) and the transfer penalties are station-independent.* This can be shown by reduction from Partition analogously to the proof of Theorem [2.5.8](#page-50-0) (see [SS12a]). Thus, under the assumption that P ¤ NP, we cannot get substantially better than the pseudopolynomial running time of the RCSP algorithm proposed in Lemma [2.5.7.](#page-50-0) Certainly, if the NLT property is fulfilled, for uLPwR with one OD-pair, we can apply the RCSP algorithm also on linear networks. However, compared to the running time of the algorithm presented in Theorem [2.5.7](#page-50-0) we can obtain a speed-up if the line driving time functions of all lines are equal, due to the property shown in Lemma [2.2.6.](#page-35-0) There, we saw that in case of a linear PTN and equal line driving time functions for all lines, only the transfer penalties need to be considered. Consequently, without loss of generality, when searching for an optimal solution .*L*0 ; *R*/ we can assume all driving arc lengths to be 0 in the situation of Lemma [2.2.6.](#page-35-0) Thus, we obtain the following corollary to Theorem [2.5.7.](#page-50-0) **Corollary 2.5.13.** *An optimal solution to an instance of uLPwR with* - *linear PTN, and* - *all lines having the same line driving time function* *can be found in time* - *1.* O.mN Q C nN Q log.nN Q// *with* Q WD maxf1;P l2*L* maxl02*L* maxs2S.l/ pl0 l s g*, or* - *2.* O.mN BO C nN BO log.nN B// O *with* BO WD minfB;P a2A bag*.* 48 2 Line Planning *Proof.* Due to Lemma [2.2.6](#page-35-0) we can assume that all driving arcs in the CGN have length 0. Since the NLT property holds (Lemma [2.5.11\)](#page-56-0), every line is entered at most once. Thus, the length of our path (counting only transfer arcs) in the CGN is at most Q WD maxf1;P l2*L* maxl02*L* maxs2S.l/ pl0 l s g. Applying the RCSP algorithm yields the result of the corollary. ut Now we consider station-independent transfer penalties and equal line driving time functions. We are hence in the situation of Sect. [2.2.3](#page-34-0) and can apply the RCSP algorithm to the problem in the LN instead of the CGN which leads to further speed-up. ## **Theorem 2.5.14.** *Given an instance* I D .NL; .*u*; *v*/;*L*;B/ *of uLPwR with* - *linear PTN and corresponding line network* NL D .VL; AL/*,* - *one OD-pair* .*u*; *v*/*,* - *equal line driving time functions, and* - *station-independent transfer penalties,* *any optimal solution to the instance* .NL; .*u*org; *v*dest/; B/ *of RCSP with the labels* ca *for all* a 2 AL *and* bl l0 WD bl *for all* .l; l0 / 2 AL *is an optimal solution to* .NL; .*u*; *v*/;*L*;B/*.* *Proof.* Consider an instance I D .NL; .*u*; *v*/;*L*;B/ of uLPwR as described in the lemma. Again, we assign to every arc a D .*u*org; l0 / or a D .l; l0 / the second label bl l0 WD bl0 and set bl*v*dest WD 0 for every l; l0 2 *L*0 for which the corresponding arcs are defined in the LN. Since ca; la 0 for every a 2 AL, without loss of generality we can assume that any optimal path P*uv* for OD-pair .*u*; *v*/ 2 *OD* is simple. Hence, $$b(\mathcal{L}(P_{uv}), P_{uv}) = \sum_{l \in P_{uv}} b_a = \sum_{a \in P_{uv}} b_a =: \tilde{b}(\mathcal{L}(P_{uv}), P_{uv}).$$ (2.3) Therefore, any optimal solution to the instance .NL; .*u*org; *v*dest/; B/ of RCSP is an optimal solution to the instance .NL; .*u*; *v*/;*L*;B/ of uLPwR. ut Applying the RCSP algorithm from [Phi93] described on p. [40](#page-44-0) we obtain the following corollary. #### **Corollary 2.5.15.** *An instance* I D .NL;*L*; *OD*;B/ *of uLPwR with* - *linear PTN,* - *one OD-pair* .*u*; *v*/*,* - *equal line driving time functions, and* - *station-independent transfer penalties* *can be solved in pseudopolynomial time* O.mNLQO C nNLQO log.nNLQ// O *with* $$\hat{Q} := \max \left\{ 1, \sum_{l \in \mathcal{L}} \max_{l' \in \mathcal{L}} p^{l'l} \right\}.$$ If additionally the transfer penalties are equal, we can assume all transfer penalties to be 1: **Lemma 2.5.16.** *Let* I p D .Np L ;*L*; *OD*;B/ *be an instance of uLPwR with* - *linear PTN,* - *equal line driving time functions, and* - *equal transfer penalties* p*.* *Let* .*L*p; *R*p/ *be an optimal solution to* I p*. Then* t .*L*p; *R*p/ D p t .*L*1; *R*1/ *for an optimal solution* .*L*1; *R*1/ *to the instance* I 1 WD .N1 L;*L*; *OD*;B/ *where* N1 L *is the LN* Np L *with transfer penalties* 1 *instead of* p*.* *Proof.* For any routing *R*p $$t(\mathcal{L}(\mathcal{R}^p), \mathcal{R}^p) = p \cdot \sum_{P_i \in \mathcal{R}^p} |A_{\text{trans}}^p \cap P_i| = p \cdot t(\mathcal{L}(\mathcal{R}^1), \mathcal{R}^1)$$ which implies the statement of the lemma. ut Due to Lemma [2.2.6,](#page-35-0) this leads to the following corollary to Theorem [2.5.15.](#page-57-0) **Corollary 2.5.17.** *Let* I D .NL;*L*; *OD*;B/ *be an instance of uLPwR with* - *linear PTN,* - *one OD-pair, and* - *equal line driving time functions* I *can be solved in time* - *1.* O.mNL C nNL log.nNL // *if there are no transfer penalties.* - *2.* O.mNL j*L*j C nNL j*L*j log.nNL // *if the transfer penalties are all equal.* #### **2.5.2.2 Uncapacitated Line Planning with OD-Pairs Having the Same Origin in Linear Networks** In the next two sections we investigate whether the results of the previous section can be generalized. We stick to the restriction that the underlying PTN is linear but relax the strong assumption of only one OD-pair by allowing a set of OD-pairs *OD* D f.*u*; *v*k/ W k D 1:::;mg which all have the same origin *u* and start traveling in the same direction. Thereby, for the sake of a simpler notation, we assume that the destinations of the OD-pairs as well as the nodes in the PTN are labeled in the direction the OD-pairs are traveling. 50 2 Line Planning Given a public transportation network *PT N* with a specified direction of travel, we write s *PT N* s0 , or s0 *PT N* s to indicate that station s precedes station s0 in the direction the OD-pairs travel in *PT N* , and s <*PT N* s0 , or, s0 &gt;*PT N* s, respectively, to emphasize that additionally s ¤ s0 holds. In case of several OD-pairs with the same origin, the NLT property alone is not enough to obtain pseudopolynomial running time anymore. By reduction from Hitting Set, similar to the proof of Theorem [2.5.2,](#page-45-0) uLPwR can be shown to be strongly NP-hard in general, even for instances which have the NLT property. (See [SS12a] for a proof.) #### **Theorem 2.5.18.** *uLPwR is strongly NP-hard, even if* - *the PTN is linear,* - *all OD-pairs have the same origin and go to the same direction, and* - *the NLT property holds.* Similarly to the reduction in the proof of Theorem [2.5.8](#page-50-0) we can show that when we have several OD-pairs having the same origin, uLPwR is NP-hard, even if all lines have the same line driving time function and if all transfer penalties are equal. Details of the proof are provided in [SS12a]. #### **Theorem 2.5.19.** *uLPwR is NP-hard, even if* - *the PTN is linear,* - *all OD-pairs have the same origin and go to the same direction* - *the line driving time functions of all lines are equal, and* - *all transfer penalties are equal.* This contrasts the result of Corollary [2.5.17,](#page-58-0) where we could solve the case of only one OD-pair in polynomial time. However, in the situation of Theorem 2.5.19, there is an optimal solution such that the routing is *nested*, as we will see in Lemma 2.5.20. We say that a collection of paths in a directed network N is *nested* if there is a simple path P in N such that $$P^* = \bigcup_{P \in \mathcal{R}} (P \cap (A_{\text{drive}} \cup A_{\text{trans}})).$$ #### **Lemma 2.5.20.** *Consider an instance* I D .N;*L*; *OD*;B/ *of uLPwR with* - *linear PTN,* - *set of OD-pairs, OD* D f.*u*; *v*i/ W i D 1; : : : ; mg *where all OD-pairs travel in the same direction,* - *equal line driving time functions and* - *equal transfer penalties.* *For every solution* .*L*0 ; *R*/ *there exists a routing R* WD fP i W i D 1; : : : ; mg 2 OPT.*L*0 / *which is nested.* *Proof.* Let a solution .*L*0 ; *R*/ be given. For every l 2 *L*0 denote by sl the last station on l. For every s 2 S l2*L*0 S.l/ choose a line ls 2 .*L*0 \*L*.s// such that sls *PT N* sl0 for all l0 2 *L*0 \ *L*.s/. Then we construct a line-route P as follows: - 1. Set s WD *u*. - 2. Take the chosen line ls and follow ls until either *v*m or sl0 s is reached. - 3. If *v*m 2 l0 s stop. Otherwise, set s WD sl0 s and go to (2). We now show that P contains optimal line-routes from *u* to *v*i for i D 1; : : : ; m with regard to the line concept *L*0 . Denote by P i the line-route for OD-pair .*u*; *v*i/ contained in P and by Pi the corresponding path in the CGN. Assume that there is an i such that there exists a path P0 i from *u*org to *v*dest i with c.*L*0 ; P0 i / < c.*L*0 ; Pi/, or, equivalently, $$|A_{\text{trans}} \cap P_i'| < |A_{\text{trans}} \cap P_i|. \tag{2.4}$$ Let SPi WD .s1;:::;ski/ denote the sequence of stations where passengers on Pi enter or leave a line, i.e., s1 D *u*, ski D *v*i and for j D 2;:::; ki 1, sj 2 SPi if and only if Pi \ f.Œsj ; l; Œsj ; l0 / W l; l0 2 *L*0 g¤;. Let SP0 i WD ..s0 /1; : : : ; .s0 /k0 i/ denote the analogous sequence for P0 i . Then s1 D *u* D .s0 /1, ski D *v*i D .s0 /k0 i and k0 i < ki due to (2.4). Thus, there is a j 2 f1; 2; : : : ; k0 i g such that .s0 /j *PT N* sj and .s0 /jC1 &gt;*PT N* sjC1. Let l0 j denote the line taken by P0 i between .s0 /j and .s0 /jC1. Then sj 2 S.l0 j / and sl0 j *PT N* .s0 /jC1 &gt;*PT N* sjC1 D sls which is a contradiction to the definition of ls . ut Note that Lemma [2.5.20](#page-59-0) implies that for every instance of uLPwR restricted as described there, there is an optimal solution .*L*0 ; *R*/ such that P WD S P i 2*R* P i is a path in N.*L*0 /. This enables us to transfer the instances of uLPwR with OD-pairs with the same origins to instances of uLPwR with only one OD-pair. **Lemma 2.5.21.** *Consider an instance* I 1 D .N1; *OD*;*L*;B/ *of uLPwR with* - *linear public transportation network PT N ,* - *set of OD-pairs OD* D f.*u*; *v*i/ W i D 1; : : : ; mg*,* - *equal line driving time functions for all lines, and* - *equal transfer penalties* p*.* *Denote by* N2 *the CGN built from PT N for the only OD-pair* .*u*; *v*m/ 2 *OD*1 *and transfer penalties given as* $$p_s^{ll'} := p_s := \sum_{(u,v_j) \in \text{OD}: s <_{\mathcal{PTN}v_j}} w_{uv_j} p.$$ (2.5) *Then there is a bijection between* - *1. nested routings R*1 *for* I 1*, and* - *2. routings R*2 *for* I 2 WD .N2;*L*; .*u*; *v*m/; B/ 52 2 Line Planning *fulfilling the property that* - *L*.*R*1/ D *L*.*R*2/*, and* - c.*L*.*R*1/; *R*1/ D c.*L*.*R*2/; *R*2/*.* *Proof.* Without loss of generality we can assume that ca D 0 for all a 2 Adrive due to Lemma [2.2.6.](#page-35-0) 1. Let .*L*2; *R*2/ be a solution to I 2. Let P2 denote the path contained in *R*2. For .*u*; *v*i/ 2 *OD* we define the path P1 i .P2/ to consist of the path P2 seen as path in N1 ending at the first node in the CGN which belongs to station *v*i and add a destination arc to *v* org i . We set *R*1 WD fP1 i .P2/ W i D 1; : : : ; mg. Then, by definition, *L*.*R*1/ D *L*.*R*2/ and P1.P2/ WD S Pi2*R*1 P1 i .P2/ \ .Adrive [ Atrans/ is a simple path in N1. Hence, *R*1 is nested. Furthermore setting P1 0 .P2/ D ; we obtain $$\begin{split} c(\mathcal{L}(\mathcal{R}^2), \mathcal{R}^2) &= t(\mathcal{L}(\mathcal{R}^2), P^2) \\ &= \sum_{([s,l],[s,l']) \in P^2} p_s^{ll'} \\ &= \sum_{([s,l],[s,l']) \in P^2} \sum_{j=1,\dots,m:s < \mathcal{PTN^V}_j} w_{uv_j} p \\ &= \sum_{r=1}^m \sum_{([s,l],[s,l']) \in (P_r^1(P^2) \backslash P_{r-1}^1(P^2))} \sum_{j=r}^m w_{uv_j} p \\ &= \sum_{r=1}^m \sum_{([s,l],[s,l']) \in (P_r^1(P^2) \backslash P_{r-1}^1(P^2))} \sum_{j=r}^m w_{uv_j} p \\ &= \sum_{r=1}^m |[P_r^1(P^2) \backslash P_{r-1}^1(P^2)] \cap A_{\text{trans}}| \sum_{j=r}^m w_{uv_j} p \\ &= \sum_{r=1}^m t(\mathcal{L}(\mathcal{R}^1), P_r^1(P^2) \backslash P_{r-1}^1(P^2)) \sum_{j=r}^m w_{uv_j} \\ &= \sum_{r=1}^m \sum_{j=r}^m t(\mathcal{L}(\mathcal{R}^1), P_r^1(P^2) \backslash P_{r-1}^1(P^2)) w_{uv_j} \\ &= \sum_{j=1}^m \sum_{r=1}^j t(\mathcal{L}(\mathcal{R}^1), P_r^1(P^2) \backslash P_{r-1}^1(P^2)) w_{uv_j} \\ &= \sum_{j=1}^m w_{uv_j} \sum_{r=1}^j t(\mathcal{L}(\mathcal{R}^1), P_r^1(P^2) \backslash P_{r-1}^1(P^2)) \end{pmatrix} \end{split}$$ $$= \sum_{j=1}^{m} w_{uv_j} t(\mathcal{L}(\mathcal{R}^1), P_j^1(P^2))$$ $$= c(\mathcal{L}(\mathcal{R}^1), \mathcal{R}^1).$$ 2. Vice versa, let *R*1 WD fP1 i W i D 1; : : : ; mg be a nested routing in N1 and denote $$P^{1} := \bigcup_{P_{i}^{1} \in \mathcal{R}^{1}} \left[ P_{i}^{1} \cap (A_{\text{drive}} \cup A_{\text{trans}}) \right].$$ We define P2.P1/ as the path P1 i \ .Adrive [ Atrans/ regarded in N2 adding an origin and a destination arc and set *R*2 WD fP2.P1/g. Then like above, we have *L*.*R*1/ D *L*.*R*2/ and c.*L*.*R*2/; *R*2/ D c.*L*.*R*2/; P2.P1 P // D m jD1 *wuv*j t .*L*.*R*1/; P1 j / D c.*L*.*R*1/; *R*1/. ut Applying Lemmas [2.5.20](#page-59-0) and [2.5.21](#page-60-0) we obtain the following theorem. **Theorem 2.5.22.** *Consider an instance* I D .N;*L*; *OD*;B/ *of uLPwR with* - *linear PTN,* - *all OD-pairs having the same origin and going to the same direction,* - *equal line driving time functions for all lines, and* - *equal transfer penalties* p*.* *The instance is solvable in pseudopolynomial time* - *1.* O.mN BO C nN BO log.nN B// O *with* BO WD minfB;P a2A bag*, or* - *2.* O.mN W C nN W log.nN W // *with* $$W := \sum_{s \in S} \sum_{\{l_i, l_j\}, l_i, l_j \in \mathcal{L}(s)} \sum_{(u, v_j) \in \mathcal{OD}, s <_{\mathcal{PTN}v_j}} w_{uv_j}.$$ *Proof.* Without loss of generality, we can assume that ca D 0 for all a 2 Adrive because of Lemma [2.2.6.](#page-35-0) Due to Lemma [2.5.20,](#page-59-0) there exists an optimal solution .*L*; *R*/ to I with *R* being nested. Thus, we can apply Lemma [2.5.21](#page-60-0) and solve the instance I 2, constructed as described there, instead. This can be done in time - 1. O.mN BO C nN BO log.nN B// O with BO WD minfB;P a2A bag, or - 2. O.mN W C nN W log.nN W // with $$\begin{split} W := \max \left\{ 1, \sum_{a \in A} c_a \right\} &= \max \left\{ 1, \sum_{a \in A_{\text{trans}}} c_a \right\} \\ &= \max \left\{ 1, \sum_{\{l_i, l_j\}, l_i, l_j \in \mathcal{L}(\mathbf{S})} c_a \right\} \end{split}$$ 54 2 Line Planning $$= \max \left\{ 1, \sum_{s \in S} \sum_{\{l_i, l_j\}, l_i, l_j \in \mathcal{L}(s)} \sum_{(u, v_j) \in \mathcal{OD}, s <_{\mathcal{PTN}v_j}} w_{uv_j} p \right\}. \tag{2.6}$$ due to Theorem [2.5.7.](#page-50-0) Since we can assume that p D 1 due to Lemma [2.5.16,](#page-58-0) we obtain the statement of the lemma. ut The property that for every instance there is an optimal solution .*L*0 ; *R*/ such that the paths in *R* are nested can also be proven for instances without transfer penalties for which the NLT property holds. However, since this is possible even in the case of general sets of OD-pairs, this special case will be analyzed in the next section. #### **2.5.2.3 Uncapacitated Line Planning with General Sets of OD-Pairs in Linear Networks** We finally investigate the case in which we allow a general structure of the OD-pairs. We make the following assumptions on the instances I D .*PT N* ;*L*; *OD*;B/ considered in this section. - We assume that the lines after going to one direction turn and go back (i.e., that all lines are bi-directional) and that the transfer penalties are symmetric, i.e., pl l0 s D pl0 l s for all s 2 S, l; l0 2 *L*.s/. Then due to the fact that we do not have any capacity restrictions, we can add up *wuv* and *wvu* for the OD-pairs .*u*; *v*/ and .*v*; *u*/ and hence without loss of generality assume that all OD-pairs travel in the same direction. - Without loss of generality we assume that every fsi ; siC1g is used on at least one line-route, i.e, for every fsi ; siC1g there exists .*u*j ; *v*j / 2 *OD* with *u*j *PT N* si and *v*j *PT N* siC1. Note that if this is not the case for an edge fsi ; siC1g, we can just shrink si , fsi ; siC1g, and siC1 to one node, setting the transfer penalties at the new node to an arbitrary nonnegative value (since no passenger will transfer there anyway) and thus successively shrink the network until the property is fulfilled. In Lemma [2.5.20](#page-59-0) we saw that for some instances of uLPwR in a linear PTN, we can assume that the solution paths are nested. Based on this observation, we developed an algorithm with pseudopolynomial running time in Theorem [2.5.22.](#page-62-0) In the following we see that if we do not have transfer penalties, the property that there is an optimal solution with nested routing also holds for arbitrary sets of OD-pairs and lines with arbitrary line driving time functions. ### **Lemma 2.5.23.** *Consider an instance* I D .N;*L*; *OD*;B/ *of uLPwR* - *with linear PTN, and* - *without transfer penalties.* *For every solution* .*L*0 ; *R*/ *to* I *, there exists a nested routing R* WD fP k W k D 1; : : : ; mg 2 OPT.*L*0 /*.* *Proof.* Let .*L*0 ; *R*/ be a solution to I . Let sn be the last node in *PT N* , i.e., s sn8s 2 S. We consider a path P from s org 1 to sdest n in N.*L*0 / defined by the following line-route: for every edge e we choose a line le 2 argminl2*L*.e/\*L*0 ˛l.Le/. Let N.*u*k; *v*k/ denote the subnetwork induced by $$\{[s,l]: s \in S \text{ s.t. } s \geq_{\mathcal{PTN}} u_k \text{ and } s \leq_{\mathcal{PTN}} v_k; l \in \mathcal{L}' \cap \mathcal{L}(s)\}.$$ For every .*u*k; *v*k/ 2 *OD* we define P k to consist of the subpath .P\N.*u*k; *v*k// -P and the corresponding origin and destination arcs. We show now that indeed c.*L*0 ; P k / c.*L*0 ; Pk/ for any path Pk for .*u* org k ; *v*dest k /: since the transfer penalties are 0 we have $$\begin{split} c(\mathcal{L}', P_k) &= \sum_{([s,l],[s',l]) \in P_k \cap A_{\text{drive}}} c_a \\ &= \sum_{([s,l],[s',l]) \in P_k \cap A_{\text{drive}}} \alpha_l(L_{ss'}) \\ &\geq \sum_{([s,l_{\{s,s'\}}],[s',l_{\{s,s'\}}]) \in P_k^* \cap A_{\text{drive}}} \alpha_{l_{\{s,s'\}}}(L_{ss'}) \\ &= c(\mathcal{L}', P_k^*). \end{split}$$ Thus, $$c(\mathcal{L}', \mathcal{R}^*) \le c(\mathcal{L}', \mathcal{R})$$ . In particular, this implies that there is an optimal solution with nested paths. Like in Lemma [2.5.21](#page-60-0) we use this property to establish a correspondence between the described problem and a class of instances for which a solution approach is known. **Lemma 2.5.24.** *Consider an instance* I 1 WD .N1;*L*; *OD*;B/ *of uLPwR* - *for which the corresponding public transportation network PT N is linear, and* - *without transfer penalties.* *Denote by* N2 *the CGN* N1 *with arc lengths* $$\tilde{c}_{([s_i,I],[s_{i+1},I])} := \left( \sum_{k=1,\dots,m:(u,v_k) \in \text{OD}: u_k \leq_{\mathcal{PTNS}_{i+1}} <_{\mathcal{PTNV}_k}} w_{u_k v_k} \right) \cdot c_{([s_i,I],[s_{i+1},I])}.$$ *We define* I 2 WD .N2;*L*; .s1; sn/; B/*.* *Then there is a bijection between* *1. nested routings R*1 *for* I 1*, and* *2. routings R*2 *for* I 2*. with the properties that* • $$\mathcal{L}(\mathcal{R}^1) = \mathcal{L}(\mathcal{R}^2)$$ , • and $$c(\mathcal{L}(\mathcal{R}^2), \mathcal{R}^2) = c(\mathcal{L}(\mathcal{R}^1), \mathcal{R}^1)$$ . 56 2 Line Planning *Proof.* We use the following notation: For an CGN N D .V; A/ with set of OD-pairs *OD* we define $$A(u_j, v_j) := \{ ([s_i, l], [s_{i+1}, l]) \in A : \{s_i, s_{i+1}\} \in \mathcal{PTN},$$ $$u_j \leq_{\mathcal{PTN}} s_i, s_{i+1} <_{\mathcal{PTN}} v_j, l \in \mathcal{L}(s_i) \cap \mathcal{L}(s_{i+1}) \}$$ to be the subset of driving arcs that can be used by OD-pair .*u*j ; *v*j /. 1. Let a routing *R*2 for instance I 2 be given. Consider the path P2 defined by *R*2 in N2. Let P1.P2/ denote the path in N1 that is obtained by transferring P2 to N1. We denote by P1 k .P2/ the subpath .P1.P2/ \ A.*u*k; *v*k// - P1.P2/ with additional origin and destination arcs from *u* org k and to *v*dest k and define R1 WD fP1 k .P2/ W .*u*k; *v*k/ 2 *OD*g. Then *L*.*R*2/ D *L*.*R*1/. For the objective values given as the (cumulated) travel time of the OD-pairs we obtain $$\begin{split} c(\mathcal{L}(\mathcal{R}^1), \mathcal{R}^1) &= \sum_{j=1}^m w_{u_j v_j} c(\mathcal{L}(\mathcal{R}^1), P_j^1(P^2)) \\ &= \sum_{j=1}^m w_{u_j v_j} \sum_{([s_i, I], [s_{i+1}, I]) \in P_j^1(P^2)} c_{([s_i, I], [s_{i+1}, I])} \\ &= \sum_{([s_i, I], [s_{i+1}, I]) \in P^1(P^2)} \left( \sum_{u_j \leq_{\mathcal{PTN}S_i <_{\mathcal{PTN}v_j}} w_{u_j v_j} \right) c_{([s_i, I], [s_{i+1}, I])} \\ &= \sum_{([s_i, I], [s_{i+1}, I]) \in P^1(P^2)} \tilde{c}_{([s_i, I], [s_{i+1}, I])} \\ &= \sum_{([s_i, I], [s_{i+1}, I]) \in P^2} \tilde{c}_{([s_i, I], [s_{i+1}, I])} \\ &= c(\mathcal{L}(\mathcal{R}^2), \mathcal{R}^2). \end{split}$$ 2. Vice versa, let *R*1 D fP1 k W .*u*k; *v*k/ 2 *OD*g be a nested routing in I 1. Let P2 k .P1 k / be the path P1 k transferred to N2 for k D 1; : : : ; m without origin and destination arc. Then we define PQ 2 WD S kD1;:::;m P2 k .P1 k / and add transfer arcs and an origin and a destination arc to PQ 2 to obtain a path P2 from *u* org k to *v*dest k . We set *R*2 WD fP2g. Then *L*.*R*2/ D *L*.*R*1/. Analogously to the calculations before we see that c.*L*.*R*1/; *R*1/ D c.*L*.*R*2/; *R*2/. ut We want to use the result of Lemma [2.5.24](#page-64-0) to solve instances I 1 of uLPwR in linear PTNs without transfer penalties. If the NLT property holds for the instance I 2 with one OD-pair constructed from I 1 as described in Lemma [2.5.24,](#page-64-0) we can apply the RCSP algorithm to solve I 2 (and thus also I 1) in pseudopolynomial time. This is the case if I 1 has the *OD-NLT property*: **Definition 2.5.25.** Let I D .*PT N* ;*L*; *OD*;B/ be an instance of uLPwR with *PT N* D .S; E/ linear with S D fs1;:::;sng. Consider the instance I 0 D .*PT N* ;*L*; f.s1; sn/g;B/ which is equal to I , except that we exchanged *OD* with one OD-pair .s1; sn/. If the so-constructed instance I 0 has the NLT property, we say that I has the *OD-NLT property*. Similarly to Theorem [2.5.22](#page-62-0) we can use this property to solve uLPwR. **Theorem 2.5.26.** *Let* I D .N;*L*; *OD*;B/ *be an instance of uLPwR with* - *linear PTN,* - *OD-NLT property, and* - *without transfer penalties.* *Then an optimal solution to* I *can be found in pseudopolynomial time* - *1.* O.mN BO C nN BO log.nN B// O *with* BO WD minfB;P a2A bag*, or* - *2.* O.mN CO C nN CO log.nN C // O *with* $$\hat{C} := \max \left\{ 1, \sum_{l \in \mathcal{L}} \sum_{i=1}^{n-1} \left( \sum_{j=1,\dots,m: (u_j,v_j) \in \text{OD:} u_j \leq_{\mathcal{PTNS}_{i+1} <_{\mathcal{PTNV}_j}} w_{u_jv_j} \right) \cdot c_{([s_l,l],[s_{l+1},l])} \right\}.$$ *Proof.* Due to Lemma [2.5.23](#page-63-0) there is an optimal solution .*L*0 ; *R*/ to I such that *R* is nested. Due to Lemma [2.5.24](#page-64-0) this solution corresponds to a solution of an instance I 2 of uLPwR with one OD-pair in an instance I 2 D .N2;*L*; .s1; sn/; B/ as defined there, where the arc lengths in N2 are given as $$\tilde{c}_{s_i s_{i+1}} := \left( \sum_{k=1,\dots,m:(u_k,v_k) \in \mathrm{OD}^1: u_k \leq_{\mathcal{PTN}} s_{i+1} <_{\mathcal{PTN}} v_k} w_{u_k v_k} \right) \cdot c_{s_i s_{i+1}}.$$ with ca denoting the arc lengths in N. Since I has the OD-NLT property, I 2 has the NLT property. According to Theorem [2.5.7,](#page-50-0) an optimal solution can be found in time - 1. O.mN BO C nN BO log.nN B// O with BO WD minfB;P a2A bag, or - 2. O.mN CO C nN CO log.nN C // O with $$\hat{C} := \max \left\{ 1, \sum_{l \in \mathcal{L}} \sum_{i=1}^{n-1} \left( \sum_{j=1,\dots,m:(u,v_j) \in \text{OD:} u_j \leq \mathcal{PTN} \cdot S_{i+1} < \mathcal{PTN} \cdot v_j} w_{u_j v_j} \right) \cdot \mathcal{C}([s_i,l],[s_{i+1},l]) \right\}.$$ Adding the assumption of equal line driving time functions, we can even obtain polynomial running time in the LN. | Restrictions
line driving | | | | | |------------------------------|--------------|-------------------------------------------------------|-----------------------------------------------------|--------------------------------------| | | Restrictions | | | | | | transfer | mplexity
Co | mplexity
Co | mplexity
Co | | me function
ti | penalties | one OD-pair | same origin | general OD-pairs | | Equal | No | NL //
nNL log.n
C
NL
O.m | NL //
nNL log.n
C
NL
O.m | NL //
nNL log.n
C
NL
O.m | | | penalties | (2.5.17.1) | (2.5.27) | (2.5.27) | | Equal | Equal | NL //
nNL jLj log.n
NL jLj C
O.m | OB//,
N
OB log.n
nN
C
OB
N
O.m | NP-hard (2.5.19) | | | penalties | (2.5.17.2) | W //
N
log.n
W
nN
C
W
N
O.m | | | | | | (2.5.22), | | | | | | NP-hard (2.5.19) | | | Equal | Station- | OB//
NL
OB log.n
nNL
C
OB
NL
O.m | NP-hard (2.5.12.2, 2.5.19) | NP-hard | | | independent | (2.5.13), | | (2.5.12.2,2.5.19) | | | penalties | OQ//
NL
OQ log.n
nNL
C
OQ
NL
O.m | | | | | | (2.5.15), | | | | | | NP-hard (2.5.12.2) | | | | Equal | No | OB//,
N
OB log.n
nN
C
OB
N
O.m | NP-hard (2.5.12.2,2.5.19) | NP-hard | | | restrictions | Q//,
N
log.n
Q
nN
C
Q
N
O.m | | (2.5.12.2,2.5.19) | | | | (2.5.13) | | | | | | NP-hard (2.5.12.2) | | | | No | No | OB//,
N
OB log.n
nN
C
OB
N
O.m | OB//,
N
OB log.n
nN
C
OB
N
O.m | OB//,
N
OB log.n
nN
C
OB
N
O.m | |--------------|--------------|-----------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------| | restrictions | penalties | C //
N
log.n
C
nN
C
C
N
O.m | OC //
N
nN OC log.n
C
OC
N
O.m | OC //
N
nN OC log.n
C
OC
N
O.m | | | | (2.5.7), | (2.5.26), | (2.5.26), | | | | NP-hard (2.5.12.1) | NP-hard (2.5.12.1) | NP-hard (2.5.12.1) | | No | Equal | OB//,
N
OB log.n
nN
C
OB
N
O.m | NP-hard | NP-hard | | restrictions | penalties | C //
N
log.n
C
nN
C
C
N
O.m | (2.5.12.1,2.5.19) | (2.5.12.1,2.5.19) | | | | (2.5.7), | | | | | | NP-hard (2.5.12.1) | | | | No | Station- | OB//,
N
OB log.n
nN
C
OB
N
O.m | NP-hard | NP-hard | | restrictions | independent | C //
N
log.n
C
nN
C
C
N
O.m | (2.5.12.1,2.5.12.2,2.5.19) | (2.5.12.1,2.5.12.2,2.5.19) | | | penalties | (2.5.7), | | | | | | NP-hard | | | | | | (2.5.12.1,2.5.12.2), | | | | No | No | OB//,
N
OB log.n
nN
C
OB
N
O.m | Strongly NP-hard | Strongly NP-hard | | restrictions | restrictions | C //
N
log.n
C
nN
C
C
N
O.m | (2.5.18) | (2.5.18) | | | | (2.5.7), | | | | | | NP-hard | | | | | | (2.5.12.1,2.5.12.2) | | | 60 2 Line Planning ## **Corollary 2.5.27.** *Let* I D .NL;*L*; *OD*;B/ *be an instance of uLPwR* - *with linear PTN,* - *with equal line driving time functions, and* - *without transfer penalties.* I *can be solved in time* O.mNL C nNL log.nNL //*.* *Proof.* Without loss of generality, we can assume that ca D 0 for all a 2 Adrive because of Lemma [2.2.6.](#page-35-0) Due to Lemma [2.5.23,](#page-63-0) there exists an optimal solution .*L*; *R*/ to I with *R* being nested. Thus, we can apply Lemma [2.5.24](#page-64-0) and solve the instance I 2, constructed as described there, instead. Since the line driving time functions are equal for I 2 and there are no transfer penalties, I 2 can be solved in the line network. Hence, we can directly regard I as an instance in terms of the line network NL and transfer it to an instance of I 2 in the corresponding line network N2 L. According to Corollary [2.5.17,](#page-58-0) I 2 can be solved in time O.mN2 L C nN2 L log.nN2 L //; hence, the statement of the lemma follows. ut The results of Sect. [2.5](#page-44-0) for uLPwR in linear PTNs with NLT or OD-NLT property are summarized in Table [2.1](#page-67-0) where ``` • C WD maxf1;P a2A cag, ``` - CO WD max n 1;P l2*L* PniD1. P jD1;:::;mW.*u*;*v*j /2*OD*W*u*j *PT N* qsiC1<*PT N v*j *wu*j *v*j / c.Œsi ;l;ŒsiC1;l/o , - BO WD minfB;P a2A bag, - Q WD maxf1;P l2*L* maxl02*L* maxs2S.l/ pl0 l s g, - QO WD maxf1;P l2*L* maxl02*L* pl0 l g, and - W WD P s2S P fli ;lj g;li ;lj 2*L*.s/ P .*u*;*v*j /2*OD*;s<*PT N v*j *wuv*j . Note that the request of the NLT or OD-NLT property is only an additional restriction for the cases with non-equal line driving time functions as shown in Lemma [2.5.11](#page-56-0) and that for instances where all OD-pairs have the same origin the NLT property implies the OD-NLT property. #### **2.6 Capacitated Line Planning with Routing** In this section we analyze the complexity of capacitated line planning with integrated routing and present integer programming formulations for scLPwR and cLPwR. #### *2.6.1 Complexity of Capacitated Line Planning with Routing* uLPwR can be regarded as a special case of scLPwR and cLPwR where the capacity is set to Cap WD P .*u*;*v*/2*OD wuv*. Thus, the hardness results from Sect. [2.5](#page-44-0) generalize to scLPwR and cLPwR. However, the capacity restrictions add extra complexity to the line planning problem: a while uLPwR with only one OD-pair can be modeled as a RCSP problem (Theorem [2.5.6\)](#page-49-0) and solved in pseudopolynomial time (Theorem [2.5.7\)](#page-50-0) if the NLT property holds, scLPwR and cLPwR are strongly NP-hard even under these restrictions. Analogously to Definition [2.5.3,](#page-47-0) we define the NLT property for instances of scLPwR or cLPwR. **Definition 2.6.1.** An instance .N;*L*; *OD*; B;Cap/ of scLPwR or cLPwR has the *NLT property* if there exists an optimal solution .*L*0 ; *R*/ to I such that for every P 2 *R* the following holds: If i; k 2 Adrive \ P and l.i / D l.k/, then l.j / D l.i / for all j 2 Adrive \ P for which i P j P k. **Theorem 2.6.2.** *It is strongly NP-complete to decide whether there exists a feasible solution to scLPwR or cLPwR, even if* - *we consider only instances with the NLT property,* - *there is only one OD-pair,* - *the driving time function of all lines is equal, and* - *there are no transfer penalties.* This can be proven by reduction from the strongly NP-complete problem *Steiner Tree* [GJ79] as done in [Sch12]. An instance .G; V 0 ;K/ of Steiner Tree consists of an undirected graph G D .V ; Q E/Q , a set of *terminal nodes* V 0 - VQ , and a number K. The question is whether there is a subtree T - G with at most K edges which contain all terminals V 0 . Such a tree is called *Steiner Tree*. *Proof.* Given an instance .G; V 0 ;K/ of Steiner Tree with terminals V 0 WD ft0; t1;:::;tkg, we construct an instance I of cLPwR (or scLPwR, respectively) in the form required by the theorem as follows: • We have a public transportation network *PT N* D .S; E/ consisting of k copies of G and some extra stations and edges that are specified later. For a node x 2 VQ we denote by xj the corresponding node in the j th copy of G, analogously ej is the j th copy of edge e 2 EQ. For every edge fx; yg 2 EQ we define an arbitrary order .x; y/ of x and y and add extra edges fy1; x2g; fy2; x3g;:::; fyk-1; xkg to E. We choose an arbitrary terminal node t0 2 V 0 and connect all of its copies to a new station *u*. Then we connect the kth copies of all other terminals t k 1 ;:::;t k k by edges, inserting one other station in the middle of each edge, i.e., we add stations i1; i2;:::;ik and edges ft k 1 ; i1g; fi1; t k 2 g; ft k 2 ; i2g; fi2; t k 3 g;:::; fik-1; t k k g; ft k k ; ikg to G. We connect t j to t k j by an edge for all j D 1; : : : ; k 1. We add one more station *v* and edges .ij ; *v*/ for all j D 1; : : : ; k to G to obtain *PT N* . All edges e have length Le WD 0. 62 2 Line Planning - The line pool *L* now consists of - a line l0 WD .t k 1 ; i1; t k 2 ; i2;:::;t k k ; ik/ with bl0 WD K C k, - lines l *u* WD .*u*; t j 0 / with line cost bl *u* WD 0 for j D 1; : : : ; k, - lines l *v* WD .ij ; *v*/ with line costs bl *v* WD 1 for j D 1; : : : ; k, - bi-directional lines le WD .x1; y1; x2; y2;:::;xk; yk; xk; yk-1;:::;x1/ for every edge fx; yg 2 E with order .x; y/, i.e., the line runs along all copies of e in both directions, with line cost ble WD 1 for all e 2 E, and - lines l t covering ft j ; t k j g with line costs bl DW 0 for j D 1; : : : ; k. All lines l are assumed to have equal line driving time functions, e.g., ˛l.x/ WD x for all x 2 RC 0 . We set the budget to B WD 2.K C k/. Note that every edge in the PTN is covered by exactly one line, thus any path in the PTN uniquely defines the used line-route. - The transfer penalties are 0 for all transfers. - Our OD-pair is .*u*; *v*/ with *wuv* WD k. - The capacity of each train is Cap WD 1. An example for this construction is given in Fig. [2.9.](#page-72-0) The considered instance of Steiner Tree with six nodes and four terminals t0 WD 6, t1 WD 1, t2 WD 2, t3 WD 4 that are marked in gray is depicted in Fig. [2.9a](#page-72-0). Figure [2.9b](#page-72-0) shows the constructed instance of cLPwR. For the sake of simplicity, the edges fyi ; xiC1g connecting the copies of the graph are omitted. The parts of the bi-directional lines lxy contained in the copies of the graph are marked by thick gray lines. The line l0 is drawn in light gray. All other lines are depicted as black lines. Note that in this setting the travel time on every line-route for .*u*; *v*/ is 0; hence, every line-route is a shortest one. We conclude that in this instance every solution to cLPwR is a solution to scLPwR and vice versa. Therefore, in the following we continue our argumentation considering I as an instance of cLPwR. However, the result follows equivalently for an instance of scLPwR. We show that there is a solution to the instance .G; V 0 ;K/ of Steiner Tree if and only if there is a solution to the constructed instance I of cLPwR. 1. Suppose T is a solution to the considered instance of Steiner Tree with edge set E0 . We consider the line concept $$\mathcal{L}(E') := \{l_u^j : j = 1, \dots, k\} \cup \{l_e : e \in E'\} \cup \{l_0\}$$ $$\cup \{l_t^j : j = 1, \dots, k - 1\} \cup \{l_v^j : j = 1, \dots, k\}$$ and set the frequency to fl WD 1 for every l 2 *L*. This line concept has costs $$\sum_{l \in \mathcal{L}(E')} b_l = \sum_{j=1}^k b_{l_u^j} + \sum_{e \in E'} b_{l_e} + b_{l_0} + \sum_{j=1}^k b_{l_t^j} + \sum_{j=1}^k b_{l_v^j} = 0 + K + (K+k) + 0 + k$$ $$= 2(K+k)$$ ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_72_Figure_2.jpeg) **Fig. 2.9** Example for the instance constructed in the proof of Theorem [2.6.2](#page-70-0) (**a**) Instance of Steiner Tree (**b**) Constructed PTN and thus fulfills the budget restriction. Let Pj be the (uniquely determined) path from t0 to tj in T and Pj j its j th copy in *PT N* . Then for passenger pj of ODpair .*u*; *v*/ we define $$P_{uv}^{j} := \begin{cases} (u, t_0^{j}) \cup P_j^{j} \cup (t_j^{j}, t_j^{k}) \cup (t_j^{k}, i_j, v) \text{ for } j = 1, \dots, k - 1, \\ (u, t_0^{k}) \cup P_k^{k} \cup (t_j^{k}, i_k, v) & \text{for } j = k, \end{cases}$$ where [ is meant as composition of node sequences. Then .*L*.E0 /; *Ruv*/ with *Ruv* WD fPj *uv* W j D 1; : : : ; kg and *w*Pj *uv* D 1 for j D 1; : : : ; k is a feasible solution to the constructed instance of cLPwR. 64 2 Line Planning 2. Now suppose that .*L*0 ; *R*/ is a feasible solution to the considered instance of cLPwR. Line l0 is contained in *L*0 because else there would be no path covered by *L*0 from *u* to *v* in *PT N* . We also note that due to the budget constraint, the frequency of l0 is fl0 D 1. This forces every passenger pj to enter l0 at a different terminal (without loss of generality this terminal is t k j ) and leave it at ij to go directly to *v* from there. Thus, l *v* 2 *L*0 for all j D 1; : : : ; k and without loss of generality we can assume that fl *v* D 1. We conclude that for every j the line concept *L*0 allows a path P*u*k j from *u* to t k j for every j D 1; : : : ; k. Due to the construction of the lines le, we can transfer such a path P*u*k j to a path Pj from t0 to tj in G, transferring the sequence of lines of type le used in P*u*k j to a sequence of edges e in G. Thus, defining $$\tilde{E}'(\mathcal{L}') := \{ e \in E : l_e \in \mathcal{L}' \}$$ we obtain an edge set connecting t0 to all other terminals. Because of the budget constraint, the cost for establishing the lines le cannot exceed B .K Ck/k D K, and as the line costs are 1 for these lines, we conclude jEQ0 .*L*0 /j K. The graph GQ 0 with edge set jEQ0 j is connected, contains all terminals, and jEQ0 j K. Thus, GQ 0 contains a Steiner tree T with jT j K. Note that due to the construction of the Steiner tree it follows that if there exists a feasible solution to the constructed instance of cLPwR, there is also a feasible solution such that every passenger j does not enter the ith copy of G for i ¤ j and thus no line is entered more than once by a passenger. Since the travel time for all solutions is equal, this implies the NLT property for the constructed instance. ut #### *2.6.2 Integer Programming Formulations* Due to the high complexity of line planning with routing in general and scLPwR and cLPwR in particular, we develop integer programming formulations for these problems. When modeling passenger flows in integer linear programming, there are mainly two approaches: the first one is to introduce a variable *z*Pk for every *path* Pk from *u* org k to *v*dest k in the CGN and every OD-pair .*u*; *v*/ 2 *OD* (see e.g. [PB06, BGP07, BGP08]). As there can be an exponential number of paths, this can lead to an exponential number of variables which is often addressed by column generation. The second approach is to use an *arc-based* formulation where variables qk a indicate the number of passengers of OD-pair .*u*k; *v*k/ on arc a 2 A. Routings for the OD-pairs are then found using multi-commodity flow conditions. We use the second approach to model the considered capacitated line planning problems. #### **2.6.2.1 Integer Programming Formulation for Simple Capacitated Line Planning with Routing** In this section we present a slight modification of an integer programming formulation for scLPwR developed in [Sch05, SS06] leaving out the upper bounds on frequencies used there. In addition to the model there, we allow lines going only to one direction and different line driving time functions. The set of variables consists of integer variables $$f_l := \text{frequency of line } l \quad \forall l \in \mathcal{L},$$ where fl WD 0 for all l … *L*0 , and xk a WD number of passengers of OD-pair .*u*k; *v*k/ using arc a 8.*u*k; *v*k/ 2 *OD*;8a 2 N: The IP formulation for solving scLPwR then reads $$\min \sum_{(u_k, v_k) \in \mathcal{OD}} \sum_{a \in A} c_a x_a^k, \tag{2.7}$$ s.t. $$\sum_{a \in \delta^{-}(u_k^{\text{org}})} x_a^k = w_k \qquad \forall (u_k, v_k) \in \mathcal{OD}, \quad (2.8)$$ $$\sum_{a \in \delta^{+}(v)} x_a^k - \sum_{a \in \delta^{-}(v)} x_a^k = 0 \quad \forall (u_k, v_k) \in \mathcal{OD}, \ v \in V \setminus \{u_k^{\text{org}}, v_k^{\text{dest}}\}, \quad (2.9)$$ $$\sum_{a \in \delta^+(v_k^{\text{dest}})} x_a^k = w_k \qquad \qquad \forall (u_k, v_k) \in \mathcal{OD}, \quad (2.10)$$ $$\frac{1}{\operatorname{Cap}} \sum_{(u_k, v_k) \in \mathcal{OD}} x_a^k \le f_{l(a)} \qquad \forall a \in A_{\operatorname{drive}}, \quad (2.11)$$ $$\sum_{l \in \mathcal{L}} f_l b_l \le B,\tag{2.12}$$ $$x_a^k, f_l \in \mathbb{N}$$ $\forall (u_k, v_k) \in \mathcal{OD}, \ a \in A, \ l \in \mathcal{L}.$ (2.13) Constraints (2.8)–(2.10) are flow constraints. They ensure that each passenger of an OD-pair .*u*k; *v*k/ travels along a path from *u* org k to *v*dest k in the CGN. Constraints (2.11) make sure that the constructed routing is feasible. The budget constraint is enforced in (2.12). For each OD-pair .*u*k; *v*k/ the term P a2A caxk a denotes the travel time. Thus, the objective (2.7) is the minimization over the overall travel time of the OD-pairs. **Lemma 2.6.3.** *The solution* .*L*0 ; *R*/ *defined by an optimal solution* .x; f / *of the IP (2.7)–(2.13) is an optimal solution to scLPwR.* 66 2 Line Planning Note that since uLPwR is a special case of scLPwR with unlimited capacity it can also be solved using formulation [\(2.7\)](#page-74-0)–[\(2.13\)](#page-74-0), setting Cap P .*u*k ;*v*k /2*OD w*k. In this case, without loss of generality, the frequency variables fl can be assumed to take only the values fl D 1 if line l is established and fl D 0 otherwise. #### **2.6.2.2 Integer Programming Formulation for Capacitated Line Planning with Routing** We modify the approach of Sect. [2.6.2.1](#page-74-0) to calculate an optimal solution to cLPwR. To this end, we introduce additional constraints that find shortest paths in the network and ensure that only these paths are taken by the passengers. In this section we assume that cij 2 N for all arcs .i; j / of the considered CGN. For a network N D .V; E/ and an OD-pair .*u*k; *v*k/, let V .k/ be the set of nodes i in V for which there exists a directed path from *u* org k to i and from i to *v*dest k in N. Let N.k/ D .V .k/; A.k// denote the network induced by V .k/. The idea of our approach is based on the following optimality conditions for shortest paths (see, e.g., [AMO93]), formulated in terms of a node potential d. **Definition 2.6.4.** Let N D .V; A/ be a directed network. A *node potential* is a function d W V ! R. **Theorem 2.6.5.** *Let* N D .V; A/ *be a directed network and u* 2 N*. For* j N *u let* d*u*.j / *denote the length of some directed path from u to* j *. The numbers* d*u*.j / *represent shortest path distances if and only if they satisfy* $$d^u(j) - d^u(i) \le c_{ij}.$$ It follows directly that if .i; j / 2 A lies on a shortest path from *u* to j , it holds that $$d^{u}(j) - d^{u}(i) + c_{ij} = 0. (2.14)$$ In our approach, in addition to the variables $$f_l := \text{frequency of line } l \quad \forall l \in \mathcal{L},$$ where fl WD 0 for all l … *L*0 , and xk a WD number of passengers of OD-pair .*u*k; *v*k/ using arc a 8.*u*k; *v*k/ 2 *OD*;8a 2 A.k/ also used in [\(2.7\)](#page-74-0)–[\(2.13\)](#page-74-0), we introduce variables rk i for .*u*k; *v*k/ 2 *OD* and i 2 V .k/ which take the role of backwards-directed node potentials: whenever there exists a directed path from i to *v*k dest in the routing network, rk i indicates the shortest path distance from i to *v*k dest in the routing network. rk yl ;*z* k rk Mij *z* Furthermore, we introduce variables *z*k ij for every .*u*k; *v*k/ 2 *OD* and .i; j / 2 A.k/ that are forced to take the value 1 if .i; j / lies on a shortest path from i to *v*dest k in the routing network. Since we are only interested in paths consisting of arcs from the routing network, we introduce additional binary variables $$y_l := \begin{cases} 1 \text{ if line } l \text{ is established} \\ 0 \text{ otherwise.} \end{cases} \forall l \in \mathcal{L}.$$ Then our problem can be represented using the following integer program: $$\min \sum_{(a_k, v_k) \in \text{OD}} \sum_{\alpha \in A(k)} c_\alpha x_\alpha^k, \tag{2.15}$$ s.t. $$\sum_{a \in S^{-1}(k_k^{org}) \cap A(k)} x_a^k = w_k \qquad \forall (u_k, v_k) \in \mathcal{OD}, \qquad (2.16)$$ $$\sum_{a \in \delta^{+}(v) \cap A(k)} x_{a}^{k} - \sum_{a \in \delta^{-}(v) \cap A(k)} x_{a}^{k} = 0 \qquad \forall (u_{k}, v_{k}) \in \mathcal{OD}, v \in V \setminus \{u_{k}^{\text{org}}, v_{k}^{\text{dest}}\}, \tag{2.17}$$ $$\sum_{\alpha \in \mathcal{S}^+ (v_k^{\text{dest}}) \cap A(k)} x_k^k = w_k \qquad \forall (u_k, v_k) \in \mathcal{OD}, \quad (2.18)$$ $$\frac{1}{\operatorname{Cap}} \sum_{(a_k, v_k) \in \mathcal{OD}} x_a^k \le f_{l(a)}$$ $$\forall a \in A_{\operatorname{drive}} \cap A(k), \qquad (2.19)$$ $$\sum_{I \in \mathcal{L}} f_I b_I \le B,\tag{2.20}$$ $$y_l \le f_l$$ $\forall l \in \mathcal{L},$ (2.21) $$M_1 \cdot y_l \ge f_l$$ $\forall l \in \mathcal{L},$ (2.22) $$z_a^k \le y_{l(a)}$$ $\forall a \in A_{\text{drive}} \cap A(k), (u_k, v_k) \in \mathcal{OD},$ (2.23) $$r_j^k + c_{ij} - r_i^k + z_{ij}^k + M_2^{ij} (1 - y_{l(i,j)}) \ge 1$$ $\forall (u_k, v_k) \in OD, (i, j) \in A(k),$ (2.24) $$r_j^k + c_{ij} - r_i^k - M_2^{ij} \cdot (1 - z_{ij}^k) \le 0$$ $\forall (u_k, v_k) \in \text{OD}, (i, j) \in A(k),$ (2.25) $$r_{\nu_k^{\text{dest}}}^k = 0$$ $\forall (u_k, \nu_k) \in \text{OD}, \qquad (2.26)$ $$x_a^k \le z_a^k \cdot w_k \qquad \qquad \forall (u_k, v_k) \in \text{OD}, \ a \in A(k), \tag{2.27}$$ $$y_{l}, z_{u}^{k} \in \{0, 1\} \qquad \qquad \forall (u_{k}, v_{k}) \in \text{OD}, \ a \in A_{\text{drive}} \cap A(k), \ l \in \mathcal{L}, \tag{2.28}$$ $$r_{l}^{k} \in \mathbb{N} \qquad \qquad \forall (u_{k}, v_{k}) \in \text{OD}, \ i \in E, \tag{2.29}$$ $$f_l, x_a^k \in \mathbb{N}$$ $\forall (u_k, v_k) \in \text{OD}, \ a \in A(k), \ l \in \mathcal{L}.$ (2.30) Here, the objective function (2.15) and the constraints (2.16)–(2.20) and (2.30) remain unchanged compared to the model described in Sect. [2.6.2.1,](#page-74-0) while constraints (2.21)–(2.29) are introduced to force the solution to contain only lines where enough capacity can be provided for all passengers that would choose this line because of shortest path considerations. 68 2 Line Planning Before we prove the correctness of the formulation we shortly describe the meaning of the additional constraints and of the numbers M appearing in these constraints. The variable yl is meant to indicate whether a line is established or not, and thus closely linked to the frequency variable fl . If we choose M1 big enough, we ensure in constraints [\(2.21\)](#page-76-0) and [\(2.22\)](#page-76-0) that yl D 1 if line fl is established, and yl D 0 otherwise. Constraints [\(2.23\)](#page-76-0) force us to choose only arcs for the shortest path calculations that belong to established lines. Constraints [\(2.24\)](#page-76-0) and [\(2.25\)](#page-76-0) are introduced to calculate shortest paths in the routing network which is defined implicitly by the chosen y. Note that if rk j and rk i denote shortest path distances from i to *v*dest k or from j to *v*dest k , respectively, rk j C cij rk i measures the difference between the shortest direct path from i to *v*dest k and the shortest path from i to *v*dest k that contains arc .i; j /. The addition and subtraction of the constant Mij 2 avoids conflicts for arcs which are not contained in the routing network or which are not lying on shortest paths if Mij 2 is big enough. Constraints [\(2.26\)](#page-76-0) set the distance from a destination node to itself to be 0 and hence initialize the implicit distance calculations. Inequalities [\(2.27\)](#page-76-0) act a linking constraints of the passenger flow assignment and the shortest path calculations allowing only arcs on shortest paths as candidates for the passenger flows. As the correctness of the IP formulation [\(2.15\)](#page-76-0)–[\(2.30\)](#page-76-0) might not be obvious, we prove it formally in Lemmas 2.6.6 and [2.6.7.](#page-79-0) **Lemma 2.6.6.** *Let* I D .N;*L*; *OD*; B;Cap/ *with* N D .V; A/ *be an instance of cLPwR and* M1 2 N0 *and* Mij 2 2 N0 *for all* .i; j / 2 S .*u*k ;*v*k /2*OD* A.k/*. Every feasible solution* .x; f; y;*z*;r/ *to the constraints [\(2.16\)](#page-76-0)–[\(2.30\)](#page-76-0) of the corresponding IP defines a feasible solution* .*L*0 ; *R*/ *to* I *with* $$c(\mathcal{L}', \mathcal{R}) = \sum_{(u_k, v_k) \in \text{OD } a \in A} \sum_{a \in A} c_a x_a^k.$$ *Proof.* Let .x; f; y;*z*;r/ be a feasible solution to the constraints [\(2.16\)](#page-76-0)–[\(2.30\)](#page-76-0). We define *L*0 WD fl 2 *L* W yl D 1g and denote by *R* the routing defined by x. Due to constraint [\(2.20\)](#page-76-0), *L*0 is a feasible line concept. Because of constraints [\(2.16\)](#page-76-0)–[\(2.18\)](#page-76-0), *R* is a routing and constraints [\(2.19\)](#page-76-0) ensure that *R* is feasible for *L*0 It remains to show that *R* is a shortest-path routing in N.*L*0 /. To this end, we analyze the constraints [\(2.23\)](#page-76-0)–[\(2.26\)](#page-76-0) for every .*u*k; *v*k/ 2 *OD*. - Due to constraints [\(2.16\)](#page-76-0)–[\(2.18\)](#page-76-0) for every .*u*k; *v*k/ 2 *OD*, there is at least one path PQ k from *u* org k to *v*dest k with xk a D 1 for all a 2 PQ k. - Constraints [\(2.27\)](#page-76-0) imply that for an arc a *z*a D 1 whenever xk a D 1. Therefore, and due to [\(2.23\)](#page-76-0), every path contained in the routing *R* defined by x is entirely contained in N.*L*0 /. - Consider an OD-pair .*u*k; *v*k/ and an arc .i; j / 2 A.k/. If *z*k ij D 1 it follows from [\(2.23\)](#page-76-0) that yl.i;j / D 1 and constraints [\(2.24\)](#page-76-0) and [\(2.25\)](#page-76-0) read $$r_j^k + c_{ij} - r_i^k + 1 \ge 1$$ and $r_j^k + c_{ij} - r_i^k \le 0$ . Consequently $$r_j^k + c_{ij} - r_i^k = 0. (2.31)$$ On the other hand, if yl.i;j / D 1 and *z*k ij D 0 constraint [\(2.24\)](#page-76-0) implies $$r_j^k + c_{ij} - r_i^k \ge 1. (2.32)$$ • Let i0 be a node and Pk i0 be a path from i0 to *v*dest k with *z*k ij D 1 for all .i; j / 2 Pk i0 . Using (2.31) and rk *v*dest D 0 we obtain $$r_{i'}^{k} = \sum_{(i,j)\in P_{i'}^{k}} c_{ij}.$$ (2.33) - It follows directly that every other path P from i0 to *v*dest k in N.*L*0 / with *z*k ij D 1 for all .i; j / 2 P must also satisfy rk i0 D P .i;j /2P P cij ; hence, it also has length .i;j /2Pk i0 cij . - Now suppose that Pk i0 - N.*L*0 / is not a shortest path in N.*L*0 /, i.e., there exists a path P - N.*L*0 / from i0 to *v*dest k with P a2P ca < P a2Pk i0 ca. Then, due to (2.31) and (2.32), we have rk j C cij rk i 0 for all .i; j / 2 P. Analogously to (2.33), we obtain the contradiction $$r_{i'}^k \le \sum_{(i,j)\in P^*} c_{ij} < \sum_{(i,j)\in P_{i'}^k} c_{ij} = r_{i'}^k.$$ Hence, there can be no path P that is shorter than Pk from i0 to *v*dest k in N.*L*0 /. Thus, in particular, every path P from *u* org k to *v*dest k with *z*k a D 1 for all a 2 P is the /. shortest one in N.*L*0 Hence, every feasible solution .x; f; y;*z*;r/ to the constraints [\(2.16\)](#page-76-0)–[\(2.30\)](#page-76-0) defines a feasible solution .*L*0 ; *R*/ to cLPwR. Furthermore, $$c(\mathcal{L}', \mathcal{R}) = \sum_{(u_k, v_k) \in \mathcal{OD}} \sum_{P \in \mathcal{R}_k} \sum_{a \in P} w_k^P c_a$$ $$= \sum_{(u_k, v_k) \in \mathcal{OD}} \sum_{a \in P} c_a \sum_{P \in \mathcal{R}_k : a \in P} w_k^P$$ $$= \sum_{(u_k, v_k) \in \mathcal{OD}} \sum_{a \in A(k)} c_a x_a^k. \tag{2.34}$$ 70 2 Line Planning **Lemma 2.6.7.** *Let* I D .N;*L*; *OD*; B;Cap/ *with* N D .V; A/ *be an instance of cLPwR and let* $$M_1 \ge \frac{1}{\operatorname{Cap}} \left( \sum_{(u_k, v_k) \in \mathcal{OD}} w_k \right)$$ *and for every* .i; j / 2 S .*u*k ;*v*k /2*OD* A.k/ $$M_2^{ij} \ge \left(\sum_{a \in A} c_a\right) + c_{ij} + 1.$$ *Then a solution* .*L*0 ; *R*/ *defined by an optimal solution* .x; f; y; r;*z*/ *to the IP [\(2.15\)](#page-76-0)– [\(2.30\)](#page-76-0) is an optimal solution to* I *and* $$c(\mathcal{L}', \mathcal{R}) = \sum_{(u_k, v_k) \in \text{OD } a \in A(k)} c_a x_a^k.$$ *Proof.* We first show that every solution .*L*0 ; *R*/ to cLPwR can be transformed to a solution .x; f; y;*z*;r/ that fulfills constraints [\(2.16\)](#page-76-0)–[\(2.30\)](#page-76-0). Given *L*0 and *R* we define for all .*u*k; *v*k/ 2 *OD*, a 2 A.k/, and l 2 *L* xk a WD number of passengers of OD-pair .*u*k; *v*k/ using arc a in routing *R*; $$f_l := \max_{a:l(a)=l} \left[ \frac{1}{\operatorname{Cap}} \sum_{(u_k, v_k) \in \mathcal{OD}} x_a^k \right],$$ $$y_l := \begin{cases} 1 \text{ if } f_l > 0\\ 0 \text{ if } f_l = 0. \end{cases}$$ For every .*u*k; *v*k/ 2 *OD* and every i in V .k/, we set rk i to the shortest path distance of i to *v*dest k in N.*L*0 / or to M WD P a2A ca C 1 if no such shortest path exists. We furthermore set *z*k ij WD 1 if .i; j / lies on a shortest path from i to *v*dest k in N.*L*0 / and *z*k ij WD 0 otherwise. Since *L*0 is a feasible line concept, constraints [\(2.20\)](#page-76-0) are fulfilled. Since *R* is a feasible routing for *L*0 constraints [\(2.16\)](#page-76-0)–[\(2.19\)](#page-76-0) and [\(2.23\)](#page-76-0) are fulfilled. Constraints [\(2.21\)](#page-76-0) and [\(2.22\)](#page-76-0) follow directly from the definitions of f , y, and xk. Constraints [\(2.26\)](#page-76-0) are trivially satisfied due to the definition of rk *v*dest k . Also constraints [\(2.27\)](#page-76-0) are satisfied because x was defined by a routing on shortest paths in N.*L*0 /. It only remains to check constraints [\(2.24\)](#page-76-0) and [\(2.25\)](#page-76-0). - 1. First suppose that .i; j / 2 N.*L*0 / and that .i; j / is contained in a shortest path from i to *v*dest k in N.*L*0 /. Hence, yl.i;j / D 1, *z*k ij D 1, and rk i D rk j C cij . Thus, in this case constraints [\(2.24\)](#page-76-0) and [\(2.25\)](#page-76-0) are satisfied. - 2. If .i; j / 2 N.*L*0 / and .i; j / are contained in a path from i to *v*dest k in N.*L*0 /, but not in a shortest one, according to the above definition, we have yl.i;j / D 1, *z*k ij D 0 and rk j C cij rk i 1 due to the integer arc lengths. Thus $$\begin{split} r_j^k + c_{ij} - r_i^k + z_{ij}^k + M_2^{ij} (1 - y_{l(i,j)}) &= r_j^k + c_{ij} - r_i^k \ge 1 \\ \text{and } r_j^k + c_{ij} - r_i^k - (1 - z_{ij}^k) M_2^{ij} &\leq r_j^k - r_i^k - \sum_{a \in \mathcal{A}} c_a \le 0. \end{split}$$ 3. If .i; j / 2 N.*L*0 /, but there is no path from j to *v*dest k in N.*L*0 /, we have yl.i;j / D 1, *z*k ij D 0, and rk j D P a2A ca C 1. Hence, since rk i P a2A ca, $$r_j^k + c_{ij} - r_i^k + z_{ij}^k + M_2^{ij}(1 - y_{l(i,j)}) = \sum_{a \in A} c_a + 1 + c_{ij} - r_i^k \ge 1$$ and $$r_j^k + c_{ij} - r_i^k - (1 - z_{ij}^k) M_2^{ij} = -r_i^k \le 0.$$ 4. If .i; j / … N.*L*0 / we have rk i ; rk j P a2A ca C 1 and yl.i;j / D 0, and due to constraint [\(2.23\)](#page-76-0) it follows that *z*k ij D 0. Hence, $$r_j^k + c_{ij} - r_i^k + z_{ij}^k + M_2^{ij} (1 - y_{l(i,j)}) \ge \sum_{a \in A} c_a + 1 + c_{ij} - r_i^k \ge 1$$ and $$r_j^k + c_{ij} - r_i^k - (1 - z_{ij}^k)M_2^{ij} \le r_j^k + c_{ij} - \left(\sum_{a \in A} c_a + c_{ij} + 1\right) \le 0.$$ Hence, constraints [\(2.24\)](#page-76-0) and [\(2.25\)](#page-76-0) are satisfied. Furthermore, we see analogously to [\(2.34\)](#page-78-0) that $$\sum_{(u_k,v_k)\in \text{OD}} \sum_{a\in A} c_a x_a^k = c(\mathcal{L}',\mathcal{R}).$$ In combination with Lemma [2.6.6,](#page-77-0) this yields the statement of the lemma. ut ## **Chapter 3 Timetabling** #### **3.1 Introduction to Timetabling** #### *3.1.1 Timetabling Problems* Given a public transportation system and a line concept with frequencies, the next step in public transportation planning is to establish a timetable, i.e., to fix the exact points in time when the trains should arrive and depart at the stations. This decision process is known under the name of *timetabling* or *train scheduling*. #### **Periodicity** The timetabling literature distinguishes between *periodic* and *aperiodic timetabling*. In *periodic timetabling* it is assumed that the timetable repeats after a (relatively short) time period, e.g., 1 h. For the sake of simplicity in modeling, some periodic timetabling models assume that every train is run once per time period [NV96, CR11, HPB13]. Periodic timetabling models where lines have different frequencies are also possible but require more modeling effort [Odi98]. See also [Lin00,CFT02,Pee03,Lie05,LM07b] for models used in periodic timetabling. In *aperiodic timetabling* (see, e.g., [WYFL08, FM09, FSZ09, SK09, CCT10, SS10b, SS12b]) in contrast, arrival and departure times are fixed independently for each train of a line. In this book, we consider aperiodic timetabling. For this reason we state definitions and concepts for the timetabling problem with respect to the aperiodic timetabling problem. Many notions can easily be transferred to periodic timetabling, some require more modeling effort. 74 3 Timetabling #### **Timetables** A *timetable* specifies the points in time at which trains arrive and depart at stations. For timetabling purposes, lower bounds on driving times are derived from the track lengths and the train speed as the minimal driving time needed. While some models assume that trains drive at full speed and hence always achieve these driving times (see, e.g., [NV96, Pee03, HPB13]), in most models it is allowed to slow down a train up to an upper bound on the driving time. This upper bound is interpreted as a constraint imposed to secure passengers' acceptance of the public transportation system. Some models (e.g., [LLMS09]), however, do not impose any upper bound on the driving time between stations. Also for waiting times, lower and upper bounds are given. Again, the latter can be interpreted as an acceptance bound, while the former represents a physical bound on the time needed for passengers to board and alight the train. In the timetabling problem considered in this book, it is furthermore specified between which trains and at which stations it should be possible to transfer from one train to another train, and lower and upper bounds on changing times are given. The time difference between a driving, waiting, or changing time and the corresponding lower bound on its length is called *slack time*. A timetable is called *feasible*, if it respects capacity restrictions and the upper and lower bounds on driving, waiting, and changing times. #### **Capacity Restrictions** When planning train schedules, capacity restrictions have to be taken into account: two trains cannot be on the same track or on the same platform at the same time: safety margins between two consecutive trains have to be respected. Some timetabling models like the ones presented in [NO08, SK09, SS10b, SS12b] do not consider capacity restrictions. Also in this book, we will study the integration of passenger routing in timetabling without capacity constraints. In other models, precedence relations between trains which use the same track or part of a track are treated as input to the timetabling problem (see, e.g., [Odi98]). In most cases, however, they are considered an important part of the timetabling process. While some papers consider infrastructural capacity constraints on a macroscopic level [CFT02, CCT10, CR11], there also exist very detailed models of the railway infrastructure; see, e.g., [BLNN98, KP03, Pee03,BK10]. Since precedence decisions tend to make timetabling problems hard, the incorporation of these restrictions is often studied on railway corridors, i.e., a linear PTN with single or dual tracks [BLNN98, CFT02, BK10, HPB13]. Models which consider capacity restrictions on general PTNs can be found, e.g., in [KP03,LM07b]. For more details on reasonable constraints in train timetabling and how to integrate them in the periodic event scheduling framework for periodic timetabling, see [LM07b]. #### **Demand** In the presence of capacity restrictions or periodicity constraints, finding a timetable which respects all constraints is a difficult problem itself. Hence, in some timetabling approaches, passengers are not considered at all [Odi96, Odi98, Lin00,Pee03,LZ05]. To simplify the timetabling problem, almost all models in the literature which take into account the passengers' demand assume that *passenger loads* for each train are given as an input to the problem. That is, it is assumed that the number of passengers who travel in a train between each pair of stations and transfer at each station is known. These numbers can, e.g., be estimated by using a trafficassignment procedure before starting the construction of the timetable and then summing up passenger loads. However, in practice, passengers' travel routes depend on the chosen timetable. Hence, similar to the line planning problem, some models assume that demand is given as *OD-pairs* and passenger routing is integrated in the timetabling procedure [Nac98,Kin08,Lüb09,SS10b,SS12b,SG13]. Cordone and Redaelli [CR11] model *variable demand* by a discrete-choice model where the quality of the timetable influences a passenger's choice to travel by train or to use an alternative means of transport. They assume that every passenger is assigned a path in the PTN and a sequence of trains and that he/she can take either this path or an alternative means of transportation; hence in contrast to the above-mentioned models, passenger routing is not incorporated in this model. #### **Objectives** Since it is already a hard problem to generate a *feasible* periodic timetable, some approaches in periodic timetabling do not formulate an objective at all but concentrate on finding feasible timetables (see, e.g., [Odi96,Odi98,Lin00,LZ05]). A few cost-oriented models in timetabling aim at the minimization of *costs* related to rolling stock [Lin00, Pee03, LZ05]. Passengers are neglected in these approaches. Another direction of research is to try to exploit the *infrastructural capacity* as much as possible. To this end, Heydar et al. [HPB13] minimize the length of the period after which the schedule repeats as a primary and the stopping times of the trains at intermediate stations as a secondary objective. Burdett and Kozan [BK10] use a make-span objective to achieve a high utilization of tracks. In [BLNN98, CFT02, FSZ09, CCT10], the distance to an ideal timetable is minimized. Most timetabling models, however, aim at generating timetables which provide a high quality for the passengers. Objectives are to minimize the passengers' *travel time* [Pee03, Lie06, LPW08, LLMS09, SK09, SS10b, SS12b, SG13], *slack time* [Nac98,NO08], or *waiting time* during the transfers [DV95,WYFL08]. 76 3 Timetabling Cordone and Redaelli [CR11] assume that passengers choose an alternative means of transport if the quality of the timetable is not high enough and maximize the total *demand captured*. Another objective that is receiving increasing attention in the literature is the *robustness* of timetables against disturbances and delays; see, e.g., [ORv06, CDDC07,KMHC08,FSZ09,FM09,SK09,LLMS09,LSSC10,GS10,Sch10]. ### *3.1.2 Literature Overview* Section [3.1.1](#page-81-0) gives an overview on different objectives and constraints in timetabling. We complete this overview by a short sketch of different network models, hardness results, and solution techniques used to solve timetabling problems. For more comprehensive surveys on timetabling and train scheduling, see [CTV98,Lie06,LLER11,CT12] and references therein or the survey papers on optimization in public transportation cited in Sect. [1.2.](#page-13-0) #### **Timetabling Models** In some timetabling models, the times for departures and arrivals are chosen explicitly. For example, in [DV95], the problem to minimize waiting times in transfer nodes is modeled using one binary variable for every possible departure time in a node. In [CFT02, CCT10], the timetable is given as a set of paths in a graph where the nodes specify arrivals or departures of trains at a given time instant. However, timetabling problems are mostly modeled using *event-activity networks (EANs)* (also called *constraint graphs* or *disjunctive graphs*), where arrivals and departures are represented as nodes in the network and the timetable is understood as an assignment of times to the nodes (see Sect. [3.2](#page-90-0) for the definition of an EAN). Aperiodic versions of these networks can be found in [BLNN98, SK09, SS10b,SS12b]. EANs in periodic timetabling rely on the *periodic event scheduling (PESP)* framework developed by [SU89] and are used for periodic timetabling by, e.g., [Odi96,Nac98,Lin00,Pee03,Lie06,CR11]. When using the EAN as a modeling framework, constraints ensuring feasibility of the timetable (both in the aperiodic and in the periodic case) can be modeled easily by introducing variables for the scheduled times at the events [Lin00, Pee03, Lie06, CDDC07, LPW08, FM09, SK09], for the activity lengths [Lie06,LPW08,Lüb09,SG13], or for the slack times [Nac98,SK09]. When passenger routes are not fixed before the optimization step, but only demand in form of OD-pairs is given, this demand can be included in the EAN by adding additional origin and destination events and activities and routing constraints (see, e.g., [Nac98,Lüb09,SS12b]). #### **Routing** To simplify the timetabling problem almost all models in the literature which take into account the passengers' demand assume that passengers' routes are fixed before the optimization steps. However, there are some exceptions. In [Nac98], Nachtigall remarks that passenger routes depend on the choice of the timetable and dedicates one chapter to a periodic timetabling model with integrated passenger routing. In this model, passenger routes are modeled as flows in the EAN. In order to include the passenger flows in the considered periodic timetabling model, flow constraints are added, resulting in a non-convex problem. A decomposition in two linear programs for an aperiodic version with fixed arrival and departure events is given. Furthermore Nachtigall shortly discusses special cases, in particular the case of fixed modulo parameters and fixed departure and arrival events that he proves to be solvable in polynomial time determining passenger flows and slack independently by linear programming. In [Kin08], a heuristic solution iterating timetabling and routing step is proposed, shown to produce non-increasing objective values, and tested on real-world data. Also in [Lüb09, SG13], the passenger routing is included in the timetabling step by adding variables for passenger flows on arcs which at first leads to a nonlinear formulation, because the total travel time in this case is given as the sum over the product of variable arc length and variable passenger numbers. However, both authors succeed to linearize their formulations by introducing new variables combining both values. In [Kas10], a heuristic that generates feasible line concepts and timetables simultaneously is used, and the output solution is compared by routing the passengers according to shortest paths and adding up the travel times. In [SS10b, SS12b], the model for aperiodic timetabling with routing (TTwR) considered in this book is investigated. #### **Computational Complexity** In [Roc84] Rockafellar discusses the problem of finding a feasible aperiodic timetable under the name of *feasible differential problem (FDP)*. He shows that the problem can be solved in polynomial time. Furthermore, it is known that the constraints ensuring feasibility of the timetable for the aperiodic timetabling problem (or the FDP) can be modeled as a polyhedron using a totally unimodular matrix. Thus, for any linear objective function which does not require additional constraints, aperiodic timetabling can be solved by linear programming (see, e.g., [NO08]). Schmidt and Schöbel [SS10b, SS12b] investigate the computational complexity of aperiodic TTwR: the results are presented in Sects. [3.4](#page-96-0) and [3.5](#page-105-0) of this book. 78 3 Timetabling It is strongly NP-complete to find feasible periodic timetables in the PESP framework as shown in [SU89] by reduction from Hamiltonian circuit. Odijk [Odi98] proved by reduction from graph-coloring that this result holds even for a fixed length of the time period. In [Lie05], Liebchen derives (in-)approximability results for the problem of satisfying as many PESP constraints as possible. In [CFT02], Caprara et al. show that there is no polynomial-time approximation algorithm for the problem of scheduling trains on a single line such that capacity constraints are fulfilled and the distance to an ideal timetable is minimized, unless P D NP. #### **IP Formulations and Solution Approaches** If no capacity restrictions on tracks or platforms are considered, the problem of finding an aperiodic timetabling can be modeled as an FDP and solved by the *Feasible Differential Algorithm* given in [Roc84]. Furthermore, it is well known (see, e.g., [NO08]) that in case of no capacity constraints and fixed passenger loads on the EAN, a timetable minimizing passengers' travel time can be found in polynomial time by linear programming. The corresponding linear program is given in Sect. [3.3.](#page-93-0) In contrast to aperiodic timetabling with fixed passenger loads, TTwR is NP-hard and can hence not be solved by linear programming. Two different integer programming formulations are given and compared in [SS12b,Anh12]. Solution approaches for aperiodic timetabling under capacity restrictions include Lagrangian relaxation [BLNN98,CFT02], column generation and separation techniques [CCT10], optimization-based heuristics [CFT02, WYFL08], and metaheuristics [HKF97, BK10]. Different integer programs are listed and compared in [CCT10]. A broader overview about models and solution approaches in aperiodic timetabling is given in [CT12]. Solution techniques for periodic timetabling are in most cases based on the PESP model and the paper [SU89]. To generate feasible periodic timetables, mostly constraint-generation and cutting-plane techniques are used [Odi96,Lin00]. Many integer programming formulations for periodic timetabling [Nac98,Lin00, Pee03, KP03, LZ05] are based on cycle-bases as investigated in Nachtigall's cycle periodicity formulation [Nac98]. A powerful method for solving periodic timetabling is the modulo simplex approach developed by Nachtigall and Opitz [NO08] which was extended in [GS11,GS13]. For the case that passenger loads are not fixed, iterative approaches which solve traffic assignment and timetabling problems, iteratively, are proposed in [Lüb09,CR11,Anh12,SG13]. See [LPW08,CT12, SG13] for comparisons of different solution approaches in periodic timetabling. #### *3.1.3 The Timetabling Problem Considered in This Book* In this book, we consider an aperiodic timetabling problem with integrated passenger routing which does not take into account capacity restrictions. We now describe the problem in more detail and give some definitions used in the later parts of this chapter. #### **Timetables** Since in aperiodic timetabling, arrival and departure times are fixed independently for each train of a line, from now on we consider a set of trains TR WD ftrl i W l 2 *L*; i D 1; : : : ; fl g. We denote by l.trl i/ WD l the line that a train trl i belongs to. We denote the arrival of a train tr at a station s with .trsArr/ and its departure from this station with .tr d Dep/. **Definition 3.1.1.** Given a public transportation network *PT N* D .S; E/ and a set of trains TR, an (aperiodic) *timetable* is a schedule which for every train tr 2 TR belonging to line l.tr/ D .s1; s2;:::;sj / defines a *departure time* .trsi-Dep/ 2 Z for stations si with i D 1; : : : ; j 1 and an *arrival time* .trsi-Arr/ 2 Z for stations si with i D 2;:::; j . In this book, we assume that the arrival and departure times are integers which can be interpreted as the time difference to a fixed point in time in minutes. We say that a departure or an arrival is *scheduled* at a certain time t to express that the timetable assigns t to that event. For a train of line l D .s1; s2;:::;sj / 2 L, the *driving time* from si to siC1 is given as .trsiC1-Arr/ .trsi-Dep/ for i D 1; : : : ; j 1, and the *waiting time* at station si is given as .trsi-Dep/ .trsi-Arr/ for i D 2;:::; j 1. To specify between which trains and at which stations it should be possible to transfer from one train to another train, we define a set of *planned connections C* which consists of triples .tr1; tr2; s/ of trains tr1; tr2, and a station s. For every .tr1; tr2; s/ 2 *C*, the *changing time* is defined as .tr2s-Dep/ .tr1s-Arr/. As described in Sect. [3.1.1,](#page-81-0) we are given upper and lower bounds on driving, waiting, and changing times. Since we do not require periodicity nor consider capacity restrictions, we call a timetable feasible if it respects the upper and lower bounds: Given a PTN, a set of trains, and a set of planned connections, together with upper and lower bounds on driving, waiting, and changing times, a timetable is *feasible*, if • For the driving times, it holds that $$\pi_{(\operatorname{tr}-s'-\operatorname{Arr})} - \pi_{(\operatorname{tr}-s-\operatorname{Dep})} \in [l_{(\operatorname{tr}-s-\operatorname{Dep},\operatorname{tr}-s'-\operatorname{Arr})}, u_{(\operatorname{tr}-s-\operatorname{Dep},\operatorname{tr}-s'-\operatorname{Arr})}]$$ for all tr 2 TR and .s; s0 / 2 l.tr/, 80 3 Timetabling • For the waiting times it holds that $$\pi_{(\operatorname{tr}-s-\operatorname{Dep})} - \pi_{(\operatorname{tr}-s-\operatorname{Arr})} \in [l_{(\operatorname{tr}-s-\operatorname{Arr},\operatorname{tr}-s-\operatorname{Dep})},u_{(\operatorname{tr}-s-\operatorname{Arr},\operatorname{tr}-s-\operatorname{Dep})}]$$ for all tr 2 TR and s 2 l.tr/, • For the changing times, it holds that $$\pi_{(\operatorname{tr}'-s-\operatorname{Dep})} - \pi_{(\operatorname{tr}-s-\operatorname{Arr})} \in [l_{(\operatorname{tr}-s-\operatorname{Arr},\operatorname{tr}'-s-\operatorname{Dep})}, u_{(\operatorname{tr}-s-\operatorname{Arr},\operatorname{tr}'-s-\operatorname{Dep})}]$$ for all .tr; tr0 ; s/ 2 *C*. #### **Passenger Routes and Travel Time** Like in line planning, our objective in timetabling is to minimize the overall travel time of the passengers. Again, the demand for traveling is given as a set of *OD-pairs OD* - S S where for every OD-pair .*u*; *v*/ 2 *OD*, the *number of passengers* or *passenger weight wuv* is specified. A passenger's journey can be described in the following way. ## **Definition 3.1.2.** A *train-route* P*uv* for an OD-pair .*u*; *v*/ 2 *OD* specifies - A path P D .s1; s2;:::;sj / with s1 WD *u* and sj WD *v* in *PT N* , and - The trains tr.si ; Dep/ which are used to depart at stations si for i D 1; : : : ; j 1 and the trains tr.si ; Arr/ which are used to arrive at stations si for i D 2;:::; j . Thereby, - tr.si ; Dep/ D tr.siC1; Arr/ must hold for all fsi ; siC1g 2 P, and - At every station si , tr.si ; Dep/ D tr.si ; Arr/ or .tr.si ; Arr/; tr.si ; Dep/; si/ 2 *C*. P is called the *path corresponding to* P*uv in the PTN*. When the set of OD-pairs is indexed, e.g., *OD* D f.*u*k; *v*k/ W k 2 Kg for an index set K, for the sake of simplicity, we also use the notation *w*k WD *wu*k *v*k and Pk WD P*u*k *v*k . Let P*uv* be a train-route and P D .s1;:::;sj / be the corresponding path in the PTN. For a given timetable , the *travel time* along P*uv* is given as the sum over all driving, waiting, and changing times associated to P*uv*: $$c(\pi, P_{uv}) := \sum_{\{s_i, s_{i+1}\} \in P} (\pi_{(tr(s_{i+1}, Arr) - s_{i+1} - Arr)} - \pi_{(tr(s_i, Dep) - s_i - Dep)})$$ $$+ \sum_{s_i \in P} (\pi_{(tr(s_i, Dep) - s_i - Dep)} - \pi_{(tr(s_i, Arr) - s_i - Arr)}). \tag{3.1}$$ In (3.1), the terms for all stations si for i D 2;:::; j 1 cancel out. As a result, instead of summing up the lengths of all driving, waiting, and changing times of the paths, we can obtain the travel time on a path by just subtracting the departure time at the origin from the arrival time at the destination. **Lemma 3.1.3.** *Let* P*uv be a train-route and* P D .s1;:::;sj / *be the path in the PTN associated to* P*uv. Then, for a given timetable ,* $$c(\pi, P_{uv}) = \pi_{(\operatorname{tr}(s_j, \operatorname{Arr}) - s_j - \operatorname{Arr})} - \pi_{(\operatorname{tr}(s_1, \operatorname{Dep}) - s_1 - \operatorname{Dep})}.$$ A *train-routing R* is a set which contains exactly one train-route P*uv* for every ODpair .*u*; *v*/ 2 *OD*, i.e., *R* WD fP*uv* W .*u*; *v*/ 2 *OD*g. Given a timetable and a train-routing *R* D fP*uv* W .*u*; *v*/ 2 *OD*g, the overall *travel time* is defined as $$c(\pi,\mathcal{R}) := \sum_{(u,v)\in\mathcal{OD}} w_{uv}c(\pi,P_{uv}).$$ #### **Timetabling with Routing** Most traditional approaches in timetabling assume that passenger routes are given in the input, e.g., that they can be predicted before the timetable optimization step by traffic assignment procedures. Then, the goal of timetabling is to calculate a timetable which minimizes the sum of travel times over these given train-routes. This approach has the advantage that in aperiodic timetabling, the determination of optimal (with regard to the predefined passenger routes) timetables can be implemented very efficiently as we see in Sect. [3.3.](#page-93-0) However, the design of the timetable has a strong influence on travel times on the passenger routes in the transportation system. Hence it is not possible to predict which path is best for a passenger before knowing the timetable. For this reason, also in the timetabling problem, we integrate the routing step and the timetabling step. **Definition 3.1.4.** An instance .*PT N* ; TR; *C*; l; *u*; *OD*/ of timetabling with routing (TTwR) consists of a public transportation network *PT N* D .S; E/; a set of trains TR with specified lines in the PTN; a set of planned connections *C*; upper and lower bounds *u*; l on the driving, waiting, and changing times; and a set of OD-pairs *OD*. The task is to find a feasible timetable and a train-routing *R* which minimize the overall travel time c.; *R*/. TTwR was introduced in [SS10b]. In Sect. [3.2](#page-90-0) we define the EAN which allows us to visualize timetables and routings much better. Similarly to the proceeding in Chap. [2,](#page-18-0) we restate the definitions given in this section there in terms of the EAN. #### *3.1.4 Outline of the Timetabling Chapter* To model TTwR, in Sect. [3.2](#page-90-0) we extend the EAN, often used for timetabling problems, by adding *origin* and *destination events* which model the passengers' origins and destinations. In Sect. [3.3](#page-93-0) we summarize shortly how TTwR can be solved 82 3 Timetabling in polynomial time when either the routing or the timetable is fixed. Contrasting this result, in Sect. [3.4.1](#page-96-0) we show strong NP-hardness of TTwR using a reduction from Set Cover which also allows us to transfer inapproximability results from the Set Cover problem to TTwR in Sect. [3.4.2.](#page-100-0) Furthermore, we show that we can easily find a solution to TTwR whose approximation ratio is bounded in terms of the lower and upper bounds on the activities. In Sect. [3.5](#page-105-0) we define the problem *timetabling with routing between events (TTwRE)*. Although this problem looks quite similar to TTwR, it turns out to be solvable in polynomial time. We shortly discuss how this result can be used to solve TTwR. Based on a model for aperiodic timetabling with fixed routing, in Sect. [3.7](#page-109-0) we propose two integer programming formulations for TTwR. The first formulation is based on multi-commodity flow constraints to model the passenger routes. The second integer programming formulation uses a different approach, exploiting the insights of Sect. [3.5.](#page-105-0) #### **3.2 Modeling Timetabling with Routing Using Event-Activity Networks** To determine the arrival and departure times for all vehicles at all stations, the information coded in the change-and-go network, which is used to model line planning problems in Chap. [2,](#page-18-0) is not enough. Instead we use a modified event-activity network (EAN). EANs are widely used in the literature for timetabling problems; see, e.g., [Nac98,Lie06]. To include passengers' origins and destinations in the standard EAN model for timetabling, *origin* and *destination events* which model the passengers' origins and destinations can be added (see, e.g., [Nac98,Lüb09,SS10b,SS12b]). Given a public transportation network *PT N* , a set of trains TR, a set of planned connections *C*, and a set of OD-pairs *OD*, we construct an EAN as explained in the following. The nodes of the network are called *events*. They mainly represent the arrivals and departures of the trains at stations. ### **Definition 3.2.1.** Let S be the node set of *PT N* . We define - The set of *departure events E*dep WD f.tr s Dep/ W tr 2 TR; s 2 l.tr/g and - The set of *arrival events E*arr WD f.tr s Arr/ W tr 2 TR; s 2 l.tr/g. The set of *operational events* is *E*op WD *E*dep [ *E*arr. We add nodes to the network which represent the passengers' origins and destinations. #### **Definition 3.2.2.** We define - The set of *origin events* as *E*org WD Vorg D f*u*org D org.*u*; *v*/ W .*u*; *v*/ 2 *OD*g, and - The set of *destination events* as *E*dest WD Vdest D f*v*dest D dest.*u*; *v*/ W .*u*; *v*/ 2 *OD*g. The arcs of the EAN are called *activities* since they represent physical activities of the trains, i.e., driving between stations and waiting at stations to let passengers get on and off or, in case of the changing activities, the movement of passengers from one train to another. #### **Definition 3.2.3.** We define • The set of *driving activities A*drive -*E*dep *E*arr as $$\mathcal{A}_{\text{drive}} := \{ (\operatorname{tr} - s - \operatorname{Dep}, \operatorname{tr} - s' - \operatorname{Arr}) : \operatorname{tr} \in \operatorname{TR}, (s, s') \in l(\operatorname{tr}) \},$$ • The set of *waiting activities A*wait -*E*arr *E*dep as $$\mathcal{A}_{\text{wait}} := \{ (\text{tr} - s - \text{Arr}, \text{tr} - s - \text{Dep}) : \text{tr} \in \text{TR}, s \in l(\text{tr}) \},$$ • The set of *changing activities A*change -*E*arr *E*dep as $$\mathcal{A}_{\text{change}} := \{ (\text{tr} - s - \text{Arr}, \text{tr}' - s - \text{Dep}) : (\text{tr}, \text{tr}', s) \in \mathcal{C} \}.$$ We denote by *A*op WD *A*drive [ *A*wait [ *A*change the set of *operational activities*. The origin events are connected by means of *origin activities* to all departure events at the corresponding station; analogously, the destination events are connected by *destination activities* to corresponding arrival events. #### **Definition 3.2.4.** We define • The set of *origin activities A*org -*E*org *E*dep as $$\mathcal{A}_{\text{org}} := \{ (u^{\text{org}}, \text{tr} - u - \text{Dep}) : u^{\text{org}} \in \mathcal{E}_{\text{org}}, (\text{tr} - u - \text{Dep}) \in \mathcal{E}_{\text{dep}} \},$$ • And the set of *destination activities A*dest -*E*arr *E*dest as $$\mathcal{A}_{dest} := \{ (tr - v - Arr, v^{dest}) : v^{dest} \in \mathcal{E}_{dest}, (tr - v - Arr) \in \mathcal{E}_{arr} \}.$$ The EAN is defined as *N* WD .*E*; *A*/ with $$\mathcal{E} := \mathcal{E}_{op} \cup \mathcal{E}_{org} \cup \mathcal{E}_{dest} \ \ and \ \ \mathcal{A} := \mathcal{A}_{op} \cup \mathcal{A}_{org} \cup \mathcal{A}_{dest}.$$ For e 2 *E*dep [ *E*arr; a 2 *A*drive [ *A*wait, let tr.e/ or tr.a/ denote the train that e or a, respectively, belongs to. Since there are no fixed edge lengths, the EAN is not a network in the sense of Definition [1.3.3,](#page-15-0) but an directed graph. However, we use the term "EAN" or "eventactivity network," since this is the common term in the literature. We call *N*op WD .*E*op; *A*op/ the *operational event-activity network/EAN*. In timetabling problems where a fixed routing or fixed weights on the activities are part of the input, origin and destination events and activities are not needed, and the operational EAN is used and simply referred to as "EAN" (see, e.g.,[Odi96,Nac98,Lin00,Pee03,Lie06]). 84 3 Timetabling ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_92_Figure_1.jpeg) **Fig. 3.1** Cutout of an EAN. (**a**) A station with two passing trains and changing possibilities between the trains. (**b**) Additional origin and destination events Figure 3.1 shows a cutout of an EAN. A station which is visited by two trains is shown. The trains drive into the station, arrive there, wait for passengers to get on and off, and then depart again and drive to the next station. In the station, changing between both trains is possible which is represented by the dashed lines. Note that changing activities always take place between the arrival of a train at a station and the departure of another train at the same station. In Fig. 3.1a, only the operational network is shown. In Fig. 3.1b, origin and destination nodes and arcs for OD-pair .s3; s4/ are added. It is easy to see that given an instance .*PT N* ; TR; *C*; l; *u*; *OD*/ of TTwR, the corresponding EAN is of size O.jSjjTRjCj*C*j/. The time needed for its construction is of the same order. We can now understand a timetable as an assignment W *E*op ! Z of points in time to the nodes in the network. The driving, waiting, and changing times can be understood as the arc lengths Lij WD j i for .i; j / 2 *A*op resulting from the timetable. We call the network *N* with arc lengths $$L_{ij} := \begin{cases} \pi_j - \pi_i & \text{if } (i, j) \in \mathcal{A}_{op}, \\ 0 & \text{otherwise.} \end{cases}$$ *routing network N* ./. The *slack time* for an activity .i; j / 2 *A*op can now be calculated as sij WD Lij lij where lij denotes the lower bound on .i; j /. By induction, the following lemma can be shown. **Lemma 3.2.5.** *Let* P *be a path in N from* i0 *to* j 0 *. Then* $$\pi_{j'} = \pi_{i'} + \sum_{(i,j)\in P} (l_{ij} + s_{ij}).$$ Given the time bounds on the driving, waiting, and changing times, expressed in terms of the EAN, a timetable is *feasible* if $$L_{ij} = \pi_j - \pi_i \in [l_{ij}, u_{ij}] \quad \forall (i, j) \in \mathcal{A}_{op}.$$ (3.2) Let an instance .*PT N* ; TR; *C*; l; *u*; *OD*/ of TTwR be given, and let *N* D .*E*; *A*/ be the corresponding EAN. For an OD-pair .*u*k; *v*k/ 2 *OD*, every possible trainroute is represented by a path Pk D .*u* org k ; i k 1 ;:::;i k nk ; *v*dest k / from *u* org k to *v*dest k in *N* and vice versa. Given a timetable , we can calculate the *travel time* (or *length*) of Pk as the time difference between departure at the origin and arrival at the destination, i.e., $$c(\pi, P_k) = \pi_{i_{n_k}^k} - \pi_{i_1^k} \tag{3.3}$$ according to Lemma [3.1.3.](#page-89-0) We now transfer the definition of a train-routing to the EAN: A *routing* in the EAN is a collection *R* WD fPk W .*u*k; *v*k/ 2 *OD*g with Pk being a path from *u* org k to *v*dest k in the EAN. Then, as defined in [\(3.1\)](#page-88-0), given a timetable and a routing *R*, the overall *travel time* is calculated as $$c(\pi, \mathcal{R}) = \sum_{P_k \in \mathcal{R}} w_{uv} c(\pi, P_k). \tag{3.4}$$ We now give an alternative definition of TTwR which is equivalent to Definition [3.1.4.](#page-89-0) We use this definition to simplify notation in the algorithms, integer programming approaches, and hardness proofs in the following sections. **Definition 3.2.6.** An instance .*N* ; l; *u*; *OD*/ of TTwR consists of an EAN *N* D .*E*; *A*/; upper and lower bounds *u*; l on the lengths of the operational activities; and a set of OD-pairs *OD*. The task is to find a feasible timetable and a routing *R* that minimize the overall travel time c.; *R*/. #### **3.3 Solving Timetabling When Part of the Solution Is Fixed** In contrast to the hardness result for uLPwR in Theorem [2.5.1,](#page-45-0) for an EAN with upper and lower bounds, a feasible timetable can be found in polynomial time using, e.g., the *Feasible Differential Algorithm* given in [Roc84]. 86 3 Timetabling Furthermore, it is well known (see, e.g., [NO08]) that for a fixed routing *R*, an optimal timetable .*R*/ can be found in polynomial time. Since we use this result in Sect. [3.5,](#page-105-0) we shortly sketch it here. **Definition 3.3.1.** An instance .*N* ; l; *u*; *R*/ of the *simplified timetabling problem (sTT)* consists of an EAN *N* D .*E*; *A*/, upper and lower bounds *u*; l on the lengths of the operational activities, and a routing *R* (with passenger weights *w*k for every Pk 2 *R*). The task is to find a feasible timetable WD .*R*/ such that $$c(\pi, \mathcal{R}) \le c(\pi', \mathcal{R})$$ for all feasible timetables 0 on *N* . **Lemma 3.3.2.** *Given an EAN N* D .*E*; *A*/*, a routing R, and a timetable , we define* activity weights *w*a WD P Pk2*R* P Pk3a *wu*k *v*k *. Then the overall* travel time *can be calculated as* $$c(\pi, \mathcal{R}) = \sum_{(i,j)\in\mathcal{A}_{op}} w_{ij}(\pi_j - \pi_i).$$ *Proof.* For every Pk 2 *R*, let i k denote the first departure event on path Pk and j k the last arrival event. Then we have $$c(\pi, \mathcal{R}) = \sum_{P_k \in \mathcal{R}} w_k c(\pi, P_k)$$ $$= \sum_{P_k \in \mathcal{R}} w_k (\pi_{j^k} - \pi_{i^k})$$ $$= \sum_{P_k \in \mathcal{R}} \left( w_k \sum_{(i,j) \in P_k} (\pi_j - \pi_i) \right)$$ $$= \sum_{P_k \in \mathcal{R}} \left( \sum_{(i,j) \in P_k} w_k (\pi_j - \pi_i) \right)$$ $$= \sum_{(i,j) \in \mathcal{A}_{op}} \left( \sum_{P_k \in \mathcal{R}: P_k \ni (i,j)} w_k (\pi_j - \pi_i) \right)$$ $$= \sum_{(i,j) \in \mathcal{A}_{op}} \left( (\pi_j - \pi_i) \sum_{P_k \in \mathcal{R}: P_k \ni (i,j)} w_k \right)$$ $$= \sum_{(i,j) \in \mathcal{A}_{op}} w_{ij} (\pi_j - \pi_i).$$ Note that in most traditional timetabling models, the travel demand is even directly given in the form of activity weights *w*a for a 2 *A*op instead of providing a routing (or a set of OD-pairs) (see, e.g., [Nac98,Lie06]). Due to Lemma [3.3.2,](#page-94-0) we can now formulate sTT as an integer program, using the variables $$\pi_i := \text{scheduled time at event } i \quad \forall \ i \in \mathcal{E}_{op}.$$ The IP reads $$\min \sum_{(i,j)\in\mathcal{A}_{op}} w_{ij}(\pi_j - \pi_i), \tag{3.5}$$ s.t. $$\pi_j - \pi_i \le u_a$$ $\forall (i, j) \in \mathcal{A}_{op},$ (3.6) $$\pi_j - \pi_i \ge l_a$$ $\forall (i, j) \in \mathcal{A}_{op},$ (3.7) $$\pi_i \in \mathbb{Z}$$ $\forall i \in \mathcal{E}_{op},$ (3.8) where (3.5) is the objective function from Lemma [3.3.2](#page-94-0) and (3.6) and (3.7) are the feasibility constraints for the timetable. The constraint matrix of (3.5)–(3.8) is the transposed of a node–arc incidence matrix and thus totally unimodular. Thus, when solving the LP-relaxation of problem (3.5)–(3.8) for integer bounds, the resulting timetable is also integer: **Lemma 3.3.3.** *sTT can be solved in polynomial time by linear programming.* **Definition 3.3.4.** Let I D .*N* ; l; *u*; *OD*/ be an instance of TTwR and let *R* be a routing. • The set of *timetables corresponding to R* is defined as $$OPT(\mathcal{R}) := \{\pi(\mathcal{R}) : \text{ is an optimal solution to the instance } I = (\mathcal{N}, l, u, \mathcal{R}) \text{ of sTT} \}.$$ • The set of *solutions corresponding to R* is f..*R*/; *R*/ W .*R*/ 2 OPT.*R*/g. Due to the definition of problem sTT, we have the following corollary. **Corollary 3.3.5.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR and let R be a routing. For every* .*R*/ 2 *OPT*.*R*/*, it holds that* $$c(\pi(\mathcal{R}), \pi) \le c(\pi', \mathcal{R})$$ *for all feasible timetables* 0 *in N .* On the other hand, for a *given timetable* , it is even easier to calculate a corresponding routing *R*. 88 3 Timetabling **Definition 3.3.6.** Let I D .*N* ; l; *u*; OD/ be an instance of TTwR and let be a timetable in *N* . For every OD-pair .*u*k; *v*k/, let *P*k./ D *Pu*k *v*k ./ denote the set of shortest paths from *u* org k to *v*dest k in the network *N* ./. • The set of *routings corresponding to* is defined as $$OPT(\pi) := \{ \mathcal{R}(\pi) : \mathcal{R}(\pi) = \{ P_1(\pi), \dots, P_{|\mathcal{OD}|}(\pi) \} \text{ with } P_k(\pi) \in \mathcal{P}_k(\pi), k = 1, \dots, |\mathcal{OD}| \}.$$ • The set of *solutions corresponding to* is defined as f.; *R*.// W *R*./ 2 OPT./g. Since *R*./ is defined as a shortest-path routing, Lemma 3.3.7 follows directly. **Lemma 3.3.7.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR and let be a timetable in N . For every R*./ 2 *OPT*./*, it holds that* $$c(\pi, \mathcal{R}(\pi)) \le c(\pi, \mathcal{R}')$$ *for all routings* R0 *for OD.* Let I D .*N* ; l; *u*; *OD*/ be an instance of TTwR. In the following we sometimes describe a solution to I stating only - a timetable , referring to a corresponding full solution .; *R*.// for any *R*./ 2 OPT./, or - a routing *R*, referring to a corresponding full solution ..*R*/; *R*/ for any .*R*/ 2 OPT.*R*/. #### **3.4 Complexity of Timetabling with Routing** ### *3.4.1 NP-Hardness of Timetabling with Routing* In this section we present a proof from [SS12b] which shows that, in contrast to the polynomial solvability of sTT, TTwR is strongly NP-hard. **Theorem 3.4.1.** *TTwR is strongly NP-hard, even if* - *all OD-pairs have the same origin, and* - *the changing time is the same for all connections.* Theorem 3.4.1 is shown by reduction from the problem *Set Cover*. An instance .P; Q; K/ of the decision problem *Set Cover* (called *Minimum Cover* in [GJ79]) consists of a set P D fp1;:::;pmg, a set of subsets Q D fq1;:::;qng with qj - P, and a natural number K. The question to decide is whether there is a subset Q0 - Q with jQ0 j K such that for every pi 2 P, there is at least one qj 2 Q0 such that pi is contained in qj . The decision problem Set Cover is strongly NP-complete [GJ79]. ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_97_Figure_2.jpeg) **Fig. 3.2** The gadget gj representing a set qj in the reduction from Set Cover to TTwR in the proof of Theorem [3.4.1](#page-96-0) *Proof.* Let .P; Q; K/ be an instance of Set Cover with P D fp1;:::;pmg and Q D fq1;:::;qng. Without loss of generality we assume that K n. Based on P and Q we construct an instance of TTwR in the following way: We represent the elements pi 2 P by OD-pairs .*u*; *v*i/ with passenger numbers *wuv*i WD n C 1 where n denotes the number of sets in Q. The sets qj 2 Q are represented by a gadget consisting of three trains .trj /1, .trj /2, and .trj /3, six stations s1; sj 2 ; sj 3 ; sj 4 ; sj 5 , and s 6 (where s1 is the same station for all OD-pairs); and an OD-pair .*u*; *v*j / with *u* WD s1 and *v*j WD s j 5 and *wuv*j WD 1, in the way depicted in Fig. 3.2. The square nodes are the departure and arrival events where the train names are omitted in the node labels for the sake of a compact representation. The origin and destination events are represented by ovals. The dotted lines are the origin and destination activities, the solid lines represent driving and waiting activities, changing activities are represented by dashed lines. The gray line indicates where it is possible to leave this gadget. For every pi 2 qj , we introduce a train trj i running from s 3 to a station *v*i and connect ..trj /2 s 3 Arr/ to a departure event .trj i s 3 Dep/ by a changing activity with upper and lower bound *u*..trj /2s 3 -Arr/;.trj i s 3 -Dep/ WD 0 and l ..trj /2s 3 -Arr/;.trj s 3 -Dep/ WD 0. .trj i s j 3 Dep/ is connected to the arrival event of train trj i in *v*i by a driving activity a with upper and lower bound la WD 0, *u*a WD 0. See Fig. [3.3](#page-98-0) (in combination with Fig. 3.2) for an example of the construction for an instance of Set Cover with P D f1; 2; 3; 4g and Q D ff2; 3; 4g; f1; 4g; f2; 3gg. The square nodes are the departure and arrival events. The origin and destination events are represented by ovals. The dotted lines are the origin and destination activities, the solid lines represent driving and waiting activities, changing activities are represented by dashed lines. The nodes gj represent the gadgets from Fig. 3.2. Summarizing, our instance I of TTwR is defined by the following input, which defines an EAN N with upper and lower bounds l; *u* and a set of OD-pairs *OD*: 90 3 Timetabling ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_98_Figure_1.jpeg) **Fig. 3.3** Example for the construction of the EAN in the proof of Theorem [3.4.1](#page-96-0) - a set of stations S D fs1g[fs 2 ; sj 3 ; sj 4 ; sj 5 W j D 1; : : : ; ng[f*v*i W i D 1; : : : ; mg, - a set of trains TR D f.trj /1; .trj /2; .trj /3 W j D 1; : : : ; ng[ftrj i W pi 2 qj g with l..trj /1/ D .sj 2 ; sj 5 /, l..trj /2/ D .s1; sj 2 ; sj 3 ; sj 4 ; sj 5 /, l..trj /3/ D .s1; sj 4 / and l.trj i / D .sj 3 ; *v*i/. - connections $$C = \{((\mathbf{tr}^{j})^{2}, (\mathbf{tr}^{j})^{1}, s_{2}^{j}), ((\mathbf{tr}^{j})^{1}, (\mathbf{tr}^{j})^{2}, s_{5}^{j}), ((\mathbf{tr}^{j})^{3}, (\mathbf{tr}^{j})^{2}, s_{4}^{j}) : j = 1, \dots, n\}$$ $$\cup \{((\mathbf{tr}^{j})^{2}, \mathbf{tr}_{i}^{j}, s_{3}^{j}) : p_{i} \in q^{j}\}$$ • a lower bound l ..trj /1s 2 -Dep;.trj /1s 5 -Arr/ D 1 on driving activities ..trj /1 s j 2 Dep; .trj /1 s 5 Arr/ for j D 1; : : : ; n and lower bounds la WD 0 on all other activities. The upper bounds are *u*a D 1 for $$a \in \{((\mathbf{tr}^{j})^{1} - s_{2}^{j} - \text{Dep}, (\mathbf{tr}^{j})^{1} - s_{5}^{j} - \text{Arr}),$$ $$((\mathbf{tr}^{j})^{2} - s_{2}^{j} - \text{Dep}, (\mathbf{tr}^{j})^{2} - s_{3}^{j} - \text{Arr}),$$ $$((\mathbf{tr}^{j})^{2} - s_{4}^{j} - \text{Dep}, (\mathbf{tr}^{j})^{2} - s_{5}^{j} - \text{Arr}) : j = 1, \dots, n\}$$ and *u*a WD 0 otherwise. • the set of OD-pairs is *OD* D f.*u*; *v*j / W j D 1; : : : ; ng[f.*u*; *v*i/ W i D 1; : : : ; mg with *u* WD s1 and *v*j WD s 5 . The weights are *wuv*j D 1 and *wuv*i D n C 1. We show that there is a solution .; *R*/ to the constructed instance I with c.; *R*/ K, if and only if there is a subset Q0 solving the Set Cover problem. 1. As a first step we show that given a solution .; *R*/ to I with c.; *R*/ K, we can construct a solution Q.; *R*/ to .P; Q/ with jQ.; *R*/j c.; *R*/ K: Let .; R/ be a solution to I with c.; *R*/ K. Since *wuv*i D n C 1, this implies that c.; Pi/ D 0, for the path Pi defined in *R* for .*u*; *v*i/, since otherwise, $$c(\pi, \mathcal{R}) \geq w_{uv_i}c(\pi, P_i) \geq n+1 > K.$$ Having a look at the possible paths in the EAN N constructed for our instance I (see Figs. [3.2](#page-97-0) and [3.3\)](#page-98-0), we conclude that for every i there is at least one j such that ..trj /2s 3 -Arr/ ..trj /2s 2 -Dep/ D 0 and such that there exists a train trj i . With $$Q(\pi, \mathcal{R}) := \{ q^j : \pi_{((\mathsf{tr}^j)^2 - s_3^j - \mathsf{Arr})} - \pi_{((\mathsf{tr}^j)^2 - s_2^j - \mathsf{Dep})} = 0 \},$$ due to the construction of our instance I , this is equivalent to saying that for every pi , there is at least one qj 2 Q.; *R*/ such that pi 2 qj . Furthermore, we note that if and only if $$\pi_{((tr^{j})^{2}-s_{3}^{j}-Arr)}-\pi_{((tr^{j})^{2}-s_{2}^{j}-Dep)}=0$$ it follows that $$\pi_{((tr^{j})^{2}-s_{5}^{j}-Arr)} - \pi_{((tr^{j})^{2}-s_{4}^{j}-Dep)} = 1,$$ due to the bounds on activity ..trj /1 s 2 Dep; .trj /1 s j 5 Arr/. For every j with ..trj /2s 5 -Arr/ ..trj /2s 4 -Dep/ D 1, we see that c.; Pj / D 1 for the path Pj for OD-pair .*u*; *v*j /. This leads to $$\begin{split} |Q(\pi,\mathcal{R})| = & |\{q^j : \pi_{((\mathsf{tr}^j)^2 - s^j_3 - \mathsf{Arr})} - \pi_{((\mathsf{tr}^j)^2 - s^j_2 - \mathsf{Dep})} = 0\}| \\ = & |\{j : \pi_{((\mathsf{tr}^j)^2 - s^j_3 - \mathsf{Arr})} - \pi_{((\mathsf{tr}^j)^2 - s^j_4 - \mathsf{Dep})} = 1\}| \\ \leq & \sum_{(u,v^j) \in \mathcal{OD}} c(\pi,P^j) \\ \leq & c(\pi,\mathcal{R}) \\ \leq & K. \end{split}$$ 92 3 Timetabling 2. Now we show that given a solution Q0 to .P; Q/, we can construct a solution ..Q0 /; *R*.Q0 // to I with c..Q0 /; *R*.Q0 // D jQ0 Let Q0 be a solution to .P; Q; K/. We set $$\pi(Q')_{((tr^{j})^{2}-s_{1}-Dep)} := 0 \text{ and}$$ $$\pi(Q')_{((tr^{j})^{2}-s_{3}^{j}-Dep)} := \begin{cases} 0 \text{ if } q^{j} \in Q' \\ 1 \text{ otherwise.} \end{cases}$$ (3.9) This uniquely defines a timetable .Q0 / on N. • For i D 1; : : : ; m, we choose a ji such that pi 2 qji and qji 2 Q0 and define the train-route Pi.Q0 / for .*u*; *v*i/ to go via gadget gji . This defines Pi.Q0 / uniquely. Then, $$c(\pi(Q'), P_i(Q')) = \pi(Q')_{(tr_i^{j_i} - \nu_i - Arr)} - \pi(Q')_{(tr^{j_i})^2 - s_1 - Dep)} = 0.$$ For j D 1; : : : ; n, we choose the train-route Pj .Q0 / defined by taking first .trj /3 and then changing to .trj /2 in s 4 . Then $$\begin{split} c(\pi(Q'), P^{j}(Q')) &= \pi(Q')_{((\mathsf{tr}^{j})^{2} - s_{5}^{j} - \mathsf{Arr})} - \pi(Q')_{((\mathsf{tr}^{j})^{1} - s_{1} - \mathsf{Dep})} \\ &= \begin{cases} 1 - 0 = 1 \text{ if } \pi(Q')_{((\mathsf{tr}^{j})^{1} - s_{1} - \mathsf{Dep})} = 1 \\ 1 - 1 = 0 \text{ otherwise.} \end{cases} \\ &= \begin{cases} 1 \text{ if } \pi(Q')_{((\mathsf{tr}^{j})^{2} - s_{3} - \mathsf{Arr})} = 1 \\ 0 \text{ otherwise.} \end{cases} \end{split}$$ Hence $$c(\pi(Q'), \mathcal{R}(Q')) = \sum_{P_i \in \mathcal{R}} w_{uv_i} c(\pi(Q'), P_i(Q')) + \sum_{P^j \in \mathcal{R}} w_{uv^j} c(\pi(Q'), P^j(Q'))$$ $$= 0 + |\{j : \pi(Q')_{((tr^j)^2 - s_3 - Arr)} = 1\}|$$ $$= |Q'|.$$ #### *3.4.2 Inapproximability of Timetabling with Routing* The proof of Theorem [3.4.1](#page-96-0) can be extended to show an inapproximability result for TTwR. To this end, we consider an optimization version of Set Cover. An instance .P; Q/ of the optimization version of *Set Cover* consists of a set P D fp1;:::;pmg and a set of subsets Q D fq1;:::;qng with qj - P. The task is to find a subset Q0 - Q of minimal size jQ0 j such that for every pi 2 P, there is at least one qj 2 Q0 such that pi is contained in qj [Fei98]. There exist many inapproximability results for Set Cover; see, e.g., [BGLR93, RS97, Fei98, AMS06] and references therein. Due to the one-to-one correspondence between solutions and objective values of the optimization version of Set Cover and the instances of TTwR constructed in the proof of Theorem [3.4.1,](#page-96-0) any approximation algorithm that solves TTwR with a certain approximation ratio could be used to solve Set Cover with a similar approximation ratio. Thus, inapproximability results for Set Cover can easily be transferred to TTwR. To give an example how this is done, in Theorem 3.4.2, we transfer a result from [BGLR93] which says that there is no constant-factor polynomial-time approximation algorithm for Set Cover unless P D NP to TTwR. To do this, we use a reduction which is very similar to the one in Theorem [3.4.1.](#page-96-0) **Theorem 3.4.2.** *There is no constant-factor polynomial-time approximation algorithm for TTwR unless* P D NP*.* *Proof.* Let A be a polynomial-time approximation algorithm for TTwR. For a given instance I of TTwR, let .A; *R*A/ be the solution returned by the algorithm, and let .; *R*/ be an optimal solution. Suppose that there is a constant C 1 such that for all instances I of TTwR, it holds that $$\frac{c(\pi^A, \mathcal{R}^A)}{c(\pi^*, \mathcal{R}^*)} \le C. \tag{3.10}$$ We show that in this case we can use the algorithm A to solve Set Cover with approximation ratio C in polynomial time. Let .P; Q/ be an instance of Set Cover with P D fp1;:::;pmg and Q D fq1;:::;qng. For P and Q, we construct an instance I of TTwR as described in the proof of Theorem [3.4.1,](#page-96-0) changing only the passenger weights for OD-pairs .*u*; *v*i/ to *wuv*i WD C n C 1 (instead of *wuv*i D n C 1 as chosen in the proof of Theorem [3.4.1\)](#page-96-0) for i D 1; : : : ; m. - 1. As a first step we show that algorithm A always returns a solution .A; *R*A/ with c.A; *R*A/ n: - We can uniquely define a feasible timetable 0 for I setting 0 ..trj /2s1-Dep/ W D 0 and 0 ..trj /2s 3 -Dep/ WD 0 for all j D 1; : : : ; n. (This corresponds to the timetable .Q0 / for Q0 D Q we defined in [\(3.9\)](#page-100-0) in the proof of Theorem [3.4.1.](#page-96-0)) - In this case, for any routing *R*0 D fP0 i W i D 1; : : : ; mg[f.Pj /0 W i D 1; : : : ; ng, we have $$c(\pi', P'_i) = 0$$ and $c(\pi', (P')^j) = 1$ , hence $$c(\pi',\mathcal{R}') = \sum_{P_i' \in \mathcal{R}'} w_{iw_i} c(\pi',P_i') + \sum_{(P')^j \in \mathcal{R}'} c(\pi',(P')^j) = n.$$ 94 3 Timetabling • Suppose that A finds a solution .A; *R*A/ such that there is an .*u*; *v*i/ 2 *OD* with c.A; P A i / ¤ 0 for the path P A i defined by *R*A for .*u*; *v*i/. Then c.A; P A i / *wuv*i c.A; P A i / D C n C 1, and it follows that $$C \ge \frac{c(\pi^A, \mathcal{R}^A)}{c(\pi^*, \mathcal{R}^*)} \ge \frac{c(\pi^A, \mathcal{R}^A)}{c(\pi', \mathcal{R}')} \ge \frac{Cn + 1}{n} > C$$ which is a contradiction. Hence, for the solution .A; *R*A/ returned by A, it holds that c.A; P A i / D 0 for i D 1; : : : ; m. • Since c.; Pj / 2 f0; 1g for any choice of timetable and path Pj for .*u*; *v*j /, this implies that $$c(\pi^A, \mathcal{R}^A) = \sum_{P^j \in \mathcal{R}^A} w_{uv^j} c(\pi, P^j) \le n.$$ - 2. Analogously to step [\(1\)](#page-99-0) in the proof of Theorem [3.4.1,](#page-96-0) we see that given a solution .; *R*/ to I with c.; *R*/ n, we can construct a solution Q.; *R*/ to .P; Q/ with jQ.; *R*/j c.; *R*/ (setting K:=n). In particular, due to [\(1\)](#page-101-0) this implies that for the solution .A; *R*A/ to I found by algorithm A, we can construct a solution Q.A; *R*A/ to .P; Q/ with jQ.A; *R*A/j D c.A; *R*A/. - 3. Analogously to step [\(2\)](#page-99-0) in the proof of Theorem [3.4.1](#page-96-0) (setting K:=n), we see that given a solution Q to .P; Q/, we can construct a solution ..Q0 /; *R*.Q0 // to I with c..Q0 /; *R*.Q0 // D jQ0 j. In particular this implies that for an optimal solution Q to .P; Q/ and an optimal solution .; *R*/ to I , we have c.; *R*/ jQj. - 4. We now apply A to I and obtain a solution .A; *R*A/ which we transfer to a solution Q.A; *R*A/ in polynomial time as described in (2). Then, due to (3), $$\frac{|Q(\pi^A, \mathcal{R}^A)|}{|Q^*|} \le \frac{c(\pi^A, \mathcal{R}^A)}{c(\pi^*, \mathcal{R}^*)} \le C.$$ Hence, using A we can construct a polynomial-time C-approximation algorithm for Set Cover which contradicts the inapproximability results for Set Cover. ut In the instance I of TTwR, constructed from an instance .P; Q/ of Set Cover in the proof of Theorem [3.4.2,](#page-101-0) we use lower bounds of 0 on the driving activities in order to obtain the same objective value as in the Set Cover problem. Hence, the question may arise whether the inapproximability is only due to this choice of zero bounds. In this case, confining the class of instances to such with strictly positive bound could cause a significant improvement in the approximation ratio. However a similar result can be obtained setting la WD c and *u*a WD c (where c 2 N is an arbitrary constant) for all activity bounds previously set to 0 in the proof of Theorem [3.4.2](#page-101-0) and scaling the other bounds on the activity lengths to numbers that are much higher. We notice that the inapproximability result in Theorem [3.4.2](#page-101-0) seems to be caused by the high relative difference of the upper and lower bounds on some activities. Indeed, we prove in Theorem 3.4.4 that the output of any (reasonable) approximation algorithm must be bounded by the maximum relative difference of upper and lower bounds. We make use of the following notation: **Notation 3.4.3.** *Given an instance* .*N* ; l; *u*; *OD*/ *of TTwR, for every OD-pair* .*u*k; *v*k/ 2 *OD, let* - P*low* k *be a shortest path from uorg* k *to vdest* k *in N with respect to arc lengths* La WD la 8a 2 *Aop and* La WD 0 8a 2 *Aorg* [ *Adest, and let* l*low* k *denote its length.* - P*upp* k *be a shortest path from uorg* k *to vdest* k *in N with respect to arc lengths* La WD *u*a 8a 2 *Aop and* La WD 0 8a 2 *Aorg* [ *Adest, and let* l *upp* k *denote its length.* - l *opt* k *denote the optimal objective value of the instance* .*N* ; l; *u*; f.*u*k; *v*k/g/ *with passenger weight w*k WD 1 *of TTwR.* In Theorem [3.6.4](#page-109-0) in the next section we will see that for every OD-pair .*u*k; *v*k/, we can determine l opt k in polynomial time. In the next theorem we show three bounds on the quality of a solution .0 ; *R*.0 // defined by a timetable 0 . These bounds differ not only in the time that is needed to calculate them but also in their tightness. **Theorem 3.4.4.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR, and let* .; *R*/ *denote an optimal solution to* I *. Then for any timetable* 0 *on N and R*0 WD *R*.0 /*, it holds that* $$\frac{c(\pi', \mathcal{R}')}{c(\pi^*, \mathcal{R}^*)} \leq \frac{\sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{upp}}{\sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{opt}} \leq \frac{\sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{low}}{\sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{low}} \leq \max_{a \in \mathcal{A}_{op}} \frac{u_a}{l_a}.$$ To prove Theorem 3.4.4, we need the following lemma. **Lemma 3.4.5.** *For* a1; a2;:::;an; b1; b2;:::;bn > 0 $$\frac{a_1 + a_2 + \dots + a_n}{b_1 + b_2 + \dots + b_n} \le \max_{i=1,\dots,n} \left\{ \frac{a_i}{b_i} \right\}.$$ *Proof.* The lemma is proven inductively: for n D 1, the statement is obvious. Suppose now that the statement has been shown for n D k 1 with k>1. Denote Ak-1 D a1 C a2 CC ak-1 and Bk-1 D b1 C b2 CC bk-1. Now assume that $$\frac{A_{k-1} + a_k}{B_{k-1} + b_k} > \max \left\{ \frac{A_{k-1}}{B_{k-1}}, \frac{a_k}{b_k} \right\}.$$ Multiplying both inequalities with the denominators yields $$A_{k-1}B_{k-1} + a_k B_{k-1} > A_{k-1}B_{k-1} + A_{k-1}b_k$$ $A_{k-1}b_k + a_k b_k > a_k B_{k-1} + a_k b_k,$ 96 3 Timetabling and if we add up the inequalities, we obtain $$A_{k-1}B_{k-1} + A_{k-1}b_k + a_kB_{k-1} + a_kb_k > A_{k-1}B_{k-1} + A_{k-1}b_k + a_kB_{k-1} + a_kb_k$$ which is clearly a contradiction. ut Now we can prove Theorem [3.4.4.](#page-103-0) *Proof.* 1. For every routing *R* WD fPk W .*u*k; *v*k/ 2 *OD*g, we have c.; Pk/ l opt k ; hence $$c(\pi^*, \mathcal{R}^*) \ge \sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{\text{opt}}.$$ On the other hand, since *R*0 WD *R*.0 /, we have l.P0 k/ l upp k for all P0 k 2 *R*0 ; thus, we obtain $$c(\pi', \mathcal{R}') \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k l_k^{\text{upp}}.$$ This gives us the first inequality. - 2. For every OD-pair .*u*k; *v*k/ 2 *OD*, we have llow k l opt k , which implies the second inequality. - 3. Using Lemma [3.4.5](#page-103-0) several times, we obtain $$\begin{split} \frac{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k l_k^{\text{upp}}}{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k \sum_{a\in P_k^{\text{upp}}} u_a} \\ &= \frac{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k \sum_{a\in P_k^{\text{low}}} l_a}{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k \sum_{a\in P_k^{\text{low}}} l_a} \\ &\leq \frac{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k \sum_{a\in P_k^{\text{low}}} u_a}{\sum_{(u_k,v_k)\in\mathcal{OD}} w_k \sum_{a\in P_k^{\text{low}}} u_a} \\ &\leq \max_{(u_k,v_k)\in\mathcal{OD}} \frac{w_k \sum_{a\in P_k^{\text{low}}} u_a}{w_k \sum_{a\in P_k^{\text{low}}} u_a} \\ &= \max_{(u_k,v_k)\in\mathcal{OD}} \frac{\sum_{a\in P_k^{\text{low}}} u_a}{\sum_{a\in P_k^{\text{low}}} u_a} \\ &\leq \max_{(u_k,v_k)\in\mathcal{OD}} \max_{a\in P_k^{\text{low}}} \frac{u_a}{l_a} \\ &\leq \max_{a\in \mathcal{A}_{\text{op}}} \frac{u_a}{l_a}. \end{split}$$ ut #### **3.5 Timetabling with Routing Between Events** In this section we describe and investigate the problem timetabling with routing between events (TTwRE). Though at first glance TTwRE looks quite similar to TTwR, it turns out to be much easier to solve. TTwRE motivates an alternative formulation for TTwR which provides us with a first solution approach in Sect. [3.6](#page-107-0) and, in Sect. [3.7.2,](#page-116-0) an alternative integer programming formulation. In TTwRE we assume that instead of knowing only the origin and destination station of each passenger, we are also given the information about the train a passenger wants to board at the origin station and the train he/she wants to arrive with at his/her destination. We then obtain an OD-set consisting of departure events as origins and arrival events as destinations. **Definition 3.5.1.** Given an EAN *N* , an *operational OD-pair* is a pair .i; j / with i 2 *E*dep and j 2 *E*arr. We denote the set of *operational OD-pairs* as *OD*op and the weights for the operational OD-pairs as *w*ij for .i; j / 2 *OD*op. We then restrict our routings to contain only paths which start at a passenger's origin station and end at his or her destination station. **Definition 3.5.2.** Let *N* be an EAN and *OD*op a set of operational OD-pairs in *N* . - A path for .i; j / 2 *OD*op is a path from i to j in *N* . - A *routing* for *OD*op is defined as *R*op WD fPij W .i; j / 2 *OD*opg where Pij is a path from i to j in *N* . - Like in [\(3.3\)](#page-93-0), also in TTwRE, for a given timetable and path Pij , we denote by c.; Pij / WD j i the *travel time along* Pij . - Analogously to [\(3.4\)](#page-93-0), for a given timetable and a routing *R*op for *OD*op, the travel time in TTwRE is calculated as c.; *R*op/ WD P Pij 2*R*op *w*ij c.; Pij / We define the problem of TTwRE as follows. **Definition 3.5.3.** An instance .*N* ; l; *u*; *OD*op/ of timetabling with routing between events (TTwRE) consists of an EAN *N* D .*E*; *A*/: upper and lower bounds *u*; l on the operational activities: and a set of operational OD-pairs *OD*op. The task is to find a feasible timetable and a routing *R*op for *OD*op which minimize the overall travel time. In [Nac98], Nachtigall derives a similar problem from a periodic timetabling problem. He formulates the problem as an integer program using variables for the slack and the passenger flows and solves it by a decomposition in two subproblems to determine an optimal passenger flow and an optimal assignment of slack times separately by linear programming. The approach from [SS10b, SS12b] presented here is similar but allows us to see the problem from a somewhat different perspective, such that, in the subsequent sections, we are able to develop an exact algorithm and an integer program formulation based on the results obtained here. 98 3 Timetabling Note that there may be several paths in *N* which, for an operational OD-pair .i; j /, connect departure event i to arrival event j . However, the choice of the routing is irrelevant for the objective value. **Lemma 3.5.4.** *Given an instance* .*N* ; l; *u*; *ODop*/ *of TTwRE and a timetable in N , it holds that* $$c(\pi, \mathcal{R}_{op}^1) = c(\pi, \mathcal{R}_{op}^2) = \sum_{(i,j) \in \mathcal{OD}_{op}} w_{ij}(\pi_j - \pi_i)$$ *for every pair of routings R*1 *op*; *R*2 *op for ODop.* *Proof.* For a given timetable , we have $$c(\pi, \mathcal{R}_{\text{op}}^1) = \sum_{P_{ij} \in \mathcal{R}_{\text{op}}^1} w_{ij} c(\pi, P_{ij})$$ $$= \sum_{(i,j) \in \mathcal{OD}_{\text{op}}} w_{ij} (\pi_j - \pi_i) = \sum_{P_{ij} \in \mathcal{R}_{\text{op}}^2} w_{ij} c(\pi, P_{ij}) = c(\pi, \mathcal{R}_{\text{op}}^2).$$ Hence, for every OD-pair .i; j / 2 *OD*op, we could choose an arbitrary path Pij from i to j as a representative for the class of paths from i to j , set *R*op WD fPij W .i; j / 2 *OD*g, and concentrate on calculating an optimal timetable. We could then interpret a given instance .*N* ; l; *u*; *OD*op/ of TTwRE as an instance .*N* ; l; *u*; *R*0 / of sTT where we define *R*0 to consist of the paths Pij adding origin and destination activities at the stations belonging to departure event i and arrival event j . ut However, instead of choosing one of the existing paths between two nodes i and j , we represent the demand between these events by adding a virtual activity .i; j / and choose this activity as a path. **Definition 3.5.5.** Given an instance .*N* ; l; *u*; *OD*op/ of TTwRE, we define the set of *virtual activities* to be *A*virt WD f.i; j / W .i; j / 2 *OD*opg and set the activity weight *w*ij to the passenger weight *w*ij of .i; j /. Note that due to the same notation for directed arcs and operational OD-pairs, we are now using the same notation for an operational OD-pair .i; j / and the corresponding virtual activity. However, virtual activities should be understood to be just a representation of the operational OD-pairs in the EAN, so we could indeed write *OD*op D *A*virt. In Fig. [3.4](#page-107-0) an example for the concept of virtual activities is given. The OD-pair .tr1s1Dep; tr2s4Arr/ is represented by the dotted virtual activity with weight *w*.tr1s1-Dep;tr2s4-Arr/. Note that three different paths in the EAN can be chosen for operational OD-pair .tr1 s1 Dep; tr2 s4 Arr/, but that, given a timetable, the travel time of .tr1 s1 Dep; tr2 s4 Arr/ does not depend on the path choice. ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_107_Figure_2.jpeg) **Fig. 3.4** Example for the implementation of virtual activities We have seen in Lemma [3.5.4](#page-106-0) that in TTwRE, the overall travel time does not depend on the routing any more. That is, given a timetable, the overall travel time is P .i;j /2*OD*op *w*ij .j i/. Hence, similarly to the approach for sTT in Sect. [3.3,](#page-93-0) we can solve TTwRE by linear programming. Again, we use variables $$\pi_i := \text{ scheduled time at event } i \quad \forall i \in \mathcal{E}_{op}.$$ Then the integer program reads as follows $$\min \sum_{(i,j)\in\mathcal{OD}_{op}} w_{ij} \cdot (\pi_j - \pi_i), \tag{3.11}$$ s.t. $$\pi_h - \pi_g \ge l_{gh}$$ $\forall (g, h) \in \mathcal{A}_{op},$ (3.12) $$\pi_h - \pi_g \le u_{gh}$$ $\forall (g, h) \in \mathcal{A}_{op},$ (3.13) $$\pi_g \in \mathbb{Z}$$ $$\forall g \in \mathcal{E}_{op}, \qquad (3.14)$$ where (3.11) is the overall travel time and (3.12) and (3.13) are the feasibility constraints for the timetable. We have the same totally unimodular coefficient matrix as in the IP formulation [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) of sTT. **Theorem 3.5.6.** *TTwRE can be solved in polynomial time by linear programming.* #### **3.6 An Exact Algorithm for Timetabling with Routing** In this section we turn back to the problem TTwR and use the result from Theorem 3.5.6 to solve TTwR exactly. **Definition 3.6.1.** Let *N* be an EAN and *OD* D f.*u*k; *v*k/ W k 2 Kg a set of ODpairs. We define the set of *departure events for* .*u*k; *v*k/ as $$\mathcal{E}_{\text{dep}}^k := \{ e \in \mathcal{E}_{\text{dep}} : (u_k^{\text{org}}, (\text{tr} - u_k - \text{Dep})) : l(\text{tr}) \ni u_k \}$$ 100 3 Timetabling and the set of *arrival events for* .*u*k; *v*k/as $$\mathcal{E}_{\mathrm{arr}}^k := \{ e \in \mathcal{E}_{\mathrm{arr}} : ((\mathrm{tr} - \nu_k - \mathrm{Arr}, \nu_k^{\mathrm{dest}}) : l(\mathrm{tr}) \ni \nu_k \}.$$ The idea of the approach from [SS12b] is to solve TTwRE for every possible combination of these arrival and destination events for all OD-pairs. **Definition 3.6.2.** Let .*u*k; *v*k/ 2 *OD* be an OD-pair. We define • the set of *reasonable virtual activities representing* .*u*k; *v*k/ $$\mathcal{A}^k_{\mathrm{virt}} := \{(i^k, j^k): \ i^k \in \mathcal{E}^k_{\mathrm{dep}}, j^k \in \mathcal{E}^k_{\mathrm{arr}}; \exists \ \mathrm{a \ directed \ path} \ P_{i^k j^k} \ \mathrm{from} \ i^k \ \mathrm{to} \ j^k \ \mathrm{in} \ \mathcal{N};$$ and $$\sum_{a \in P_{i^k j^k}} l_a \le l_k^{\text{upp}}$$ }, - the set of *reasonable virtual activities A*virt D S .*u*k ;*v*k /2*OD A*k virt, and - the set of *reasonable sets of operational OD-pairs representing OD* $$\mathcal{V}(\mathcal{OD}) := \{ (i^1, j^1), (i^2, j^2), \dots (i^{|\mathcal{OD}_{op}|}, j^{|\mathcal{OD}_{op}|}) \} : (i^k, j^k) \in \mathcal{A}_{virt}^k \}.$$ **Lemma 3.6.3.** *The following definition is equivalent to Definition [3.2.6.](#page-93-0) An instance* .*N* ; l; *u*; *OD*/ *of TTwR consists of an EAN N* D .*E*; *A*/*; upper and lower bounds u*; l *on the operational activities; and a set of OD-pairs OD.* *The task is to find a feasible timetable and a set of* operational OD-pairs *ODop* 2 *V*.*OD*/ *such that* $$\overline{c}(\pi, \mathcal{OD}_{op}) := \sum_{(i,j) \in \mathcal{OD}_{op}} \pi_j - \pi_i$$ *is minimal.* *Proof.* Let I D .*N* ; l; *u*; *OD*/ be an instance of TTwR. - Let .; *OD*op/ be a feasible solution to TTwR as defined in Lemma 3.6.3. Due to the definition of *A*k virt, for .i k; j k/ 2 *A*k virt, there exists a path from *u* org k to *v*dest k with the first departure node i and last arrival node j . Hence, for every set of operational OD-pairs *OD*op, we can find a corresponding routing *R*.*OD*op/ for TTwR. - Let an optimal solution .; *R*/ to TTwR as defined in Definition [3.2.6](#page-93-0) be given. For every .*u*k; *v*k/ 2 *OD*, there is a directed path Pk 2 *R* from *u* org k to *v*dest k . Let i k denote the first and j k the last operational event on Pk, and let Pik j k denote the path Pk without origin and destination activity. Suppose that there is an OD-pair .*u*k; *v*k/ 2 *OD* such that .i k; j k/ … *A*k virt, i.e., P a2Pik j k la > l upp k . Then $$c(\pi^*, P_k) = \sum_{(i,j) \in P_k} (\pi_j - \pi_i) \ge \sum_{(i,j) \in P_k} l_{ij} > l_k^{\text{upp}} \ge c(\pi^*, P_k^{\text{upp}}).$$ Thus, exchanging Pk into Pupp k yields a better objective value. This is a contradiction to the optimality of .; *R*/. Hence, every optimal routing *R* defines a set of operational OD-pairs *OD*op.*R*/. • Furthermore, given a timetable , for every such pair of associated routing *R* WD fPk W .*u*k; *v*k/ 2 *OD*g and set of operational OD-pairs *OD*op, we have $$c(\pi, \mathcal{R}) = \sum_{P_k \in \mathcal{R}} (\pi_{j^k} - \pi_{i^k}) = \sum_{(i^k, j^k) \in \mathcal{OD}_{op}} (\pi_{j^k} - \pi_{i^k}) = \overline{c}(\pi, \mathcal{OD}_{op}),$$ where i k denotes the first departure node on Pk and j k denotes the last arrival node. ut Hence, solving the LP-relaxation of IP formulation [\(3.11\)](#page-107-0)–[\(3.14\)](#page-107-0) for all *OD*op 2 *V*.*OD*/, we find an optimal solution to TTwR. **Theorem 3.6.4.** *An instance* .*N* ; l; *u*; *OD*/ *of TTwR can be solved by solving every different instance* .*N* ; l; *u*; *ODop*/ *with ODop* 2 *V*.*OD*/ *of TTwRE and comparing the objective values. In particular we obtain a polynomial-time algorithm in the following cases:* - *1. If for every* .*u*k; *v*k/ 2 *OD, it holds that* j*E*k depjDj*E*k arrj D 1 *an optimal solution to TTwR can be found by solving one linear program [\(3.11\)](#page-107-0)–[\(3.14\)](#page-107-0).* - *2. For a fixed maximal number of OD-pairs* m*, TTwR can be solved in polynomial time by solving* O.….*u*k ;*v*k /2*OD*j*E*k depjj*E*k arrj/ D O.n2m *N* / *linear programs, where* n*N denotes the number of nodes in the considered EAN N .* - *3. In particular, if there is only one OD-pair* .*u*1; *v*1/*, an optimal solution to TTwR can be found by solving at most* j*E*1 depjj*E*1 arrj *linear programs.* In Fig. [3.5](#page-110-0) we observe that there are five possible paths from s org 1 to sdest 4 . However, these paths can be represented using only three virtual activities a1, a2, and a3. Hence, we can solve TTwR by solving three instances of TTwRE and comparing the objective values. #### **3.7 Integer Programming Formulations** In Sect. [3.5](#page-105-0) we saw that an instance of TTwR can be solved by solving many instances of TTwRE. However, this method can only be applied efficiently if there are a small number of OD-pairs or if for every OD-pair, there is a very limited set of choices at which event to start and at which event to end the journey. This is usually not the case in practical applications of timetabling. In the following, we provide two integer programming formulations for TTwR in Sects. [3.7.1](#page-110-0) and [3.7.2.](#page-116-0) Both formulations rely on the formulation [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) used for solving sTT, where the routing was part of the input. To include the routing decisions into the optimization process, in the formulation in Sect. [3.7.1,](#page-110-0) passengers 102 3 Timetabling ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_110_Figure_1.jpeg) **Fig. 3.5** Solving TTwR by solving TTwRE: virtual activities for OD-pair .s1; s4/ are modeled as flow in the network, similar to the integer programming approaches for scLPwR, cLPwR, and delay management with routing (DMwR) presented in Sects. [2.6.2](#page-73-0) and [4.5.](#page-170-0) The formulation in Sect. [3.7.2,](#page-116-0) based on the insights from Sect. [3.5,](#page-105-0) introduces a variable for every virtual activity instead. #### *3.7.1 Flow-Based Formulation* Let I D .*N* ; l; *u*; *OD*/ be an instance of TTwR. Our first approach is to model the routing constraints using a multi-commodity flow formulation, similar to the one used in the line planning problems in Sect. [2.6.2.](#page-73-0) To this end, in addition to the timetable variables i already used in the formulation [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) of sTT, we introduce flow variables qk a specifying whether OD-pair .*u*k; *v*k/ uses activity a or not $$q_a^k := \begin{cases} 1 & \text{if activity } a \text{ is used by OD-pair } (u_k, v_k), \ \forall a \in \mathcal{A}. \\ 0 & \text{otherwise} \end{cases}$$ Furthermore, for every OD-pair .*u*k; *v*k/, we use variables t k org and t k dest specifying the departure time in the origin *u*k and the arrival time in the destination *v*k. If the network *N*op is not connected, in order to avoid difficulties in calculating the "big-M"-values needed by our IP formulation, for the calculation of the timetable, we connect the different connected components by *artificial activities* as described in the following. **Notation 3.7.1.** *Suppose that Nop is not connected, but consists of* m *connected components N* 1 *op*;:::; *N* m *op. Let N* 0 *denote the network built from Nop by adding a changing activity* .ji ; kiC1/ *from an arbitrary arrival node* ji *in N* i *op to an arbitrary* *departure node* kiC1 *in N* iC1 *op for* i D 1; : : : ; m 1 *with lower bounds* lji kiC1 WD 0 *and u*ji kiC1 WD 0*.* *That is, N* 0 *is defined as N* 0 WD .*E*0 ; *A*0 / *with* $$\mathcal{E}' := \mathcal{E}_{op} \text{ and } \mathcal{A}' := \mathcal{A}_{op} \cup \{(j_i, k_{i+1}) : i = 1, \dots, m-1\}.$$ However, since the artificial activities .ji ; kiC1/ do not represent travel possibilities, they are not considered in the flow constraints (3.18)–(3.20). The flow-based integer program is given as $$\min \sum_{(u_k, v_k) \in OD} w_k(t_{\text{des}t}^k - t_{\text{org}}^k), \tag{3.15}$$ s.t. $$\pi_j - \pi_i \ge l_{ij}$$ $\forall (i, j) \in \mathcal{A}', \qquad (3.16)$ $$\pi_j - \pi_i \le u_{ij}$$ $\forall (i, j) \in \mathcal{A}', \qquad (3.17)$ $$\sum_{a \in \delta - (u_k^{\text{org}})} q_a^{q} = 1 \qquad \forall (u_k, v_k) \in \mathcal{OD}, \tag{3.18}$$ $$\sum_{a \in \delta^{-}(i)} q_a^k - \sum_{a \in \delta^{+}(i)} q_a^k = 0 \qquad \forall i \in \mathcal{E}_{op}, (u_k, v_k) \in \mathcal{OD},$$ (3.19) $$\sum_{a \in \delta^{+}(v_{k}^{\text{lest}})} q_{a}^{k} = 1 \qquad \forall (u_{k}, v_{k}) \in \mathcal{OD}, \tag{3.20}$$ $$t_{\text{org}}^k \le \pi_i + M_{\text{org}}^k (1 - q_{(u_k^{\text{org}}, i)}^k) \qquad \forall i \in \mathcal{E}_{\text{org}}^k, \tag{3.21}$$ $$t_{\text{dest}}^k \ge \pi_i - M_{\text{dest}}^k (1 - q_{(i, v_k^{\text{dest}})}^k) \qquad \forall i \in \mathcal{E}_{\text{dest}}^k, \tag{3.22}$$ $$q_a^k \in \{0, 1\}$$ $\forall (u_k, v_k) \in \mathcal{OD}, a \in \mathcal{A},$ (3.23) $$\pi_i \in \mathbb{Z}$$ $\forall i \in \mathcal{E}_{op}, \qquad (3.24)$ $$t_{\text{org}}^k, t_{\text{dest}}^k \in \mathbb{Z}$$ $\forall (u_k, v_k) \in \mathcal{OD}.$ (3.25) Like in the integer program [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) for sTT, constraints (3.16) and (3.17) ensure the feasibility of the timetable and link the timetables of the different connected components of *N*op. The constraints (3.18)–(3.20) are flow constraints, ensuring that every passenger leaves its origin, travels until its destination, and stops traveling there. Constraints (3.21) and (3.22) together with the objective function (3.15) set the variables t k org and t k dest to the corresponding departure and arrival times. A formal proof of correctness is given in the following Lemmas [3.7.2](#page-112-0) and [3.7.3](#page-112-0) where we denote D .i/i2*E*op , q D .qk a /a2*A*;.*u*k ;*v*k /2*OD*, torg D .t k org/.*u*k ;*v*k /2*OD* and tdest D .t k dest/.*u*k ;*v*k /2*OD*: 104 3 Timetabling **Lemma 3.7.2.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR. Then for any set* fMk *org*; Mk *dest* W .*u*k; *v*k/ 2 *OD*g 2 N2j*OD*j 0 *, it holds that a feasible solution* .; q; t*org*; t*dest*/ *to the IP [\(3.15\)](#page-111-0)–[\(3.25\)](#page-111-0) defines a feasible solution* .0 ; *R*0 / *to instance* I *of TTwR with* $$c(\pi', \mathcal{R}') \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k(t_{dest}^k - t_{org}^k).$$ *Proof.* Let .; q; torg; tdest/ be a feasible solution to the IP formulation [\(3.15\)](#page-111-0)– [\(3.25\)](#page-111-0), i.e., .; q; torg; tdest/ fulfills constraints [\(3.16\)](#page-111-0)–[\(3.25\)](#page-111-0). We define a timetable 0 setting 0 i WD i for all i 2 *E*op. 0 is feasible due to constraints [\(3.16\)](#page-111-0) and [\(3.17\)](#page-111-0). For every .*u*k; *v*k/ 2 *OD*, qk defines a routing *R*0 due to constraints [\(3.18\)](#page-111-0)–[\(3.20\)](#page-111-0). Thus, every feasible solution .; q; torg; tdest/ to [\(3.15\)](#page-111-0)–[\(3.25\)](#page-111-0) defines a feasible solution .0 ; R0 / to the instance I of TTwR. For every .*u*k; *v*k/ 2 *OD*, let jk denote the last arrival event on Pk 2 *R*0 . Then qk jk *v*dest D 1, hence t k dest jk due to constraint [\(3.22\)](#page-111-0). Just the same, [\(3.21\)](#page-111-0) forces t k org ik for the first departure event ik on Pk. Hence $$c(\pi', P_k) = \pi_{j_k} - \pi_{i_k} \le t_{\text{dest}}^k - t_{\text{org}}^k$$ and consequently $$c(\pi', \mathcal{R}') \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k(t_{\text{dest}}^k - t_{\text{org}}^k).$$ **Lemma 3.7.3.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR. Let E*k dep; *E*k arr *be defined as in Definition [3.6.1.](#page-107-0) Let for every OD-pair* .*u*k; *v*k/ 2 *OD the numbers* Mk *org and* Mk *dest be chosen in such a way that* ut $$M_{org}^k \ge \pi_j - \pi_i \ \forall (i,j) \in \mathcal{E}_{dep}^k \times \mathcal{E}_{dep}^k$$ and every feasible timetable $\pi$ for $\mathcal{N}'$ $$(3.26)$$ *and* $$M_{dest}^k \ge \pi_j - \pi_i \ \forall (i,j) \in \mathcal{E}_{arr}^k \times \mathcal{E}_{arr}^k$$ and every feasible timetable $\pi$ for $\mathcal{N}'$ . $$(3.27)$$ *Then a solution* .0 ; *R*0 / *defined by an optimal solution* .; q; t*org*; t*dest*/ *to the IP [\(3.15\)](#page-111-0)–[\(3.25\)](#page-111-0) is an optimal solution to instance* I *of TTwR and* $$c(\pi', \mathcal{R}') = \sum_{(u_k, v_k) \in \mathcal{OD}} w_k(t_{dest}^k - t_{org}^k).$$ *Proof.* 1. Let .0 ; *R*0 / be a feasible solution to the instance I of TTwR. Let *N* 1 op;:::; *N* m op with *N* i op D .*E*i op; *A*i op/ denote the connected components of *N*op, and let ji ; ki be defined as in Notation [3.7.1.](#page-110-0) We define as follows: - We set j WD 0 j for all j 2 *E*1 op. Then we iteratively proceed the connected components as follows: - For i D 2;:::;m, we set ki D ji-1 . - We now build the timetable in *N* i op setting j D 0 j ki . Then for .i; j / 2 *A*i op, we have $$\pi_j - \pi_i = (\pi'_j - \pi_{k_i}) - (\pi'_i - \pi_{k_i}) = \pi'_j - \pi'_i \in [l_{ij}, u_{ij}],$$ since 0 is a feasible timetable on *N* . Since additionally ki D ji-1 for every i D 2;:::;m, constraints [\(3.16\)](#page-111-0) and [\(3.17\)](#page-111-0) are fulfilled. For every .*u*k; *v*k/ 2 *OD* denote by Pk the path for OD-pair .*u*k; *v*k/ chosen by *R*0 , and let ik, jk be the first departure and last arrival node of Pk. Note that Pk is a path in *N* ; hence ik and jj are in the same connected component. We define $$\begin{aligned} q_a^k &:= \begin{cases} 1 \text{ if } a \in P_k \\ 0 \text{ otherwise} \end{cases} & \forall a \in \mathcal{A}, (u_k, v_k) \in \mathcal{OD}, \\ t_{\text{dest}}^k &:= \pi_{j_k} \\ t_{\text{dest}}^k &:= \pi_{j_k} \end{cases} & \forall (u_k, v_k) \in \mathcal{OD}, \\ t_{\text{dest}}^k &:= \pi_{j_k} \end{cases}$$ We show that the so-defined solution fulfills the constraints [\(3.18\)](#page-111-0)–[\(3.25\)](#page-111-0). Due to the definition of q, constraints [\(3.18\)](#page-111-0)–[\(3.20\)](#page-111-0) are fulfilled. For the first departure node ik on Pk, we have t k org D ik by definition. For i 2 *E*k dep n fikg, it holds that qk *u* org k i D 0 due to the definition of q. Hence, $$t_{\text{org}}^k = \pi_{i_k} = \pi_i + (\pi_{i_k} - \pi_i) \le \pi_i + M_{\text{org}}^k = \pi_i + M_{\text{org}}^k (1 - q_{u_k^{\text{org}}_i}^k),$$ and [\(3.21\)](#page-111-0) is fulfilled. Analogously, we see that [\(3.22\)](#page-111-0) is fulfilled. Furthermore, due to the definition of torg and tdest and since for every k, ik and jk are in the same connected component, we have $$\sum_{(u_k, v_k) \in OD} w_k (t_{\text{dest}}^k - t_{\text{org}}^k) = \sum_{(u_k, v_k) \in OD} w_k (\pi_{j_k} - \pi_{i_k})$$ $$= \sum_{(u_k, v_k) \in OD} w_k (\pi'_{j_k} - \pi'_{i_k})$$ $$= c(x', \mathcal{R}'),$$ where jk denotes the last arrival node on Pk. 106 3 Timetabling 2. Let .; q; torg; tdest/ be an optimal solution to [\(3.15\)](#page-111-0)–[\(3.25\)](#page-111-0). Due to Lemma [3.7.2,](#page-112-0) there is a solution .0 ; *R*0 / to I such that $$c(\pi', \mathcal{R}') \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k (t_{\text{dest}}^k - t_{\text{org}}^k).$$ Suppose that for an optimal solution .x; *R*/ to TTwR, it holds that $$c(\pi^*, \mathcal{R}^*) < \sum_{(u_k, v_k) \in \mathcal{OD}} w_k(t_{\text{dest}}^k - t_{\text{org}}^k).$$ Then according to [\(1\)](#page-113-0), there is a solution .; q; t org; t dest/ to [\(3.15\)](#page-111-0)–[\(3.25\)](#page-111-0) with $$\sum_{(u_k,v_k)\in\mathcal{OD}} w_k((t_{\mathrm{dest}}^*)^k - (t_{\mathrm{org}}^*)^k) = c(x^*, \mathcal{R}^*) < \sum_{(u_k,v_k)\in\mathcal{OD}} w_k(t_{\mathrm{dest}}^k - t_{\mathrm{org}}^k).$$ This is a contradiction to the optimality of .; q; torg; tdest/. ut The minimal values which the numbers fMk org; Mk dest W .*u*k; *v*k/ 2 *OD*g are allowed to take according to Lemma [3.7.3](#page-112-0) such that [\(3.26\)](#page-112-0) and [\(3.27\)](#page-112-0) are fulfilled with regard to the connected network *N* 0 D .*E*; *A*0 / can be rewritten as follows. $$M_{\mathrm{org}}^k := \max_{\pi \text{ feasible for } \mathcal{N}'} \left( \max_{(i,j) \in \mathcal{E}_{\mathrm{dep}}^k \times \mathcal{E}_{\mathrm{dep}}^k} (\pi_j - \pi_i) \right)$$ and $$M_{\text{dest}}^k := \max_{\pi \text{ feasible for } \mathcal{N}'} \left( \max_{(i,j) \in \mathcal{E}_{\text{arr}}^k \times \mathcal{E}_{\text{arr}}^k} (\pi_j - \pi_i) \right)$$ These values can be determined in polynomial time. To that end, we solve the linear program $$\max M_{\text{org}}^k(i,j) := \pi_j - \pi_i, \tag{3.28}$$ s.t. $$\pi_h - \pi_g \ge l_{gh}$$ $\forall (g,h) \in \mathcal{A}',$ (3.29) $$\pi_h - \pi_g \le u_{gh}$$ $$\forall (g, h) \in \mathcal{A}', \tag{3.30}$$ $$\pi_g \in \mathbb{Z}$$ $$\forall g \in \mathcal{E}_{op},$$ (3.31) for all .i; j / 2 *E*k dep *E*k dep (see Definition [3.6.1\)](#page-107-0). Since the matrix defined by the constraints (3.29) and (3.30) is the same as in formulation [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) and hence totally unimodular and the bounds are integer, we obtain an optimal integer solution by linear programming. Then we can set $$M_{\mathrm{org}}^{k} := \max_{(i,j) \in \mathcal{E}_{\mathrm{dep}}^{k} \times \mathcal{E}_{\mathrm{dep}}^{k}} M_{\mathrm{org}}^{k}(i,j).$$ Analogously, we can compute Mk dest. We summarize our result in the following lemma. **Lemma 3.7.4.** *The minimal values for* fMk *org*; Mk *dest* W .*u*k; *v*k/ 2 *OD*g *such that [\(3.26\)](#page-112-0) and [\(3.27\)](#page-112-0) are fulfilled are* $$M_{org}^{k} := \max_{\pi \text{ feasible for } \mathcal{N}'} \left( \max_{(i,j) \in \mathcal{E}_{\text{dep}}^{k} \times \mathcal{E}_{\text{dep}}^{k}} (\pi_{j} - \pi_{i}) \right)$$ *and* $$M_{dest}^k := \max_{\pi \text{ feasible for } \mathcal{N}'} \left( \max_{(i,j) \in \mathcal{E}_{\text{dep}}^k \times \mathcal{E}_{\text{dep}}^k} (\pi_j - \pi_i) \right).$$ *These values can be calculated in polynomial time.* Although the calculation time for the numbers fMk org; Mk dest W .*u*k; *v*k/ 2 *OD*g is polynomial, it may be very long. The following value for fMk org; Mk dest W .*u*k; *v*k/ 2 *OD*g can be calculated much faster. **Lemma 3.7.5.** P *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR. We define* M WD a2*Aop u*a *and set* Mk *org* WD M *and* Mk *dest* WD M*. Then [\(3.26\)](#page-112-0) and [\(3.27\)](#page-112-0) are fulfilled.* *Proof.* For .i0 ; j 0 / 2 *E*k dep *E*k dep, let Pi0j 0 denote an undirected path from i0 to j 0 in *N* 0 (such a path exists since *N* 0 is connected). Then $$\pi_{j'} - \pi_{i'} \le \sum_{(i,j) \in P_{i'j'}} \pi_j - \pi_i = \sum_{(i,j) \in P_{i'j'} \cap \mathcal{A}_{op}} \pi_j - \pi_i$$ $$\le \sum_{(i,j) \in P_{i'j'} \cap \mathcal{A}_{op}} u_{ij} \le \sum_{a \in \mathcal{A}_{op}} u_a = M.$$ The same holds for .i0 ; j 0 / 2 *E*k arr *E*k arr. ut An alternative formulation for integrating routing in timetabling problems using flow constraints is followed by [Lüb09, SG13] for periodic timetabling. There (translated to our notation), variables taking the role of qk ij .j i/ are introduced for every .i; j / 2 *A*op and every .*u*k; *v*k/ 2 *OD*. The weighted sum of these variables serves as objective function. The "big-Ms" required to set the new variables to the claimed values are of the size of the upper bounds on the activity lengths and thus significantly smaller than the ones presented in this book; however, the number of variables and constraints is larger than in our formulation. 108 3 Timetabling #### *3.7.2 Virtual-Activity-Based Formulation* Instead of using a flow formulation which introduces a variable for every activity and every OD-pair, it is also a natural idea to introduce a variable for every path an OD-pair might choose. In many routing problems, this approach has the inconvenience that it leads to an exponential number of variables, because of an exponential number of paths between origin and destination node of every OD-pair. However, it has been shown in [SS12b] that we can exploit the insights gained in Sect. [3.5](#page-105-0) to reduce the number of variables significantly. Instead of introducing a variable for every path Pk from *u* org k to *v*dest k for every OD-pair .*u*k; *v*k/ 2 *OD*, we introduce a variable for every virtual activity .i; j / 2 *A*k virt: $$z_{ij}^k := \begin{cases} 1 \text{ if virtual activity } (i, j) \text{ is used for OD-pair } (u_k, v_k) \\ 0 \text{ otherwise.} \end{cases}$$ Note that for every OD-pair .*u*k; *v*k/, there might be an exponential number of paths from *u* org k to *v*dest k , but there are at most O.j*E*j 2/ reasonable virtual activities—and usually much less in practical applications. We introduce variables t k which take the value of the travel time of an OD-pair .*u*k; *v*k/ for the timetable and the routing chosen by the integer program. Furthermore we use again the timetable variables i for i 2 *E*op of formulation [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) of sTT. For a better comparability between the flow-based and the virtual-activity-based IP formulation, also in our second IP for TTwR, in case of an unconnected network we calculate a feasible timetable on *N* 0 instead of *N*op. The virtual-activity-based integer program reads virt $$\min \sum_{(u,v)\in\mathcal{OD}} w_k t^k, \tag{3.32}$$ s.t. $$\pi_j - \pi_i \ge l_{ij}$$ $\forall (i, j) \in \mathcal{A}', \quad (3.33)$ $$\pi_j - \pi_i \le u_{ij}$$ $\forall (i, j) \in \mathcal{A}', \quad (3.34)$ $$\sum_{(i,j)\in\mathcal{A}_{\text{virt}}^k} z_{ij}^k = 1 \qquad \qquad \forall (u_k, v_k) \in \mathcal{OD}, \quad (3.35)$$ $$t^{k} \ge \pi_{j} - \pi_{i} - M^{k}(1 - z_{ij}^{k}) \quad \forall (i, j) \in \mathcal{A}_{\text{virt}}^{k}, (u_{k}, v_{k}) \in \mathcal{OD}, \quad (3.36)$$ $$z_{ij}^k \in \{0, 1\} \qquad \qquad \forall (i, j) \in \mathcal{A}_{\text{virt}}^k, \ (u_k, v_k) \in \mathcal{OD}, \quad (3.37)$$ $$\pi_i \in \mathbb{Z}$$ $\forall i \in \mathcal{E}_{op}, \quad (3.38)$ $$t^k \in \mathbb{Z}$$ $\forall (u_k, v_k) \in \mathcal{OD}.$ (3.39) ut Like in the IP [\(3.5\)](#page-95-0)–[\(3.8\)](#page-95-0) for sTT, the constraints [\(3.33\)](#page-116-0) and [\(3.34\)](#page-116-0) ensure feasibility of the timetable on *N* 0 *N* . Constraints [\(3.35\)](#page-116-0) ensure that exactly one virtual activity is chosen for every OD-pair, and constraints [\(3.36\)](#page-116-0) set t k to the travel time of OD-pair .*u*k; *v*k/ if Mk is chosen big enough for every .*u*k; *v*k/ 2 *OD*. We use the equivalent characterization of TTwR provided by Lemma [3.6.3](#page-108-0) to show that this IP formulation for TTwR is correct in the following Lemmas 3.7.6 and 3.7.7. **Lemma 3.7.6.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR and consider the corresponding IP formulation [\(3.32\)](#page-116-0)–[\(3.39\)](#page-116-0). For any set* fMk W .*u*k; *v*k/ 2 *OD*g 2 Nj*OD*j 0 *, a feasible solution* .;*z*;t/ *to [\(3.32\)](#page-116-0)–[\(3.39\)](#page-116-0) defines a feasible solution* .0 ; *OD*0 *op*/ *to* I *such that* $$\overline{c}(\pi', \mathcal{OD}'_{op}) \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k t^k.$$ *Proof.* Let .;*z*;t/ be a feasible solution to the IP formulation [\(3.32\)](#page-116-0)–[\(3.39\)](#page-116-0). We define a timetable 0 setting 0 i WD i for all i 2 *E*org. Due to constraints [\(3.33\)](#page-116-0) and [\(3.34\)](#page-116-0), 0 is a feasible timetable. Furthermore, *z* defines a set of operational ODpairs *OD*0 op D S .*u*k ;*v*k /2*OD*f.i; j / W *z*k ij D 1g. Since *z*ik jk D 1 for .ik; jk/ 2 *OD*0 op, it follows from [\(3.36\)](#page-116-0) that $$\overline{c}(\pi', \mathcal{OD}'_{op}) = \sum_{(i_k, j_k) \in \mathcal{OD}'_{op}} w_k(\pi_{j_k} - \pi_{i_k}) \le \sum_{(u_k, v_k) \in \mathcal{OD}} w_k t^k.$$ **Lemma 3.7.7.** *Let* I D .*N* ; l; *u*; *OD*/ *be an instance of TTwR, and let for every OD-pair* .*u*k; *v*k/ 2 *OD the number* Mk *be chosen in such a way that* $$M^{k} \geq (\pi_{j_{1}} - \pi_{i_{1}}) - (\pi_{j_{2}} - \pi_{i_{2}})$$ $$\forall (i_{1}, j_{1}), (i_{2}, j_{2}) \in \mathcal{A}^{k}_{virt} \text{ and every feasible timetable } \pi \text{ for } \mathcal{N}'.$$ (3.40) *Then a solution* .0 ; *OD*0 *op*/*, defined by an optimal solution* .;*z*;t/ *to the IP [\(3.32\)](#page-116-0)– [\(3.39\)](#page-116-0), is an optimal solution to the instance* I *of TTwR and* $$\overline{c}(\pi', \mathcal{OD}'_{op}) = \sum_{(u_k, v_k) \in \mathcal{OD}} w_k t^k.$$ *Proof.* 1. Let .0 ; *R*0 / be a feasible solution to I . Let *N* 1 op;:::; *N* m op with *N* i op D .*E*i op; *A*i op/ denote the connected components of *N*op, and let ji ; ki be defined as in Notation [3.7.1.](#page-110-0) Like in Lemma [3.7.3,](#page-112-0) we define as follows: 110 3 Timetabling • We set j WD 0 j for all j 2 *E*1 op. Then we proceed the connected components iteratively as follows: - For i D 2;:::;m, we set ki D ji-1 . - We now build the timetable in *N* i op setting j D 0 j ki . Then for .i; j / 2 *A*i op, we have $$\pi_j - \pi_i = (\pi'_j - \pi_{k_i}) - (\pi'_i - \pi_{k_i}) = \pi'_j - \pi'_i \in [l_{ij}, u_{ij}],$$ since 0 is a feasible timetable on *N* . Hence, constraints [\(3.33\)](#page-116-0) and [\(3.34\)](#page-116-0) are fulfilled. Note that since ki D ji-1 for every i D 2;:::;m, is a feasible timetable on *N* 0 . Denote by .ik; jk/ the activity in *OD*0 op \ *A*k virt. We define $$z_{ij}^k := \begin{cases} 1 \text{ if } (i,j) = (i_k,j_k) \\ 0 \text{ otherwise} \end{cases} \ \forall (u_k,v_k) \in \mathcal{OD}, (i,j) \in \mathcal{A}_{\text{virt}}^k,$$ $$t^k := \pi'_{j_k} - \pi'_{i_k} \qquad \forall (u_k,v_k) \in \mathcal{OD}.$$ Constraints [\(3.35\)](#page-116-0) are fulfilled because *OD*0 op is a set of operational OD-pairs. For .ik; jk/ 2 *OD*0 op, constraints [\(3.36\)](#page-116-0) are fulfilled by definition. For .i; j / 2 *A*k virt n .ik; jk/, we have $$t^{k} \ge \pi_{j_{k}} - \pi_{i_{k}} = \pi_{j} - \pi_{i} - [(\pi_{j} - \pi_{i}) - (\pi_{j_{k}} - \pi_{i_{k}})]$$ $$\ge \pi_{j} - \pi_{i} - M^{k} = \pi_{j} - \pi_{i} - M^{k} (1 - z_{i_{j}}^{k}).$$ Due to the definition of t k, P .*u*;*v*/2*OD w*kt k D c.0 ; *OD*0 op/. 2. Let .;*z*;t/ be an optimal solution to [\(3.32\)](#page-116-0)–[\(3.39\)](#page-116-0). Due to Lemma [3.7.6,](#page-117-0) there is a solution .0 ; *OD*0 op/ with $$\overline{c}(\pi', \mathcal{OD}'_{\mathrm{op}}) \leq \sum_{(u_k, v_k) \in \mathcal{OD}} w_k t^k.$$ Suppose that for an optimal solution .; *OD* op/ to TTwR, it holds that $$\overline{c}(\pi^*, \mathcal{OD}_{\mathrm{op}}^*) < \sum_{(u_k, v_k) \in \mathcal{OD}} w_k t^k.$$ Due to [\(1\)](#page-117-0), there is a solution .;*z*; t/ to [\(3.32\)](#page-116-0)–[\(3.39\)](#page-116-0) with $$\sum_{(u_k,v_k)\in\mathcal{OD}} w_k t_k^* = \overline{c}(\pi^*, \mathcal{OD}_{op}^*) < \sum_{(u_k,v_k)\in\mathcal{OD}} w_k t^k.$$ This contradicts the optimality of .;*z*;t/. ut The minimal values which the numbers fMk W .*u*k; *v*k/ 2 *OD*g are allowed to take such that [\(3.40\)](#page-117-0) is satisfied can be rewritten as $$\max_{\pi \text{ feasible for } \mathcal{N}'} \max_{((i_1,j_1),(i_2,j_2)) \in \mathcal{A}_{\text{virt}}^k \times \mathcal{A}_{\text{virt}}^k} (\pi_{j_1} - \pi_{i_1}) - (\pi_{j_2} - \pi_{i_2}).$$ Again, these values can be determined in polynomial time by solving a series of linear programs. $$\max \ M^{k}((i_{1}, j_{1}), (i_{2}, j_{2})) := (\pi_{j_{1}} - \pi_{i_{1}}) - (\pi_{j_{2}} - \pi_{i_{2}}), \tag{3.41}$$ s.t. $$\pi_h - \pi_g \ge l_{gh}$$ $\forall (g,h) \in \mathcal{A}', \quad (3.42)$ $$\pi_h - \pi_g \le u_{gh}$$ $\forall (g,h) \in \mathcal{A}', \quad (3.43)$ $$\pi_g \in \mathbb{Z}$$ $$\forall g \in \mathcal{E}_{op}, \quad (3.44)$$ for all ..i1; j1/; .i2; j2// 2 *A*k virt *A*k virt. Since the matrix defined by the constraints (3.42) and (3.43) is totally unimodular and we assume the bounds to be integer, we obtain a solution by linear programming. Then we can set $$M^{k} := \max_{((i_{1},j_{1}),(i_{2},j_{2})) \in \mathcal{A}_{\text{virt}}^{k} \times \mathcal{A}_{\text{virt}}^{k}} M^{k}((i_{1},j_{1}),(i_{2},j_{2})).$$ We summarize our result in the following lemma. **Lemma 3.7.8.** *The minimal values for* fMk W .*u*k; *v*k/ 2 *OD*g *such that [\(3.26\)](#page-112-0) and [\(3.27\)](#page-112-0) are satisfied are* $$M^{k} := \max_{\pi \text{ feasible for } \mathcal{N}'} \max_{((i_{1}, j_{1}), (i_{2}, j_{2})) \in \mathcal{A}_{virt}^{k} \times \mathcal{A}_{virt}^{k}} (\pi_{j_{1}} - \pi_{i_{1}}) - (\pi_{j_{2}} - \pi_{i_{2}}).$$ *These values can be calculated in polynomial time.* Like in Lemma [3.7.5,](#page-115-0) a bound that is faster to calculate can be obtained summing up the upper bounds on all operational activities. **Lemma 3.7.9.** *Given an instance* .*N* ; l; *u*; *OD*/ *of TTwR, we set* Mk P WD a2*Aop u*a*. Then [\(3.40\)](#page-117-0) is satisfied.* *Proof.* For every .i; j / 2 *A*k virt, there exists a (directed) path Pij from i to j in *N*op. Hence $$(\pi_{j_1} - \pi_{i_1}) - (\pi_{j_2} - \pi_{i_2}) = \sum_{(i,j) \in P_{i_1j_1}} (\pi_j - \pi_i) - \sum_{(i,j) \in P_{i_2j_2}} (\pi_j - \pi_i)$$ $$\leq \sum_{(i,j) \in P_{i_1j_1}} (\pi_j - \pi_i)$$ 112 3 Timetabling $$\leq \sum_{(i,j)\in P_{i_1j_1}} u_{ij}$$ $$\leq \sum_{a\in\mathcal{A}_{op}} u_a.$$ Numerical evaluations and a comparison of the two integer programming formulations can be found in [Anh12, SS12b]. There, the virtual-activity-based formulation appears to be superior in almost all tested cases, which may be due to the lower number of constraints and variables used. ut ## **Chapter 4 Delay Management** #### **4.1 Introduction to Delay Management** #### *4.1.1 Delay Management Problems* *Delay management* deals with the short-term adaption of a given timetable to small delays as they occur in daily train operations. The main decisions to make are the *wait-depart decisions*: *Should a connecting train wait if a feeder train arrives with a delay?* If it does not wait, transferring passengers lose their connection; however, if it waits it will also receive a delay. In this section we define the delay management problem relying on the definitions from the preceding chapters, in particular from Sects. [2.1](#page-18-0) and [3.1.](#page-81-0) Like in the timetabling problem, we are given a public transportation network *PT N* D .S; E/, a set of trains TR with specified lines in the PTN, a set of planned connections *C*, and lower bounds l on the driving, waiting, and changing times. Furthermore, we are given a timetable which specifies the arrival and departure times of the trains at the stations. #### **Delays and Delay Propagation** Delay management becomes relevant whenever delays in the train operations occur. When a train arrives late at a station, in most cases it will also depart later, arrive later at the following station, and so on, until the delay is absorbed by the slack times, i.e., the time buffers in the timetable. If a connecting train waits for passengers from a delayed feeder train, it will also receive a delay. Furthermore, delays may be transferred due to capacity restrictions, e.g., if a regional train has to stop to allow a delayed high-speed train to overtake or if trains have to wait outside stations until a platform becomes available. We refer to the first occurrence of a delay as a *source delay*. That is, a source delay is one that is not caused by some other delay in the way described above. Source delays can be classified into two groups. We call a source delay *operational* if it arises because an operation (driving or waiting) takes longer than planned. Operational source delays are additive, i.e., if a train already has a delay of 5 min when it receives an additional operational source delay of 6 min, it will have a total delay of 11 min. If, on the other hand, delay is caused because an arrival or a departure cannot take place at the time it was initially scheduled because of e.g., the delayed arrival of a train driver or of a passengers from outside of the considered system (see, e.g., [GJPW07, KTZ11]), we speak of *external* source delays. In this case, if a train has a delay of 5 min and its departure is externally source-delayed by 6 min, it will have a total delay of 6 min. Some delay management models can deal with both operational and external delays [DPP07,SS08,Bau10,Sch10], while others consider only operational [Dv01, GS07, CDPP12] or only external [GJPS05, Sch06, GJPW07, KTZ11, DHSS12] delays. The spreading of the delay through the public transportation system depends on the slack times, the wait-depart decisions, and the capacity restrictions. It can be modeled in the framework of max-plus algebras [dDD98,Hd01,Gov05] or incorporated in the event-activity network (EAN) [Sch01,SS08,DSS11,DHSS12,Sch13] or similar graph models [DPP07, HGL08, CDPP12]. This is explained in more detail in Sect. [4.2.](#page-131-0) #### **Capacity Restrictions** If trains are rescheduled due to delays, capacity conflicts on tracks and in stations can arise. Hence, in addition to the wait-depart decisions, the planner has to make *rescheduling decisions*. While the delay management problem focuses on the wait-depart decisions in order to minimize passengers' travel time or delay, the *train rescheduling problem* investigates the question how trains should be rescheduled in order to find a feasible disposition timetable. To this end, the railway infrastructure is modeled on a microscopic level including blocks and signals, while most delay management models rely on the macroscopic PTN model as given in Definition [1.3.11.](#page-17-0) Most delay management models consider only wait-depart decisions. Schachtebeck and Schöbel [SS08] and the articles [Sch09, Bau10, SS10a, Sch10, Bau10] include priority decisions on the tracks into the macroscopic delay management model. An additional reassignment of trains to platforms is done in [DSS11]. In [DPP07, CDPP12], a more detailed model is used for train rescheduling. Dollevoet et al. [DCDH12] iterate between macroscopic delay management and microscopic train rescheduling steps. Adenso-Díaz et al. [ADOGT99] consider a train rescheduling problem where it is additionally possible to cancel or reassign services. #### **Online and Offline Delay Management** Since delays in many cases happen unforeseen, delay management is often regarded as an *online* problem [BHLS07, GJPW07, Bau10, KTZ11, KS11], i.e., information about delays is only revealed gradually. However, it is also interesting to study delay management as an *offline* problem, i.e., to assume that all delays are known in advance, as it is mostly done in the literature. A possible application of offline delay management is to predict secondary delays when source delays are known. Thus, it is a valuable tool for short-time adaption of timetables when delays are known in advance, e.g., because of construction works. Also in an online framework, solution methods for offline delay management can be applied to successively re-optimize the wait-depart decisions whenever new delays get known [Bau10,KS11]. Furthermore, offine delay management is in NP, while PSPACE-hardness was shown for an online delay management problem allowing free choices of trains in [BHLS07]. #### **Disposition Timetable** When delays occur, the initial timetable cannot be operated anymore and is hence modified to a *disposition timetable* x. The disposition timetable takes into account both the source delays and the lower bounds on the durations of the driving and waiting of trains. When a train arrives late at a station due to delays, it is possible that connecting trains have already departed; thus, it may not be possible anymore to transfer to the connecting train. We say that the connection is *dropped*, otherwise, it is *maintained*. #### **Demand and Passengers' Behavior** In train rescheduling [DPP07, CDPP12] and early delay management models [dDD98,Dv01,Hd01], passengers' demand is not taken into account in the modeling and optimization process. Some delay management models model demand as *passenger loads* on activities, i.e., it is assumed that for every waiting, driving, and changing activities it is known how many passengers perform this activity (see, e.g., [GS07,SS08,Sch10,DSS11]). Schöbel [Sch01] proposes a model where passengers' demand is given in form of a *routing* in the EAN, i.e., the passengers' paths in the PTN as well as the sequence of trains the passengers take are specified. It is assumed that the underlying timetable is periodic, i.e., that it repeats itself after a fixed time period T , and that whenever the route chosen for an OD-pair cannot be realized because of dropped connections, passengers continue their journey one period later. In the following we refer to this problem as *delay management with penalties*. It is studied in [GGJC04, GJPS05, HGL08,Sch06,Sch07] as well. However, there are also some models which assume that demand is given in form of *OD-pairs*. While in some delay management problem, like in line planning and timetabling, only origins and destinations are specified [GGJC04], other models assume that also *start times* are given [DHSS09,DH11,DCDH12,DHSS12,Sch13]. The start times can be interpreted as the times the passengers arrive at the stations. Hence, the latter models assume that passengers learn about the delays when they arrive at the station. In a model proposed in [BHLS07] for online delay management, a routing is given in the input, and passengers are not allowed to change the corresponding paths in the PTN; however, they can freely choose among the trains going along these paths. In [GGJC04, DHSS09, DH11, DCDH12, DHSS12, Sch13], passengers are allowed to adapt their routes to the disposition timetable freely. #### **Objectives** Delay management aims at finding a trade-off between the inconvenience caused by dropped connections and the additional delay spreading in the system if connections are maintained. To this end, in [dDD98, Hd01, Dv01], *train delays* and *penalties* for dropping connections are accumulated. In [Sch06, GS07, CDPP12], the delay management problem is considered as a bicriteria problem aiming at minimizing both the delay of the vehicles and the weighted number of missed connections. Passenger-oriented models aim at minimizing *passengers' delay* or *travel time*. Since an originally planned travel route cannot be followed anymore in case that a connection on the route is canceled, some models assume that passengers can be rerouted and minimize the rerouted travel time [DHSS09,DH11,DCDH12,DHSS12, Sch13]. Instead of rerouting the passengers, other delay management models (see, e.g., [Sch01,GGJC04,GJPS05,Sch06,Sch07,BHLS07,GJPW07,HGL08]) assume that the underlying timetable is periodic and back on time in the next period and hence estimate the travel time by imposing a *penalty* of the period length in case that a connection is dropped. In [Sch06, Sch07, SS08, Sch10, DSS11], a further simplification of the travel-time objective is investigated. Demand is no longer given in form of routings but in form of *passenger loads* on activities, and a penalty of T multiplied with the activity weight is applied whenever a connection a passenger wanted to use is dropped. Krumke et al. [KTZ11] maximize the *profit* of the railway company, assuming a refund system for delayed passengers. #### *4.1.2 Literature Overview* #### **Modeling Framework** Various models for delay management can be found in the literature. The EAN used in this book was introduced into the public transportation context for modeling timetabling problems (see references in Sect. [3.1.2\)](#page-84-0) and used to model the delay management problem for the first time in [Sch01]. Besides the EAN-based model, there are models in the context of max-plus algebra and control theory [dDD98, Dv01,Hd01] and simulation approaches, see, e.g., [SM99,SMBG01,SBK01]. Train rescheduling is sometimes modeled as a job-shop scheduling problem [DPP07, CDPP12] using an alternative graph formulation which is similar to the EAN. #### **Computational Complexity of Offline Delay Management** In [Sch06], Schöbel shows that if all source delays have the same amount and all slack times are equal to 0, delay management with constant weights can be solved in polynomial time by linear programming. The complexity of (unrestricted) delay management with constant weights is still open. In general, delay management with penalties is strongly NP-hard. (Strong) NP-hardness is shown in [GGJC04, GJPS05, Gat07] for many special cases of the problem. The complexity analysis accomplished in these publications also includes algorithms for polynomially solvable subcases. The special cases considered are generated by imposing restrictions on the network structure, the number of connections used per OD-pair, the slack time, the delay scenario, and the numbers of stations a train can visit. In most problems investigated in these publications, external source delays are considered which are brought into the system by passengers arriving from routes outside the system. Delay management with routing (DMwR) is proven to be strongly NP-hard using a reduction from 3-SAT in [GGJC04]. More generally speaking, in [GJPS05], it is claimed that every special case considered in the complexity analysis of this paper which is (strongly) NP-hard for the model with fixed passenger routes is also (strongly) NP-hard for delay management with dynamic route choices. In [Sch13], DMwR is shown to be strongly NP-complete even if there is only one passenger. However, under a realistic assumption on the problem instances, delay management for one OD-pair can be solved in polynomial time [DHSS12,Sch13]. In [GS07,Sch06] it is shown that the bicriteria problem of minimizing the delay of the vehicles and the weighted number of missed connections simultaneously is NP-hard by reduction from the knapsack problem. If additionally to the wait-depart decisions also decisions concerning the limited track capacities have to be taken, delay management with penalties is NP-hard, even in the special case where the wait-depart decisions are already made [CS07]. #### **Solution Approaches in Offline Delay Management** When wait-depart decisions are fixed, the initial timetable can be updated in polynomial time to a disposition timetable by the critical path method [Sch06]. Variants of the delay management problem which can be solved in polynomial time by cut-based approaches and dynamic programming are studied in [Gat07]. However, no polynomial algorithm for delay management is known. Therefore, in most publications the problem is solved by integer programming or integerprogramming-based heuristics. When modeling delay management as an integer program, variables to construct the disposition timetable as well as variables keeping track of the wait-depart decisions are needed in most models. To update the given timetable to a disposition timetable, in [GS07,SS08,SS10a, Sch10], variables for every departure and every arrival are introduced, and the conditions on the disposition timetable are established as linear constraints in the model. In [Sch01, Sch06, Sch07], the update to a disposition timetable is only implicitly modeled by propagating the delays through the network using delay variables and equivalent constraints. In [HGL08], this model is developed further such that variables neither for the disposition timetable nor for the delays are needed anymore. To calculate the objective value of delay management with penalties, a straightforward approach is to introduce a variable for every route in the routing, which indicates whether all connections on the route are maintained or not. In the former case, the delay at the destination is counted, while in the latter a penalty of T is added to the objective function. A quadratic formulation and a linearization for this approach are proposed in [Sch01, Sch07, Sch06], and in [HGL08] a similar linear model is treated. Various integer programming formulations for *delay management with penalties* have been developed, analyzed, and compared in [Sch01, Sch07, Sch06, HGL08]. In [Sch06], Schöbel proves upper and lower bounds and network reduction results and develops a branch-and-bound algorithm for delay management with penalties based on this result. Heilporn et al. [HGL08] propose a branch-and-cut procedure and a constraint-generation approach to solve the problem. Furthermore, in [Sch06, Sch07] a nonlinear model with three types of variables based on the activities of the EAN is developed. The first type of variables indicates for every activity how many passengers use it. The second type of variables is introduced only for changing activities and indicates whether a changing activity is maintained or not. Thirdly for every changing activity and every route in the routing which uses the changing activity, a variable indicates whether the changing activity is reached without any anterior missed connection. Then the weighted delay on every maintained activity and the weighted penalty for dropped connections are combined to the objective function. A simplification of this nonlinear program, which fixes the passenger numbers to the values they would take without missed connections, yields a formulation for delay management with constant weights (see [Sch06,Sch07]), which is further used in [SS08,SS10a,Sch10]. Delay management with constant weights in general *overestimates* the overall delay [Sch06, Sch07]. However, in a setting where every node of the EAN is influenced by at most one source delay (this is called the *never-meet property*), the simplified model is equivalent to the original one. Delay management with constant weights is solved by a branch-and-bound procedure or, in case that the never-meet property holds, by decomposing the problem into subproblems, in [Sch06]. In [Sch06,GS07,CDPP12] delay management is modeled as a bicriteria problem minimizing simultaneously the sum over the delays and the number of missed connections. Also in these publications, variables based on changing activities are introduced to count the number of missed connections. An algorithm to find all efficient solutions is given. Dollevoet et al. [DHSS09, DHSS12] propose and solve an integer programming formulation for DMwR. Since integer programming is impractical for large problem instances, in [DH11], Dollevoet and Huisman test various heuristic solution approaches for DMwR. Delay management including priority decisions is analyzed in [Sch10, SS10a, SS08,Sch09]. Solution approaches include integer programming and variable-fixing heuristics. In [DPP07], a microscopic model for a train rescheduling problem is formulated as a job-shop problem and solved using branch-and-bound. Dollevoet et al. [DCDH12] iterate between delay management and train scheduling to use a delay management problem including capacity constraints on a microscopic level. #### **Online Delay Management** Since delays in many cases happen unforeseen, delay management is often regarded as an online problem. A competitive analysis for online delay management on a single line is done in [GJPW07,Gat07,KTZ11]. Different strategies for online delay management have been compared numerically in [Bau10,KS11]. In [BHLS07] it is shown that the considered online delay management problem is PSPACE-hard and a simulation platform to compare different heuristics for online delay management is presented. #### **Related Problems** When rescheduling trains in case of delays, it is also possible to skip services or to replace them by other train units. This extended rescheduling problem is studied, e.g., in [ADOGT99]. Other approaches to deal with delays in the daily railway operations are to give delay-resistant travel advice to passengers [GKMHC13,GHMHC13] or to construct delay-resistant timetables (see references in Sect. [3.1.2\)](#page-84-0). In particular the concept of recoverable robust timetabling [CDSC09, LLMS09, Sch10] or recoverable robust timetable information [GHMHC13], where the possibility to reroute passengers is explicitly taken into account, is related to the delay management problem. Anderegg et al. [APW02] consider a problem where buses arrive with an unknown delay at an origin station and the waiting time at this station has to be minimized. #### *4.1.3 The Delay Management Problem Considered in This Book* In this section we define delay management with routing (DMwR) in the context of the PTN relying on the definitions and notations from the preceding chapters. #### **Delays** In the remainder of this book we assume *external* source delays which occur at arrivals and departures of trains. **Definition 4.1.1.** Given a PTN *PT N* D .S; E/ and a set of trains TR, to every departure and every arrival of a train tr 2 TR at a station s 2 S, an (external) *source delay* d.trs-Dep/ 2 N0 (or d.trs-Arr/ 2 N0, respectively) is assigned. Note that in realistic instances, for most events the associated source delay is 0. If d.trs-Dep/ > 0 (or d.trs-Arr/ > 0), we say that the departure (or arrival) of train tr at station s is *delayed*. Otherwise, it is *not delayed*. #### **Disposition Timetable** Like in timetabling, we denote the lower bounds on driving, waiting, and changing times by vectors l of nonnegative integers. Given a PTN *PT N* D .S; E/, a set of trains TR, lower bounds l on the driving and waiting times, a timetable , and source delays d, a *disposition timetable* x is a timetable (as defined in Definition [3.1.1\)](#page-87-0) that satisfies $$x_{(\text{tr}-s-\text{Dep})} \ge \pi_{(\text{tr}-s-\text{Dep})} + d_{(\text{tr}-s-\text{Dep})} \ \forall \ \text{departures of trains tr at stations } s,$$ $x_{(\text{tr}-s-\text{Arr})} \ge \pi_{(\text{tr}-s-\text{Arr})} + d_{(\text{tr}-s-\text{Arr})} \ \forall \ \text{arrivals of trains tr at stations } s.$ and $$\begin{split} x_{(\text{tr}-s-\text{Dep})} - x_{(\text{tr}-s'-\text{Arr})} &\geq l_{(\text{tr}-s-\text{Dep},\text{tr}-s'-\text{Arr})} \\ \forall \text{ driving times of train tr on edge } \{s,s'\}, \\ x_{(\text{tr}-s-\text{Arr})} - x_{(\text{tr}-s-\text{Dep})} &\geq l_{(\text{tr}-s-\text{Arr},\text{tr}-s-\text{Dep})} \\ \forall \text{ waiting times of train tr at station } s. \end{split}$$ We say that a connection .tr; tr0 ; s/ 2 *C* is *maintained* under disposition timetable x if $$x_{(\text{tr}'-s-\text{Dep})} - x_{(\text{tr}-s-\text{Arr})} \ge l_{(\text{tr}-s-\text{Dep},\text{tr}'-s-\text{Arr})}$$ for the lower bound l.trs-Dep;tr0s-Arr/ on connection .tr; tr0 ; s/. Otherwise, .tr; tr0 ; s/ is *dropped*. #### **Demand, Passenger Routes, and Travel Time** Different to our assumptions in the considered line planning and timetabling problems, in delay management, we assume that passengers are already at the origin station when they are informed about delays. Thus, other than in Definition [2.1.3,](#page-25-0) in delay management, the OD-pairs include the start times. That is, the *passengers' demand* is given in form of an *origin*, a *destination*, and a *start time* .*u*; *v*;/ -S S Z. For every so-defined *OD-pair* .*u*; *v*;/, the *number of passengers* or *passenger weight wuv* is specified. We restrict the train-routes which a passenger can take to the ones starting not earlier than the passenger's arrival at the origin station. **Definition 4.1.2.** Given a timetable , a *start-time-train-route (ST-train-route)* P*uv* for an OD-pair .*u*; *v*;/ 2 *OD* is a train-route for .*u*; *v*/ as defined in Definition [3.1.2,](#page-88-0) satisfying .tr*u*-Dep/ for the train tr chosen for the departure at the origin. Like in the preceding chapters, when the set of OD-pairs is indexed, e.g., *OD* D f.*u*k; *v*k; k/ W k 2 Kg for an index set K, for the sake of simplicity, we also use the notation *w*k WD *wu*k *v*kk and Pk WD P*u*k *v*kk . Due to dropped connections, it is possible that some ST-train-routes are not realizable anymore. An ST-train-route P*uv* is *feasible for a disposition timetable* x if the connections from one train to another, defined by P*uv* , are maintained. We can regard the feasibility from a different perspective, i.e., require the disposition timetable to maintain all connections on a given ST-train-route: A disposition timetable x is *feasible for an ST-train-route* P*uv* if the connections from one train to another, defined by P*uv* , are maintained. These feasibility decisions are equivalent in the sense that if and only if an ST-train-route P*uv* is feasible for a disposition timetable x, x is feasible for P*uv* . Since we assume that a passenger arrives at a given time at his/her origin station, his/her travel time along an ST-train-route P*uv* is calculated as the time difference between the start time and the arrival time at the destination, according to the disposition timetable: $$c(x, P_{uv\sigma}) := x_{(tr(v,Arr)-v-Arr)} - \sigma,$$ where tr.*v*; Arr/ is the train chosen for the arrival at station *v* in P*uv* . See Lemma [3.1.3](#page-89-0) for the different definition in timetabling. An *ST-train-routing R* is a set containing exactly one ST-train-route for every OD-pair .*u*; *v*;/ 2 *OD*, i.e., *R* WD fP*uv* W .*u*; *v*;/ 2 *OD*g. An ST-train-routing *R* is *feasible for a disposition timetable* x if every ST-train-route P*uv* 2 *R* is feasible for x. A disposition timetable x is *feasible for an ST-train-routing R* if it is feasible for every ST-train-route P*uv* 2 *R*. Again, both feasibility definitions are equivalent in the sense that ST-train-routing *R* is feasible for disposition timetable x if and only if x is feasible for *R*. Also in delay management our objective is to minimize the passengers' overall *travel time* c.x; *R*/ WD P P*uv*2*R wuv* c.x; P*uv* / over all feasible combinations of disposition timetables x and ST-train-routings *R*. #### **Delay Management with Routing** We are now ready to define the problem DMwR from [DHSS09,DHSS12]. **Definition 4.1.3.** An instance .*PT N* ; TR; *C*; l; ; *OD*;d/ of delay management with routing (DMwR) consists of a public transportation network *PT N* , a set of trains TR with specified lines in the PTN, a set of planned connections *C*, lower bounds on driving, waiting, and changing times l, a timetable , a set of OD-pairs *OD*, and source delays d. The task is to find a disposition timetable x and a feasible ST-train-routing *R* for x that minimize the overall travel time c.x; *R*/. Given a connection .tr; tr0 ; s/ 2 *C*, the question whether .tr; tr0 ; s/ is maintained in the disposition timetable or not is referred to as a *wait-depart decision*. In many papers, delay management is regarded from the perspective of the wait-depart decisions which relies on the insight that, given a set of maintained connections, a disposition timetable and an ST-train-routing which are optimal for the chosen set of maintained connections can easily be constructed (see, e.g., [Sch06]). Hence, the task of delay management can be reformulated as the decision about which connections should be maintained and which connections should be dropped. This idea is explained in more detail in Sect. [4.3.](#page-134-0) ### *4.1.4 Outline of the Delay Management Chapter* We use EANs for modeling DMwR. The slight modification in the definition of an EAN compared to Sect. [3.2](#page-90-0) that is necessary in the definition of an EAN for DMwR is explained in the next section, and DMwR is formulated in terms of the EAN in Definition [4.2.5.](#page-133-0) In Sect. [4.3](#page-134-0) we investigate how a given disposition timetable, a given set of maintained connections, or a given routing define a solution to DMwR. Section [4.4](#page-138-0) comprises a complexity analysis of DMwR. In Sects. [4.4.1](#page-139-0) and [4.4.2](#page-144-0) we concentrate on instances of DMwR with a single OD-pair. This problem is shown to be strongly NP-hard in Theorem [4.4.1.](#page-139-0) However, under some assumptions on the network structure, Algorithm [1](#page-148-0) presented in Sect. [4.4.2](#page-144-0) solves DMwR to optimality. Section [4.4.2](#page-144-0) in addition contains further analysis of Algorithm [1,](#page-148-0) namely, it is shown that even if the provided solution is not optimal, it yields a lower bound as well as a two-approximation on the optimal objective value. In Sect. [4.4.3](#page-159-0) we investigate whether Algorithm [1](#page-148-0) can be extended to find an optimal solution for instances of DMwR in which all OD-pairs have the same origin under the mentioned assumption on the network structure. Then, in Sect. [4.4.4,](#page-163-0) we show that for general instances of DMwR there can be no approximation algorithm, but that for instances in which the delay is bounded with respect to the travel time an easy approximation can be given. Finally, in Sect. [4.5](#page-170-0) we extend an integer program for delay management with constant weights to deal with DMwR. #### **4.2 Modeling Delay Management with Routing Using Event-Activity Networks** EANs as used in Chap. [3](#page-81-0) are also used to model delay management problems (see, e.g., [Sch06,Sch07,DHSS09,SS10a,DHSS12]). The construction of these networks from a public transportation network *PT N* , a set of trains TR, a set of planned connections *C*, and a set of OD-pairs *OD* D f.*u*k; *v*k/ W k 2 Kg is explained in detail in Sect. [3.2.](#page-90-0) Therefore, in this section we limit ourselves to point out the small difference of the EAN used in DMwR to the EAN used in TTwR which is due to the additional information of the start time in the set of OD-pairs *OD* D f.*u*k; *v*k; k/ W k 2 Kg that we are given in DMwR. To this end, let .*PT N* ; TR; *C*; l; ; *OD*;d/ be an instance of DMwR. To include the start time we define a mapping org0 which maps an OD-pair .*u*; *v*;/ to an *origin node u*org. / WD org0 .*u*; *v*;/. #### **Definition 4.2.1.** We define • the set of *origin events* $$\mathcal{E}'_{\text{org}} := \text{org}'(\mathcal{OD}) = \{u^{\text{org}}(\sigma) : (u, v, \sigma) \in \mathcal{OD}\}$$ • and the set of *origin activities A*0 org - *E*0 org *E*dep $$\begin{split} \mathcal{A}_{\text{org}}' &:= \{ (u^{\text{org}}(\sigma), \text{tr}-u-\text{Dep}) : u^{\text{org}}(\sigma) \in \mathcal{E}_{\text{org}}', (\text{tr}-u-\text{Dep}) \in \mathcal{E}_{\text{dep}}, \\ \pi_{(\text{tr}-u-\text{Dep})} &\geq \sigma \}. \end{split}$$ In other words, compared to Definitions [3.2.2](#page-90-0) and [3.2.4,](#page-91-0) we add the start time to the description of the origin nodes and connect each origin node *u* org k . / only to departure event .tr *u* Dep/ at station *u* if the departure of train tr at station *u* is scheduled after the OD-pair's start time. Hence, a passenger cannot leave the station earlier than planned. Operational and destination events and activities are defined as in Definitions [3.2.1–](#page-90-0)[3.2.4.](#page-91-0) In this chapter the EAN is given by *N* WD .*E*; *A*/ with $$\mathcal{E} := \mathcal{E}_{op} \cup \mathcal{E}'_{org} \cup \mathcal{E}_{dest} \ \ \text{and} \ \ \mathcal{A} := \mathcal{A}_{op} \cup \mathcal{A}'_{org} \cup \mathcal{A}_{dest}.$$ Note that in models where the a routing or passenger loads are fixed in the input (see, e.g., [Sch06]), the smaller operational EAN *N*op D .*E*op; *A*op/ is used and referred to as "EAN". We reinterpret the source delays as assignments di 2 N0 to the events i 2 *E*op and transfer the definition of disposition timetables to EANs. **Definition 4.2.2.** Given an EAN *N* D .*E*; *A*/ with lower bounds la on the operational activities a 2 *A*op, a timetable , and source delays de on the events e 2 E, a *disposition timetable* x is a timetable that satisfies $$x_i \ge \pi_i + d_i \ \forall i \in \mathcal{E} \ \text{and} \ x_j \ge x_i + l_{ij} \ \forall (i,j) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}}.$$ In delay management the driving and waiting activities impose operational restrictions on the vehicles, whereas a changing activity does not imply that a train has to wait in case of a delay of another train. In fact, the wait-depart decision can be regarded as the main decision we want to take during the optimization process. Given a timetable , we denote by $$\mathcal{A}_{fix}(x) := \{ (i, j) \in \mathcal{A}_{change} : x_j - x_i \ge l_{ij} \}$$ $$(4.1)$$ the set of *maintained changing activities*. Analogously to Sects. [2.2](#page-29-0) and [3.2](#page-90-0) every ST-train-route in the PTN represents a path in the EAN and vice versa. Hence, for a path Pk WD .*u* org k .k/; i k 1 ;:::;i k nk ; *v*dest k / in *N* and a disposition timetable x, we calculate the travel time as $$c(x, P_k) = x_{i_{n_k}^k} - \sigma.$$ A *routing* in the EAN is a collection *R* WD fPk W .*u*k; *v*k; k/ 2 *OD*g with Pk being a path from *u* org k .k/ to *v*dest k in the EAN. For a timetable and a routing *R* in the EAN, we can interpret the overall *travel time* as $$c(x, \mathcal{R}) = \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k c(x, P_k).$$ The feasibility definitions from Sect. [4.1.1](#page-121-0) can now be translated to the EAN. **Definition 4.2.3.** A routing *R* is *feasible for a disposition timetable* x (or, equivalently, a *disposition timetable* x *is feasible for a routing R*) if and only if $$P_k \cap (\mathcal{A}_{\text{change}} \setminus \mathcal{A}_{\text{fix}}(x)) = \emptyset \quad \forall P_k \in \mathcal{R}.$$ Hence, a routing is feasible for a disposition timetable x if and only if the corresponding ST-train-routing is feasible for x. (And a disposition timetable x is feasible for a routing if and only if it is feasible for the corresponding ST-trainrouting.) Let x be a disposition timetable. To illustrate the paths which can be chosen for the OD-pairs and their lengths, we define a network that excludes all dropped changing activities and takes as arc lengths the time distance between the incident events: **Definition 4.2.4.** Given an EAN *N* and a disposition timetable x, we define the *routing network N* .x/ WD .*E*; *A*.x// with $$A(x) := \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}(x) \cup \mathcal{A}'_{\text{org}} \cup \mathcal{A}_{\text{dest}}.$$ The length of .i; j / 2 *A*.x/ is $$L_{ij} := \begin{cases} \pi_j - \pi_i & \text{if } (i, j) \in \mathcal{A}_{op} \cap \mathcal{A}(x), \\ \pi_j - \sigma_k & \text{if } j \in \mathcal{E}_{op} \text{ and } i = u_k^{org}(\sigma_k) \text{ for an OD-pair } (u_k, v_k, \sigma_k) \in \mathcal{OD}, \\ 0 & \text{if } i \in \mathcal{E}_{op} \text{ and } j = v_k^{org} \text{ for an OD-pair } (u_k, v_k, \sigma_k) \in \mathcal{OD}. \end{cases}$$ We can now redefine DMwR as stated in Definition [4.1.3.](#page-130-0) **Definition 4.2.5.** An instance I D .*N* ; l; ; *OD*;d/ of DMwR consists of an EAN *N* , lower bounds on the lengths of the operational activities l, a timetable , a set of OD-pairs *OD*, and a set of source delays d. The task is to find a disposition timetable x and a feasible routing *R* for x in *N* .x/ that minimize the overall travel time c.x; *R*/. Since they describe the same problem, in the following sections we equivalently use Definitions [4.1.3](#page-130-0) and 4.2.5 and the associated definitions and notations for representing DMwR as a problem in the PTN or the EAN. Note that the objective of DMwR can equivalently be described as the minimization of delays instead of travel times. Since this alternative point of view is useful in some explanations and proofs in the remainder of this chapter, we introduce it formally. To this end, let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR. For every .*u*k; *v*k; k/ 2 *OD*, let Pk denote a path from *u* org k .k/ to *v*dest k in *N* with last operational node jk that minimizes SPk WD jk k. (Such a path can easily be found by shortest path calculations in *N* ./.) We call SPk the *nominal travel time for OD-pair* .*u*k; *v*k; k/. The overall *delay* of a feasible solution .x; *R*/ to I is $$c^{d}(x,\mathcal{R}) := \sum_{P_{k} \in \mathcal{R}} w_{k}(c(x,P) - SP_{k})$$ (4.2) and the *delay in a node* e 2 *E*op is defined as d.x; e/ D xe e. Naturally, the overall delay can be calculated from the delays in the last arrival nodes of every OD-pair's path. ut **Lemma 4.2.6.** *Let* .x; *R*/ *be a feasible solution to* I *with R* D fPk W .*u*k; *v*k; k/ 2 *OD*g*. Denote by* jk *the last arrival node on a shortest path from uorg* k .k/ *to vdest* k *in* N./*. Let* j 0 k *denote the last node on* Pk 2 *R. Then* $$c^d(x,\mathcal{R}) = \sum_{P_k \in \mathcal{R}} w_k (x_{j_k'} - \pi_{j_k}).$$ *Proof.* $$c^{d}(x,\mathcal{R}) := \sum_{P_k \in \mathcal{R}} w_k(c(x,P_k) - SP_k) = \sum_{P_k \in \mathcal{R}} w_k(c(x,P_k) + \sigma_k - (SP_k + \sigma_k))$$ $$= \sum_{(u_k,v_k,\sigma_k) \in \mathcal{OD}} w_k(x_{j_k'} - \pi_{j_k}).$$ Since SPk is constant for every .*u*k; *v*k; k/ 2 *OD*, the overall delay cd is an alternative objective function for DMwR: **Lemma 4.2.7.** *Let* I *be an instance of DMwR and* .x; *R*/ *a solution to* I *.* .x; *R*/ *minimizes* c *if and only if* .x; *R*/ *minimizes* cd *.* ### **4.3 Solving Delay Management When Part of the Solution Is Fixed** In this section we show that solutions to DMwR can be defined in a sensible way by the specification of a disposition timetable x, a set of maintained changing activities *A*fix, or a routing *R*. Furthermore, we prove some results about the so-defined solutions which we use in the proofs in the following sections and give some more formal prerequisites for the next sections. First, suppose that a disposition timetable x is given. The set of corresponding maintained changing activities *A*fix.x/ is given as $$\mathcal{A}_{fix}(x) := \{(i, j) \in \mathcal{A}_{change} : x_j - x_i \ge l_{ij}\}$$ according to [\(4.1\)](#page-132-0). We now define the corresponding routings: **Definition 4.3.1.** Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR and let x be a disposition timetable for *N* . If there exists a feasible routing for x, for every ODpair .*u*k; *v*k; k/, we define *Pu*k *v*kk .x/ D *P*k.x/ to be the set of shortest paths Pk.x/ from *u* org k .k/ to *v*dest k in the routing network *N* .x/. • The set of *routings corresponding to* x is $$OPT(x) := \{ \mathcal{R}(x) : \mathcal{R}(x) = \{ P_1(x), \dots, P_{|OD|}(x) \} \text{ with } P_k(x) \in \mathcal{P}_k(x) \}.$$ • The set of *solutions corresponding to* x is defined as f.x; *R*.x// W *R*.x/ 2 OPT.x/g. Since *R*.x/ is defined as a shortest-path routing, Lemma 4.3.2 follows directly: **Lemma 4.3.2.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR, and let* x *be a disposition timetable for N . If there is a feasible routing for* x*, for all R*.x/ 2 *OPT*.x/*, it holds that* $$c(x, \mathcal{R}(x)) \le c(x, \mathcal{R}')$$ *for all routings* R0 *for OD that are feasible for* x*.* In order to define a solution corresponding to a given set of maintained changing activities *A*fix, we consider the *delay management problem with fixed connections* defined in [Sch06]: **Definition 4.3.3 ([Sch06]).** An instance .*N* ; l; ; *A*fix;*w*;d/ of *delay management with fixed connections (DMwFC)* consists of an EAN *N* , lower bounds l on the operational activities, a timetable , a set of maintained changing activities *A*fix, weights *w* WD f*w*e 2 N W e 2 *E*opg for the events, and source delays d. The task is to find a disposition timetable x such that all changing activities in *A*fix are maintained and P e2*E w*e.xe e/ is minimized. The result from [Sch06], which we cite in Lemma 4.3.5, states that the solution to this problem can be calculated, independently of the weights *w*e for e 2 *E*op, as follows: **Definition 4.3.4.** Consider an EAN *N* with lower bounds la on the operational activities a 2 *A*op, a timetable on *N* and source delays de on the operational events e 2 *E*op. Given a set of maintained changing activities *A*fix - *A*change, we define the disposition timetable x.*A*fix/ as $$x(\mathcal{A}_{\mathrm{fix}})_j := \max\{\pi_j + d_j, \max_{i:(i,j) \in \mathcal{A}_{\mathrm{drive}} \cup \mathcal{A}_{\mathrm{wait}} \cup \mathcal{A}_{\mathrm{fix}}} \{x(\mathcal{A}_{\mathrm{fix}})_i + l_{ij}\}\}.$$ This method to generate a new disposition timetable is called *critical path method* [Sch06]. Note that in general, for a given set of maintained changing activities *A*0 fix $$\mathcal{A}_{\text{fix}}(x(\mathcal{A}_{\text{fix}}')) = \{(i,j) \in \mathcal{A}_{\text{change}} : x(\mathcal{A}_{\text{fix}}')_j - x(\mathcal{A}_{\text{fix}}')_i \geq l_{ij}\} \supseteq \mathcal{A}_{\text{fix}}'$$ **Lemma 4.3.5 ([Sch06]).** *Let* I D .*N* ; l; ; *Afix*;*w*;d/ *be an instance of DMwFC. The disposition timetable* x.*Afix*/ *is an optimal solution to* I *.* This implies the following result for DMwR. **Definition 4.3.6.** Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR and let *A*fix be a subset of the changing activities. - The *disposition timetable corresponding to A*fix is x.*A*fix/ as defined in Definition [4.3.4.](#page-135-0) - The set of *routings corresponding to A*fix is OPT.x.*A*fix//. - The set of *solutions corresponding to A*fix is $$\{(x(\mathcal{A}_{fix}), \mathcal{R}(x(\mathcal{A}_{fix})) : \mathcal{R}(x(\mathcal{A}_{fix})) \in OPT(x(\mathcal{A}_{fix}))\}.$$ **Lemma 4.3.7.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR and let Afix be a subset of the changing activities. Then for every R*.x.*Afix*// 2 *OPT*.x.*Afix*// $$c(x(\mathcal{A}_{fix}), \mathcal{R}(x(\mathcal{A}_{fix}))) \leq c(x', \mathcal{R}')$$ *for every disposition timetable* x0 *for which Afix Afix*.x0 / *and every routing R*0 *in N* .x0 /*.* *Proof.* Consider e 2 *E*. Setting weights $$w_i^e := \begin{cases} 1 & \text{if } i = e \\ 0 & \text{otherwise.} \end{cases}$$ Lemma [4.3.5](#page-135-0) yields x.*A*fix/e x0 e. It follows that $$c(x(\mathcal{A}_{fix}), \mathcal{R}(x(\mathcal{A}_{fix}))) = \sum_{P_k \in \mathcal{R}(x(\mathcal{A}_{fix}))} w_k c(x(\mathcal{A}_{fix}), P_k)$$ $$\leq \sum_{P'_k \in \mathcal{R}'} w_k c(x(\mathcal{A}_{fix}), P'_k)$$ $$= \sum_{P'_k \in \mathcal{R}'} w_k \left(x(\mathcal{A}_{fix})_{i_k} - \sigma_k\right)$$ $$\leq \sum_{P'_k \in \mathcal{R}'} w_k \left(x'_{i_k} - \sigma_k\right)$$ $$= c(x', \mathcal{R}'),$$ where ik denotes the last arrival event on path P0 k. ut The following two observations on disposition timetables will be used in the following sections. **Lemma 4.3.8.** *Let N be an EAN with timetable and lower bounds* l*. Let Afix be a subset of the changing activities. For* i0 ; j 0 2 *Eop with* i0 *N*.x.*Afix*// j 0 *denote by P*.i0 ; j 0 ; *Afix*/*, the set of paths from* i0 *to* j 0 *in N* .x.*Afix*//*, with P*.j 0 ; j 0 ; *Afix*/ WD f;g*. Then* $$x(\mathcal{A}_{fix})_{j'} = \max_{i' \in \mathcal{E}_{op}: i' \leq \mathcal{N}(x(\mathcal{A}_{fix}))j'} \max_{P \in \mathcal{P}(i',j',\mathcal{A}_{fix})} \left\{ \pi_{i'} + d_{i'} + \sum_{(i,j) \in P} l_{ij} \right\}.$$ This follows by induction from Definition [4.3.6.](#page-136-0) **Corollary 4.3.9.** *Let N be an EAN with timetable and lower bounds* l*. Let Afix be a subset of the changing activities. Then for every* j 2 *Eop* $$x(\mathcal{A}_{fix})_j \leq \pi_j + \max_{i \in \mathcal{E}_{op}} d_i.$$ Other than, e.g., in *delay management with penalties* or in *delay management with constant weights* (see, e.g., [Sch06] or other papers referenced in Sect. [4.1.2\)](#page-125-0), in DMwR for every OD-pair a path in the EAN has to be found. Hence, the routing defines a set of maintained changing activities and a timetable: **Definition 4.3.10.** Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR and let *R* be a routing for *OD*. • The set of *maintained changing activities corresponding to R* is $$\mathcal{A}_{fix}(\mathcal{R}) := \bigcup_{P_k \in \mathcal{R}} (P_k \cap \mathcal{A}_{change}).$$ - The *disposition timetable corresponding to R* is x.*R*/ where x.*R*/ WD x.*A*fix.*R*// with *A*fix.*R*/ as defined above. - The *solution corresponding to R* is .x.*R*/; *R*/. **Corollary 4.3.11.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR and let R be a routing for OD. Then* $$c(x(\mathcal{R}), \mathcal{R}) \le c(x', \mathcal{R})$$ *for every disposition timetable* x0 *for which Afix*.*R*/ *Afix*.x0 /*. Proof.* $$c(x(\mathcal{R}), \mathcal{R}) = c(x(\mathcal{A}_{fix}(\mathcal{R})), \mathcal{R}) \le c(x', \mathcal{R}),$$ according to Lemma [4.3.7.](#page-136-0) ut In this sense, the specification of a disposition timetable, a set of maintained changing activities, or a routing determines a solution to DMwR. **Notation 4.3.12.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR. In the following we sometimes describe a solution to* I *stating only* • *the disposition timetable* x *referring to a corresponding full solution* .x; *R*.x// *with R*.x/ *being an arbitrary routing in OPT*.x/ - • *the set of maintained changing activities Afix, referring to a corresponding solution* .x.*Afix*/; *R*.x.*Afix*/// *with R*.x.*Afix*// *being an arbitrary routing in OPT*.x.*Afix*//*,* - *or the routing R, referring to* .x.*R*/; *R*/*.* As specified in Definition [4.3.6,](#page-136-0) every set *A*fix - *A*change defines routings *R*.x.*A*fix// as a collection of shortest paths in *N* .x/. However, if there is only one OD-pair, for some sets *A*fix, it is possible to define another path which represents the structure of *A*fix in a better way. Since we make use of this concept in the next sections, we define it here. **Lemma 4.3.13.** *Let N* D .*E*; *A*/ *be an EAN,* e1; e2 2 *E and Afix* - *Achange. There is at most one path* P *from* e1 *to* e2 *such that* P \ *Achange* D *Afix.* *Proof.* Note that such a path P exists if and only if *A*fix D f.ji ; ki/ W i D 1; : : : ; lg can be sorted in such a way that ji <*N* jiC1 and tr.j1/ D tr.e1/, tr.jiC1/ D tr.ki/ and tr.kl/ D tr.e2/ for all i D 1; : : : ; l 1. Since the network is acyclic, this sorting is unique if it exists. Since in .*E*op; *A*drive [ *A*wait/ the path between two nodes j; k 2 *E*op is unique (if it exists, i.e., if tr.j / D tr.k/), the specification of e1, e2 and the above sorting determine P uniquely. ut **Notation 4.3.14.** *Let Afix be a set of maintained changing activities and* e1; e2 2 *E. If there exists a path* P *from* e1 *to* e2*, defined by the equality* $$P \cap A_{change} = A_{fix}$$ *as described in Lemma 4.3.13, we write* P *Afix* e1e2 WD P*.* Let .*N* ; l; ; *OD*;d/ be an instance of DMwR with *N* D .*E*; *A*/, e1; e2 2 *E* and *A*fix - *A*change such that P *A*fix e1e2 exists. Let Pe1e2 .*A*fix/ denote a shortest path from e1 to e2 in *N* .x.*A*fix//. Note that in general $$P_{e_1e_2}^{\mathcal{A}_{\text{fix}}} \neq P_{e_1e_2}(\mathcal{A}_{\text{fix}}).$$ #### **4.4 Complexity of Delay Management with Routing** In this section we summarize the results on the computational complexity of DMwR from [DHSS09,DHSS12,Sch13]. First, in Sect. [4.4.1,](#page-139-0) we see that DMwR is strongly NP-hard, even for the case of only one OD-pair. Then, in Sect. [4.4.2,](#page-144-0) we develop a polynomial-time algorithm for DMwR for one OD-pair which provides us with a lower bound on the objective value for general DMwR problems. Under the assumption that for the considered OD-pair .*u*; *v*;/ there is no path from *u*org. / to *v*dest that enters a train more than once, this algorithm can even be guaranteed to find an optimal solution. Finally, in Sect. [4.4.3,](#page-159-0) we show that when generalizing our problem to a set of several OD-pairs, it turns out to be strongly NP-hard again, even under the mentioned restriction and if all OD-pairs have the same origin and the same start time. #### *4.4.1 NP-Hardness of Delay Management with Routing for One OD-Pair* **Theorem 4.4.1.** *DMwR is strongly NP-hard, even if* - *there is only one OD-pair, and* - *there is only one source delay.* We prove this theorem by reduction from the problem *Hamiltonian Path*, which remains NP-complete when the first and the last node of the path to find are fixed [GJ79]. An instance .G; t1; t2/ of the problem *Hamiltonian Path with fixed start and end nodes* consists of an undirected graph G and two specified vertices t1 and t2. The question is whether there is a path from t1 to t2 such that every vertex is contained exactly once in this path. *Proof.* Consider an instance .G; t1; t2/ of the Hamiltonian Path problem with fixed start and end nodes and let n denote the number of nodes in G. We construct an instance I D .*PT N* ; TR; *C*; l; ; *OD*;d/ of DMwR in the following way: - The set of stations is S WD fs*u*; s*v*; s1; sn-1g[fsi W i D 2;:::; n 1g[fs i W i D 2;:::; n 1; j D 2;:::; n 2g. The edges and edge lengths of the PTN are characterized implicitly by the description of the trains, assuming a driving time function of ˛l.x/ WD x for all lines. - The set of trains is TR WD ftr1;:::; trng. - Train tr1 starts at station s*u* at time 0 and runs to station s1 where it arrives at time 1. - Train trn starts at station sn-1 at time .n 2/.n 3/4 C 8 and runs to station s*v* where it arrives at time .n 2/.n 3/4 C 9. - The trains tri for i D 2;:::; n 1 start at station si at time 0 and go on driving through stations s1; s2 2 ; s2 3 ;:::;s2 n-1, s3 2 ; s3 3 ;:::;s3 n-1;:::;sn-2 n-1 ; sn-1 in this order. Note that the trains tri do not stop at every station they pass. The stopping pattern and the timetable of the trains tr2;:::; trn-1 is as follows: - For i D 2;:::; n 1, if f1; ig 2 G, tri stops at station s1. The arrival time according to is 3 and the departure time is 4. - Train tri stops at station s i for every i D 2;:::; n1 and j D 2;:::; n2. It arrives there at time .j 2/.n 2/4 C .i 2/4 C 5 and departs at time .j 2/.n 2/4 C .i 2/4 C 6. - Whenever fi; i0 g 2 G for i; i0 2 f2;:::; n 1g, tri0 stops at station s i . It arrives there at time .j 2/.n 2/4 C .i 2/4 C 7 and departs at time .j 2/.n 2/4 C .i 2/4 C 8. - If fi; ng 2 G, tri stops at station sn-1. Its arrival time at this station is .n 2/.n 3/4 C 5. - We define the lower bounds on the driving and waiting times such that all slack times for driving and waiting are 0, i.e., lij WD j i for all subsequent arrivals and departures i; j . - We define $$C := \{ (\mathbf{tr}_{1}, \mathbf{tr}_{i'}, s^{1}) : \{1, i'\} \in G \}$$ $$\cup \bigcup_{j=2}^{n-2} \bigcup_{i=2}^{n-1} \{ (\mathbf{tr}_{i}, \mathbf{tr}_{i'}, s^{j}_{i}) : \{i, i'\} \in G \}$$ $$\cup \{ (\mathbf{tr}_{i'}, \mathbf{tr}_{n}, s^{n-1}) : \{i', n\} \in G \}. \tag{4.3}$$ The lower bounds on the changing times are l.trs-Arr;tr0s-Dep/ WD 2 for all .tr; tr0 ; s/ 2 *C*. Consequently, there is a slack time of 1 on each connection. - A delay of d.tr1s*u*-Dep/ WD n 1 occurs in the departure node at station s*u*. This is the only delay. - The only OD-pair is .*u*; *v*;/ WD .s*u*; s*v*; 0/. Let *N* be the EAN for instance I . From now on, we regard I as an instance in the EAN, i.e., I D .*N* ; l; ; *OD*;d/. An example for this construction is given in Fig. [4.1.](#page-141-0) Figure [4.1a](#page-141-0) shows an instance of Hamiltonian Path with fixed start node 1 and fixed end node 5. The EAN constructed for the reduction is shown in Fig. [4.1b](#page-141-0). The numbers in the nodes indicate the times the corresponding events are scheduled according to . We show that there is a Hamiltonian path in G with start node 1 and end node n if and only if there is a solution .x; *R*/ with - cd .x; *R*/ D x.trns*v*-Arr/ .trns*v*-Arr/ D 0, and - P 2 *R* is a path from *u*org. / to *v*dest in *N* .x/ to I , i.e., if and only if it is possible for the OD-pair to arrive in s*v* without a delay. This, of course, is equivalent to showing that if and only if there is a Hamiltonian path in G from 1 to n, there is a solution .x; *R*/ with c.x; *R*/ .n2/4.n3/C9, and hence proves our theorem. 1. First we prove that *R* D fPg is a solution to I if and only if for every tri for i D 2;:::; n, there is exactly one changing activity .e; ei/ 2 P \ *A*change with tr.ei/ D tri : Let $$P$$ be a path in $\mathcal{N}$ from $u^{\text{org}}(\sigma)$ to $v^{\text{dest}}$ and $\mathcal{R} := \{P\}$ . ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_141_Figure_2.jpeg) **Fig. 4.1** Example for the constructed instance of DMwR in the proof of Theorem [4.4.1.](#page-139-0) (**a**) Instance of Hamiltonian Path with fixed start node 1 and fixed end node 5. (**b**) EAN and timetable for the instance of DMwR constructed from (**a**) in the proof of Theorem [4.4.1](#page-139-0) (a) The delay in the first arrival node of P is $$d(x(\mathcal{R}), (\operatorname{tr}_1 - s_u - \operatorname{Dep})) = x(\mathcal{R})_{(\operatorname{tr}_1 - s_u - \operatorname{Dep})} - \pi_{(\operatorname{tr}_1 - s_u - \operatorname{Dep})} = d_{(\operatorname{tr}_1 - s_u - \operatorname{Dep})}$$ $$= n - 1.$$ (b) Consider .i; j / 2 P n*A*change. Since there are no slack times on driving and waiting activities, we have j D i Clij and it follows from the definitions in Sect. [4.3](#page-134-0) that $$x(\mathcal{R})_{j} - \pi_{j} = \max\{\pi_{j}, x(\mathcal{R})_{i} + l_{ij}\} - \pi_{j} = \max\{0, x(\mathcal{R})_{i} - \pi_{i}\} = x(\mathcal{R})_{i} - \pi_{i}$$ Thus, given a node i 2 *E*op, we have d.x.*R*/; j / d.x.*R*/; i / for all successors j of i on train tr.i /. (c) Consider .i0 ;j/ 2 P \ *A*change and let i be the direct predecessor of j on tr.j /. Like before we have j D i C lij and furthermore, according to the definitions of the changing times, j D i0 C lij C 1. Hence, due to Definitions [4.3.10](#page-137-0) and [4.3.4,](#page-135-0) it follows that $$\begin{split} x(\mathcal{R})_{j} - \pi_{j} &= \max\{\pi_{j}, x(\mathcal{R})_{i} + l_{ij}, x(\mathcal{R})_{i'} + l_{i'j}\} - \pi_{j} \\ &= \max\{0, x(\mathcal{R})_{i} + l_{ij} - \pi_{j}, x(\mathcal{R})_{i'} + l_{i'j} - \pi_{j}\} \\ &= \max\{0, x(\mathcal{R})_{i} - \pi_{i}, x(\mathcal{R})_{i'} - \pi_{i'} - 1\}. \end{split}$$ Using [\(1b](#page-140-0)) it follows inductively that $$x(\mathcal{R})_j - \pi_j$$ $$= \begin{cases} x(\mathcal{R})_i - \pi_i \ge x(\mathcal{R})_{i'} - \pi_{i'} & \text{if } \operatorname{tr}(i, j) \text{ was already entered on path } P, \\ x(\mathcal{R})_{i'} - \pi_{i'} - 1 & \text{otherwise.} \end{cases}$$ (d) Hence, for .i; j / 2 P $$x(\mathcal{R})_{j} - \pi_{j}$$ $$= \begin{cases} x(\mathcal{R})_{i} - \pi_{i} & \text{if } (i, j) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}}, \\ x(\mathcal{R})_{i} - \pi_{i} - 1 & \text{if } (i, j) \in \mathcal{A}_{\text{change}} \text{ and} \\ P \cap \{k : \text{tr}(k) = \text{tr}(j), k \leq_{\mathcal{N}} j, \} = \emptyset \\ x(\mathcal{R})_{k} - \pi_{k} \geq x(\mathcal{R})_{i} - \pi_{i} \text{ for the direct predecessor } k \text{ of } j \text{ on } \text{tr}(j) \\ & \text{otherwise}. \end{cases}$$ Thus, $$d(x(\mathcal{R}), j) = x(\mathcal{R})_j - \pi_j = x(\mathcal{R})_i - \pi_i - 1 = d(x(\mathcal{R}), i) - 1$$ if and only if .i; j / is a changing activity to a train tr and no predecessor of j in tr is contained in P. It follows that *R* D fPg is a solution to I if and only if for every tri for i D 2;:::; n, there is exactly one changing activity .e; ei/ 2 P \ *A*change with tr.ei/ D tri . 2. We use the result of [\(1\)](#page-140-0) to show that given a Hamiltonian path P0 in G with start node 1 and end node n we can construct a path P from *u*org. / to *v*dest with cd .x.fPg/; fPg/ D 0. Suppose that P0 D .1; k2;:::;kn-1; n/ is a Hamiltonian path in G. Similar to Notation [4.3.14,](#page-138-0) we implicitly define a path P WD PS *u*org. /*v*dest from *u*org. / to *v*dest in *N* by the sequence S of changing activities contained in P, $$S = [(\mathsf{tr}_1 - s^1 - \mathsf{Arr}, \mathsf{tr}_{k_2} - s^1 - \mathsf{Dep})]$$ $$\cup [(\mathsf{tr}_{k_i} - s^i_{k_i} - \mathsf{Arr}, \mathsf{tr}_{k_{i+1}} - s^i_{k_i} - \mathsf{Dep}) : i = 2, \dots, i - 2]$$ $$\cup [(\mathsf{tr}_{k_{n-1}} - s^{n-1} - \mathsf{Arr}, \mathsf{tr}_n - s^{n-1} - \mathsf{Dep})].$$ That is, the corresponding ST-train-route starts by taking tr1 from s*u* to s1. In s1 the OD-pair transfers to train trk2 and uses this train until station s2 k2 . Then in s2 k2 the OD-pair transfers to train trk3 , in s3 k3 the OD-pair transfers to train trk4 , and so on. Finally, at station sn-1, the OD-pair transfers from trn-1 to trn. Due to the construction of I , such a path exists and it enters every train exactly once. Hence, *R* WD fPg is a solution to I with overall delay $$c^{d}(x(\mathcal{R}),\mathcal{R}) = x(\mathcal{R})_{(\mathrm{tr}_{n} - s_{v} - \mathrm{Arr})} - \pi_{(\mathrm{tr}_{n} - s_{v} - \mathrm{Arr})} = 0.$$ 3. Now, using [\(1\)](#page-140-0), we show that given a solution .x; *R*/ to I with $$c^d(x,\mathcal{R}) = x_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} - \pi_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} = 0,$$ we can construct a solution to the given instance of Hamiltonian Path with fixed start and end nodes. Let *R* D fPg be a routing consisting of a path P from *u*org. / to *v*dest in the constructed instance of DMwR with delay $$d(x(\mathcal{R}), (\operatorname{tr}_n - s_v - \operatorname{Arr})) = x(\mathcal{R})_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} - \pi_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} = 0.$$ Consider the sequence of maintained changing activities $$S = ((e_1, f_1), (e_2, f_2), \dots, (e_l, f_l)) := A_{\text{change}} \cap P$$ defined by P. As shown in [\(1\)](#page-140-0), for every tri ; i D 2;:::; n, S contains exactly one changing activity .ei ; fi/ with tr.fi/ D tri . It follows that l D n 1. Furthermore, due to [\(4.3\)](#page-140-0), we observe that • .e1; f1/ D .tr1 s1 Dep; trk2 s1 Dep/ for a train trk2 with f1; k2g 2 G, - • for all i D 2;:::; n1, we have .ei ; fi/ D .trki s j i Dep; trkiC1 s i Dep/ for trains trki ; trkiC1 with fki ; kiC1g 2 G and j 2 f2;:::; n 2g, - .en-1; fn-1/ D .trkn-1 sn-1 Arr; trn sn-1 Dep/ for a train trn-1 with fkn-1; ng 2 G. Hence, .1; k2; k3;:::;kn-1; n/ is a Hamiltonian path in G. ut #### *4.4.2 An Algorithm for Delay Management with Routing with One OD-Pair* We have seen in Theorem [4.4.1](#page-139-0) that DMwR is strongly NP-hard in general, even if there is only one OD-pair. In this section we present a 2-approximation algorithm for DMwR with one OD-pair, which in addition calculates a lower bound on the objective value. Under some quite realistic assumptions on the network structure, the outcome of the algorithm is even guaranteed to be optimal. Let I D .*N* ; l; ; f.*u*; *v*;/g;d/ be an instance of DMwR with one OD-pair. For the sake of simplicity, we assume that the passenger weight is *wuv* WD 1. Then the objective value of a solution .x; *R*/ can be calculated as c.x; Q *R*/ WD c.x; P / D xj 0 for the last arrival node j 0 on the path P 2 *R*. For any instance of DMwR with one OD-pair with higher passenger weights, we can obtain the solution from c.x; Q *R*/ by multiplication with the passenger weight. In order to expose the structure of our algorithm, we extend the concept of DMwR with one OD-pair to deal with OD-pairs that are given as pairs of actual nodes in the EAN *N* , i.e., elements of the type .*u*org. /; i / where *u*org. / is the origin node and i 2 *E* is an arbitrary successor of *u*org. / in *N* : **Definition 4.4.2.** An instance .*N* ; l; ; f.*u*org. /; i /g;d/ of *extended delay management with routing with one OD-pair (DMwR')* consists of an EAN *N* , lower bounds la on the lengths of the operational activities a 2 *A*op, a timetable , a pair of nodes .*u*org. /; i / where *u*org. / 2 *E*0 org, i 2 *E*op [ *E*dest, and source delays de on the operational events e 2 *E*op. The task is to find a disposition timetable x and a routing *R* WD fPg where P is a path from *u*org. / to i in *N* .x/ that minimize c0 .x; *R*/ WD xi . Also in DMwR', a solution .x; *R*/ is determined by the disposition timetable x, the routing *R*, or the set of maintained changing activities *A*fix, as explained in Sect. [4.3](#page-134-0) and summarized in Notation [4.3.12](#page-137-0) for DMwR. **Notation 4.4.3.** *We sometimes describe a solution* .x; *R*/ *to DMwR' stating only* x*, R, or Afix, where we refer to the corresponding full solutions* - .x; *R*.x// *with R*.x/ WD fP .x/g *and* P .x/ *is an arbitrary shortest path from uorg*. / *to* i *in N* .x/ D .*E*; *A*.x//*.* - .x.*R*/; *R*/ *where* x.*R*/ D x.P \ *Achange*/ *for the path* P *in R.* - .x.*Afix*/; *R*.x.*Afix*/// *where* - *–* x.*Afix*/ *is calculated like in Definition [4.3.4,](#page-135-0) and* - *– R*.x.*Afix*// WD fP .x.*Afix*//g*, with* P .x.*Afix*// *being an arbitrary shortest path from uorg*. / *to* i *in N* .x.*Afix*// D .*E*; *A*.x.*Afix*///*.* Note that every instance .*N* ; l; ; f.*u*; *v*;/g;d/ of DMwR with one OD-pair can be understood as an instance .*N* ; l; ; f.*u*org. /; *v*dest/g;d/ of DMwR'; hence, DMwR' indeed is an extension of DMwR with one OD-pair. Before we detail our algorithm for DMwR with one OD-pair, we show some properties which we need in order to prove correctness of the algorithm. To this end, let *N* be an EAN with lower bounds l, be a timetable, and d be a vector of source delays. In Lemma 4.4.4 we observe that the addition of changing activities to a set A1 - *A*change does not influence the time for events i that happen before the added activities take place: **Lemma 4.4.4.** *Let* A1 - A2 - *Achange be two subsets of the changing activities. Let* i 2 *Eop be an event with the following property:* $$x(A_2)_i \leq x(A_2)_j$$ for all $(i, j) \in A_2 \setminus A_1$ . *Then it holds that* x.A1/i D x.A2/i *.* Similarly to the NLT property in line planning, we can define the *no-train-twice (NTT) property* which states that there is always a path with minimal arrival time such that the passengers use every train at most once. **Definition 4.4.5.** Let *N* be an EAN. A path P has the *NTT property* if the following holds: If i; k 2 *E*op \ P with i P k and tr.i / D tr.k/, then tr.j / D tr.i / for all j such that i P j P k. **Lemma 4.4.6.** *Let* e *be an event in N . For every set Afix* - *Achange for which there exists a path from the origin node uorg*. / *to* e *in N* .x.*Afix*//*, there also exists a path* P D .*E*P ; *A*P / *from uorg*. / *to* e *that has the NTT property.* *Proof.* Assume that P0 is a path from *u*org. / to e in *N* .x.*A*fix// and let i; j; k be three events on P0 such that tr.k/ D tr.i / ¤ tr.j / and i

Lemma 4.4.8 makes use of Q for the calculation of a disposition timetable x.*A*fix/: **Lemma 4.4.8.** *For a given set of maintained changing activities Afix* - *Achange, we have* $$x(\mathcal{A}_{fix})_e = \max \left\{ \tilde{\pi}_e, \max_{i:(i,e) \in \mathcal{A}_{drive} \cup \mathcal{A}_{wait} \cup \mathcal{A}_{fix}} \{ x(\mathcal{A}_{fix})_i + l_{ie} \} \right\}. \tag{4.4}$$ *Proof.* According to Definition [4.3.4,](#page-135-0) we have $$x(\mathcal{A}_{\text{fix}})_e = \max \left\{ \pi_e + d_e, \max_{i:(i,e) \in \mathcal{A}_{\text{trive}} \cup \mathcal{A}_{\text{trix}} \cup \mathcal{A}_{\text{fix}}} \{x(\mathcal{A}_{\text{fix}})_i + l_{ie}\} \right\}.$$ We observe that for every set *A*fix -*A*change and every event e 2 *E*arr [ *E*dep $$x(\mathcal{A}_{fix})_e \geq \tilde{\pi}_e \geq \pi_e + d_e$$ . Hence, we can equivalently determine the minimal arrival times in the events e like in (4.4). ut **Lemma 4.4.9.** *Let* P *be a path from uorg*. / *to* e *in N . Denote A*P *fix* WD *Achange* \ *A*P *. Then* $$x(\mathcal{A}_{fix}^P)_e \ge \max\{\tilde{\pi}_e, x(\mathcal{A}_{fix}^P)_j + l_{je}\}$$ *for the direct predecessor* j *of* e *on the path* P*. If* P *has the NTT property, we even have equality:* $$x(\mathcal{A}_{fix}^P)_e = \max\{\tilde{\pi}_e, x(\mathcal{A}_{fix}^P)_j + l_{je}\}.$$ *Proof.* $$\begin{split} x(\mathcal{A}_{\text{fix}}^{P})_{e} &= \max \left\{ \tilde{\pi}_{e}, \max_{i:(i,e) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}^{P}} \{x(\mathcal{A}_{\text{fix}}^{P})_{i} + l_{ie}\} \right\} \\ &\geq \max\{\tilde{\pi}_{e}, x(\mathcal{A}_{\text{fix}}^{P})_{j} + l_{je}\}. \end{split}$$ This proves the first statement of the lemma. Now suppose that P has the NTT property. • If .j; e/ 2 *A*drive [ *A*wait, or if .j; e/ 2 *A*P fix and .j; e/ is the first trip of the train tr.e/, then .j; e/ is the only activity terminating in e in *N* .*A*P fix/. Thus $$\begin{split} x(\mathcal{A}_{\text{fix}}^{P})_{e} &= \max \left\{ \tilde{\pi}_{e}, \max_{i:(i,e) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}^{P}} \{ x(\mathcal{A}_{\text{fix}}^{P})_{i} + l_{ie} \} \right\} \\ &= \max \{ \tilde{\pi}_{e}, x(\mathcal{A}_{\text{fix}}^{P})_{j} + l_{je} \}. \end{split}$$ • Now let .j; e/ 2 *A*P fix and .k; e/ 2 *A*wait with tr.k/ D tr.e/. Since there is no i 2 P with i P k and tr.i / D tr.k/, we have x.*A*P fix/k D Qk and $$\tilde{\pi}_e \geq \tilde{\pi}_k + l_{ke} = x(\mathcal{A}_{fix}^P)_k + l_{ke}.$$ It follows that $$\begin{split} x(\mathcal{A}_{\text{fix}}^P)_e &= \max \left\{ \tilde{\pi}_e, \max_{i:(i,e) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}^P} \{ x(\mathcal{A}_{\text{fix}}^P)_i + l_{ie} \} \right\} \\ &= \max \{ \tilde{\pi}_e, x(\mathcal{A}_{\text{fix}}^P)_j + l_{je}, x(\mathcal{A}_{\text{fix}}^P)_k + l_{ke} \} \\ &= \max \{ \tilde{\pi}_e, x(\mathcal{A}_{\text{fix}}^P)_j + l_{je} \}. \end{split}$$ Based on the preceding Lemmas [4.4.4](#page-145-0)[–4.4.9,](#page-146-0) we now explain Algorithm [1.](#page-148-0) The procedure is similar to Dijkstra's label setting algorithm for finding a shortest path in a graph. In every iteration k a best path from the origin event *u*org. / to a node eOk is determined, using the results about best paths to the preceding nodes. In other words, given an instance I D .*N* ; l; ; f.*u*; *v*;/g;d/ of DMwR with one OD-pair, we iteratively solve instances IeO D .*N* ; l; ; f.*u*org. /; e/O g;d/ of DMwR' for different OD-pairs .*u*org. /; e/O , thereby constructing the solution to IeO from the solution to IieO for a direct predecessor ieO of eO in *N* . To do so, in every iteration k we store a *permanent time label* T ŒeOk and a set of *maintained changing activities A*fixŒeOk that defines a path P *A*fixŒeOk *u*org. /eOk in the sense of Lemma [4.3.14.](#page-138-0) In an iteration k let PERM.k/ be the set of events i for which a solution to DMwR' has been found and the above values T Œi and *A*fixŒi have been determined. For every e … PERM.k/ with a direct predecessor i 2 PERM.k/ we determine the preliminary time label $$\tilde{T}[e] = \min_{i \in PERM(k): (i,e) \in \mathcal{A}} {\{\tilde{\pi}_e, T[i] + l_{ie}\}}.$$ Like in Dijkstra's algorithm we fix the event eO with smallest preliminary time label. In order to update the set of fixed changing activities *A*fixŒeO , we distinguish two cases: Let ieO be the direct predecessor of eO in the solution of DMwR' for OD-pair .*u*org. /; e/O . If aO D .ieO; e/O 2 *A*change, we obtain ut #### **Algorithm 1** Modified Dijkstra's algorithm for DMwR with one OD-pair ``` Require: Instance I D .N ; l; ; f.u; v;/g;d/ of DMwR. ``` **Ensure:** Set *A*fix *A*change and a lower bound lb on the optimal objective value. - 1: Define la WD 0 for a 2 *A*0 org [ *A*dest. - 2: Generate Q . - 3: Set PERM WD f*u*org. /g, TEMP WD *E* n f*u*org. /g, T Œ*u*org. / WD , T Œe Q WD 1 for every e 2 TEMP, *A*fixŒ*u*org. / WD ;, eOold WD *u*org. /. - 4: **for** e 2 TEMP such that .eOold; e/ 2 *A* **do** - 5: Set T Œe Q WD minfT Œe; Q maxf Qe ;TŒeOold C leOolde gg. - 6: **end for** - 7: Choose eO 2 argmine2TEMP T Œe Q . Set PERM WD PERM [ fOeg, TEMP WD TEMP n fOeg, T ŒeO WD T Œ Q eO . - 8: Let ieO be the corresponding direct predecessor of eO, i.e., either T ŒieO D T Œ Q eO lieOeO, or, if no such ieO exists, ieO is the direct predecessor of eO on tr.e/O . - 9: **if** .ieO; e/O 2 *A*change **then** - 10: Set *A*fixŒeO WD *A*fixŒieO [ f.ieO; e/O g. - 11: **else** Set *A*fixŒeO WD *A*fixŒieO. - 12: **end if** - 13: Set eOold WD Oe. - 14: **if** eO D *v*dest **then** - 15: Set *A*fix WD *A*fixŒ*v*dest and lb WD T Œ*v*dest -. - 16: **return** *A*fix and lb. - 17: **else** Go to step 4. - 18: **end if** $$\mathcal{A}_{fix}[\hat{e}] := \mathcal{A}_{fix}[i_{\hat{e}}] \cup \{(i_{\hat{e}}, \hat{e})\}.$$ Otherwise, we simply set $$\mathcal{A}_{fix}[\hat{e}] := \mathcal{A}_{fix}[i_{\hat{e}}].$$ The algorithm is summarized above. To prove correctness of the described algorithm in Theorem [4.4.19,](#page-154-0) we need some insights about the stored time labels T Œi and sets of maintained changing activities *A*fixŒi. These are provided in the following. Let I D .*N* ; l; ; f.*u*; *v*;/g;d/ be an instance of DMwR to which we apply Algorithm 1. **Lemma 4.4.10.** *Let* eO *be the node chosen in step 7 of Algorithm 1, let* ieO *be its direct predecessor as specified in step 8 and let Afix*ŒeO *be defined as in steps 9–12. Then the path* P *Afix*ŒeO *uorg*. /eO *as defined in Notation [4.3.14](#page-138-0) exists, and* ieO *is the direct predecessor of* eO *on* P *Afix*ŒeO *uorg*. /eO *.* *Proof.* If it exists, P *A*fixŒeO *u*org. /eO is uniquely defined by P *A*fixŒeO *u*org. /eO \ *A*change D *A*fix (see Lemma [4.3.13](#page-138-0) and Notation [4.3.14\)](#page-138-0). We show the existence of P *A*fixŒeO *u*org. /eO inductively: ut • For *u*org. / $$P_{u^{\operatorname{org}}(\sigma)u^{\operatorname{org}}(\sigma)}^{\mathcal{A}_{\operatorname{fix}}[u^{\operatorname{org}}(\sigma)]} \cap \mathcal{A}_{\operatorname{change}} = \emptyset \cap \mathcal{A}_{\operatorname{change}} = \emptyset = \mathcal{A}_{\operatorname{fix}}[u^{\operatorname{org}}(\sigma)].$$ - Assume that P *A*fixŒieO *u*org. /ieO exists. - If .ieO; e/O 2 *A*drive [ *A*wait, in step [11,](#page-148-0) the algorithm sets *A*fixŒeO D *A*fixŒieO. Then P *A*fixŒeO *u*org. /eO D P *A*fixŒieO *u*org. /ieO [ .ieO; e/O since there is no .ieO;i/ 2 *A*fixŒeO and tr.ieO/ D tr.e/O . If .ieO; e/O 2 *A*change, in step [10,](#page-148-0) the algorithm sets *A*fixŒeO D *A*fixŒieO [ f.ieO; e/O g. Then P *A*fixŒeO *u*org. /eO D P *A*fixŒieO *u*org. /ieO [ .ieO; e/O since .ieO; e/O must be contained in P *A*fixŒeO *u*org. /eO . **Notation 4.4.11.** *Let N be an EAN and uorg*. / *an origin node in N . For the sake of an easier notation in the following for any disposition timetable* x*, we write* x*uorg*. / WD *.* In the next lemma we show that the permanent time labels T Œi are a lower bound on the scheduled time in the events i with respect to disposition timetables that make it possible to reach event i from *u*org. /. **Lemma 4.4.12.** *Let* eO ¤ *vdest be an event chosen in step [7](#page-148-0) of an iteration* k *of Algorithm [1.](#page-148-0) There is no* A - *Achange such that* x.A/eO eO *in N* .A/*.* *Proof.* This lemma is proven inductively: • For the origin event *u*org. /, we have $$T[u^{\operatorname{org}}(\sigma)] = \sigma = x(\emptyset)_{u^{\operatorname{org}}(\sigma)} = \min_{A \subset A_{\operatorname{change}}} x(A)_{u^{\operatorname{org}}(\sigma)}.$$ • Suppose that in the iterations k0 D 1; : : : ; k 1 of the algorithm for all the elements eOk0 added to PERM and all A - *A*change it holds that x.A/eOk0 T ŒeOk0 . It follows that $$x(A)_e \ge T[e] \ \forall e \in PERM.$$ (4.5) • Now let eO WD Oek be the event chosen in step [7](#page-148-0) of the kth iteration. Suppose that there is a set A -*A*change such that $$x(A)_{\hat{e}} < T[\hat{e}] \tag{4.6}$$ and there is a path PQ from *u*org. / to eO in *N* .A/. Due to Lemma [4.4.6,](#page-145-0) there also is a path P from *u*org. / to eO in *N* .A/, which has the NTT property. ut 1. If the direct predecessor e0 of eO in P is in PERM $$\begin{split} x(A)_{\hat{e}} &= \max \left\{ \tilde{\pi}_{\hat{e}}, \max_{i:(i,\hat{e}) \in \mathcal{A}_{\text{driv}} \cup \mathcal{A}_{\text{wal}} \cup \mathcal{A}_{\text{fix}}} \{x(\mathcal{A}_{\text{fix}})_i + l_{i\hat{e}}\} \right\} \text{ [because of Lemma 4.4.8]} \\ &\geq \max\{\tilde{\pi}_{\hat{e}}, x(A)_{e_0} + l_{e_0\hat{e}}\} \\ &\geq \max\{\tilde{\pi}_{\hat{e}}, T[e_0] + l_{e_0\hat{e}}\} \\ &\geq \min_{\min \max \{\tilde{\pi}_{\hat{e}}, T[i] + l_{i\hat{e}}\}} \\ &= T[\hat{e}]. \end{split} \text{ [because of (4.5)]}$$ which contradicts [\(4.6\)](#page-149-0). 2. If the direct predecessor e0 of eO in P is in TEMP, let e1 denote the last event in PERM on the path P. (e1 exists because *u*org. / 2 PERM.) Let e2 2 TEMP denote the direct successor of e1 on P. Since eO 2 argmine2TEMP T Œe Q it follows that $$\begin{split} x(A)_{\hat{e}} &\geq x(A)_{e_2} \\ &= \max \left\{ \tilde{\pi}_{e_2}, \max_{i:(i,e_2) \in A_{\text{driv}} \cup A_{\text{wait}} \cup A_{\text{fix}}} \left\{ x(A_{\text{fix}})_i + l_{ie_2} \right\} \right\} \text{ [because of Lemma 4.4.8]} \\ &\geq \max \{ \tilde{\pi}_{e_2}, x(A)_{e_1} + l_{e_1e_2} \} \\ &\geq \max \{ \tilde{\pi}_{e_2}, T[e_1] + l_{e_1e_2} \} \\ &\geq \min_{m \text{ max}} \max \{ \tilde{\pi}_{e_2}, T[i] + l_{ie_2} \} \\ &\geq \min_{m \text{ embility}} \max \{ \tilde{\pi}_{e_2}, T[i] + l_{ie_2} \} \\ &= \tilde{T}[e_2] \geq \tilde{T}[\hat{e}] = T[\hat{e}] \end{split}$$ which contradicts [\(4.6\)](#page-149-0). We emphasize that in particular, Lemma [4.4.12](#page-149-0) holds for the sets *A*fixŒeO constructed in the algorithm: **Corollary 4.4.13.** *In every iteration of Algorithm [1](#page-148-0) for every event* e 2 *Eop* [ *E*0 *org that is contained in* PERM *it holds that* $$T[\hat{e}] \le x(\mathcal{A}_{fix}[\hat{e}])_{\hat{e}} \tag{4.7}$$ *for the labels* T ŒeO *and the sets of changing activities Afix*ŒeO *calculated by the algorithm.* *Proof.* Due to the construction of *A*fixŒeO , the path P *A*fixŒeO *u*org. /eO as defined in Notation [4.3.14](#page-138-0) exists. The statement thus follows from Lemma [4.4.12.](#page-149-0) ut If the path which is constructed by the algorithm has the NTT property, we can even show equality of the permanent time labels and the disposition timetable: **Lemma 4.4.14.** *Let* eO ¤ *vdest be the event chosen in step [7](#page-148-0) of iteration* k *of Algorithm [1.](#page-148-0) If path* P *Afix*ŒeO *uorg*. /eO *as defined in Notation [4.3.14](#page-138-0) has the NTT property it holds that* $$T[\hat{e}] = x(\mathcal{A}_{fix}[\hat{e}])_{\hat{e}}$$ *for the labels* T ŒeO *and the sets of changing activities Afix*ŒeO *calculated by the algorithm.* *Proof.* We show the lemma inductively. • For the origin node *u*org. /, we have $$T[u^{\operatorname{org}}(\sigma)] = \sigma = x(\emptyset)_{u^{\operatorname{org}}(\sigma)} = x(\mathcal{A}_{\operatorname{fix}}(u^{\operatorname{org}}(\sigma)))_{u^{\operatorname{org}}(\sigma)}.$$ - Assume that the assumption holds for all predecessors of eO on P *A*fixŒeO *u*org. /eO . - Let TQ oldŒeO be the label of eO at the beginning of step [4](#page-148-0) in iteration k and let eOold be the event that was added to PERM in the .k 1/th iteration. Then the new temporary label of eO is given as $$\begin{split} \tilde{T}[\hat{e}] &= \begin{cases} \tilde{T}^{\text{old}}[\hat{e}] & \text{if } (\hat{e}^{\text{old}}, \hat{e}) \notin \mathcal{A} \\ \min\{\tilde{T}^{\text{old}}[\hat{e}], \max\{\tilde{\pi}_{\hat{e}}, T[\hat{e}^{\text{old}}] + l_{\hat{e}^{\text{old}}\hat{e}}\}\} & \text{otherwise} \end{cases} \\ &= \min_{i \in \text{PERM}: (i, \hat{e}) \in \mathcal{A}} \max\{\tilde{\pi}_{\hat{e}}, T[i] + l_{i\hat{e}}\}. \end{split}$$ Denote P WD P *A*fixŒeO *u*org. /eO and let P0 be the subpath from *u*org. / to the direct predecessor ieO of eO in P. Since there is no node i with i P eO and tr.i / D tr.e/O it follows that $$x(\mathcal{A}_{\text{fix}}[\hat{e}])_{j_{\hat{e}}} = x\left(\left\{P_{u^{\text{org}}(\sigma)\hat{e}}^{\mathcal{A}_{\text{fix}}[\hat{e}]}\right\}_{j_{\hat{e}}} = \tilde{\pi}_{j_{\hat{e}}}$$ $$(4.8)$$ for the direct predecessor jeO of eO on tr.e/O . Since *A*fixŒeO D P *A*fixŒeO *u*org. /eO \ *A*change we have fi W .i; e/O 2 *A*drive [ *A*wait [ *A*fixgDfieO; jeOg. Therefore, and because of (4.8), it follows that $$\begin{aligned} \max \{ \tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}\hat{e}} \} \\ &= \max \{ \tilde{\pi}_{\hat{e}}, \tilde{\pi}_{j_{\hat{e}}} + l_{j_{\hat{e}}\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{j_{\hat{e}}\hat{e}} \} \\ &= \max \{ \tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{j_{\hat{e}}} + l_{j_{\hat{e}}\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}\hat{e}} \} \\ &= \max \left\{ \tilde{\pi}_{\hat{e}}, \max_{(i,\hat{e}) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}} \{ x(\mathcal{A}_{\text{change}} \cap P)_{i} + l_{i\hat{e}} \} \right\}. \end{aligned}$$ (4.9) Then $$\begin{split} T[\hat{e}] &= \min_{i \in \text{PERM:}(\hat{l}, \hat{e}) \in \mathcal{A}} \max\{\tilde{\pi}_{\hat{e}}, T[i] + l_{i\hat{e}}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, T[i_{\hat{e}}] + l_{i\hat{e}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{fix}}[i_{\hat{e}}])_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P')_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P')_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{i_{\hat{e}}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= \max\{\tilde{\pi}_{\hat{e}}, x(\mathcal{A}_{\text{change}} \cap P)_{\hat{e}} + l_{i_{\hat{e}}}\hat{e}\} \\ &= x(\mathcal{A}_{\text{change}} \cap P)_{\hat{e}} \\ &= x(\mathcal{A}_{\text{fix}}[\hat{e}])_{\hat{e}}. \end{split}$$ (due to Lemma 4.4.8) This concludes the proof of the lemma. ut This implies that every time Algorithm [1](#page-148-0) treats a node eO for which the constructed path P *A*fixŒeO *u*org. /eO has the NTT property, T ŒeO is an optimal solution to the corresponding instance of DMwR': **Corollary 4.4.15.** *Let* I 0 D .*N* ; l; ; f.*uorg*. /; e/O g;d/ *be an instance of DMwR' and denote by Afix*ŒeO *the set of maintained changing activities for node* eO 2 *Eop calculated in Algorithm [1](#page-148-0) for the instance* I D .*N* ; l; ; f.*u*; *v*;/g;d/ *of DMwR. If the path* P *Afix*ŒeO *uorg*. /eO *as defined in Notation [4.3.14](#page-138-0) has the NTT property, it follows that* .x.*Afix*Œe/; O fP *Afix*ŒeO *uorg*. /eO g/ *is an optimal solution to* I 0 *Proof.* This follows from Lemmas [4.4.12](#page-149-0) and [4.4.14.](#page-150-0) ut Now we show that the lower bound property of the permanent time labels proven in Lemma [4.4.12](#page-149-0) for operational nodes also holds for the destination node *v*dest. For a path P from *u*org. / to *v*dest we abbreviate c0 .P / WD c.x.fPg/; fPg/. **Lemma 4.4.16.** *Let P denote the set of paths from uorg*. / *to vdest in N . It holds that* $$T[v^{dest}] \le \min_{P \in \mathcal{P}} c'(P) + \sigma.$$ *Proof.* Suppose that T Œ*v*dest > minP2*P* c0 .P /C. Let P 2 argminP2*P* c0 .P / and A WD P \ *A*change and let e0 be the direct predecessor of *v*dest on P. Then $$c'(P^*) + \sigma < T[v^{\text{dest}}]. \tag{4.11}$$ 1. If e0 2 PERM $$\begin{split} &c'(P^*) + \sigma \\ &= \max\{\tilde{\pi}_{v^{\text{dest}}}, x(A^*)_{e_0} + l_{e_0v^{\text{dest}}}\} \\ &= \min_{i \in \text{PERM}:(i,v^{\text{dest}}) \in \mathcal{A}^*} \max\{\tilde{\pi}_{v^{\text{dest}}}, x(A^*)_i + l_{iv^{\text{dest}}}\} \\ &\geq \min_{i \in \text{PERM}:(i,v^{\text{dest}}) \in \mathcal{A}^*} \max\{\tilde{\pi}_{v^{\text{dest}}}, T[i] + l_{iv^{\text{dest}}}\} \quad \text{[because of Corollary 4.4.13]} \\ &= \min_{i \in \text{PERM}:(i,v^{\text{dest}}) \in \mathcal{A}^*} \max\{\sigma, T[i] + l_{iv^{\text{dest}}}\} \\ &= T[v^{\text{dest}}]. \end{split}$$ which contradicts [\(4.11\)](#page-152-0). 2. If the direct predecessor e0 of *v*dest in P is in TEMP, let e1 denote the last event in PERM on the path P and e2 2 TEMP its direct successor. Since T Œ*v*dest D T Œ Q *v*dest T Œe Q for e 2 TEMP: $$\begin{split} c'(P^*) + \sigma &= x(A^*)_{e_0} \geq x(A^*)_{e_2} \geq \max\{\tilde{\pi}_{e_2}, T[e_1] + l_{e_1e_2}\} \\ &\geq \tilde{T}[e_2] \geq \tilde{T}[\nu^{\text{dest}}] = T[\nu^{\text{dest}}] \end{split}$$ which contradicts [\(4.11\)](#page-152-0). ut If P *A*fixŒ*v*dest *u*org. /*v*dest has the NTT property, similar to Lemma [4.4.14](#page-150-0) we obtain equality of the permanent time label and the arrival time in *v*dest: **Lemma 4.4.17.** *If the path* P *Afix*Œ*vdest uorg*. /*vdest as defined in Notation [4.3.14](#page-138-0) has the NTT property,* $$T[v^{dest}] = c' \left( P_{u^{org}(\sigma)v^{dest}}^{A_{fix}[v^{dest}]} \right) + \sigma$$ *for the label* T Œ*vdest and the set Afix*Œ*vdest defined in the last iteration of Algorithm [1.](#page-148-0)* *Proof.* Let e0 be the direct predecessor of *v*dest on P *A*fixŒeO *u*org. /*v*dest and PERM.k/ the set of permanently labeled nodes in Algorithm [1](#page-148-0) in the last iteration k. $$T[v^{\text{dest}}] = T[e_0] = x(\mathcal{A}_{\text{fix}}[e_0])_{e_0} = c'\left(P_{u^{\text{crg}}(\sigma)v^{\text{dest}}}^{\mathcal{A}_{\text{fix}}[e_0]}\right) + \sigma = c'\left(P_{u^{\text{crg}}(\sigma)v^{\text{dest}}}^{\mathcal{A}_{\text{fix}}[v^{\text{dest}}]}\right) + \sigma.$$ We say that *an instance* has the NTT property if for every path for an OD-pair which is not too long in *N* ./ the NTT property holds (see Definition [4.4.5](#page-145-0) for the definition of the NTT property for paths): **Definition 4.4.18.** Let I D .*N* ; l; ; *OD*;d/ with *OD* D f.*u*k; *v*k; k/ W k 2 Kg be an instance of DMwR. Let PO k be a path from *u* org k .k/ to *v*dest k in *N* with last arrival node jO k that minimizes the nominal arrival time SPk D xjO k k. ut We say that I has the *NTT property*, if for every k 2 K every path Pk from *u* org k .k/ to *v*dest k with last arrival node jPk and $$\pi_{j_{P_k}} \le \pi_{\hat{j}_k} + \max_{i \in \mathcal{E}_{op}} d_i$$ has the NTT property. Given Lemmas [4.4.12–](#page-149-0)[4.4.17,](#page-153-0) we conclude the main theorem of this section: **Theorem 4.4.19.** *Let* I D .*N* ; l; ; f.*u*; *v*;/g;d/ *be an instance of DMwR and let* .*Afix*; lb/ *be the output returned by Algorithm [1](#page-148-0) for* I *. Let* P *Afix uorg*. /*vdest be defined as in Notation [4.3.14.](#page-138-0)* - lb *is a lower bound on the objective value of* I *.* - *If* I *has the NTT property,* .x.*Afix*/; fP *Afix uorg*. /*vdest*g/ *is an optimal solution to* I *with objective value* $$c(x(A_{fix}), \{P_{u^{org}(\sigma)v^{dest}}^{A_{fix}}\}) = lb.$$ *The running time of Algorithm [1](#page-148-0) is* O.n2/ *where* n D j*E*j *is the number of activities in the EAN N .* *Proof.* • It follows from Lemma [4.4.16](#page-152-0) that $$lb = T[v^{dest}] - \sigma \le \min_{P \in \mathcal{P}} c'(x(\{P\}), \{P\})$$ for the set *P* of paths from *u*org. / to *v*dest in *N* . Hence, lb is a lower bound on the optimal objective value of the instance I 0 D .*N* ; l; ; f.*u*org. /; *v*dest/g;d/ of DMwR'. Therefore, lb is also a lower bound on the objective value of I . • Like in Definition [4.4.18,](#page-153-0) let PO denote a path from *u*org. / to *v*dest in *N* with last arrival node jO that minimizes the nominal arrival time SP D xjO . For every node j 2 *E*op and every A - *A*change, due to Corollary [4.3.9,](#page-137-0) it holds that $$x(A)_j \leq \pi_j + \max_{i \in \mathcal{E}_{op}} d_i.$$ Let j 0 be the last arrival node on P *A*fix *u*org. /*v*dest . Since T Œ*v*dest D maxf; T Œj 0 g, in particular T Œ*v*dest j 0 . Thus, due to Lemma [4.4.16,](#page-152-0) $$\pi_{j'} \leq T[v^{\text{dest}}] \leq c'(\hat{P}) + \sigma = x(\mathcal{A}_{\text{change}} \cap \hat{P})_{\hat{j}} \leq \pi_{\hat{j}} + \max_{i \in \mathcal{E}_{\text{op}}} d_i.$$ Hence, since I has the NTT property, P *A*fix *u*org. /*v*dest has the NTT property. Due to Lemma [4.4.17,](#page-153-0) it follows that $$T[v^{\text{dest}}] = c' \left( P_{u^{\text{org}}(\sigma)v^{\text{dest}}}^{\mathcal{A}_{\text{fix}}} \right) + \sigma.$$ According to Lemma [4.4.16,](#page-152-0) this implies that *R* WD fP *A*fix *u*org. /*v*destg is an optimal solution to I 0 D .*N* ; l; ; f.*u*org. /; *v*dest/g; dg with optimal objective value lb D T Œ*v*dest . Therefore, *R* is also an optimal solution to I with optimal objective value lb. The generation of the disposition timetable in step [2](#page-148-0) of Algorithm [1](#page-148-0) is done in time O.m/ using the method given in Definition [4.3.4.](#page-135-0) Inspecting steps [4–6,](#page-148-0) we note that for the setting of the temporary labels TQ, summing up over all iterations, every activity a 2 *A* has to be considered at most once. As the steps [7–8](#page-148-0) are done in time O.n/, steps [7–13](#page-148-0) need time O.m/. Since step [15](#page-148-0) is also in O.m/, the running time of the modified Dijkstra's algorithm is O.m/. ut In practice, situations like the one constructed in the NP-hardness proof for DMwR in Theorem [4.4.1,](#page-139-0) where a lot of trains run on the same physical route and constantly overtake each other, are not very likely to happen. In fact, the NTT property, i.e., the assumption that for an OD-pair there is no reasonably short path where a train is entered more than once, under which Algorithm [1](#page-148-0) returns optimal solutions for instances of DMwR with one OD-pair, holds for the real-world instances considered in [DHSS09,DHSS12]. However, we show in Theorem [4.4.21](#page-156-0) that, even if optimality is not guaranteed, the solution obtained using Algorithm [1](#page-148-0) for DMwR with one OD-pair is a 2 approximation of the optimal objective value. To prove the theorem we need the following lemma. **Lemma 4.4.20.** *Let* I D .*N* ; l; ; f.*u*; *v*;/g;d/ *be an instance of DMwR with one OD-pair. Let* .*Afix*; lb/ *be the output of Algorithm [1](#page-148-0) and denote* P WD P *Afix uorg*. /*vdest* \ *Aop with* P *Afix uorg*. /*vdest as defined in Notation [4.3.14.](#page-138-0) Then* $$lb = \max_{i_{k'} \in P} \left\{ \tilde{\pi}_{i_{k'}} + \sum_{(i,j) \in P: i \ge pi'} l_{ij} \right\} - \sigma.$$ (4.12) *Proof.* We first observe how lb is calculated in Algorithm [1.](#page-148-0) Let lj 0 be the number of the iteration when for the first time a direct predecessor j 0 of *v*dest enters PERM. Then in step [5](#page-148-0) of iteration lj 0 we set T Œ Q *v*dest WD minf1; maxfT Œj 0 ; gg D T Œj 0 . In step [7](#page-148-0) of iteration lj 0 C 1 there is no j 2 TEMP with T Œ Q *v*dest < T Œj Q , thus without loss of generality we can assume that T Œ*v*dest D T Œj 0 is set in step [7](#page-148-0) of iteration lj 0 C 1. Then lb is set to T Œ*v*dest . Let $$P = (1, 2, ..., j')$$ and $P_k := (k, k + 1, ..., j') \subset P$ . We now show inductively that for every $k = 1, ..., j'$ $$T[v^{\text{dest}}] = \max \left\{ T[k] + \sum_{(i,j)\in P_k} l_{ij}, \max_{k'\in P_{k+1}} \left\{ \tilde{\pi}_{k'} + \sum_{(i,j)\in P_{k'}} l_{ij} \right\} \right\}.$$ (4.13) - As we have just seen, T Œ*v*dest D T Œj 0 . - Assume that (4.13) holds for all k D k;:::;j O 0 . - Then $$\begin{split} & = T[v^{\text{dest}}] \\ & = \max \left\{ T[\hat{k}] + \sum_{(i,j) \in P_{\hat{k}}} l_{ij}, \max_{k' \in P_{\hat{k}+1}} \left\{ \tilde{\pi}_{k'} + \sum_{(i,j) \in P_{k'}} l_{ij} \right\} \right\} \\ & = \max \left\{ \max\{\tilde{\pi}_{\hat{k}}, T[\hat{k}-1] + l_{\hat{k}-1\hat{k}}\} + \sum_{(i,j) \in P_{\hat{k}}} l_{ij}, \max_{k' \in P_{\hat{k}+1}} \left\{ \tilde{\pi}_{k'} + \sum_{(i,j) \in P_{k'}} l_{ij} \right\} \right\} \\ & = \max \left\{ \tilde{\pi}_{\hat{k}} + \sum_{(i,j) \in P_{\hat{k}}} l_{ij}, T[\hat{k}-1] + \sum_{(i,j) \in P_{\hat{k}}} l_{ij}, \max_{k' \in P_{\hat{k}+1}} \left\{ \tilde{\pi}_{k'} + \sum_{(i,j) \in P_{k'}} l_{ij} \right\} \right\} \\ & = \max \left\{ T[\hat{k}-1] + \sum_{(i,j) \in P_{\hat{k}}} l_{ij}, \max_{k' \in P_{\hat{k}}} \left\{ \tilde{\pi}_{k'} + \sum_{(i,j) \in P_{k'}} l_{ij} \right\} \right\}. \end{split}$$ Since T Œ1 D maxfT Œ*u*org. /C0; Q 1gD Q1, the statement of the lemma follows. ut We now show that Algorithm [1](#page-148-0) is a 2-approximation algorithm for DMwR with one OD-pair. **Theorem 4.4.21.** *Let* I D .*N* ; l; ; f.*u*; *v*;/g;d/ *be an instance of DMwR with one OD-pair and let* .x; *R*/ *be an optimal solution to* I *. Let Afix* - *Achange denote the set of maintained changing activities returned by Algorithm [1](#page-148-0) for* I *and R*.x.*Afix*// 2 *OPT*.x.*Afix*//*. Then it holds that* $$\frac{c(x(\mathcal{A}_{fix}),\mathcal{R}(x(\mathcal{A}_{fix})))}{c(x^*,P^*)} \leq 2.$$ *Proof.* We introduce some notation that is used in the proof: - Let P *A*fix *u*org. /*v*dest be the path from *u*org. / to *v*dest defined by *A*fix in the sense of Notation [4.3.14.](#page-138-0) Let j 0 denote the last arrival node on P *A*fix *u*org. /*v*dest . Let P0 denote the subpath of P *A*fix *u*org. /*v*dest from the first departure node to j 0 , i.e., P0 D P *A*fix *u*org. /*v*dest \ *A*op. For any i0 2 P0 denote by P0 i0 the subpath of P0 starting in i0 - For i; j with tr.i / D tr.j / and i *N* j let Ptr.j / ij D Ptr.i / ij be the path from i to j entirely contained in tr.j /. - For i; j 2 *E*op with i *N*.*A*fix/ j denote by *P*O.i; j; *A*fix/ the set of all paths from i to j in *N* .x.*A*fix//. Note that for all i0 2 P0 it holds that i0 . Hence, for all i0 2 P0 $$\sum_{(i,j)\in P'_{i'}} s_{ij} = \pi_{j'} - \pi_{i'} - \sum_{(i,j)\in P'_{i'}} l_{ij} \le \pi_{j'} - \sigma.$$ (4.14) Furthermore, with T denoting the permanent time labels used in Algorithm [1](#page-148-0) $$lb = T[\nu^{\text{dest}}] - \sigma = T[j'] - \sigma \ge \pi_{j'} - \sigma. \tag{4.15}$$ We can now bound lb from below. $$\begin{aligned} & = \max_{i' \in P'} \left\{ \tilde{\pi}_{i'} + \sum_{(i,j) \in P'_{i'}} l_{ij} \right\} \\ & = \max_{i' \in P'} \left\{ \max_{e: \operatorname{tr}(e) = \operatorname{tr}(i'), \\ e \leq N^{i'}} \left\{ \pi_e + d_e + \sum_{(i,j) \in P^{\operatorname{tr}(i')}_{ei'}} l_{ij} \right\} + \sum_{(i,j) \in P'_{i'}} l_{ij} \right\} \\ & = \max_{i' \in P'} \left\{ \max_{e: \operatorname{tr}(e) = \operatorname{tr}(i'), \\ e \leq N^{i'}} \left\{ \pi_e + d_e + \sum_{(i,j) \in P^{\operatorname{tr}(i')}_{ei'}} l_{ij} \right\} + \pi_{j'} - \pi_{i'} - \sum_{(i,j) \in P'_{i'}} s_{ij} \right\} \\ & \left\{ \operatorname{since} \pi_{j'} = \pi_{i'} + \sum_{(i,j) \in P'_{i'}} (l_{ij} + s_{ij}) \right\} \\ & \geq \max_{i' \in P'} \left\{ \max_{e: \operatorname{tr}(e) = \operatorname{tr}(i'), \\ e \leq N^{i'}} \left\{ \pi_e + d_e + \sum_{(i,j) \in P^{\operatorname{tr}(i')}_{ei'}} l_{ij} \right\} + \pi_{j'} - \pi_{i'} - (\pi_{j'} - \sigma) \right\} \\ & = \max_{i' \in P'} \left\{ \max_{e: \operatorname{tr}(e) = \operatorname{tr}(i'), \\ e \leq N^{i'}} \left\{ \pi_e + d_e + \sum_{(i,j) \in P^{\operatorname{tr}(i')}_{ei'}} l_{ij} \right\} - \pi_{i'} + \sigma \right\}. \end{aligned}$$ $$[\operatorname{due to} (4.14)]$$ Now x.*A*fix/j 0 can be bounded by 2lb: $$\begin{split} & \underset{e \in \mathcal{E}_{op}: e \leq \mathcal{N}(\mathcal{A}_{fix}) j'}{\max} \max_{P \in \hat{\mathcal{P}}(e,j',\mathcal{A}_{fix})} \left\{ \pi_e + d_e + \sum_{(i,j) \in P} l_{ij} \right\} \\ & = \max_{i' \in P'} \left\{ \max_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} + \max_{P \in \hat{\mathcal{P}}(i',j',\mathcal{A}_{fix})} \left\{ \sum_{(i,j) \in P} l_{ij} \right\} \right\} \\ & = \max_{i \in P'} \left\{ \max_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} + \max_{P \in \hat{\mathcal{P}}(i',j',\mathcal{A}_{fix})} \left\{ \sum_{(i,j) \in P} l_{ij} \right\} \right\} \\ & = \max_{i \in P'} \left\{ \max_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} + \max_{P \in \hat{\mathcal{P}}(i',j',\mathcal{A}_{fix})} \left\{ \pi_{j'} - \pi_{i'} - \sum_{(i,j) \in P} s_{ij} \right\} \right\} \\ & = \max_{i \in P'} \left\{ \max_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} + \pi_{j'} - \pi_{i'} \right\} \\ & = \max_{i \in P'} \max_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} + \pi_{j'} - \pi_{i'} - (\pi_{j'} - \sigma) + (\pi_{j'} - \sigma) \\ & = \left( \max_{i \in P'} \sum_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} - \pi_{i'} + \sigma \right\} \right\} + \underbrace{\left( \pi_{j'} - \sigma \right)}_{\leq \text{lb}} \\ & = \left( \max_{i \in P'} \sum_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} - \pi_{i'} + \sigma \right\} \right) + \underbrace{\left( \pi_{j'} - \sigma \right)}_{\leq \text{lb}} \\ & = \left( \max_{i \in P'} \sum_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} - \pi_{i'} + \sigma \right\} \right) + \underbrace{\left( \pi_{j'} - \sigma \right)}_{\leq \text{lb}} \\ & = \left( \max_{i \in P'} \sum_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} - \pi_{i'} + \sigma \right\} \right) + \underbrace{\left( \pi_{j'} - \sigma \right)}_{\leq \text{lb}} \\ & = \underbrace{\left( \min_{i \in P'} \sum_{e: tr(e) = tr(i')} \left\{ \pi_e + d_e + \sum_{(i,j) \in P_{eil'}^{tr(i')}} l_{ij} \right\} - \pi_{i'} + \sigma \right\}}_{\leq \text{lb}} \right\}$$ Due to Theorem [4.4.19,](#page-154-0) c.x; P/ lb, hence $$\frac{c(x(\mathcal{A}_{fix}), \mathcal{R}(x(\mathcal{A}_{fix})))}{c(x^*, P^*)} = \frac{x(\mathcal{A}_{fix})_{j'} - \sigma}{c(x^*, P^*)} \le \frac{2lb}{lb} = 2.$$ This concludes the proof. ut 2lb C : Solving DMwR for one OD-pair may be of only theoretical interest since there are many OD-pairs in real-world instances. However, Algorithm [1](#page-148-0) can be used to determine a lower bound on the optimal objective value for the general DMwR problem which improves the integer programming formulation for DMwR in Sect. [4.5.](#page-170-0) **Lemma 4.4.22.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR with OD* D f.*u*k; *v*k; k/ W k 2 Kg *with weights w*k*. Let* .x; *R*/ *be an optimal solution to* I *. For every* Pk 2 *R let* jk *denote the last arrival node on* Pk*, and for every* .*u*k; *v*k; k/ 2 *OD let* lbk *denote the bound calculated by Algorithm [1](#page-148-0) for the instance* Ik WD .*N* ; l; ; f.*u*k; *v*k; k/g;d/*.* *It holds that* $$1b_k \le x_{j_k}^* - \sigma$$ *for any* .*u*k; *v*k; k/ 2 *OD. In particular, we have* $$\sum_{(u_k,v_k,\sigma_k)\in\mathcal{OD}} w_k \mathrm{lb}_k \leq c(x^*,R^*).$$ *Moreover, this bound on the objective value can be calculated in* O.j*OD*jn2/*.* #### *4.4.3 NP-Hardness of Delay Management with Routing for Instances with NTT Property* In Sect. [4.4.2](#page-144-0) we have seen that for the case of only one OD-pair, instances of DMwR can be solved to optimality in polynomial time by a Dijkstra-type solution algorithm if they have the NTT property. Dijkstra's shortest path algorithm can be generalized to find the shortest paths from an origin to all nodes in the graph. It is hence a natural question, whether such a generalization is also possible for Algorithm [1.](#page-148-0) Therefore, in this section we consider instances I D .*N* ; l; ; *OD*;d/ of DMwR where *OD* D f.*u*; *v*k;/ W k 2 Kg, i.e., all OD-pairs have the same origin *u* and the same start time , which have the NTT property. This generalization of our problem already turns out to be strongly NP-hard. #### **Theorem 4.4.23.** *DMwR is strongly NP-hard, even if* - *all OD-pairs* .*u*k; *v*k; k/ 2 *OD have the same origin u*k WD *u and the same start time* k WD 0*,* - *all origin and destination events are connected to only one event in the network,* - *for every* .*u*; *v*k;/ 2 *OD, every path from uorg* k . / *to udest* k *has the NTT property, and* - *there is only one source delay.* *Proof.* This theorem is proven by reduction from the NP-complete decision problem Set Cover (see Definition on p. [88\)](#page-96-0). Let .P; Q; K/ be an instance of Set Cover with P D fp1;:::;pmg and Q D fq1;:::;qng. Note that the structure of Set Cover can be represented by a matrix M D .mij /iD1;:::;m;jD1;:::;n with $$m_{ij} = \begin{cases} 1 & \text{if } p_i \in q^j \\ 0 & \text{otherwise.} \end{cases}$$ We construct an instance I of DMwR in which P corresponds to the OD-pairs and Q corresponds to connections for which we have to decide whether they are maintained or not. We have to cover all OD-pairs (i.e., make sure that all passengers reach their destinations) with a minimal set of maintained connections, since maintaining a connection causes costs (represented as delays) to other passengers. Our construction of an instance of DMwR is the following: - We transfer the matrix M to a set of stations S D fs i W mij D 1g, i.e., whenever mij D 1 for 1 i m and 1 j n there is a station s i . For every j D 1; : : : ; n, we introduce two more stations s mC1 and s*v*j . Finally we add stations s*u* and s0. - There is a train tr0 that runs from s*u* to s0 and after leaving s0 runs through the stations s mC1 for all j D 1; : : : ; n. For every j D 1; : : : ; n, there is a train trj which starts at s0 and runs through the existing stations s i in increasing order of i. For every i D 1; : : : ; m, there is a train tri that runs through the existing stations s i in increasing order of j . - At the driving activity from s0 to s1 mC1 we set the slack time to be 1. The slack time on all other driving and waiting activities is set to 0. - At station s0 there are changing activities from s0 to the departure events of the trains trj . The stations s i offer the possibility to change from train trj to train tri , so if and only if mij D 1, it is possible to change from trj to tri . We allow the passengers to change from tr0 to trj at every station s mC1. The slack time for all changing activities is 0. - Let and l be an arbitrary pair of timetable and set of lower bounds on the (implicitly) constructed EAN *N* which satisfy the requirements on the slack times and s*u* D 0. - The set of OD-pairs is *OD* WD f.*u*; *v*i ; 0/ W i D 1; : : : ; mg[f.*u*; *v*j ; 0/ D 1; : : : ; ng with *u* WD s*u*, *v*i WD s*v*i , *v*j WD s*v*j and *wuv* WD 1 for all .*u*; *v*;/ 2 *OD*. - d.tr0s0-Arr/ WD 1. This is the only source delay. We denote the corresponding EAN by *N* . Note that in this construction there can be no directed path that enters the same train more than once; hence, I has the NTT property. In Fig. [4.2](#page-161-0) the PTN for an instance of DMwR constructed from an instance of Set Cover with P D fp1; p2g and Q D ffp1g; fp2g; fp1; p2gg is pictured. There are six trains, tr0 represented by the thick line, tr1; tr2, and tr3 starting at station s0 and going from left to right and tr1 and tr2 going top down. The detailed event-activity network *N* can be found in Fig. [4.3.](#page-162-0) Here, the square nodes are the departure and arrival events. The origin and destination events are represented by ovals. The dotted lines are the origin and destination activities, the solid lines represent driving and waiting activities, and changing activities are represented by dashed lines. In this proof we use the reformulation of the objective function to the minimization of the overall delay instead of the overall travel time. We show that the instance .P; Q; K/ of Set Cover has a solution if and only if there is a set *A*fix such that cd .x.*A*fix/; *R*.x.*A*fix/// KQ WD m C K for *R*.x.*A*fix// 2 OPT.x.*A*fix//. ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_161_Figure_2.jpeg) **Fig. 4.2** The PTN (indicating the directions of the trains) for the instance of DMwR constructed from an instance of Set Cover with P D fp1; p2g and Q D ffp1g; fp2g; fp1; p2gg We divide *A*change into three sets: 1. the changing activities at station s0 $$\mathcal{A}_{\text{change}}(s_0) := \{ (\text{tr}^0 - s_0 - \text{Arr}, \text{tr}^j - s_0 - \text{Dep}) : j = 1, \dots, m \},$$ 2. the later changing activities from train tr0 $$\mathcal{A}_{\text{change}}(\text{tr}^0) := \{(\text{tr}^0 - s_{m+1}^j - \text{Arr}, \text{tr}^j - s_{m+1}^j - \text{Dep})\},$$ 3. and the changing activities defined by M $$\mathcal{A}_{\text{change}}(M) := \{ (\operatorname{tr}^{j} - s_{i}^{j} - \operatorname{Arr}, \operatorname{tr}_{i} - s_{i}^{j} - \operatorname{Dep}) \}.$$ • Let Q0 be a solution to .P; Q; K/. We define $$\mathcal{A}_{\text{fix}}(Q') := \mathcal{A}_{\text{change}}(M) \cup \mathcal{A}_{\text{change}}(\text{tr}^0) \cup \{(\text{tr}^0 - s_0 - \text{Arr}, \text{tr}^j - s_0 - \text{Dep}) : q^j \in Q'\}$$ and set x.Q0 / WD x.*A*fix.Q0 //. For .*u*; *v*j ; 0/ 2 *OD*, we choose the following train-route Pj : train tr0 is entered at station s*u* and left at station s j mC1, where trj is entered. Then $$c^{d}(x(Q'), P^{j}) = \begin{cases} 1 & \text{if } (\operatorname{tr}^{0} - s_{0} - \operatorname{Arr}, \operatorname{tr}^{j} - s_{0} - \operatorname{Dep}) \in \mathcal{A}_{\operatorname{fix}}(Q'), \\ 0 & \text{otherwise.} \end{cases}$$ $$= \begin{cases} 1 & \text{if } q^{j} \in Q', \\ 0 & \text{otherwise.} \end{cases}$$ ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_162_Figure_2.jpeg) **Fig. 4.3** The EAN for the instance of DMwR constructed from an instance of Set Cover with P D f p1; p2g and Q D ff p1g; fp2g; fp1; p2gg For .*u*; *v*i ; 0/ 2 *OD*, we choose the following train-route Pi : train tr0 is entered at station s*u* and left at s i , where tri is entered. Hence, cd .x.Q0 /; Pi/ D 1. With *R*.Q0 / WD fPi W i D 1; : : : ; mg[fPj W j D 1; : : : ; ng, it follows that $$c^{d}(x(Q'), \mathcal{R}(Q')) = \sum_{i=1}^{m} c^{d}(x(Q'), P_i) + \sum_{j=1}^{n} c^{d}(x(Q'), P^j) = m + |Q'| \le m + K.$$ • Let x be a timetable for I with OPT.x/ ¤ ; and c.x; *R*.x// m C K for any *R*.x/ 2 OPT.x/. We set Q.x/ WD fqj W .tr0s0Arr; trj s0Dep/ 2 *A*fix.x/g. Consider pi 2 P and suppose that there is no qj 2 Q.x/ such that pi 2 qj . Due to the structure of the constructed instance, this implies that there is no path from *u*org.0/ to *v*dest i in N.x/ which is a contradiction to the existence of the solution .x; *R*/. Hence, for every pi 2 P, there is a qj 2 Q.x/ such that pi 2 qj . Furthermore, like in [\(4.4.3\)](#page-159-0) we observe that for any path Pj 2 N.x/ from *u*org.0/ to .*v*j /dest it holds that $$c^{d}(x, P^{j}) = \begin{cases} 1 \text{ if } (\mathsf{tr}^{0} - s_{0} - \mathsf{Arr}, \mathsf{tr}^{j} - s_{0} - \mathsf{Dep}) \in \mathcal{A}_{\mathsf{fix}}(x), \\ 0 \text{ otherwise.} \end{cases} = \begin{cases} 1 \text{ if } q^{j} \in \mathcal{Q}(x), \\ 0 \text{ otherwise.} \end{cases}$$ and that cd .x; Pi/ D 1 for any path Pi 2 N.x/ from *u*org.0/ to *v*dest i . Hence $$|Q(x)| = |\{q^j : (\text{tr}^0 - s_0 - \text{Arr}, \text{tr}^j - s_0 - \text{Dep}) \in \mathcal{A}_{\text{fix}}(x)\}|$$ $$= |\{(\text{tr}^0 - s_0 - \text{Arr}, \text{tr}^j - s_0 - \text{Dep}) \in \mathcal{A}_{\text{fix}}(x)\}|$$ $$= \sum_{j=1}^n c^d(x, P^j)$$ $$= \sum_{P^j \in \mathcal{R}(x)} c^d(x, P^j) - \sum_{i=1}^m c^d(x, P_i)$$ $$\leq m + K - m$$ $$= K.$$ So every instance of Set Cover can be transformed in polynomial time to an instance of DMwR with the claimed properties. ut #### *4.4.4 Inapproximability of Delay Management with Routing* To begin with, we remark that if we consider the objective function of minimizing the overall delay, specified in [\(4.2\)](#page-133-0), unless P D NP, the nonexistence of a polynomial-time approximation algorithm, even for DMwR with only one OD-pair, can directly be concluded from the construction in the proof of Theorem [4.4.1:](#page-139-0) **Lemma 4.4.24.** *There is no polynomial-time algorithm with guaranteed approximation ratio for DMwR with objective function* cd *unless* P D NP*, even if we consider only instances of DMwR where* - *there is only one OD-pair, and* - *there is only one source delay.* *Proof.* Let A be a polynomial-time algorithm for DMwR. Suppose that there is a function f in the input size such that, for any given instance I of DMwR, A returns a solution .xA; *R*A/ with $$c^d(x^A, \mathcal{R}^A) \le f(|I|)c^d(x^*, \mathcal{R}^*),$$ where .x; *R*/ denotes an optimal solution to I . Given an instance .G; t1; t2/ of Hamiltonian Path, we construct an instance of DMwR as described in the proof of Theorem [4.4.1,](#page-139-0) apply A to this instance, and obtain a solution .xA; *R*A/. Let .x; *R*/ be an optimal solution to I . Then as described in the proof of Theorem [4.4.1,](#page-139-0) we apply A to this instance and obtain a solution .xA; *R*A/. Let .x; *R*/ be an optimal solution to I . Then $$c^{d}(x^{A}, \mathcal{R}^{A}) = \begin{cases} 0 & \text{if } c^{d}(x^{*}, \mathcal{R}^{*}) = 0, \\ > 0 & \text{otherwise.} \end{cases}$$ Due to steps [\(2\)](#page-143-0) and [\(3\)](#page-143-0) of the proof of Theorem [4.4.1,](#page-139-0) this implies $$c^{d}(x^{A}, \mathcal{R}^{A}) = \begin{cases} 0 & \text{if there is a Hamiltonian path in } (G, t_{1}, t_{2}), \\ > 0 & \text{otherwise.} \end{cases}$$ Hence, the algorithm decides the Hamiltonian Path problem. ut On the other hand, when choosing the overall travel time to be our objective, we have seen in Lemma [4.4.21](#page-156-0) that for one OD-pair Algorithm [1](#page-148-0) is a 2-approximation algorithm. Unfortunately, unless P D NP, this result cannot be extended to instances with more OD-pairs: **Theorem 4.4.25.** *Unless* P D NP*, there is no polynomial-time constant-factor approximation algorithm for DMwR with objective function* c*, even if we consider only instances of DMwR where* - *there are only two OD-pairs,* - *the OD-pairs have the same destination, and* - *there is only one source delay.* *Proof.* Let A be a polynomial-time algorithm for DMwR and for an instance I let .xA; *R*A/ be the solution returned by A and let .x; *R*/ be an optimal solution. Suppose that there is a constant C 1 such that $$\frac{c(x^A, \mathcal{R}^A)}{c(x^*, \mathcal{R}^*)} \le C$$ for all instances of DMwR which fulfill the conditions specified in Theorem [4.4.25.](#page-164-0) We show that the existence of such a constant C would lead to a polynomial-time algorithm for the Hamiltonian Path problem. To this end, we modify the network constructed from an instance of Hamiltonian Path with fixed start and end nodes in the proof of Theorem [4.4.1](#page-139-0) by adding a station, a train, and an OD-pair and modifying the initial delay and the timetable. Like in the proof of Theorem [4.4.1](#page-139-0) and Lemma [4.4.24,](#page-164-0) in the instance of DMwR we construct here, it will turn out that there is a routing that does not yield any delay if and only if there is a Hamiltonian path from the start node to the end node in the given instance. Let .G; t1; t2/ be an instance of Hamiltonian Path with fixed start and end nodes, and let n 3 denote the number of nodes in G. We construct an instance I D .*PT N* ; TR; *C*; l; ; *OD*;d/ of DMwR as follows: - We set dQ WD 3C..n2/.n3/C2/C1. The edges and edge lengths of the PTN are characterized implicitly by the description of the trains, assuming a driving time function of 1 for all lines. - The set of stations is $$S := \{s_u, s_v, s^1, s^{n-1}\} \cup \{s_i : i = 2, \dots, n-1\}$$ $$\cup \{s_i^j : i = 2, \dots, n-1, j = 2, \dots, n-2\} \cup \{s'\}.$$ - The set of trains is TR WD ftr1;:::; trng[ftr0 g. - Train tr1 starts at station s*u* at time 0 and arrives at station s1 at time 1. - Train trn starts at station sn-1 at time .n 2/.n 3/.dQ C 3/ C .2dQ C 6/ and arrives at station s*v* at time .n 2/.n 3/.dQ C 3/ C .2dQ C 7/. - Train tr0 starts at station s0 at time .n2/.n3/.dQ C3/C.2dQ C4/ and arrives at station sn-1 at time .n 2/.n 3/.dQ C 3/ C .2dQ C 5/. - The trains tri for i D 2;:::; n 1 start at station si at time 0 and go on driving through stations s1; s2 2 ; s2 3 ;:::;s2 n-1, s3 2 ; s3 3 ;:::;s3 n-1;:::;sn-2 n-1 ; sn-1 in this order. Note that the trains tri do not stop at all of these stations. The stopping pattern and the timetable of the trains tr2;:::; trn-1 are as follows: - For i D 2;:::; n 1, if f1; ig 2 G, tri stops at station s1. The arrival time according to is 2 C dQ, and the departure time is 3 C dQ. - Train tri stops at station s i for every i D 2;:::; n1 and j D 2;:::; n2. It arrives there at time ..j 2/.n 2/ C .i 2//.dQ C 3/ C .4 C d /Q and departs at time ..j 2/.n 2/ C .i 2//.dQ C 3/ C .5 C d /Q . - Whenever fi; i0 g 2 G for i; i0 2 f2;:::; n 1g, tri0 stops at station s i . It arrives there at time ..j 2/.n 2/ C .i 2//.dQ C 3/ C .5 C 2d /Q and departs at time ..j 2/.n 2/ C .i 2//.dQ C 3/ C .6 C 2d /Q . - If fi; ng 2 G, tri stops at station sn-1. Its arrival time at this station is .n 3/.n 2/.dQ C 3/ C .4 C d /Q . - We define the lower bounds on the driving and waiting times such that all corresponding slack times are 0, i.e., lij WD j i for all subsequent arrivals and departures i; j . - We define $$\begin{split} \mathcal{C} := & \{ (\operatorname{tr}_1, \operatorname{tr}_{i'}, s^1) : \{1, i'\} \in G \} \\ & \cup \bigcup_{j=2}^{n-2} \bigcup_{i=2}^{n-1} \{ (\operatorname{tr}_i, \operatorname{tr}_{i'}, s^j_i) : \{i, i'\} \in G \} \\ & \cup \{ (\operatorname{tr}_{i'}, \operatorname{tr}_n, s^{n-1}) : \{i', n\} \in G \} \\ & \cup \{ (\operatorname{tr}', \operatorname{tr}_n, s^{n-1}) \}. \end{split}$$ The lower bounds on the changing times are l.trs-Arr;tr0s-Dep/ WD 2 for all .tr; tr0 ; s/ 2 *C*. Consequently, there is a slack time of dQ on each connection. - A delay of d.tr1s*u*-Dep/ WD .n 1/dQ occurs in the departure node at station s*u*. This is the only delay. - There are two OD-pairs: $$-(u,v,\sigma) := (s_u, s_v, 0) \text{ with } w_{uv\sigma} := 1, \text{ and }$$ $$-(\tilde{u}, v, \tilde{\sigma}) := (s', s_{v'}, (n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+4)) \text{ with } w_{\tilde{u}v\tilde{\sigma}} := \tilde{d}.$$ Let *N* be the EAN for instance I . From now on, we regard I as an instance in the EAN, i.e., I D .*N* ; l; ; *OD*;d/. An example for this construction is given in Fig. [4.4.](#page-167-0) Figure [4.4a](#page-167-0) shows an instance of Hamiltonian Path with fixed start node 1 and fixed end node 5. The EAN constructed for the reduction is shown in Fig. [4.4b](#page-167-0). The numbers in the nodes indicate the times the corresponding events are scheduled according to . Note that if we remove station s0 , train tr0 , and OD-pair .*u*Q; *v*; /Q and set dQ D 1, we obtain the EAN constructed in the proof of Theorem [4.4.1.](#page-139-0) Analogously to step [\(1\)](#page-140-0) of the proof of Theorem [4.4.1,](#page-139-0) we see that for a solution .x; *R*/ with P WD P*uv* 2 *R*, - x.*R*/.tr1s*u*-Dep/ .tr1s*u*-Dep/ D d .n Q 1/ - For .i; j / 2 P $$x(\mathcal{R})_{j} - \pi_{j}$$ $$= \begin{cases} x(\mathcal{R})_{i} - \pi_{i} & \text{if } (i, j) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}}, \\ x(\mathcal{R})_{i} - \pi_{i} - \tilde{d} & \text{if } (i, j) \in \mathcal{A}_{\text{change}} \text{ and} \\ P' \cap \{k : \text{tr}(k) = \text{tr}(j), k \leq_{\mathcal{N}} j, \} = \emptyset \\ x(\mathcal{R})_{k} - \pi_{k} \geq x(\mathcal{R}')_{i} - \pi_{i} \text{ for the direct predecessor } k \text{ of } j \text{ on tr}(j) \\ & \text{otherwise.} \end{cases}$$ ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_167_Figure_2.jpeg) **Fig. 4.4** Example for the constructed instance of DMwR in the proof of Theorem [4.4.25.](#page-164-0) (**a**) Instance of Hamiltonian Path with fixed start node 1 and fixed end node 5. (**b**) EAN and timetable for the instance of DMwR constructed from (a) in the proof of Theorem [4.4.25](#page-164-0) • That means whenever the path P enters a train that has not been entered before on activity .i; j / 2 *A*change, the delay in j is reduced by dQ compared to the delay in i and there is no other possibility to reduce the delay. • Thus, if the path P enters every train tr1;:::; trn exactly once, $$d(x(\mathcal{R}),(\operatorname{tr}_n-s_v-\operatorname{Arr}))=x(\mathcal{R})_{(\operatorname{tr}_n-s_v-\operatorname{Arr})}-\pi_{(\operatorname{tr}_n-s_v-\operatorname{Arr})}=0,$$ otherwise, $$d(x(\mathcal{R}), (\operatorname{tr}_n - s_v - \operatorname{Arr})) = x(\mathcal{R})_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} - \pi_{(\operatorname{tr}_n - s_v - \operatorname{Arr})} \ge q\tilde{d}$$ with $q \in \mathbb{N}$ . Since .trn s*v* Arr/ is the last arrival node for both OD-pairs, we conclude analogously to steps [\(1\)](#page-140-0)–[\(3\)](#page-143-0) of the proof of Theorem [4.4.1](#page-139-0) that there is a solution to the given instance of Hamiltonian Path with fixed start and end nodes if and only if there is a solution .x; *R*/ to the constructed instance of DMwR with cd .x; *R*/ D 0, or, in terms of the travel time, $$c(x, \mathcal{R}) = (n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}}.$$ On the other hand, for every solution .x0 ; *R*0 / with cd .x0 ; *R*0 />0 and P0 WD P*uv* 2 *R*0 , we see that cd .x0 ; *R*0 / .*wuv*Q Q C 1/dQ. Hence, in terms of the travel time $$c(x', \mathcal{R}') \ge (n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}} + (w_{\tilde{u}v\tilde{\sigma}}+1)\tilde{d}.$$ (4.16) Suppose that there exists a Hamiltonian path from 1 to n in the given instance. In this case for an optimal solution .x; *R*/ of the constructed instance I $$c(x^*, \mathcal{R}^*) = (n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}}$$ = $((n-2)(n-3) + 2)\tilde{d} + 3((n-2)(n-3) + 2) + 3w_{\tilde{u}v\tilde{\sigma}} + 1.$ Then algorithm A has to find an optimal solution to I , because if .xA; *R*A/ is not optimal, $$c(x^{A}, \mathcal{R}^{A}) \ge (n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{o}} + (w_{\tilde{u}v\tilde{o}}+1)\tilde{d}$$ due to (4.16), and using *wuv*Q Q D dQ D 3C..n 2/.n 3/ C 2/ C 1, we obtain $$\frac{c(x^{A}, \mathcal{R}^{A})}{c(x^{*}, \mathcal{R}^{*})}$$ $$\geq \frac{(n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}} + (w_{\tilde{u}v\tilde{\sigma}}+1)\tilde{d}}{(n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}}}$$ $$= 1 + \frac{(w_{\tilde{u}v\tilde{\sigma}}+1)\tilde{d}}{(n-2)(n-3)(\tilde{d}+3) + (2\tilde{d}+7) + 3w_{\tilde{u}v\tilde{\sigma}}}$$ $$= 1 + \frac{(3C((n-2)(n-3)+2)+2)\tilde{d}}{(n-2)(n-3)(\tilde{d}+3)+(2\tilde{d}+7)+3w_{\tilde{u}v\tilde{\sigma}}}$$ $$= 1 + \frac{3C((n-2)(n-3)+2)\tilde{d}+2\tilde{d}}{(n-2)(n-3)\tilde{d}+5\tilde{d}+3(n-2)(n-3)+7}$$ $$= 1 + \frac{3C((n-2)(n-3))\tilde{d}+6C\tilde{d}+6C((n-2)(n-3)+2)+2}{(n-2)(n-3)\tilde{d}+5\tilde{d}+3(n-2)(n-3)+7}$$ $$= 1 + \frac{3C((n-2)(n-3))\tilde{d}+6C\tilde{d}+6C(n-2)(n-3)+7}{(n-2)(n-3)\tilde{d}+5\tilde{d}+3(n-2)(n-3)+7}$$ $$\geq 1 + \frac{C((n-2)(n-3))\tilde{d}+5C\tilde{d}+3C(n-2)(n-3)+7C}{(n-2)(n-3)\tilde{d}+5\tilde{d}+3(n-2)(n-3)+7}$$ $$= 1 + C > C$$ Hence, if (and only if) there is a Hamiltonian path from t1 to t2 in G, algorithm A returns a solution .x; *R*/ with delay cd .x; *R*/ D 0. Thus, A solves the Hamiltonian Path problem, which would imply that P D NP. ut However, if the delay is bounded with regard to the nominal travel time of the OD-pairs, an easy approximation algorithm is to maintain all connections. This approach is known in the literature under the name of *all-wait strategy* (see, e.g., [Bau10]). **Lemma 4.4.26.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR. For every* .*u*k; *v*k; k/ 2 *OD denote by* PO k*, a path from uorg* k .k/ *to vdest* k *with last arrival node* jO k *that minimizes the nominal travel time* SPk D jO k k*. Set* M WD maxi2*Eop* di min.*u*k ;*v*k ;k /2*OD*.jO k k /*. Then* $$\frac{c(x(\mathcal{A}_{change}), \mathcal{R}(x(\mathcal{A}_{change})))}{c(x^*, \mathcal{R}^*)} \le M + 1,$$ *for an optimal solution* .x; *R*/ *to* I *.* *Proof.* Denote RO WD fPO k W .*u*k; *v*k; k/ 2 *OD*g. Since RO is feasible for x.*A*change/, $$c(x(\mathcal{A}_{change}), \mathcal{R}(x(\mathcal{A}_{change}))) \le c(x(\mathcal{A}_{change}), \hat{R}).$$ Due to Corollary [4.3.9](#page-137-0) $$c(x(\mathcal{A}_{\mathrm{change}}), \hat{R}) \leq \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} + \max_{i \in \mathcal{E}_{\mathrm{op}}} d_i - \sigma_k).$$ ut Hence, since $$c(x^*, \mathcal{R}^*) \ge \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)$$ , $$\frac{c(x(\mathcal{A}_{change}), \mathcal{R}(x(\mathcal{A}_{change})))}{c(x^*, \mathcal{R}^*)} \\ \leq \frac{c(x(\mathcal{A}_{change}), \hat{R})}{c(x^*, \mathcal{R}^*)} \\ \leq \frac{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} + \max_{i \in \mathcal{E}_{op}} d_i - \sigma_k)}{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)} \\ \leq \frac{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k + M \cdot \min_{(u_{k'}, v_{k'}, \sigma_{k'}) \in \mathcal{OD}} \{\pi_{\hat{j}_{k'}} - \sigma_{k'}\})}{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)} \\ \leq \frac{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(M + 1)(\pi_{\hat{j}_k} - \sigma_k)}{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)} \\ \leq \frac{(M + 1) \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)}{\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(\pi_{\hat{j}_k} - \sigma_k)} \\ = M + 1.$$ #### **4.5 Integer Programming Formulation** In this section we present an integer programming formulation for DMwR from [DHSS09, DHSS12]. The model is based on an IP formulation for delay management with constant weights introduced in [Sch06]. Like for cLPwR and for the first IP formulation for TTwR, we use a passenger flow-based formulation for modeling DMwR in an IP. Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR. The first type of variables decides whether a changing activity is maintained or not. That is, for every changing activity a 2 *A*change, there is a binary variable *z*a, which is defined as $$z_a = \begin{cases} 1 & \text{if } a \text{ is maintained,} \\ 0 & \text{otherwise.} \end{cases}$$ The task of the next set of variables is the calculation of the disposition timetable. For every event e 2 *E*op, we define the variable xe as xe WD time that event e takes place in the disposition timetable. These variables suffice to model delay management with constant weights (see, e.g., [Sch06]). However, since in DMwR the routing is not part of the input but of the solution that has to be found, we need additional variables to model the passenger flows: $$q_a^k = \begin{cases} 1 & \text{if activity } a \text{ is used by OD-pair } (u_k, v_k, \sigma_k) \\ 0 & \text{otherwise.} \end{cases}$$ Furthermore, for every OD-pair .*u*k; *v*k; k/ 2 *OD*, we introduce variables $$t^k := \text{ arrival time of OD-pair } (u_k, v_k, \sigma_k).$$ We obtain the following IP: $$\min \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - \sigma_k) \tag{4.17}$$ s.t. $$x_e \ge \pi_e + d_e$$ $\forall e \in \mathcal{E}_{op}$ , (4.18) $$x_e \ge x_{e'} + l_a$$ $\forall a = (e', e) \in \mathcal{A}_{drive} \cup \mathcal{A}_{wait},$ (4.19) $$x_e \ge x_{e'} + l_a - M_1(1 - z_a) \quad \forall a = (e', e) \in \mathcal{A}_{\text{change}},$$ (4.20) $$\sum_{a \in \delta^{-}(u_k^{\text{org}}(\sigma_k))} q_a^k = 1 \qquad \forall u_k^{\text{org}}(\sigma_k) \in \mathcal{E}'_{\text{org}}, \tag{4.21}$$ $$\sum_{a \in \delta^{-}(e)} q_a^k = \sum_{a \in \delta^{+}(e)} q_a^k \qquad \forall (u_k, v_k, \sigma_k) \in \mathcal{OD}, e \in \mathcal{E}_{op}, \tag{4.22}$$ $$\sum_{a \in \delta^{+}(v_{k}^{\text{dest}})} q_{a}^{k} = 1 \qquad \forall v_{k}^{\text{dest}} \in \mathcal{E}_{\text{dest}}, \tag{4.23}$$ $$q_a^k \le z_a$$ $\forall (u_k, v_k, \sigma_k) \in \mathcal{OD}, a \in \mathcal{A}_{\text{change}},$ (4.24) $$t^{k} \ge x_{e} - M_{2}^{k} (1 - q_{a}^{k}) \qquad \forall v_{k}^{\text{dest}} \in \mathcal{E}_{\text{dest}}, a = (e, v_{k}^{\text{dest}}) \in \delta^{+}(v_{k}^{\text{dest}}),$$ $$\tag{4.25}$$ $$z_a \in \{0, 1\}$$ $\forall a \in \mathcal{A}_{\text{change}},$ (4.26) $$q_a^k \in \{0, 1\}$$ $\forall (u_k, v_k, \sigma_k) \in \mathcal{OD}, a \in \mathcal{A},$ (4.27) $$x_e \in \mathbb{N}$$ $\forall e \in \mathcal{E}_{op},$ (4.28) $$t^k \in \mathbb{N}$$ $\forall (u_k, v_k, \sigma_k) \in \mathcal{OD}.$ (4.29) Before proving correctness of the IP formulation (4.17)–(4.29) in Lemmas [4.5.1](#page-172-0) and [4.5.2,](#page-173-0) we explain informally the intention of the constraints: The objective function (4.17) minimizes the overall arrival time of all passengers. Constraints (4.18) imply that events cannot take place earlier than in the original timetable and that source delays are taken into account. To make sure that delays are propagated through the network correctly, constraints (4.19) transfer the delay from the start of activity a to its end. For maintained changing activities, that is changing activities for which *z*a D 1, constraints [\(4.20\)](#page-171-0) transfer delays from the feeder train to the connecting train. The value of M1 should be chosen large enough for these constraints to be correct. In [Sch06] it has been shown that M1 D maxe2*E* de is large enough. Constraints [\(4.18\)](#page-171-0)–[\(4.20\)](#page-171-0) are also used for modeling delay management with constant weights. The flow constraints [\(4.21\)](#page-171-0)–[\(4.23\)](#page-171-0) ensure that every OD-pair leaves its origin, travels until its destination, and stops traveling there. Constraint [\(4.24\)](#page-171-0) ensures that only maintained changing activities are used for traveling. Finally, constraint [\(4.25\)](#page-171-0) defines the arrival time for OD-pair .*u*k; *v*k; k/ where Mk 2 is a large number. For .*u*k; *v*k; k/ 2 *OD*, denote by *E*k arr WD fe 2 *E*arr W .e; *v*dest k / 2 *A*destg the set of arrival events at station *v*k like in Definition [3.6.1.](#page-107-0) **Lemma 4.5.1.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR. Then for any* M1 2 N0 *and* fMk 2 W .*u*k; *v*k; k/ 2 *OD*g - Nj*OD*j 0 *, it holds that a feasible solution* .*z*; x; q;t/ *to the IP [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0) defines a feasible solution* .x0 ; *R*0 / *to instance* I *of DMwR and* $$c(x', \mathcal{R}') \leq \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - \sigma_k).$$ *Proof.* Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR. We consider the corresponding IP formulation [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0). Let .*z*; x; q;t/ be feasible for the IP [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0), i.e., .*z*; x; q;t/ fulfills constraints [\(4.18\)](#page-171-0)–[\(4.29\)](#page-171-0). We set x0 e WD xe 8e 2 *E*op. Then x0 defines a disposition timetable due to [\(4.18\)](#page-171-0) and [\(4.19\)](#page-171-0). Because of [\(4.20\)](#page-171-0), *z*a D 0 for all a 2 *A*change n *A*fix.x0 /. Hence, $$q_a^k = 0 \quad \forall a \in \mathcal{A}_{\text{change}} \setminus \mathcal{A}_{\text{fix}}(x')$$ (4.30) due to [\(4.24\)](#page-171-0). For every .*u*k; *v*k; k/ 2 *OD*, the set of variables fqk a W a 2 *A*g defines a path Pk from *u* org k .k/ to *v*dest k in *N* due to [\(4.21\)](#page-171-0)–[\(4.23\)](#page-171-0). Due to (4.30), for every k Pk is a path in *N* .x0 / and hence feasible for x0 . Thus, .x0 ; fPk W .*u*k; *v*k; k/ 2 *OD*g/ is a feasible solution to I . Furthermore, from [\(4.25\)](#page-171-0) it follows that for every .*u*k; *v*k; k/ 2 *OD* we have t k xek D x0 ek for the last arrival node ek on Pk and we have $$\begin{split} c(x', \mathcal{R}') &= \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k c(x', P_k) \\ &= \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k (x'_{e_k} - \sigma_k) \\ &\leq \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k (t^k - \sigma_k). \end{split}$$ **Lemma 4.5.2.** *Let* I D .*N* ; l; ; *OD*;d/ *be an instance of DMwR and let the numbers* M1 *and* Mk 2 *for every* .*u*k; *v*k; k/ *be chosen in such a way that* $$M_1 \ge \max_{e \in \mathcal{E}_{op}} d_e \quad and \quad M_2^k \ge \max_{e \in \mathcal{E}_{op}} d_e + \max_{(i,j) \in \mathcal{E}_{arr}^k \times \mathcal{E}_{arr}^k} (\pi_j - \pi_i).$$ *Then a solution* .x0 ; *R*0 /*, defined by an optimal solution* .*z*; x; q;t/ *to the IP [\(4.17\)](#page-171-0)– [\(4.29\)](#page-171-0) is an optimal solution to DMwR for instance* I *, and* $$c(x', \mathcal{R}') = \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - \sigma_k).$$ *Proof.* Let I D .*N* ; l; ; *OD*;d/ be an instance of DMwR. We consider the corresponding IP formulation [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0). 1. Let .x0 ; *R*0 / be a feasible solution to I . With *R*0 WD fPk W .*u*k; *v*k; k/ 2 *OD*g, we set $$\begin{split} x_e &:= x_e' & \forall e \in \mathcal{E}_{\text{op}}, \\ q_a^k &:= \begin{cases} 1 & \text{if } a \in P_k, \\ 0 & \text{otherwise} \end{cases} & \forall a \in \mathcal{A}, (u_k, v_k, \sigma_k) \in \mathcal{OD}, \\ z_a &:= \begin{cases} 1 & \text{if } a \in \mathcal{A}_{\text{fix}}(x'), \\ 0 & \text{otherwise}, \end{cases} & \forall a \in \mathcal{A}_{\text{change}}, \\ t^k &:= c(x', P_k) + \sigma_k & \forall (u_k, v_k, \sigma_k) \in \mathcal{OD}. \end{split}$$ We show that constraints [\(4.18\)](#page-171-0)–[\(4.29\)](#page-171-0) are fulfilled for .x; q;*z*;t/: Constraints [\(4.18\)](#page-171-0) and [\(4.19\)](#page-171-0) hold because x0 is a disposition timetable. For a 2 *A*fix.x0 /, [\(4.20\)](#page-171-0) holds due to the definition of *A*fix [\(4.1\)](#page-132-0). For a D .e0 ; e/ 2 *A*change n *A*fix.x0 /, it follows from Corollary [4.3.9](#page-137-0) that $$x_e \ge \pi_e \ge \pi_{e'} + l_a \ge x_{e'} + l_a - \max_{i \in \mathcal{E}_{op}} d_e \ge x_{e'} + l_a - M_1(1 - z_a).$$ Constraints [\(4.21\)](#page-171-0)–[\(4.23\)](#page-171-0) and [\(4.24\)](#page-171-0) are fulfilled due to the definition of q and *z*. For every k, for the last arrival node ek on Pk, [\(4.25\)](#page-171-0) is trivially fulfilled. For e 2 *E*k arr n fekg, using Corollary [4.3.9,](#page-137-0) we obtain $$t^{k} = x_{e_{k}} \ge \pi_{e_{k}} = \pi_{e} - (\pi_{e} - \pi_{e_{k}}) \ge x_{e} - \max_{i \in \mathcal{E}_{op}} d_{i} - (\pi_{e} - \pi_{e_{k}})$$ $$\ge x_{e} - M_{2}^{k} = x_{e} - M_{2}^{k} (1 - q_{e_{V_{k}^{\text{dest}}}}^{k}).$$ Furthermore, the definition of t k implies that ut $$\sum_{(u_k,v_k,\sigma_k)\in\mathcal{OD}} w_k(t^k - \sigma_k) = c(x',\mathcal{R}').$$ 2. Let .*z*; x; q;t/ be an optimal solution to [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0). Then due to Lemma [4.5.1,](#page-172-0) there is a corresponding feasible solution .x0 ; *R*0 / to I with $$c(x', \mathcal{R}') \leq \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - \sigma_k).$$ Suppose that for an optimal solution .x; *R*/ to DMwR it holds that c.x; *R*/ < P .*u*k ;*v*k ;k /2*OD w*k.t k k/. Then according to [\(4.5.2\)](#page-173-0), there is a corresponding feasible solution .*z*; x; q; t/ to [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0) with $$\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k((t^*)^k - \sigma_k) = c(x^*, \mathcal{R}^*) < \sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - \sigma_k).$$ This contradicts the optimality of .*z*; x; q;t/. Given an instance I D .*N* ; l; ; *OD*;d/ of DMwR, formulation [\(4.17\)](#page-171-0)–[\(4.29\)](#page-171-0) can be tightened using the valid inequalities provided by Lemma [4.4.22,](#page-158-0) e.g., we add $$t^k \ge \mathrm{lb}_k + \sigma_k \quad \forall (u_k, v_k, \sigma_k) \in \mathcal{OD},$$ where lbk denotes the output of Algorithm [1](#page-148-0) for instance I D .*N* ; l; ; f.*u*k; *v*k; k/g;d/. As we have seen in Lemma [4.2.7,](#page-134-0) DMwR can equivalently be formulated using the overall delay instead of the overall travel time as an objective. Hence, we could replace [\(4.17\)](#page-171-0) with the equivalent objective function $$\sum_{(u_k, v_k, \sigma_k) \in \mathcal{OD}} w_k(t^k - SP_k). \tag{4.31}$$ Using (4.31) instead of the overall travel time, the proposed integer programming formulation of DMwR specified by the modified objective (4.31) and the constraints [\(4.18\)](#page-171-0)–[\(4.29\)](#page-171-0) has been tested in [DHSS09, DHSS12] on several instances based on data from Dutch Railways and compared to an IP formulation for delay management with constant weights. #### **Chapter 5** ## **An Iterative Solution Approach for General Network Problems with Routing** In this chapter we present an iterative approach for solving network problems with routing which alternatingly calculates routings and decides about the network structure. To this end, in Sect. 5.1 we identify structural similarities between the problems considered in the preceding sections. We classify the problems in problem classes in order to find out to which extent they are tractable by our iterative approach which is presented and analyzed in Sect. [5.2](#page-181-0) for problems from the defined problem classes. In Sect. [5.3](#page-183-0) we define the *price of sequentiality*, an indicator for the quality of the solutions found by the iterative approach which we analyze for the problems TTwR and *arc speed-up* in Sects. [5.4](#page-184-0) and [5.5.](#page-189-0) #### **5.1 Classification of Network Problems with Routing** Consider the definitions of uLPwR, scLPwR, and cLPwR in the CGN (Definitions [2.2.5\)](#page-34-0) and the definitions of TTwR and DMwR in the EAN (Definitions [3.2.6](#page-93-0) and [4.2.5\)](#page-133-0). We notice that common components in the input of the problems are - a directed graph N D .V; A/, and - the specification of a subset of V V by means of the OD-pairs. We call this representation of the OD-pairs *node-OD-pairs*. **Definition 5.1.1.** Given a network N D .V; A/, a set of *node-OD-pairs in* N is a subset of the Cartesian product of the node set of N, i.e., *OD*node - V V . For every node-OD-pair .*u*; *v*/, the *number of passengers* or *passenger weight wuv* is specified. We restate the definition of paths and routings in terms of the node-OD-pairs. **Notation 5.1.2.** *Let* N D .V; A/ *be an undirected graph and ODnode a set of node-OD-pairs in* N*.* - • *A* path for node-OD-pair .*u*; *v*/ 2 *OD*node *is a path* P*uv from u to v in* N*.* - *A* routing for node-OD-pair .*u*; *v*/ 2 *OD*node *with passenger weight wuv is a collection of paths Ruv for OD-pair* .*u*; *v*/*, i.e.,* $$\mathcal{R}_{uv} = \{P : P \text{ path for } (u, v)\}.$$ *Every path* P *is assigned a* number of passengers *w*P *uv, such that*P P2*Ruvw*P *uv* D*wuv.* • *A* routing for the set of node-OD-pairs *OD*node *is defined as* $$\mathcal{R} = \bigcup_{(u,v) \in \mathcal{OD}_{node}} \mathcal{R}_{uv}.$$ We capture the identified similarities of the problems uLPwR, scLPwR, cLPwR, TTwR, and DMwR in the definition of a joint problem class *Q*. **Definition 5.1.3.** A minimization problem Q with objective function c belongs to the class *Q* of *network problems with routing* if it has the following properties: - 1. The input of an instance of Q specifies a (directed or undirected) graph N D .V; A/ and a set of node-OD-pairs *OD*node -V V . - 2. A solution .*S*; *R*/ to an instance of Q consists of a routing *R* as defined in Notation [5.1.2](#page-175-0) and a network component *S* which can be interpreted as an assignment of length and capacity to the arcs $$f_{\mathcal{S}}: A \to \mathbb{Q} \times \mathbb{Z}, \ a \mapsto (\text{length}(a), \text{capacity}(a)).$$ 3. There is lbQ 2 Z such that for every solution .*S*; *R*/ to Q, c.*S*; *R*/ lbQ. Indeed, all problems considered in this text so far fit into this description. **Lemma 5.1.4.** *uLPwR, scLPwR, cLPwR, TTwR, and DMwR can be regarded as problems belonging to Q.* *Proof.* • For an instance I D .NCGN;*L*; *OD*;B/ of uLPwR, we set N WD NCGN for the CGN NCGN and *OD*node WD f.*u*org; *v*org/ W .*u*; *v*/ 2 *OD*g. A solution .*L*0 ; *R*/ to I consists of a routing *R* and a line concept *L*0 that defines which part of the network is built, i.e., can be used by the passengers, and which part is deleted. Hence, we can regard *L*0 as an assignment $$f_{\mathcal{L}'}((i,j)) := \begin{cases} (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\text{drive}}, l((i,j)) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\text{trans}}, l(i), l(j) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\text{org}}, l(j) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\text{dest}}, l(i) \in \mathcal{L}', \\ (c_{ij}, 0) & \text{otherwise.} \end{cases}$$ Furthermore, c.*L*0 ; *R*/ 0 for all solutions .*L*0 ; *R*/ to I . • Similarly, for an instance I D .NCGN;*L*; *OD*; B;Cap/ of scLPwR or cLPwR, N WD NCGN and *OD*node WD f.*u*org; *v*org/ W .*u*; *v*/ 2 *OD*g are defined by the input. A solution .*L*0 ; *R*/ to I consists of a routing *R* and a line concept *L*0 with frequencies fl > 0 for l 2 *L*0 . *L*0 defines which part of the network is built and the capacity of the network by the specification of the frequencies. We could regard *L*0 as a function $$f_{\mathcal{L}'}((i,j)) := \begin{cases} (c_{ij}, f_l \cdot \mathsf{Cap}) & \text{if } (i,j) \in A_{\mathsf{drive}}, l((i,j)) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\mathsf{trans}}, l(i), l(j) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\mathsf{org}}, l(j) \in \mathcal{L}', \\ (c_{ij}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in A_{\mathsf{dest}}, l(i) \in \mathcal{L}', \\ (c_{ij}, 0) & \text{otherwise.} \end{cases}$$ where fl denotes the frequency of line l 2 *L*0 . Again it holds that c.*L*0 ; *R*/ 0 for all solutions .*L*0 ; *R*/ to I . • For an instance .*N* ; l; *u*; *OD*/ of TTwR, we set N WD *N* and *OD*node WD f.*u*org; *v*org/ W .*u*; *v*/ 2 *OD*g. A solution .; *R*/ to I consists of a routing *R* and a timetable which defines the arc lengths of the network N./. Hence, we can understand as an assignment of Lij D j i to the arcs: $$f_{\pi}((i,j)) := \begin{cases} (\pi_j - \pi_i, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in \mathcal{A}_{op}, \\ (0, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{otherwise.} \end{cases}$$ Furthermore, c.; *R*/ 0 for all solutions .; *R*/ to I . • For an instance .*N* ; l; ; *OD*;d/ of DMwR, we set *OD*node WD f.*u*org. /; *v*org/ W .*u*; *v*;/ 2 *OD*g and N WD *N* . A solution .x; *R*/ to I consists of a routing *R* and a disposition timetable x which defines the arc lengths of the network *N* .x/ and the existence of changing activities; hence, we identify x with the following function $$f_{X}((i,j)) := \begin{cases} (x_{j} - x_{i}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in \mathcal{A}_{\text{drive}} \cup \mathcal{A}_{\text{wait}} \cup \mathcal{A}_{\text{fix}}(x), \\ (x_{j} - x_{i}, 0) & \text{if } (i,j) \in \mathcal{A}_{\text{change}} \setminus \mathcal{A}_{\text{fix}}(x), \\ (x_{j} - \sigma, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in \mathcal{A}'_{\text{org}}, \\ (0, \sum_{(u,v) \in \mathcal{OD}} w_{uv}) & \text{if } (i,j) \in \mathcal{A}_{\text{dest}}. \end{cases}$$ Furthermore, $$c(x, \mathcal{R}) \ge 0$$ for all solutions $(x, \mathcal{R})$ to $I$ . The goal of this section is to identify for which of the problems considered in this book it is promising to determine a solution iteratively, i.e., to iterate the calculation of *R* and *S* while fixing *S* or *R*, respectively. Obviously, this approach only makes sense if for a given routing we can determine a feasible network component and vice versa: **Definition 5.1.5.** Let Q 2 *Q* be a network problem with routing and I be an instance of Q. • Let *R* be a routing for I . We define the set of *network components feasible for R* $$FEAS(\mathcal{R}) := \{S : (S, \mathcal{R}) \text{ is feasible}\}.$$ • Let *S* be a network component for I . We define the set of *routings feasible for S* $$FEAS(S) := \{ \mathcal{R} : (S, \mathcal{R}) \text{ is feasible} \}.$$ This notion of feasibility for a routing or a network component for uLPwR and scLPwR is captured in Definition [2.2.4.](#page-33-0) To obtain a feasible solution .*L*0 ; *R*/ to cLPwR, additionally to Definition [2.2.4,](#page-33-0) we need that *R* is a shortest-path routing in N.*L*0 /. For DMwR see Definition [4.2.3.](#page-132-0) In TTwR, every feasible timetable is feasible for every routing and vice versa. In order to improve the objective values during an iterative procedure, we aim at finding the best possible solution in every step. To define problem classes for which this approach is possible, we introduce the following notation. **Definition 5.1.6.** Let Q 2 *Q* be a network problem with routing and I be an instance of Q. • Let *R* be a routing for I such that FEAS.*R*/ ¤ ;. We define $$OPT(\mathcal{R}) := \{ \mathcal{S}(\mathcal{R}) \in FEAS(\mathcal{R}) : c(\mathcal{S}(\mathcal{R}), \mathcal{R}) \le c(\mathcal{S}', \mathcal{R}) \forall \mathcal{S}' \in FEAS(\mathcal{R}) \}.$$ • Let *S* be a network component for I such that FEAS.*S*/ ¤ ;. We define $$OPT(S) := \{ \mathcal{R}(S) \in FEAS(S) : c(S, \mathcal{R}(S)) \le c(S, \mathcal{R}') \forall \mathcal{R}' \in FEAS(S) \}.$$ Note that the definition of OPT.*S*/ corresponds to the definitions of OPT.*L*0 / for a given line concept *L*0 in uLPwR (see Definition [2.3.3\)](#page-39-0), OPT./ for a given timetable in TTwR, and OPT.x/ for a given disposition timetable x in DMwR (see Definition [4.3.1\)](#page-134-0). The definition of OPT.*R*/ corresponds to the definition of OPT.*R*/ for a given routing in TTwR. For an instance I of uLPwR with a given routing *R*, we have *L*.*R*/ 2 OPT.*R*/ in the sense of Definition 5.1.6 (see Definition [2.3.1\)](#page-39-0), and for an instance I of DMwR with a given routing *R*, we have x.*R*/ 2 OPT.*R*/ in the sense of Definition 5.1.6. **Definition 5.1.7.** Let Q 2 *Q*. We define the subclass *Q*opt - *Q* as follows: Q 2 *Q*opt if the following conditions hold: - 1. Let *R* be a routing such that FEAS.*R*/ ¤ ;. Then OPT.*R*/ ¤ ;. - 2. Let *S* be a network component such that FEAS.*S*/ ¤ ;. Then OPT.*S*/ ¤ ;. **Lemma 5.1.8.** *uLPwR, scLPwR, cLPwR, TTwR, and DMwR are in Qopt.* *Proof.* For every instance I of a problem Q 2 f*u*LP*w*R; scLP*w*R; cLP*w*R; T T *w*R; DM*w*Rg, there is only a finite number of solutions .*S*; *R*/. Hence, for any routing *R* for I , FEAS.*R*/ is a finite set, and FEAS.*R*/ ¤ ; implies OPT.*R*/ D argmin*S*2FEAS.*R*/ c.*S*; *R*/ ¤ ;. Analogously, for any network component *S* for I , FEAS.*S*/ is a finite set and FEAS.*S*/ ¤ ; implies OPT.*S*/ D argmin*R*2FEAS.*S*/ c.*S*; *R*/ ¤ ;. ut **Definition 5.1.9.** Let Q 2 *Q*. We define the subclass *Q*opt pol - *Q* as follows: Q 2 *Q*opt pol if Q 2 *Q*opt and the following conditions hold: - 1. Let *R* be a routing such that FEAS.*R*/ ¤ ;. Then we can find a network component *S*.*R*/ 2 OPT.*R*/ in polynomial time. - 2. Let *S* be a network component such that FEAS.*S*/ ¤ ;. Then we can find a routing *R*.*S*/ 2 OPT.*S*/ in polynomial time. #### **Lemma 5.1.10.** *uLPwR, TTwR, and DMwR are in Qopt pol.* - *Proof.* Let .NCGN;*L*; *OD*;B/ be an instance of uLPwR and let *R* be a routing for *OD* (or the corresponding set of node-OD-pairs *OD*node, respectively). We find *L*.*R*/ as defined in Definition [2.3.1](#page-39-0) in polynomial time. According to Lemma [2.3.2,](#page-39-0) *L*0 is feasible for *R* if there exists a feasible line concept for *R*. Furthermore, c.*L*0 ; *R*/ does not depend on the line concept *L*0 , as long as it is feasible for *R*. Hence, *L*.*R*/ 2 OPT.*R*/. - Now let *L*0 be a line concept. A shortest-path routing *R*.*L*0 / in N.*L*0 / can be found in polynomial time. - Let .*N* ; l; *u*; *OD*/ be an instance of TTwR. According to Definition [3.3.4,](#page-95-0) Lemma [3.3.3,](#page-95-0) and Corollary [3.3.5,](#page-95-0) given a routing *R* a timetable .*R*/ 2 OPT.*R*/ can be found in polynomial time. On the other hand, Definition [3.3.6](#page-96-0) and Lemma [3.3.7](#page-96-0) imply that given a timetable a routing *R*./ 2 OPT./ can be found in polynomial time. - Let .*N* ; l; ; *OD*;d/ be an instance of DMwR. According to Definition [4.3.10,](#page-137-0) Definition [4.3.4,](#page-135-0) and Corollary [4.3.11,](#page-137-0) given a routing *R* the disposition timetable x.*R*/ can be found in polynomial time. Furthermore, for a disposition timetable x, Lemma [4.3.2](#page-135-0) ensures that a routing *R*.x/ 2 OPT.x/ as defined in Definition [4.3.1](#page-134-0) can be found in polynomial time. ut Even if a problem Q is not in *Q*opt pol, if we have polynomial-time heuristics which find network components for given routings and routings for given network components with good objective values, an iterative approach could be successfully used to improve the solution quality of an initial solution. The class of problems for which this could be possible is described in the following definition: **Definition 5.1.11.** Let Q 2 *Q*. We define the subclass *Q*feas pol - *Q* as follows: Q 2 *Q*feas pol if the following conditions hold: - 1. Let *R* be a routing such that FEAS.*R*/ ¤ ;. Then we can find a network component *S* 2 FEAS.*R*/ in polynomial time. - 2. Let *S* be a network component such that FEAS.*S*/ ¤ ;. Then we can find a routing *R* 2 FEAS.*S*/ in polynomial time. However, none of the problems considered in this book is in *Q*feas pol n *Q*opt pol: **Lemma 5.1.12.** *scLPwR and cLPwR are not in Qfeas pol .* *Proof.* This follows from Theorem [2.3.8.](#page-41-0) ut In order to obtain a polynomial-time iterative algorithm, we do not only need the property that the iterations can be performed in polynomial time, but we also need to find an initial solution in polynomial time. **Definition 5.1.13.** We define the subclasses *Q*trac rout; *Q*trac comp - *Q*opt pol as follows: Let Q 2 *Q*opt pol be a problem for which a feasible solution .*S*; *R*/ exists. - Q 2 *Q*trac rout if a routing *R* with FEAS.*R*/ ¤ ; can be found in polynomial time. - Q 2 *Q*trac comp if a network component *S* with FEAS.*S*/ ¤ ; can be found in polynomial time. **Lemma 5.1.14.** *Let* Q *be a problem in Qopt pol.* $$Q \in \mathcal{Q}_{rout}^{trac} \Leftrightarrow Q \in \mathcal{Q}_{comp}^{trac}$$ ,*For every instance of* Q *we can find a feasible solution in polynomial time.* *Proof.* Let I be an instance of Q. - If Q 2 *Q*trac rout we find a routing *R*0 with FEAS.*R*0/ ¤ ; in polynomial time. Since Q 2 *Q*opt pol we find a network component *S*0 2 OPT.*R*0/ in polynomial time. Then *R*0 2 FEAS.*S*0/, hence FEAS.*S*0/ ¤ ; which implies Q 2 *Q*trac comp. - If Q 2 *Q*trac comp we find a network component *S*0 with FEAS.*S*0/ ¤ ; in polynomial time. Since Q 2 *Q*opt pol we find a solution routing *R*.*S*0/ 2 OPT.*S*0/ in polynomial time. Then .*S*0; OPT.*S*0// is a feasible solution to I . - This is obvious, since a feasible solution .*S*; *R*/ contains a routing *R* with FEAS.*R*/ f*S*/. ut **Definition 5.1.15.** We hence define *Q*trac WD *Q*trac rout D *Q*trac comp. **Lemma 5.1.16.** *The restriction of uLPwR to linear PTNs, TTwR, and DMwR are in Qtrac.* *Proof.* • Let .N;*L*; *OD*;B/ be an instance of uLPwR. A feasible line plan can be found in polynomial time as described in the proof of Theorem [2.5.9](#page-53-0) if it exists. Hence, the problem uLPwR restricted on linear PTNs is contained in *Q*trac comp. ut - • Let .*N* ; l; *u*; *OD*/ be an instance of TTwR. A routing *R* in *N* (e.g., a shortest-path routing taking lower bounds as arc lengths) can be found in polynomial time. FEAS.*R*/ D f W is a feasible timetable g. Hence, TTwR is contained in *Q*trac rout. - Let .*N* ; l; ; *OD*;d/ be an instance of DMwR. A routing *R* in *N* (e.g., a shortest-path routing taking lower bounds as arc lengths) can be found in polynomial time. Furthermore, x.*R*/ 2 FEAS.*R*/ (see Definition [4.3.10\)](#page-137-0). Hence, DMwR is contained in *Q*trac rout. **Lemma 5.1.17.** *uLPwR is not in Qtrac.* *Proof.* This follows from Theorem [2.5.1.](#page-45-0) ut The results of this section are summarized in the following table. | | Qopt | Find
R.S/ 2
OPT.S/
in polynomial time | Find
S.R/ 2
OPT.R/
in polynomial time | Qopt
pol | Qtrac | |----------------|------|------------------------------------------------|------------------------------------------------|-------------|-------| | uLPwR | | | | | | | in linear PTNs | x | x | x | x | x | | uLPwR | x | x | x | x | – | | scLPwR | x | – | x | – | – | | cLPwR | x | – | x | – | – | | TTwR | x | x | x | x | x | | DMwR | x | x | x | x | x | #### **5.2 An Iterative Heuristic** We propose the heuristic presented in Algorithm [2](#page-182-0) to solve problems in problem class *Q*opt. Due to Lemma [5.1.14](#page-180-0) we can assume without loss of generality that we start with a given routing *R*0. However, we could equivalently formulate an iterative heuristic that starts with a feasible network component *S*. Note that, in general, the sets OPT.*S*i / and OPT.*R*i / contain more than one element and that the performance of the heuristic certainly depends on the choices made in steps [1,](#page-182-0) [2,](#page-182-0) [4,](#page-182-0) and [5.](#page-182-0) However, we assume that the choices of the algorithm are deterministic and only depend on the network component *S*i-1 in step [4](#page-182-0) and on the routing *R*0 or *R*i , respectively, in steps [2](#page-182-0) and [5.](#page-182-0) Hence, if *S*i D *S*i-1 for an i 2 f1; : : : ; sg, Algorithm [2](#page-182-0) would find the same solution .*S*j ; *R*j / D .*S*i ; *R*i / for every j D i;:::; s. This justifies the stopping criterion in steps [6–8.](#page-182-0) #### **Algorithm 2** Iterative heuristic ``` Require: Instance I of problem Q 2 Qopt. Maximal number of iterations s 2 N [ f1g. Ensure: Solution .S; R/ to I (if it exists) 1: Find an initial routing R0 with OPT.R0/ ¤ ; 2: Choose S0 2 OPT.R0/ 3: for i D 1; : : : ; s do 4: Choose Ri 2 OPT.Si- 1/ 5: Choose Si 2 OPT.Ri / 6: if Si D Si- 1 then 7: Stop. return .Si ; Ri / 8: end if 9: end for 10: Stop. return .Ss ; Rs / ``` **Lemma 5.2.1.** *For* Q 2 *Qopt, steps 2, 4, and 5 of Algorithm 2 are well-defined, i.e.,* $$OPT(S^{i-1}) \neq \emptyset$$ and $OPT(R^i) \neq \emptyset$ for $i = 1, ..., s$ . *Proof.* This lemma is shown inductively: - *R*0 is chosen such that OPT.*R*0/ ¤ ; in step 1 of Algorithm 2. - For i D 1; : : : ; s C 1 suppose that OPT.*R*i-1/ ¤ ;. Then in step 2 of iteration i 1, *S*i-1 is chosen from OPT.*R*i-1/ ¤ ;. Hence, .*S*i-1; *R*i-1/ is a feasible solution to I . According to [\(1.](#page-178-0)) in Definition [5.1.7,](#page-178-0) OPT.*S*i-1/ ¤ ; follows. - For i D 1; : : : ; s suppose that OPT.*S*i-1/ ¤ ;. *R*i is chosen from OPT.*S*i-1/ for i D 1; : : : ; s. Hence, .*S*i-1; *R*i / is a feasible solution to I . According to [\(2.](#page-178-0)) in Definition [5.1.7,](#page-178-0) OPT.*R*i / ¤ ; follows. ut **Lemma 5.2.2.** *Let* I *be an instance of a problem* Q 2 *Qtrac. For the solutions* .*S*i ; *R*i / *calculated in Algorithm 2, it holds that* $$c(\mathcal{S}^i, \mathcal{R}^i) \le c(\mathcal{S}^{i-1}, \mathcal{R}^{i-1})$$ for $i = 1, \dots, s$ . *In particular, Algorithm 2* converges *to a solution* .*S*1; *R*1/ *for* s ! 1*.* *Proof.* Since *S*i 2 OPT.*R*i / it follows that $$c(\mathcal{S}^i, \mathcal{R}^i) \le c(\mathcal{S}^{i-1}, \mathcal{R}^i) \text{ for all } i = 1, \dots, s,$$ and since *R*i 2 OPT.*S*i-1/ it follows that $$c(\mathcal{S}^{i-1}, \mathcal{R}^i) \le c(\mathcal{S}^{i-1}, \mathcal{R}^{i-1})$$ for all $i = 1, \dots, s$ which implies the lemma. Since c is bounded from below (see Definition [5.1.3\)](#page-176-0), we obtain convergence. ut However, .*S*1; *R*1/ does not need to be optimal as we see in Sects. [5.5.](#page-189-0) We now regard the running time of Algorithm [2.](#page-182-0) **Lemma 5.2.3.** *If* Q 2 *Qopt pol, steps [2–9](#page-182-0) of Algorithm [2](#page-182-0) need polynomial time. In particular, every iteration of Algorithm [2](#page-182-0) is in polynomial time.* If also the first routing can be found in polynomial time, Algorithm [2](#page-182-0) has polynomial running time for a fixed maximal number of iterations s. **Lemma 5.2.4.** *If* Q 2 *Qtrac, for a fixed maximal number of iterations* s*, Algorithm [2](#page-182-0) runs in polynomial time.* Note that for a problem Q 2 *Q*, given heuristics for finding a network component for a fixed routing in a network problem and vice versa, we could define an alternative iterative algorithm, substituting OPT.*R*i / with FEAS.*R*i / and OPT.*S*i / with FEAS.*S*i /. However, Lemma [5.2.2](#page-182-0) does not hold in this case. Therefore, and since none of the problems uLPwR, cLPwR, scLPwR, TTwR, and DMwR is contained in *Q*feas pol n *Q*opt pol, we do not detail the alternative algorithm in this book. #### **5.3 The Price of Sequentiality** In the following let Q be a problem in *Q*opt and let I be an instance of Q specifying a network N and a set of node-OD-pairs *OD*node. Let .*S*; *R*/ be an optimal solution to I . Naturally, the outcome of Algorithm [2](#page-182-0) depends on the initial routing chosen in step [1](#page-182-0) as well as on the on the choices made in steps [2](#page-182-0) and [4](#page-182-0) and [5](#page-182-0) of every iteration of Algorithm [2.](#page-182-0) **Notation 5.3.1.** *Denote by* S0.I / *the set of all solutions* .*S*0; *R*0/ *that may be returned at the end of steps [1](#page-182-0) and [2](#page-182-0) of Algorithm [2](#page-182-0) and by* Si .I / *for* i D 1; : : : ; s *the set of solutions* .*S*i ; *R*i / *that may be returned at the end of iteration* i *of steps [4](#page-182-0) and [5](#page-182-0) of Algorithm [2.](#page-182-0)* We now define the price of sequentiality which specifies the worst-case relative error of Algorithm [2](#page-182-0) after each iteration, analogously to the ratio often used in the analysis of approximation algorithms. **Definition 5.3.2.** Let I be an instance of a problem Q 2 *Q*opt. • For i D 0; : : : ; s the *price of sequentiality for* I *in iteration* i is defined as $$PoS^{i}(I) = \max_{(S^{i}, \mathcal{R}^{i}) \in S^{i}(I)} \frac{c(S^{i}, \mathcal{R}^{i})}{c(S^{*}, \mathcal{R}^{*})}$$ • The *price of sequentiality for* I is defined as $$PoS(I) = \lim_{i \to \infty} PoS^{i}(I),$$ (for s WD 1 and ignoring the stopping criterion defined in steps [6–8](#page-182-0) of Algorithm [2\)](#page-182-0). Note that if for an instance I of a problem Q 2 *Q*opt, it holds that jOPT.*R*/j D jOPT.*S*/j D 1 for all considered routings *R* and network components *S*, P oSi .I / depends only on the initial solution. Since Algorithm [2](#page-182-0) decreases in every step and converges (see Lemma [5.2.2\)](#page-182-0), we see the following lemma. **Lemma 5.3.3.** *Let* Q 2 *Qopt and* I *be an instance of* Q*. Then* - *For every* i D 1; : : : ; s*,* P oSi .I / P oSi-1.I /*, and* - P oS.I / D infi2N P oSi .I /*.* We are not only interested in the outcome of Algorithm [2](#page-182-0) for a specific instance I of a problem Q, but in bounds that more generally hold for whole classes of instances of Q. Therefore, we generalize the definition of the price of sequentiality to classes of instances *I*. **Definition 5.3.4.** Let Q be a problem and *I* be a class of instances of Q. • For i D 0; : : : ; s the *price of sequentiality for I in iteration* i is defined as $$PoS^{i}(\mathcal{I}) = \sup_{I \in \mathcal{I}} PoS^{i}(I).$$ • We define the *price of sequentiality for I* as $$PoS(\mathcal{I}) = \sup_{I \in \mathcal{I}} PoS(I).$$ Naturally, the statement of Lemma 5.3.3 also holds for classes of instances: **Corollary 5.3.5.** *Let* Q 2 *Qopt and* I *be an instance of* Q*. Then* - *For every* i D 1; : : : ; s*,* P oSi .*I*/ P oSi-1.*I*/*, and* - P oS.*I*/ D infi2N P oSi .*I*/*.* #### **5.4 Analysis of the Iterative Heuristic for Timetabling with Routing** In this section we illustrate the theoretical concepts of the iterative heuristic and the price of sequentiality using the problem TTwR. We have seen in Lemma [5.1.16](#page-180-0) that TTwR is in *Q*trac. We restate Algorithm [2](#page-182-0) for application for TTwR in Algorithm [3.](#page-185-0) As described in steps [3](#page-185-0) and [7](#page-185-0) of #### **Algorithm 3** Iterative heuristic for TTwR ``` Require: Instance I D .N ; l; u; OD/ of TTwR. Maximal number of iterations s. Ensure: Solution .; R/ to I . 1: Find a routing R0 for OD in N . 2: Calculate activity weights w0 a WD P P.u;v/2R0;Puv3a wuv. 3: Find a timetable 0 by solving sTT for the activity weights w0 a using the linear pro- gram (3.5)–(3.8) 4: for i D 1; : : : ; s do 5: Find a shortest-path routing Ri in N .i- 1/. 6: Calculate activity weights wi a WD P P.u;v/2Ri ;Puv3a wuv. 7: Find a timetable i by solving sTT for the activity weights wi a using the linear pro- gram (3.5)–(3.8). 8: if i D i- 1 then 9: Stop. return .i ; Ri /. 10: end if 11: end for 12: Stop. return .s ; Rs /. ``` Algorithm 3, for the calculation of a timetable .*R*/ 2 OPT.*R*/, we can use the linear programming approach described in Sect. [3.3.](#page-93-0) Certainly, any other algorithm for finding a .*R*/ 2 OPT.*R*/ could be used instead. For the calculation of an initial routing *R*0 in step 1 of Algorithm 3, we could, e.g., use one of the following strategies. - 1. LOW : We calculate shortest paths in the EAN *N* with respect to arc lengths ca WD la for a 2 *A*op and ca WD 0 for a 2 *A* n *A*op. - 2. UPP: We calculate shortest paths in the EAN *N* with respect to arc lengths ca WD *u*a for a 2 *A*op and ca WD 0 for a 2 *A* n *A*op. - 3. SUM: We calculate shortest paths in the EAN *N* with respect to arc lengths ca WD laC*u*a 2 for a 2 *A*op and ca WD 0 for a 2 *A* n *A*op. However, *any* method, providing a routing or a timetable, could be used to create an initial solution. We now give a small example which illustrates the approach of Algorithm 3 as well as it proves an infinite price of sequentiality for TTwR. Consider the instance Ix D .*N* ; l; *u*; *OD*/ of TTwR depicted in Fig. [5.1a](#page-186-0) with *wuv* WD 1 and x 2 N. Suppose that the train-route P following tr2 is chosen for the first routing *R*0 (the nodes of the corresponding path are marked in gray) in step 1 of Algorithm 3. This choice of a first routing is possible for all strategies LOW , UPP, and SUM. In Fig. [5.1b](#page-186-0) a timetable .*R*0/ 2 OPT.*R*0/ is shown. Suppose that this timetable 0 WD .*R*0/ is chosen in step 3 of Algorithm 3. Then *R*1 WD fPg is a shortest-path routing in N.0/ and might hence be chosen in the first iteration of step 5. Then in step 7 we find 1 D 0 and the algorithm stops with the solution .1; *R*1/ D .0; *R*0/ and objective value c.1; *R*1/ D x. ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_186_Figure_2.jpeg) **Fig. 5.1** Instance I of TTwR with P oS.I / D maxa2*A*op *u*a la . (**a**) EAN with bounds (**b**)Timetable and routing calculated by Algorithm [3](#page-185-0) (**c**) Optimal solution The optimal solution .; *R*/ in this situation is depicted in Fig. [5.1c](#page-186-0) (again the gray nodes indicate the path); it has objective value c.; *R*/ D 1. Hence, for the constructed instance Ix, we have P oS.Ix/ D x 1 . Let *I*TTwR denote all instances of TTwR. We obtain $$PoS(\mathcal{I}_{TTwR}) \ge \sup_{x \in \mathbb{N}} PoS(I_x) = \infty.$$ **Lemma 5.4.1.** *Let ITTwR denote all instances of TTwR. Then* $$PoS(\mathcal{I}_{TTwR}) = \infty.$$ However, the result of Theorem [3.4.4](#page-103-0) provides us with bounds on the price of sequentiality in case of bounded upper and lower bounds for the activity lengths. These bounds are reached in the example shown in Fig. [5.1,](#page-186-0) since P oS.Ix/ D x 1 D maxa2*A*op *u*a la for the instance Ix considered there. We obtain the following lemma. **Lemma 5.4.2.** 1. *Let I*.rmax/ *denote the class of instances of TTwR with* maxa2*Aop u*a la rmax*. Then* $$PoS(\mathcal{I}(r^{\max})) = PoS^{0}(\mathcal{I}(r^{\max})) = r^{\max}.$$ 2. *Let I*.Rmax/ *denote the class of instances of TTwR with* P .*u*k ;*v*k /2*OD w*k l P k .*u*k ;*v*k /2*OD w*k l *low* k Rmax *as defined in Notation [3.4.3.](#page-103-0) Then* $$PoS(\mathcal{I}(R^{\max})) = PoS^{0}(\mathcal{I}(R^{\max})) = R^{\max}.$$ The lower bound l.tr2s1-Dep;tr2s2-Arr/ D 1 on .tr2 s1 Dep; tr2 s2 Arr/ in the example given in Fig. [5.1](#page-186-0) may be called *unrealistic*, since there is no feasible timetable such that .tr2s2-Arr/ .tr2s1-Dep/ D 1. However, the price of sequentiality stays unbounded for general instances of TTwR, even if we require that the instances must have *realistic* time bounds, in the sense that for every .i; j / 2 *A*, and every xij 2 Œlij ; *u*ij there exists a feasible timetable such that j i D xij . An example is given in Fig. [5.2.](#page-188-0) Consider the instance I D .*N* ; l; *u*; *OD*/ of TTwR depicted in Fig. [5.2a](#page-188-0) with *wuv* WD 1 and x 3 2 N. Note that the time bounds in this instance are *realistic*. We have four different paths for OD-pair .*u*; *v*/. In this example, for the first routing *R*0, the path P following tr2 (first and last even are marked in gray) is chosen for all choices of initial routings specified in [\(1.](#page-185-0))–[\(3.](#page-185-0)) in step [1](#page-185-0) of Algorithm [3.](#page-185-0) In Fig. [5.2a](#page-188-0) timetable .*R*0/ 2 OPT.*R*0/ is shown. Suppose that this timetable 0 WD .*R*0/ is chosen in step [3](#page-185-0) of Algorithm [3.](#page-185-0) Then *R*1 WD fPg is a shortest-path routing in N.0/ and might hence be chosen in the first iteration of step [5.](#page-185-0) In step [7](#page-185-0) we find 1 D 0 and the algorithm stops with the solution .1; *R*1/ D .0; *R*0/ depicted in Fig. [5.2b](#page-188-0) and objective value c.1; *R*1/ D x C 2. ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_188_Figure_2.jpeg) **Fig. 5.2** Example for unbounded price of sequentiality, even for realistic instances. (**a**) EAN with bounds (**b**) Timetable and routing calculated by Algorithm [3](#page-185-0) (**c**) Optimal solution On the other hand, the optimal solution .; *R*/ in this situation is depicted in Fig. [5.2c](#page-188-0) (again the gray nodes indicate first and last event of the path), it has objective value c.; *R*/ D 4. Hence, for the constructed instance Ix, we have P oS.Ix/ D xC2 4 . If we construct a sequence of instances Ix with x ! 1 we obtain P oS.*I*T T WR/ D 1 with *I*TTwR being the class of all possible instances for TTwR. A numerical investigation of the iterative heuristic for TTwR and a comparison to solutions obtained by solving the IP formulations presented in Sect. [3.7](#page-109-0) can be found in [Anh12]. For the instances tested there, the iterative heuristic provides close-tooptimal results and outperforms the IP formulations with respect to running times. #### **5.5 Analysis of the Iterative Heuristic for Arc Speed-Up** Similarly to the preceding section, in this section we analyze the iterative heuristic using the price of sequentiality as a quality measure. Since TTwR and the other problems considered in Chaps. [2](#page-18-0)[–4](#page-121-0) are already quite complicated, in this section we analyze the structure of the price of sequentiality using the *arc speed-up* problem as an example. Arc speed-up is a simple network problem, which is defined in Sect. 5.5.1. In Sect. [5.5.2](#page-191-0) we show that arc speed-up is in *Q*trac and detail how the iterative heuristic given in Algorithm [2](#page-182-0) can be applied to solve arc speed-up heuristically. In Sect. [5.5.3](#page-193-0) we state an exact algorithm to solve the problem. These two approaches are compared in Sect. [5.5.4](#page-194-0) by means of the price of sequentiality. #### *5.5.1 Definition of the Problem Arc Speed-Up* Let N D .V; A/ be a directed network with arc lengths La 2 N and let OD - V V be a set of OD-pairs in N. Like in every network problem with routing, also in the problem *arc speed-up* defined in this section, our task is to make a decision on the network component and find a routing such that the overall travel time is minimized. In arc speed-up we do not have any capacity restrictions, hence, like in uLPwR, TTwR, and DMwR, we assume that all passengers of an OD-pair use the same path and define a *routing* in N as a collection of paths *R* WD fP*uv* W .*u*; *v*/ 2 *OD*g where P*uv* is a path from *u* to *v*. Besides finding a routing, the task of arc speed-up is to choose an *arc speed-up* a 2 A whose length is decreased by a multiplication with a *speed-up factor* ˛ 2 Œ0; 1/. Given a speed-up factor ˛, for a0 2 A, we denote by N.a0 / the network N with arc lengths $$L_a^{a'} := \begin{cases} \alpha \cdot L_a & \text{if } a = a' \\ L_a & \text{otherwise.} \end{cases}$$ We call N.a0 / the *speed-up network corresponding to* a0 . Let a0 2 A be given and let *R* be a routing. Then the *travel time along* P*uv* 2 *R in* N.a0 / is $$c(a', P_{uv}) := \sum_{a \in P_{uv}} L_a^{a'}.$$ The overall *travel time* in N.a0 / is $$c(a',\mathcal{R}) := \sum_{P_{uv} \in \mathcal{R}} w_{uv} c(a',P_{uv}).$$ Note that $$c(a', P_{uv}) = \sum_{a \in P_{uv}} L_a^{a'} = \begin{cases} \sum_{a \in P_{uv}} L_a & \text{if } a' \notin P_{uv} \\ \sum_{a \in P_{uv}} L_a - (1 - \alpha) L_{a'} & \text{otherwise.} \end{cases}$$ (5.1) To prove the statements of this section, we make use of reformulations of the objective function. To this end, we define *arc weights*: **Definition 5.5.1.** Let N D .V; A/ be a directed network, *OD* a set of OD-pairs and *R* a routing for *OD*. We denote by *w*.*R*/a WD P P*uv*2*R*;P*uv*3a *wuv* the *arc weight* of arc a in routing *R*. Then, like in (5.1), c.a0 ; *R*/ can be rewritten as $$c(a', \mathcal{R}) = \sum_{(u,v) \in \mathcal{OD}} w_{uv} \sum_{a \in P(u,v)} L_a^{a'} = \sum_{a \in A} w(\mathcal{R})_a L_a^{a'}$$ $$= \sum_{a \in A} w(\mathcal{R})_a L_a - (1 - \alpha)w(\mathcal{R})_{a'} L_{a'}$$ $$= \sum_{(u,v) \in \mathcal{OD}} w_{uv} \sum_{a \in P(u,v)} L_a - (1 - \alpha)w(\mathcal{R})_{a'} L_{a'}.$$ (5.2) We now define the problem *arc speed-up*. **Definition 5.5.2.** An instance .N; *OD*; ˛/ of *arc speed-up (ASU)* consists of a directed network N D .V; A/ with edge lengths La, a set of OD-pairs OD - V V and a speed-up factor ˛ 2 Œ0; 1/. The task is to choose a *arc speed-up* a 2 A and a routing *R*, such that the overall travel time c.a; *R*/ in N.a/ is minimized. **Lemma 5.5.3.** *ASU is in Q.* *Proof.* An instance .N; *OD*; ˛/ of ASU contains a network N and a set of OD-pairs *OD* as required in Definition [5.1.3.](#page-176-0) A solution .a0 ; *R*/ specifies a routing *R* and an arc a0 which can be understood as an assignment fa0 W A ! Q Z to the arcs, namely $$f_{a'}(a) := \left(L_a^{a'}, \sum_{(u,v) \in \mathcal{OD}} w_{uv}\right).$$ Furthermore, c.a0 ; *R*/ 0 for every solution .a0 ; *R*/ to an instance I of ASU. Hence, ASU is in *Q*. ut #### *5.5.2 The Iterative Heuristic for Arc Speed-Up* In this section we describe how Algorithm [2](#page-182-0) can be applied to ASU. To this end, we explain how to find solutions to ASU when part of the solution, namely, the routing or the arc speed-up is fixed. Let I D .N; *OD*; ˛/ be an instance of ASU with N D .V; A/ and let n WD jV j denote the number of nodes in N. First we note that given an arc speed-up a0 2 A, we can find a shortest-path routing *R*.a0 / in N.a0 / using, e.g., the Floyd-Warshall algorithm, in O.n3/, where n is the number of nodes in the considered network. **Lemma 5.5.4.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU with OD* D f.*u*k; *v*k/ W k 2 Kg*,* N D .V; A/ *and* a0 2 A*. Let* n *denote the number of nodes in* N*. Then OPT*.a0 / *(as it is defined in Definition [5.1.6\)](#page-178-0) is the set of shortest-path routings in* N.a0 /*, i.e.,* $$OPT(a') = \{\{P_1, P_2, \dots, P_{|K|}\} : P_k \text{ is a shortest path from } u_k \text{ to } v_k \text{ in } N(a')\}$$ *and a routing R*.a0 / 2 *OPT*.a0 / *can be found in* O.n3/*.* Given a routing *R*, we can also easily find a corresponding arc speed-up a.*R*/: **Lemma 5.5.5.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU with* N D .V; A/ *and R be a routing. Let* n *denote the number of nodes in* N*. Then OPT*.*R*/ *(as it is defined in Definition [5.1.6\)](#page-178-0) is given by* $$OPT(\mathcal{R}) := \underset{a \in A}{\operatorname{argmax}} \{ w(\mathcal{R})_a L_a \}.$$ *OPT*.*R*/ *can be found in* O.n3/*.* *Proof.* Given a routing *R* and an arc a0 2 A we have $$c(a',\mathcal{R}) = \sum_{(u,v)\in\mathcal{OD}} w_{uv} \sum_{a\in P(u,v)} L_a - (1-\alpha)w(\mathcal{R})_{a'} L_{a'}.$$ due to [\(5.2\)](#page-190-0). Hence, OPT.*R*/ D argmaxa2Af*w*.*R*/aLag. In order to find this set we calculate and compare *w*.*R*/a0La0 for every a0 2 A. Since every path P 2 *R* contains at most n1 arcs, we calculate f*w*.*R*/aLa W a 2 A s:t: *w*.*R*/aLa ¤ 0g in time O.n j*OD*j/ which is in O.n3/ since j*OD*j 2 O.n2/. ut Hence, ASU is in Qopt pol. Since any combination of arc a0 2 A and routing *R* is a feasible solution, we see the following corollary. **Corollary 5.5.6.** *ASU is in Qtrac.* We now restate Algorithm [2](#page-182-0) for the problem ASU in Algorithm 4 below. We use a shortest-path routing in N as initial routing. ``` Algorithm 4 Iterative heuristic for ASU ``` ``` Require: Instance I D .N; OD; ˛/ of ASU. Maximal number of iterations s. Ensure: Solution .a; R/ to I 1: Find a shortest-path routing R0 for OD in N. 2: Calculate arc weights w0 a WD P P.u;v/2R0;Puv3a wuv. 3: Choose a0 2 argmaxa2Afw.R/aLag. 4: for i D 1; : : : ; s do 5: Find a shortest-path Ri routing in N.ai- 1/. 6: Calculate arc weights wi a WD P P.u;v/2Ri ;Puv3a wuv. 7: Choose ai 2 argmaxa2Afwi aLag. 8: if ai D ai- 1 then 9: Stop. return .ai ; Ri / 10: end if 11: end for 12: Stop. return .as ; Rs / ``` For ASU, we obtain a polynomial overall running time of the iterative heuristic: **Lemma 5.5.7.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU with* n *nodes for which we apply Algorithm 4. Then* - *every iteration of Algorithm 4 is in* O.n3/*, and* - *the overall running time of Algorithm 4 is* O.n5/*.* *Proof.* According to Lemma [5.5.4](#page-191-0) and [5.5.5,](#page-191-0) every iteration of Algorithm 4 is in O.n3/. Due to the stopping criterion in step 8, the algorithm stops after at most jAj iterations, independently of the choice of s. ut #### *5.5.3 Solving Arc Speed-Up Exactly* The price of sequentiality compares the solution found by the iterative heuristic with an exact solution. In ASU, exact solutions can be found in polynomial time, which facilitates such a comparison. An exact algorithm for ASU is stated in this section. Let I D .N; *OD*; ˛/ be an instance of ASU and let n denote the number of nodes in N. I can be solved in time O.n5/ using an all-pairs shortest path algorithm to find a routing in N.a0 / for every choice of a0 2 A. However, since the networks N and N.a0 / differ only in the length of arc a0 , this approach can be speeded up: The following Algorithm 5 solves ASU to optimality by finding an optimal routing in N first and then enumerating all arcs and updating shortest path lengths in the speeded-up network by a label-correcting step. ``` Algorithm 5 Exact algorithm for ASU Require: Instance I D .N; OD; ˛/ of ASU. Ensure: Arc a such that .a; R.a// is an optimal solution to I for any R.a/ 2 OPT.a/ and objective value c D .a; R.a//. 1: Determine the shortest path distance d.i; j / for every pair of nodes .i; j / 2 V V . 2: Set c WD P .u;v/2OD wuvd.u; v/. 3: for a0 D .i; j / 2 A do 4: for .u; v/ 2 OD do 5: Set d0 .u; v/ WD minfd.u; v/; d.u;i/ C ˛La0 C d.i; v/g. 6: end for 7: Set c0 WD P .u;v/2OD wuvd0 .u; v/. 8: if c0 < c then 9: Set c WD c0 , and a WD a0 10: end if 11: end for 12: return c and a. ``` **Theorem 5.5.8.** *Algorithm 5 finds an optimal solution to ASU with routing in time* O.n4/*, where* n *is the number of nodes in the considered network.* *Proof.* For i; j 2 V , like in Algorithm 5 denote by d.i; j / the shortest path distance from i to j . Let P N *uv* be a shortest path from *u* to *v* in N and a0 D .i; j / 2 A. Then P N *uv* is a shortest path from *u* to *v* in N if and only if d.*u*; *v*/ d.*v*;i/ C ˛La0 C d.j; *v*/. Otherwise, the path P N.a0 / *uv* , consisting of a shortest path from *u* to i in N, a0 D .i; j / and a shortest path from j to *v* in N, is a shortest path from *u* to *v* in N.a0 / with length d.*v*;i/ C ˛La0 C d.j; *v*/. The minimum d0 .*u*; *v*/ calculated in step 5 of Algorithm 5 thus is the length of a shortest path from *u* to *v* in N.a0 /. For every arc a0 2 *A*, based on these numbers d0 .*u*; *v*/, the objective value is computed and compared. Algorithm 5 then outputs an arc speed-up for which the objective value is minimal; thus it is correct. To find the shortest path distance between all pairs of nodes in step [1,](#page-193-0) we can apply an all-pair shortest path algorithm, e.g., the Floyd-Warshall algorithm in O.n3/. For every arc and every OD-pair, step [5](#page-193-0) is done in constant time, and for every arc, steps [7–10](#page-193-0) are performed in O.j*OD*j/; thus, steps [3–11](#page-193-0) are done in O.jAjj*OD*j/. Since step [2](#page-193-0) can also be done in O.j*OD*j/, the overall running time of Algorithm [5](#page-193-0) is O.n3CjAjj*OD*j/ which in terms of n is O.n4/, because jAj 2 O.n2/ and j*OD*j 2 O.n2/. ut Hence, the running time of Algorithm [5](#page-193-0) is even lower than the worst-case running time of the iterative approach specified in Algorithm [2.](#page-182-0) However, the goal of this section is not to speed up the calculation of optimal solutions to ASU, but to analyze the price of sequentiality for this problem. This is done in the following sections. #### *5.5.4 The Price of Sequentiality for Arc Speed-Up* Let I D .N; *OD*; ˛/ be an instance of ASU. Analogous to Notation [5.3.1,](#page-183-0) we denote by S0.I / the set of all solutions .*S*0; *R*0/ that may be returned at the end of step [3](#page-192-0) of Algorithm [4](#page-192-0) and by Si .I / for i D 1; : : : ; s the set of solutions .*S*i ; *R*i / that may be returned at the end of iteration i of step [7](#page-192-0) of Algorithm [4.](#page-192-0) For the sake of a compact representation, in this section, we furthermore use the following notations. - c.PO *uv*/ WD P a2P*uv* La for a path P*uv* in N. - c.I / O WD P P*uv*2*R wuv* P a2P*uv* La for a shortest-path routing *R* in N. - c.I / WD c.a; *R*/ for an optimal solution .a; *R*/ to I . - ci .I / WD max.ai ;*R*i/2Si.I / c.ai ; *R*i / for i D 0; : : : ; jAj 1. - c.I / WD limi!1 c.I / (for s WD 1 and ignoring the stopping criterion defined in steps [8–10](#page-192-0) of Algorithm [4\)](#page-192-0). Since c.I / ˛c.I / O , the natural bound on the improvement that speeding up an arc can achieve for the overall travel time is c.I / O c.I / 1 ˛ . This provides the first bound on the price of sequentiality. **Lemma 5.5.9.** *For any instance* I *and every* i 2 N *of ASU we have* $$\frac{c^i(I)}{c^*(I)} \le \frac{\hat{c}(I)}{c^*(I)} \le \frac{1}{\alpha}.$$ We now develop bounds on c.I / and c0.I / in terms of c.I / O . To simplify notation we use the following abbreviations: Given an instance I D .N; *OD*; ˛/ of ASU with arc set A we define - • Lmax.I / WD maxa2A La, - W sum.I / WD P .*u*;*v*/2*OD wuv*, and - W max.I / WD max.*u*;*v*/2*OD wuv*. **Lemma 5.5.10.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU. The optimal objective value* c.I / *of* I *is bounded from below by* $$c^*(I) \ge \hat{c}(I) - L^{max}(I)(1 - \alpha)W^{sum}(I).$$ (5.3) *and* $$c^*(I) \ge \alpha[\hat{c}(I) - W^{sum}(I) + W^{max}(I)] + W^{sum}(I) - W^{max}(I). \tag{5.4}$$ *Proof.* It follows from [\(5.1\)](#page-190-0) that $$c(a^*, P_{uv}) \ge \hat{c}(P_{uv}) - L^{\max}(I)(1 - \alpha).$$ Summarizing over all OD-pairs we obtain (5.3). If there are several different OD-pairs, at most the path of one OD-pair .*u*0 ; *v*0 / can entirely be covered by the arc speed-up. For this path P*u*0*v*0 it holds that $$c(a^*, P_{u'v'}) \ge \alpha \hat{c}(P_{u'v'})$$ For every .*u*; *v*/ 2 *OD* n f.*u*0 ; *v*0 /g the corresponding path P*uv* contains at least one arc a ¤ a. Since La 2 N for all a 2 A we have $$c(a^*, P_{uv}) \ge \alpha[\hat{c}(P_{uv}) - 1] + 1 \quad \forall (u, v) \in \mathcal{OD} \setminus \{(u', v')\}.$$ Summarizing over all OD-pairs we obtain $$c^*(I) \ge \alpha \left[ \hat{c}(I) - \left( \sum_{(u,v) \in \mathcal{OD}} w_{uv} - w_{u'v'} \right) \right] + \sum_{(u,v) \in \mathcal{OD}} w_{uv} - w_{u'v'}$$ which is minimal if we choose .*u*0 ; *v*0 / such that *wu*0*v*0 is maximal. This implies (5.4). ut Comparing the bounds (5.3) and (5.4) from Lemma 5.5.10, we obtain the following result: **Lemma 5.5.11.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU. Then* $$\begin{split} \hat{c}(I) - L^{max}(I)(1-\alpha)W^{sum}(I) &\leq \alpha [\hat{c}(I) - W^{sum}(I) + W^{max}(I)] \\ &+ W^{sum}(I) - W^{max}(I) \end{split}$$ $$\Leftrightarrow \hat{c}(I) \leq W^{sum} L^{max}(I) + W^{sum} - W^{max}.$$ **Lemma 5.5.12.** *For an instance* I D .N; *OD*; ˛/*, the objective value* c.I / *determined using the iterative heuristic [4](#page-192-0) is bounded from above by* $$c(I) \le c^{i}(I) \le c^{0}(I) \le \hat{c}(I) - (1 - \alpha)W^{max}(I) \quad \forall i \in \mathbb{N}.$$ (5.5) *Proof.* The first two inequalities follow from Lemma [5.2.2.](#page-182-0) To see the last inequality, we note that in step [1](#page-192-0) Algorithm [4](#page-192-0) chooses a shortest-path routing *R*0 in N and in step [3](#page-192-0) an arc a0 2 argmaxa2Af*w*.*R*/aLag. We obtain $$c^{0}(I) = \hat{c}(I) - (1 - \alpha) \max_{a \in A} w(\mathcal{R})_{a} L_{a} \le \hat{c}(I) - (1 - \alpha) \max_{(u,v) \in \mathcal{OD}} w_{uv},$$ since $$\max_{a \in A} L_a w(\mathcal{R}^0)_a \ge \max_{(u,v) \in \mathcal{OD}} w_{uv}$$ . In the subsequent sections we use the bounds from Lemma [5.5.10](#page-195-0) and 5.5.12 to deduce bounds on whole classes of instances. Let *I*AR denote the class of all instances of ASU. As we will see later in Lemma 5.5.23, P oS.*I*AR/ D 1. We hence impose restrictions on the classes of instances of ASU. **Definition 5.5.13.** We classify instances I D .N; *OD*; ˛/ with N D .V; A/ of ASU according to the following characteristics: - 1. *CGN:* n WD jV j and Lmax WD maxa2A La. - 2. *OD-pairs:* k WD j*OD*j, W sum WD P .*u*;*v*/2*OD wuv* and W max WD max.*u*;*v*/2*OD wuv*. - 3. *Speed-up factor:* ˛0 WD ˛. For fixed .n; Lmax; k;W sum; W max; ˛0 / 2 N5 Œ0; 1/ let *I*Œ.n; Lmax/; .k; W sum; W max/; ˛0 denote the set of instances having the described characteristics (1.)–(3.). When we consider a class of instances where a certain parameter is not restricted, we use the entry "-." Not every combination .n; Lmax; k;W sum; W max; ˛0 / 2 N5 Œ0; 1/ corresponds to instances of ASU. We say that a combination .k; W sum; W max/ 2 N3 is *feasible* P if there exist numbers f*w*1;:::;*w*kg such that W max D maxjD1;:::;k *w*j and W sum D jD1;:::;k *w*k. Furthermore, for the sake of a shorter notation, we use the following abbreviations: $$\begin{split} &PoS^{i}[(n,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha] := PoS^{i}(\mathcal{I}[(n,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha]), \\ &PoS[(n,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha] := PoS(\mathcal{I}[(n,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha]). \end{split}$$ #### **5.5.4.1 Price of Sequentiality for Networks of Arbitrary Size and Fixed** ˛ In this section we derive the price of sequentiality for some classes of instances *I* which have in common that the speed-up factor ˛ is fixed and the size n is not fixed. We start in Lemma [5.5.14,](#page-197-0) fixing all values except n. **Lemma 5.5.14.** *Let* L*max* 2 N*,* ˛ 2 Œ0; 1/ *and a feasible* .k; W *sum*; W *max*/ 2 N3 *be given. Then it holds that* $$PoS^{0}[(-,L^{max}),(k,W^{sum},W^{max}),\alpha] \leq \frac{(L^{max}+1)W^{sum}-W^{max}-(1-\alpha)W^{max}}{\alpha L^{max}W^{sum}+W^{sum}-W^{max}}.$$ *Proof.* We define a function g W RC 0 ! R as the ratio between the bounds on the objective value found using Algorithm [4](#page-192-0) and on the optimal objective value. $$g(s) = \begin{cases} \frac{s - (1 - \alpha)W^{\max}}{(s - (W^{\sup} - W^{\max}))\alpha + W^{\sup} - W^{\max}} & \text{if } s \leq L^{\max}W^{\sup} + W^{\sup} - W^{\max} \\ \frac{s - (1 - \alpha)W^{\max}}{s - L^{\max}(1 - \alpha)W^{\sup}} & \text{if } s > L^{\max}W^{\sup} + W^{\sup} - W^{\max}. \end{cases}$$ Note that then for every instance I 2 *I*Œ.; Lmax/; .k; W sum; W max/; ˛, it holds that $$PoS^{0}(I) = \sup_{(\mathcal{S}^{0}, \mathcal{R}^{0}) \in S^{0}(I)} \frac{c(\mathcal{S}^{0}, \mathcal{R}^{0})}{c(\mathcal{S}^{*}, \mathcal{R}^{*})} \le g(\hat{c}(I)).$$ (5.6) Hence $$PoS^{0}[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] \leq \sup_{I \in \mathcal{I}[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha]} g(\hat{c}(I))$$ $$\leq \sup_{s \in \mathbb{R}^{+}_{0}} g(s). \tag{5.7}$$ We now calculate the supremum of g on RC 0 . • Note that for the break point s D LmaxW sum C W sum W max, we have $$\begin{split} g(L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\text{max}}) \\ &= \frac{L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{(L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max} - (W^{\text{sum}} - W^{\max}))\alpha + W^{\text{sum}} - W^{\max}} \\ &= \frac{L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}} - L^{\max}(1 - \alpha)W^{\text{sum}}} \\ &= \lim_{s \searrow (L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max})} g(s). \end{split}$$ • We observe that g.s/ is monotonously increasing on the interval Œ0; LmaxW sum C W sum W max, since $$\begin{split} \frac{d}{d(s)} \frac{s - (1 - \alpha)W^{\text{max}}}{(s - (W^{\text{sum}} - W^{\text{max}}))\alpha + W^{\text{sum}} - W^{\text{max}}} \\ &= \frac{(1 - \alpha)(W^{\text{sum}} - W^{\text{max}} + \alpha W^{\text{max}})}{[(s - (W^{\text{sum}} - W^{\text{max}}))\alpha + W^{\text{sum}} - W^{\text{max}}]^2} > 0. \end{split}$$ • Furthermore, g.s/ decreases monotonously on ŒLmaxW sum C W sum W max;1/, since $$\frac{d}{d(s)} \frac{s - (1 - \alpha)W^{\text{max}}}{s - L^{\text{max}}(1 - \alpha)W^{\text{sum}}} = -\frac{(1 - \alpha)(L^{\text{max}}W^{\text{sum}} - W^{\text{max}})}{[s - L^{\text{max}}(1 - \alpha)W^{\text{sum}}]^2} < 0$$ Thus, g takes its maximum in s D LmaxW sum C W sum W max. Due to [\(5.7\)](#page-197-0) it follows that $$PoS^{0}(I) \leq \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}$$ for every $$I \in \mathcal{I}[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha].$$ We can show that the bound given in Lemma [5.5.14](#page-197-0) is tight by constructing a worst-case instance. **Lemma 5.5.15.** *Let* L*max* 2 N*,* ˛ 2 Œ0; 1/ *and a feasible* .k; W *sum*; W *max*/ 2 N3 *be given. Then* $$PoS[(-, L^{max}), (k, W^{sum}, W^{max}), \alpha] = PoS^{0}[(-, L^{max}), (k, W^{sum}, W^{max}), \alpha]$$ $$= \frac{(L^{max} + 1)W^{sum} - W^{max} - (1 - \alpha)W^{max}}{\alpha L^{max}W^{sum} + W^{sum} - W^{max}}.$$ (5.8) *Proof.* In Lemma [5.5.14](#page-197-0) it is shown that $$PoS^{0}[(-,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha] \leq \frac{(L^{\max}+1)W^{\text{sum}}-W^{\max}-(1-\alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}}+W^{\text{sum}}-W^{\max}}.$$ Hence, since $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] \le PoS^{0}[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha]$$ it remains to show that there is an instance IO 2 *I*Œ.; Lmax/; .k; W sum; W max/; ˛ such that $$PoS(\hat{I}) = \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}.$$ ![](schmidtintegratingroutingdecisionspublic2014_images/part_001_page_199_Figure_2.jpeg) **Fig. 5.3** Network N in the worst-case instance IO for P oSŒ.-; Lmax/; .k; W sum; W max/; ˛ We now construct such an instance IO. Consider the network N with .Lmax C 1/k nodes depicted in Fig. 5.3. The first k 1 dotted arcs represent a sequence of .Lmax 1/ arcs of length 1, directed in the direction of the dotted arcs. The dotted arc at the bottom represents a sequence of .Lmax 2/ arcs of length 1, directed in the direction of the dotted arcs. The numbers written at the other arcs are the arc lengths. That is, there is one arc a of maximal length La WD Lmax, all other arcs a have length La WD 1. We define a set of OD-pairs *OD* D f.*u*; *v*k/ W k 2 Kg, i.e., all OD-pairs have the same origin *u* but different destinations *v*k with arbitrary weights *w*k for .*u*; *v*k/ 2 *OD* such that P .*u*;*v*k /2*OD w*k D W sum and max.*u*;*v*k /2*OD w*k D W max. Without loss of generality we assume that *w*1 *w*2 :::; *w*k. Therefore, we write *v*max WD *v*k and *v*min WD *v*1. This defines our instance IO WD .N; *OD*; ˛/. For every .*u*; *v*k/ 2 *OD* there are two paths from *u* to *v*i , namely, a path P0 k containing the arc of length Lmax and a path Pk which contains only arcs of length 1. Note that c.˛; P0 k/ D c.˛; Pk/ for every .*u*; *v*k/ 2 *OD*. Assume that the routing *R*0 WD fPk W k 2 Kg is chosen in step [1](#page-192-0) of Algorithm [4.](#page-192-0) Then maxa2Af*w*.*R*/aLag D max.*u*i ;*v*i/2*OD wu*i *v*i D *wu*k *v*k and in step [3](#page-192-0) an arc a0 of the lowermost path is chosen for speed-up. Hence $$c^{0}(\hat{I}) = (L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}.$$ (5.9) Then *R*0 2 OPT.a0/, hence we can assume that *R*1 D *R*0 and a1 D a0 in steps 5–7 of the first iteration which causes Algorithm 4 to stop in step 9 after the first iteration with solution .*R*1; a1/ D .*R*0; a0/. Clearly, the optimal solution in this example is .a; *R*0 / with *R*0 WDfP0 k W k 2 Kg. Hence $$c^*(\hat{I}) = c(a^*, \mathcal{R}') = \alpha L^{\max} W^{\text{sum}} + W^{\text{sum}} - W^{\max}. \tag{5.10}$$ ut Combining (5.9) and (5.10) we obtain $$PoS(\hat{I}) = \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}.$$ We now consider more general classes of instances, obtaining a higher price of sequentiality. To this end, we regard P oSŒ.; Lmax/; .k; W sum; W max/; ˛ as a function in its parameters Lmax, .k; W sum; W max/ and ˛ and maximize this function. Since $$PoS^{0}[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] = PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha]$$ for every Lmax 2 N, feasible .k; W sum; W max/ 2 N3 and ˛ 2 Œ0; 1/ as shown in Lemma 5.5.15, the equality P oS0Œ*I* D P oSŒ*I* also holds for all classes of instances for which we derive the price of sequentiality in the following sections. However, to avoid a lengthy notation, we omit the price of sequentiality after iteration 0 from the formulation of the statements given in the following. **Lemma 5.5.16.** *For every* ˛ 2 Œ0; 1/ *and every feasible* .k; W *sum*; W *max*/ 2 N3*, it holds that* $$PoS[-, (k, W^{sum}, W^{max}), \alpha] = \frac{1}{\alpha}.$$ *Proof.* According to Lemma 5.5.15, for fixed Lmax, the price of sequentiality is given as $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] = \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}.$$ We now regard the price of sequentiality as a function g in Lmax. In order to find the maximum of this function, we consider the first derivative. We have $$\frac{d}{dL^{\max}}g(L^{\max}) = \frac{d}{dL^{\max}} \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\min} - W^{\max}}$$ ut $$= \frac{(1-\alpha)(W^{\text{sum}}(W^{\text{sum}} - W^{\text{max}}) + \alpha W^{\text{max}}W^{\text{sum}})}{[\alpha L^{\text{max}}W^{\text{sum}} + W^{\text{sum}} - W^{\text{max}}]^2}$$ >0, hence $$\begin{split} PoS[-,(k,W^{\text{sum}},W^{\text{max}}),\alpha] &= \sup_{L^{\text{max}} \in \mathbb{N}} PoS[(-,L^{\text{max}}),(k,W^{\text{sum}},W^{\text{max}}),\alpha] \\ &= \lim_{L^{\text{max}} \to \infty} PoS[(-,L^{\text{max}}),(k,W^{\text{sum}},W^{\text{max}}),\alpha] \\ &= \lim_{L^{\text{max}} \to \infty} \frac{(L^{\text{max}}+1)W^{\text{sum}}-W^{\text{max}}-(1-\alpha)W^{\text{max}}}{\alpha L^{\text{max}}W^{\text{sum}}+W^{\text{sum}}-W^{\text{max}}} \\ &= \frac{1}{\alpha}. \end{split}$$ In Lemma 5.5.9 we saw that for every instance I c.I / O c.I / 1 ˛ . Thus, Lemma [5.5.16](#page-0-0) reveals that if we do not impose any restrictions on the networks, i.e., restrict the arc lengths or the number of nodes, in the considered classes of instances, the worstcase behavior of Algorithm 4 is asymptotically not better than not choosing any arc for speed-up. This, of course, is due to the fact that for increasing path lengths, the impact on the overall travel time of speeding up a single arc of length 1 (as done in the worst-case instance constructed in the proof of Lemma 5.5.15) decreases. We hence keep Lmax fixed in the following and consider the subclasses of instances with less restrictions on the set of OD-pairs. Since (5.8) does not depend on k, the following corollary to Lemma 5.5.15 follows directly. **Corollary 5.5.17.** *Let* L*max* 2 N*,* ˛ 2 Œ0; 1/ *and* .W *sum*; W *max*/ 2 N2 *with* W *sum* W *max be given. Then* $$PoS[(-, L^{max}), (-, W^{sum}, W^{max}), \alpha] = \frac{(L^{max} + 1)W^{sum} - W^{max} - (1 - \alpha)W^{max}}{\alpha L^{max}W^{sum} + W^{sum} - W^{max}}.$$ (5.11) **Lemma 5.5.18.** *For every* L*max* 2 N*,* .W *sum*; k/ 2 N2 *and* ˛ 2 Œ0; 1/*, we have* $$PoS[(-, L^{max}), (k, W^{sum}, -), \alpha] = \begin{cases} \frac{(L^{max} + 1)W^{sum} - \left\lceil \frac{W^{sum}}{k} \right\rceil - (1 - \alpha) \left\lceil \frac{W^{sum}}{k} \right\rceil}{\alpha L^{max}W^{sum} + W^{sum} - \left\lceil \frac{W^{sum}}{k} \right\rceil} & if (1 - \alpha)L^{max} < 1 \\ \frac{W^{sum}(L^{max} - (1 - \alpha)) + (2 - \alpha)(k - 1)}{\alpha L^{max}W^{sum} + (k - 1)} & otherwise. \end{cases}$$ $$(5.12)$$ *Proof.* For fixed W max, $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] = \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}.$$ It holds that W max W sum k and W max W sum k C 1. Hence $$\begin{split} PoS[(-,L^{\max}),(k,W^{\text{sum}},-),\alpha] \\ &= \sup_{W^{\max} \in [\frac{W^{\text{sum}}}{k},W^{\text{sum}}-k+1] \cap \mathbb{N}} \frac{(L^{\max}+1)W^{\text{sum}} - W^{\max} - (1-\alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}. \end{split}$$ We now calculate the maximum of $$g(W^{\max}) := \frac{(L^{\max} + 1)W^{\operatorname{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\operatorname{sum}} + W^{\operatorname{sum}} - W^{\max}}$$ on Œ W sum k ; W sum k C 1. $$\frac{dg}{dW^{\text{max}}} = \frac{(1-\alpha)[(1-\alpha)L^{\text{max}} - 1]W^{\text{sum}}}{[\alpha L^{\text{max}}W^{\text{sum}} + W^{\text{sum}} - W^{\text{max}}]^2} = \begin{cases} < 0 \text{ if } (1-\alpha)L^{\text{max}} < 1\\ \ge 0 \text{ otherwise.} \end{cases}$$ (5.13) Hence, g is monotonously decreasing and takes its maximum in W sum k if .1 ˛/Lmax < 1 and is monotonously increasing and takes the maximum in W sum .k C 1/ otherwise. Since we assume that W max 2 N it follows that $$\begin{split} &PoS[(-,L^{\max}),(k,W^{\text{sum}},W^{\max}),\alpha] \\ &= \begin{cases} g(\lceil \frac{W^{\text{sum}}}{k} \rceil) & \text{if } (1-\alpha)L^{\max} < 1 \\ g(W^{\text{sum}}-k+1) & \text{otherwise.} \end{cases} \\ &= \begin{cases} \frac{(L^{\max}+1)W^{\text{sum}}-\lceil \frac{W^{\text{sum}}}{k} \rceil - (1-\alpha)\lceil \frac{W^{\text{sum}}}{k} \rceil}{\alpha L^{\max}W^{\text{sum}}+W^{\text{sum}}-\lceil \frac{W^{\text{sum}}}{k} \rceil} & \text{if } (1-\alpha)L^{\max} < 1 \\ \frac{W^{\text{sum}}(L^{\max}-(1-\alpha)) + (2-\alpha)(k-1)}{\alpha L^{\max}W^{\text{sum}}+(k-1)} & \text{otherwise.} \end{cases} \end{split}$$ **Lemma 5.5.19.** *For every* L*max* 2 N*,* k 2 N *and* ˛ 2 Œ0; 1/ *we have* $$PoS[(-, L^{max}), (k, -, -), \alpha] = \begin{cases} \frac{L^{max}k + k - 2 + \alpha}{\alpha L^{max}k + k - 1} & \text{if } (1 - \alpha)L^{max} < 1\\ \frac{L^{max} - (1 - \alpha)}{\alpha L^{max}} & \text{otherwise.} \end{cases}$$ (5.14) ut *Proof.* • Suppose that .1 ˛/Lmax < 1. Since the function g, defined in the proof of Lemma [5.5.18,](#page-1-0) is monotonously decreasing, for fixed W sum, we have $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, -), \alpha] = g\left(\left\lceil \frac{W^{\text{sum}}}{k} \right\rceil\right) \le g\left(\frac{W^{\text{sum}}}{k}\right) = \frac{L^{\max}k + k - 2 + \alpha}{\alpha L^{\max}k + k - 1}.$$ Equality holds whenever W sum is divisible by k. Hence, $$\begin{aligned} PoS[(-, L^{\text{max}}), (k, -, -), \alpha] &= \sup_{W^{\text{sum}} \in \mathbb{N}} PoS[(-, L^{\text{max}}), (k, W^{\text{sum}}, -), \alpha] \\ &= \frac{L^{\text{max}}k + k - 2 + \alpha}{\alpha L^{\text{max}}k + k - 1}. \end{aligned}$$ • Now suppose that .1 ˛/Lmax 1. For fixed W sum we have $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, -), \alpha] = \frac{W^{\text{sum}}(L^{\max} - (1 - \alpha)) + (2 - \alpha)(k - 1)}{\alpha L^{\max}W^{\text{sum}} + (k - 1)}$$ due to Lemma [5.5.18.](#page-1-0) We consider the price of sequentiality as a function g in W sum: $$g(W^{\text{sum}}) := \frac{W^{\text{sum}}(L^{\max} - (1 - \alpha)) + (2 - \alpha)(k - 1)}{\alpha L^{\max}W^{\sup} + (k - 1)}.$$ We have $$\frac{dg}{dW^{\text{sum}}} := \frac{(k-1)(1-\alpha)(L^{\max}(1-\alpha)-1)}{[\alpha L^{\max}W^{\text{sum}} + (k-1)]^2} > 0,$$ hence g is monotonously increasing. Furthermore, $$\begin{split} \lim_{W^{\text{sum}} \to \infty} g(W^{\text{sum}}) &:= \lim_{W^{\text{sum}} \to \infty} \frac{W^{\text{sum}}(L^{\text{max}} - (1 - \alpha)) + (2 - \alpha)(k - 1)}{\alpha L^{\text{max}}W^{\text{sum}} + (k - 1)} \\ &= \frac{L^{\text{max}} - (1 - \alpha)}{\alpha L^{\text{max}}}. \end{split}$$ It follows that $$\begin{aligned} PoS[(-, L^{\max}), (k, -, -), \alpha] &= \sup_{W^{\text{sum}} \in \mathbb{N}} PoS[(-, L^{\max}), (k, W^{\text{sum}}, -), \alpha] \\ &= \lim_{W^{\text{sum}} \to \infty} PoS[(-, L^{\max}), (k, W^{\text{sum}}, -), \alpha] \\ &= \frac{L^{\max} - (1 - \alpha)}{\alpha L^{\max}}. \end{aligned}$$ If we do not impose any restrictions on the set of OD-pairs, that is, we are looking at the class of instances *I*Œ.; Lmax/; ; ˛ with maximal arc length Lmax and speedup factor ˛, we have **Lemma 5.5.20.** *For every* L*max* 2 N *it holds that* $$PoS[(-, L^{max}), -, \alpha] = \begin{cases} \frac{L^{max} + 1}{\alpha L^{max} + 1} & \text{if } (1 - \alpha)L^{max} < 1\\ \frac{L^{max} - (1 - \alpha)}{\alpha L^{max}} & \text{otherwise.} \end{cases}$$ *Proof.* For .1 ˛/Lmax 1 there is nothing to show. We hence assume that $$(1-\alpha)L^{\max} < 1.$$ Due to Lemma [5.5.19,](#page-2-0) we have P oSŒ.; Lmax/; .k; ; /; ˛ D LmaxkCk-2C˛ ˛LmaxkCk-1 . Regarding the price of sequentiality as a function g of k we obtain $$\frac{d}{dk}g(k) = \frac{d}{dk}\frac{L^{\max}k + k - 2 + \alpha}{\alpha L^{\max}k + k - 1} = \frac{(1-\alpha)(1-(1-\alpha)L^{\max})}{[\alpha L^{\max}k + k - 1]^2} > 0$$ Hence, g increases monotonously and asymptotically behaves like LmaxC1 ˛LmaxC1 . Hence, in this case $$\begin{split} PoS[(-,L^{\max}),-,\alpha] &= \sup_{k \in \mathbb{N}} PoS[(-,L^{\max}),(k,-,-),\alpha] \\ &= \lim_{k \to \infty} PoS[(-,L^{\max}),(k,-,-),\alpha] \\ &= \lim_{k \to \infty} \frac{L^{\max}k + k - 2 + \alpha}{\alpha L^{\max}k + k - 1} \\ &= \frac{L^{\max}+1}{\alpha L^{\max}+1}. \end{split}$$ The results of this section are summarized in Table [5.1.](#page-5-0) ## **5.5.4.2 Price of Sequentiality for Networks of Arbitrary Size and Unrestricted** ˛ Looking once more at Lemma 5.5.15, we observe that we can say something about the class of instances *I*Œ.; Lmax/; .k; W sum; W max/; where the speed-up factor ˛ 2 Œ0; 1/ is not fixed. **Lemma 5.5.21.** *For every* L*max* 2 N *and every feasible* .k; W *sum*; W *max*/ 2 N3*, it holds that* ut $$PoS[(-,L^{max}),(k,W^{sum},W^{max}),-] = \frac{(L^{max}+1)W^{sum}-2W^{max}}{W^{sum}-W^{max}}.$$ *Proof.* For fixed ˛ the price of sequentiality is given as $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] = \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}}$$ due to Lemma 5.5.15. We regard the price of sequentiality as a function g in ˛. We have $$\begin{split} &\frac{d}{d\alpha}g(\alpha)\\ &=\frac{d}{d\alpha}\frac{(L^{\max}+1)W^{\text{sum}}-W^{\max}-(1-\alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}}+W^{\text{sum}}-W^{\max}}\\ &=-\frac{2L^{\max}W^{\text{sum}}(W^{\text{sum}}-W^{\max})+W^{\text{sum}}(L^{\max}(L^{\max}-1)W^{\text{sum}}-W^{\max})+(W^{\max})^2}{[\alpha L^{\max}W^{\text{sum}}+W^{\text{sum}}-W^{\max}]^2} \end{split}$$ (5.15) We show that (5.15) is negative: - 1. If Lmax 2, (5.15) is obviously negative. - 2. If Lmax D 1 we have $$-\frac{2L^{\max}W^{\text{sum}}(W^{\text{sum}}-W^{\text{max}})+W^{\text{sum}}(L^{\max}(L^{\max}-1)W^{\text{sum}}-W^{\max})^{2}}{[\alpha L^{\max}W^{\text{sum}}+W^{\text{sum}}-W^{\max}]^{2}}$$ $$=-\frac{(W^{\text{sum}}-W^{\max})^{2}+W^{\text{sum}}(W^{\text{sum}}-W^{\max})}{[\alpha W^{\text{sum}}+W^{\text{sum}}-W^{\max}]^{2}}$$ <0 Hence, the supremum of g.˛/ is attained for ˛ D 0. We obtain $$\begin{split} PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), -] &= \sup_{\alpha \in [0, 1)} PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] \\ &= \sup_{\alpha \in [0, 1)} \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - (1 - \alpha)W^{\max}}{\alpha L^{\max}W^{\text{sum}} + W^{\text{sum}} - W^{\max}} \\ &= \frac{(L^{\max} + 1)W^{\text{sum}} - W^{\max} - W^{\max}}{W^{\text{sum}} - W^{\max}}. \end{split}$$ Like in Sect. 5.5.4.1 we can derive the price of sequentiality for more general classes of instances. ut ut ut **Lemma 5.5.22.** *For every* L*max* 2 N *and* .k; W *sum*/ 2 N2*, we have* $$PoS[(-, L^{max}), (k, W^{sum}, -), -] = \frac{(L^{max} - 1)W^{sum} + 2(k - 1)}{k - 1}$$ *Proof.* Due to Lemma [5.5.21,](#page-4-0) we have for fixed W max $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), -] = \frac{(L^{\max} + 1)W^{\text{sum}} - 2W^{\max}}{W^{\text{sum}} - W^{\max}}.$$ Analogously to the calculations of Lemma [5.5.18](#page-1-0) (with ˛ D 0) we see that the price of sequentiality increases monotonously in W max and hence takes its maximum in W sum .k 1/. It follows that $$PoS[(-, L^{\max}), (k, W^{\text{sum}}, -), -] = \frac{(L^{\max} + 1)W^{\text{sum}} - 2(W^{\text{sum}} - (k - 1))}{W^{\text{sum}} - (W^{\text{sum}} - (k - 1))}$$ $$= \frac{(L^{\max} - 1)W^{\text{sum}} + 2(k - 1)}{k - 1}.$$ **Corollary 5.5.23.** *For every* L*max* 2 N *and* k 2 N*, we have* $$PoS[(-, L^{max}), (k, -, -), -] = \infty.$$ *Proof.* This follows directly from Lemma 5.5.22, since $$\lim_{W^{\operatorname{sum}} \to \infty} \frac{(L^{\max} - 1)W^{\operatorname{sum}} + 2(k - 1)}{k - 1} = \infty.$$ Hence, we can continue Table [5.2](#page-8-0) for unrestricted ˛ as shown in Table [5.1.](#page-5-0) ### **5.5.4.3 Price of Sequentiality for One OD-Pair and Networks of Fixed Size** As we have seen in Lemma [5.5.16,](#page-0-0) $$\lim_{L^{\max} \to \infty} PoS[(-, L^{\max}), (k, W^{\text{sum}}, W^{\max}), \alpha] = \frac{1}{\alpha},$$ which is no improvement compared to not choosing any arc for speed-up at all. However, having a closer look at the proof of Theorem 5.5.15, the worst-case example constructed there needs n D .Lmax C 1/k nodes. P oSŒ.-; Lmax/; .k; W sum; W max/; -D P oSŒ.-; Lmax/; .k; W sum; W max/; - .LmaxC1/W sum-2W max W sum-W max P oSŒ.-; Lmax/; .k; W sum; -/; - .Lmax-1/W sumC2.kk-P oSŒ.-; Lmax/; .k; -; -/; - 1 P oSŒ.-; Lmax/; -; - 1 P oSŒ-; -; -1 **Table 5.2** Price of sequentiality for the classes of instances considered in Sect. [5.5.4.2](#page-4-0) In this section we analyze whether we can find bounds on the price of sequentiality also for classes of instances with unbounded Lmax if we bound the number of nodes n. For the sake of simplicity, we consider only instances with j*OD*j D 1. **Lemma 5.5.24.** *Let* I D .N; *OD*; ˛/ *be an instance of ASU with* j*OD*j D 1*. Without loss of generality we can assume that wuv* D 1*.* *Proof.* Let I D .N; *OD*; ˛/ be an instance of ASU with j*OD*j D 1 and *wuv* > 1 for the OD-pair .*u*; *v*/ 2 *OD*. We define I 0 WD .N; *OD*0 ; ˛/ with *OD*0 D f.*u*; *v*/g, and *wuv* D 1. Let .a; *R*/ denote an optimal solution to I and .ai ; *R*i / be a solution of Algorithm 4 after step 3 for i D 0 or after step 7 if i>0. *R* consists of one path P and *R*i consists of one path Pi . Hence $$PoS(I) = \frac{\hat{c}(I)}{c^*(I)} = \frac{w_{uv} \sum_{a \in P^i} L_a^{a^i}}{w_{uv} \sum_{a \in P^*} L_a^{a^*}} = \frac{\sum_{a \in P^i} L_a^{a^i}}{\sum_{a \in P^*} L_a^{a^*}} = PoS(I').$$ We now improve the bound given in Lemma 5.5.12 for instances in I 2 *I*Œ.n; /; .1; ; /; ˛. ut **Lemma 5.5.25.** *For every instance* I 2 *I*Œ.n; /; .1; ; /; ˛*, it holds that* $$c(I) \le c^{i}(I) \le c^{0}(I) \le \hat{c}(I) - (1 - \alpha) \left\lceil \frac{\hat{c}(I)}{n - 1} \right\rceil \ \forall i \in \mathbb{N}.$$ *Proof.* Let I D .N; *OD*; ˛/ 2 *I*Œ.n; /; .1; ; /; ˛. Without loss of generality we assume that *wuv* D 1 for the OD-pair .*u*; *v*/ 2 *OD* (see Lemma 5.5.24). For the OD-pair .*u*; *v*/ 2 *OD* let P0 denote the shortest path from *u* to *v* in N which is found in step 1 of Algorithm 4. Then c.I / O D P a2P0 La. ut Since P0 contains every node at most once, it contains at most n 1 arcs. This implies $$\max_{a \in P^0} L_a \ge \frac{\hat{c}(I)}{n-1}.$$ Hence, for a0 chosen in step 3 of Algorithm 4, it holds that La0 c.I / O n-1 . Thus $$c^0(I) \le \hat{c}(I) - (1 - \alpha) \left\lceil \frac{\hat{c}(I)}{n - 1} \right\rceil.$$ In the following Lemma 5.5.26 we see that we can indeed find better bounds on the price of sequentiality if the number of nodes n is bounded. **Lemma 5.5.26.** *For every* n 2 N*,* L*max* n 1 *and* ˛ 2 Œ0; 1/*, we have* $$PoS^{0}[(n, L^{max}), (1, -, -), \alpha] \le \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}.$$ *Proof.* Consider an instance I D .N; *OD*; ˛/ 2 *I*Œ.n; Lmax/; .1; ; /; ˛ with Lmax n 1. Without loss of generality we assume that *wuv* D 1 for the OD-pair .*u*; *v*/ 2 *OD* (see Lemma [5.5.24\)](#page-8-0). We define a function g W Œ1; .n 1/Lmax ! R as the ratio between the bounds on the objective value found using Algorithm 4 and on the optimal objective value. $$g(s) = \begin{cases} \frac{s - (1 - \alpha) \left\lceil \frac{s}{n - 1} \right\rceil}{s\alpha} & \text{if } s \le L^{\max} \\ \frac{s - (1 - \alpha) \left\lceil \frac{s}{n - 1} \right\rceil}{s - L^{\max}(1 - \alpha)} & \text{if } L^{\max} < s \le (n - 1) L^{\max}. \end{cases}$$ Due to Lemma [5.5.25](#page-8-0) and 5.5.10 and since every simple path in N contains at most n 1 arcs, we see that $$PoS^{0}[(n, L^{\max}), (1, -, -), \alpha] \le \max_{s \in [1, (n-1)L^{\max}]} g_{n, L^{\max}, \alpha}(s).$$ Note that for the break point s D Lmax, we have $$g(L^{\max}) = \frac{L^{\max} - (1 - \alpha) \left\lceil \frac{L^{\max}}{n - 1} \right\rceil}{L^{\max} \alpha} = \frac{L^{\max} - (1 - \alpha) \left\lceil \frac{L^{\max}}{n - 1} \right\rceil}{L^{\max} - L^{\max} (1 - \alpha)} = \lim_{s \searrow L^{\max}} g(s).$$ (5.16) We now show that $$\max_{s \in [1, (n-1)L^{\max}]} g(s) = \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}.$$ To this end, we maximize g.s/ both on Œ1; Lmax and .Lmax; .n 1/Lmax and compare the results. 1. We consider the function g on Œ1; Lmax. We note that g is continuous on intervals for which ˙ s n-1 is constant. Consider g on such an interval ..b1/.n1/; b.n 1/, where ˙ s n-1 D b. On this interval, g is given as $$g(s) = \frac{s - (1 - \alpha)b}{s\alpha} = \frac{1}{\alpha} - \frac{(1 - \alpha)b}{s\alpha}.$$ Since ˛ 2 Œ0; 1/, this function is monotonously increasing in s and thus takes its maximum on the right end of the interval ..b 1/.n 1/; b.n 1/, i.e., for s D b.n 1/. In order to find the maximum of g on Œ1; Lmax, we compare the maximum values for all such intervals. We note that for every b 2 N $$g(b(n-1)) = \frac{b(n-1) - (1-\alpha)b}{b(n-1)\alpha} = \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}$$ and thus does not depend on b. Hence, $$\sup_{s \in [1, L^{\max}]} \frac{s - (1 - \alpha)b}{s\alpha} = \sup_{b \in \mathbb{Z} \cap [1, \frac{L^{\max}}{n - 1}]} \frac{(n - 1)b - (1 - \alpha)b}{(n - 1)b\alpha} = \frac{(n - 1) - (1 - \alpha)}{(n - 1)\alpha}.$$ (We remark that Œ1; Lmax n-1 ¤ ; since we claimed that Lmax n 1.) 2. Now we consider the function g on .Lmax; .n 1/Lmax. Also here, g is continuous on intervals for which ˙ s n-1 is constant and again we first maximize g on such an interval ..b 1/.n 1/; b.n 1/ with ˙ s n-1 D b for a fixed b 2 Œ Lmax n-1 ˘ ; Lmax \ Z. Since $$\frac{d}{ds}\frac{s-(1-\alpha)b}{s-L^{\max}(1-\alpha)} = -\frac{(1-\alpha)(L^{\max}-b)}{[s-L^{\max}(1-\alpha)]^2} = \begin{cases} = 0 \text{ if } b = L^{\max},\\ < 0 \text{ otherwise} \end{cases},$$ g is monotonously decreasing on every interval ..b 1/.n 1/; b.n 1/ for $$b \in \left[\left\lfloor \frac{L^{\max}}{n-1} \right\rfloor, L^{\max} - 1\right] \cap \mathbb{Z}$$ while it is constant on ..Lmax 1/.n 1/; .n 1/Lmax, i.e., in the case of b D Lmax. Thus, $$g(s) \le \lim_{s \searrow b(n-1)} g(s) = \frac{b(n-1) - (1-\alpha)b}{b(n-1) - L^{\max}(1-\alpha)} \quad \forall s \in ((b-1)(n-1), b(n-1)].$$ Hence, $$\sup_{s \in (L^{\max}, (n-1)L^{\max}]} g(s) = \sup_{b \in [\lfloor \frac{L^{\max}}{n-1} \rfloor, L^{\max}] \cap \mathbb{Z}} \frac{b(n-1) - (1-\alpha)b}{b(n-1) - L^{\max}(1-\alpha)}$$ We now maximize h.b/ WD b.n-1/-.1-˛/b b.n-1/-Lmax.1-˛/ on Œ ˙ Lmax n-1 ; Lmax. Since we can assume that n>2 $$\frac{d}{db}h(b) = \frac{d}{db}\frac{b(n-1) - (1-\alpha)b}{b(n-1) - L^{\max}(1-\alpha)} = -\frac{L^{\max}(1-\alpha)(n-2+\alpha)}{[b(n-1) - L^{\max}(1-\alpha)]^2} < 0,$$ (5.17) i.e., h.b/ is monotonously decreasing. Since Lmax n-1 may be fractional, we have two candidates for the supremum of g on $$(L^{\max}, (n-1)L^{\max}],$$ namely $$z_1 := \lim_{s \searrow L^{\max}} g(s) \text{ and } z_2 := h\left(\left\lceil \frac{L^{\max}}{n-1} \right\rceil\right) = g\left(\left\lceil \frac{L^{\max}}{n-1} \right\rceil(n-1)\right).$$ According to [\(5.16\)](#page-9-0) and [\(1.](#page-10-0)) $$\lim_{s \searrow L^{\max}} g(s) = g(L^{\max}) \le \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}.$$ (5.18) 3. Thus, as a last step, we compare the result from [\(1.](#page-10-0)) to $$h\left(\left\lceil \frac{L^{\max}}{n-1} \right\rceil\right) = \frac{\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-2+\alpha)}{\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-1) - L^{\max}(1-\alpha)}.$$ We show that $$\frac{(n-1)-(1-\alpha)}{(n-1)\alpha} \geq \frac{\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-2+\alpha)}{\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-1) - L^{\max}(1-\alpha)}.$$ Assume that $$\frac{(n-1)-(1-\alpha)}{(n-1)\alpha}<\frac{\left\lceil\frac{L^{\max}}{n-1}\right\rceil(n-2+\alpha)}{\left\lceil\frac{L^{\max}}{n-1}\right\rceil(n-1)-L^{\max}(1-\alpha)}.$$ Dividing by .n 2 C ˛/ and taking the inverse, we obtain $$\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-1) - L^{\max}(1-\alpha) \left\lceil \frac{L^{\max}}{n-1} \right\rceil < (n-1)\alpha.$$ We subtract Lmax d Lmax n-1 e ˛ on both sides and obtain the equivalent inequality $$\frac{\left\lceil \frac{L^{\max}}{n-1} \right\rceil (n-1) - L^{\max}}{\left\lceil \frac{L^{\max}}{n-1} \right\rceil} < (n-1 - \frac{L^{\max}}{\left\lceil \frac{L^{\max}}{n-1} \right\rceil}) \alpha.$$ Since $$n-1-\frac{L^{\max}}{\left\lceil\frac{L^{\max}}{n-1}\right\rceil}=\frac{L^{\max}}{\frac{L^{\max}}{n-1}}-\frac{L^{\max}}{\left\lceil\frac{L^{\max}}{n-1}\right\rceil}>0,$$ dividing by .n 1 Lmax d Lmax n-1 e /, we obtain the equivalent inequality $$\alpha > \frac{(n-1)\left\lceil \frac{L^{\max}}{n-1}\right\rceil - L^{\max}}{(n-1)\left\lceil \frac{L^{\max}}{n-1}\right\rceil - L^{\max}} = 1,$$ ut which is a contradiction to the choice of ˛ 2 Œ0; 1/. In Lemma [5.5.26](#page-9-0) we saw a bound on the price of sequentiality for instances in the class *I*Œ.n; Lmax/; .1; ; /; ˛ with Lmax n 1. The following lemma shows that this bound holds in general for all instances in *I*Œ.n; /; .1; ; /; ˛. **Lemma 5.5.27.** *For every* n 2 N *and* ˛ 2 Œ0; 1/ $$PoS^{0}[(n,-),(1,-,-),\alpha] \leq \frac{(n-1)-(1-\alpha)}{(n-1)\alpha}.$$ *Proof.* As we have seen in Lemma [5.5.19,](#page-2-0) for every Lmax 2 N $$PoS[(-, L^{\max}), (1, -, -), \alpha] = \frac{L^{\max} - 1 + \alpha}{\alpha L^{\max}} = \frac{1}{\alpha} - \frac{1 - \alpha}{\alpha L^{\max}}.$$ (5.19) This function is monotonously increasing in Lmax; hence $$\begin{split} &PoS^{0}[(n,-),(1,-,-),\alpha] \\ &= \sup_{L^{\max} \in \mathbb{N}} PoS[(n,L^{\max}),(1,-,-),\alpha] \\ &= \sup_{L^{\max} \in [1,n-2]} PoS[(n,L^{\max}),(1,-,-),\alpha], \\ &\sup_{L^{\max} \in [n-1,\infty)} PoS[(n,L^{\max}),(1,-,-),\alpha] \} \\ &\leq \sup_{L^{\max} \in [n-1,\infty)} \{\frac{(n-2)-(1-\alpha)}{\alpha(n-2)},\frac{(n-1)-(1-\alpha)}{\alpha(n-1)} \} \\ &= \frac{(n-1)-(1-\alpha)}{\alpha(n-1)}. \end{split}$$ We show that the bound provided by Lemma [5.5.27](#page-12-0) is tight. **Lemma 5.5.28.** *For every* n 2 N *and* ˛ 2 Œ0; 1/*, we have* $$PoS[(n,-),(1,-,-),\alpha] = \frac{(n-1)-(1-\alpha)}{(n-1)\alpha}.$$ *Proof.* In Lemma [5.5.27](#page-12-0) it is shown that $$PoS[(n,-),(1,-,-),\alpha] \le \frac{(n-1)-(1-\alpha)}{(n-1)\alpha}.$$ We now construct an instance IO 2 *I*Œ.n; /; .1; ; /; ˛ such that $$PoS(\hat{I}) = \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}.$$ Consider a network N with n nodes and n arcs as depicted in Fig. [5.4.](#page-14-0) The dotted arcs there represent a sequence of .n 3/ arcs of length La WD 1, directed in the direction of the dotted arcs. The other arc, a, has arc length La WD n 1. The considered OD-pair is .*u*; *v*/. Due to Lemma [5.5.24,](#page-8-0) without loss of generality, we can assume that *wuv* D 1. Note that there are two paths P and P0 from *u* to *v*. P0 consists of a and P consists of the short arcs. We have c.P / O D Oc.P0 / D n 1. Assume that in step 1 of Algorithm 4 *R*0 WD fPg is chosen. Then in step 3, an arc a with length La D 1 is chosen and in steps 5, and 7 of the first iteration the solution remains unchanged. Hence, c.I / D n 1 .1 ˛/. ut ![](schmidtintegratingroutingdecisionspublic2014_images/part_002_page_14_Figure_2.jpeg) **Fig. 5.4** Worst-case instance for P oSŒ.n; Lmax/; .1; -; -/; ˛0 for Lmax > n -1 We observe that the optimal solution is .a; fP0 g/ with objective value c.a; fP0 g/ D ˛.n 1/. Thus, $$PoS(\hat{I}) = \frac{(n-1) - (1-\alpha)}{(n-1)\alpha}.$$ ut # **Chapter 6 Conclusions and Outlook** In this book we investigated the problem of integrating routing decisions in network problems, in particular in the problems line planning, timetabling, and delay management. We mainly considered the following aspects, as stated in the introduction: - How can existing models for line planning, timetabling, and delay management be extended to allow a free choice of the routing? - What is the computational complexity of determining a line concept/timetable/ disposition timetable and a routing, simultaneously? - To what extent can existing solution methods for line planning, timetabling, and delay management support the simultaneous calculation of both a line plan/timetable/disposition timetable and a routing? With respect to the first question, we found that after some small modifications, the networks CGN, LN, and EAN used in preceding works on line planning, timetabling, or delay management are highly suitable for the formulation of the problems of uLPwR, scLPwR, cLPwR, TTwR, and DMwR, respectively, since routings can be represented as collections of paths in the corresponding networks. The second aspect investigated in this book was the computational complexity of the considered problems. Table [6.1](#page-16-0) summarizes the obtained results. We found that after fixing either the routing or the line concept/timetable/ disposition timetable, a solution to uLPwR, TTwR, or DMwR which is optimal with regard to the fixed input can be found in polynomial time. This is not the case in scLPwR and cLPwR: finding a feasible routing for a given line concept, due to the added capacity restrictions, is a multi-commodity flow problem instead of a shortest path problem. If only one OD-pair is considered, TTwR can be solved in polynomial time by solving a series of linear programs. In contrast, uLPwR and DMwR are already strongly NP-hard for only one OD-pair if no additional assumptions on the network | | uLPwR | scLPwR/cLPwR | TTwR | MwR
D | |------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|---------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| | mponent
Find corresponding
for given routing
network co | Trivial | Trivial | Solve one LP | Critical path
method | | mponent
Find corresponding
routing for given
network co | m in CGN
Shortest path
proble | (strongly NP-hard)
mmodity
m
flow proble
Multi-co | m in EAN
Shortest path
proble | m in EAN
and critical path
Shortest path
proble | | Find feasible
solution | Strongly NP-hard | Strongly NP-hard | m in EAN
Solve one LP and
shortest path
proble | m in EAN
Shortest path
method
proble | | OD-pair)
mal
solution
Find opti
(1 | solvable by modified
mially
m for
instances with NLT
Strongly NP-hard,
RCSP algorith
pseudopolyno | with NLT property
even for instances
Strongly NP-hard, | Solve series of LPs | m for instances
with NTT property
with NLT property
Strongly NP-hard,
mially
path algorith
polyno | | (same origin)
mal
solution
Find opti | even for instances
Strongly NP-hard,
with OD-NLT
property
property | even for instances
Strongly NP-hard,
with OD-NLT
property | Strongly NP-hard | Strongly NP-hard | | – | M /-appr.
m
No constant-factor
for one OD-pair
m
2-appr. algorith
appr. algorith
C
in general,
m
trivial .1
algorith | |---------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| | one departure and
or in case of only
mber
arrival event per
for arbitrary
of OD-pairs,
but fixed nu
OD-pair
P
In | No constant-factor
la /-
m
m
appr. algorith
ua
appr. algorith
maxa2Aop
in general,
trivial | | under strongest
Strongly NP-hard
restrictions
considered | Not possible | | mplexity analysis
of uLPwR in linear
See Table 2.1 for
PTNs
co | Not possible | | Special cases | NP)
mability
¤
me
ming P
mial-ti
approxi
(assu
Polyno | structure are made. However, for both problems we identified a restriction on the class of instances for which an optimal solution can be found using modified shortest path algorithms. For all problems, it was not possible to extend the results of polynomial- or pseudopolynomial-time solvability to instances with more OD-pairs. Even if all OD-pairs have the same origin (and under the above-mentioned restrictions on the instances of uLPwR and DMwR), the problems uLPwR, TTwR, and DMwR are strongly NP-hard. As to approximation algorithms, things do not look much easier. We saw that for uLPwR it is already strongly NP-hard to find a feasible solution; hence, we cannot hope for polynomial- or pseudopolynomial-time algorithms unless P D NP. Furthermore, we showed that (unless P D NP) there is no constant-factor approximation algorithm for TTwR (even if all OD-pairs have the same origin) or DMwR (even under the restriction that there are at most two OD-pairs). However, it is still an open question whether there exists an approximation algorithm for DMwR if we restrict the class of instances such that all OD-pairs have the same origin or if we the require that no OD-pair can enter a train more than once. For uLPwR in linear networks, we extensively studied how the complexity of the problem depends on restrictions of the different input parameters. We were able to classify all defined instance classes to be solvable in either polynomial time or NP-hard; however, for some of the problems, a pseudopolynomial-time algorithm neither could be found nor could its existence be disproved. Anyway, when adding capacity restrictions, even under the strongest restrictions on the instances, the problems scLPwR and cLPwR turned out to be strongly NP-hard. Although the problems uLPwR, scLPwR, cLPwR, TTwR, and DMwR were proven to be strongly NP-hard even under strong restrictions, there may be hidden parameters which, when fixed, allow polynomial-time solution methods. It may even be possible to find algorithms whose running time is superpolynomial only in some input parameters. The identification of such parameters and proofs of existence (or nonexistence) of such parameterized algorithms could further refine the classification in tractable and intractable problems made in this book. In this book we focused on the exact optimization algorithms and only touched on approximation aspects. The development of approximation algorithms or the proof of nonexistence of such algorithms should be investigated in more detail. As a third aspect we investigated whether existing solution methods for line planning, timetabling, and delay management can be modified to solve the problems when the passenger routing is integrated. Apart from specialized algorithms developed for restricted classes of instances, we applied two different general strategies to solve network problems with routing. On the one hand, for all of the considered problems, existing integer programming formulations could be adapted to solve the problems with integrated routing. IP formulations for TTwR and DMwR could be obtained by the addition of multi-commodity flow constraints to IP formulations used in timetabling and delay management problems with fixed routing. Also the IP formulation for scLPwR from [\[SS06\]](#page-30-0) uses this type of constraints. To overcome the "unrealistic" behavior of this model in presence of capacity constraints, in cLPwR we added implicit shortest path constraints to the IP formulation from [\[SS06\]](#page-30-0), implying that a line concept can only be chosen as a solution if it allows all passengers to travel on shortest paths in the corresponding routing network. A comparison of the solution and the running time of scLPwR and cLPwR would be interesting, but is beyond the scope of this book. In TTwR, we made use of the fact that a passenger's travel time depends only on the timetable and the chosen virtual activity, i.e., the trains chosen to start and end the journey at origin and destination which led to a different integer programming approach, based on virtual activities instead of flows. Having a closer look at the structure of the constraint matrices of the flowbased formulations for uLPwR, scLPwR, TTwR, and DMwR, we observe that they have almost a block diagonal structure. For example, in the flow-based IP formulation for TTwR in Sect. 3.7, we have a submatrix of timetabling variables and timetable feasibility constraints, j*OD*j submatrices of routing variables and routing constraints, and only 2j*OD*j-constraints connecting these blocks. Hence, using the Dantzig–Wolfe decomposition method could lead to a better running time. Also for the other IP formulations developed in this book, it should be investigated whether decomposition techniques can be applied or whether there is some other structure that can be exploited when solving these problems. As a second solution approach, we proposed an iterative heuristic that alternatingly calculates the routing and the network component required as a solution to general network problems with routing. The use of this heuristic is reasonable if an optimal solution to the considered network problem with respect to a given routing or a given network component can be found much faster than an optimal solution for the actual problem and if a feasible initial solution is at hand. The performance of the heuristic was theoretically analyzed for TTwR and the arc speed-up problem (ASU). For many classes of instances of ASU, a tight bound on the price of sequentiality could be proven. However, for networks with restricted size but unrestricted arc lengths, the price of sequentiality was only identified for instances with only one OD-pair and is still open in the general case. In [\[Anh12\]](#page-24-0) the iterative heuristic was tested and compared to the integer programming formulations for TTwR where it showed good performance. Of course, it would be interesting to test it also on line planning, delay management, and other network problems with routing. The integration of the passenger routing in the optimization process leads to a more realistic estimation of passengers' behavior and hence to better solutions. However, compared to real-world situations, the public transportation models considered in this book are highly simplified, neglecting, e.g., aspects like the capacity of tracks and stations or periodicity requirement on timetables. Hence, many extensions to the considered problems are possible and would make the models more applicable in practice. In this book we assumed that passengers aim at minimizing their travel time. However, other aspects like the number of transfers, the costs, and the reliability of the chosen route play an important role in practice and should be taken into account in further work. When restrictions on the train capacity are taken into account, new models for route choice and more sophisticated solution techniques are required. A first attempt to include selfish routing in line planning is made by investigating cLPwR in Sect. 2.6; however, alternative models and methods should be taken into account. Furthermore, in practice most passengers would only travel by public transportation if the offered routes are fast and convenient enough. Hence, public transportation models which include not only passengers' route choice but also variable demand would be an interesting extension to the questions investigated in this book. In this book, we regarded the problems of line planning, timetabling, and delay management independently. However, when these planning steps are operated one after another, suboptimal solutions are obtained. For example, in line planning, the line concepts were evaluated using only rough estimations of the changing times at stations. It was neglected that the "real" changing times depend on the timetable. Hence, it is possible that a line concept which is optimal with respect to the objective function specified in line planning leads to a worse timetable than a "suboptimal" line concept. Furthermore, timetables that are good with respect to the objective functions defined in timetabling tend to be vulnerable to delays. Hence, it could be helpful to have the next planning steps in mind when doing line planning or delay management or even to integrate some of the planning steps. # **Frequently Used Notation** ### General Notation - N Natural numbers, not including 0 - N0 Natural numbers, including 0 - Z Integer numbers - Q Rational numbers - R Real numbers - RC 0 Nonnegative real numbers - fi; j g Undirected edge in a graph - .i; j / Directed edge in a digraph - Lij Length of an undirected or directed edge in a graph - I Instance of a problem - *I* Class of instances of a problem #### Public Transportation Concepts - *PT N* D .S; E/ Public transportation network (PTN) with set of stations S and set of tracks or edges E - *L* Line pool with elements l - *L*.s/=*L*.e/ Lines at station s/edge e - S.l//E.l/ Stations/edges visited by line l - ˛l Line driving time function of line l - pl l0 s Transfer penalty for a transfer from line l to line l0 at station s - ˇl Cost of line l - bl Per-train cost of line l - B Budget - fl Frequency of line l - *L*0 Line concept - TR Set of trains with elements tr - l.tr/ Line corresponding to train tr - Cap Capacity of the trains - *C* Set of planned connections with elements .tr1; tr2; s/ Timetable d Source delays x Disposition timetable Change-and-Go Networks N D .V; A/ Change-and-go network (CGN) Vtravel Set of travel nodes Vorg/Vdest Set of origin nodes with elements *u*org/*v*dest Adrive/Atrans/Aorg/Adest Set of driving/transfer/origin/destination l.a/ Line corresponding to arc a ca Length of arc a 2 A nN =mN Number of nodes/arcs in the CGN N.*L*0 / D .V .*L*/; A.*L*0 // Routing network for line concept *L*0 N.*R*/ D .V .*R*/; A.*R*// Routing network for routing *R* Line Networks NL D .VL; AL/ Line network Atrans/Aorg/Adest Set of transfer/origin/destination arcs cl l0 Length of arc .l; l0 / 2 AL nNL /mNL Number of nodes/arcs in the line network NL.*L*0 / D .VL.*L*/; AL.*L*0 // Line-routing network for line concept *L*0 NL.*R*/ D .VL.*R*/; AL.*R*// Line-routing network for routing *R* l.a/ Line corresponding to arc a Event-Activity Networks *N* D .*E*; *A*/ Event-activity network (EAN) consisting of events *E* and activities *A E*dep=*E*arr Set of departure/arrival events *E*k dep=*E*k arr Set of departure/arrival events for OD-pair .*u*k ; *v*k / 2 *OD A*drive=*A*wait=*A*change Driving, waiting, changing activities *N*op D .*E*op; *A*op/ Operational network with set of operational events *E*op and set of operational activities *A*op la=*u*a Lower/upper bound on operational activity a sa Slack time on operational activity a *E*org Set of origin events (in TTwR) with elements *u*org or *u* org k *E*0 org Set of origin events (in DMwR) with elements *u*org. / or *u* org k .k / *E*dest Set of destination events with elements *v*dest or *v*dest k *A*org Set of origin activities (in TTwR) *A*0 org Set of origin activities (in DMwR) *A*dest Set of destination activities *A*fix Set of maintained changing activities tr.e/=tr.a/ Train to which event e/activity a belongs *A*virt Virtual activities l down k /l upp k Length of shortest path from *u*org to *v*dest according to lower/upper bounds *N* ./ Routing network for timetable *N* .x/ Routing network for disposition timetable x ij Path from node i to node j defined by a set of maintained changing activities *A*fix P *A*fix ### Routings and Functions *OD* Set of OD-pairs with elements .*u*; *v*/ or .*u*k ; *v*k / 2 S S with weight *wuv*=*w*k (in uLPwR/scLPwR/cLPwR/TTwR) or elements .*u*; *v*;/ or .*u*k ; *v*k ; k / 2 S S Z with weight *wuv* =*w*k (in DMwR) P*uv*=Pk Path or line-route/train-route for OD-pair .*u*; *v*//.*u*k ; *v*k / (in uLPwR/scLPwR/cLPwR/TTwR) P*uv* =Pk Path or ST-train-route for OD-pair .*u*; *v*;//.*u*k ; *v*k / (in *Ruv* Routing for OD-pair .*u*; *v*/ with path weight *w*P *uv* for P*uv* 2 *Ruv* (in scLPwR/cLPwR) *R* Routing or line-routing/train-routing/ST-train-routing c.*S*;P/ Travel time along path or line-route/train-route/ST-train-route P for network component *S* (e.g., line concept, timetable, disposition timetable) c.*S*; *R*/ Travel time for line-routing/train-routing/ST-train-routing *R* for network component *S* (e.g., line concept, timetable, disposition timetable) OPT.*R*/ Set of network components (e.g., line concept, timetable, disposition timetable) for routing *R* OPT.*S*/ Set of routings for network component *S* (e.g., line concept, timetable, disposition timetable) ### Arc Speed-up ˛ Speed-up factor DMwR) *R* Routing N.a0 / Speed-up network for arc a0 #### Price of Sequentiality P oSi .I //P oS.I / Price of sequentiality (in iteration i) for instance I P oSi X .I //P oSstop X .I / (in iteration i) for instance I using strategy X P oS bi X .I //P oS bstop X .I / (in iteration i) for instance I using strategy X P oSi .*I*//P oS.*I*/ Price of sequentiality (in iteration i) for the class of instances *I* 1993. - [ADOGT99] B. Adenso-Díaz, M. Oliva González, and P. González-Torre. On-line timetable rescheduling in regional train services. *Transportation Research Part B*, 33:387–398, 1999. - [AMO93] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. *Network flows*. Prentice Hall, Inc., - [AMS06] N. Alon, D. Moshkovitz, and S. Safra. Algorithmic construction of sets for krestrictions. *ACM Trans. Algorithms*, 2(2):153–177, 2006. - [Anh12] J. Anhalt. Eine iterative Heuristik für aperiodische Fahrplangestaltung mit OD-Paaren. Master's thesis, Georg-August-Universität Göttingen, 2012. (in German). - [APW02] L. Anderegg, P. Penna, and P. Widmayer. Online train disposition: to wait or not to wait? *Electronic Notes in Theoretical Computer Science*, 66(6), 2002. - [Bau10] R. Bauer. *Theory and Engineering for Shortest Paths and Delay Management*. PhD thesis, Karlsruher Institut für Technologie, 2010. - [BC89] J. E. Beasley and N. Christofides. An algorithm for the resource constrained shortest path problem. *Networks*, 19(4):379–394, 1989. - [BGLR93] M. Bellare, S. Goldwasser, C. Lund, and A. Russel. Efficient probabilistically checkable proofs and applications to approximation. In *STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing*, pages 294–304, New York, USA, 1993. ACM. - [BGP07] R. Borndörfer, M. Grötschel, and M. E. Pfetsch. A column-generation approach to line planning in public transport. *Transportation Science*, 41(1):123–132, 2007. - [BGP08] R. Borndörfer, M. Grötschel, and M. E. Pfetsch. Models for line planning in public transport. In M. Hickman, P. Mirchandani, and S. Voß, editors, *Computeraided Systems in Public Transport*, volume 600 of *Lecture Notes in Economics and Mathematical Systems*, pages 363–378. Springer Berlin Heidelberg, 2008. - [BHLS07] A. Berger, R. Hoffmann, U. Lorenz, and S. Stiller. Online delay management: PSPACE hardness and simulation. Technical Report ARRIVAL-TR-0097, ARRIVAL Project, 2007. - [BK10] R. Burdett and E. Kozan. A sequencing approach for train timetabling. *OR Spectrum*, 32(1):163–193, 2010. - [BK12] R. Borndörfer and M. Karbstein. A Direct Connection Approach to Integrated Line Planning and Passenger Routing. In D. Delling and L. Liberti, editors, *12th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems*, volume 25 of *OpenAccess Series in Informatics (OASIcs)*, pages 47– 57, Dagstuhl, Germany, 2012. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik. [BKZ97] M. R. Bussieck, P. Kreuzer, and U. T. Zimmermann. Optimal lines for railway systems. *European Journal of Operational Research*, 96(1):54–63, 1997. - [BLL04] M. R. Bussieck, T. Lindner, and M. E. Lübbecke. A fast algorithm for near cost optimal line plans. *Mathematical Methods of Operations Research*, 59:205–220, 2004. - [BLNN98] U. Brännlund, P. O. Lindberg, A. Nou, and J. E. Nilsson. Railway timetabling using lagrangian relaxation. *Transportation Science*, 32(4):358, 1998. - [BLZ97] M. R. Bussieck, T. Lindner, and U. T. Zimmermann. Discrete optimization in public rail transport. *Mathematical Programming*, 79:415–444, 1997. - [BN10] R. Borndörfer and M. Neumann. Models for line planning with transfers. Technical Report 10-11, ZIB, Takustr.7, 14195 Berlin, 2010. - [BNP09] R. Borndörfer, M. Neumann, and M. E. Pfetsch. The line connectivity problem. In B. Fleischmann, K.-H. Borgwardt, R. Klein, and A. Tuma, editors, *Operations Research Proceedings 2008*, pages 557–562. Springer Berlin Heidelberg, 2009. - [Bus98] M. Bussieck. *Optimal Lines in Public Rail Transport*. PhD thesis, Technische Universität Braunschweig, 1998. - [CCT10] V. Cacchiani, A. Caprara, and P. Toth. Non-cyclic train timetabling and comparability graphs. *Operations Research Letters*, 38(3):179–184, 2010. - [CDDC07] S. Cicerone, G. D'Angelo, G. Di Stefano, D. Frigioni, and A. Navarra. On the interaction between robust timetable planning and delay management. Technical Report ARRIVAL-TR-0116, ARRIVAL project, 2007. - [CDPP12] F. Corman, A. D'Ariano, D. Pacciarelli, and M. Pranzo. Bi-objective conflict detection and resolution in railway traffic management. *Transportation Research Part C*, 20(1):79–94, 2012. - [CDSC09] S. Cicerone, G. D'Angelo, G. Di Stefano, D. Frigioni, A. Navarra, M. Schachtebeck, and A. Schöbel. Recoverable robustness in shunting and timetabling. In R. K. Ahuja, R. H. Möhring, and C.D. Zaroliagis, editors, *Robust and Online Large-Scale Optimization*, volume 5868 of *Lecture Notes in Computer Science*, pages 28–60. Springer, Heidelberg, 2009. - [CF95] I. Constantin and M. Florian. Optimizing frequencies in a transit network: a nonlinear bi-level programming approach. *International Transactions in Operational Research*, 2(2):149, 1995. - [CFT02] A. Caprara, M. Fischetti, and P. Toth. Modeling and solving the train timetabling problem. *Operations Research*, 50(5):851–861, 2002. - [Chu84] T. A. Chua. The planning of urban bus routes and frequencies: A survey. *Transportation*, 12:147–172, 1984. - [CKT10] A. Caprara, L. Kroon, and P. Toth. Optimization problems in passenger railway systems. In J. J. Cochran, L. A. Cox, P. Keskinocak, J. P. Kharoufeh, and J. C. Smith, editors, *Wiley Encyclopedia of Operations Research and Management Science*. John Wiley & Sons, Inc., 2010. - [CR11] R. Cordone and F. Redaelli. Optimizing the demand captured by a railway system with a regular timetable. *Transportation Research Part B: Methodological*, 45(2):430–446, 2011. - [CS07] C. Conte and A. Schöbel. Identifying dependencies among delays. In *proceedings of IAROR 2007*, 2007. ISBN 978-90-78271-02-4. - [CT12] V. Cacchiani and P. Toth. Nominal and robust train timetabling problems. *European Journal of Operational Research*, 219(3):727–737, 2012. - [CTV98] J.-F. Cordeau, P. Toth, and D. Vigo. A survey of optimization models for train routing and scheduling. *Transportation Science*, 32(4):380–404, November 1998. - [CvDZ98] M. T. Claessens, N. M. van Dijk, and P. J. Zwanefeld. Cost optimal allocation of rail passenger lines. *European Journal of Operational Research*, 110:474–489, 1998. - [DCDH12] T. Dollevoet, F. Corman, A. D'Ariano, and D. Huisman. An iterative optimization framework for delay management and train scheduling. Technical report, Econometric Institute Report EI2012-10,Erasmus University Rotterdam, 2012. [dDD98] R. de Vries, B. De Schutter, and B. De Moor. On max-algebraic models for transportation networks. In *Proceedings of the International Workshop on Discrete Event Systems*, pages 457–462, Cagliari, Italy, 1998. - [DH07] G. Desaulniers and M. D. Hickmann. Public transit. In *Handbook in OR & MS*, volume 14, pages 69–127. Elsevier, 2007. - [DH11] T. Dollevoet and D. Huisman. Fast heuristics for delay management with passenger rerouting. Technical report, Econometric Institute Report EI2011-35,Erasmus University Rotterdam, 2011. - [DHSS09] T. Dollevoet, D. Huisman, M. Schmidt, and A. Schoebel. Delay Management with Re-Routing of Passengers. In J. Clausen and G. Di Stefano, editors, *9th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems (ATMOS'09)*, volume 12 of *OpenAccess Series in Informatics (OASIcs)*, Dagstuhl, Germany, 2009. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik. - [DHSS12] T. Dollevoet, D. Huisman, M. Schmidt, and A. Schöbel. Delay management with rerouting of passengers. *Transportation Science*, 46(1):74–89, February 2012. - [Die78] H. Dienst. *Linienplanung im spurgeführten Personenverkehr mit Hilfe eines heuristischen Verfahrens*. PhD thesis, Technische Universität Braunschweig, 1978. (in German). - [Die06] R. Diestel. *Graph Theory*. Springer, 3rd edition, 2006. - [dMI06] L. dell'Olio, J. L. Moura, and A. Ibeas. Bi-level mathematical programming model for locating bus stops and optimizing frequencies. *Transportation Research Record: Journal of the Transportation Research Board*, 1971, 2006. - [DPP07] A. D'Ariano, D. Pacciarelli, and M. Pranzo. A branch and bound algorithm for scheduling trains in a railway network. *European Journal of Operational Research*, 183(2):643–657, 2007. - [DSS11] T. Dollevoet, M. Schmidt, and A. Schöbel. Delay management including capacities of stations. In A. Caprara and S. Kontogiannis, editors, *11th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS)*, volume 20 of *OASIcs*, pages 88–99, Dagstuhl, Germany, 2011. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. - [DV95] J. R. Daduna and S. Voß. Practical experiences in schedule synchronization. In J. R. Daduna, I. Branco, and J. M. Pinto Paixão, editors, *Computer-aided transit scheduling: proceedings of the Sixth International Workshop on Computer-aided Scheduling of Public Transport*, volume 430 of *Lecture Notes in Economics and Mathematical Systems*, 1995. - [Dv01] B. De Schutter and T. van den Boom. Model predictive control for railway networks. In *Proceedings of the 2001 IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Como, Italy*, pages 105–110, 2001. - [Fei98] U. Feige. A threshold of ln n for approximating set cover. *Journal of the ACM*, 45:634–652, July 1998. - [FM09] M. Fischetti and M. Monaci. Light robustness. In R. K. Ahuja, R.H. Möhring, and C.D. Zaroliagis, editors, *Robust and online large-scale optimization*, volume 5868 of *Lecture Note on Computer Science*, pages 61–84. Springer, 2009. - [FSZ09] M. Fischetti, S. Salvagnin, and A. Zanette. Fast approaches to improve the robustness of a railway timetable. *Transportation Science*, 43:321–335, 2009. - [FT87] M. L. Fredman and R. E. Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. *Journal of the ACM*, 34:596–615, 1987. - [Fuh08] R. Fuhse. Heuristiken zur Erstellung von Linienkonzepten. Master's thesis, Georg-August-Universität Göttingen, 2008. (in German). - [Gat07] M. Gatto. *On the Impact of Uncertainty on Some Optimization Problems: Combinatorial Aspects of Delay Management and Robust Online Scheduling*. PhD thesis, ETH Zürich, 2007. [GGJC04] M. Gatto, B. Glaus, R. Jacob, L. Peeters, and P. Widmayer. Railway delay management: Exploring its algorithmic complexity. In *Proc. 9th Scandinavian Workshop on Algorithm Theory (SWAT)*, volume 3111 of *Lecture Notes in Computer Science*, pages 199–211, 2004. - [GH08] V. Guihaire and J.-T. Hao. Transit network design and scheduling: A global review. *Transportation Research Part E*, 42:1251–1273, 2008. - [GHMHC13] M. Goerigk, S. Heße, M. Müller-Hannemann, M. Schmidt, and A. Schöbel. Recoverable robust timetable information. In 13th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS), volume 33 of OpenAccess Series in Informatics (OASIcs), pages 1–14. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2013. - [Gib85] A. Gibbons. *Algorithmic graph theory*. Cambridge University Press, 1985. - [GJ79] M. R. Garey and D. S. Johnson. *Computers and Intractability—A Guide to the Theory of NP-Completeness*. Freeman, San Francisco, 1979. - [GJPC04] M. Gatto, R. Jacob, L. Peeters, B. Weber, and P. Widmayer. Theory on the tracks: A selection of railway optimization problems. *Bulletin of the EATCS*, 84:41–70, 2004. - [GJPS05] M. Gatto, R. Jacob, L. Peeters, and A. Schöbel. The computational complexity of delay management. In D. Kratsch, editor, *Graph-Theoretic Concepts in Computer Science: 31st International Workshop (WG 2005)*, volume 3787 of *Lecture Notes in Computer Science*, 2005. - [GJPW07] M. Gatto, R. Jacob, L. Peeters, and P. Widmayer. Online delay management on a single train line. In *Algorithmic Methods for Railway Optimization*, number 4359 in Lecture Notes in Computer Science, pages 306–320. Springer, 2007. - [GKMHC13] M. Goerigk, M. Knoth, M. Müller-Hannemann, M. Schmidt, and A. Schöbel. The price of robustness in timetable information. *Transportation Science*, 2013. available online before print. - [Gov05] R. M. P. Goverde. *Punctuality of railway operations and timetable stability analysis*. PhD thesis, TRAIL Research School, 2005. - [GS07] A. Ginkel and A. Schöbel. To wait or not to wait? The bicriteria delay management problem in public transportation. *Transportation Science*, 41(4):527–538, 2007. - [GS10] M. Goerigk and A. Schöbel. An empirical analysis of robustness concepts for timetabling. In T. Erlebach and M. Lübbecke, editors, *Proceedings of the 10th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS)*, volume 14 of *OASIcs*, pages 100–113, Dagstuhl, Germany, 2010. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. - [GS11] M. Goerigk and A. Schöbel. Engineering the modulo network simplex heuristic for the periodic timetabling problem. In P. M. Pardalos and S. Rebennack, editors, *Experimental Algorithms*, volume 6630 of *Lecture Notes in Computer Science*, pages 181–192. Springer Berlin Heidelberg, 2011. - [GS13] M. Goerigk and A. Schöbel. Improving the modulo simplex algorithm for largescale periodic timetabling. *Computers & Operations Research*, 40(5):1363–1370, 2013. - [GSS04] Z. Gao, H. Sun, and L. L. Shan. A continuous equilibrium network design model and algorithm for transit systems. *Transportation Research Part B: Methodological*, 38(3):235–250, 2004. - [GvHK04] J.-W. Goossens, S. van Hoesel, and L. Kroon. A branch-and-cut approach for solving railway line planning problems. *Transportation Science*, 38(3):379–393, 2004. - [GvHK06] J.-W. Goossens, S. van Hoesel, and L. Kroon. On solving multi-type railway line planning problems. *European Journal of Operational Research*, 168(2):403–424, 2006. Feature Cluster on Mathematical Finance and Risk Management. [GYW06] J. F. Guan, Hai Yang, and S.C. Wirasinghe. Simultaneous optimization of transit line configuration and passenger line assignment. *Transportation Research Part B*, 40(10):885–902, 2006. - [Hd01] B. Heidergott and R. de Vries. Towards a control theory for transportation networks. *Discrete Event Dynamic Systems*, 11:371–398, 2001. - [HGL08] G. Heilporn, L. De Giovanni, and M. Labbé. Optimization models for the single delay management problem in public transportation. *European Journal of Operational Research*, 189(3):762–774, 2008. - [HKF97] A. Higgins, E. Kozan, and L. Ferreira. Heuristic techniques for single line train scheduling. *Journal of Heuristics*, 3(1):43–62, 1997. - [HKLV05] D. Huisman, L. G. Kroon, R. M. Lentink, and M. J. C. M. Vromans. Operations research in passenger railway transportation. *Statistica Neerlandica*, 59:467–497, 2005. - [HPB13] M. Heydar, M. E. H. Petering, and D. R. Bergmann. Mixed integer programming for minimizing the period of a cyclic railway timetable for a single track with two train types. *Computers & Industrial Engineering*, 66(1):171–185, 2013. - [IC95] Y. Israeli and A. Ceder. Transit route design using scheduling and multiobjective programming techniques. In J. R. Daduna, I. Branco, and J. M. Pinto Paixão, editors, *Computer-aided transit scheduling*, volume 430 of *Lecture Notes in Economics and Mathematical Systems*, pages 56–75, Berlin, 1995. Springer. - [Kas10] M. Kaspi. Service oriented train timetabling. Master's thesis, Tel Aviv University, 2010. - [Kin08] M. Kinder. Models for periodic timetabling. Master's thesis, Technische Universität Berlin, 2008. - [KMHC08] L. Kroon, G. Maróti, M. R. Helmrich, M. Vromans, and R. Dekker. Stochastic improvement of cyclic railway timetables. *Transportation Research Part B: Methodological*, 42(6):553–570, 2008. - [KP03] L. G. Kroon and L. W. P. Peeters. A variable trip time model for cyclic railway timetabling. *Transportation Science*, 37:198–212, 2003. - [KS11] N. Kliewer and L. Suhl. A note on the online nature of the railway delay management problem. *Networks*, 57, 2011. - [KTZ11] S. O. Krumke, C. Thielen, and C. Zeck. Extensions to online delay management on a single train line: new bounds for delay minimization and profit maximization. *Mathematical Methods of Operations Research*, 74(1):53–75, 2011. - [Lie05] C. Liebchen. A cut-based heuristic to produce almost feasible periodic railway timetables. In S. E. Nikoletseas, editor, *Experimental and Efficient Algorithms*, volume 3503 of *Lecture Notes in Computer Science*, pages 354–366. Springer Berlin Heidelberg, 2005. - [Lie06] C. Liebchen. *Periodic Timetable Optimization in Public Transport*. PhD thesis, Technische Universität Berlin, 2006. published by dissertation.de. - [Lin00] T. Lindner. *Train Schedule Optimization in Public Rail Transport*. PhD thesis, Technische Universität Braunschweig, 2000. - [LLER11] R. Lusby, J. Larsen, M. Ehrgott, and D. Ryan. Railway track allocation: models and methods. *OR Spectrum*, 33:843–883, 2011. - [LLMS09] C. Liebchen, M. Lübbecke, R. Möhring, and S. Stiller. The concept of recoverable robustness, linear programming recovery, and railway applications. In R. K. Ahuja, R. H. Möhring, and C. D. Zaroliagis, editors, *Robust and online large-scale optimization*, volume 5868, pages 1–27. Springer, 2009. - [LM07a] C. Liebchen and R. Möhring. The modeling power of the periodic event scheduling problem: Railway timetables and beyond. In F. Geraets, L. Kroon, A. Schoebel, D. Wagner, and C. Zaroliagis, editors, *Algorithmic Methods for Railway Optimization*, volume 4359 of *Lecture Notes in Computer Science*, pages 3–40. Springer Berlin Heidelberg, 2007. [LM07b] C. Liebchen and R. H. Möhring. The modeling power of the periodic event scheduling problem: Railway timetables– and beyond. In F. Geraets, L. Kroon, A. Schöbel, D. Wagner, and C. D. Zaroliagis, editors, *Algorithmic Methods for Railway Optimization*, volume 4359 of *Lecture Notes in Computer Science*, pages 3–40. Springer Berlin Heidelberg, 2007. - [LPW08] C. Liebchen, M. Proksch, and F. H. Wagner. Performance of algorithms for periodic timetable optimization. In G. Fandel, W. Trockel, M. Hickman, P. Mirchandani, and S. Voß, editors, *Computer-aided Systems in Public Transport*, volume 600 of *Lecture Notes in Economics and Mathematical Systems*, pages 151–180. Springer Berlin Heidelberg, 2008. - [LS67] W. Lampkin and P. D. Saalmans. The design of routes, service frequencies, and schedules for a municipal bus undertaking: a case study. *Operational Research Quartely*, 18:375–397, 1967. - [LSSC10] C. Liebchen, M. Schachtebeck, A. Schöbel, S. Stiller, and A. Prigge. Computing delay resistant railway timetables. *Computers & Operations Research*, 37(5):857– 868, 2010. - [Lüb09] J. Lübbe. Passagierrouting und Taktfahrplanoptimierung. Master's thesis, Technische Universität Berlin, 2009. (in German). - [LZ05] T. Lindner and U. T. Zimmermann. Cost optimal periodic train scheduling. *Mathematical Methods of Operations Research*, 62(2):281–295, 2005. - [Man80] C. E. Mandl. Evaluation and optimization of urban public transportation networks. *European Journal of Operational Research*, 5(6):396–404, 1980. - [Nac98] K. Nachtigall. *Periodic Network Optimization and Fixed Interval Timetables*. Deutsches Zentrum für Luft– und Raumfahrt, Institut für Flugführung, Braunschweig, 1998. Habilitationsschrift. - [NJ08] K. Nachtigall and K. Jerosch. Simultaneous network line planning and traffic assignment. In M. Fischetti and P. Widmayer, editors, *8th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems*, 2008. - [NO08] K. Nachtigall and J. Opitz. Solving periodic timetable optimisation problems by modulo simplex calculations. In M. Fischetti and P. Widmayer, editors, *ATMOS 2008 - 8th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems*, Dagstuhl, Germany, 2008. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, Germany. - [NV96] K. Nachtigall and S. Voget. A genetic algorithm approach to periodic railway synchronization. *Computers & Operations Research*, 23(5):453–463, 1996. - [NW88] G. L. Nemhauser and L. A. Wolsey. *Integer and Combinatorial Optimization*. Wiley, 1988. - [Odi96] M. A. Odijk. A constraint generation algorithm for the construction of periodic railway timetables. *Transportation Research Part B*, 30(6):455–464, 1996. - [Odi98] M. A. Odijk. *Railway Timetable Generation*. PhD thesis, Technische Universiteit Delft, 1998. - [ORv06] M. A. Odijk, H. E. Romeijn, and H. van Maaren. Generation of classes of robust periodic railway timetables. *Computers & Operations Research*, 33(8):2283–2299, 2006. - [PB06] M. Pfetsch and R. Borndörfer. Routing in line planning for public transport. In H.-D. Haasis, H. Kopfer, and J. Schönberger, editors, *Operations Research Proceedings 2005*, volume 2005 of *Operations Research Proceedings*, pages 405– 410. Springer Berlin Heidelberg, 2006. - [Pee03] L. Peeters. *Cyclic Railway Timetable Optimization*. PhD thesis, Erasmus University Rotterdam, 2003. - [Phi93] C. A. Phillips. The network inhibition problem. In *Proceedings of the twenty-fifth annual ACM symposium on Theory of computing*, pages 776–785, New York, 1993. ACM. [Roc84] R. T. Rockafellar. *Network flows and monotropic optimization*. John Wiley & Sons, Inc., 1984. - [RS97] R. Raz and S. Safra. A sub-constant error-probability low-degree test, and a sub-constant error-probability PCP characterization of NP. In *Proceedings of the twenty-ninth annual ACM symposium on Theory of computing*, STOC '97, pages 475–484, New York, NY, USA, 1997. ACM. - [SBK01] L. Suhl, C. Biederbick, and N. Kliewer. Design of customer-oriented dispatching support for railways. In Stefan Voß and Joachim R. Daduna, editors, *Computer-Aided Scheduling of Public Transport*, volume 505 of *Lecture Notes in Economics and Mathematical Systems*, pages 365–386. Springer Berlin Heidelberg, 2001. - [SBP74] L. A. Silman, Z. Barzily, and U. Passy. Planning the route system for urban busses. *Computers & Operations research*, 1:201–211, 1974. - [Sch01] A. Schöbel. A model for the delay management problem based on mixed-integer programming. *Electronic Notes in Theoretical Computer Science*, 50(1), 2001. - [Sch05] S. Scholl. *Customer-Oriented Line Planning*. PhD thesis, Technische Universität Kaiserslautern, 2005. published by dissertation.de. - [Sch06] A. Schöbel. *Optimization in public transportation. Stop location, delay management and tariff planning from a customer-oriented point of view*. Optimization and Its Applications. Springer, New York, 2006. - [Sch07] A. Schöbel. Integer programming approaches for solving the delay management problem. In *Algorithmic Methods for Railway Optimization*, number 4359 in Lecture Notes in Computer Science, pages 145–170. Springer, 2007. - [Sch09] A. Schöbel. Capacity constraints in delay management. *Public Transport*, 1(2):135–154, 2009. - [Sch10] M. Schachtebeck. *Delay Management in Public Transportation: Capacities, Robustness, and Integration*. PhD thesis, Georg-August-Universität Göttingen, 2010. - [Sch11] A. Schöbel. Line planning in public transportation: models and methods. *OR Spectrum*, pages 1–20, 2011. 10.1007/s00291-011-0251-6. - [Sch12] M. Schmidt. Line planning with equilibrium routing. Technical report, Preprint series, Institute for Numerical and Applied Mathematics, Georg-August-University - Göttingen, 2012. submitted. [Sch13] M. Schmidt. Simultaneous optimization of delay management decisions and passenger routes. *Public Transport*, 5(1):125–147, 2013. - [SG13] M. Siebert and M. Goerigk. An experimental comparison of periodic timetabling models. *Computers & Operations Research*, 40(10):2251–2259, 2013. - [SK09] A. Schöbel and A. Kratz. A bicriteria approach for robust timetabling. In R. K. Ahuja, R. H. Möhring, and C. D. Zaroliagis, editors, *Robust and Online Large-Scale Optimization*, volume 5868 of *Lecture Notes in Computer Science*, pages 119–144. Springer Berlin Heidelberg, 2009. - [SM99] L. Suhl and T. Mellouli. Requirements for, and design of, an operations control system for railways. In *Computer-Aided Transit Scheduling*. Springer, 1999. - [SMBG01] L. Suhl, T. Mellouli, C. Biederbick, and J. Goecke. Managing and preventing delays in railway traffic by simulation and optimization. In *Mathematical methods on Optimization in Transportation Systems*, pages 3–16. Kluwer, 2001. - [Son79] H. Sonntag. Ein heuristisches Verfahren zum Entwurf nachfrageorientierter Linienführung im öffentlichen Personennahverkehr. *ZOR - Zeitschrift für Operations-Research*, 23:B15, 1979. (in German). - [SS06] A. Schöbel and S. Scholl. Line planning with minimal transfers. In *5th Workshop on Algorithmic Methods and Models for Optimization of Railways*, number 06901 in Dagstuhl Seminar Proceedings, 2006. - [SS08] M. Schachtebeck and A. Schöbel. IP-based techniques for delay management with priority decisions. In M. Fischetti and P. Widmayer, editors, *ATMOS 2008 - 8th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems*, Dagstuhl Seminar proceedings, 2008. [SS10a] M. Schachtebeck and A. Schöbel. To wait or not to wait and who goes first? Delay management with priority decisions. *Transportation Science*, 44(3):307–321, 2010. - [SS10b] M. Schmidt and A. Schöbel. The complexity of integrating routing decisions in public transportation models. In T. Erlebach and M. Lübbecke, editors, *Proceedings of the 10th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems*, volume 14 of *OASIcs*, pages 156–169, Dagstuhl, Germany, 2010. Schloss Dagstuhl–Leibniz-Zentrum für Informatik. - [SS12a] M. Schmidt and A. Schöbel. The complexity of integrating routing decisions in public transportation models. Technical report, Preprint series, Institute for Numerical and Applied Mathematics, Georg-August-University Göttingen, 2012. submitted. - [SS12b] M. Schmidt and A. Schöbel. Timetabling with passenger routing. Accepted for publication in OR Spectrum. 2013. - [SU89] P. Serafini and W. Ukovich. A mathematical model for periodic scheduling problems. *SIAM Journal on Discrete Mathematics*, 2:550–581, 1989. - [TTBP11] L. M. Torres, R. Torres, R. Borndörfer, and M. E. Pfetsch. Line planning on tree networks with applications to the quito trolebús system. *International Transactions in Operational Research*, 18:455–472, 2011. - [WC96] Z. Wang and J. Crowcroft. Quality of service routing for supporting multimedia applications. *IEEE Journal on Selected areas in communications*, 14(7):1228– 1234, 1996. - [WYFL08] R. C. W. Wong, T. W. Y. Yuen, K. W. Fung, and J. M. Y. Leung. Optimizing timetable synchronization for rail mass transit. *Transportation Science*, 42(1):57– 69, 2008. # **Index** ``` A activity artificial, 102 changing, 83 destination, 83 driving, 83 maintained changing, 124 maintained changing activities corresponding to a routing, 129 operational, 83 origin, 83, 123 reasonable virtual, 100 virtual, 98 waiting, 83 activity weight, 86 acyclic, 7 all-wait strategy, 161 arc, 6 destination, 22, 27 driving, 21 origin, 22, 27 transfer, 21, 27 arc speed-up, 181, see ASU ASU, 182 B budget, 11 C capacitated line planning, 10 capacitated line planning with routing, see cLPwR capacity, 15 CGN, 22 change-and-go network, see CGN cLPwR, 19, 25 connected, 7 connected component, 7 cost along a path, 16, 23, 29 of a line, see line cost critical path method, 127 D delay in a node, 125 of a solution, 125 delay management, 113 delay management with fixed connections, see DMwFC delay management with routing, see DMwR digraph, 6 direct traveler approach, 11 Directed Two-Commodity Integral Flow, 32 disposition timetable, 115, 120, 124 corresponding to a routing, 129 corresponding to a set of maintained activities, 128 DMwFC, 127 DMwR, 122, 125 driving time, 12, 16, 23 between two stations, 79 of a line, 16 E EAN, 83 operational, 83, 124 edge, 5 directed, 6 ``` 226 Index | event | for an OD-pair, 17 | |--------------------------------------------------------|---------------------------------------------------| | arrival, 82 | linear network, 6 | | departure, 82 | LN, 28 | | destination, 82 | | | operational, 82 | | | origin, 82, 123 | N | | event-activity network, see EAN | nested, 50 | | | network | | | directed, 6 | | F | undirected, 6 | | feasible, 74 | NLT property, 38, 61 | | for a disposition timetable, 121, 122, 124 | no-line-twice property, see NLT property | | for a line concept, 17, 24, 29 | no-train-twice property, see NTT property | | for a line-routing, 17
for a network component, 170 | node, 5
destination, 21 | | for a routing, 24, 124, 170 | origin, 21 | | for an ST-train-routing, 122 | travel, 21 | | line concept, 15 | node-OD-pair, 167 | | line-route, 16 | NTT property | | timetable, 79, 85 | for a path, 137 | | frequency, 9, 15 | for an instance, 146 | | frequency setting, 9 | number of passengers, 16, 121 | | | using a line-route, 17 | | | using a path, 24, 168 | | G | | | graph | | | directed, 6 | O | | undirected, 5 | OD-NLT-property, 57 | | | OD-pair, 16, 121 | | | operational, 97 | | H | OD-pairs, 11 | | Hamiltonian Path, 131 | origin-destination pair, see OD-pair | | Hitting Set, 36 | | | | P | | L | Partition, 41 | | length | passenger weight, see number of passengers | | of a path, 7 | path, 6 | | line, 9, 15 | directed, 6 | | bi-directional, 15 | for a node-OD-pair, 168 | | one-directional, 15 | for an operational OD-pair, 97 | | line concept, 15 | undirected, 6 | | corresponding to a routing, 30, 31 | planned connections, 79 | | line connectivity problem, 35 | predecessor, 7 | | line cost, 10 | direct, 7 | | line driving time function, 10 | price of sequentiality, 175 | | line network, see LN | PTN, 8 | | line planning, 9 | public transportation network, see PTN | | cost-oriented, 11 | | | passenger-oriented, 11 | | | line pool, 9
line routing network, 29 | R
RCSP, see Resource-Constrained Shortest Path | | line-route, 16 | Resource-Constrained Shortest Path, 39 | | line-routing, 17 | routing, 24, 29, 85, 97, 124, 168, 181 | | | | Index 227 | corresponding to a disposition timetable, | successor, 7 | |----------------------------------------------------|---------------------------------------------------| | 127 | direct, 7 | | corresponding to a line concept, 30 | | | corresponding to a set of maintained | | | changing activities, 128 | T | | corresponding to a timetable, 88 | timetable, 74, 79 | | for a node-OD-pair, 168 | corresponding to a routing, 87 | | for an OD-pair, 24 | timetabling, 73 | | routing network, 24, 84, 125 | aperiodic, 73 | | | periodic, 73 | | | timetabling with routing, see TTwR | | S | timetabling with routing between events, see | | scLPwR, 18, 25 | TTwRE | | Set Cover, 88 | train, 10, 15, 79 | | shortest path line-routing | train-route, 80 | | for a line concept, 19 | train-routing, 81 | | shortest path problem, 7 | transfer penalty, 12, 16 | | all pairs, 7 | station-independent, 27 | | shortest-path routing, 7
for a line concept, 24 | transfer time, 12, 16, 23, 26
along a path, 28 | | simple, 6 | transportation mode, 10 | | simple capacitated line planning with routing, | travel time, 12, 17, 23, 25, 81, 85, 86, 122, 124 | | see scLPwR, see scLPwR | along a line-route, 16 | | simplified timetabling problem, see sTT | along a path, 80, 85, 97, 121 | | slack time, 74, 84 | nominal, 125 | | solution, 5 | tree, 8 | | corresponding to a disposition timetable, | TTwR, 81, 85, 100 | | 127 | TTwRE, 97 | | corresponding to a line concept, 30 | | | corresponding to a routing, 30, 31, 87, 129 | | | corresponding to a set of maintained | U | | changing activities, 128 | uLPwR, 17, 25, 29 | | corresponding to a timetable, 88 | uncapacitated line planning, 10 | | source delay, 114, 120 | uncapacitated line planning with routing, see | | speed-up factor, 181 | uLPwR | | speed-up network, 182 | | | ST-train-route, 121 | | | ST-train-routing, 122 | V | | start time, 116, 121 | vertex, 5 | | Steiner Tree, 61 | | | sTT, 86 | | | subgraph, 6 | W | | induced, 6 | wait-depart decision, 113, 122 | | subnetwork, 6 | waiting time | | induced, 6 | at a station, 79 |