category: literaturenote citekey: hamacherdesignzonetariffsystems2004 title: Design of Zone Tariff Systems in Public Transportation authors: "Hamacher, Horst W.; Schöbel, Anita" year: 2004 date: 2004-00-00 2004 doi: 10.1287/opre.1040.0120 publication: Operations Research url: "https://doi.org/10.1287/opre.1040.0120" zotero_key: 6FMAT2TC zotero_storage: 8W4ANG2Z collections: transpordi_planeerimine folder: 001_artiklid firstAuthor: "Hamacher, Horst W."
Stop Location, Delay Management and Tariff Zone Design in a Public Transportation Network
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)
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 works 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.
Stop Location, Delay Management and Tariff Zone Design in a Public Transportation Network
By
ANITA SCHÖBEL Georg-August University, Göttingen, Germany
Library of Congress Control Number: 2006929191
ISBN-10: 0-387-32896-3 e-ISBN: 0-387-36643-1
ISBN-13: 978-0-387-32896-6
Printed on acid-free paper.
All rights reserved. This work may not be translated or copied in whole or in part without the written permission of the publisher (Springer Science+Business Media, LLC, 233 Spring Street, New York, NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use in connection with any form of information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed is forbidden.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
Printed in the United States of America.
9 8 7 6 5 4 3 2 1
springer.com
To my parents Helga and Volker Schumacher
Der Kunde ist K¨onig.
(German saying)
Public transportation plays an important role in most populated areas. Especially in metropolitan regions public transportation systems are widely used. But unfortunately, public transportation is often a subject of complaints. Customers are annoyed about "unfair prices", about "bad service" and in particular get upset in case of delays. Such complaints are understandable, but for the public transportation companies it is often impossible to provide a better service without increasing the costs. The reason for these difficulties is the complexity and the size of the planning problems arising.
The theory of optimization provides a sound methodology for finding good solutions, if a mathematical model of the respective problem is known. Moreover, due to the availability of fast computers many problems that seemed to be intractable some years ago can nowadays be solved.
This work provides suitable models for planning public transportation systems from a customer-oriented point of view, but taking into account the limited budget public transportation companies have to respect. In particular, we develop and analyze optimization models for the following three problems:
Part I: Stop location. Here we deal with the location of stops along bus routes, or of stations along railway tracks. As objective functions we consider the number of customers living close to a station and the additional travel time arising by the stopping activities of the trains or buses. In particular, we discuss how to find the minimal number of stops to cover a given set of demand points or demand regions, how to cover as many customers as possible with a given budget and both problems together in a bicriteria setting.
Part II: Delay management. If a vehicle arrives at a station with a delay, passengers who wish to change into another vehicle, say a bus, may miss their connection, if this bus departs on time. Such wait-depart decisions and their impact on the whole transportation system are investigated from the customers' perspective. As objective functions we hence discuss the sum of all delays over all passengers, the number of missed connections, and the sum of all delays over all vehicles. The latter two objectives are treated as a bicriteria optimization problem.
Part III: Zone planning. In order to design a zone tariff system, the complete transportation area has to be partitioned into zones, and prices for traveling through 1,2,3,. . . zones have to be defined in such a way that the current income of the public transportation company does not decrease too much. As objective function we consider the deviations between the new prices and some given reference prices. These deviations can be interpreted as the fairness of the new tariff system or as the changes to the current ticket prices.
All three problems were brought to my attention within real-world projects, and some of the obtained results have already been implemented and applied in practice. Nevertheless, the main focus of this work is to develop a consistent mathematical theory and to present basic results within all three fields.
The theory presented in this text and the obtained results open a wide field for further developments and implementations of the suggested approaches. The algorithms that have already been tested on our real-world data confirm the practical usefulness of the models and show their potential for future applications.
Before concluding the preface I wish to add several acknowledgments. First of all, I thank Horst W. Hamacher for his support, for the pleasant and constructive work together with him, and for his helpful advice in any question I had.
For many valuable suggestions I am indebted to Kathrin Klamroth and Dagmar Tenfelde-Podehl. I also appreciate the comments of Teresa Melo, Martin C. M¨uller, and Michael Schr¨oder.
It was a pleasure to work with Annegret Liebers and Dorothea Wagner on the stop location problem. My thanks also go to Frank Geraets of Deutsche Bahn who provided this nice problem together with real-world data. I want to thank Andreas Ginkel and Nikolaus Ruf for many fruitful discussions we had during the preparation of their diploma theses on delay management and set covering problems. Moreover, I want to express my gratitude to Dieter Gr¨unewald whose expertise in analyzing zone plans influenced my practical work in this area.
I also want to thank Robert Saley of Springer for his kind assistance during the publication of the manuscript.
Last, but not least, my special thanks go to my husband Georg and to my children Svenja and Malte for their encouragement, patience, and understanding which made it possible for me to write this text.
G¨ottingen, Anita Sch¨obel December 2005
| 1 | Customer-oriented
Traffic
Planning
1 | | | | | |
|------|---------------------------------------------------|--------------------------------------------------------------------------|----|--|--|--|
| | 1.1 | Customer-oriented
Transportation | 1 | | | |
| | 1.2 | Public
Transportation
Network
and
Customer
Data | 5 | | | |
| | | | | | | |
| Part | I | Stop
Location | | | | |
| 2 | | Introduction | 11 | | | |
| | 2.1 | Application | 13 | | | |
| | 2.2 | Literature
Review | 14 | | | |
| | 2.3 | A
Model
for
Continuous
Stop
Location | 15 | | | |
| 3 | | Covering
All
Demand
Points | 21 | | | |
| | 3.1 | Feasibility
and
Complexity
of
Complete
Cover | 22 | | | |
| | 3.2 | A
Finite
Dominating
Set | 24 | | | |
| | 3.3 | Complete
Cover
Along
a
Polygonal
Line | 29 | | | |
| | 3.4 | Set
Covering
With
Consecutive
Ones
Property | 32 | | | |
| | 3.5 | Complete
Cover
in
a
Realistic
Network | 40 | | | |
| | 3.6 | Set
Covering
With
Almost
Consecutive
Ones
Property | 46 | | | |
| 4 | | Bicriteria
Stop
Location | 59 | | | |
| | 4.1 | Constraint
Problems
and
Lexicographic
Minimality | 60 | | | |
| | 4.2 | Integer
Programming
Formulations | 62 | | | |
| | 4.3 | Bicriteria
Set
Covering
With
Consecutive
Ones
Property | 65 | | | |
| | 4.4 | Varying
the
Radius | 71 | | | |
| 5 | | Extensions
75 | | | | |
| | 5.1 | Covering
Demand
Regions | 76 | | | |
| | 5.2 | Minimizing
the
Total
Door-to-door
Travel
Time | 85 | | | |
| Part | II Delay Management |
|---|---|
| 6 | Introduction 95 6.1 Application 97 6.2 Related Literature 98 6.3 A Model for the Delay Management Problem 100 6.4 Event-activity Networks in Delay Management 104 |
| 7 | Delay Management With Fixed Connections 109 7.1 Linear Programming Approach 110 7.2 Relation to the Critical Path Method 111 7.3 Relation to the Feasible Differential Problem 115 |
| 8 | Minimizing the Sum of All Delays 119 8.1 A Linear Model 121 8.2 Activity-based Model 125 8.3 Constant Weights and the Never-meet Property 133 8.4 A Simple Special Case 145 8.5 Solving the model with constant weights 147 8.6 Solving the Total Delay Management Problem 163 |
| 9 | The Bicriteria Delay Management Problem 175 9.1 A First Analysis 176 9.2 Integer Programming Formulation 179 9.3 Lexicographic and Supported Efficient Solutions 180 9.4 Finding All Efficient Solutions 182 |
| 10 | Extensions 195 10.1 The General Delay Management Problem. 195 10.2 Railway and Bus Specific Requirements 201 |
| Part | III Tariff Planning |
| 11 | Introduction 207 11.1 Frequently Used Tariff Systems. 208 11.2 Application 212 11.3 Literature Review 213 11.4 A Model for the Zone Design Problem 213 |
| 12 | Finding Zones and Zone Prices 219 12.1 The Fare Problem 220 12.2 The Maximum Deviation Zone Design Problem 224 12.3 Extensions for Real-world Problems 232 |
| Contents | XIII | ||
|---|---|---|---|
| A | Integer Programming |
237 | |
| B | Bicriteria Optimization |
239 | |
| C | Gauges as Distance Measures |
243 | |
| Frequently Used Notation |
247 | ||
| List | of the Main Problems |
251 | |
| References | 253 | ||
| Index | 265 |
Although public passenger transportation plays an important role especially in large metropolitan areas, it also has to be carefully planned and organized in a rural environment. There are economical, environmental, and social reasons for considering the needs of customers when planning public transportation.
We now briefly introduce in an informal way some of the problems occurring in public transportation. Three of them – locating stops, delay management, and tariff planning – will be discussed in detail in subsequent chapters. An overview of the problems considered in this text and their relation to other customer-related steps in the planning phase and at the operational level is given in Figure 1.1. Note that sometimes the same model can be used for online decisions and for long-term decisions at the same time. This is for example the case for the model that we will present for the delay management problem.
Fig. 1.1. The problems considered in the text within the planning process in public transportation.
Network planning includes the design of the transportation network, i.e., siting the stations and the bus routes or train tracks. The outcome of the process of network planning is the public transportation network (PTN). Network planning problems have been treated in the general context of network flow problems. In the public transportation literature we refer, e.g., to [CW86, BM95, CG02] and to the references given therein. However, in real life a PTN is usually not designed from scratch, but only modifications of an existing PTN are considered, such as
For these problems literature is rather sparse. Locating stops or stations in the PTN will be discussed in Part I of this text. For finding subnetworks for operating an underground system or a rapid transit line, hub location models have been developed by [NSS01].
Line planning concerns the definition of paths in the PTN on which service should be offered, i.e., the routes of the bus or railway lines. The line planning problem has been well studied in the literature. For an early contribution we refer to [Die78]. In [BKZ96, Bus97] the goal is to maximize the number of passengers with direct connections under the constraint that all passengers can be transported. The solution methods proposed use advanced integer programming techniques. Under a similar constraint, the goal in [CvDZ96] is minimization of costs for the public transportation company. Line planning problems considering different types of vehicles simultaneously were studied in [GvHK04, GvHK02]. Various models and algorithms are discussed in [Goo04].
A new approach is to take into account that the behavior of the customers depends on the design of the lines. A first model including such demand changes was treated with simulated annealing in cooperation with Deutsche Bahn, see [Kli00b, Sch01a]. Moreover, the choice of the routes of customers depends on the (unknown) line plan. Finding a line plan together with optimal routes for the customers has recently been considered in [SS05, Sch05b, BGP04a, BGP04b, Sch05a, LMMO06]. In these approaches, the goal is to design lines in such a way that the traveling time of the customers is minimized. The first two of these publications also include the number of transfers of customers in the objective function. The special case of locating one single line so as to maximize the number of passengers is treated in [LMO05].
Timetabling determines the departure and arrival times for all trips at all stations. Here two cases are distinguished.
Case 1: All rides within the same line start in periodic time intervals, e.g., at 7:03, 7:33, 8:03, 8:33, 9:03 and so on.
Case 2: The timetable of the rides is non-periodic.
Many papers and theses deal with problems related to timetabling. An overview of the literature in this area will be given in Section 6.2 (see page 98) within the context of delay management.
Tariff planning concerns the determination of fares for the customers. Different systems are possible.
distance tariff: The price depends on the length of the journey. unit tariff: Each journey costs the same.
zone tariff: The complete area is partitioned into zones, and the prices depend on the number of passed zones, from the origin to the destination of the journey.
In tariff planning the problem is to design a new tariff system along with its prices. A common requirement is that the new income of the public transportation company should not decrease compared to its current income. On the other hand, the customers should find the new system acceptable. Designing zone tariffs under such criteria will be treated in Part III.
Summarizing, line planning, timetabling and network design problems have been well studied in the literature so far. There are other problems belonging to the strategic planning process in public passenger transportation, like
Since these problems have no direct effects on the customers they will not be considered in this text. Various models and solution approaches for these problems exist. For references the reader is referred, e.g., to the proceedings of the CASPT meetings which are mentioned below.
We finally list two operational problems, which have to be solved on-line in case of disturbances.
Suppose that a vehicle arrives at a station with a delay. Should a connecting vehicle wait for passengers who wish to change or should it depart on time? The goal is to minimize the inconvenience caused by delays from the customers' point of view. The delay management problem will be treated in Part II.
Especially in rail transportation, construction sites, delays, or any other disturbance make a re-scheduling of trains necessary. This is a difficult problem since many constraints have to be taken into account. The main requirement in many railway companies is that no two trains are allowed to occupy the same segment of a track (called block) at the same time. The goal may be to return to the original schedule as quickly as possible, or to minimize the additional delays of the trains. The problem has mainly been considered in transportation and engineering sciences, and is practically often solved based on priority rules. Operations research models
can be found in [AFT02, BHK99, ADGGT99, Kro97, Zwa96, AD96], while there are also many other successful approaches from various areas, including [T¨or05b, TJ05, WS05, PMP04, Jac04, vE01, Fay00, HKF96, PT82]. A recent overview with many references is given in [T¨or05a].
Other operational problems include the re-scheduling of crew in case of unexpected absent drivers, re-planning of rosters, or maintenance re-scheduling.
For more details about the mathematical models used in the planning process in public transportation we refer to the basic rail transportation models of [Ass80] and to the survey of Bussieck, Winter and Zimmermann [BWZ97]. Another overview is given by Bornd¨orfer, Gr¨otschel and L¨obel [BGL98]. Patriksson and Labb´e [PL02] collected articles about the state-of-the-art in the field of transportation planning. The survey of Cordeau, Toth and Vigo [CTV98] focuses in particular on routing and scheduling in rail transportation. Railway planning problems are also addressed in the surveys of [Wag03, GJP+04] and in the forthcoming collection [GKS+06].
Moreover, we refer to the conference proceedings of the CASPT (Computer-Aided Scheduling of Public Transport) meetings [Wre81, Rou85, DW88, DR92, DBP95, Wil99, VD01], to the TRISTAN (Triennial Symposium on Transportation Analysis) [BT96] conferences, and to the proceedings of the ATMOS workshops [Zar01, Wag02, Ger04, GKS+06].
We start with a formal definition of a public transportation network, a simple example of which is depicted in Figure 1.2.
Definition 1.1. A public transportation network is a finite, undirected graph PTN = (V,E) with
In public transportation, an ordered pair of stops (or stations) u, v is often called a relation.
Within the network design step, the PTN is constructed, or modifications of an already existing PTN such as adding new stops or closing existing ones are planned. However, for all other purposes, like line planning, timetabling, delay management, or tariff planning, we assume the PTN as given and fixed. It may happen that the set E of direct rides in the PTN is not given, but a
Fig. 1.2. A PTN with its set of stops V and its direct rides E.
timetable is at hand. Possibilities to construct E in such a case are discussed in [Lie01].
Since we mainly deal with optimization problems from the customers' point of view, we now discuss the data about the customers needed for our models.
OD-matrix: The origin-destination matrix (OD-matrix) W = (Wuv) is a |V |× |V | matrix containing the number of customers who wish to travel from station u to station v for all relations (u, v) in the PTN. Instead of the number of customers, the number of sold tickets can be given. The latter is in particular needed for tariff planning.
Traffic load: The traffic load is defined by the number of customers traveling along an edge e ∈ E or through a node v ∈ V in the PTN, and is denoted by ce or cv, respectively. The traffic load can be given as number of customers per hour, per day, per week, or per year. The traffic load will be used for the stop location problem (Part I), and as an approximation in the delay management problem (in Part II).
We now summarize some notation that will be used throughout the text.
Notation 1.2. Let PTN = (V,E) and let I be a fixed time interval.
Moreover, for v ∈ V let cv denote the traffic load of station v, i.e., the number of customers traveling through station v within the time interval I.
Note that I needs to be chosen appropriately for the respective application one has in mind. For example, in tariff planning, I usually refers to a long period such as a whole year, hence Wuv can be used to calculate the annual income on the relation from u to v. For line planning, however, the traffic load is important to make sure that all passengers can be transported. Here I is usually a short interval, like the morning traffic period (e.g., from 6 to 8 a.m.), and ce is used to calculate the number of vehicles needed along edge e within this period. Apart from these widely used data we sometimes need the following more detailed information about the customers.
Demand within a point or region (needed in Part I): When dealing with the location of stops close to customers, we assume that a set of demand points or demand regions is given. The number of (potential) customers within a demand point d is denoted by wd. Alternatively, the number of (potential) customers within a demand region D is called wD.
Paths of the customers (needed in Part II): For calculating the delay of a customer, it is not enough to know where his journey has started and to which station he wishes to travel. Also of interest are the starting time and the stations in which a transfer to other vehicles occurs, i.e., the path followed within the transportation network, as well as the vehicles used. For a path p let wp denote the number of customers using this path. Since the information about such paths is often not available we will also present models which do not rely on this specific information.
Number of changing passengers (needed in Part II): For calculating how many passengers miss a connection a from some vehicle g to another vehicle h at a station v we need the number of transfer passengers wa who plan to use connection a to change between the respective trains.
Destinations of the customers (needed in Part II): In delay management, it is also convenient to use the number of customers Cg v who reach their final destination v traveling in some vehicle g.
Note that the latter two data sets can be easily obtained if the paths of the customers are known. If only the OD-matrix W is known, it is possible to approximate the traffic loads by finding a set of reasonable paths from u to v for each relation u, v and dividing Wuv among these paths. Doing this for all relations and then adding for each edge e ∈ E the weights of all paths containing e gives an approximation of the traffic load of e. Formally, this is stated next.
Input: PTN and OD-matrix W = (Wuv)u,v∈V .
Output: Traffic load ce for each edge e ∈ E.
Step 1. For each pair u, v ∈ V with Wuv > 0 determine a set of ''reasonable'' paths from u to v
$$P_1^{uv}, P_2^{uv}, \dots, P_k^{uv},$$
and assign weights wP uv 1 , wP uv 2 ,...wP uv k to these paths in such a way that
$$\sum{i=1}^k w{Pi^{uv}} = W{uv}.$$
Step 2. For all e ∈ E set
$$ce = \sum{\substack{u,v \in V \ e \in Pi^{uv}}} \sum{\substack{i=1,\dots,k:\ e \in Pi^{uv}}} w{P_i^{uv}}.$$
Note that the difficulty of the algorithm above is to express the customers' behavior by an appropriate set of weighted paths, i.e., the skills are more of a practical nature rather than of mathematical hardness. For simplicity, k is set to 1 in many applications, and the only path P uv for the relation from u to v is chosen as a shortest path. In this case, Algorithm 1 simplifies to computing the following expression for all e ∈ E:
$$ce = \sum{u,v \in V: e \in P{uv}} W{uv}.$$
Establishing stops (or stations) within a transportation network is fundamental for offering public transportation service, since stops are an important part of the PTN. But it is not clear in advance, how many stops are reasonable, and where they should be built. Let us consider the effects of stops on the customers:
Moreover, this additional running time of trains (or buses) is costly for the transportation company, and also fixed costs arise for establishing a new stop.
In the continuous stop location problem we deal with the location of new stops along a given track system. This means, we assume that the tracks for the trains are already built, or the routes for the buses are already fixed. For the sake of simplicity we will use the wordings "stops" and "tracks" in the following, but keep in mind that the models and algorithms presented can also be applied for bus transportation.
We further assume a (possibly empty) set of already existing stops or stations. As input data we also need the locations of the potential customers, given as points or as regions in the plane, and the traffic load along the edges of the given tracks. An example for a set of demand points is depicted in Figure 2.1. Our goal is to locate additional stops along the tracks such that
Fig. 2.1. The set of tracks T and a set of demand points D in the plane.
The result we obtain by solving the continuous stop location problem defines the PTN which is the basis for many subsequent optimization models in public transportation planning. Establishing no stop at all means that the additional travel time is minimal, but for none of the customers does the accessibility increase. The other extreme is to open stops until the complete demand is covered. The following optimization problems will be treated in this chapter.
Chapter 2 is structured as follows: We start by presenting the application which motivated us to deal with continuous stop location problems. A literature review on stop location is given next. Then we present a model for the continuous stop location problem, enabling us to evaluate the interesting objective functions.
When comparing railway systems all over Europe, it turns out that Switzerland has a higher amount of rail transportation than other countries. Among others, one reason could be that in Switzerland the number of stops compared to the overall length of the track system is significantly higher than in other countries. The interesting question arising by this observation is, if it is an advantage or a disadvantage to have many stops. To come to an answer, we consider a customer-oriented point of view. A quality criterion for the customers which is influenced by the number of stops is the door-to-door travel time of their journeys, including the time they need to get from home to their departure stations and the time they need to reach their final destinations. A priori it is not clear if this time will increase or decrease by opening new stops along the track system.
Note that by a stop we do not mean a fully equipped station, but just a stopping point for the trains, which is relatively cheap for the railway company. Our results and some of our algorithmic approaches have been implemented and tested using data of the largest German railway company, Deutsche Bahn. Here we located new stops along the track system, relevant for regional trains, i.e., all regional trains are supposed to stop while the fast long-distance trains pass through. Our real-world data is described next.
Moreover, Deutsche Bahn specified some of the necessary parameters for our models. The time needed for an additional stopping activity of a regional train was estimated as two minutes. For the covering radius, a distance of 2 km is often used in rail transportation.
The importance of planning stops carefully and different customer-oriented criteria for bus stop location were already discussed in the case study of Demetsky et al, see [DAL82]. Among the many possible objective functions one goal is to establish as few stops as possible in such a way that all customers are covered. This was done in [Gle75] and in [MDSF98, Mur01a, Mur01b]. In the latter papers, the public transportation network in Brisbane, Australia was analyzed in detail and it turned out that 84.5 % of the stops are not necessary in terms of covering a set of given demand points within a Euclidean distance of 400 m, i.e., closing them would not decrease the actual number of covered customers. The stop location problem was treated in a discrete setting in these papers, i.e., the authors either considered only the actual stops, or they assumed that a finite candidate set of new stops is given. This leads to an unweighted set covering problem, also called location set covering problem which was introduced in [TSRB71, TR73]. In the context of stop location this problem has been solved by [Mur01a] using the Lagrangian-based set covering heuristic of [CFT99]. A new discrete stop location model was developed by Laporte et al. [LMO02]. They investigate which candidate stops along one given line in Seville should be opened, taking into account demand regions and constraints on the inter-station space. The coverage of a new stop is determined using a gravitation model. Finally, they solved the problem by a longest path algorithm in an acyclic graph. Their model resembles the maximum coverage location problem originally presented in [CR74, WC74].
The difference between the continuous stop location problem considered here and most papers published so far is that in the continuous stop location problem we do not choose the stops from a known set of possible candidates, but allow establishing a new stop anywhere along the given railway tracks (or along the given bus routes). The covering information can hence not be given explicitly but must be calculated by some (geometric) formula. The first approaches dealing with a continuous candidate set were given in [HLS+01] and [SHLW02]. They are described in more detail in Section 5.2 and in Chapter 3. The results of [RS04, Sch05c, SS03] are based on these two papers and can be found in Section 3.6, Chapter 9, and Section 5.1. The research of [KPS+03] was also motivated by this research. They deal with a variant of the continuous stop location problem, aiming to cover as much demand as possible with a given number of new stops, see Section 4.1. In [MMW04] the stop location problem has been investigated and solved for the case of two intersecting lines. Solving the stop location problem by data reduction of the underlying covering problem has been studied in [Mec03] and in [MW04].
Let G = (V,E) be a finite, planar graph with straight-line embedding in the plane. In real-world data sets, the nodes of G represent either existing stations or important breakpoints. We identify each edge e ∈ E by a line segment in the plane. Moreover,
Both parameters can be given, for example, in customers per day.
Definition 2.1. Given G = (V,E) define the track system
$$\mathcal{T} = \bigcup_{e \in E} e = {x \in \mathbb{R}^2 : x \in e \text{ for some } e \in E} \subseteq \mathbb{R}^2$$
as the set of points on edges of the planar embedding of G.
Our goal is to establish stops (or stations), which are represented by points in T . The evaluation of a set S ⊆ T is described next.
To calculate the additional travel time induced by some set of stations S ⊆ T we take the number of customers affected by the additional stopping activities and multiply them by the time tstop which is needed for an additional stop. According to Deutsche Bahn, tstop can be assumed to be two minutes, independent of the location of the stop. This is specified in the following notation:
Definition 2.2. Given s ∈ T let
$$g(s) = \begin{cases} s \text{ if } s \in V \ e \text{ if } s \in e, s \not\in V. \end{cases}$$
Furthermore, given a finite set S ⊆ T we define
$$f{\text{time}}(S) = \sum{s \in S} t{\text{stop}} c{g(s)}.$$
For an infinite set S we define ftime(S) = ∞.
Since tstop is a constant, e.g., two minutes in rail transportation, it can be neglected for the optimization process. Furthermore, note that ftime(S) = |S| if all traffic loads cg(s) = 1, i.e., if we assume that each edge is used by exactly one customer. Hence, we will refer to the unweighted problem if we deal with the special case of minimizing the number of stations.
To deal with the accessibility of potential customers, we next assume that D ⊆ IR2 is a finite set of either
representing important points or regions such as settlements, industrial areas, shopping centers, or leisure parks.
Notation 2.3. For D let
$$D{total} = \bigcup{D \in \mathcal{D}} D$$
be the demand set. Note that Dtotal = D if D consists of demand points.
We now introduce the notion of covering with respect to a distance measure γ. We may specify different distance measures for each of the elements of D, i.e., for each of the demand points or regions. As distance measure γD we allow any norm or gauge (see Appendix C); readers who are not familiar with gauges may simply imagine γD as the Euclidean distance. For d ∈ IR2, S ⊆ IR2, let (as usual)
$$\gammad(d, S) = \min{s \in S} \gamma_d(d, s).$$
Notation 2.4. Let d ∈ Dtotal. Then γd denotes the distance measure associated with d.
If D consists of demand regions, and D ∈ D, then we require for all points d1, d2 ∈ D:
$$\gamma_{d1} = \gamma{d_2} = \gamma_D.$$
A demand point is covered, if the distance to its closest station is smaller than or equal to a given radius r, where the used distance need not be the same for all demand points. Formally, this is specified below.
Definition 2.5. Given r > 0, and S ⊆ T .
If it is clear to which set D we refer, we just write cover(S). Furthermore, for s ∈ S we use cover(s) for cover({s}). Note that if γd = γ for all d ∈ Dtotal we obtain
$$\operatorname{cover}{\mathcal{D}}(S) = { d \in \mathbb{R}^2 : \gamma(d, S) \leq r } \cap D{total}.$$
The cover of a point is illustrated in Figure 2.2. The small rectangles in parts (a) and (b) represent the demand points d1,...,d6, while we consider two demand regions D1 and D2 in parts (c) and (d). All elements of D in parts (a) and (c) are assumed to have the Euclidean distance associated with them. In
part (b), γd1 , γd2 , and γd3 equal the rectangular distance, while the remaining elements d ∈ Dtotal again have γd as Euclidean distance. In part (d), we assume γD1 as rectangular distance and γD2 as Euclidean. In parts (a) and (b) the cover consists of the filled small rectangles, in parts (c) and (d) the cover is given by the dashed area.
Fig. 2.2. The cover for demand points (see (a) and (b)) and for demand regions (in (c) and (d)), both for the Euclidean distance (see (a) and (c)) and for mixed rectangular and Euclidean distances (in (b) and (d)).
We further need the following notation. Consider d ∈ Dtotal with associated distance function γd. Let Bd = {x ∈ IR2 : γd(x) ≤ 1} be the unit ball associated with γd, see Appendix C. Using the denotation
$$B_d^r = d + rB_d,$$
we get
$$\gamma_d(d, x) \le r$$ if and only if $x \in B_d^r$ .
Hence, we obtain:
Lemma 2.6. Let d ∈ Dtotal and S ⊆ T . Then d is covered by S if and only if S ∩ Br d = ∅.
We refer to Figure 2.3 for an illustration.
Fig. 2.3. Br d ∩ S = ∅, hence d is covered by S. On the other hand, Br d¯ ∩ S = ∅, hence ¯ d is not covered by S.
We will often use this dual view of the stop location problem, not considering the cover of some points S ⊆ T but starting from one point d ∈ Dtotal. For d ∈ Dtotal we determine the set of points on T which can be used to cover d, i.e., those points where the location of a new stop would attract the demand in d.
Notation 2.7. Let $$d \in D_{total}$$ . Then $\mathcal{T}(d) = {s \in \mathcal{T} : \gamma_d(d, s) \leq r}$ .
T (d) can be calculated by intersecting the unit ball Br d of the gauge γd (with radius r) centered at the demand point d with the set of tracks T , as the following lemma shows. For an illustration, see Figure 2.4.
Fig. 2.4. The set T (d) = Br d ∩ T (the thick part of the tracks).
Lemma 2.8. Let d ∈ Dtotal. Then T (d) = T ∩ Br d.
Proof.
=⇒: Let s ∈ T (d). Per definition s ∈ T and γd(d, s) ≤ r, i.e., γd(s − d) ≤ r. The latter means that
$$s - d \in rB_d$$ , i.e., $s = d + (s - d) \in d + rB_d = B_d^r$ .
⇐=: Now let s ∈ Br d = d + rBd. This yields s − d ∈ rBd, hence γd(d, s) = γd(s − d) ≤ r. Since s also is in T the result follows.
With the notation of T (d) we can reformulate Lemma 2.6 as follows.
Lemma 2.9. Let d ∈ Dtotal and S ⊆ T . Then d is covered by S if and only if S ∩ T (d) = ∅. In particular, d can be covered, if T (d) = ∅.
The second objective function we are interested in gives the number of customers living closer than the distance of r to their nearest station. Denoting wD as the number of (potential) customers located at demand point or demand region D ∈ D, we are now in the position of defining the second objective.
For the case of demand points we investigate
$$f{\text{cover}}(S) = \sum{d \in \text{cover}(S)} w_d.$$
In the case of demand regions, let λ(D) denote the area of a (measurable) set D ⊆ IR2. Assuming that the demand is equally distributed within each set D ⊆ D, we get the number of covered customers by calculating the percentage of D which is covered and multiplying it with the demand wD of the respective set. By summing up these values over all D ∈ D we obtain
$$f{\text{cover}}(S) = \sum{D \in \mathcal{D}} w_D \frac{\lambda(\text{cover}(S) \cap D)}{\lambda(D)}$$
for demand regions.
We distinguish the following two types of problems.
In (SL) the goal is to plan the set of stations from scratch, i.e., we assume that no station has been opened so far, whereas in (SL') a set of already existing stations has to be taken into account and we just add some new stations within the already existing network. For our analysis, both problems are equivalent, such that we can – for the sake of simpler notation – restrict ourselves to the problem of planning the stations from scratch. This means, we assume in the following that the set of already existing stations Sex is empty. The justification for this assumption is given in the next lemma.
Lemma 2.10. (SL) and (SL') are equivalent.
Proof. To transfer a problem instance of (SL) to a problem instance of (SL') define Sex = ∅ and leave everything else as it is, i.e., T = T , D = D, Q cover = Qcover, and Q time = Qtime. For the reduction from (SL') to (SL) let Wcover be the number of customers in D who are already covered by existing stops, i.e., Wcover = fcover(Sex) where cover is meant with respect to D . To obtain an instance of (SL) we set
$$\mathcal{D} = \mathcal{D}' \setminus \operatorname{cover}{\mathcal{D}'}(S^{ex})$$ $$Q{\operatorname{cover}} = Q'{\operatorname{cover}} - W{\operatorname{cover}},$$
and leave the set of tracks T = T and Qtime = Q time as they are.
Throughout this chapter let D ⊆ IR2 be a finite set of points in the plane, i.e., each d ∈ D is a point given by its geographic coordinates d = (d1, d2). These points may represent larger demand regions, a simplification which is used in almost all papers about stop location (except [LMO02]). Note that in Section 5.1 we will extend the methods of this chapter to the case of demand regions.
Our goal in this chapter is to cover all of the given demand points. We refer to this problem as complete stop location problem (CSL). Note that Lemma 2.10 shows that we need not deal with already existing stations as in (SL'), but can plan all stations from scratch in (CSL). The problem we consider here hence is the following.
Given G = (V,E) with its set of points T = e∈E e, traffic loads ce for all e ∈ E, and cv for all v ∈ V , and a finite set of points D with gauges γd for all d ∈ D, find a set S ⊆ T covering all points in D such that the additional travel time
$$f{\text{time}}(S) = \sum{s \in S} c_{g(s)}$$
is minimized.
Recall that g(s) is the edge or the node, respectively, where stop s is located, and cg(s) is the traffic load, i.e., the number of customers passing through the edge, or the node, respectively.
Chapter 3 is structured as follows: In this chapter, we first discuss some general properties of the complete continuous stop location problem, such as feasibility and the NP-hardness of the problem. We then present a finite set of points S on the tracks for which we can show that they always contain an optimal solution. Using this finite dominating set, the continuous stop location problem can be transformed to a discrete set covering problem. Instead of using set covering approaches from the literature, we investigate the structure of the covering matrix. We identify cases in which this matrix has the consecutive ones property. Furthermore, we present decomposition approaches. Finally, we develop efficient solution approaches for the stop location problem in a more general context, namely for set covering problems in which the coefficient matrix (almost) has the consecutive ones property.
Problem (CSL) can be summarized as
$$\min f_{\text{time}}(S)$$
such that $$\operatorname{cover}(S) = \mathcal{D}$$
$S \subseteq \mathcal{T}$
where cover(S) = {d ∈ D : γd(d, s) ≤ r for some s ∈ S} according to Definition 2.5, and γd is the norm or gauge associated with demand point d ∈ D. We first discuss the feasibility of (CSL). Recall that T (d) is the set of all points on T which can be used to cover d, i.e., T (d) = {s ∈ T : γd(d, s) ≤ r}.
Lemma 3.1. Given an instance of (CSL), the following properties hold.
Proof. Part 1 is a direct consequence of Lemma 2.9. For the second part, if (CSL) has a feasible solution, we know that T (d) = ∅ for all d ∈ D. Choosing sd ∈ T (d) for all d ∈ D yields a finite feasible solution
$$S = {s_d : d \in \mathcal{D}} \subseteq \mathcal{T}$$
with $$|S| \leq |\mathcal{D}| < \infty$$ .
Next, we discuss the complexity status of (CSL). It turns out that even the unweighted version of (CSL) is NP-hard in the special case that γd is the Euclidean distance for all d ∈ D.
Theorem 3.2. (CSL) is NP-hard.
Fig. 3.1. A feasible solution for the Euclidean (CSL).
Proof. We show the NP-hardness of the special case of (CSL), in which we do not use weights (i.e., all traffic loads are one) and take the Euclidean distance as distance measure for all given demand points. I.e., the goal in this case is to cover all demand points with a minimal number of stops. Since γd is the Euclidean distance this problem has a nice geometric interpretation: We aim to cover a set of given points in the plane by discs whose center points are restricted to be in T . For an illustration, see Figure 3.1. Formally, we define:
(Euclidean unweighted CSL-decision version) Given a finite set D ⊆ IR2, a set of points T = ∪e∈E e ⊆ IR2 of the embedding of a planar connected graph with edge set E, and a positive integer K ≤ |D|, does there exist a collection of K discs C with radius r and center points in T , such that each d ∈ D lies in at least one of the discs C ∈ C?
The proof is based on a reduction of Geometric Covering by Discs to the above decision version of (CSL). Geometric Covering by Discs has been shown to be NP-complete [Joh82] and can be stated as follows:
(Geometric Covering by Discs) Given a finite set D of points in the plane and positive integers r and K ≤ |D|, can the points of D be covered by at most K discs of radius r?
Now take an instance of Geometric Covering by Discs. To construct an instance of the unweighted (CSL) we
define the set of edges E of a connected planar graph as follows: For each unordered pair of points d1 and d2 from D,
(i) add the line segment from d1 to d2 as an edge and also
(ii) add a sufficiently large piece of the bisector of d1 and d2 to E.
Claim: D can be covered by at most K discs of radius r, if and only if D can be covered by at most K discs of radius r which all have their center points in T .
To see this, assume that D can be covered by some collection C, consisting of at most K discs of radius r. Then, for each disc C ∈ C:
Case 1: If C contains no points of D, then disregard C.
Case 2: If C contains only one point d of D, then replace C by the disc with center point d (d is in T , since all line segments from d to any other point from D are in T ) and radius r.
Case 3: If C contains a set of points A ⊆ D with |A| ≥ 2 (i.e., C contains more than one point of D), then replace C by a disc with center point q and radius r, where q is the center point of the smallest enclosing circle of A.
Since C covers A, the radius of the smallest enclosing circle is smaller than or equal to r, and hence the disc with radius r and center point q also covers A. Note that finding q is a well-known problem of location theory and can be done in linear time [Meg83].
Moreover it is known that q always lies on at least one bisector of points in A, see [EH72], such that q satisfies q ∈ T .
In summary, D can be covered by at most K discs of radius r, all with center points in T , if and only if it can be covered by at most K discs of radius K. This completes the proof.
As a consequence, the unweighted and the weighted optimization versions of (CSL) are NP-hard problems. Nevertheless we will present efficient solution approaches which can be applied for a large class of special cases.
The goal of this section is to reduce (CSL) to a set covering problem by determining a finite dominating set FDS, i.e., a finite set of candidates S⊆T , for which we know that it contains at least one optimal solution S∗, if the problem is feasible. Throughout this section, let us hence assume that (CSL) has a feasible solution, which is established easily by checking if
$$B_d^r \cap \mathcal{T} \neq \emptyset$$ for all $d \in \mathcal{D}$
(see Lemma 3.1). We define
$$\tilde{\mathcal{S}} = { s \in \mathcal{T} : \gamma_d(d, s) = r \text{ for some } d \in \mathcal{D} },$$ (3.1)
Fig. 3.2. The set of candidates along the tracks.
i.e., S˜ is given by the intersection points of D with the boundaries of the balls Br d, which are the unit balls Bd of radius r centered at the demand points d (see Figure 3.2).
To analyze S˜ we consider the situation along each edge e ∈ E separately. For an edge e = {ve 1, ve 2} ∈ E with endpoints ve 1, ve 2 ∈ V , the definition ve 1 ≤e ve 2 naturally induces a (total) order for all points s ∈ e. This means we can talk about intervals as follows.
Consequently, S˜ can be ordered along each edge e ∈ E. Unfortunately, it may happen that |S ∩˜ e| = ∞, i.e., the boundary of some Br d contains a linear piece which coincides with e in infinitely many points, see p2 + rB2 in Figure 3.3. To overcome this problem, we first need the following simple lemma.
Lemma 3.4. Let e ∈ E be an edge and assume that T = e consists only of this edge. Then T (d) is a convex set for all d ∈ D.
Proof. Since T = e we know that T is a convex set in this case. According to Lemma 2.8, T (d) = T ∩ Br d, i.e., T (d) is the intersection of two convex sets and thus is itself convex.
Hence, for all d ∈ D either Br d ∩ e = ∅, or
$$\mathcal{T}(d)\cap e=B^r_d\cap e=[f^e_d,l^e_d]_e \text{ for some points } f^e_d,l^e_d\in e.$$
Fig. 3.3. The set of candidates on one edge e ∈ E. Between s2 and s3 all points are in S˜, but not in Se
We call f e d the first point of T (d) on edge e and l e d the last point of T (d), respectively. In the following, we will show that only these points f e d and l e d of the interval T (d) need to be considered, also in the case of |S ∩˜ e| = ∞. We define
$$\mathcal{S}^e = {v_1^e, v2^e} \cup \begin{cases} \bigcup{d \in \mathcal{D}} {f_d^e, ld^e} & \text{if } \bigcup{d \in \mathcal{D}} {f_d^e, l_d^e} \text{ contains at least one point of the interior of } e \ {\frac{v_1^e + v_2^e}{2}} & \text{otherwise.} \end{cases}$$
Note that instead of ve 1+ve 2 2 any other point in the interior of the edge e may be used. This case makes sure that at least one point of edge e is included in Se covering the (unlikely) case that the whole edge e lies in the interior of at least one Br d, does not intersect any of the other Br d- , and satisfies ce < min{cve 1 , cve 2 }, i.e., has smaller costs than both of its endpoints.
If cve 1 ≤ ce, or cve 2 ≤ ce it may happen that one of the endpoints of e is included in the optimal solution, hence both ve 1 and ve 2 must be in Se.
The result is a finite set of points
$$S^e = {s_0, s1, \dots, s{N_e+1}}$$
for which we assume s0 = ve 1 ≤e s1 ··· ≤e sNe ≤ sNe+1 = ve 2. (The situation is depicted in Figure 3.3.)
Lemma 3.6. Let e be an edge of E, and let s ∈]sj , sj+1[e for some j ∈ {0, 1,...,Ne}. Then
$$\operatorname{cover}(s) \subseteq \operatorname{cover}(sj) \cap \operatorname{cover}(s{j+1}).$$
Proof. Suppose cover(s) ⊆ cover(sj ), i.e., there exists d ∈ D such that γd(d, s) ≤ r and γd(d, sj ) > r. Note that for any gauge γd the distance γd(d, s) from d to s is continuous if we fix d and move s along a line. Hence, the intermediate value theorem yields a point ˜s ∈]sj , s]e with γd(d, s˜) = r. Take ˜s minimal with respect to <e with this property, i.e., ˜s = f e d is the first point of T (d), and hence ˜s ∈ Se. This contradicts the definition of sj and sj+1 as consecutive points in Se.
Now we are able to prove that
$$S = \bigcup_{e \in E} S^e \tag{3.2}$$
is, indeed, a finite dominating set.
Theorem 3.7. Either (CSL) is infeasible, or there exists an optimal solution S∗ ⊆ S.
Proof. Let S∗ ⊆ T be optimal, but S∗ ⊆ S. The goal is to replace each s ∈ S∗ \ S by a point in S without loosing feasibility or optimality. To this end, take some s ∈ S∗ \ S. Note that s ∈ V , i.e., g(s) = e ∈ E, especially let
$$s \in ]sj, s{j+1}[_e \text{ for some } j \in {0, 1, \dots, N_e}.$$
Since S contains at least one point of the interior of e, we can assume without loss of generality that sj ∈ V . For sj , Lemma 3.6 yields that cover(s) ⊆ cover(sj ) such that
$$S' = S^* \setminus {s} \cup {s_j}$$
still covers D. Moreover, since g(s) = g(sj ) = e both points have the same costs ce such that we obtain ftime(S ) ≤ ftime(S∗), which completes the proof.
In the following special cases we do not need to investigate the complete set S:
• The unweighted (CSL) either is infeasible, or there exists an optimal solution
$$S^* \subseteq \bigcup_{d \in \mathcal{D}, e \in E} { f_d^e, l_d^e }$$
if d∈D,e∈E{f e d , le d} = ∅, i.e., neither V nor the points v1+v2 2 are needed as candidates in this case.
• If γd is a strictly convex norm for all d ∈ D (e.g., if all γd are the Euclidean distance), we have that the candidate set S˜ defined in (3.1) on page 24 already is a finite set, i.e.,
$$\tilde{\mathcal{S}} = \bigcup_{d \in \mathcal{D}, e \in E} { f_d^e, l_d^e } \subseteq \mathcal{S}.$$
• Together, in the unweighted Euclidean case (and for any other strictly convex norm), S˜ suffices as finite dominating set, if S˜ = ∅. (Note that even this case is NP-hard.)
Note that by Theorem 3.7 we have transformed (CSL) into a Location Set Covering Problem , introduced originally in [TSRB71, TR73]. In our case, S is the discrete set of possible locations. Hence, (CSL) can be formulated as a set covering problem as follows: For all s ∈ S let xs be a variable with the following meaning:
$$x_s = \left{ \begin{matrix} 1 & \text{if } s \text{ is contained in the optimal solution} \ 0 & \text{otherwise} \end{matrix} \right.$$ .
Notation 3.8. Define Acov = (ads)d∈D,s∈S with elements
$$a_{ds} = \begin{cases} 1 & if \ \gamma_d(d, s) \le r \ 0 & otherwise \end{cases}$$
as the matrix containing the covering information. Acov is called the covering matrix.
Then (CSL) is equivalent to the following set covering problem, where each row of the covering matrix Acov corresponds to a demand point, while the columns represent the possible candidates.
min cx s.t. Acovx ≥ 1|D| x ∈ {0, 1}|S|, (3.3)
where 1 ∈ IR|D| is the vector consisting of a 1 in each component. The cost vector c ∈ IR|S| in (3.3) is given by
$$cs = c{g(s)}$$ for all $s \in \mathcal{S}$ .
As a consequence, to solve (CSL) any approach for set covering can be used. Still, the set covering problem is NP-hard. In the next sections we will develop a more efficient approach by taking advantage of the special structure of the covering matrix Acov. We conclude Section 3.2 by summarizing the meaning of the elements ads of Acov.
Lemma 3.9. Let Acov be the covering matrix of (CSL) as defined in Notation 3.8. Then
$$a_{ds} = 1 \iff \gamma_d(d, s) \le r \iff s \in \mathcal{T}(d) \iff d \in \text{cover}(s).$$
We start by investigating (CSL) along one single edge e ⊆ T and show that in this case, the problem can be solved efficiently. This is due to Lemma 3.4 (see page 25), which has a nice consequence for the structure of the coefficient matrix Acov of the corresponding integer program (3.3), namely the matrix has the consecutive ones property, defined below.
Definition 3.10 (e.g., [GJ79a, NW88]). Let A be a (0, 1)-matrix.
$$a{ik} = 1, a{il} = 1, \text{ and } k \leq l \Longrightarrow a_{ij} = 1 \text{ for all } k \leq j \leq l.$$
Lemma 3.11. Consider (CSL) in the special case that T = e consists of a single edge. Then there exists an order of S such that the resulting covering matrix Acov of (CSL) has the consecutive ones property.
Proof. Each column of Acov represents a candidate s ∈ S. Order the columns of Acov according to the order of the candidates induced by ≤e (see Notation 3.3 on page 25). We show that according to this order, Acov has the consecutive ones property. To this end, take a row of Acov (belonging to a demand point d ∈ D) such that
$$a_{dsk} = 1$$ and $a{ds_l} = 1$ for some $s_k \leq_e s_l$ .
According to Lemma 3.9 this means sk ∈ T (d) and sl ∈ T (d). Since T (d) is convex (see Lemma 3.4) the whole segment [sk, sl] lies in T (d). I.e., all s with sk ≤e s ≤e sl satisfy s ∈ T (d), and hence ads = 1.
In the next section we will develop various approaches for solving set covering problems efficiently in the case that the coefficient matrix has the consecutive ones property. But first we extend Lemma 3.11 to polygonal lines instead of one single edge. We use the following notation.
Note that a subset I of a polygonal line T is an interval of T if and only if I is a connected part of T .
Theorem 3.13. Let T be a polygonal line. If T (d) is an interval of T for all d ∈ D, then there exists an order of S such that the coefficient matrix of (CSL) has the consecutive ones property.
Proof. Let va, vb be the endpoints of the polygonal line T . Since all candidates S are contained in T we can take the order induced by va ≤T vb and order the columns of Acov with respect to ≤T . To show that according to this order, Acov has the consecutive ones property, take a row d of Acov and let
$$a_{dsk} = 1$$ and $a{ds_l} = 1$ for some $sk \leq{\mathcal{T}} s_l$ .
According to Lemma 3.9 this means sk, sl ∈ T (d). Due to the assumptions of the theorem, T (d) is an interval included in T , i.e., there exist two points fd, ld ∈ T , such that
$$\mathcal{T}(d) = { s \in \mathcal{T} : fd \leq{\mathcal{T}} s \leq_{\mathcal{T}} l_d }.$$
But this means that all s with sk ≤T s ≤T sl satisfy s ∈ T (d), and hence ads = 1.
Note that Lemma 3.11 is a special case of Theorem 3.13. Geometrically, the conditions of the theorem are satisfied, if
$$\operatorname{crit}(e_1, e_2) = (\operatorname{cover}(e_1) \cap \operatorname{cover}(e_2)) \setminus \operatorname{cover}(e_1 \cap e_2) = \emptyset$$
for all pairs of edges e1, e2 ∈ E.
Fig. 3.4. An instance of (CSL) on a polygonal line without consecutive ones property.
An example of a polygonal line not satisfying the condition of Theorem 3.13 with a coefficient matrix without consecutive ones property is given in Figure 3.4. In this example, G is a simple path consisting of three nodes. Numbering the candidates in S˜ (which is sufficient in the unweighted Euclidean case, see the third special case on page 28) from left to right, Acov is given by
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 0 & 0 & 1 & 1 \ 1 & 1 & 1 & 1 & 0 & 0 \ 0 & 0 & 1 & 1 & 1 & 1 \end{pmatrix},$$
which cannot be reordered to satisfy the consecutive ones property.
On the other hand, Figure 3.5 shows an example of a polygonal line together with a set of demand points D satisfying the consecutive ones property. The reason why it is advantageous that the covering matrix of a given instance of (CSL) satisfies the consecutive ones property becomes clear in the following result.
Fig. 3.5. An instance of (CSL) on a polygonal line with consecutive ones property.
Theorem 3.14. (CSL) can be solved in polynomial time by linear programming if the conditions of Theorem 3.13 are satisfied. In particular, (CSL) can be solved by linear programming in the special case that T = e is a single edge.
Proof. From Theorem 3.13 we know that the coefficient matrix Acov of the integer programming formulation (3.3) has the consecutive ones property. This means, Acov is a totally unimodular matrix (see, e.g., Corollary 2.10 in Chapter III.1.1 of [NW88]) and hence the IP-relaxation of (3.3) solves the integer program, see Appendix A.
Other efficient procedures for solving set covering problems where the covering matrix has the consecutive ones property are presented in the next section.
The problem we consider in this section is a set covering problem with consecutive ones property, which we will denote by (SCP-c1p). Although we use the notation already introduced for the stop location problem, we remark that the methods presented in this section are applicable to any set covering problem with consecutive ones property. Let us consider
(SCP-c1p)
min cx s.t. Acovx ≥ 1|D| x ∈ {0, 1}|S|,
in which we assume that the covering matrix Acov has the consecutive ones property, and 1|D| ∈ IR|D| is a vector with a 1 in each component.
In the stop location problem, the set of rows D = {1,..., |D|} corresponds to the demand points, while the set of columns S = {1,..., |S|} corresponds to the candidates of the finite dominating set, ordered in such a way that the resulting coefficient matrix has the consecutive ones property. Finally, c = (cs)s∈S is defined by the costs cs = cg(s) of the new stops. In our application we usually have |D| ≤ |S|. However, in the special case of Lemma 3.11 we know that no more than two candidates can arise from one demand point, such that O(|D|)=O(|S|). Similarly, in the case of Theorem 3.13 we obtain O(|S|)=O(|D|) + O(|V |).
As already stated in Theorem 3.14, matrices with consecutive ones property are totally unimodular and (SCP-c1p) can hence be solved by linear programming.
In a more efficient approach we use the fact that the transpose of a matrix with consecutive ones property is an interval matrix, and hence a network matrix. Since there exists an optimal solution satisfying xs ≤ 1 for all s ∈ S, we omit these constraints and obtain the following linear program as the dual of the set covering problem.
$$\max_{s.t. (A^{cov})^T \eta \le c} \frac{1\eta}{\eta \ge 0.}$$
Note that, since Acov is totally unimodular, the optimal solution values of (SCP-c1p) and its dual formulation (Dual-SCP) are equal.
Following the approach of Example 3.2. in Chapter III.1.3 of [NW88], this dual formulation can be reformulated as a network flow problem in an acyclic network. This network is constructed by interpreting the rows of (Acov)T as arcs and the columns as paths. One starts by defining the set of nodes as
$$V_{\text{flow}1} = {0, 1, \dots, |\mathcal{S}|},\,$$
and by constructing an arc (s − 1, s) ∈ Eflow1 for each row s of (Acov)T . Furthermore, each column d of (Acov)T can be interpreted as a path which is composed of the edges (s − 1, s) with ads = 1. For such a path we add one additional arc to Eflow1, namely the one replacing the respective path. These arcs correspond to the dual variables ηd. Since all entries in Acov are positive, the network is acyclic. Defining d0 = c1, ds = cs+1 − cs for s = 1,..., |S| − 1, and d|S| = −c|S| as the demand of the respective node in Vflow1, and setting 0 as the cost of arc (s − 1, s), and 1 as the costs for all other arcs, one finally obtains an equivalent min-cost flow problem in an acyclic digraph with |S|+ 1 nodes, see [NW88] for more details.
In this section, however, we propose a new approach for solving set covering problems with consecutive ones property. This approach transforms the set covering problem into a shortest path problem in a directed acyclic network with |S| + 2 nodes.
Taking the given order of the columns of Acov as fixed, we can talk about s1 < s2 or min S for S ⊆ S, recalling that in the stop location problem this refers to the order ≤T . We need the following notation.
Notation 3.15. Let A be a matrix containing no zero rows. For s ∈ S and d ∈ D define
$$\begin{aligned} \operatorname{cover}(s) &= {d \in \mathcal{D} : a{ds} = 1} \ T(d) &= {s \in \mathcal{S} : a{ds} = 1} \ fd &= \min{s \in \mathcal{S} : a{ds} = 1} \text{ is the first element of } T(d) \ ld &= \max{s \in \mathcal{S} : a{ds} = 1} \text{ is the last element of } T(d). \end{aligned}$$
Then, if Acov has the consecutive ones property, we conclude that for all d ∈ D,
$$T(d) = { s \in \mathcal{S} : f_d \le s \le l_d }.$$
Note that for the stop location problem,
$$T(d) = \mathcal{T}(d) \cap \mathcal{S} = {s \in \mathcal{S} : \gamma_d(d, s) \le r}$$ and $\operatorname{cover}(s) = {d \in \mathcal{D} : \gamma_d(d, s) \le r}$
have been used before, but since we do not want to use any properties of (CSL) in this section we redefined both sets using only the covering matrix Acov.
Without loss of generality let us assume that Acov does not contain any zero column, since such columns do not cover any row and hence will never appear in an optimal solution. Other reduction possibilities which were proposed in [TR73] are listed below in the notation of the stop location problem. Note that these rules can be applied to any set covering problem (SCP), with or without consecutive ones property.
We first show that Acov can be transformed into the following more convenient form.
Definition 3.17. A matrix Acov with consecutive ones property and without zero rows is called monotone if f1 ≤ f2 ···≤ f|D| and l1 ≤ l2 ···≤ l|D| hold simultaneously. Furthermore, if f1 < f2 ··· < f|D| and l1 < l2 ··· < l|D|, Acov is called strictly monotone.
Lemma 3.18. Let Acov, c be the input data of a (feasible) set covering problem (SCP-c1p) with consecutive ones property. Then there exists an equivalent set covering problem with input data Acov mon, c such that Acov mon is a strictly monotone matrix, possibly with fewer rows than Acov.
Proof. The proof works by first sorting the rows of Acov according to fd and then applying the second reduction rule of Lemma 3.16 to eliminate rows until strictly monotonicity is obtained.
This can be performed efficiently as follows:
Input: Matrix Acov with |D| (non-zero) rows and consecutive ones property.
Output: Strictly monotone matrix.
Step 1. Order the rows of Acov such that f1 ≤ f2 ≤ ... ≤ f|D|. Set D = |D|.
Step 2. If f1 < f2 ... < fD set d0 = 1 and goto 4. Otherwise choose d, d such that fd = fd-.
Step 3. (Reduction 1) If ld ≥ lm-: delete row d, otherwise delete row d Let D = D − 1, and rename fi, i = 1,...,D. Goto 2.
Step 4. d = argmin{ld- : d ≥ d0}. If the minimum is not unique, choose the one with the larger row index d.
A special case is the unweighted set covering problem in which all cs = 1. In this case the goal is to cover all rows with a minimal number of columns of Acov. Since all cs = 1 we can not only apply part 2, but also part 3 of Lemma 3.16, reducing the number of columns of Acov. It turns out that a matrix Acov with consecutive ones property can be reduced to a (smaller) unit matrix of an equivalent set covering problem. Using part 4 of Lemma 3.16 this (smaller) set covering problem can then be solved easily. Here, we propose the following approach for solving (SCP-c1p) in the unweighted case.
Input: Matrix Acov with the consecutive ones property.
Output: An optimal solution S∗ of (SCP).
Step 1. If Acov contains no zero row, use Algorithm 2 to transform Acov
into a strictly monotone matrix, set d = 1, S∗ = ∅.
Otherwise stop: Problem infeasible.
Step 2. S∗ = S∗ ∪ {ld}
Step 3. If {d : fd-
> ld} = ∅ choose d = min{d : fd-
> ld} and goto 2,
otherwise stop. Output: S∗
Theorem 3.19. Algorithm 3 finds an optimal solution of the unweighted set covering problem.
Proof. Let S = {s1,...,sp} be the output of Algorithm 3. To each column s in S belongs a row ¯ d such that ld¯ = s (step 2). Let D¯ = { ¯ d1, ¯ d2,..., ¯ dp}. Then ¯ d1 < ¯ d2 < ··· ¯ dp, since for di ≥ di+1 the monotonicity of Acov would imply fdi ≥ fdi+1 which is a contradiction to
$$f{d{i+1}} > l_{di} \ge f{d_i}$$ , see step 3.
Moreover, ¯ d1 = 1 (step 1).
Feasibility: We show that ld¯ j covers all rows d with d¯ j ≤ d ≤ d¯ j+1 − 1: Note that ¯ dj+1 = min{d : fd-> ld¯j }. Hence,
$$d < \bar{d}_{j+1} \Longrightarrow fd \le l{\bar{d}_j}$$ $$d \ge \bar{d}_j \Longrightarrow ld \ge l{\bar{d}_j}.$$
Together, ad ld¯ j = 1, i.e., ld¯j covers d. Optimality: Let S˜ = {s˜1,..., s˜q} (ordered) be any solution of (SCP) with qd1 = 1 must be covered, we know that ˜s1 ≤ l1 = s1. Also, ¯ d2 must be covered, and together with fd¯2 > ld¯1 (step 3) this yields s˜2 ≤ ld¯2 = s2. Iterating this argument, we finally get that ˜sq ≤ ld¯q = sq, but consequently, the rows ¯ dq+1,..., |D| are not covered by S˜, hence any smaller solution is infeasible.
Note that we can also directly apply Algorithms 2 and 3 to the stop location problem on a single edge (or on a polygonal line, if the assumptions of Theorem 3.13 are satisfied and the costs of the new stops are all equal). The idea is to calculate the intervals T (d)=[fd, ld] for all demand points d, order them with respect to their endpoints ld, and then to choose successively the last possible candidate for covering the first uncovered demand point. A reformulation in algorithmic form is given next. In Section 5.1 we will show how to extend this approach to demand regions instead of demand points.
Input: Polygonal line T , satisfying the assumptions of Theorem 3.13,
D, γd for all d ∈ D, and ce = 1 for all edges e ⊆ T , cv = 1 for all
nodes v ∈ T .
Output: An optimal solution S∗ of (CSL).
Step 1. Calculate T (d)=[fd, ld] for all d ∈ D and order D = {d1,...,d|D|}
according to the endpoints ld of T (d) with respect to ≤T . If
T (d) = ∅ stop: Problem infeasible. Otherwise set d = 1, S∗ = ∅.
Step 2.
$$S^* = S^* \cup { \min_{d \in \mathcal{D}} l_d }$$ $$\mathcal{D} = \mathcal{D} \setminus \text{cover}(l_d)$$
Step 3. If {d : fd-> ld} = ∅ goto 2, otherwise stop. Output: S∗
We now come back to the weighted set covering problem (SCP-c1p) with consecutive ones property. Analogously to fd, ld we define
$$\bar{f}s = \min{d \in \mathcal{D} : a{ds} = 1}$$ $$\bar{l}s = \max{d \in \mathcal{D} : a{ds} = 1}.$$
We need the following observations.
$$a_{d_1s} = 1,$$
$a_{d2s} = 0,$
$a{d_3s} = 1.$
This yields dd1 ≤ s ≤ ld1 and dd3 ≤ s ≤ ld3, while for d2 we obtain either fd2 > s or ld2 < s. Both cases contradict the monotonicity of Acov.
For the monotonicity of the interval matrix we take s1 < s2. Assume ¯fs1 > ¯fs2 . Then af ¯ s2 ,s1 = 0, yielding that
$$f{\bar{f}{s2}} > f{\bar{f}_{s_1}},$$
a contradiction to the monotonicity of Acov. The monotonicity of ¯ls is shown analogously.
Given a monotone matrix Acov we are now in the position to define the following directed acyclic graph.
Notation 3.22. The set covering digraph GSC = (VSC , ESC ) is defined by
$$V{SC} = S \cup {s, t}$$ and $E{SC} = {(i, j) : i < j \text{ and } \bar{f}_j \leq \bar{l}_i + 1} \cup {(s, i) : \bar{f}_i = 1} \cup {(i, t) : \bar{l}_i = |\mathcal{D}|}.$
Furthermore, for each edge (i, j) we associate a cost
$$c_{ij} = \begin{cases} c_j & \text{if } j \neq t \ 0 & \text{if } j = t \end{cases}.$$
As an example, consider the matrix
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \ 0 & 1 & 1 & 1 & 0 & 0 \ 0 & 0 & 1 & 1 & 1 & 0 \ 0 & 0 & 0 & 0 & 1 & 1 \end{pmatrix}.$$
The digraph GSC corresponding to Acov hence has eight nodes, and is shown in Figure 3.6.
Fig. 3.6. The digraph GSC for the example.
Since GSC is acyclic, each node set S ⊆ S uniquely defines an s-t-path in GSC by adding the nodes s and t to S. This justifies the notation of the next theorem.
Theorem 3.23. Let S ⊆ S. Then cover(S) = D if and only if S ∪ {s, t} is an s-t-path in GSC .
Proof. Let $$S = {s_1, s_2, \dots, s_p}$$ with $s_1 < s_2 < \dots < s_p$ .
$$\bar{f}_{sj} \ge \bar{f}{s{i+1}} > \bar{l}{si} + 1 \text{ for all } j \ge i+1, \text{ and } \bar{l}{sj} \le \bar{l}{s_i} \text{ for all } j \le i.$$
Together, row ¯lsi + 1 is not covered, a contradiction.
Since the cost of a cover equals the cost of the corresponding path and vice versa, we finally get the following result.
Corollary 3.24. A shortest s-t-path in GSC represents a minimal cost cover and vice versa.
Fig. 3.7. The reduced digraph G SC for the example.
The corollary justifies the correctness of the next algorithm, which can further be improved by using only the reduced edge set
$$E_{SC}' = {(i,j): \bar{l}_i + 1 \in \operatorname{cover}(j)} \cup {(s,i): 1 \in \operatorname{cover}(i)} \cup {(i,t): |\mathcal{D}| \in \operatorname{cover}(i)},$$
since it still contains all non-reducible covers, i.e., all covers S which satisfy that no S˜ ⊂ S also is a cover. For the matrix
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \ 0 & 1 & 1 & 1 & 0 & 0 \ 0 & 0 & 1 & 1 & 1 & 0 \ 0 & 0 & 0 & 0 & 1 & 1 \end{pmatrix}$$
two edges of ESC need not be considered in ESC- . Namely the edge from 3 to 4, since, if column 3 is chosen, row 3 is already covered and hence there is no need of choosing column 4. Analogously, the edge from 5 to 6 is omitted. Further reductions are possible, including the edges from 1 to 2, from 1 to 3, and from 2 to 3. The resulting digraph is depicted in Figure 3.7.
Algorithm 5: Solving the set covering problem with consecutive ones property
Input: Matrix Acov with consecutive ones property, cost vector c.
Output: An optimal solution S∗ of (SCP).
Step 1. If Acov contains no zero row, use Algorithm 2 to transform Acov into
a strictly monotone matrix Acov
mon. Otherwise stop: Problem infeasible.
Step 2. Derive the graph GSC = (VSC, ESC) from Acov
mon.
Step 3. Find a shortest s-t-path S in GSC by a shortest path algorithm.
Summarizing, we described the following two approaches.
Output: S∗ = S \ {s, t}.
The numerical results obtained in the masters thesis of [Con02] indicate that solving set covering problems with consecutive ones property by an application of Algorithms 2 and 5 is much more efficient than solving the corresponding network flow problem. Note that other – very efficient – approaches for set covering problems with consecutive ones property using parametric shortest path techniques have recently been obtained by [HL05].
We now turn our attention again to (CSL) in a general network. Unfortunately, nodes of the given graph G with degree higher than 2 can easily destroy the consecutive ones property, as Figure 3.8 shows. Although in this example T (d) is an interval for all three demand points d1, d2, and d3, the coefficient matrix of (CSL) in this case is
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 0 & 1 \ 1 & 1 & 1 & 0 \ 1 & 0 & 1 & 1 \end{pmatrix},$$
which cannot be reordered to obtain the consecutive ones property. (Note that for the sake of simplicity in this example a very special situation is depicted, in which the unit balls Br d all pass through v0 and through the same intersection points. But also more general instances do not result in a matrix with consecutive ones property.)
Fig. 3.8. An instance of (CSL) without consecutive ones property.
Nevertheless, we now will develop a decomposition result based on the following notation.
Notation 3.25. Given G = (V,E) and D the cover graph Gcover = (Vcover, Ecover) is a bipartite graph with
The cover graph belonging to the example in Figure 3.9 is depicted in Figure 3.10. Note that this graph consists of four components:
$$\begin{array}{lll} \mathcal{D}_1 = {d_1, d_2, d_3, d_4}, & E_1 = {e_1, e_2} \ \mathcal{D}_2 = {d_5, d_6, d_7, d_8, d_9}, & E_2 = {e_3, e_4} \ \mathcal{D}3 = {d{10}, d{11}, d{12}, d{13}, d{14}}, E_3 = {e_5, e_6} \ \mathcal{D}4 = {d{15}}, & E_4 = \emptyset. \end{array}$$
These components can be used to decompose (CSL) as follows.
Notation 3.26. Let Dk ∪ Ek, k = 1,...,K be the node sets of components of Gcover, i.e.,
Fig. 3.9. Example graph to illustrate Notation 3.25 for the Euclidean distance.
Fig. 3.10. The cover graph belonging to the graph in Figure 3.9.
Note that we do not require that the components are connected, but for solving the problem it is preferable to get a large number K of components. From the components of the cover graph we now define the following subproblems.
Notation 3.27. Given Dk∪Ek, k = 1,...,K as components of Gcover, define subproblem (CSL(k)) for all k = 1,...,K by
Theorem 3.28. Consider (CSL) in a graph G with demand points D. Let (CSL(k)) for k = 1,...,K be subproblems defined by components of Gcover as specified in Notation 3.27. Then the following statements hold.
Now let S∗ k be an optimal solution of (CSL(k)). Since Sk is feasible for (CSL(k)) we obtain
$$f_{\text{time}}(Sk^*) \le f{\text{time}}(S_k).$$
On the other hand, ∪k=1,...,KS∗ k is feasible for (CSL), since
$$\operatorname{cover}(\bigcup_{k=1,\dots,K} Sk^*) = \bigcup{k=1,\dots,K} (\operatorname{cover}(Sk^*)) = \bigcup{k=1,\dots,K} \mathcal{D}_k = \mathcal{D}.$$
Thus we obtain
$$\begin{split} f{\text{time}}(\cup{k=1,\dots,K} Sk^*) &\leq \sum{k=1}^K f_{\text{time}}(Sk^*) \ &\leq \sum{k=1}^K f_{\text{time}}(Sk) \ &= f{\text{time}}(\bigcup_{k=1,\dots,K} Sk) \ &= f{\text{time}}(S^*) \quad \text{since the } S_k \text{ are pairwise disjoint.} \end{split}$$
This yields the optimality of k=1,...,K S∗ k.
Decomposing (CSL) at least leads to smaller subproblems. In the case of the following corollary, we even get subproblems with a coefficient matrix with consecutive ones property.
Corollary 3.29. Given G = (V,E) with its set of points T , as well as a set D, suppose that each demand point in D can be covered by exactly one edge e ⊆ T , i.e.,
$$|{e \in E : \gamma_d(d, e) \le r}| = 1 \text{ for all } d \in \mathcal{D}.$$
Then (CSL) can be decomposed into |E| smaller problems (CSL(e)), e ∈ E, each of them containing only edge e ∈ E as set of tracks. I.e., the input data of (CSL(e)) is De = coverD(e) and Te = e. Furthermore, the coefficient matrix of each subproblem has the consecutive ones property, and also the coefficient matrix of (CSL) has.
Proof. Consider d ∈ D. Due to the assumptions of the corollary, there exists exactly one edge e with T (d) ∩ e = ∅, hence there exists exactly one edge incident with d in the cover graph Gcover. This means that no two edges e1, e2 are in the same connected component of Gcover, hence the problem decomposes into |E| independent subproblems according to Theorem 3.28. Furthermore, since each subproblem involves only one single edge, we can apply Lemma 3.11, which implies that the consecutive ones property is satisfied for each coefficient matrix Acov e of subproblem (CSL(e)). Finally, the covering matrix Acov of (CSL) can be written as
$$A^{\text{cov}} = \begin{pmatrix} A_{e1}^{\text{cov}} & & \ & A{e2}^{\text{cov}} & \ & & \cdots \ & & & A{e_{|E|}}^{\text{cov}} \end{pmatrix}$$
and hence also has the consecutive ones property.
We remark that in practice the assumptions of Corollary 3.29 are often "almost" satisfied. The reason for this is that in practice the problem to be considered is not (SL) but originally (SL') (see page 19) referring to the establishment of additional stations, with a usually large set of already given existing stations Sex. In the corresponding data set the existing stations usually coincide with the endpoints of the edges, i.e., Sex ⊆ V and V \ Sex is rather small. Now consider a node v ∈ V with incident edges ei and ej. If there exists a station in v, a large portion of
$$cover(e_i) \cap cover(e_j)$$
is already covered. Hence, a situation as depicted in Figure 3.8 (see page 41) becomes less likely, since all three demand points would have been already covered by an existing station in v0.
For an illustration of the practical applicability, see also the example depicted in Figure 3.11. In this example, the coefficient matrix of the complete problem has the consecutive ones property.
Fig. 3.11. An instance of (CSL) with consecutive ones property, since the lighter demand points are already covered by existing stations.
These theoretical considerations are confirmed by our numerical results (see [RS04, Ruf02]) which show that in the practical data set of Deutsche Bahn (see Section 2.1) the number of rows in which the ones do not appear consecutively is relatively small. For example, if we assume a covering radius of 2 km, there exist 1196 demand points which are not yet covered by an existing station, but which can be covered by some stop in T , i.e.,
$$|(\mathcal{D} \setminus \text{cover}(S^{ex})) \cap \text{cover}(\mathcal{T})| = 1196.$$
This leads to 1196 rows in the matrix Acov, and in only 299 of them the ones do not appear consecutively. This number can further be reduced to 148 by applying a permutation heuristic to obtain a better order of the columns (see [Ruf02]). For a covering radius of only 1 kilometer, i.e., r = 1, the number of rows of Acov only is 757. I.e., there exists 757 demand points which are closer to the tracks than 1 km, but the distance to their closest station is larger than 1 km. After applying the permutation heuristic to this example we are left with only seven rows not having the consecutive ones property. Note that in both examples, we further found out that the maximal number of blocks of consecutive ones was always less than or equal to 3, i.e., even if a row does not have the consecutive ones property, it can be decomposed into at most three parts in which the ones appear consecutively. This observation will be important in the next section, in which we show how problems with "almost" consecutive ones property can be solved.
As pointed out at the end of the previous section, in the practical data of the complete continuous stop location problem the number of rows of Acov in which the ones do not appear consecutively is relatively small. This gives rise to developing a procedure for solving set covering problems in which the covering matrix "almost" has the consecutive ones property. Parts of this section have been obtained in [RS04], see also [Ruf02].
As in Section 3.4 the analysis presented here does not rely on any special property of the stop location problem but can be applied to any set covering problem. Consider
(SCP)
$$\min cx$$ s.t. $A^{\text{cov}} x \ge \mathbf{1}_{|\mathcal{D}|}$
$$x \in {0, 1}^{|\mathcal{S}|},$$ (3.4)
and assume that Acov "almost" has the consecutive ones property, i.e., in many rows of Acov the 1s appear consecutively. Throughout the whole section we also assume that Acov does not contain any zero row, i.e., that (SCP) is feasible. The goal is to find an optimal solution x∗, or equivalently, an optimal set S∗ ⊆ S of columns of Acov, where S∗ = {s ∈ S : x∗ s = 1}. The idea is to decompose the "bad" rows into a set of new rows, all of them satisfying that the ones appear consecutively, and to require that at least one of these rows needs to be covered. More precisely, we define:
Definition 3.30. Let Acov be a 0-1-matrix with |D| rows and |S| columns.
Now consider a matrix Acov with |D| rows, such that in rows 1,..., |D| − p the 1s appear consecutively (i.e., bld = 1 for d = 1,..., |D| − p), and in rows |D| − p + 1,..., |D| we have bld > 1.
Notation 3.31. Let Acov be a 0-1-matrix and let bld be the number of blocks of consecutive ones in row d. For the ith block of consecutive ones in row d let
This means, that
$$a_{dj} = \left{ \begin{matrix} 1 & \text{if there exists } i \in {1,\dots,bld} \text{ such that } f{d,i} \leq j \leq l_{d,i} \ 0 & \text{otherwise.} \end{matrix} \right.$$
Consider a row d with bld > 1. We replace Acov d by bld rows,
$$B{d,1}, B{d,2}, \dots, B_{d,bl_d}$$
each of them containing only one single block, i.e., we define the jth element of row Bd,i as
$$(B_{d,i})j = \begin{cases} 1 & \text{if } f{d,i} \le j \le l_{d,i} \ 0 & \text{otherwise.} \end{cases}$$
The set covering problem
(SCP)
min cx s.t. Acov d x ≥ 1 for d = 1,..., |D| x ∈ {0, 1}|S|
can hence be reformulated as (SCP')
$$\begin{aligned} & \min & cx \ & s.t. & & Ad^{cov} x \geq 1 & \text{for } d = 1, \dots, |\mathcal{D}| - p \ & & B{d,i} x \geq y_{d,i} & \text{for } d = |\mathcal{D}| - p + 1, \dots, |\mathcal{D}|, i = 1, \dots, bld \ & & \sum{i=1}^{bld} y{d,i} \geq 1 & \text{for } d = |\mathcal{D}| - p + 1, \dots, |\mathcal{D}| \ & & y_{d,i} \in {0,1} & \text{for } d = |\mathcal{D}| - p + 1, \dots, |\mathcal{D}|, i = 1, \dots, bl_d \ & & & x \in {0,1}^{|\mathcal{S}|}. \end{aligned}$$
Lemma 3.32. (SCP) and (SCP') are equivalent.
Proof.
(SCP) =⇒ (SCP'): Let x be a feasible solution of (SCP), i.e, Acovx ≥ 1|D|. We directly obtain that Ax ≥ 1|D|−p. Moreover, for each row Acov d , d = |D| − p + 1,..., |D| we also know Acov d x ≥ 1, i.e., there exists (at least) one block i = l(d) of row d such that Bd,ix ≥ 1. Defining
$$y_{d,i} = \begin{cases} 1 & \text{if } i = \mathfrak{l}(d) \ 0 & \text{otherwise} \end{cases}$$
yields Bd,ix ≥ yd,i and bld i=1 yd,i ≥ yd,l(d) = 1, hence (x, y) is feasible for (SCP') with the same objective value.
(SCP') =⇒ (SCP): On the other hand, each feasible solution of (SCP') satisfies Acov d x ≥ 1 for d = 1,..., |D| − p, while for d = |D| − p + 1,..., |D| we know that
$$\sum_{i=1}^{bld} y{d,i} \ge 1$$
and hence there exists (at least) one i = l(d) for each row d with yd,l(d) = 1. From this we conclude
$$B{d,\mathfrak{l}(d)}x \ge y{d,\mathfrak{l}(d)} = 1,$$
i.e., x covers block l = l(d) of row d. This finally yields Acov d x ≥ 1 also for d = |D| − p + 1,..., |D|. Together, Acovx ≥ 1, hence x is feasible for (SCP) with the same objective value.
It is more convenient to rewrite (SCP') in matrix form. To this end, we define
$$C{ij} = \begin{cases} 1 & \text{if } \sum{d=|\mathcal{D}|-p+1}^{|\mathcal{D}|-p+i-1} bld < j \le \sum{d=|\mathcal{D}|-p+1}^{|\mathcal{D}|-p+i} bl_d \ 0 & \text{otherwise.} \end{cases}$$
In the following we will use the next – equivalent – formulation of (SCP'):
(SCP')
$$\begin{array}{ll} \min \ cx \ \mathrm{s.t.} \ Ax & \geq \mathbf{1}{|\mathcal{D}|-p} \ Bx - Iy \geq \mathbf{0}{bl} \ Cy \geq \mathbf{1}_p \ x & \in {0,1}^{|\mathcal{S}|}, \ y \in {0,1}^{bl}. \end{array}$$
The constraint Cy ≥ 1p makes sure that at least one block of each row Acov d with d ≥ |D| − p + 1 is covered.
There are several advantages of this reformulation. The first is that all three matrices A,B, and C have the consecutive ones property. But note that the coefficient matrix of (SCP') does not have the consecutive ones property, and also is not totally unimodular, such that in general non-integer basic solutions exist. How the new formulation can be used to find good bounds and to set up a branch and bound approach is described next. It can also be used to provide an approximation algorithm with an approximation ratio of maxd=1,...,|D| bld as done in [MSW05].
A lower bound on (SCP') is obtained by relaxing all constraints that contain variables yd,i, yielding a problem with a coefficient matrix with consecutive ones property. For the stop location problem this can be interpreted as simply forgetting about the demand points which destroy the consecutive ones property of the matrix, i.e., we do not require to cover them. The corresponding IP is
(SCPl)
min $$cx$$
s.t. $Ax \ge \mathbf{1}_{|\mathcal{D}|-p}$
$x \in {0, 1}^{|\mathcal{S}|}$ .
Lemma 3.33. Each optimal solution of (SCPl) is a lower bound on (SCP).
Proof. Since A only contains a part of the rows of Acov, (SCPl) is a relaxation of (SCP), and the result follows.
Since A has the consecutive ones property, a solution of (SCPl) can be calculated efficiently by one of the approaches discussed in Section 3.4. A better lower bound can be found by considering the dual of the LP-relaxation of (SCP'). Since there exists an optimal solution with xs ≤ 1 for s ∈ S and yd ≤ 1 for d ∈ D, the dual of the LP-relaxation is given by
$$\max \mathbf{1}_{|\mathcal{D}|-p} \etaA + \mathbf{1}{bl} \eta_C$$ s.t. $A^T \eta_A + B^T \eta_B \le c$ (3.5)
$$-\eta_B + C^T \eta_C \le 0 \tag{3.6}$$
$$\eta_A, \eta_B, \eta_C \ge 0. \tag{3.7}$$
A feasible solution of (Dual-SCP') is obtained by solving the following sequence of problems.
$$\max \mathbf{1}\eta_A$$ s.t. $A^T \eta_A \le c$
$$\eta_A \ge 0.$$
Let η∗ A be an optimal solution of (A). 2. Solve problem (B)
$$\max \mathbf{1}\eta_B$$
s.t. $B^T \eta_B \le c - A^T \eta_A^*$
$\eta_B \ge 0$ .
Let η∗ B be an optimal solution of (B).
$$\max \mathbf{1}\eta_C$$ s.t. $C^T \eta_C \le \eta_B^*$
$$\eta_C \ge 0.$$
Let η∗ C be an optimal solution of (C).
The following properties apply.
$$c - A^T \eta_A^* \ge 0$$
and hence ηB = 0 is a feasible solution of (B) for any feasible solution η∗ A of (A). Similarly, since η∗ B ≥ 0 a feasible solution of (C) is given by η∗ C = 0.
$$A^T \eta_A^* + B^T \eta_B^* \le c.$$
Furthermore, η∗ C is feasible for (C), i.e.,
$$-\eta_B^* + C^T \eta_C \le 0,$$
which is constraint (3.6) of (Dual-SCP').
The next lemma shows that this second bound is always better than the first bound we obtained by solving (SCPl).
Lemma 3.35. Let xl be the optimal solution of (SCPl). Then cxl ≤ 1|D|−pη∗ A+ 1blη∗ C , where η∗ A, η∗ B, η∗ C are optimal solutions for (A), (B), (C), respectively.
Proof. Note that the dual of (A) is (SCPl). Hence, from the strong duality theorem, see, e.g., [HK01, NW88] we know that
$$cx^{l} = \mathbf{1}{|D|-p}\eta{A}^{*},$$
hence cxl ≤ 1|D|−pη∗ A + 1blη∗ C .
Moreover, this bound can also be calculated efficiently by using that AT , BT , and CT are interval matrices and solving the corresponding problems (A),(B), and (C) along the lines of Section 3.4.
Fixing all yd,i = 1 in (SCP') also results in a problem in which the coefficient matrix has the consecutive ones property. Moreover, it yields a feasible solution to the original problem. In terms of the stop location problem this strategy requires that each demand point d which can be covered by more than one edge must be covered by stops on all possible edges. The solution found is hence feasible but will in general have too many new stations opened. Formally, this solution is found by solving
(SCPu1)
$$\begin{array}{ll} \min & cx \ \text{s.t. } Ax \geq \mathbf{1}{|\mathcal{D}|-p} \ Bx \geq \mathbf{1}{bl} \ x \in {0,1}^{|\mathcal{S}|}. \end{array}$$
Lemma 3.36. Each feasible solution of (SCPu1) is an upper bound on (SCP').
Proof. Let xu be a feasible solution of (SCPu1), and x∗, y∗ be optimal for (SCP'). Defining y = 1bl yields a feasible solution (xu, y) of (SCP'), hence satisfying cxu ≥ cx∗.
A better upper bound is obtained if we do not require that all rows of B are covered, but select only one of them for each demand point d.
Notation 3.37. Let l(d) : {|D| − p + 1,..., |D|} → IN be a mapping selecting a block i = l(d) for each row d ∈ {|D| − p + 1,..., |D|}. We call the mapping l feasible if
$$1 \le \mathfrak{l}(d) \le bl_d$$
for all d = |D| − p + 1,..., |D|. We also write l ⊆ {|D| − p + 1,..., |D|} × IN to specify l.
We obtain the following result: Each feasible solution of the following program
(SCPu(l))
$$\begin{aligned} & \underset{\text{s.t.}}{\min} & & cx \ & \text{s.t.} & & Ax \geq \mathbf{1}{|\mathcal{D}|-p} \ & & B{d,\mathfrak{I}(d)}x \geq 1 & \text{for all } |\mathcal{D}|-p+1,\ldots,|\mathcal{D}| \ & & & x \in {0,1}^S \end{aligned}$$
gives an upper bound on (SCP'). Moreover, the best bound obtained by solving (SCPu(l)) is better than the best bound obtained by solving (SCPu1).
Lemma 3.38. Let x∗ be the optimal solution of (SCP).
$$cx^* \le cx^{u2} \le cx^{u1}.$$
Proof.
$$y_{d,i} = \begin{cases} 1 & \text{if } i = \mathfrak{l}(d) \ 0 & \text{otherwise} \end{cases}$$
to obtain a feasible solution (x, y) for (SCP') with the same objective value as (SCPu(l)).
In the following we suggest two heuristics for (SCP'). Both work by choosing a good mapping l(d) for the formulation (SCP(l)).
The first one is based on a cost-argument, i.e., for each row we choose the cheapest block that can be used to cover the row. The interpretation for the stop location problem is the following: We require to cover each demand point from that edge e ∈ E of the graph (V,E) with the lowest traffic load ce.
The first heuristic works as follows.
Input: Acov, b, c.
Output: A feasible solution x of (SCP).
Step 1. Obtain matrices A and B of (SCP').
Step 2. For d = |D| − p + 1,..., |D|:
Assign l(d) = i if cj = minj-
:adj-
=1 cj-
and fd,i ≤ j ≤ ld,i.
Step 3. Let x, y be the solution of (SCPu(l)) (e.g., by Algorithm 5). Step 4. Output: x.
In our second heuristic we do not focus on the costs c but choose that block for row d which can be used to cover most (other) demand points, i.e., we choose the block containing the candidate with the largest coverage in the row. The formal description is the following.
Input: Acov, b, c.
Output: A feasible solution x of (SCP).
Step 1. Obtain matrices A and B of (SCP').
Step 2. For d = |D|−p+1,..., |D|: Assign l(d) = l if maxj-
:adj-
=1 |cover(j
)| =
|cover(j)| and fd,i ≤ j ≤ ld,i.
Step 3. Let x, y be the solution of (SCPu(l)), (e.g., by Algorithm 5).
Step 4. Output: x.
Apart from these two simple heuristics we can also construct a feasible solution and an upper bound by combining the lower bound obtained from (SCPl) (or equivalently, by solving the dual program (A)) with the cost-based heuristic (Algorithm 6). To this end, let xl be an optimal solution of (SCPl). Then determine the set of rows which are not covered by xl , i.e., define D = {d : Acov d xl = 0} and choose l(d) according to Algorithm 6 for all d ∈ D. Then solve the reduced set covering problem
$$(Red-SCP(l))$$
$$\begin{array}{ll} \min & cx \ \text{s.t.} \; B_{d,\mathfrak{l}(d)}x \geq 1 \; \text{for all} \; d \in \mathfrak{D} \ x \in {0,1}^{|\mathcal{S}|} \end{array}$$
and let ˜x be an optimal solution. By defining
$$x_s = \max{x_s^l, \tilde{x}_s}$$
we then obtain an upper bound on (SCP').
Lemma 3.39. Let x∗ be an optimal solution of (SCP). Furthermore, let xl be an optimal solution of (SCPl) and x˜ be an optimal solution of (Red-SCP(l)). Then x defined by
$$x_s = \max{x_s^l, \tilde{x}_s}, \ s = 1, \dots, |\mathcal{S}|$$
satisfies cx ≥ cx∗.
Proof. We only have to show that x is feasible for (SCP). Let
$$\mathfrak{D} = {d : A_d^{\text{cov}} x^l = 0}.$$
Then, for all d ∈ D we have that
$$A_d^{\mathrm{cov}} x \geq A_d^{\mathrm{cov}} x^l \geq 1,$$
hence these rows are covered by x. Now take d ∈ D. Then
$$A_d^{\text{cov}} x \ge Ad^{\text{cov}} \tilde{x} \ge B{d,\mathfrak{l}(d)} \tilde{x} \ge 1.$$
Together, Acovx ≥ 1|D| and the result follows.
The above discussion leads to the following algorithm that contains upper and lower bound computation.
Input: Acov, b, c.
Output: Upper bound cxu and lower bound fl on (SCP).
Step 1: Derive the matrices A, B, C of (SCP') and solve (A),(B),
and (C) with optimal solutions η∗
A, η∗
B, η∗
C .
Let xA be the dual solution of (SCPl).
Step 2: Define D = {d : Acov
d xA = 0}.
Step 3: Calculate l(d) for all d ∈ D according to Algorithm 6.
Step 4: Solve (Red-SCP(l)) with respect to D and l.
Let x˜ be the solution.
Step 5: Define for all s = 1,..., |S|: xu
s = max{xA
s , x˜s}.
Step 6: Output: xu and fl = 1|D|−pηA + 1blηC .
For solving (SCP') we propose a branch and bound algorithm. The idea is to consider a row d (for |D| −p<d ≤ |D|) in each layer of the branch and bound tree and iteratively select one of the ydi and set it to one. This means, the corresponding row Bdi can be added to matrix A while all other rows Bdiwith i = i can be deleted from B. Formally, we obtain:
Notation 3.40. Let D ⊆ {|D| − p + 1,..., |D|} be a set of rows with bld > 1 for all d ∈ D. Moreover, let l be a feasible mapping, i.e., l(d) ∈ {1, . . . , bld} for d ∈ D. For a given instance of (SCP') define P(D, l) as an instance of (SCP') in which yd,l(d) = 1 for all d ∈ D.
Using the notation DC = {|D| − p + 1,..., |D|} \ D we get P(D, l)
min $$cx$$ s.t. $$Ax \geq \mathbf{1}_{|\mathcal{D}|-p}$$
$$B_{d,l(d)}x \geq 1 \text{ for all } d \in \mathfrak{D}$$
$$B{d,ix} \geq y{d,i} \text{ for } d \in \mathfrak{D}^C, i = 1, \dots, bl_d$$
$$\sum_{i=1}^{bld} y{d,i} \geq 1 \text{ for } d \in \mathfrak{D}^C$$
$$y_{d,i} \in {0,1} \text{ for } d \in \mathfrak{D}^C, i = 1, \dots, bl_d$$
$$x \in {0,1}^{|\mathcal{S}|}.$$
Lemma 3.41. Let x∗ be an optimal solution of (SCP), and let xD,l , yD,l be an optimal solution of P(D, l). Then
$$cx^* \le cx^{\mathfrak{D},\mathfrak{l}}$$ .
For each fixed D ⊆ {|D| − p + 1,..., |D|} we have
$$cx^* = \min_{\mathfrak{l} \text{ feasible}} cx^{\mathfrak{D},\mathfrak{l}}.$$
Proof.
$$y_{d,i} = \begin{cases} 1 & \text{if } i = \mathfrak{l}(d) \ 0 & \text{otherwise} \end{cases}$$
yields a feasible solution of (SCP') and hence cx∗ ≤ cxD,l
$$cx^{\mathfrak{D},\mathfrak{l}} \leq cx^*$$
From part 1 we already know cx∗ ≤ cxD,l , hence equality is attained. The following observations are the basis for the branch and bound approach.
Thus, by iteratively fixing variables ydi we always obtain subproblems of the same type, and in each iteration the number of rows d with bld = 1 increases (yielding a larger matrix A with consecutive ones property) while the number of "bad" rows d with bld > 1 decreases. Hence, we get closer to the consecutive ones property in each step. Before we formulate the branch and bound procedure we remark that we can reduce the size of (SCP') by applying the following reduction rules.
Proof. The rules are transfered from Lemma 3.16 taking into account that not all rows of the matrix B need to be covered, i.e., we require that rows denoted by d1 in the formulation of Lemma 3.16 are rows of the matrix A.
The branch and bound algorithm can finally be stated as follows.
Input: Acov, b, c, and accuracy .
Output: Feasible solution x of (SCP). such that |cx − cx∗| ≤ , if x∗ is
the optimal objective value. Step 0. Set D = ∅, l = ∅, and S∗ = S.
Derive P by reducing P(D, l) according to Lemma 3.42.
$$f^1,f^{\bf u}=1$$ lower and upper bound, obtained by Algorithm 8, List $={P}$ with lower bound $f^l_P=f^1.$
Step 1.
Step 3. Reduction of P: Check if P can be reduced according to Lemma 3.42. (Only the latest added row d ∈ D needs to be considered as d1)
Step 4. Bounds Use Algorithm 8 to obtain a new lower bound fl P and
a feasible solution xu.
Step 5. Pruning
$$x^* = x_P^u$$
if $cx_P^u < f^u$
$f^u = \min{cx_P^u, f^u}$
List = List \ \ \ \ \ P}.
Goto 1.
$$f^{\mathbf{u}} = cx_P^u$$ $$x^* = x_P^u.$$
Step 6. Choose d ∈ DC and set
$$List = List \cup {P(\mathfrak{D} \cup {d}, \mathfrak{l} \cup (d, i)) : i \in {1, \dots, bl_d}}\$$
Goto 1.
The application of this branch and bound approach on random data yields optimal solutions for 100 × 100 matrices Acov in less than a minute on a standard personal computer, if the number of blocks of consecutive ones is not too high. As expected, the running time increases drastically with the number of blocks. A detailed analysis is presented in the diploma thesis of [Ruf02], see also [RS04].
We also applied Algorithm 9 to the real-world data described in Section 2.1. For a covering radius of r = 2, i.e., if we require that all demand points should be closer than 2 km to their nearest station, we obtained a solution with an optimality gap
$$\frac{f{\text{time}}(x^u) - f{\text{time}}(x^l)}{f_{\text{time}}(x^l)} \le 0.017,$$
i.e., of less than 1.7 % in the first iteration of step 4 in the branch and bound algorithm. This shows that Algorithm 8 behaves very well in this case. The improvement of the starting solution by Algorithm 9, however, was rather slow. For the same problem instance, but with a covering radius of only 1 km, the initial optimality gap was only 0.1 %, such that in this case we can consider the problem as solved by Algorithm 8 only.
There are many useful extensions of the complete continuous stop location problem (CSL). In this chapter we investigate the following bicriteria variant. In a practical setting, one might not want to cover all demand points D but only a given percentage of the population. To this end we assume that for each demand point, we have given a weight wd representing the number of customers who would like to use public transportation, if the next station was closer than r. For a given set of stops S, recall from Section 2.3 that fcover(S) denotes the number of (potential) customers who live closer than r to some stop in S. Certainly, it is preferable to cover as many customers as possible, i.e, to maximize fcover(S). On the other hand, establishing many new stops for trains is costly and increases the travel time for customers, because each stop needs an additional time of, e.g., two minutes.Hence, we also have to take care of the additional travel time ftime which can be computed as the total time used for the additional stopping activities summed over all customers. We are hence dealing with the following bicriteria variant of (SL).
Given G = (V,E) with its set of points on edges T = e∈E e and with traffic loads ce for all e ∈ E, and cv for all v ∈ V , as well as a finite set of points D with weights wd and gauges γd for all d ∈ D, find a set S ⊆ T such that both
$$f{\text{time}}(S) = \sum{s \in S} c{g(s)}, \text{ and}$$ $$-f{\text{cover}}(S) = -\sum_{d \in \text{cover}(S)} w_d$$
are minimized.
We remark that for a subset S ⊆ T the function fcover(S) was already used in Section 2.3. Also note that parts of Sections 4.1, 4.2, and of Section 4.3 have recently been published in [Sch05c].
Chapter 4 is structured as follows: We first present the bicriteria problem and its two e-constraint versions and point out their relation to efficient solutions. We then prove that the finite candidate set developed for (CSL) can also be used for the bicriteria problem. Since this leads to bicriteria set covering problems, we analyze such problems for the special case that the covering matrix has the consecutive ones property and prove their equivalence to bicriteria shortest path problems. Finally we present an alternative finite dominating set which can be used independent of the given radius r.
What we mean by "minimizing both" objective functions is to find Pareto solutions of the problem with respect to ftime and fcover. Recall from Appendix B that if S1, S2 ⊆ T denote two feasible sets of stops, S1 dominates S2 if
$$f_{\text{time}}(S1) \leq f{\text{time}}(S2)$$ and $f{\text{cover}}(S1) \geq f{\text{cover}}(S_2)$ ,
where at least one of these inequalities is strict. Then a Pareto solution S∗ is a feasible set of stops which is not dominated by any other feasible set of stops (see Appendix B). The points ftime(S∗) fcover(S∗) for Pareto solutions S∗ in the objective space are called efficient points.
To find Pareto solutions a common idea is to minimize only one of the two objective functions and to bound the other objective in the constraint set. Since this can be done for both objective functions, we obtain the following two one-criteria problems, which are called e-constraint problems in the literature.
Due to Haimes and Chankong HC83 we have the following result, providing the connection between Pareto solutions and the optimal solutions of the e-constraint problems.
Using Lemma 4.1 to find Pareto solutions is known as the e-constraint method, see, e.g., [Ehr00]. Unfortunately, both e-constraint problems are hard to solve.
Corollary 4.2. (BSL) and the two e-constraint problems (BSL-time) and (BSL-cover) are NP-hard, even if all weights ce, cv, wd are equal to 1.
Proof. We already know that (CSL) is NP-hard under the conditions of the corollary, see Theorem 3.2. The decision version of both e-constraint problems (BSL-time) and (BSL-cover) is the following:
Given D, G = (V,E) with its set of points T , weights ce, cv, wd, gauges γd, and Qtime, Qcover ∈ IR, does there exist a set S∗ ⊆ T such that ftime(S∗) ≤ Qtime and fcover(S∗) ≥ Qcover?
Defining Qcover = d∈D wd shows that the decision version of (CSL) is a special case of the decision version of both (BSL-time) and (BSL-cover) and thus both e-constraint problems are NP-hard.
We now discuss the two lexicographic optimal solutions, for which we know that they are Pareto solutions (see Appendix B).
• Maximizing fcover as first objective means that we have to cover all demand points, that can be covered, i.e., all demand points d with T (d) = ∅. This yields exactly (CSL) of the previous chapter, if we define
$$\mathcal{D}' = \mathcal{D} \cap \operatorname{cover}(\mathcal{T})$$
as the set of demand points to cover. In Chapter 3 we have shown that this problem is NP-hard.
• On the other hand, minimizing ftime leads to a trivial problem since it can be solved easily by not installing any stop at all. To find a lexicographic minimal solution S ⊆ T we first determine the set of edges and nodes with zero costs, i.e.,
$$E^{0} = {e \in E : c{e} = 0}$$ $$V^{0} = {v \in V : c{v} = 0}.$$
If both sets are empty, S = ∅ is the unique lexicographic minimal solution. In the case that we can locate stops with zero costs, we further determine
$$\mathcal{D}' = \operatorname{cover}(E^0) \cup \operatorname{cover}(V^0)$$
as the set of all demand points that can be covered with zero costs. Finally, we cover all demand points in D as follows: For all d ∈ cover(E0) we select e ∈ E0 such that d ∈ cover(e) and choose
$$s(d) \in \operatorname{argmin}_{s \in e} \gamma_d(d, s).$$
Then V 0 ∪ {s(d) : d ∈ D} covers D with zero costs and hence is a lexicographic minimal solution. In other words, we install a stop in each node of V 0 and in all the projection points of demand points on a 0-cost edge.
We mention that the unweighted version of (BSL-cover), i.e., to locate at most K = Qtime stops in such a way that fcover is maximized, was investigated in [KPS+03] for the case of one single straight-line track and for the case of two parallel straight-line tracks. For both cases, polynomial time algorithms using dynamic programming were developed with a time complexity of O(K|D|2) for the single track case. Moreover, it is shown that along one straight line track, the unweighted version (BSL-cover) is equivalent to a one-dimensional uncapacitated and unimodular K-facility location problem. As observed by [Tam02] the problem can hence be solved in O(K|D|log(D)) time.
We now use the methodology developed in Chapter 3 and again derive a finite dominating set. Recall the definition of the finite dominating set S for (CSL) given in Notation 3.5 and in (3.2) on page 27 in Section 3.2, i.e.,
$$\mathcal{S}^e = {v_1^e, v2^e} \cup \begin{cases} \bigcup{d \in \mathcal{D}} {f_d^e, ld^e} & \text{if } \bigcup{d \in \mathcal{D}} {f_d^e, l_d^e} \text{ contains at least one point of the interior of } e \ {\frac{v_1^e + v_2^e}{2}} & \text{otherwise.} \end{cases}$$
where ve 1, ve 2 are the endpoints of edge e and f e d , le d are the endpoints of the interval T (d) ∩ e. Fortunately, the following theorem shows that
$$S = \bigcup_{e \in E} S^e$$
is also a finite dominating set for the bicriteria stop location problem.
Theorem 4.3. S is a finite dominating set for (BSL-time), (BSL-cover), and for (BSL). More precisely,
Proof. Given some optimal (or Pareto) set S∗, we use exactly the proof of Theorem 3.7 and construct a set S ⊆ S by moving stops of the given set S∗ into points of S without changing the objective function values. For S we hence obtain
$$f{\text{cover}}(S^*) \le f{\text{cover}}(S')$$ and $f{\text{time}}(S^*) \ge f{\text{time}}(S')$ ,
i.e., S is at least as good as S∗ with respect to both criteria, which proves the result.
Using Theorem 4.3, (BSL) and its two e-constraint problems can be formulated as integer programs. To keep track of the population covered by the new stops, we have to know which demand points are covered and which not. In addition to the variables xs defined for (CSL), we therefore define another set of binary variables
$$y_d = \begin{cases} 1 & \text{if demand point } d \text{ is covered} \ 0 & \text{otherwise.} \end{cases}$$
and let w = (w1, w2,...,w|D|).
The IP model of (BSL) can be formulated as
$$\min \begin{pmatrix} cx \ -wy \end{pmatrix}$$
$$s.t. \quad A^{cov}x \ge y$$
$$x \in {0, 1}^{|\mathcal{S}|}$$
$$y \in {0, 1}^{|\mathcal{D}|}.$$
The IP model for (BSL-time) is
$$\begin{aligned} & \min \quad cx \ & \text{s.t. } A^{\text{cov}} x - y \geq 0 \ & \quad wy \geq Q_{\text{cover}} \ & \quad x \in {0, 1}^{|\mathcal{S}|} \ & \quad y \in {0, 1}^{|\mathcal{D}|}, \end{aligned}$$
and (BSL-cover) is given by
$$\max y \ \text{s.t. } A^{\text{cov}} x - y \ge 0 \ cx \le Q_{\text{time}} \ x \in {0, 1}^{|S|} \ y \in {0, 1}^{|\mathcal{D}|}.$$
$$(4.2)$$
In Lemma 3.11 and Theorem 3.13 we pointed out that Acov has the consecutive ones property in the case that the set of tracks T consists only of a single edge, and under some (weak) assumptions also if T is a polygonal line. We now discuss variants of (BSL-time) and (BSL-cover), in which
Consider the example depicted in Figure 4.1 and note that the coefficient matrix in this example is
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 1 \ 0 & 1 & 1 \end{pmatrix},$$
which has the consecutive ones property.
Fig. 4.1. The coefficient matrix of (BSL-time) is not totally unimodular.
(BSL-time): Although Acov has the consecutive ones property that does not yield a totally unimodular coefficient matrix for (BSL-time). Namely, the coefficient matrix of (BSL-time) is in this example given as
$$\begin{pmatrix} 1 & 1 & 1 & -1 & 0 \ 0 & 1 & 1 & 0 & -1 \ 0 & 0 & 0 & 1 & 1 \end{pmatrix},$$
which is not totally unimodular.
(BSL-cover): On the other hand, using the same example for (BSL-cover) the coefficient matrix is given by
$$\left(\begin{array}{cccc} 1 & 1 & 1 - 1 & 0 \ 0 & 1 & 1 & 0 - 1 \ -1 & -1 & -1 & 0 & 0 \end{array}\right),$$
which is a totally unimodular matrix.
To get rid of the coupling constraint wy ≥ Qcover in (BSL-time) one can consider the Lagrange-relaxation with respect to this constraint.
$$\min{\mathbf{c}} cx + \lambda (Q{\text{cover}} - wy) \text{s.t.} \qquad A^{\text{cov}} x - y \ge 0 \qquad x \in {0, 1}^{|\mathcal{S}|} \qquad y \in {0, 1}^{|\mathcal{D}|},$$
$$(4.3)$$
where λ > 0.
Lemma 4.4. Let Acov have the consecutive ones property and assume that wd = 1 for all d ∈ D, and cs = 1 for all s ∈ S. Then the following hold.
Proof. Since Acov is totally unimodular the matrix Acov −I also is totally unimodular (see Appendix A, or [NW88]). Since this is the coefficient matrix of (4.3), and since the objective function of (4.3) is linear for fixed λ > 0, this shows the first part of the lemma.
For part 2, we note that Acov 1 1 ... 1 has the consecutive ones property
and hence is totally unimodular. Thus, also Acov −1 − 1 ... − 1 is totally unimodular and hence also the coefficient matrix
$$\begin{pmatrix} A^{\text{cov}} & -I \ -1 & -1 & \dots & -1 & 0 & 0 & \dots & 0 \end{pmatrix}$$
of (4.2) satisfies this property.
Note that the lower bound we obtain by solving the Lagrangian dual of (BSLtime) is the same as the lower bound obtained by solving the LP-relaxation of (BSL-time), since Lemma 4.4 shows that all extreme points of the feasible set of (4.3) are integral, see [Wol98]. Further note that for wd = 1 the structure of (BSL-time) resembles the problem (SCP') discussed in Section 3.6, see page 48, such that the solution approaches for (SCP') can be adapted to (BSL-time).
Again, we turn our attention to set covering problems as we already did in Sections 3.4 and 3.6. As before, we do not use any assumptions of the stop location problem, but deal with the bicriteria set covering problem (and its e-constraint versions) if the coefficient matrix Acov satisfies the consecutive ones property. Let, as before,
$$S = {1, 2, \dots, |S|}$$ and $D = {1, 2, \dots, |D|}.$
The problem we consider is given as
(BSC)
$$\min \begin{pmatrix} cx \ -wy \end{pmatrix}$$
$$s.t. \quad A^{cov}x \ge y$$
$$x \in {0, 1}^{|\mathcal{S}|}$$
$$y \in {0, 1}^{|\mathcal{D}|},$$
where Acov has the consecutive ones property. For S ⊆ S we define
$$x(S)_s = \begin{cases} 1 & \text{if } s \in S \ 0 & \text{otherwise} \end{cases}$$
$$y(S)_d = \begin{cases} 1 & \text{if } d \in \text{cover}(S) \ 0 & \text{otherwise} \end{cases}$$
$$f_{\text{time}}(S) = cx(S)$$
$$f_{\text{cover}}(S) = wy(S).$$
Since we do not need to cover all rows of Acov in (BSC), we now have to deal with the objective function fcover. To this end, we first investigate cover(S).
Lemma 4.5. Let S = {s1,...,sp}⊆S with s1 < ··· < sp. Then for all i = 1,...,p − 1 we have
$$\operatorname{cover}(s_{i+1}) \setminus \operatorname{cover}{s_1, \dots, si} = \operatorname{cover}(s{i+1}) \setminus \operatorname{cover}(s_i).$$
Proof. Since "⊆" is trivial, we only need to verify "⊇". To this end, let
$$d \in \operatorname{cover}(s_{i+1}) \setminus \operatorname{cover}(s_i)$$ .
We show that d ∈ cover(sj ) for all j ≤ i. Assume to the contrary that d ∈ cover(sj ) and d ∈ cover(si+1). This means that adsj = adsi+1 = 1, and, since Acov has the consecutive ones property also adsi = 1, a contradiction to d ∈ cover(si).
Lemma 4.5 motivates a dynamic programming approach, which we will develop in the following. To this end we define an acyclic digraph GBSC . Note that we cannot utilize the digraph GSC (see Notation 3.22 on page 37) for solving (BSC), since we now have to allow solutions which do not cover all rows. This implies that we have to include all edges (i, j), if i<j, in the edge set of GBSC .
Notation 4.6. The bicriteria set covering digraph GBSC = (VSC , EBSC ) is defined by
VBSC = S∪{s, t}, and EBSC = {(i, j) : i, j ∈ S and i<j}∪{(s, j) : j ∈ S} ∪ {(i, t) : i ∈ S} ∪ {(s, t)}.
For each edge (i, j) ∈ EBSC we furthermore define costs and weights
$$c_{ij} = \begin{cases} c_j & \text{if } j \neq t \ 0 & \text{if } j = t \end{cases}$$
$$w{ij} = \begin{cases} \sum{d \in \text{cover}(j) \setminus \text{cover}(i)} wd & \text{if } i \neq s, j \neq t \ \sum{d \in \text{cover}(j)} w_d & \text{if } i = s, j \neq t \ 0 & \text{if } j = t. \end{cases}$$
Moreover, for an s-t-path S in GBSC let C(S) denote its length according to cij and W(S) denote its length according to wij .
As in GSC (see Corollary 3.24 on page 39) any S ⊆ S uniquely defines an s-t-path in GBSC by adding the nodes s and t to S. Moreover,
$$C(S \cup {s, t}) = f_{\text{time}}(S).$$
In the next result we state that the same holds for the objective function fcover. Note that for proving this observation we need that the coefficient matrix Acov has the consecutive ones property.
Theorem 4.7. Let S ⊆ S. Then W(S ∪ {s, t}) = fcover(S).
Proof. We use induction on p = |S|. For p = 1 the claim is true due to the definition of wsj = fcover({j}) and wjt = 0. Now assume that
$$W(S' \cup {s, t}) = f_{cover}(S')$$
for all S with |S | ≤ p. Take some S = {s1, s2,...,sp, sp+1} and assume that s1 < s2 < ··· < sp+1. Define S = {s1, s2,...,sp}. Then we get
$$f{\text{cover}}(S) = \sum{d \in \text{cover}(S)} w_d$$
$$= \sum_{d \in \text{cover}(S')} wd + \sum{d \in \text{cover}(s_{p+1}) \setminus \text{cover}(S')} w_d$$
$$= W(S' \cup {s, t}) + \sum{d \in \text{cover}(s{p+1}) \setminus \text{cover}(s_p)} w_d$$
$$= W(S \cup {s, t}),$$
$$(4.4)$$
where (4.4) holds due to Lemma 4.5.
As an example, consider again the matrix
$$A^{\text{cov}} = \begin{pmatrix} 1 & 1 & 1 & 0 & 0 & 0 \ 0 & 1 & 1 & 1 & 0 & 0 \ 0 & 0 & 1 & 1 & 1 & 0 \ 0 & 0 & 0 & 0 & 1 & 1 \end{pmatrix}$$
and let
$$c_1 = 3 \quad w_1 = 3$$
$$c_2 = 1 \quad w_2 = 2$$
$$c_3 = 2 \quad w_3 = 3$$
$$c_4 = 1 \quad w_4 = 1$$
$$c_5 = 3$$
$$c_6 = 2$$
Let us investigate the path P = {s, 2, 3, 4, t} depicted in Figure 4.2. First, we determine
$$\begin{array}{lll} c{s2} = 1 & w{s2} = 5 \ c{23} = 2 & w{23} = 3 & \text{since cover}(3) \setminus \text{cover}(2) = {3} \ c{34} = 1 & w{34} = 0 & \text{since cover}(4) \setminus \text{cover}(3) = \emptyset \ c{4t} = 0 & w{4t} = 0. \end{array}$$
This yields C(P) = 1 + 2 + 1 = 4 and W(P) = 5 + 3 = 8. On the other hand, for the corresponding set S = P \ {s, t} = {2, 3, 4} we obtain
$$\begin{split} f{\text{time}}(S) &= 1+2+1=4\ \text{cover}(S) &= {1,2,3}, \text{ and hence}\ f{\text{cover}}(S) &= 3+2+3=8, \end{split}$$
such that W(P) = fcover(S) and C(P) = ftime(S) holds.
Fig. 4.2. The path S in the digraph GBSC for the example.
Corollary 4.8. Let S ⊆ S. Then S is a Pareto solution of (BSC) if and only if S ∪ {s, t} is a path in GBSC which is Pareto minimal with respect to the two length functions C and W.
This means that finding all efficient solutions of (BSC) reduces to finding all efficient paths in the acyclic network GBSC . Note further that using negative weights −w(e) does not affect the solution procedures or the complexity of the problem, since no directed cycles exist. Finding efficient paths in the presence of more than one objective function belongs to the most widely studied multiobjective combinatorial optimization problems. We refer to the surveys given in Section 6.1. of [EG02] and in [Skr00], where the latter deals in particular with bicriteria shortest path problems. Available algorithms are based on dynamic programming (as presented in [Hen85]), or on label setting methods (see [Han79] for an early contribution). Label correcting methods for bicriteria shortest path problems were presented, e.g., in [MMO91, SA00]. An algorithm based on a ranking of paths was proposed by [CM82].
Finally, we turn our attention to the special case in which cs = 1 for all s ∈ S. In this case, ftime(S) = |S| is equal to the number of edges of the path S ∪ {s, t}, reduced by 1. Letting Qtime = K ∈ IN, the cost-constraint version of (BSC) is given as
(BSC-cover(K))
$$\max_{\text{s.t. } A^{\text{cov}} x - y \ge 0$$
$$cx \le K$$
$$x \in {0, 1}^{|S|}$$
$$y \in {0, 1}^{|\mathcal{D}|}.$$
$$(4.5)$$
This problem can be solved by finding a longest path with no more than K + 1 edges, i.e., by solving a cardinality constraint shortest path problem in an acyclic digraph. This can be done by the Algorithm of Bellman–Ford (see, [Bel58, FF62]), which needs O(K|S|2 ) time in the worst case to find a longest path with no more than K edges from one specified starting node to all other nodes in the graph. To find all efficient solutions we again use the result of [HC83].
Lemma 4.9. Let K∗ be the solution of (SCP), i.e., the minimal number of columns needed to cover all rows of Acov, and let K ≤ K∗. Then, S is an optimal solution of (BSC-cover(K)) if and only if S is a Pareto solution.
Proof. If S is the unique solution of (BSC-cover(K)) the result follows directly from HC83. Now assume that S1 = S2 but both are optimal solutions of (BSC-cover(K)). Then fcover(S1) = fcover(S2), ftime(S1) ≤ K, and ftime(S2) ≤ K. We want to show that
$$f_{\text{time}}(S1) = f{\text{time}}(S_2),$$
since in this case both solutions lead to the same efficient point and no solution dominating S1 and S2 in both criteria exists.
Assume to the contrary that |S1| = ftime(S1) < ftime(S2) = |S2|. In particular, |S1| < |S2| ≤ K ≤ K∗, i.e., D \cover(S1) = ∅. But this means that there exists a column s ∈S\ S1 such that adding s to S1 would increase fcover, i.e.,
$$f_{\text{cover}}(S1 \cup {s}) > f{\text{cover}}(S1) = f{\text{cover}}(S_2)$$
and ftime(S1 ∪ {s}) ≤ K, which is a contradiction to the optimality of S1 and S2 for (BSC-cover(K)).
In the following algorithm we make use of this result. If the assumptions of Theorem 3.13 are satisfied we determine all efficient solutions of (BSC) by solving a sequence of cardinality constraint longest path problems using the algorithm of Bellman–Ford. Since one run of the algorithm for K∗ determines also all solutions with cardinality constraints given by smaller K, i.e., for all K ∈ {0, 1,...,K∗} the overall complexity of the following algorithm equals the complexity of the algorithm of Bellmann–Ford for one single source node s, i.e., we obtain a complexity of O(|S|3 ) for the determination of all efficient points of (BSC). For our special case of the stop location problem recall further that for each demand point d we have at most two candidates in the finite dominating set S such that the complexity of finding all efficient solutions in the case of a matrix Acov with consecutive ones property, traffic loads ce = cv = 1 and arbitrary weights wd is bounded by O(|D|3 ).
Algorithm 10: Finding all efficient points for (BSC) with consecutive ones property and cs = 1
Input: w, Acov with consecutive ones property, cs = 1 for all s ∈ S. Output: All efficient points for (BSC), and a Pareto solution for each of them.
Step 1. Use Algorithm 2 to transform Acov into a strictly monotone matrix. Step 2. Solve the unweighted set covering problem by Algorithm 3, let K∗ be the cardinality of the optimal solution.
Step 3. Construct GBSC .
Step 4. Use the algorithm of Bellmann-Ford to find all longest paths w.r.t. the weights w from s to t with K = 1, 2,...K∗ edges. Let hK denote the length of a longest s-t-path P K with at most K edges.
Step 5. Output: Eff = {(hK, K) : K = 1,...,K∗} with corresponding Pareto solutions P K, K = 1,...,K∗.
The finite dominating set S depends on the given covering radius r. If more than one value for r should be considered it would be advantageous to have a finite dominating set which is not dependent on the specific value of r. Such a set will be derived in this section, for the special case that cv ≤ ce for all v ∈ V and for all edges e ∈ E incident with v.
Using the same denotation as on page 26 we define
$$\mathcal{S}^* = {s \in \mathcal{T}: \text{ there exist } d_1, d_2 \in \mathcal{D}, d_1 \neq d2 \text{ such that } \gamma{d_1}(d1, s) = \gamma{d_2}(d_2, s)}$$
$$\cup \bigcup{d \in \mathcal{D}, e \in E} \operatorname{argmin}{s \in e} \gammad(d, s) \cup \bigcup{e \in E} \left{ \frac{v_1^e + v_2^e}{2} \right} \cup V,$$
where ve 1, ve 2 are the two endpoints of the edge e ∈ E. The first set of candidates can be determined by intersecting the bisector between each pair of demand points with T , the second set describes the projection points from all demand points onto all edges, and the third set makes sure that V and one point of the interior of each edge is included in S∗.
Theorem 4.10. S∗ is a dominating set for (BSL), (BSL-time), and (BSLcover) for any given radius r > 0, if cv ≤ ce for all v ∈ V , e ∈ E if e is incident with v.
Proof. Take r > 0 arbitrary, but fixed. Using Theorems 3.7 and 4.3 we can assume that either the problems are infeasible, or there exists an optimal solution S∗ ⊆ S, where S is the specific candidate set with respect to r as defined in (3.2) on page 27. Take s ∈ S∗ with s ∈ S∗. Hence, s ∈ V and s = ve 1+ve 2 2 for any of the edges e ∈ E. Consequently, s lies in the interior of some edge e, and there exists exactly one d ∈ D such that
$$\gamma_d(d, s) = r$$
and
$$\operatorname{argmin}_{s' \in e} \gamma_d(d, s') \neq s,$$
otherwise, s ∈ S∗. Move s along e within Br d (i.e., get closer to d) to a new point, until one of the following conditions is satisfied for the first time.
$$\gamma{d'}(d', s') = r$$
and $\gamma{d}(d, s') \le r$
$\gamma{d'}(d', s) \le r$ and $\gamma{d}(d, s) = r$ ,
meaning that the continuous function h : e → IR defined by h(x) = γd- (d , x) − γd(d, x) satisfies h(s ) ≥ 0 and h(s) ≤ 0 such that the intermediate value theorem yields the existence of a point s∗ between s and s with h(s∗) = 0, i.e., s∗ ∈ S∗.
Due to the construction, in both cases we have found a point s∗ ∈ S∗ such that
$$\operatorname{cover}(s) \subseteq \operatorname{cover}(s^)$$ , and $c{g(s)} \ge c{g(s^)}$ ,
the latter holding since either g(s) = g(s∗) = e, or g(s) = e and g(s∗) = v with v and e incident to each other, and hence satisfying cg(s) = ce ≥ cv = cg(s∗). Finally we get that S = S∗ \ {s}∪{s∗} satisfies
$$f{\text{cover}}(S^*) \le f{\text{cover}}(S')$$
$f{\text{time}}(S^*) \ge f{\text{time}}(S').$
Since the above argument can be repeated for all s ∈ S∗ \ S∗ this completes the proof.
We remark that, dependent on the structure of the bisectors, S∗ needs not be a finite set (for a detailed discussion on determining bisectors for gauge distance functions, see [Wei99]), but can be made finite along the lines of Chapter 3.2. We further point out that the size of S∗ is O(|D|2 + |D||E|), which is much larger than the size of S, which is of order O(|D|). Nevertheless, S∗ also is a finite candidate set for problem (CSL) discussed in Chapter 3.
While the assumption of Theorem 4.10 is in practice usually satisfied for all nodes with degree at most 2, it may happen that it does not hold for nodes with more than two incident edges. Unfortunately, the next result implies that no finite dominating set is possible without this assumption.
Fig. 4.3. No finite dominating set is possible independent of r.
Lemma 4.11. Without the assumptions of Theorem 4.10 no finite dominating set which can be used for any value of r exists for (BSL), (BSL-time), and for (BSL-cover).
Proof. Consider a star-shaped graph with four nodes and three edges, all edges incident with node v0 (see Figure 4.3). Let one demand point d be given, such that argmins∈e1 γd(d, s) = v0, and consider, e.g., the Euclidean distance l2. Let ce1 = 2, ce2 = ce3 = 100, and wv0 = 102 be (realistic) traffic loads. Now take any finite candidate set Sf , and let s be the candidate of e1 which is closest to v0. Note that l2(d, v0) < l2(d, s). Moreover, let r be such that
$$l_2(d, v_0) < r < l_2(d, s).$$
Then the optimal solution
is a point on e1 between v0 and s, which is not contained in the finite candidate set Sf . Furthermore, such a point dominates any solution S ⊆ Sf , hence Sf cannot be used to derive all efficient points of (BSL).
The extensions we are going to discuss in this chapter have been brought up by our practical studies. First, we relax the requirement that D consists of points and allow demand regions D instead. This idea is motivated by the accurate data we have for the demand regions in the stop location problem, given as polygons (representing the settlements). The problem of minimizing the additional travel time caused by the new stops, while covering all demand regions, is denoted by (CSL-region), while (BSL-region) refers to the bicriteria variant corresponding to (BSL), if we consider demand regions instead of demand points.
Secondly, we consider alternative objective functions. Instead of looking at the bicriteria variant, we can also sum up the positive and the negative effects of new stops, where we have to measure both effects using the same scale, e.g., minutes of travel time. A new stop decreases the access time for customers living close to it, but increases the travel time for customers just traveling through this new stop. Summing up we get an approximation of the change in door-to-door travel time over all customers.
Chapter 5 is structured as follows: We first reformulate the stop location problem in the case of demand regions instead of demand points. If a finite candidate set is given, we present integer programming formulations. Then we turn our attention back to the continuous case and in particular to (CSLregion). We show that finiteness of the solution is not guaranteed in this case. Nevertheless, we present an efficient (exact) algorithm solving (CSL-region) in the unweighted case. This algorithm is an extension of Algorithm 4.
Then we present a model for minimizing the sum of all changes in the door-todoor travel time over all customers. We show its NP-completeness and briefly describe our experience solving this problem with a genetic algorithm. Other possible objective functions (from the point of view of the public transportation company) are mentioned.
In this section we consider a better approximation of the demand set based on using demand regions instead of demand points, see also [SS03]. According to Section 2.3, especially Definition 2.5, we use the following notation. Let D = {D1,...,D|D|} be a finite set of connected, and pairwise disjoint demand regions Di ⊆ IR2, i = 1,..., |D|, and let
$$D{total} = \bigcup{D \in \mathcal{D}} D$$
be the set of all points in the demand regions. For each demand region we assume that a distance measure γD has been specified as a norm or a gauge. Hence, given some possible new stop s ∈ T and a point d ∈ D ∈ D, the distance from d to s is given as
$$\gamma_d(d, s) = \gamma_D(d, s).$$
Furthermore, recall that for each d ∈ D ∈ Dtotal and each S ⊆ T we defined
$$\mathcal{T}(d) = {s \in \mathcal{T} : \gamma_d(d, s) \le r}$$
$$= {s \in \mathcal{T} : d \in \text{cover}(s)} \text{ and }$$
$$\text{cover}(S) = {d \in \mathcal{D} : \gamma_d(d, s) \le r}$$
$$= {d \in \mathcal{D} : S \cap \mathcal{T}(d) \ne \emptyset.}$$
Denoting by λ(A) the area of a (measurable) set A ⊆ IR2, by wD the number of (potential) customers of demand region D, and by cg(s) the traffic load of the edge or of the node where s is located, the two objective functions fcover and ftime for demand regions are given by
$$f{\text{cover}}(S) = \sum{D \in \mathcal{D}} wD \frac{\lambda(\text{cover}(S) \cap D)}{\lambda(D)}$$ $$f{\text{time}}(S) = \sum{s \in S} c{g(s)}.$$
(CSL-region) is hence given as follows.
Given G = (V,E) with its set of points T = e∈E e, traffic loads ce for all e ∈ E, and cv for all v ∈ V , as well as a finite set of demand regions D, with associated gauges γD for all D ∈ D, find a set S ⊆ T such that cover(S) = D and
$$f{\text{time}}(S) = \sum{s \in S} c_{g(s)}$$
is minimized.
Similarly, the bicriteria stop location problem in case of demand regions instead of demand points can be restated as follows.
Given G = (V,E) with its set of points T , with traffic loads ce for all e ∈ E, and cv for all v ∈ V , as well as a finite set of demand regions D with weights wD and gauges γD for all D ∈ D, find a set S ⊆ T such that both
$$\begin{split} f{\text{time}} &= \sum{s \in S} c{g(s)}, \ and \ -f{\text{cover}}(S) &= -\sum_{D \in \mathcal{D}} w_D \frac{\lambda(\text{cover}(S) \cap D)}{\lambda(D)} \end{split}$$
are minimized.
Note that—in contrast to (CSL) and (BSL) for demand points—(CSL-region) is not a special case of the cover-constraint version of (BSL-region), since
$$\frac{\lambda(D \cap \text{cover}(S))}{\lambda(D)} = 1$$
does not imply D ⊆ cover(S). We first state the NP-hardness of both problems.
This instance satisfies the following:
D can be covered by at most K discs of radius r with center points in T , if and only if all Bd ∈ D can be covered by at most K discs of radius r+ which all have their center points in T , i.e., if and only if there exists S ⊆ T with ftime(S) ≤ Qtime and fcover(S) ≥ Qcover.
Let us first assume that a discrete set of candidates Scand ⊆ T is given, and that we have to find a set of new stops S ⊆ Scand. Then (CSL-region) and (BSL-region) can be formulated as integer programs.
Notation 5.2. Let x, y be two points in Dtotal.
$$x \sim y \text{ if } (\forall s \in \mathcal{S}^{cand} : x \in \text{cover}(s) \iff y \in \text{cover}(s)).$$
Note that ∼ is an equivalence relation. Hence we obtain a partition of Dtotal into equivalence classes. We define a set of cells C by intersecting the equivalence classes with all D ∈ D. Due to the construction of C we obtain the following lemma.
$$x_s = \begin{cases} 1 & \text{if } s \in \mathcal{S}^{cand} \text{ is chosen as new stop} \ 0 & \text{otherwise.} \end{cases}$$
and let the following matrix Acov = (aCs)C∈C,s∈Scand contain the covering information.
$$a_{cs} = \begin{cases} 1 & \text{if } C \subseteq \text{cover}(s) \ 0 & \text{otherwise} \end{cases}$$
First we give the integer programming formulation for covering all demand regions with a minimal cost set of stops, i.e., for the problem
$$\min f_{\text{time}}(S)$$
s.t. $\operatorname{cover}(S) = D_{total}$
$S \subseteq \mathcal{S}^{cand}$ .
To obtain an integer programming formulation we reformulate (Discrete-CSLregion) as follows.
$$\min cx$$ s.t. $A^{\text{cov}} x \ge \mathbf{1}_{|\mathcal{C}|}$
$$x \in {0, 1}^{|S^{cand}|}.$$ (5.1)
For the bicriteria formulation we need to calculate λ(C) for all cells C ∈ C and save these values in the vector λ ∈ IR|C|. For C ⊆ D we determine
$$w_C = w_D \frac{\lambda_C}{\lambda_D}.$$
Furthermore we define
$$y_C = \begin{cases} 1 & \text{if cell } C \text{ is covered} \ 0 & \text{otherwise} \end{cases}$$
such that we can formulate
$$\min \begin{pmatrix} f{\text{time}}(S) \ -f{\text{cover}}(S) \end{pmatrix}$$ s.t. $S \subseteq \mathcal{S}^{cand}$
as the following IP model:
$$\begin{aligned} \min \left( \begin{array}{c} cx \ -wy \end{array} \right) \ s.t. \quad A^{\text{cov}} x \geq y \ \quad x \in {0,1}^{|S^{cand}|} \ \quad y \in {0,1}^{|\mathcal{C}|}. \end{aligned}$$
Note that these formulations are again set covering formulations. Hence, if Acov has the consecutive ones property we can apply the solution methods developed in Sections 3.4 to solve (Discrete-CSL-region) and the solution methods of Section 4.3 for (Discrete-BSL-region). If Acov almost has the consecutive ones property, we can apply the methods of Section 3.6.
We turn our attention back to (CSL-region) in the continuous case, i.e., we want to find a set of stops in T with minimal cost such that all demand regions are covered. Unfortunately, (CSL-region) does not have the nice properties of the corresponding complete cover problem in the case of demand points. One difference concerns the feasibility of the problem.
Fig. 5.1. The line segment between a and b is a solution of (CSL-region), but no finite solution exists.
For the remainder of this section we assume that (CSL-region) is feasible, i.e.,
$$D_{total} \subseteq cover(\mathcal{T}).$$
Unfortunately it is not possible to transfer the finite candidate set from (SCP) by using the intervals T (d) as in the case of demand points. Intuitively, one could determine T (D) as the set of all points which can be used to cover D, i.e.,
$$\mathcal{T}(D) = { s \in \mathcal{T} : D \subseteq \operatorname{cover}(s) },$$
and take the endpoints of these intervals T (D) as a candidate set. But this candidate set need not contain the optimal solution, it even need not contain any feasible solution (also in the case that a finite feasible solution exists). Such situations are shown in Figures 5.2 and 5.3 for the case that γD is the Euclidean distance for all D ∈ D.
Fig. 5.2. The set of endpoints of the intervals T (D) and an optimal solution.
• In Figure 5.2 we have four demand regions D1, D2, D3, D4. For some radius r we determine
$$\mathcal{T}(D_1) = [s_1, s_2]$$
$\mathcal{T}(D_2) = {s_3}$
$\mathcal{T}(D_3) = [s_4, s_5]$
$\mathcal{T}(D_4) = [s_6, s_7]$
such that the candidate set consisting of the endpoints of these intervals would be
$${s_1, s_2, s_3, s_4, s_5, s_6, s_7}.$$
Within this candidate set the best possible solution contains four stops, e.g., {s2, s3, s4, s6}. But the optimal solution of this problem instance only needs three new stations, namely the thick points in Figure 5.2, and only two of them are endpoints of intervals T (D).
• The situation is even worse in the case of Figure 5.3. Here a demand region D is depicted which is too large to be covered by only one stop, i.e.,
$$T(D) = \emptyset$$ ,
leading to an empty candidate set, although the problem is (finitely) feasible with only two new stops, see the thick points in Figure 5.3.
Fig. 5.3. The set of endpoints of the intervals T (D) is empty, although the problem is feasible.
Nevertheless, we now develop an algorithm for solving (CSL-region) in the continuous case. This algorithm finds the optimal solution on a straight line, or on a polygonal line satisfying the assumptions of Theorem 3.13, if the costs ce of all edges and cv of all nodes belonging to the polygonal line are equal. Recall that for d ∈ Dtotal
$$\mathcal{T}(d) = { s \in \mathcal{T} : \gamma_d(d, s) \le r }$$
is that part of the tracks T which can be used to cover d, i.e., we know that at least one point of T (d) has to be chosen as a new stop for each d ∈ Dtotal. Furthermore we know that for an edge e with T (d) ∩ e = ∅ there exist two (not necessarily distinct) points f e d , le d ∈ e such that
$$\mathcal{T}(d)\cap e=[f_d^e,l_d^e],$$
see Lemma 3.4 and the discussion on page 25. Moreover, recall from Lemma 3.9 that
$$d \in cover(s) \iff s \in \mathcal{T}(d)$$ .
For T (d) ⊆ e we hence obtain
$$d \in \operatorname{cover}(s) \iff f_d^e \le s \le l_d^e.$$ (5.2)
Since all T (d) are intervals we can write
$$\mathcal{T}(d) = [f_d, l_d].$$
We use this notation for our next definition.
Definition 5.5. Let T = e. Given some set Q ⊆ Dtotal with Q ⊆ cover(e), the (left) fixturing point of Q is
$$L(Q) = \inf{l_d : d \in Q} \in e.$$
We are now in the position to present our algorithm for solving (CSL-region). Note that we assumed that the costs for all s ∈ T are the same, such that our goal is to find the minimal number of stops needed to cover Dtotal.
Input: T = e, D ⊆ cover(T ), γD for all D ∈ D.
Output: Optimal solution S∗ of (CSL-region).
Step 1. Set S∗ = ∅, D = Dtotal.
Step 2. S∗ = S∗ ∪ {L(D)}, D = D \ cover(L(D)).
Step 3. If D = ∅, stop, otherwise goto 2.
Note that the algorithm need not terminate finitely. But, fortunately, in Theorem 5.7 we can show that this only happens in the case that no finite optimal solution exists. Moreover, we will show the correctness of the algorithm, i.e., that in case of finite termination of the algorithm, we obtain the optimal solution of (CSL-region) on a single edge.
In the following, let yi denote the fixturing point found in iteration i and
$$Di = D{total} \setminus \text{cover}{y1, \dots, y{i-1}}$$
be the set D at the beginning of iteration i, i.e.,
$$y_i = L(D_i).$$
We first state the following lemma.
$$y_i = L(D_i) = \inf{l_d : d \in D_i}$$
$\leq \inf{ld : d \in D{i+1}}$
$= L(D{i+1}) = y{i+1}.$
$$D_{i+1} = D_i \setminus \text{cover}(y_i)$$
= $Di \setminus \text{cover}(y{i-1}) = D_i \neq \emptyset,$
and hence Dk = Di for all k ≥ i, i.e., the algorithm does not terminate.
Based on the results above, we now present the proof for the correctness of Algorithm 11.
Theorem 5.7. If there exists a finite solution of (CSL-region) then Algorithm 11 terminates with an optimal solution Y ∗.
Proof. Let Y ∗ = {y1, y2,...} be the set generated by Algorithm 11. According to part 1 of Lemma 5.6 we know that y1 ≤ y2 ≤ ··· . Furthermore, let S∗ = {s∗ 1, s∗ 2,...,s∗ K} be any finite solution (ordered), i.e., with s∗ 1 < ··· < s∗ K. It is sufficient to show that |Y ∗| ≤ K, since from part 3 of Lemma 5.6 we then know that Y ∗ is feasible, and better than the finite solution S∗. To this end, we first prove that
$$\operatorname{cover}{sk^* : k < i} \cap D{total} \subseteq \operatorname{cover}{yk : k < i} \cap D{total}.$$
i = 1: ∅ = ∅.
i → i + 1: From the induction hypothesis we know that
$$\operatorname{cover}{sk^* : k < i} \cap D{total} \subseteq \operatorname{cover}{yk : k < i} \cap D{total},$$
yielding Di ⊆ Dtotal \ cover{s∗ k : ki ≥ s∗ i .
Suppose s∗ i > yi. Since yi = L(Di) = inf{ld : d ∈ Di} and s∗ i > yi there exists some d ∈ Di with ld < s∗ i . According to (5.2) this means d is not covered by s∗ k if k ≥ i. Since d ∈ Di implies that
$$d \not \in \operatorname{cover}({s_k^* : k < i})$$
it is also not covered by s∗ k if k<i, a contradiction.
Claim 2: cover(s∗ i ) ∩ Di ⊆ cover(yi).
Let x ∈ cover(s∗ i ) ∩ Di. Since x ∈ cover(s∗ i ) we get fd ≤ s∗ i and using Claim 1, fd ≤ yi. On the other hand, d ∈ Di and the definition of yi = L(Di) yields yi ≤ ld. Together, fd ≤ yi ≤ ld such that yi ∈ T (d) meaning that d ∈ cover(yi) (see (5.2)).
The induction hypothesis together with Claim 2 shows the result.
Finally, since S∗ is a finite solution we get that Dtotal ⊆ cover{s∗ i : i ≤ K} and hence Dtotal ⊆ cover{yi : i ≤ K }, where K = min{|Y ∗|, K} ≤ K. This means that at the end of iteration K the set
$$D = D{K'} = D{K'-1} \setminus \text{cover}{y{K'}}$$ $$= D{total} \setminus \text{cover}{y1, \dots, y{K'}} = \emptyset$$
and the algorithm terminates with a solution with cardinality |Y ∗| = K ≤ K.
The algorithm can be transfered to arbitrary graphs, if we know in advance, that no point d ∈ Dtotal can be covered by two stations belonging to different edges of G. This is formalized below.
Notation 5.8. For e1, e2 ∈ E let conf(e1, e2) = cover(e1) ∩ cover(e2) be the conflict zone of edge e1 and edge e2.
Then we get the following result.
Theorem 5.9. If conf(e1, e2) = ∅ for all e1, e2 ∈ E, an optimal solution of (CSL-region) is given by
$$S^* = \bigcup_{e \in E} S_e^*,$$
where S∗ e is the output of Algorithm 11 for edge e.
Proof. From the assumption we know that each point d ∈ Dtotal can be covered from at most one edge e ∈ E. This means that the assumptions of Corollary 3.29 hold. Realizing that Theorem 3.28 and Corollary 3.29 hold also for a non-finite set Dtotal instead of the finite set D used in the proof, we obtain the result together with Theorem 5.7.
Fortunately, in our real-world data the total amount of population living in a conflict zone is rather small. For the Euclidean unweighted stop location problem we calculated the following data:
If we discard the population in the conflict zones from the covering problem we can apply Algorithm 11. With this approach we at least obtain a lower bound on (CSL-region), since the generated solution will probably not cover all of the discarded inhabitants. On the other hand, we can still achieve 80% of the possible improvement of fcover such that we conclude that Algorithm 11 is applicable for practical problem instances.
We now turn our attention back to demand points, but focus on a completely different objective function, namely the total door-to-door travel time over all customers. The door-to-door travel time includes not only the travel time while sitting in a bus or train, but also the access time to reach the first station and to get from the last station of the trip to the final destination. Instead of determining the total door-to-door travel time, we only calculate its total change. The changes in the door-to-door travel time arise due to a positive and a negative effect. The positive effect takes into account that new stops decrease the distance to the stations for some of the customers. These customers hence have a smaller access time to reach their first station. For the sake of simplicity we assume in this model that all customers depart from their closest station. On the other hand, the negative effect is the time which arises by the additional stopping activities of the trains. This value has been considered in the models before, and was denoted by ftime.
We now describe how the reduction of the access time faccess can be calculated. To this end, let Sex be the already existing stations, and let S be a possible set of new stops.
For a demand point d ∈ D,
To transform a possible reduction of the distance into an amount of saved access time we introduce a piecewise linear function in two variables g : IR × IR → IR, assigning an amount of saved time to each reduction of the distance, given as a pair consisting of the old and the new distance of a demand point to its closest train stop. For g we require that
$$x \ge y$$ implies $g(x, y) \ge 0$ .
For example, g can be defined as
$$g(x,y) = (x-y)/5,$$
assuming an average (walking) speed of 5 km/h, or as
$$g(x,y) = \begin{cases} \frac{x-y}{4} & \text{if } x \leq 1 \text{ (the customer walks)} \ \frac{x-y}{2} & \text{if } 1 < x \leq 5 \text{ (the customer uses a bike)} \ \frac{x-y}{20} & \text{if } 5 < x \text{ (the customer uses a bus or a car)}. \end{cases}$$
Note that this definition assumes that a customer stays with the same means of transport used for the old distance x.
The positive effect of new stations S on the door-to-door travel time through saved access time can hence be calculated by
$$f{\text{access}}(S) = \sum{d \in \mathcal{D}} w_d g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S)).$$
The door-to-door travel time model can now be formulated.
$$\min f{\text{time}}(S) - f{\text{access}}(S)$$
such that
$$S \subseteq \mathcal{T}$$ .
Note that in this model we neglect the change in train riding time that is caused by starting or ending the trip at a different train stop, assuming that these gains and losses roughly even out. We can now define the corresponding door-to-door travel time stop location problem.
Given G = (V,E) with its set of points T and with traffic loads ce for all e ∈ E, cv for all v ∈ V , as well as a finite set of points D with weights wd and gauges γd for all d ∈ D, find a set S ⊆ T such that
$$f{\text{DSL}}(S) = f{\text{time}}(S) - f_{\text{access}}(S)$$
is minimized.
The door-to-door travel time stop location problem is the first continuous stop location problem that has been mentioned in the literature, see [HLS+01]. Some important results have already been obtained in this paper, including the NP-hardness of (DSL) which we show next.
Theorem 5.10. (DSL) is NP-hard.
Proof. We reduce the unweighted (CSL), which is NP-hard according to Theorem 3.2, to (DSL). Given an instance of the unweighted (CSL) with D, T , γd and K ≤ |D|, let M > |D| and define
$$S^{ex} = \emptyset,$$
$w_p = M \text{ for all } d \in \mathcal{D}, \text{ and }$
$c_e = 1 \text{ for all } e \in E.$
Furthermore, define
$$g(x,y) = \begin{cases} 1 & \text{if } y \le r \ 0 & \text{otherwise.} \end{cases}$$
With these definitions, we get that
$$f{\text{DSL}}(S) = f{\text{time}}(S) - f_{\text{access}}(S) = |S| - M|\text{cover}(S)|.$$
Claim: There exists a solution S to (DSL) with fDSL(S) ≤ K − M|D| if and only if there exists a solution to (CSL) with no more than K stops.
=⇒: First, let S be a solution of (DSL) with fDSL(S) ≤ K − M|D|. We show that then cover(S) = D: Assume to the contrary that
$$|\operatorname{cover}(S)| \le |\mathcal{D}| - 1.$$ (5.3)
Then
$$\begin{split} f{\mathrm{DSL}}(S) &= |S| - M|\mathrm{cover}(S)| \ &\geq -M|\mathrm{cover}(S)| \ &\geq M - M|\mathcal{D}| \ \, \mathrm{due\ to\ } (5.3) \ &> |\mathcal{D}| - M|\mathcal{D}| \ &\geq K - M|\mathcal{D}| \ &\geq f{\mathrm{DSL}}(S), \end{split}$$
a contradiction. Furthermore, cover(S) = D implies
$$|S| - M \operatorname{cover}(S) = f_{\operatorname{DSL}}(S)$$
$\leq K - M|\mathcal{D}|$
$= K - M|\operatorname{cover}(S)|$
and hence |S| ≤ K.
⇐=: For the other direction, let S be a solution of (CSL) with cover(S) = D and |S| ≤ K. Hence,
$$f_{DSL}(S) = |S| - M|cover(S)|$$ $$= |S| - M|\mathcal{D}|$$ $$\leq K - M|\mathcal{D}|$$
which completes the proof.
Note that we obtain the following result on the objective functions.
Lemma 5.11. Let S1, S2 ⊆ T be two disjoint sets of stops, i.e., S1 ∩ S2 = ∅. Then
$$\begin{split} f_{\text{time}}(S_1 \cup S2) &= f{\text{time}}(S1) + f{\text{time}}(S2) \ f{\text{access}}(S_1 \cup S2) &\leq f{\text{access}}(S1) + f{\text{access}}(S2) \ f{\text{DSL}}(S_1 \cup S2) &\geq f{\text{DSL}}(S1) + f{\text{DSL}}(S_2). \end{split}$$
Proof.
1.
$$f_{\text{time}}(S_1 \cup S2) = \sum{s \in S1} c{g(s)} + \sum_{s \in S2} c{g(s)}$$ $$= f_{\text{time}}(S1) + f{\text{time}}(S_2).$$
$$f_{\text{access}}^d(S) = w_d g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S))$$
denote the positive effect in the access time for a demand point d ∈ D. For d ∈ D we distinguish the following cases:
Case 1: γd(d, Sex ∪ S1 ∪ S2) = γd(d, Sex), i.e., the closest stop to d does not change by adding new stops. Then
$$\begin{split} g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S_1 \cup S_2)) &= g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S_1)) \ &= g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S_2)) \end{split}$$
and hence f d access(S1 ∪ S2) ≤ f d access(S1) + f d access(S2). Case 2: γd(d, Sex ∪ S1 ∪ S2) = γd(d, S1), i.e., there is a new stop (in S1) which is closer to d than all existing stops. Then
$$g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S_1 \cup S_2)) = g(\gamma_d(d, S^{ex}), \gamma_d(d, S^{ex} \cup S_1)),$$
and since
$$g(\gamma_d(d,S^{ex}),\gamma_d(d,S^{ex}\cup S_2))\geq 0$$ (due to $\gamma_d(d,S^{ex})\geq \gamma_d(d,S^{ex}\cup S_2))$ we obtain
$$f_{\text{access}}^d(S_1 \cup S2) \le f{\text{access}}^d(S1) + f{\text{access}}^d(S_2).$$
Together we get
$$\begin{split} f_{\text{access}}(S_1 \cup S2) &= \sum{d \in \mathcal{D}} f_{\text{access}}^d(S_1 \cup S2) \ &\leq \sum{d \in \mathcal{D}} \left( f_{\text{access}}^d(S1) + f{\text{access}}^d(S2) \right) = f{\text{access}}(S1) + f{\text{access}}(S_2). \end{split}$$
$$f_{\text{DSL}}(S_1 \cup S2) = f{\text{time}}(S_1 \cup S2) - f{\text{access}}(S_1 \cup S_2)$$
$$\geq f_{\text{time}}(S1) + f{\text{time}}(S2) - f{\text{access}}(S1) - f{\text{access}}(S_2)$$
$$= f_{\text{DSL}}(S1) + f{\text{DSL}}(S_2).$$
In our experimental study, described in [HLS+01] we used a genetic algorithm (see, e.g., [Gol89]) to find a heuristic solution for (DSL). This was done by choosing a set of candidates Scand ⊆ T . Each feasible solution S ⊆ Scand of (DSL) is then described by a vector x ∈ {0, 1}|Scand| by
$$x_s = \begin{cases} 1 & \text{if } s \text{ is contained in } S \ 0 & \text{otherwise.} \end{cases}$$
Scand can be chosen by equally distributing possible candidates along all edges e ∈ E, or by using one of the finite dominating sets S or S∗ developed in Sections 3.2 and 4.4. Before the genetic algorithm is started, the set of candidates is reduced according to the following observation.
Lemma 5.12. Let s0 ∈ Scand. If
$$f{\text{time}}(\lbrace s^0 \rbrace) > f{\text{access}}(\lbrace s^0 \rbrace),$$
then no optimal solution to (DSL) will contain s0.
Proof. Let S ⊆ Scand be a feasible solution of (DSL) and let s0 ∈ S. Define S = S \ {s0}. Then, due to Lemma 5.11,
$$\begin{split} f{\rm DSL}(S) &\geq f{\rm DSL}(S') + f{\rm DSL}({s^0}) \ &= f{\rm DSL}(S') + f{\rm time}({s^0}) - f{\rm access}({s^0}) \ &> f_{\rm DSL}(S'), \end{split}$$
i.e., a solution containing s0 can be strictly improved by subtracting s0 and hence s0 will never appear in an optimal solution.
The starting population of the genetic algorithm was chosen randomly, and cross-over and mutation was performed according to the usual rules. The set of candidates used for the genetic algorithm consisted of 6 700 potential
new stops after the reduction according to Lemma 5.12. Assuming that two minutes is the time needed for an additional stop and using the function g(x, y)=(x − y)/5 to describe the gain in access time when the distance to the nearest train stop changes from x to y, we started the genetic algorithm with this set of candidates and with three different starting solutions, three times each. These starting solution were chosen randomly, but with three different probabilities to establish a candidate as a stop, namely with p ∈ {0.25, 0.5, 0.75}, resulting in three initial populations, P1,P2, and P3, where
We used a population size of 20, and the probability pm for mutation of bits after crossover was set to 0.0001. After 100 generations each, we let the resulting population with the best value for fDSL evolve for another 900 generations. The development of this population over the course of its 1 000 generations is shown in Figure 5.4.
Fig. 5.4. Development of the population in the genetic algorithm for the door-todoor travel time.
It turned out that the genetic algorithm converges to a stable number of new stops very quickly, i.e., we actually do not need to first determine a good probability p for the creation of the starting population: While a starting population with varying initial probabilities pb contained individuals with almost no candidates as well as individuals with almost all of the 6 700 candidates,
the difference between the lowest and the highest number of candidates in the individuals of the 10th generation had already shrunk to less than 1 000, and after 100 generations this difference was merely 22.
Finally, from the point of view of a public transportation company it is desirable to consider demand changes and their impact on the income of the company as follows. Assume that for customers traveling from d1 to d2 the door-to-door travel time increased. Then take an elasticity factor estimating how many of these customers will change to another means of transport and estimate the loss in income obtained by this change. On the other hand, if the door-to-door travel time decreases for possible trips, we have to estimate how many other customers will be attracted by the better connection and estimate the money they will spend. For this model a lot of other data has to be taken into account:
Since an extension along these lines gets more and more complicated, a further development of metaheuristic approaches like the genetic algorithm described in this chapter seems to be appropriate in this context.
A major reason for complaints about public transportation is the missing punctuality, which — unfortunately — is a fact in many transportation systems. Since it seems to be impossible to avoid delays completely, it is a necessary issue in the dispositive work of a public transportation company to deal with delayed vehicles.
We focus on the convenience of the customers, so let us first analyze the effects of a delayed vehicle on its passengers. If a vehicle reaches a station with a delay, one consequence is that customers getting out there will reach their destination with this delay. This is annoying, but it is not worth a complaint if the delay is rather small. The situation becomes worse if customers who wish to change from the delayed vehicle into another bus or train miss their connection, and this can happen even in the case of small delays.
Let us now consider some vehicle (e.g., a train g) that arrives at a station with a delay. At the station, there are other vehicles (e.g., two buses h and h ) ready to depart, see Figure 6.1. What should each of these connecting vehicles do? There are two alternatives:
In the first case the connecting vehicle does not depart at its scheduled time, but with a delay. The new departure time of this vehicle is called its perturbed timetable. In the second case, the perturbed departure time of the bus equals the scheduled one.
The delay management problem is to find wait-depart decisions and a perturbed timetable in case of some known delays, not only for one single bus,
Fig. 6.1. The wait-depart decision at one single station.
but for all vehicles in the public transportation network, such that the "inconvenience" over all customers is minimized. As inconvenience we consider the delay of the customers and the number of missed connections.
To avoid that customers miss their connections, one could force all departing vehicles to wait until all delayed vehicles have arrived. This makes sure that all connections are maintained, but leaves the transportation system with many delayed vehicles. Consequently, the delay spreads out through the whole network, and hence will affect many customers. On the other hand, if all vehicles would depart as early as possible the number of delayed vehicles is minimized, but in this case many customers miss their connections.
A solution between these two extremes can be obtained by using the following models.
It will turn out that all these models are special cases of the general delay management problem (GDM), which is also defined by two criteria. In this problem we want to minimize
the number of customers missing a connection and
the amount of the additional delay of the remaining customers.
Chapter 6 is structured as follows: In this chapter we mention our application and then give an overview of related literature. Furthermore, we introduce the notation and definitions needed to state the delay management problem formally. Especially we discuss perturbed timetables and give two integer programming descriptions of the set of all feasible perturbed timetables. The first one is based on the "intuitive" description of the problem, while the second one uses the concept of event-activity networks. A detailed description of this concept is given.
The subject of delay management was brought up by two large traffic associations serving the states Rheinland-Pfalz and the Saarland (both in Germany) within a project supported by Stiftung Rheinland-Pfalz f¨ur Innovation, see [SS01]. Public transportation companies are interested in analyzing the consequences of delays, or, more generally, also of (small) changes in the schedule. When analyzing such changes, it is important not to look only at one single transportation company, but to take into account also connections between different public transportation companies. The following two problems are of special interest in our applications.
On-line wait-depart decisions: On a regional train line in Rheinland-Pfalz, the 40 km long Lautertalbahn leading from Kaiserslautern to Lauterecken, Deutsche Bahn installed an automatic system informing the bus drivers waiting at the stations about the exact arrival times of the incoming trains. The question arising now for the drivers is, whether they should wait for a delayed train or depart on time. This decision will be investigated from the perspective of the customers.
Short-term adaption of timetables: Suppose there is a large construction area somewhere in a city, leading to a detour for some bus lines. Then it is often known that each time a bus goes there it will gain a delay of, say, five minutes. Since this delay will occur as long as the construction area is present it is worthwhile to design a new perturbed timetable for this period of time. It is important that in this new timetable no bus departs earlier than planned, since this would annoy passengers who maybe have not seen any announcement about the perturbed timetable. How to calculate such a timetable in a way that many customers are satisfied will also be discussed.
It will turn out that we can use the same mathematical model for analyzing both problems. In our test data we analyze the effects of delays of trains of
the Lautertalbahn on subsequent other trains and buses belonging to different public transportation companies. The test set consists of
We also have to specify the set of connections we consider. We use four different sets U5, U10, U30, and U60, where set Ux contains reasonable connections with a scheduled waiting time of less than x minutes. By "reasonable" we mean that we do not consider connections where changing results in going directly back to the previous station. The sizes of the sets Ux are:
$$|\mathcal{U}_5| = 6531$$
$|\mathcal{U}{10}| = 10659$
$|\mathcal{U}{30}| = 39371$ , and
$|\mathcal{U}_{60}| = 80716$ .
The resulting event-activity network (which will be introduced in Section 6.4) has a size of 46720 nodes (events). The number of edges (activities) depends on the set Ux used and varies between 51937 (for U5) and and 126122 (for U60). This data set is the basis for the numerical results mentioned in this part.
Since in the delay management problem new departure times for each vehicle at each station have to be determined, it is closely related to the problem of finding timetables in public transportation. In this field, a lot of research has been done. Timetabling is fairly easy if the timetables need not be periodic, but even the detection of a feasible periodic timetable is an NP-hard problem (see [SU89, Nac98]). Many approaches were applied in this area. Integer programming approaches and their combinatorial analysis were studied in [BLNN98, Nac98, Nac97, Odi96, Kri96, Nac94, Ste88]. Extensions of these approaches using cycle bases were obtained in [LR05, Lie03, PK03, Pee02, PK01]. Furthermore, quadratic semi-assignment models were discussed in [AC97, Dom89, Fle91, DV95, KS87]. For graph-theoretical approaches we refer to [Wei81, Kri96, Nac96]. Moreover there exist geometric approaches (polygon-on-circle model) in [Bur86, BBH90, BH86], network design models in [BD92, BT81, Voß92] and various heuristics and metaheuristics, see [LPW04, XC94, Car98, Car99, KNV96, NV96, NV97]. Other models which were also considered in scheduling and timetabling are the maxplus-algebra (e.g., used by [GBO99, Gov98b, Gov98a]) or the heaps-of-piecesapproach, see [vE01]. Practical experience is — among others — reported in
[Kri96, NV96, DV95, Ste88, HH87, G¨un85]. In [LM02], a case study (of Berlin underground) is presented.
As objective functions, the total waiting time or the travel time of the passengers have mainly been considered, sometimes also the costs of operating the timetable. The main difference between finding a timetable and solving the delay management problem, besides the slightly different objective functions, is that in the delay management problem the connections are not given in advance. In fact, the main decision that must be made in delay management is to decide which connections should be maintained and which can be dropped.
Delays and their consequences have been addressed before in a few papers, see e.g., [HK81, HK98b] for models to calculate expected delays. The effect of delays on the robustness of the timetables was discussed, e.g., in [EFK01a, EFK01b, EF02]. Decreasing the expected delay by investing in new tracks was investigated in [EFK01a]. Analyzing delays using the max-plus-algebra was done in [HdV01]. Max-plus-algebra together with stochastic processes and the theory of option pricing have recently been used to model the delay management problem, see [Bau05].
How to react in case of delays has, due to the size and complexity of the problem, been mainly tackled by simulation and expert systems. We refer to [SM97, SM99, SBK01, SMBG01] for providing a knowledge-based expert system including a simulation of wait-depart decisions with a what-if analysis. Simulation including the capacity constraints on the tracks has also been used in [Ack99, SM01].
Only few optimization models for the delay management problem have been published. In [ADGGT99] an objective function from the customers' point of view is mentioned. Such an objective was taken into account in the models developed independently by [Kli00a, SBK01] and by [Sch01b]. Both studied an approximation of the effects of delays on the customers and presented nonlinear mixed-integer programming formulations. It will turn out that their models are equivalent to a special case of the total delay management problem which will be formulated as a linear program in Section 8.4 of this text. In [APW02], the wait-depart decision at one single station with an unknown amount of delay was analyzed.
Our basic delay management models (TDM) will be developed in Chapter 8. (Note that a short review about the corresponding linear model in Section 8.1 was published in [Sch01c].) These models already had some influence on the research community, which is reflected in several papers dealing with further results and extensions. An important contribution is given in [GJPS05], where the complexity status of the delay management problem (TDM) as it will be defined in Chapter 8 has been clarified. It turns out that even special cases are NP-hard. For more complexity issues we also refer to [GGJ+04]. An on-line version of the delay management problem has been investigated in [GJPW06]. Recently, [GHL06] developed some interesting reformulations and extensions of our models.
In this section we specify the notation necessary for dealing with the delay management problem. Let PTN = (V,E) and F be the set of vehicles. For each vehicle g, we introduce
If it is possible to change from vehicle g to vehicle h at a station v, then (g, h, v) will be called a connection (see Figure 6.2) and the whole set of connections is given by
$$\mathcal{U} \subseteq F \times F \times V$$ .
We can assume that each vehicle g ∈ F stops at the same station only once, otherwise we use a time-dependent representation of the respective station.
Fig. 6.2. A connection (g, h, v) from vehicle g to vehicle h at station v.
Definition 6.1. A timetable Π is given by natural numbers Πarrv g,Πdepv g for all g ∈ F, v ∈ V g with the following meaning:
Furthermore, a timetable Π is feasible, if it satisfies conditions (6.1),(6.3), and (6.5) below.
Waiting requirements: Consider vehicle g at station v.
• Let Lv g ∈ IN be the given minimal waiting time of vehicle g, that allows passengers to get off and on vehicle g at station v, or makes sure that the driver gets a break.
• The scheduled waiting time of vehicle g at station v is Πdepv g − Πarrv g. In a feasible timetable Π we require that
$$\Pi_{depg}^{\ \ v} - \Pi{arr_g}^{\ \ v} \ge L_g^v. \tag{6.1}$$
• The slack time is denoted by sv g and is given by
$$sg^v = \Pi{depg}^{\ \ v} - \Pi{arrg}^{\ \ v} - L_g^v. \tag{6.2}$$
Driving requirements: Consider vehicle g going from station v to station u.
$$\Pi_{arrg}^{\ u} - \Pi{dep_g}^{\ v} \ge L_g^{vu}. \tag{6.3}$$
• The slack time on this driving edge is denoted by svu g and is given by
$$sg^{vu} = \Pi{arrg}^{\ u} - \Pi_{dep}^{\ v} - L_g^{vu}.$$ (6.4)
Changing requirements: Finally, consider a customer transferring from vehicle g to vehicle h at station v, i.e., a connection (g, h, v) ∈ U.
$$\Pi_{deph}^{v} - \Pi{arrg}^{v} \ge L_{gh}^{v}. \tag{6.5}$$
• The slack time for changing is denoted by sv gh and is given by
$$s{gh}^{v} = \Pi{dep{h}}^{v} - \Pi{arr{g}}^{v} - L{gh}^{v}. \tag{6.6}$$
Since the given timetable and the minimal necessary times for waiting, driving, and changing are integer vectors, it holds that also all slack times are integer.
By dv g ∈ IN let us denote the source delay (or primary delay) of vehicle g when arriving at station v. (In practice, this delay is usually given in minutes.) I.e.,
$$\mathcal{E}_{del} = {(g, v) : d_g^v > 0}$$
is the set of all delayed arrivals known as input for the optimization.
If a delay occurs, say vehicle g arrives at some station v with a source delay of dv g > 0, then simply increasing Πarrv g by dv g will in general make the timetable infeasible. The goal now is to find a wait-depart decision for all connections and a feasible perturbed timetable xarrv g, xdepv g for all g ∈ F, v ∈ V g which is best with respect to the objective function under consideration. Note that a perturbed timetable is feasible, if the waiting requirements (6.1) and the driving requirements (6.3) are satisfied, i.e., the delay of a vehicle is carried over to its next station correctly. Since we do not force departing vehicles to wait for possibly delayed arriving vehicles, we do not require that a feasible perturbed timetable also satisfies the changing requirements (6.5). Formally, we define a perturbed feasible timetable as follows.
Definition 6.2. Given a timetable Π, a set of source delays dv g ≥ 0, a perturbed timetable xarrv g, xdepv g ∈ IN for all g ∈ F, v ∈ V g is feasible, if the following conditions hold.
$$x_{arrg}^v \ge \Pi{arr_g}^v + d_g^v \text{ for all } g \in F, v \in V^g,$$ (6.7)
$$x_{depg}^{\ v} \ge \Pi{dep_g}^{\ v} \text{ for all } g \in F, v \in V^g,$$ (6.8)
$$x_{depg^v} - x{arr_g^v} \ge L_g^v \text{ for all } g \in F, v \in V^g,$$ (6.9)
$$x_{arrg}^u - x{dep_g}^v \ge L_g^{vu}$$ for all $g \in F, (v, u) \in E^g$ . (6.10)
Conditions (6.7) and (6.8) make sure that the perturbed timetable respects the source delays, while in (6.9) we require that a vehicle arriving at a station with a delay also departs with this delay, and (6.10) ensures that a vehicle departing at some station with a delay carries over that delay to its next station. In both cases the delay may be reduced at most by the given slack time. The situation of conditions (6.9) and (6.10) is depicted in Figure 6.3 a) and b), respectively. Note that in a perturbed timetable we do not require that all connections are maintained, i.e., (6.5) need not be satisfied.
Fig. 6.3. Illustration of conditions (6.9),(6.10), and of constraint (6.15).
Finally, we make precise the wait-depart decisions.
Definition 6.3. A connection (g, h, v) ∈ U at station v is called maintained if vehicle h waits for vehicle g, i.e., if
$$x_{deph}^{\ v} - x{arrg}^{\ v} \ge L_{gh}^{v}.$$
Otherwise, the connection is called missed.
For describing the set of feasible solutions we have to specify the relation between the wait-depart decisions and the perturbed timetable. To this end we use variables with the following meaning:
$$\begin{aligned} y_{dep} {g}^{v} &= \text{departure delay of vehicle } g \text{ at station } v \ y{arr} {g}^{v} &= \text{arrival delay of vehicle } g \text{ at station } v \ \bar{z}{ghv} &= \begin{cases} 0 \text{ if connection } (g,h,v) \in \mathcal{U} \text{ is maintained} \ 1 \text{ if connection } (g,h,v) \in \mathcal{U} \text{ is missed.} \end{cases} \end{aligned}$$
It will be more convenient to use only the additional delay y instead of the perturbed timetable x, which is given by
$$x_{depg}^{\ v} = \Pi{depg}^{\ v} + y{depg}^{\ v}$$ $$x{arrg}^{\ v} = \Pi{arrg}^{\ v} + y{arr_g}^{\ v}$$
for all g ∈ F, v ∈ V g.
For the additional delay y, Definition 6.3 then can be rewritten as follows: A connection (g, h, v) ∈ U is called maintained if
$$y_{arrg}^{\phantom{g}v} - y{deph}^{\phantom{g}v} \le s{gh}^v. \tag{6.11}$$
Let M be a sufficiently large parameter. (Note that M = maxg∈F,v∈V dv g is large enough, as we will show later on.) Then (ydep, yarr, z¯) is feasible, if the following constraints are satisfied.
$$y_{arr_g}^v \ge dg^v \ \forall (g, v) \in \mathcal{E}{del}$$ (6.12)
$$y_{arrg}^v - y{dep_g}^v \le s_g^v$$ for all $g \in F, v \in V^g$ (6.13)
$$y_{depg^{\,v}} - y{arr_g^{\,u}} \leq s_g^{vu} \ \text{ for all } v,u \in V^g, g \in F: (v,u) \in E^g \quad (6.14)$$
$$-M\bar{z}{ghv} + y{arr}{g}^{v} - y{dep{h}^{v}} \leq s{gh}^{v} \text{ for all } (g, h, v) \in \mathcal{U}$$
$$y{dep{g}^{v}}, y{arr}{g}^{v} \in \mathbb{N} \text{ for all } g \in F, v \in V^{g}$$
$$\bar{z}_{ghv} \in {0, 1} \quad \forall (g, h, v) \in \mathcal{U}.$$
$$(6.15)$$
Constraints (6.12) establish the source delays which we assume to be known for all arrivals and which are strictly positive for all (g, v) ∈ Edel. The delay management problem is only interesting for at least one source delay dv g > 0, otherwise the optimal solution (in all objective functions considered) would be the one without any delay, i.e., yarrv g = ydepv g = 0 for all g ∈ F, v ∈ V g and z¯ghv = 0 for all (g, h, v) ∈ U.
The conditions (6.9) and (6.10) are rewritten to the y-variables in constraints (6.13) and (6.14), see again Figure 6.3. Finally, (6.15) enforces that also for all maintained connections the delay is carried over correctly, where it can be reduced by the slack time that can be saved if the passengers change as quickly as possible. The situation is depicted in part c) of Figure 6.3.
In the next section we present a more elegant way of stating the delay management problem. This approach is based on event-activity networks and handles the three types of activities (waiting, driving, changing) together with their slack times in a uniform way. To the best of our knowledge it has not been used for analyzing the delay management problem before, except in [Gin01, GS02].
A more convenient way of describing the delay management problem is to represent the PTN as an activity-on-arc project network. In timetabling, such a concept has been used frequently, see, e.g., the PhD-theses [Wei81, Ste88, Kri96, Nac98, Pee02] and references therein. For our purpose of delay management, we propose the following representation of the PTN, which is based on [Nac98].
Notation 6.4. Given a public transportation network PTN = (V,E), a set of vehicles F, and a timetable specifying the departure and arrival times of each vehicle at each station, the corresponding event-activity network N = (E, A) is constructed as follows. We define a set of nodes, representing arrival events and departure events
$$\mathcal{E} = \mathcal{E}{arr} \cup \mathcal{E}{dep}$$ ,
and a set of directed arcs, representing driving activities, waiting activities, and changing activities
$$\mathcal{A} = \mathcal{A}{drive} \cup \mathcal{A}{wait} \cup \mathcal{A}_{change}$$
as follows:
$$\begin{split} \mathcal{E}{arr} &= {(g, v, \operatorname{arr}) : \ vehicle \ g \in F \ arrives \ at \ station \ v \in V}, \ \mathcal{E}{dep} &= {(g, v, \operatorname{dep}) : \ vehicle \ g \in F \ departs \ from \ station \ v \in V}, \ \mathcal{A}{drive} &= {((g, v, \operatorname{dep}), (g, u, \operatorname{arr})) \in \mathcal{E}{dep} \times \mathcal{E}{arr} : \ vehicle \ g \ goes \ \ directly \ from \ station \ v \ to \ u}, \ \mathcal{A}{wait} &= {((g, v, \operatorname{arr}), (g, v, \operatorname{dep})) \in \mathcal{E}{arr} \times \mathcal{E}{dep}}, \ \mathcal{A}{change} &= {((g, v, \operatorname{arr}), (h, v, \operatorname{dep})) \in \mathcal{E}{arr} \times \mathcal{E}_{dep} : \ a \ changing \ possibility \ from \ vehicle \ g \ into \ h \ at \ station \ v \ should \ be \ provided}. \end{split}$$
Furthermore, let C = |Achange|.
The driving and waiting activities are performed by vehicles, while the changing activities are used by the customers. In short we can write
$$A_{change} = {((g, v, arr), (h, v, dep)) : (g, h, v) \in U},\$$
hence U can be identified with Achange, especially |U| = C.
An example of a PTN and its corresponding event-activity network is given in Figures 6.4 and 6.5.
Fig. 6.4. A PTN with two vehicles g and h ...
Fig. 6.5. . . . and its corresponding event-activity network.
In the context of the delay management problem the event activity network according to Notation 6.4 is a special case of a time-expanded network, in which we can assume that a feasible timetable Π is known. Hence, N is acyclic, motivating the next definition.
defines a partial order (and ≺ a strict partial order) both on the set of events and on the set of activities. In particular we know that for all sets I ⊆ E (or A0 ⊆ A) a minimal element exists, but it need not be unique. If and only if the set I (or A0) is contained in one path, ≺ leads to a unique order of the set.
Using the notation of event-activity networks, a timetable Π is given by assigning a time Πi to each event i ∈ E (see [Nac98]). The planned duration of activity a = (i, j) is hence given by Πj − Πi. Furthermore, let La be the minimal duration of activity a. Formally, the relation between La and the minimal durations Lv g, Lvu g , and Lv gh introduced on page 100 is the following:
In all three cases, the corresponding slack time sa represents the time which can be saved while performing activity a as fast as possible, and it is given by
$$s_a = \Pi_i - \Pi_j - L_a$$
for all three types of activities a = (i, j) ∈ A. This unifies the three different formulas (6.2), (6.4), and (6.6) introduced on page 100.
Definition 6.1 can hence be reformulated as follows.
A timetable Π ∈ IN|E| is feasible if for all a = (i, j) ∈ A,
$$\Pi_j - \Pi_i \ge L_a$$ .
The next lemma relates the precedence relation with the timetable, and shows how a set I ⊆ E can be ordered according to ≺ if all minimal durations La are strictly greater than zero.
Lemma 6.6. Let Π be a feasible timetable in N .
Note that the reverse directions are in general wrong for the statements of Lemma 6.6. On the other hand, if I = {i1, i2,...,i|I|}⊆E is sorted according to the scheduled times, i.e.
$$\Pi_{i1} \leq \Pi{i2} \cdots \leq \Pi{i_{|I|}}$$
and La > 0 for all a = (i, j) ∈ A with i, j ∈ I we obtain that ik ≺ ik−1 for all k = 2,..., |I|. A set of activities A0 ⊆ A can be ordered similarly.
As before, we assume that all source delays are known, i.e., we have a set of (arrival) events Edel ⊆ Earr such that di > 0 for all i ∈ Edel. For non-delayed events we again set di = 0. This means that in case of a delay of (arrival) event i ∈ Earr, the actual arrival time of i does not coincide with the scheduled time Πi. Increasing Πi by di may lead to an infeasible timetable. As before the goal is to calculate a perturbed feasible timetable xi for all events i ∈ E. Due to its importance for the remainder of this part, we repeat the definition of a feasible perturbed timetable on page 102 in our new notation.
Definition 6.7. A perturbed timetable xi for all i ∈ E is feasible, if the following conditions hold.
$$x_i \ge \Pi_i + d_i \text{ for all } i \in \mathcal{E} \text{ and}$$ (6.16)
$$x_j - x_i \ge La \text{ for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}.$$ (6.17)
Constraint (6.16) requires that no event must be scheduled earlier than in the original timetable, and furthermore ensures that for all i ∈ Edel the source delays are taken into account. Due to constraint (6.17) the delay is carried over correctly from one event to the next one along waiting and driving activities. We remark that this definition of feasibility is equivalent to Definition 6.2.
We also rewrite the integer programming formulation of feasible solutions. We now use variables with the following meaning:
$$y_i = \text{delay of event } i$$
$\bar{z}a = \begin{cases} 0 & \text{if changing activity } a \in \mathcal{A}{change} \text{ is maintained} \ 1 & \text{if changing activity } a \in \mathcal{A}_{change} \text{ is missed.} \end{cases}$
Then (y, z¯) ∈ IN|E| × {0, 1}C is a feasible solution of the delay management problem, if
$$y_i \ge di$$ for all $i \in \mathcal{E}{del}$ (6.18)
$$y_i - y_j \le sa$$ for all $a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$ (6.19)
$$-M\bar{z}_a + y_i - y_j \le sa \quad \text{for all } a = (i, j) \in \mathcal{A}{change}. \tag{6.20}$$
We denote
$$\text{Feas}_{DM} = {(y, \bar{z}) \in \mathbb{N}^{|\mathcal{E}|} \times {0, 1}^C : (y, \bar{z}) \text{ satisfies (6.18), (6.19), and (6.20)} }$$
as the set of all feasible solutions of the delay management problem.
The necessary size of M in (6.20) depends on the objective function used. If we know that in all solutions which we are interested in yi ≤ H for any fixed value H, then M ≥ H is large enough, since it allows that connections are not maintained.
We remark that the second notation is more general than the "intuitive" notation of the previous section since it can be applied to any directed acyclic network N¯ , while the event-activity network N corresponding to a timetable is a very special case of such a graph. (E.g., for each node in N either the in-degree or the out-degree has to be 1.) Since many models and procedures which will be presented in the following do not rely on the special structure of the event-activity network N they can be applied to more general problems in any acyclic directed network. The question is if our problems become harder by forgetting about the special structure of N . This is (in terms of complexity) not the case, since it can be shown that each acyclic directed graph N¯ can be transformed to the event-activity network of some appropriate PTN (according to Notation 6.4) with the same precedence structure in polynomial time.
In this chapter we focus on how to calculate a perturbed feasible timetable which is as punctual as possible, if a set of connections to be maintained has already been fixed. The goal of this chapter is to find "tight" timetables, i.e. timetables which minimize the (weighted) sum of differences to the given timetable and maintain the fixed connections. We will show that both,
we can restrict our search to such "tight" timetables. A proper description of a "tight" timetable will be given by the concept of a time-minimal solution in Notation 7.7. The problem of this chapter is the following.
$$(\mathbf{TT}(\mathcal{U}^{fix}))$$
Given PTN, F, U, minimal necessary times for driving, waiting, and changing, a feasible timetable Πarr, Πdep, a set of delayed events Edel, a set of weights wf ixv g for all vehicles at all stations, and a set of connections Uf ix ⊆ U, find a perturbed feasible timetable xarr, xdep, maintaining all connections in Uf ix such that
$$f{\text{TT}} = \sum{g \in F, v \in V^g} w^{fix}{g}^{v} (x{arr}{g}^{v} - \Pi{arr}_{g}^{v})$$
is minimized.
Chapter 7 is structured as follows: (TT) can be interpreted as finding a (non-periodic) timetable. In this chapter we present three solution approaches to solve (TT).
• Our first approach is based on an integer programming formulation for (TT). We show that its coefficient matrix is totally unimodular.
Investigating the structure of the optimal solution we prove some properties that will be needed frequently in the following chapters.
In the notation of event-activity networks, the set of connections to be maintained is denoted by Af ix ⊆ Achange. To derive an integer programming formulation we can use the formulation of FeasDM (see page 108), but fix z¯a = 0 for all a ∈ Af ix. The remaining variables ¯za, a ∈ Af ix are not known beforehand. The condition yi ∈ IN in the definition of FeasDM is not needed. This will become clear in Theorem 7.1 below. Consequently, we obtain the following linear program.
$$(\mathbf{TT}(\mathcal{A}^{fix}))$$
$$\min f{\mathrm{TT}} = \sum{i \in \mathcal{E}} w_i^{fix} y_i$$
such that
$$y_i \ge d_i \ \forall i \in \mathcal{E} \tag{7.1}$$
$$y_i - y_j \le sa \quad \forall a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive} \cup \mathcal{A}^{fix}.$$ (7.2)
We now justify that the constraints yi ∈ IN are in fact not necessary for TT(Af ix).
Theorem 7.1. All extreme points of the feasible set of TT(Af ix) are integer.
Proof. The coefficient matrix of TT(Af ix) is given by
$$\Phi = \begin{pmatrix} -I_{|\mathcal{E}|} \ \Theta^T \end{pmatrix}$$ ,
where I|E| denotes the |E| × |E| unit matrix, and Θ is the node-arc incidence matrix of N , i.e.,
$$\Theta_{i,a} = \begin{cases} -1 & \text{if } a = (i,j) \text{ for some } j \in \mathcal{E} \ 1 & \text{if } a = (j,i) \text{ for some } j \in \mathcal{E} \ 0 & \text{otherwise.} \end{cases}$$
Since Θ is a totally unimodular matrix, ΘT and hence Φ is. Together with sa ∈ IN this yields that all basic solutions of the linear programming relaxation are integer, see Appendix A.
This means that for given connections ¯z to be maintained the delay y can be assumed to be in minutes as required, and (TT(Af ix)) can be solved by linear programming. Other solution approaches that supply more structural insight are described next. Since these methods are more intuitive if we deal with timetables, we rewrite (TT(Af ix)) using the variables xi, i ∈ E describing the perturbed timetable instead of the delay. This means we replace yi by xi −Πi. We equivalently obtain
$$(\mathbf{TT}^{x}(\mathcal{A}^{fix}))$$
$$\min f{\mathrm{TT}} = \sum{i \in \mathcal{E}} w_i^{fix} x_i$$
such that
$$x_i \ge \Pi_i + d_i \quad \forall i \in \mathcal{E} \tag{7.3}$$
$$x_j - x_i \ge La \quad \forall a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive} \cup \mathcal{A}^{fix}.$$ (7.4)
Finally, let us simplify the notation as follows.
Notation 7.2. Given a set Af ix ⊆ Achange define
$$\mathcal{A}(\mathcal{A}^{fix}) = \mathcal{A}{wait} \cup \mathcal{A}{drive} \cup \mathcal{A}^{fix}.$$
Definition 7.3 (e.g.,[Elm77]). A project network N¯ = (E¯, A¯) is an acyclic digraph with exactly one source s and one sink t, such that for each event i ∈ E¯ there exists an s-t-path in N¯ containing i. Furthermore, each activity a ∈ A¯ has been assigned a minimal duration L¯a ≥ 0.
Since project networks are acyclic, the precedence relation ≺ defines a partial order of the nodes E¯, given by a ≺ a for a, a ∈ A¯, if a occurs before a on a path from s to t (see also Definition 6.5). Activity a can only be performed, if all activities a with a ≺ a have already been completed. The goal in project planning is to find the minimal necessary completion time of the whole project, i.e., the earliest possible time point when arriving at the sink t. The starting time for performing the first activity within the project network is known, and assumed to be 0. The minimal necessary completion time can be determined, e.g., by the critical path method (CPM). This well-known procedure (see, e.g., [Elm77, MM98]) consists of two phases, a forward and a backward phase, where the forward phase works as follows:
(CPM-F) Forward phase of CPM: For each event i the earliest possible starting time xi is determined iteratively by
Note that xt then gives the smallest possible completion time of the project.
To apply the forward phase of CPM for solving TT(Af ix) we construct the following network N s(Af ix) from the given event-activity network N . Note that a sink is not necessary if only the forward phase of CPM is applied.
Notation 7.4. Let N = (E, A) and let Af ix ⊆ Achange. The corresponding CPM-network N s(Af ix)=(Es, As(Af ix)) is given by
$$\begin{split} \mathcal{E}^s &= \mathcal{E} \cup {s} \ \mathcal{A}^s(\mathcal{A}^{fix}) &= \mathcal{A}{wait} \cup \mathcal{A}{drive} \cup \mathcal{A}^{fix} \cup {(s,i): i \in \mathcal{E}} \ L^x_a &= \begin{cases} La & \text{if } a \in \mathcal{A}{wait} \cup \mathcal{A}_{drive} \cup \mathcal{A}^{fix} \ \Pi_i + d_i & \text{if } a = (s,i), i \in \mathcal{E}. \end{cases} \end{split}$$
The additional arcs a = (s, i) ∈ As \ A are called timetable arcs.
The timetable arcs represent the given timetable, and the known source delays. They make sure that no vehicle departs earlier than originally planned, and that the source delays are taken into account. Applying the forward phase of CPM to the CPM-network N s yields a timetable xi for all i ∈ E. We have the following result.
Theorem 7.5. Let x¯ be a timetable calculated by (CPM-F). Then x¯i, i ∈ E is an optimal solution of (TT(Af ix)).
Proof. Since ¯x is the timetable calculated by (CPM-F) we have
$$x_s = 0$$ and $\bar{x}_j \geq \bar{x}_i + L_a^x$ for all $a = (i, j) \in \mathcal{A}^s(\mathcal{A}^{fix})$ .
This means,
hence ¯x is feasible for (TTx(Af ix)). Now let x be another feasible timetable such that
$$f{\mathrm{TT}}(x) = \sum{i \in \mathcal{E}} w_i^{fix} xi < \sum{i \in \mathcal{E}} w_i^{fix} \bar{x}i = f{\mathrm{TT}}(\bar{x}).$$
Let j∗ be a minimal event, where the timetable calculated by (CPM-F) is later than x, i.e., take j∗ minimal w.r.t. ≺ satisfying xj∗ < x¯j∗ . Then
$$\begin{split} x{j^*} < \bar{x}{j^} &= \max_{a = (i, j^) \in \mathcal{A}^s} \bar{x}i + L^x{(i, j^)} \ &\leq \max_{a = (i, j^) \in \mathcal{A}^s} xi + L^x{(i, j^)} \ &= x_{i^} + L^x_{(i^* j^)} \text{ for some } i^ \in \mathcal{E}. \end{split}$$
Case 1: i ∗ ∈ E. Then xj∗ − xi∗ < Lx (i∗j∗) contradicts the feasibility of x, see constraint (7.4).
Case 2: i ∗ = s. Then xi∗ = ¯xi∗ = 0 and Lx i∗j∗ = Πj∗ + dj∗ , meaning that xj∗ < Πj∗ + dj∗ contradicting constraint (7.3) and hence again the feasibility of x.
Corollary 7.6. Let Af ix ⊆ Achange. Then there exists an optimal solution of (TT(Af ix)) satisfying
$$y_j = \max{dj, \max{a=(i,j)\in\mathcal{A}(\mathcal{A}^{fix})} y_i - s_a}$$
for all j ∈ E.
Proof. Let x be an optimal solution for TT(Af ix) constructed by (CPM-F) in N s(Af ix). Let j ∈ E. Then according to (CPM-F),
$$\begin{split} x_s &= 0 \ xj &= \max{a = (i,j) \in \mathcal{A}^s} x_i + L_a^x \ &= \max{\Pi_j + dj, \max{a = (i,j) \in \mathcal{A}(\mathcal{A}^{fix})} x_i + L_a}, \end{split}$$
where for the second equation we used the definition of As(Af ix) and of Lx a according to Notation 7.4. Replacing xj by yj + Πj and using that Πj − Πi − La = sa finally yields
$$\begin{split} y_j &= x_j - \varPi_j \ &= \max{\varPi_j + dj, \max{a = (i,j) \in \mathcal{A}(\mathcal{A}^{fix})} y_i + \varPi_i + L_a} - \varPi_j \ &= \max{dj, \max{a = (i,j) \in \mathcal{A}(\mathcal{A}^{fix})} y_i - s_a}. \end{split}$$
We remark that y can also directly be found by applying (CPM-F) in N s(Af ix)=(Es, As(Af ix)) with
$$L_a^y = \begin{cases} -sa & \text{if } a \in \mathcal{A}{wait} \cup \mathcal{A}_{drive} \cup \mathcal{A}^{fix} \ d_i & \text{if } a = (s, i), i \in \mathcal{E}. \end{cases}$$ (7.5)
Notation 7.7. Let Af ix ⊆ Achange. An optimal solution for (TT(Af ix)) satisfying the properties of Corollary 7.6 is called a time-minimal solution, and is denoted by y(Af ix).
Due to Corollary 7.6 a time-minimal solution can be calculated by the following algorithm.
Input: N , di, sa, Af ix.
Output: Optimal (time-minimal) solution of TT(Af ix).
Step 1. Sort E = {i1,...,i|E|} according to ≺.
Step 2. For k = 1,..., |E|: yik = max{dik , maxa=(i,ik)∈A(Af ix) yi − sa}
Step 3. Output: yi, i ∈ E
We conclude this section by presenting some properties which we will use in the subsequent chapters about delay management.
Lemma 7.8. Let A1, A2 ⊆ Achange be two sets of connections which have to be maintained. Then the following hold.
Proof.
Start: Let i be a minimal element of E. Then y∗ i = di ≤ yi. Conclusion: Let the induction hypothesis be true for all j ≺ i. Then
$$\begin{split} y_i^* &= \max{di, \max{a = (j,i) \in \mathcal{A}(\mathcal{A}^1)} y_j^* - s_a} \ &\leq \max{di, \max{a = (j,i) \in \mathcal{A}(\mathcal{A}^1)} y_j - s_a} \leq y_i, \end{split}$$
due to (7.1) and (7.2) on page 110.
The last property is an immediate consequence of Lemma 7.8 and justifies the small size of M in the integer programming formulation of FeasDM .
Corollary 7.9. Let Af ix ⊆ Achange, let y∗ be the time-minimal solution of (TT(Af ix)) and let D = maxi∈Edel di. Then y∗ i ≤ D for all i ∈ E.
Proof. It can be easily verified that yi = D is a feasible solution of (TT(Af ix)). Hence the result follows from Lemma 7.8, part 1.
For an instance of the feasible differential problem (see, e.g., [Roc84]) we need
The feasible differential problem consists of finding a node potential ¯xi for each node i ∈ E¯ such that for all arcs a = (i, j) ∈ A¯:
$$\bar{L}_a \le \bar{x}_i - \bar{x}_j \le \bar{U}_a.$$
Let the |E| × | ¯ A| ¯ -matrix Θ¯ denote the node-arc-incidence matrix of N¯ . This means,
$$\bar{\Theta}_{i,a} = \begin{cases} -1 & \text{if } a = (i,j) \text{ for some } j \in \bar{\mathcal{E}} \ 1 & \text{if } a = (j,i) \text{ for some } j \in \bar{\mathcal{E}} \ 0 & \text{otherwise.} \end{cases}$$
Then
$$\bar{t} = \bar{\Theta}^T \bar{x}.$$
The following observation is obvious but will be helpful later.
Lemma 7.11. Let p be any path from i to j in N¯ . Then
$$\sum_{a \in p} \bar{t}_a = \bar{x}_j - \bar{x}_i.$$
Proof. Let p be represented by its events (i = i0, i1, i2,...,iP = j). Then
$$\sum_{a \in p} \bar{t}a = \sum{k=1}^P \bar{x}_{ik} - \bar{x}{i{k-1}} = \bar{x}{iP} - \bar{x}{i_0} = \bar{x}_j - \bar{x}_i.$$
Furthermore, let the |A| − | ¯ E| ¯ + 1 × |A| ¯ -matrix Γ¯ be a network matrix of N¯ . Such a network matrix can be constructed as follows:
Let T¯ be a spanning tree in N¯ . Then, adding some ˜a ∈ A \ ¯ T¯ gives a circuit Ca˜ in N¯ . The entries of Γ¯ are then given by:
$$\bar{\varGamma}{\tilde{a},a} = \left{ \begin{array}{ll} 1 & \text{if $C{\tilde{a}}$ contains $a$ and $\tilde{a}$ in the same direction} \ -1 & \text{if $C{\tilde{a}}$ contains $a$ and $\tilde{a}$ in opposite directions} \ 0 & \text{if $C{\tilde{a}}$ does not contain $a$}. \end{array} \right.$$
An interesting question is to determine, if a given vector t ¯ is a tension in N¯ , i.e., if there exists some potential ¯x such that t ¯ is the tension with respect to x¯. From Lemma 7.11 we directly get a necessary condition: If t ¯ is a tension, then it has to satisfy
$$\sum_{a \in C} \bar{t}_a = 0$$
for any circuit C in N¯ . The next theorem shows that this condition is
$$\sum{a \in C{\tilde{a}}} \bar{t}_a = 0$$
for all circuits Ca˜ appearing in the rows of (any) network matrix.
Theorem 7.12 (e.g., [Elm77]). Let Γ¯ be a network matrix in N¯ . Then t ¯ is a tension in N¯ if and only if
$$\bar{\Gamma}\bar{t} = 0$$ ,
where 0 is the zero vector with |A| − | ¯ E| ¯ + 1 components.
Now we are going to apply these results for (TT(Af ix)). To this end, let Θ be the node-arc-incidence matrix of the event-activity network N . As potential x¯ we can use either the perturbed timetable x or the delay y. Then tx denotes the tension in N with respect to x if tx = ΘT x, and ty is the tension with respect to the delay if ty = ΘT y. To model (TT(Af ix)) we again use the CPMnetwork N s(Af ix), constructed in Notation 7.4 (page 112). Neglecting any upper bound, we hence get a feasible differential problem in an acyclic graph, which is equivalent to (TTx(Af ix)). Due to Theorem 7.12 its formulation for tx is given by
$$(TT^x(A^{fix})$$ -tension)
$$\min \sum_{a=(s,i):i\in\mathcal{E}} t_a^x w_a^{fix}$$
such that
$$t_a^x \ge L_a^x$$ $$\Gamma^s t^x = 0,$$
where Γs is a network matrix of N s, and Lx a is given as in Notation 7.4. From x = Π +y we conclude that tx = ΘT Π +ty. Equivalently, using y as potential we obtain
(TTy(Af ix)-tension)
$$\min \sum_{a=(s,i):i\in\mathcal{E}} t_a^y w_a^{fix}$$
such that
$$t_a^y \ge L_a^y$$
$\Gamma^s t^y = 0$ ,
where Ly a is given as in (7.5).
Some remarks are added.
$$\mathcal{T} = {(s, i) : i \in \mathcal{E}}.$$
Note that As \ T = A, hence the corresponding network matrix Γs has |A| rows and |A| + |E| columns and is given by
$$\Gamma^s = (I_{|A|}, -\Theta^T).$$
In the following we show that the longest path technique for solving the feasible differential problem can be applied to the delay management problem with fixed connections. First, we focus on finding a perturbed timetable x.
Lemma 7.13. Let x∗ i = LoP(s, i) be the length of a longest path from s to i in N s(Af ix) with weights Lx. Then x∗ is an optimal solution of (TTx(Af ix)).
Proof. First, x∗ is feasible, since
$$x_j^* - x_i^* \ge L_a.$$
Now let x be any other feasible solution of (TTx(Af ix)), and assume that xi < LoP(s, i) for some i ∈ E. Choose i minimal with respect to ≺ with this property. Let p be a longest path from s to i, say with last edge a = (¯i, i) ∈ As. Consequently,
$$x_i < LoP(s,i) = LoP(s,\bar{i}) + La^x \le x{\bar{i}} + L_a^x,$$
which is a contradiction to xi ≥ Πi + di if ¯i = s, and to xi ≥ x¯i + La if ¯i ∈ E.
We remark that yi can also be calculated directly as longest path in N s(Af ix) with weights Ly, and that the obtained solution equals y(Af ix) of (CPM-F).
Corollary 7.14. Let yi = LoP(s, i) be the length of a longest path from s to i in N s(Af ix) with weights Ly. Then y is an optimal solution of (TT(Af ix)).
In this chapter we will deal with the total delay management problem (TDM), where we try to minimize the total delay defined as sum of all delays over all customers traveling through PTN. To deal with (TDM) we introduce two more assumptions.
The first assumption is often made, especially in literature about timetabling. If T is taken as the largest time period over all lines, it overestimates the inconvenience for the customers. We mention that this assumption can be relaxed easily in the formulation (TDM-C) which will be presented in Section 8.2, but is needed for the linear model (TDM-B) in the next section.
The second assumption is no restriction in on-line decisions, since in the online case the planning horizon usually is not larger than the common time period T . If we want to plan for a complete day, this assumption only is reasonable, if there is enough slack time for the vehicles at the last stations of their respective lines.
We now need to specify the data about the customers. To this end, let P be a set of paths through the public transportation network PTN, which customers would like to use during their trips. For each path we need to specify not only the edges e ∈ E of the path, but also a vehicle g ∈ F for each edge. A path is hence described by a sequence
$$p = (v_1, g_1, v_2, g2, \dots, g{lp}, v{l_p+1}),$$
where gj ∈ F and vj ∈ V satisfy that (vj , vj+1) ∈ Egj for all j = 1,...,lp. Moreover, we assume that the customers using path p arrive at their first station v1 on time by some means of transport not relevant for our system. For each path we introduce some weight wp > 0 which gives the number of customers who wish to use path p. The following notation will be used when dealing with the paths. (For an illustration, see Figure 8.1.)
Fig. 8.1. A path p containing the connection (g, h, v3).
Without loss of generality let us assume that each customer's path p ∈ P contains a station at most once. Now consider passengers traveling along a path p ∈ P through the public transportation network.
Case 1: If all connections on path p are maintained, the delay of these passengers equals the arrival delay of their last vehicle g(p) at their destination station v(p), and is hence given by (xarrv(p) g(p) − Πarrv(p) g(p)).
Case 2: If at least one connection on path p is missed, we assume that the passengers using path p have to wait the whole time period T for the next vehicle going towards their destination, and their delay hence is T .
We now can state the model for minimizing the total delay.
Given PTN, F, U, minimal necessary times for driving, waiting, and changing, a feasible timetable Πarr, Πdep, a set of paths P through PTN, with weights wp for all p ∈ P and a set of delayed events Edel, find a perturbed feasible timetable xarr, xdep, such that
$$f{\text{TDM}} = \sum{p \in \mathcal{P}: p \text{ is maintained}} wp \left( x{arr} q{(p)}^{v(p)} - \Pi{arr} q{(p)}^{v(p)} \right) + \sum{p \in \mathcal{P}: p \text{ is missed}} Tw_p$$
As before, we may assume that source delays only occur at arrival events. Note that the NP-completeness of (TDM) has recently been shown in [GJPS05].
Chapter 8 is structured as follows: We first present the formulation (TDM-A) which can be linearized to (TDM-B). It is based on looking at each customer's path as a whole. Some structural results about both formulations are mentioned, e.g., that we can assume that the optimal solution is time-minimal according to Notation 7.7. Another approach to tackle (TDM) is presented in Section 8.2. Here we add up all delays over all activities to calculate the total delay, leading to an alternative integer programming formulation (TDM-C). We show that this model is equivalent to (TDM-A) and (TDM-B). Since (TDM-C) is rather complicated we simplify the model by fixing some parameters. Fortunately, this new problem has some nice properties:
Moreover, we show that it is easy to check whether the never-meet-property holds and that it is often almost satisfied in practice. For the general case we derive heuristics, lower bounds, and finally a branch and bound approach.
Now let us use the more convenient notation introduced in Section 6.4. We hence represent the customer's paths by events, i.e.,
$$p=(i_1,i2,\ldots,i{p_L})$$
where ik ∈ E are events, and (ik, ik+1) ∈ A are activities. In each path we have that i1 is a departure event, i2 an arrival event, i3 ∈ Edep and so on until we reach the last event ipL which is again an arrival event. The following notation is the same as before, namely:
Again, consider passengers traveling along a path p ∈ P through the public transportation network, represented as event-activity network N .
Case 1: If all connections on path p are maintained, the delay of these passengers equals the arrival delay of their last event i(p), i.e., the arrival of their last vehicle at their destination station, and is hence given by yi(p).
Case 2: If at least one connection on path p is missed, the delay of the customers on path p is given by T , as before.
Suppose that some source delays di of some of the arrival events are given as an amount of time (in minutes). Let D = max{di : i ∈ E} denote the largest of these source delays. We assume that 0 <D<T .
To describe the feasible set of (TDM) we again use FeasDM (see page 108). However, to keep track of the paths which are needed in the objective function fTDM we replace the variables ¯za by variables zp for all p ∈ P with the following meaning.
$$z_p = \begin{cases} 0 & \text{if all connections on path } p \text{ are maintained} \ 1 & \text{otherwise.} \end{cases}$$
Our first integer programming formulation of (TDM) can now be presented.
$$\min f{\text{TDM-A}} = \sum{p \in \mathcal{P}} wp(y{i(p)}(1 - z_p) + Tz_p)$$
such that
$$y_i \ge di \text{ for all } i \in \mathcal{E}{del}$$ (8.1)
$$y_i - y_j \le sa \text{ for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$ (8.2)
$$-Mz_p + y_i - y_j \le sa \text{ for all } p \in \mathcal{P}, a = (i, j) \in p \cap \mathcal{A}{change}$$
$$y_i \in \mathbb{N} \text{ for all } i \in \mathcal{E}$$
$$z_p \in {0, 1} \text{ for all } p \in \mathcal{P}.$$
$$(8.3)$$
To justify that (TDM-A) is in fact a correct model for (TDM) we have to show that in all optimal solutions zp = 0 if and only if all connections on path p are maintained. Before we do this, we present some properties of optimal solutions. The first is that a vehicle can only gain a delay, if there is some reason for this, i.e., if some source delay has occurred, or if the vehicle waits for some other delayed vehicle to maintain a connection.
Let a feasible solution of (TDM-A) be given. Let
$$\mathcal{A}^{fix} = { a \in \mathcal{A} : \text{ there exists } p \in \mathcal{P} \text{ with } a \in p \text{ and } z_p = 0 }$$
denote the set of connections which are maintained in this solution. Then determine the time-minimal solution y∗ with respect to Af ix, i.e., an optimal solution of (TT(Af ix)) according to page 110. We can be sure that the timetable of this solution is as tight as possible. Finally, we reconsider all paths to find out if some additional ones are maintained and adapt the solution of z accordingly. The solution obtained by this procedure is called a reduced solution of (TDM-A).
Definition 8.2. Let (y, z) be a feasible solution of (TDM-A). Define
$$y(z) = y(\mathcal{A}^{fix}(z)), \text{ where}$$ (8.4)
$$\mathcal{A}^{fix}(z) = { a \in \mathcal{A} : \text{ there exists } p \in \mathcal{P} \text{ with } a \in p \text{ and } z_p = 0 }$$ (8.5)
$$z_p(y) = \begin{cases} 0 & \text{if } y_i - y_j \le s_a \text{ for all } a = (i, j) \in p \ 1 & \text{otherwise} \end{cases}$$ (8.6)
and the reduced solution
$$R^A(y,z) = (y^{red}, z(y^{red})),$$
where yred = y(z) is the time-minimal solution with respect to Af ix(z).
The following properties hold.
Lemma 8.3. Let (y, z) be a feasible solution of (TDM-A).
Proof. Let a feasible solution (y, z) be given.
$$\begin{split} f{\text{TDM-A}}(y,z) &\geq f{\text{TDM-A}}(y^{red},z), \text{ see part 1 of this lemma,} \ &\geq f{\text{TDM-A}}(y^{red},z(y^{red})) = f{\text{TDM-A}}(R^A(y,z)) \ &\text{ since } y^{red} < T \text{ and } z^{red} \leq z. \end{split}$$
Note that RA(y, z) = RA(RA(y, z)), i.e., reduced solutions cannot be further reduced. We now can justify the size of M in the formulation (TDM-A). Recall that D = max{di : i ∈ E}.
Lemma 8.4. M = D is large enough in (TDM-A).
Proof. Let (y∗, z∗) be an optimal solution of (TDM-A). Due to Lemma 8.3 we can assume that y∗ = y(Af ix(z∗)) is time-minimal. Hence y∗ i ≤ D (Corollary 7.9), and we obtain y∗ i − y∗ j − sa ≤ D, yielding that M ≥ D is large enough.
In the following, we always assume M ≥ D = max{di : i ∈ E}
The given formulation of model (TDM-A) can be linearized (and weakened) by substituting the quadratic term yip (1 − zp) by a new variable qp, leading to the following model (TDM-B).
$$\min f{\text{TDM-B}} = \sum{p \in \mathcal{P}} w_p (q_p + T z_p)$$
such that
$$y{i} \geq d{i} \quad \text{for all } i \in \mathcal{E}_{del}$$
$$y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$
$$-Mz{p} + y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}_{change}$$
$$-Mz{p} + y{i(p)} - q_{p} \leq 0 \quad \text{for all } p \in \mathcal{P}$$
$$q_{p} \geq 0 \quad \text{for all } p \in \mathcal{P}$$
$$y_{i} \in \mathbb{N} \quad \text{for all } i \in \mathcal{E}$$
$$z_{p} \in {0, 1} \quad \text{for all } p \in \mathcal{P}.$$
$$(8.7)$$
Proof. (TDM-A) =⇒ (TDM-B): Let (y, z) be a feasible solution of (TDM-A). According to Lemma 8.3 we can without loss of generality assume that (y, z) is a reduced solution. For all p ∈ P define qp = yi(p)(1 − zp). Since yi(p) ≤ D ≤ M we get for all p ∈ P that
$$-Mzp + y{i(p)} \le -y_{i(p)}zp + y{i(p)} = q_p.$$
Hence, (y, z, q) is feasible for (TDM-B), and both solutions have the same objective value.
(TDM-B) =⇒ (TDM-A): Let (y, z, q) be a feasible solution of (TDM-B). Then (y, z) is also feasible for (TDM-A). From (8.7) and (8.8) we conclude that
$$qp \ge y{i_p}$$
if $z_p = 0$
$q_p \ge 0$ if $z_p = 1$ .
Consequently, qp ≥ yi(p)(1 − zp), i.e., fTDM−A ≤ fTDM−B.
Here we present another model for (TDM). By activity-based we mean that we do not focus on the paths p ∈ P, but sum up the additional delay (i.e., the tension) on each single activity a ∈ A. Therefore, we use variables ¯za describing if the connection a ∈ Achange is missed (¯za = 1) or maintained (¯za = 0).
To motivate this new approach, consider some activity a ∈A\Achange. We want to calculate the additional delay customers will get while using this activity. The delay customers already have at the start of a = (i, j) is yi, and at the end of a the delay is yj . This means, the tension ta = t y a = yj −yi is the additional delay gained by the customers while performing this activity. Note that ta can be negative, meaning that slack times are used to compensate an already existing delay. For changing arcs we have to be more careful. Let a = (i, j) ∈ Achange and suppose first, that a is maintained. Then the additional delay on a is again given by the tension ta = t y a = yj−yi. On the other hand, if a is missed, the additional delay for the customers who planned to use activity a is given by T − yi = ta + T − yj , since they now have to wait the remaining time period until the next (non-delayed) vehicle arrives for carrying on their journey.
The main idea of the second model is to add up all these single delays over all activities. To this end, we have to extend the set of events and activities similar to Section 7.2, and we also extend the paths as follows: For each p ∈ P, p = (i p 1, ip 2,...,ip L) add one common additional event s representing the arrival of the customers at their first station (by a means of transport which is not considered in the delay management problem). Furthermore, we add timetable arcs
$$a = (s, i_1^p)$$
for each path p. The resulting network resembles the CPM-network N s = (Es, As(Achange)) (see Notation 7.4 on page 112) in the special case that Af ix = Achange with
$$\begin{split} \mathcal{E}^s &= \mathcal{E} \cup {s} \ \mathcal{A}^s &= \mathcal{A}^s(\mathcal{A}_{change}) = \mathcal{A} \cup {(s,i) : i \in \mathcal{E}} \text{ and } \ \mathcal{P}^s &= {(s,i_1^p, \ldots, i_L^p) : p \in \mathcal{P}}. \end{split}$$
This construction makes sure that the delay of a customer waiting at some station for his first (delayed) vehicle to come, is taken into account. We always assume that customers reach their first station without any delay, i.e.,
$$y_s = 0.$$
Now we can present the new model. As before, we assume that T,M ≥ D. The following decision variables are necessary for (TDM-C).
$$y_i = \text{delay of event } i$$ ,
as before, and
$$\begin{split} \bar{z}_a &= \begin{cases} 0 & \text{if connection } a \text{ is maintained} \ 1 & \text{otherwise,} \end{cases} \ \bar{z}_a^p &= \begin{cases} 1 & \text{if activity } a \text{ is reached on path } p \text{ without any missed} \ & \text{connection before} \ 0 & \text{otherwise,} \end{cases} \end{split}$$
wa = number of customers who really use activity a.
It is important to note that the number of customers wa (really) using activity a ∈ A is a variable, since it depends on the wait-depart decisions whether customers using a path p ∈ Ps will reach all arcs a ∈ p or not.
$$\min f{\text{TDM-C}} = \sum{a=(i,j)\in\mathcal{A}^s} w_a(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a(T - y_j)$$
such that
$$y_i \ge di$$ for all $i \in \mathcal{E}{del}$ (8.9)
$$y_i - y_j \le sa$$ for all $a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$ (8.10)
$$-M\bar{z}_a + y_i - y_j \le sa \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$ (8.11)
$$\bar{z}{a}^{p} + \sum{\substack{\bar{a} \in p \cap \mathcal{A}{change}: \ \bar{a} \prec a}} \bar{z}{\bar{a}} \ge 1 \text{ for all } p \in \mathcal{P}^{s} \text{ and } a \in p$$ (8.12)
$$\tilde{z}a^p + \bar{z}{\tilde{a}} \le 1$$ for all $p \in \mathcal{P}^s$ and for all $a, \tilde{a} \in p$
with $$\tilde{a} \in \mathcal{A}_{change}$$ and $\tilde{a} \prec a$ (8.13)
$$wa = \sum{p \in \mathcal{P}^s: a \in p} w_p \tilde{z}_a^p \quad \text{for all } a \in \mathcal{A}^s$$ (8.14)
yi ∈ IN for all i ∈ E
z¯a ∈ {0, 1} for all a ∈ As
z˜p a ∈ {0, 1} for all p ∈ Ps, a ∈ As
wa ∈ IN for all a ∈ As.
In the objective function the additional amount of delay on each activity is multiplied by the number of customers really using it. Restrictions (8.9) and (8.10) are the same as the first two restrictions in (TDM-A). In restriction (8.11) we make sure that ¯za = 1 if the connection a ∈ Achange is missed. Restriction (8.12) defines the values of ˜zp a in such a way, that they are forced to be 1, if no connection on path p before a has been missed, and (8.13) makes sure that ˜zp a = 0 for all activities a after a missed connection ˜a on path p. Finally, in (8.14) the number of customers really using activity a is calculated by summing up the number of customers really using a over all paths containing a. In the following we will show that this model is equivalent to (TDM-A) and (TDM-B). Note that in this model we can easily relax the assumption of one common time period for all vehicles, but can introduce different time periods Ta for all activities a ∈ Achange. Nevertheless, we will use only one common period T in the following.
Before we discuss the connection between (TDM-A) and (TDM-C) we show how the ¯z, z, w ˜ -variables can be constructed from a given feasible solution yi, i ∈ E. Consider (TDM-C) for some given y.
(TDM-C(y))
$$\min \sum_{a=(i,j)\in\mathcal{A}^s} w_a(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a(T - y_j)\bar{z}_a$$
such that
$$-M\bar{z}_a + y_i - y_j \leq sa \quad \text{for all } a = (i,j) \in \mathcal{A}{change}$$
$$\bar{z}a^p + \sum{\bar{a} \in p \cap \mathcal{A}{change}} \bar{z}{\bar{a}} \geq 1 \quad \text{for all } p \in \mathcal{P}^s \text{ and } a \in p$$
$$\bar{z}a^p + \bar{z}{\bar{a}} \leq 1 \quad \text{for all } p \in \mathcal{P}^s \text{ and for all } a, \bar{a} \in p$$
$$\text{with } \bar{a} \in \mathcal{A}_{change} \text{ and } \bar{a} \prec a$$
$$wa = \sum{p \in \mathcal{P}^s: a \in p} w_p \bar{z}_a^p \text{ for all } a \in \mathcal{A}^s$$
$$\bar{z}a \in {0, 1} \quad \text{for all } a \in \mathcal{A}{change}$$
$$\bar{z}_a^p \in {0, 1} \quad \text{for all } p \in \mathcal{P}^s, a \in \mathcal{A}^s$$
$$w_a \in \mathbb{N} \quad \text{for all } a \in \mathcal{A}^s.$$
A feasible solution of (TDM-C(y)) can be constructed using the following rules.
Notation 8.6. Let y ∈ IN|E| satisfy constraints (8.9) and (8.10). Define the y-constructed solution C(y) by
$$C(y) = (\bar{z}^c, \tilde{z}^c, w^c),$$
where z¯c = ¯z(y), z˜c = ˜z(¯zc), and wc = w(˜zc) are given by
$$\bar{z}_a(y) = \begin{cases} 0 & \text{if } y_i - y_j \le sa \ 1 & \text{otherwise} \end{cases} \text{ for all } a = (i, j) \in \mathcal{A}{change}, \tag{8.15}$$
$$\bar{z}{a}^{p}(\bar{z}) = \max \left{ 1 - \sum{\substack{a \in p \cap \mathcal{A}{change}: \ \bar{a} \prec a}} \bar{z}{\bar{a}}, 0 \right} \text{ for all } p \in \mathcal{P}^{s}, a \in p, \quad (8.16)$$
$$wa(\tilde{z}) = \sum{p \in \mathcal{P}^s: a \in p} w_p \tilde{z}_a^p \quad \text{for all } a \in \mathcal{A}^s.$$ (8.17)
A solution constructed by the rules above is a feasible solution.
Lemma 8.7. Let y ∈ IN|E| be given, such that (8.9) and (8.10) hold. Then (y, C(y)) is feasible for (TDM-C).
Proof. z¯ is defined in such a way that (8.11) holds, and (8.14) is also satisfied. From (8.16) we know that
$$\tilde{z}a^p \ge 1 - \sum{\substack{a \in p \cap \mathcal{A}{change}: \ \tilde{a} \prec a}} \bar{z}{\tilde{a}},$$
hence (8.12) holds. Finally, assume a, a˜ ∈ p with ˜a ∈ Achange, ˜a ≺ a and z¯a˜ = 1. Again from (8.16) we obtain that in this case ˜zp a = 0, establishing (8.13).
It also holds that this solution is optimal for (TDM-C(y)) if yi ≤ T for all i ∈ E, but the proof for this will be provided later, see Corollary 8.12. First, we discuss the connection between (TDM-A) and (TDM-C).
Theorem 8.8. Model (TDM-A) and Model (TDM-C) lead to the same set of optimal solutions y ∈ IR|E|.
Proof. First, if
p∈Ps
$$wa = \sum{p \in \mathcal{P}^s: a \in p} w_p \tilde{z}_a^p$$ for all $a \in \mathcal{A}^s$
the objective function of (TDM-C) can be reformulated to
$$f{\text{TDM-C}} = \sum{a=(i,j)\in\mathcal{A}^s} w_a(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a(T - y_j)$$
$$= \sum{a=(i,j)\in\mathcal{A}^s} \sum{p\in\mathcal{P}^s: a\in p} w_p \tilde{z}_a^p(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}{change}} \sum{p\in\mathcal{P}^s: a\in p} w_p \tilde{z}_a^p \bar{z}_a(T - y_j)$$
$$= \sum_{p\in\mathcal{P}^s} wp \left( \sum{\substack{a=(i,j)\in\mathcal{A}^s: a\in p}} \tilde{z}_a^p(y_j - yi) + \sum{\substack{a=(i,j)\in\mathcal{A}_{change}\ a\in p}} \tilde{z}_a^p \bar{z}_a(T - y_j) \right)$$
$$=: \sum_{p\in\mathcal{P}^s} w_p C_p.$$
For the objective of (TDM-A), we define
$$Ap = y{i(p)}(1 - z_p) + Tz_p.$$
(TDM-C) =⇒ (TDM-A): Let (y, z, ¯ z, w ˜ ) be feasible for (TDM-C). Define zp = zp(¯z) as follows:
$$z_p(\bar{z}) = \begin{cases} 0 & \text{if } \bar{z}a = 0 \text{ for all } a \in p \cap \mathcal{A}{change} \ 1 & \text{otherwise.} \end{cases}$$ (8.18)
Then (8.1) holds due to (8.9), (8.2) holds due to (8.10), and (8.3) is trivially satisfied, if zp = 1, and for zp = 0 we know that ¯za = 0 for all a ∈ p and hence (8.3) holds because of (8.11). This means (y, z) is feasible for (TDM-A). It remains to show that Ap ≤ Cp. To this end, let p = (s, i1,...,iL) ∈ Ps be a path with i(p) = iL.
Case 1: ¯za = 0 for all a ∈ p ∩ Achange. Then, we defined zp = 0. From (8.12) we get that ˜zp a = 1 for all a ∈ p. Hence, from Lemma 7.11 and since ys = 0 we conclude that
$$Cp = \sum{a=(i,j)\in\mathcal{A}^s: a\in p} y_j - yi = y{i_L} - y_s = A_p.$$
Case 2: There exists a ∈ p∩ Achange with ¯za = 1. Choose a minimal with respect to ≺ with this property, say
$$\bar{a} = (i{\bar{k}-1}, i{\bar{k}}).$$
Then, since ¯za, z˜p a satisfy (8.12) and (8.13) we obtain
$$\begin{split} \tilde{z}_a^p &= 0 \text{ for all } a \in p \text{ with } \bar{a} \prec a \ \tilde{z}_a^p &= 1 \text{ for all } a \in p \text{ with } a \preceq \bar{a}. \end{split}$$
Hence, for all a ∈ Achange ∩ p we get
$$\tilde{z}_a^p \bar{z}_a = \begin{cases} 1 & \text{if } a = \bar{a} \ 0 & \text{otherwise.} \end{cases}$$
This yields
$$Cp = \sum{\substack{a = (i,j) \in \mathcal{A}^s : a \in p \ \text{and } a \leq \bar{a}}} y_j - yi + (T - y{i{\bar{k}}})$$ $$= y{i{\bar{k}}} - y{i0} + T - y{i_{\bar{k}}} = T = A_p.$$
Together,
$$f{\text{TDM-C}}(y, \bar{z}, \tilde{z}, w) = f{\text{TDM-A}}(y, z(\bar{z})).$$ (8.19)
(TDM-A) =⇒ (TDM-C): Now let a feasible solution (y, z) of (TDM-A) be given. We assume that yi ≤ T for all i ∈ E, otherwise we can take a timeminimal solution instead of (y, z) with equal or better objective value according to Lemma 8.3 on page 123, and know that this new solution satisfies yi ≤ D ≤ T , see Corollary 7.9 (page 114). Since y satisfies (8.1) and (8.2) we can apply Lemma 8.7 and derive some feasible solution for (TDM-C) according to (8.15),(8.16), and (8.17). For the objective values of this solution we again look at Cp and Ap for some path p = (s, i1,...,iL) ∈ Ps and get:
Case 1: If zp = 0, we get from (8.3) that yi −yj ≤ sa for all a = (i, j) ∈ p. Hence, due to the definition of ¯za we conclude that ¯za = 0 for all a ∈ p ∩ Achange, yielding
$$Cp = y{i(p)} = A_p$$
analogously to Case 1 of the first part of the proof.
Case 2: Now consider the case that zp = 1.
Case 2a: yi − yj ≤ sa for all a = (i, j) ∈ p, yielding that ¯za = 0 for all a ∈ p and hence
$$Cp = y{i(p)} \le T = A_p.$$
Case 2b: There exists a = (i, j) ∈ p such that yi − yj > sa. This gives us ¯za = 1, and choose ¯a = (ik¯−1, ik¯) minimal with respect to ≺ with this property. Then, from the definition of ˜zp a we get
$$\tilde{z}_a^p = 0$$ for all $a \in p$ with $\bar{a} \prec a$ $\tilde{z}_a^p = 1$ for all $a \in p$ with $a \preceq \bar{a}$
and finally, analogously to Case 2 of the first part of the proof,
$$C_p = T = A_p$$ .
Together, these three cases give us that for yi ≤ T , i ∈ E:
$$f{\text{TDM-A}}(y,z) \ge f{\text{TDM-C}}(y,C(y)).$$ (8.20)
Putting both directions together yields that there exists an optimal solution for (TDM-A) with perturbed timetable y if and only if there exists an optimal solution for (TDM-C) with the same perturbed timetable y.
We are now able to show how to improve a given feasible solution of (TDM-C) to a so-called reduced feasible solution, analogously to the concept of a reduced solution on page 123. The motivation to deal with reduced solutions is to exclude such feasible solutions which are obviously not optimal. For example, if the y variables are obviously too large, or if ¯z is not chosen optimally. To exclude the first problem, we can use the time-minimal solution instead of the given one. This has already been formalized in Chapter 7 by defining time-minimal solutions through (TT(Af ix)) (see page 110).
Definition 8.9. Let (y, z, ¯ z,w ˜ ) be a feasible solution of (TDM-C). Define the reduced solution
$$R^C(y, \bar{z}, \tilde{z}, w) = (y^{red}, C(y^{red}))$$
by
$$\mathcal{A}^{fix}(\bar{z}) = { a \in \mathcal{A}_{change} : \bar{z}_a = 0 }$$
$$y^{red} = y(\mathcal{A}^{fix}(\bar{z})), \tag{8.22}$$
and C(yred) according to Notation 8.6 on page 127.
The following statement ensures that RC (RC(y, z, ¯ z, w ˜ )) = RC(y, z, ¯ z, w ˜ ), i.e., a reduced solution cannot be further reduced.
Lemma 8.10. Let (yred, z¯red, z˜red, wred) = RC(y, z, ¯ z, w ˜ ) be a reduced solution. Then
Proof. The first statement follows directly from Definition 8.9. For the second statement we note that ¯zred ≤ z¯, meaning that
$$\mathcal{A}^{fix}(\bar{z}) \subseteq \mathcal{A}^{fix}(\bar{z}^{red})$$
and hence TT(Af ix(¯z)) is a relaxation of TT(Af ix(¯zred)). But since the optimal solution yred of TT(Af ix(¯z)) is feasible for the non-relaxed optimization problem TT(Af ix(¯zred)) it is the optimal solution, i.e., yred = y(Af ix(¯zred)).
We finally can prove that the reduced solutions of (TDM-C) are never worse than the original ones, similarly to Lemma 8.3.
Theorem 8.11. Let di ≤ DC(y, z, ¯ z,w ˜ ) is feasible for (TDM-C) and
$$f{\text{TDM-C}}(R^C(y, \bar{z}, \tilde{z}, w)) \le f{\text{TDM-C}}(y, \bar{z}, \tilde{z}, w).$$
Proof. Let (y, z, ¯ z, w ˜ ) be any feasible solution of (TDM-C). Replacing y by yred = y(Af ix(¯z)) is still a feasible solution, since (8.9) and (8.10) hold due to (7.1) and (7.2), where the latter also ensures (8.11). The remaining conditions only depend on ¯z, z˜, and w, and thus they are also satisfied.
For showing that the objective function value of (TDM-C) does not increase we first remark that due to the optimality of yred (for TT(Af ix(¯z))) we have
$$y_i \ge y_i^{red} \text{ for all } i \in \mathcal{E}$$ (8.23)
due to part 1 of Lemma 7.8 (see page 114). Now we use the equivalence between (TDM-C) and (TDM-A). From ¯z we construct z(¯z) according to (8.18) on page 129, and note that both (y, z(¯z)) and (yred, z(¯z)) are feasible for (TDM-A) since (y, z, ¯ z, w ˜ ) and (yred, z, ¯ z, w ˜ ) are both feasible for (TDM-C) (see the first direction in the proof of Theorem 8.8).
Hence,
$$\begin{split} f{\text{TDM-C}}(y,\bar{z},\bar{z},w) &= f{\text{TDM-A}}(y,z(\bar{z})) \ &\text{due to (8.19), see page 129 in the proof of Theorem 8.8} \ &= \sum_{p \in \mathcal{P}} wp(y{i(p)}(1-z_p(\bar{z})) + Tzp(\bar{z})) \ &\geq \sum{p \in \mathcal{P}} wp(y{i(p)}^{red}(1-z_p(\bar{z})) + Tzp(\bar{z})), \text{ see (8.23)} \ &= f{\text{TDM-A}}(y^{red},z(\bar{z})) \ &\geq f{\text{TDM-C}}(y^{red},C(y^{red})) \ &\text{due to (8.20), see page 130 in the proof of Theorem 8.8} \ &= f{\text{TDM-C}}(R^C(y,\bar{z})). \end{split}$$
Using the equivalence of (TDM-A) and (TDM-C) it is now easy to show that C(y) is an optimal solution of (TDM-C(y)), if yi ≤ T for all i ∈ E. In particular, replacing (¯z, z, w ˜ ) by C(y) will always yield the same or a better objective function value for (TDM-C).
Corollary 8.12. Let yi ≤ T for all i ∈ E. Then C(y) is the optimal solution of (TDM-C(y)).
Proof. From Lemma 8.7 we know that (y, C(y)) is feasible for (TDM-C). Similar to the proof of Theorem 8.11 we get for all feasible solutions (¯z, z, w ˜ ) of (TDM-C(y)) that
$$f{\text{TDM-C}}(y, \bar{z}, \bar{z}, w) \ge f{\text{TDM-A}}(y, z(\bar{z}))$$
due to (8.19), see page 129 in the proof of Theorem 8.8
$\ge f_{\text{TDM-C}}(y, C(y))$
due to (8.20), see page 130 in the proof of Theorem 8.8,
where the latter inequality relies on the assumption yi ≤ T .
On a first glance, (TDM-C) does not seem to be useful for solving the delay management problem better than (TDM-A), since it is much larger:
But note again that (TDM-C) is more general since it allows one to replace the common time period T by time periods Ta for each changing activity a ∈ Achange. Even with a common time period T we will need (TDM-C) to derive and solve a special case of (TDM) in the next section. We conclude this section by using (TDM-C) to derive a reduction result for (TDM) based on the following idea: Assume that the slack times are so large that the delay disappears after a few activities. Then we need not consider events which can not gain any delay in the worst-case time-minimal solution.
Lemma 8.13. Let y = y(Achange) be an optimal solution of TT(Achange). Then there exists an optimal solution (y∗, z¯∗, z˜∗, w∗) of (TDM-C) such that
Proof. Using Theorem 8.11 we can assume that (y∗, z¯∗, z˜∗, w∗) is a reduced solution, in particular, y∗ = y(Af ix(¯z∗)). Since Af ix(¯z∗) ⊆ Achange we know from part 2 of Lemma 7.8 that y∗ ≤ y, in particular, y∗ i = 0 if yi = 0. Furthermore, ¯z∗ satisfies (8.15) (see page 128). Hence ¯z∗ a = 0 since y∗ i − y∗ j ≤ 0 ≤ sa.
This kind of reduction will be referred to as late reduction.
Notation 8.14. Ered−late = {i ∈ E : yi(Achange) > 0} denotes the set of events that need to be considered.
In the following we always can assume that E = Ered−late. (Note that in realworld instances, late reduction often leads to significantly smaller networks.)
The simplification we suggest for solving (TDM-C) is to fix the weights wa as parameters instead of calculating them during the optimization. Doing so, we obtain the total delay management problem with constant weights . Its formulation is given by deleting constraints (8.12), (8.13), and (8.14) in (TDM-C), and fixing
$$wa = \sum{p \in \mathcal{P}^s : a \in p} w_p \text{ for all } a \in \mathcal{A}^s$$
as parameters, i.e., setting wa as the "traffic load" on activity a. We obtain the following program.
$$\min f{\text{TDM-const'}} = \sum{a=(i,j)\in\mathcal{A}^s} w_a(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a(T - y_j)$$
such that
$$y_i \geq di \quad \text{for all } i \in \mathcal{E}{del}$$
$$y_i - y_j \leq sa \quad \text{for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$
$$-M\bar{z}_a + y_i - y_j \leq sa \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$
$$y_i \in \mathbb{N} \quad \forall i \in \mathcal{E}$$
$$\bar{z}_a \in {0, 1} \quad \forall a \in \mathcal{A}^s.$$
Again, M = maxi∈E di is large enough.
In the following we will identify cases where we make no mistake by fixing the weights as proposed above. In the general case, if we process the decisions iteratively we can adapt the weights according to the decisions that have been fixed in preceding steps. This idea will be utilized in the branch and bound approach (Algorithm 20) in Section 8.6. We can further rewrite fTDM−constas follows. For i ∈ E let
$$wi = \sum{p \in \mathcal{P}: i(p) = i} w_p \tag{8.24}$$
be the number of customers with final destination i. For all changing activities a ∈ Achange we further use
$$w{a} = \sum{p \in \mathcal{P}^{s}: a \in p} w_{p}$$
$$= \sum{p \in \mathcal{P}: a \in p} w{p}$$ (8.25)
as the number of customers who plan to use changing activity a. Since
$$\begin{split} \sum_{a=(i,j)\in\mathcal{A}^s} w_a(y_j-yi) &= \sum{p\in\mathcal{P}^s} wp \sum{a=(i,j)\in p} y_j - yi \ &= \sum{p\in\mathcal{P}} wp(y{i(p)}-ys) \ &\text{due to Lemma 7.11, see page 115} \ &= \sum{i\in\mathcal{E}} \sum_{\substack{p\in\mathcal{P}:\i(p)=i}} w_p yi \ &= \sum{i\in\mathcal{E}} w_i y_i \end{split}$$
we rewrite
$$\begin{split} f{\text{TDM-const'}} &= \sum{a=(i,j)\in\mathcal{A}^s} w_a(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a(T - yj) \ &= \sum{i\in\mathcal{E}} w_i yi + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a(T - y_j). \end{split}$$
Unfortunately, in general, we make a mistake by fixing the weights as above. This is illustrated in Figure 8.2 as follows.
Fig. 8.2. A PTN in which (TDM-const) is not correct.
We assume that there are three vehicles 1,2, and 3, where vehicle 1 and vehicle 3 reach the stations v2 and v3 with a delay. We consider a path p = (v1, 1, v2, 2, v3, 2, v4). Customers on this path use vehicle 1 until they reach station v2; here they wish to change to vehicle 2 and to go on to stations v3 and v4. Suppose that vehicle 2 is not waiting for vehicle 1 at station v2, such that the path p is missed. Assume further that vehicle 2 waits for the delayed vehicle 3 at station v3. If we have not adapted the weights, the customers on path p are counted twice: First, since they missed their connection at station v2, and secondly, since they reach their final destination v4 with a delay. This double counting might influence decisions in the wrong way.
Fortunately, we are able to identify problem instances for which the model with constant weights is correct. One trivial case is, if no path in P contains a changing arc, i.e., no customer plans to change. A more interesting case, in which we make no mistake by using the constant weights will be described next.
Since fTDM−const still is no linear function we first further simplify the model. We would like to forget about subtracting yj in the second part of the objective, to obtain a linear program. As usual, let M ≥ D and recall that
for $$i \in \mathcal{E}$$ : $wi = \sum{p \in \mathcal{P}: i(p) = i} wp$ and for $a \in \mathcal{A}{change}$ : $wa = \sum{p \in \mathcal{P}: a \in p} w_p$
are fixed parameters in the following model.
$$\min f{\text{TDM-const}} = \sum{i \in \mathcal{E}} w_i yi + \sum{a \in \mathcal{A}_{change}} w_a T \bar{z}_a$$
such that
$$y_i \ge di$$
for all $i \in \mathcal{E}{del}$ (8.26)
$y_i - y_j \le sa$ for all $a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$ (8.27)
$$-M\bar{z}_a + y_i - y_j \le sa \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$
$$y_i \in \mathbb{N} \quad \forall i \in \mathcal{E}$$
$$\bar{z}a \in {0, 1} \quad \text{for all } a \in \mathcal{A}{change}.$$
$$(8.28)$$
Surprisingly, (TDM-const) is equivalent to (TDM) in a large class of practical examples. Before we define this class of problems and prove the correctness of (TDM-const) in these cases (see Theorem 8.21), we show that each feasible solution of (TDM-const) yields an upper bound on (TDM).
Lemma 8.15. Let (y, z¯) be feasible for (TDM-const). Let fTDM be the optimal objective value for (TDM). Then
$$f{\text{TDM-const}}(y, \bar{z}) \ge f{\text{TDM}}.$$
Proof. Let (y, z¯) be a feasible solution of (TDM-const). It can be extended to a feasible solution of (TDM-C) by defining ˜zc = ˜z(¯z) and wc = w(˜z) according to (8.16) and (8.17). Calculating also z(¯z) finally gives us a feasible solution (y, z(¯z)) of (TDM-A) and the correct weights wc a and wc i for the solution (y, z¯), i.e.,
$$wi^c = \sum{p \in \mathcal{P}: i(p) = i} w_p z_p \text{ for all } i \in \mathcal{E}$$ (8.29)
$$wa^c = \sum{p \in \mathcal{P}: a \in p} w_p \tilde{z}a^p \text{ for all } a \in \mathcal{A}{change}.$$ (8.30)
We know that the correct weights wc are smaller as the parameters w in (TDM-const), i.e.,
$$w_a^c \le w_a \text{ and } w_i^c \le w_i. \tag{8.31}$$
Moreover, note that
$$zp(\bar{z}) \le \sum{\substack{a \in \mathcal{A}_{change}:\ a \in p}} \tilde{z}_a^p \bar{z}_a, \tag{8.32}$$
since, if zp = 1 there exists a ∈ p with za = 1. For a minimal (w.r.t. ≺) with this property, we additionally know that ˜zp a = 1, hence ¯zaz˜p a = 1 ≥ zp. This gives us
$$\begin{split} f{\text{TDM-const}}(y,\bar{z}) &= \sum{i \in \mathcal{E}} w_i yi + \sum{a \in \mathcal{A}_{change}} w_a T \bar{z}a \ &\geq \sum{i \in \mathcal{E}} w_i^c yi + \sum{a \in \mathcal{A}_{change}} w_a^c T \bar{z}a, \quad \text{see (8.31)} \ &= \sum{i \in \mathcal{E}} \sum_{\substack{p \in \mathcal{P} \ i(p) = i}} w_p (1-z_p) yi + \sum{a \in \mathcal{A}{change}} \sum{p \in \mathcal{P}: a \in p} w_p \bar{z}_a^p \bar{z}a T \ &= \sum{p \in \mathcal{P}} w_p \left( (1-zp) y{i(p)} + \sum{a \in \mathcal{A}{change}: a \in p} \bar{z}_a^p \bar{z}a T \right) \ &\geq \sum{p \in \mathcal{P}} w_p \left( (1-zp) y{i(p)} + w_p zp T \right), \quad \text{see (8.32)} \ &= f{\text{TDM-A}}(y, z) = f_{\text{TDM-C}}(y, \bar{z}, \tilde{z}, w^c). \end{split}$$
i.e., each feasible solution of (TDM-const) gives an upper bound on (TDM).
To specify problem instances for which (TDM-const) is correct, we first need some technical details.
Suppose that a set of connections Af ix ⊆ Achange which have to be maintained is given, and let y∗ be the time-minimal solution respecting these connections, where we have set all slack times to zero. Recall that
$$\mathcal{A}(\mathcal{A}^{fix}) = \mathcal{A}{wait} \cup \mathcal{A}{drive} \cup \mathcal{A}^{fix},$$
see Notation 7.2 on page 111. We want to show that in this solution the delay spreads out along all paths emanating at a delayed event. To this end we first need the following notation.
Notation 8.16. Let y0(Af ix) denote the optimal solution of (TT(Af ix)), where the slack times are all set to 0.
The following properties hold in the case of zero slack times.
Lemma 8.17. Let $$\mathcal{A}^{fix} \subseteq \mathcal{A}_{change}$$ and $y^0 = y^0(\mathcal{A}^{fix})$ . Then
$$y^0 \ge y(\mathcal{A}^{fix})$$ .
Let p be any path consisting of activities a ∈ A(Af ix) and let i ∈ p. If y0 i > 0 then y0 j > 0 for all j ∈ p with i ≺ j.
Proof. 1. Induction. Let y0 = y0(Af ix) and y = y(Af ix).
Start: Let i be a minimal element of E. Then y0 i =0= yi.
Conclusion: Let the induction hypothesis be true for all j ≺ i. Then
$$\begin{split} yi^0 &= \max{a = (j,i) \in \mathcal{A}(\mathcal{A}^{fix})} yj^0 \ &\geq \max{a = (j,i) \in \mathcal{A}(\mathcal{A}^{fix})} y_j^0 - sa \ &\geq \max{a = (j,i) \in \mathcal{A}(\mathcal{A}^{fix})} y_j - s_a = y_i. \end{split}$$
Start: y0 i > 0 due to the assumption.
Conclusion: Take il ∈ p, l ≥ 1. Let the induction hypothesis be true for all k<l. Then
$$y{i{l}}^{0} = \max{a=(j,i{l})\in\mathcal{A}(\mathcal{A}^{fix})} y_{j}^{0}$$
$\geq y_{l-1}^{0} > 0.$
We are now in a position to introduce the never-meet-property.
Definition 8.18. The delay management problem has the never-meet property if for each Af ix ⊆ Achange the time-minimal solution y = y0(Af ix) satisfies the following two conditions for all j ∈ Ered−late:
If (i1, j),(i2, j) ∈ Af ix ∪ Await ∪ Adrive, and yi2 > 0 then yi1 = 0.
If (i1, j) ∈ A, and dj > 0 then yi1 = 0.
Fig. 8.3. Illustration of condition 1 of the never-meet property in N .
Within the special structure of N = (E, A) the first condition is always satisfied for j ∈ Earr, since each arrival event has exactly one incoming edge. For j ∈ Edep, at least one of the two edges (i1, j) and (i2, j) has to be in Achange. The situation that is not allowed to happen is depicted in Figure 8.3. The interpretation of the never-meet property is the following: By calculating the time-minimal solution with respect to some given ¯z, but without using slacktimes, we can find out how far the source delays can spread out in this solution in the worst case. The never-meet property requires that in no feasible solution of (TDM) will two delayed vehicles meet, and that source delays can only occur after non-delayed events. Our goal is to show that we can fix the weights as in (TDM-const) without making any mistake, if the never-meet property holds.
Notation 8.19. Let Af ix ⊆ Achange and i ∈ E. Define
$$\mathcal{H}(i, \mathcal{A}^{fix}) = { j \in \mathcal{E} : \text{ there exists a path from } i \text{ to } j \ \text{consisting only of activities in } \mathcal{A}(\mathcal{A}^{fix}) } \cup { i }.$$
For all j ∈ H(i, Af ix) we hence have i j. An illustration of H(i, Af ix) is given in Figure 8.4.
Fig. 8.4. Illustration of H(i, Af ix) (grey discs). The dashed arrows represent the non-fixed changing activities, the dotted arrows the fixed changing activities and the solid arrows waiting and driving activities.
We now can state the following property, which is important for proving the next theorem, but will also be needed for Algorithm 15 and for Algorithm 20.
Lemma 8.20. Let (TDM) have the never-meet property and let (y, z, ¯ z, w ˜ ) be a reduced feasible solution of (TDM-C). Let a˜ = (˜i, ˜j) ∈ Achange. If z¯a˜ = 1 we have the following.
1. yi = 0 for all i ∈ H(˜j, Achange),
2. z¯a = 0 for all a = (i, j) with i ∈ H(˜j, Achange).
Proof. Let H = H(˜j, Achange). First of all, note that
$$y{\tilde{i}} - y{\tilde{j}} > s_{\tilde{a}}$$
holds since ¯za is given according to (8.15) and hence would have been set to 0 in the case that y˜i − y˜j ≤ sa˜. Especially we know that
$$y_{\tilde{i}} > 0. \tag{8.33}$$
Now add all changing activities with both endpoints in H to Af ix(¯z), i.e.,
$$\mathcal{A}{add}^{fix} = { a \in \mathcal{A}{change} : \bar{z}a = 0 } \cup { a = (i, j) \in \mathcal{A}{change} : i, j \in \mathcal{H} }$$
and consider the solution y0 = y0(Af ix add) and the given reduced solution y, for which we know from Lemma 8.10 that
$$y = y(A^{fix}(\bar{z})). \tag{8.34}$$
According to part 1 of Lemma 8.17 we obtain
$$y^0 \geq y(\mathcal{A}_{add}^{fix}) \geq y(\mathcal{A}^{fix}) = y,$$
where the second ≥ holds since Af ix ⊆ Af ix add, see part 2 of Lemma 7.8. From (8.33) we hence get
$$y_{\tilde{i}}^0 > 0.$$ (8.35)
Now consider i ∈ H. We want to show that yi = 0. Since i ∈ H there exists a path p from ˜j to i. In the solution y0 without slack times, the delay y˜i > 0 is transferred along p, since we added all connections on p to Af ix, see part 2 of Lemma 8.17. We hence obtain
$$y_i^0 > 0 \text{ for all } i \in \mathcal{H}.$$ (8.36)
From the never-meet property, and since y0 ˜i > 0 we hence conclude that
$$d_i = 0 \text{ for all } i \in \mathcal{H}.$$ (8.37)
Consequently, since y ≤ y0 we obtain
$$y_j = 0$$
for all $j \in \mathcal{E} \setminus \mathcal{H}$ such that there exists
$i \in \mathcal{H}$ with $(j, i) \in \mathcal{A}$ . (8.38)
Again, recall that y = y(Af ix(¯z)) according to (8.34). Hence we can apply Corollary 7.6 (see page 113) and use that y satisfies
$$y_j = \max{dj, \max{a=(i,j)\in\mathcal{A}(\mathcal{A}^{fix})} y_i - s_a}.$$
To show that yi = 0 for all i ∈ H we finally can use induction as follows.
Start: Take ˜j as minimal element of H (with respect to ≺). Then ¯za˜ = 1 (due to the assumption in the lemma), such that ˜a ∈ A(Af ix). Furthermore, according to the never-meet property,
$$y{\tilde{j}} = \max{d{\tilde{j}}, \max_{a=(j,\tilde{j})\in\mathcal{A}(\mathcal{A}^{fix})} y_j - s_a} = 0.$$
Conclusion: Consider i ∈ H. Let (j, i) ∈ A(Af ix). Then, for j ∈ H the induction hypothesis yields yj = 0 since this holds for all j ∈ H with j ≺ i. On the other hand, for j ∈ H we conclude yj = 0 from (8.38). Furthermore, di = 0 (8.37). Together, we obtain
$$y_i = \max{di, \max{a=(j,i)\in\mathcal{A}(\mathcal{A}^{fix})} y_j - s_a} = 0.$$
For the second condition of the lemma consider a = (i, j) ∈ Achange with i ∈ H. Then j ∈ H and from part 1 of the lemma we conclude that yi = yj = 0, hence, yi − yj ≤ sa and ¯za = 0 since ¯z = ¯z(y) according to (8.15).
Theorem 8.21. Model (TDM-const) is correct if the never-meet property holds.
Proof. We show that (TDM-C) and (TDM-const) are equivalent in this case. First, given a solution (y, z¯) of (TDM-const), we know from Lemma 8.15 that there exists a feasible solution of (TDM-C) with equal or better objective value.
The other direction is the interesting one: We show that each feasible solution of (TDM-C) corresponds to a feasible solution of (TDM-const) with the same or better objective value. More precisely, given some feasible solution of (TDM-C), let (y, z, ¯ z,w ˜ c) denote the corresponding reduced feasible solution. We show that y, z¯ is a feasible solution of (TDM-const) with the same objective value.
Feasibility of y, z¯ for (TDM-const) is trivially satisfied. It remains to show that
$$f{\text{TDM-C}}(y, \bar{z}, \tilde{z}, w) = f{\text{TDM-const}}(y, \bar{z}).$$
To this end, suppose that for some ¯a = (¯i, ¯j) ∈ A
$$w{\bar{a}} \neq w{\bar{a}}^c$$ .
We have to show that in this case
$$y{\bar{j}} - y{\bar{i}} = 0,$$
and that for ¯a ∈ Achange,
$$Tz_{\bar{a}}=0,$$
meaning that the error we make by calculating the weights will not influence the value of the objective function. Note that this is satisfied if ¯i ∈ Ered−late, since we consider a time-minimal solution. From wa¯ = wc a¯ we get (by comparing (8.17) and (8.25), respectively), that
$$\begin{split} \sum_{p \in \mathcal{P}^s: \bar{a} \in p} wp &= w{\bar{a}} \ &\neq w{\bar{a}}^c = \sum{p \in \mathcal{P}^s: \bar{a} \in p} wp \tilde{z}{\bar{a}}^p. \end{split}$$
Hence there exists some path p ∈ P containing ¯a such that ˜zp a¯ = 0. Since we deal with a reduced solution we know that ˜z is given by (8.16) (on page 128), and hence there exists ˜a ∈ p with ˜a ≺ a¯ and ¯za˜ = 1. Without loss of generality let us take ˜a = (˜i, ˜j) minimal with this property, i.e., we choose the first changing activity on path p that is marked as missed. For an illustration, see Figure 8.5.
Fig. 8.5. The path p in the proof of Theorem 8.21. The grey events belong to H(˜j, Achange).
Since ¯i, ¯j ∈ H(˜j, Achange) we derive from Lemma 8.20 that
Hence,
$$y{\bar{j}} - y{\bar{i}} = 0,$$
and if ¯a ∈ Achange,
$$Tz_{\bar{a}}=0,$$
which completes the proof.
The next question is, how to find out efficiently, whether the never-meet property holds? To this end, we suggest the following algorithm.
Input: N , di, sa.
Output: Answer yes or no.
Step 1. Calculate y(Achange) by Algorithm 12. Let
$$\mathcal{E} = \mathcal{E} \cap {i : y_i > 0},$$
$$\mathcal{A} = {(i, j) \in \mathcal{A} : i, j, \in \mathcal{E}}.$$
Step 2. Calculate y0(Achange) for the reduced network N = (E, A) by Algorithm 12.
Step 3. If the conditions of Definition 8.18 hold in this particular solution, the answer is yes, otherwise no. Step 4. Stop.
The algorithm is based on the fact that it is enough to test the never-meet property in the worst case, namely, if all connections are maintained. If no two delayed vehicles will meet in this particular feasible solution, it can also not happen in any other feasible solution of (TDM) (with zero slack times). Formally, this is justified in the following theorem.
Proof. We have to show that conditions 1. and 2. of Definition 8.18 hold for all Af ix ⊆ Achange if they hold for Af ix = Achange. Let y∗ = y0(Achange) be the time-minimal solution of TT(Achange) with zero slack times, and let y = y0(Af ix) be the time-minimal solution of TT(Af ix) with zero slack times for any other Af ix ⊆ Achange. Then
$$y \leq y^*$$
according to part 2 of Lemma 7.8 (page 114). Consequently, for all j ∈ E we know the following.
So far, we have shown that (TDM-const) is correct, whenever the never-meet property holds, and that this property can be tested efficiently. Furthermore, our numerical results indicate that the never-meet property often is almost satisfied in practice. For example, a real-world situation of 120 delayed vehicles
within the city of Kaiserslautern, each of them with a source delay of 10 minutes leads to only 148 conflicts with the never-meet property considering the set U10 as connections. A further analysis with randomly chosen source delays is shown in Figures 8.6 and 8.7. In both figures the graphed functions correspond to the different sets of relevant connections. The lowest function uses U5 as its set of connections, the next function corresponds to U10, then U30, and the top function refers to U60, confirming that the number of conflicts with the never-meet property increases if the set of connections is enlarged. Figure 8.6 shows the number of conflicts with the never-meet property as a function of the source delay, if we assume that 10 vehicles are delayed. It turns out that we can expect less than 50 conflicts if the source delays are smaller than 15 minutes.
Fig. 8.6. Conflicts with the never-meet property as a function of the source delay, if 10 vehicles are delayed.
In Figure 8.7 the number of conflicts with the never-meet property is depicted as a function of the number of delayed vehicles. For this figure we assume a source delay of 15 minutes. Again, it turns out that not more than 50 conflicts are likely if the number of delayed vehicles is smaller than 10. The reason for the relatively low number of conflicts in practice is in particular due to the fact that only events in Ered−late that can gain a delay need to be considered (see Lemma 8.13 on page 133). Furthermore, most conflicts with the nevermeet property arise at events within the city traffic included in our data, while the never-meet property is more likely to hold for transportation systems in a rural environment. A slightly more elegant formulation of the never-meet property and a detailed analysis of the never-meet property in a real-world railway example is presented in [Sch06].
But all this is only helpful if we can take advantage of the simplified model with constant weights in terms of solving it. In the next two sections we will
Fig. 8.7. Conflicts with the never-meet property as a function of the number of delayed vehicles, assuming a source delay of 15 minutes for each vehicle.
hence discuss (TDM-const) in more detail, while in Section 8.6 we will show how (TDM-const) can be used for solving the general problem (TDM).
First, let us consider the special case (TDM-const-zero), in which
Let y be a time-minimal solution to this problem. Then, from Corollary 7.6 (see page 113) we conclude, that
$$y_i \in {0, D}$$
for all i ∈ E. This means that we can use binary variables yi instead of integer ones, with
$$y_i = \begin{cases} 1 & \text{if event } i \text{ is delayed by } D \ 0 & \text{if event } i \text{ is not delayed.} \end{cases}$$
Consequently, M = 1 is large enough and (TDM-const) — even with the first objective fTDM−const introduced on page 134 — simplifies to the following linear program. Recall that Edel = {i ∈ E : di > 0} is the set of events with a source delay di > 0.
$$\min \sum_{a=(i,j)\in\mathcal{A}^s} w_a D(y_j - yi) + \sum{a=(i,j)\in\mathcal{A}_{change}} w_a \bar{z}_a (T - D)$$
such that
$$-yi \le -1$$ for all $i \in \mathcal{E}{del}$ (8.39)
$$y_i - yj \le 0$$ for all $a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$ (8.40)
$$\bar{z}_a + y_i - yj \le 0$$
for all $a = (i, j) \in \mathcal{A}{change}$ (8.41)
$y_i \in {0, 1} \ \forall i \in \mathcal{E}$
$\bar{z}a \in {0, 1} \ \forall a \in \mathcal{A}{change},$
where wa = p∈Ps:a∈p wp for all a ∈ As are given parameters as before (see, e.g., (8.25)).
Theorem 8.23. (TDM-const-zero) can be solved in polynomial time.
Proof. Let C = |Achange|, C¯ = |Adrive ∪ Await| and D¯ = |Edel|. Moreover, let IK denote the unit matrix of size K × K and OK,L the zero matrix of size K × L. Then the coefficient matrix of (TDM-const-zero) is
$$\varPhi = \begin{pmatrix} -I{\bar{D}} & 0{\bar{D},C} \ \Theta^T & 0_{\bar{C},C} \ \hline I_C \end{pmatrix},$$
where the |A|×|E|-matrix ΘT is the transpose of the node-arc-incidence matrix Θ of N (as defined on page 115). Since Θ is totally unimodular (see [NW88], or Appendix A), ΘT is. Adding a unit matrix on the right-hand side or above a totally unimodular matrix still yields a totally unimodular matrix (again, see Appendix A). Hence, Φ is totally unimodular. This means that all basic solutions of (TDM-const-zero) are integer and hence the LP-relaxation of (TDM-const-zero) can be used to solve the problem in polynomial time by linear programming methods.
Note that (TDM-const-zero) is equivalent to the models developed independently in diploma theses by Kliewer [Kli00a] and Scholl [Sch01b], where the latter author also recognized the total unimodularity of the model.
The consequence of this result is that minimizing the total delay can be done efficiently if the never-meet property holds, all source delays are of the same amount, and all slack times are zero. If the slack times are not all zero, we can at least use (TDM-const-zero) as a bound.
Lemma 8.24. Let fTDM−const−zero be the optimal objective value of (TDMconst-zero), and fTDM−const be the optimal objective value of (TDM-const). Then
$$f{\text{TDM-const-zero}} \ge f{\text{TDM-const}}$$ .
Proof. Let (y, z¯) be any feasible solution of (TDM-const-zero). Defining ˜yi = D for all i ∈ E with yi = 1 yields a feasible solution (˜y, z¯) for (TDM-const) with
$$f{\text{TDM-const-zero}}(y,\bar{z}) = f{\text{TDM-const}}(\tilde{y},\bar{z}),$$
i.e., fTDM−const−zero(y, z¯) is an upper bound on (TDM-const) for all feasible solutions of (TDM-const-zero).
In this section we discuss the more general case of (TDM-const) as given on page 136, where we do not have zero slack times. Note that (TDM-const) (see page 136) without constraints (8.28) is efficiently solvable by the methods discussed in Chapter 7. Nevertheless, the Lagrange-relaxation of these constraints will not give any better bound than the LP-relaxation, since all extreme points of the relaxed feasible set
$${y \in \mathbb{R}^{|\mathcal{E}|} : y_i \ge d_i \text{ for all } i \in \mathcal{E} \text{ and}$$
$y_i - y_j \le sa \text{ for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}}$
are integral according to Theorem 7.1, see integer programming textbooks such as [Wol98] or [NW88]. A brief review of this result is given in Appendix A. Accordingly, we investigate the LP-relaxation of (TDM-const), given by the following formulation.
$$\min f{\text{TDM-const}} = \sum{i \in \mathcal{E}} w_i yi + \sum{a \in \mathcal{A}_{change}} w_a T \bar{z}_a$$
such that
$$y_i \ge di \quad \text{for all } i \in \mathcal{E}{del}$$ (8.42)
$$y_i - y_j \le sa$$ for all $a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$ (8.43)
$$-M\bar{z}_a + y_i - y_j \le sa \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$
$$y_i \ge 0 \quad \forall i \in \mathcal{E}$$
$$\bar{z}_a \ge 0 \quad \forall a \in \mathcal{A}^s.$$
$$(8.44)$$
We denote (as before) C = |Achange|, C¯ = |Adrive ∪ Await|, IK as the unit matrix of size K × K and OK,L as the zero matrix of size K × L. Then the coefficient matrix of (LP-TDM-const) is
$$\left(\frac{0_{|\mathcal{E}|+\bar{C},C}}{-MIC}\middle|\frac{-I{|\mathcal{E}|}}{-\Theta^T}\right).$$
The transpose of the coefficient matrix is hence given by
$$\left( \frac{O{C,|\mathcal{E}|} \left| O{C,\bar{C}} \right| - MIC}{-I{|\mathcal{E}|} \right| - \Theta} \right).$$
Since
$$\min{cx : Ax \le b, x \ge 0}$$ and $\max{-ub : -A^T u \le c, u \ge 0}$
are dual to each other, we obtain the following dual program:
$$\max \sum_{i \in \mathcal{E}} d_i \xii - \sum{a \in \mathcal{A}} s_a \eta_a$$
such that
$$\begin{aligned} & M\eta_a \leq wa T \text{ for all } a \in \mathcal{A}{change} \ & \xii - \sum{a=(i,j)} \etaa + \sum{a=(j,i)} \eta_a \leq w_i \text{ for all } i \in \mathcal{E} \ & \eta_a \geq 0 \text{ for all } a \in \mathcal{A} \ & \xi_i \geq 0 \text{ for all } i \in \mathcal{E}. \end{aligned}$$
The following observations about this dual of the relaxation can be made.
$$\xii - \sum{a=(i,j)} \etaa + \sum{a=(j,i)} \eta_a = w_i$$
holds.
This means that the above formulation is equivalent to the following linear program.
$$\max \sum{i \in \mathcal{E}{del}} d_i \xii - \sum{a \in \mathcal{A}} s_a \eta_a$$
such that
$$\eta_a \leq \frac{wa T}{M} \text{ for all } a \in \mathcal{A}{change}$$
$$-\sum_{a=(i,j)} \etaa + \sum{a=(j,i)} \eta_a \leq wi \text{ for all } i \in \mathcal{E} \setminus \mathcal{E}{del}$$
$$-\sum_{a=(i,j)} \etaa + \sum{a=(j,i)} \eta_a = w_i - \xii \text{ for all } i \in \mathcal{E}{del}$$
$$\eta_a \geq 0 \text{ for all } a \in \mathcal{A}$$
$$\xi_i \geq 0 \text{ for all } i \in \mathcal{E}.$$
A feasible solution of (Dual-TDM-const) is given by ξi = wi for all i ∈ Edel and ηa = 0 for all a ∈ A with objective value i∈Edel diwi, yielding a lower bound on (LP-TDM-const) and hence on (TDM-const).
Lemma 8.25. Let (η, ξ) be an optimal solution of (Dual-TDM-const), and (y, z¯) be an optimal solution of (LP-TDM-const). Then
Note that (Dual-TDM-const) has the following interpretation as a flow problem in N . First, assume the ξi variables as given. Then the ηa variables are flow variables for all activities a ∈ A with lower bound zero, and upper bounds waT M on changing arcs a ∈ Achange. The goal is to minimize the costs of the flow, where the costs on the activities are given by sa for all a ∈ A. The status of the nodes i ∈ Edel depends on the value for ξi.
From Lemma 8.25 we know that in an optimal solution, none of the i ∈ Edel is a demand node.
On the other hand, for i ∈ E\Edel node i can be a demand or a transshipment node, meaning that it can absorb demand until an amount of wi but need not. Since the goal is to minimize the costs of the flow, it makes sense to leave as much flow in i as possible. This means, that, if the flow fi into node i ∈ Edel is known (i.e. fi = a=(j,i) ηi), then the optimal choice of the ηa variables for all a = (i, j) leaving node i satisfies
$$\sum_{a=(i,j)} \eta_a = \max{0, f_i - w_i},\,$$
if ξi > wi for all i ∈ E, i.e., no demand has to be satisfied later on.
If the ξi variables are not given in advance, we add a source s and arcs (s, i) for all i ∈ Edel. Then we interpret the variables ξi as flow variables on (s, i), and obtain that all nodes i ∈ Edel need to be transshipment nodes. The goal hence is to minimize the costs of the flow, but at the same time maximize the surplus of the sink, i.e. put as much flow into the network as possible.
Solving the relaxation provides a lower bound on (TDM-const) for which we can estimate its quality as follows.
Theorem 8.26. Let (y, z¯) be an optimal solution of the relaxation with objective value fLP−TDM−const. Let f ∗ denote the optimal objective value of (TDMconst). Then
$$0 \le f^* - f{\text{LP-TDM-const}} \le T \sum{a: \bar{z}_a > 0} w_a \left( 1 - \frac{y_i - y_j - s_a}{M} \right).$$
Proof. Let Af ix = Af ix(¯z) = {a ∈ Achange : ¯za = 0} be the set of connections which are maintained in the optimal solution of the relaxation. From part 2 of Lemma 8.25 we know that
$$\bar{z}_a = \frac{y_i - y_j - s_a}{M}$$ for all $a \notin \mathcal{A}^{fix}$ .
Since M ≥ D ≥ yi − yj − sa according to Corollary 7.9 we conclude that
$$\bar{z}_a \le 1. \tag{8.45}$$
Furthermore, we obtain
$$\begin{split} f{\text{LP-TDM-const}} &= \sum{i \in \mathcal{E}} w_i yi + \sum{a \in \mathcal{A}_{change} \backslash \mathcal{A}^{fix}} Tw_a \frac{y_i - y_j - sa}{M} \ &= \sum{i \in \mathcal{E}} w_i yi + \sum{a: \vec{z}_a > 0} Tw_a \frac{y_i - y_j - s_a}{M}. \end{split}$$
We now define a feasible solution of (TDM-const) as
$$\bar{z}_a^u = \begin{cases} 0 & \text{if } a \in \mathcal{A}^{fix} \ 1 & \text{if } a \notin \mathcal{A}^{fix} \end{cases}, \text{ and } y^u = y(\mathcal{A}^{fix}).$$
To compare the objective values of the two solutions (y, z¯) and (yu, z¯u) we would like to replace yu by y, but this is in general not feasible, since y need not be integer. Nevertheless, since ¯zu a ≥ z¯a (due to (8.45)) we have
$$-M\bar{z}_a^u + y_i - y_j \le -M\bar{z}_a + y_i - y_j \le s_a$$
for all a = (i, j) ∈ Achange, such that (y, z¯u) satisfies all constraints of (TDMconst), except for the integrality of y. Hence y is also a feasible solution of TT(Af ix) (with wf ix i = wi, page 110). Consequently, fTT(Af ix)(yu) ≤ fTT(Af ix)(y), i.e.
$$\sum_{i \in \mathcal{E}} w_i yi^u \le \sum{i \in \mathcal{E}} w_i y_i.$$
Now let fu denote the objective value of (yu, z¯u), i.e. f ∗ ≤ fu. We get:
$$0 \leq f^* - f{\text{LP-TDM-const}} \leq f^u - f{\text{LP-TDM-const}}$$
$$= \sum_{i \in \mathcal{E}} w_i yi^u + \sum{a: \bar{z}_a > 0} wa T - \sum{i \in \mathcal{E}} w_i yi - \sum{a: \bar{z}_a > 0} w_a T \frac{y_i - y_j - s_a}{M}$$
$$\leq T \sum_{a: \bar{z}_a > 0} w_a \left( 1 - \frac{y_i - y_j - s_a}{M} \right).$$
The solution (yu, z¯u) which we have constructed in the proof will be used as an upper bound in the branch and bound approach, see Algorithm 14.
We remark that Theorem 8.26 provides an alternative proof of Theorem 8.23 (page 146), since for (TDM-const-zero) we obtain that a connection a = (i, j) is missed if and only if yi = 1 and yj = 0. I.e., for a missed connection we obtain
$$\frac{y_i - y_j - s_a}{M} = \frac{y_i - y_j - 0}{1} = 1.$$
Consequently, we get
$$f^* - f{\text{LP-TDM-const-zero}} \le T \sum{a:\bar{z}_a>0} w_a \left(1 - \frac{y_i - y_j - s_a}{M}\right) = 0,$$
meaning that the relaxation solves (TDM-const-zero).
Looking at the bound we further see that the relaxation and the bound both get better if we use a smaller M. Note that M < M is still large enough if there exists an optimal solution (for the problem with large M) satisfying
$$M' \ge y_i - y_j - s_a$$
for all a ∈ Achange. To strengthen the relaxation we hence replace M by smaller values Ma for all a ∈ Achange. This gives the following formulation.
$$\min f{\text{TDM-const}} = \sum{i \in \mathcal{E}} w_i yi + \sum{a \in \mathcal{A}_{change}} w_a T \bar{z}_a$$
such that
$$y{i} \geq d{i} \quad \text{for all } i \in \mathcal{E}_{del}$$
$$y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$
$$-M{a}\bar{z}{a} + y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$
$$y_{i} \in \mathbb{N} \quad \forall i \in \mathcal{E}$$
$$\bar{z}{a} \in {0, 1} \quad \forall a \in \mathcal{A}{change}.$$
$$(8.46)$$
Lemma 8.27. Let y = y(Achange) and let M ≥ Ma ≥ yi − sa for all a = (i, j) ∈ Achange. Then (TDM-const-strong) and (TDM-const) are equivalent.
Proof. It is clear that the feasible set of (TDM-const-strong) is contained in (TDM-const), such that each feasible solution of (TDM-const-strong) is also a feasible solution of (TDM-const) with the same objective value. On the other hand, take an optimal solution (y, z¯) of (TDM-const). Due to Lemma 8.10 we can assume that y is a time-minimal solution, i.e., y = y(Af ix(¯z)). Note that Af ix(¯z) ⊆ Achange, hence we know from part 2 of Lemma 7.8 that
$$y = y(\mathcal{A}^{fix}(\bar{z})) \le y(\mathcal{A}_{change}).$$
This gives us that for all a ∈ Achange,
$$M_a \ge yi(\mathcal{A}{change}) - s_a$$
$\ge y_i - y_j - s_a$ ,
hence (y, z¯) is feasible for (TDM-const-strong) with the same objective function value and the result follows.
Now Theorem 8.26 can be extended easily to the following result, in which we use the relaxation of (TDM-const-strong) to derive a sharper bound.
Corollary 8.28. Let Ma ≥ yi(Achange) − sa for all a ∈ Achange. Let (y, z¯) be an optimal solution of the relaxation of (TDM-const-strong) with objective value fLP−TDM−const−strong. Let f ∗ denote the optimal objective value of (TDM-const). Then
$$0 \le f^* - f{\text{LP-TDM-const}} \le T \sum{a: \bar{z}_a > 0} w_a \left( 1 - \frac{y_i - y_j - s_a}{M_a} \right).$$
Unfortunately, even in the case of the never-meet property and for the strong formulation (TDM-const-strong) the LP-relaxation need not find an integer solution, as the following example demonstrates. Let a network with three events E = {1, 2, 3} and one changing activity a = (1, 2) be given as depicted in Figure 8.8.
Calculating y = y(Achange) gives y1 = 15, y2 = 10, y3 = 9 and hence
$$M_a = 15 - 5 = 10.$$
The LP-relaxation hence is
Fig. 8.8. The relaxation does not yield an integer solution.
$$\begin{aligned} \min 10y_2 + 12y_3 + 210\bar{z}_a \ \text{s.t. } y_1 &\geq 15 \ -10\bar{z}_a + y_1 - y_2 &\leq 5 \ y_2 - y_3 &\leq 1 \ y_i, \bar{z}_a &\geq 0. \end{aligned}$$
Now compare the following three feasible (time-minimal) solutions
showing that the solution with ¯z ∈ {0, 1} yields a better objective function value than all possible solutions with integer ¯za. Consequently, the optimal solution of the relaxation is not integer.
For the following branch and bound approach we not only need lower bounds, but also upper bounds. These are given by fixing some of the components of z¯ in any node of the branch and bound tree. A feasible solution can then be calculated by solving TT(Af ix(¯z)). We consequently obtain y = y(Af ix(¯z)) and z according to (8.6) on page 123, i.e., by setting
$$z_p = \begin{cases} 0 & \text{if } y_i - y_j \le s_a \text{ for all } a = (i, j) \in p \ 1 & \text{otherwise.} \end{cases}$$
To formalize these subproblems we introduce the following notation:
Notation 8.29. Let Af ix, Amiss ⊆ Achange such that
$$A^{fix} \cap A^{miss} = \emptyset.$$
Define P(Af ix, Amiss) as an instance of (TDM-const) in which all connections a ∈ Af ix need to be maintained, and all connections a ∈ Amiss need not be considered.
A similar notation will be used for (TDM-A), (TDM-B), and (TDM-C) in Section 8.6. Here, P(Af ix, Amiss) is given as the following integer program.
$$(P(A^{fix}, A^{miss}))$$
$$\min f{P(\mathcal{A}^{fix}, \mathcal{A}^{miss})} = \sum{i \in \mathcal{E}} w_i yi + \sum{\substack{a \in \mathcal{A}_{change} \setminus \ (\mathcal{A}^{miss} \cup \mathcal{A}^{fix})}} w_a T \bar{z}_a$$
such that
$$y{i} \geq d{i} \quad \text{for all } i \in \mathcal{E}_{del}$$
$$y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}^{fix} \cup \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$
$$-M\bar{z}{a} + y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}_{change} \setminus \left(\mathcal{A}^{miss} \cup \mathcal{A}^{fix}\right) \quad (8.47)$$
$$y_{i} \in \mathbb{N} \quad \forall i \in \mathcal{E}$$
$$\bar{z}{a} \in {0, 1} \quad \text{for all } a \in \mathcal{A}{change} \setminus \left(\mathcal{A}^{fix} \cup \mathcal{A}^{miss}\right)\right)$$
We will also consider the strong formulation (P(Af ix, Amiss)-strong), in which constraint (8.47) is replaced by
$$-M_a\bar{z}_a + y_i - y_j \le sa$$ for all $a = (i, j) \in \mathcal{A}{change} \setminus (\mathcal{A}^{miss} \cup \mathcal{A}^{fix})$ .
Recall that A(Af ix) = Await∪Adrive ∪Af ix and, to further simplify notation, define
$$\mathcal{A}^{open} = \mathcal{A}_{change} \setminus \left( \mathcal{A}^{fix} \cup \mathcal{A}^{miss} \right). \tag{8.48}$$
The following observations are the basis for the branch and bound approach.
This means by fixing variables we always obtain subproblems of the same type. For the objective function values we know the following.
Lemma 8.30. Let Af ix 1 ⊆ Af ix 2 ⊆ Achange, Amiss 1 ⊆ Amiss 2 ⊆ Achange, and let f ∗ 1 be the optimal objective value of P(Af ix 1 , Amiss 1 ), and f ∗ 2 be the optimal objective value of P(Af ix 2 , Amiss 2 ). Then
$$f_1^* \le f2^* + \sum{a \in \mathcal{A}_2^{miss} \setminus \mathcal{A}_1^{miss}} w_a T.$$
Especially, if f ∗ is the optimal objective value of (TDM-const) then
$$f^* \le f1^* + \sum{a \in \mathcal{A}_1^{miss}} w_a T.$$
Proof. Any feasible solution (y2, z¯2) of P(Af ix 2 , Amiss 2 ) can be extended to a feasible solution of P(Af ix 1 , Amiss 1 ) by defining y1 = y2 and
$$\bar{z}{a}^{1} = \left{ \begin{array}{l} 0 \text{ if } a \in \mathcal{A}{2}^{fix} \setminus \mathcal{A}{1}^{fix} \ 1 \text{ if } a \in \mathcal{A}{2}^{miss} \setminus \mathcal{A}{1}^{miss} \ \bar{z}{a}^{2} \text{ if } \mathcal{A}{change} \setminus \left(\mathcal{A}{2}^{fix} \cup \mathcal{A}_{2}^{miss}\right) \end{array} \right.$$
For the objective function values we obtain
$$\begin{split} f{P(\mathcal{A}{1}^{fix},\mathcal{A}{1}^{miss})}(y^{1},\bar{z}^{1}) &= \sum{i \in \mathcal{E}} w{i}y{i}^{1} + \sum{\substack{a \in \mathcal{A}{change} \ (\mathcal{A}{1}^{miss} \cup \mathcal{A}{1}^{fix})}} w{a}T\bar{z}{a}^{1} \ &= \sum{i \in \mathcal{E}} w{i}y{i}^{1} + \sum{\substack{a \in \mathcal{A}{change} \ (\mathcal{A}{2}^{miss} \cup \mathcal{A}{2}^{fix})}} w{a}T\bar{z}{a}^{1} + \sum{\substack{a \in \mathcal{A}{2}^{miss} \setminus \mathcal{A}{1}^{miss}}} w{a}T\bar{z}{a}^{1} \ &= f{P(\mathcal{A}{2}^{fix},\mathcal{A}{2}^{miss})}(y^{2},\bar{z}^{2}) + \sum{\substack{a \in \mathcal{A}{2}^{miss} \setminus \mathcal{A}{1}^{miss}}} w_{a}T. \end{split}$$
Now let y2 ∗, z¯2 ∗ be an optimal solution of P(Af ix 2 , Amiss 2 ) and y1 ∗, z¯1 ∗ its extension as above to a solution of P(Af ix 1 , Amiss 1 ). Consequently,
1
$$\begin{split} f1^* & \leq f{P(\mathcal{A}_1^{fix}, \mathcal{A}1^{miss})}(y^1, \bar{z}_^1) \ & = f_{P(\mathcal{A}_2^{fix}, \mathcal{A}2^{miss})}(y^2, \bar{z}_^2) + \sum_{a \in \mathcal{A}_2^{miss} \backslash \mathcal{A}_1^{miss}} w_a T \ & = f2^* + \sum{a \in \mathcal{A}_2^{miss} \backslash \mathcal{A}_1^{miss}} w_a T. \end{split}$$
One upper bound can be calculated easily, namely, if all vehicles are forced to wait; i.e., all connections should be maintained. Then we set Af ix = Achange and obtain that
$$f^* \le \sum_{i \in \mathcal{E}} yi(\mathcal{A}{change}) + 0.$$
The idea now is to start with Af ix = Amiss = ∅. In each node of the branch and bound tree, one of the ¯za-variables is fixed either to one or to zero. In both cases, the set Aopen of open variables ¯za is decreased by one. If all variables of Achange are either fixed to one or to zero, the resulting problem is of type
(TT). Hence, the optimal solution y is integer and can be found efficiently, see Chapter 7.
The following reduction lemma is a generalization of Lemma 8.13.
Lemma 8.31. Let Af ix, Amiss ⊆ Achange and Af ix ∩ Amiss = ∅. Let y = y(Achange \Amiss) be an optimal solution of TT(Achange \Amiss). Then there exists an optimal solution y∗, z¯∗ of P(Af ix, Amiss) such that
Proof. This can be shown analogously to Lemma 8.13, taking into account Lemma 8.27.
Note that decreasing M yields better lower bounds according to Theorem 8.26. The algorithm can now be given.
Input: N , P, wp, di, sa, T , and accuracy .
Output: Feasible solution (y, z¯) for (TDM-const) with objective value f,
such that |f − f∗| ≤ , if f∗ is the optimal objective value.
Step 0.
$$\begin{split} &\mathcal{A}^{miss} = \emptyset, \ &\mathcal{A}^{fix^} = \emptyset, \text{ best solution obtained so far} \ &f^{\mathbf{u}} = \sum_{i \in \mathcal{E}} yi (\mathcal{A}{change}) \text{ upper bound,} \ &f^{\mathbf{l}} = \text{ optimal value of (LP-TDM-const) lower bound} \ &\text{List} = {P(\mathcal{A}^{fix^}, \mathcal{A}^{miss})} \text{ with lower bound } f^l_{P(\mathcal{A}^{fix^*}, \mathcal{A}^{miss})} = f^l \end{split}$$
Step 1.
$$\mathcal{A}^{fix} = \mathcal{A}^{fix} \cup {a},\$$
$\mathcal{A}^{open} = \mathcal{A}^{open} \setminus {a}.$
$$\mathcal{A}^{fix^u} = \mathcal{A}^{fix} \cup {a \in \mathcal{A}^{open} : \bar{z}_a = 0}$$ $$\mathcal{A}^{miss^u} = \mathcal{A}^{miss} \cup {a \in \mathcal{A}^{open} : \bar{z}_a > 0}$$
and let yu = y(Af ixu ),z¯u = ¯z(yu) be an optimal solution of P(Af ixu , Amissu ) with objective value f u P .
$$\begin{split} \mathcal{A}^{fix^*} &= {a \in \mathcal{A}^{open} : \bar{z}_a = 0} \cup \mathcal{A}^{fix} \text{ if } f_P^l < f^u} \ f^{\mathbf{u}} &= \min{f_P^l, f^{\mathbf{u}}} \ \text{List} &= \text{List} \setminus {P}. \end{split}$$
Goto 1.
$$f^u = f_P^u,$$
$\mathcal{A}^{fix*} = \mathcal{A}^{fixu}$
Step 6. Choose a minimal a ∈ Aopen such that z¯l a ∈ {0, 1}.
$$\begin{split} Pa^0 &= P{\mathcal{A}^{fix} \cup {a}, \mathcal{A}^{miss}) \text{ with } f{P_a^0}^l = f_l^l \ Pa^1 &= P{\mathcal{A}^{fix}, \mathcal{A}^{miss} \cup {a}) \text{ with } f{P_a^1}^l = f_l^l \ \text{List} &= \text{List} \cup {P_a^0, P_a^1} \end{split}$$
Goto 1.
Now we turn our attention back to (TDM-const) if additionally the nevermeet property holds. In this case, the problem can be solved efficiently in O(|A|) time. The reason for this consists of the two facts listed below. Recall Notation 8.19 (page 139) where we introduced H(i, Af ix) as the set of events that can be reached from i ∈ E by using only changing arcs contained in Af ix.
Lemma 8.32. Let i, j ∈ E, i = j, and let (y, z¯) be a feasible solution of (TDM-const) with yi > 0, yj > 0. If the never-meet property holds, exactly one of the following three cases occurs.
Proof. Let i = j. Assume that
i.e., i ∈ H(j, Achange) and j ∈ H(i, Achange). Then we want to show that H(i, Achange)∩H(j, Achange) = ∅. Assume the contrary, i.e. take some minimal k ∈ H(i, Achange) ∩ H(j, Achange). This means there exist two paths pi = (i, . . . , ki , k) from i to k and pj = (j, . . . , kj , k) from j to k; for an illustration see Figure 8.9.
Fig. 8.9. The two paths pi and pj in the proof of Lemma 8.32.
Due to the minimality of k we conclude that
$$k^i \neq k^j$$ .
Now let y0 = y0(Achange). Then we know from Lemma 8.17 that y0 j- > 0 for all j ∈ p1 ∪ p2, especially, y0 ki > 0 and y0 kj > 0, which is a contradiction to the never-meet property.
For finding an (exact) optimal solution of (TDM-const) in case of the nevermeet property we propose Algorithm 15. This algorithm will be given in the notation of event-activity networks, although this time it could have been stated as easily in the original notation. Suppose that some vehicle g has a delay at its arrival at station k. Then, independently of what we decide for later connections from this vehicle g to other vehicles, we can be sure that the vehicle will transfer its delay to subsequent stations, until it has been compensated by the slack times. This delay that will always be contributing to the objective will be formalized in the following more general notation.
Notation 8.33. Let y be a time-minimal solution of (TDM) and i ∈ E with yi > 0. Then denote
$$F(i, yi, \mathcal{A}^{fix}) = \sum{j \in \mathcal{H}(i, \mathcal{A}^{fix})} w_j y_j.$$
The delay that will be transfered for sure by the delayed event i is then obtained by setting Af ix = ∅. In the case that the event-activity network belongs to some PTN according to Notation 6.4 we get the following interpretation of H(i, ∅). Namely, it consists of a single path, describing all events belonging to the vehicle of event i. I.e.,
$$\mathcal{H}(i,\emptyset)=(i_1,i_2,\ldots,i_L),$$
and if yi is given, the time-minimal solution yil for all l = 1,...,L can be determined by
$$y_{i_1} = yi - s{i_1,i}$$
$$y_{il} = y{i{l-1}} - s{i_{l-1},i_l}.$$ (8.49)
Before we formally state the algorithm, consider the following example, depicted in Figure 8.10.
Fig. 8.10. Decomposition of N in case of the never-meet property. The changing activities are dashed.
The algorithm will first decompose P into subproblems which are collected in List(0). Each subproblem Pa is identified by a changing activity a. We obtain
List(0) = $${a_1, a_2, a_5, a_9}.$$
The subproblem belonging to a2 is depicted in Figure 8.10. To further decompose a subproblem Pa we store the subproblems belonging to its decomposition in List(a). In the example this gives the following lists:
List $$(a_2) = {a_3, a_4}$$
List $(a_5) = {a_6, a_7, a_8},\$
and the lists for all other a ∈ Achange are empty. All subproblems that might further be decomposed are stored in Decompose, and if a subproblem cannot further be decomposed it is collected in Compose. Hence, at the end of the decomposition step, we have
Compose = $${a_1, a_3, a_4, a_6, a_7, a_8, a_9}$$ .
Moreover, for each subproblem identified by changing activity a,
Input: N , P, wp, di, sa, T .
Output: Optimal solution of (TDM), if the never-meet property holds.
Step 0.
1. Calculate wa and wi according to (8.25) and (8.24)
2. Decompose = ∅, Compose = ∅.
3. List(0) = ∅, f(0) = 0, z¯a = 0 for all a ∈ Achange.
4. For all i ∈ Edel:
a) Calculate H(i, ∅)
b) Calculate yj for all j ∈ H(i, ∅) (by (8.49)).
c) f(0) = f(0) + F(i, di, ∅)
d) For all a = (j1, j2) ∈ Achange with j1 ∈ H(i, ∅): If yj1 > 0
i. List(0) = List(0) ∪ {a}
ii. Decompose = Decompose ∪ {a}
5. If List(0) = ∅ stop: f is the optimal objective value,
z¯a = 0 for all a ∈ Achange.
Step 1. While Decompose = ∅
1. Choose a ∈ Decompose, a˜ ∈ Achange with a = (i1, i2) ∈ List(˜a)
2.
$$List(a) = \emptyset,$$
$$maintain(a) = 0,$$
$$miss(a) = w_a T.$$
$$\bar{z}_a = \begin{cases} 0 & \text{if } \mathrm{maintain}(a) \leq \mathrm{miss}(a) \ 1 & \text{if } \mathrm{maintain}(a) > \mathrm{miss}(a) \end{cases}$$
$$f(a) = \min{\mathrm{maintain}(a), \mathrm{miss}(a)}$$
3.
$$\begin{aligned} \operatorname{List}(\tilde{a}) &= \operatorname{List}(\tilde{a}) \setminus {a} \ \operatorname{maintain}(\tilde{a}) &= \operatorname{maintain}(\tilde{a}) + f(a) \ \operatorname{Compose} &= \operatorname{Compose} \setminus {a} \end{aligned}$$
Proof. We show by induction that at the end of Algorithm 15 f(a) contains the objective value for the subproblem Pa. Pa is defined as (TDM-const) in the following network determined by a = (i, j) and some delay yi:
$$\mathcal{N}a = (\mathcal{H}(i, \mathcal{A}{change}), \mathcal{A}(\mathcal{H}(i, \mathcal{A}_{change})),$$
where
$$\mathcal{A}(\mathcal{H}(i,\mathcal{A}_{change})) = {(j_1,j_2) \in \mathcal{A} : j_1, j2 \in \mathcal{H}(i,\mathcal{A}{change})}.$$
The network belonging to Pa2 in the example is depicted in Figure 8.10.
Start: Let a = (i, j) be a maximal element of Achange (with respect to ≺) and let H = H(i, Achange). The subproblem with respect to a is (TDM-const) in the small network Na = (H, A(H)). Since a is maximal, A(H) does not contain any changing activity. This means, List(a) = ∅ in step 2 of the algorithm. Furthermore,
maintain(a) = i-∈H yiwi- , and miss(a) = T wa
give the objective values of this small network when maintaining or not maintaining activity a. To see the correctness of miss(a) we note that due to Lemma 8.20 yi- = 0 for all i ∈ H. Since a ∈ Compose we compare both values maintain(a) and miss(a) in step 3, and choose the better as (correct) objective value, which is then stored in f(a).
Conclusion: Now take any a = (i, j) and let the induction hypothesis be true for all a with a ≺ a . Let H = H(i, ∅) in this case. Then, if a is not maintained, we know from Lemma 8.20 that all connections a ∈ H are maintained and all i ∈ H satisfy yi- = 0, i.e., the objective value is in this case given by miss(a) as calculated in step 2. For maintaining activity a the algorithm calculates in step 2 the delay which will be gained for sure, i.e., the delay of all events i ∈ H that can be reached without passing any other changing activity, and stores it in maintain(a). All changing activities a that can be reached from j without passing any other changing activity are stored in List(a). Each of these activities a forms an independent subproblem on the smaller network Na- , since for a1 = (i1, j1), a2 = (i2, j2) ∈ List(a) we have that
$$\mathcal{H}(i1, \mathcal{A}{change}) \cap \mathcal{H}(i2, \mathcal{A}{change}) = \emptyset$$
according to Lemma 8.32.
In step 3, we add up
$$\operatorname{maintain}(a) + \sum_{a' \in \operatorname{List}(a)} f(a').$$
This sum contains the best possible objective value for (TDM-const) on Na, if a is maintained, since f(a ) contains the optimal objective value of subproblem (TDM-const) on Na due to the induction hypothesis. Again, comparing the above sum (stored in maintain(a)) with miss(a) and choosing the smaller of both gives the best possible choice for activity a assuming the delay yi as given.
Finally, in step 0, the problem with the given source delays is decomposed into a set of subproblems, given in List(0). All these subproblems are independent due to Lemma 8.32, and they are all solved optimally due to the Claim above. Adding up these optimal values and adding the delay of all events which are reached before entering one of the subproblems gives the optimal objective function value f(0).
For the time complexity we see that the number of subproblems equals the number of changing activities. For the decomposition step we have to process each activity exactly once, and in the composition step we need one comparison and one summation for each subproblem. The overall time complexity is hence linear in |A|.
The algorithm relies on the fact that each activity a ∈ Achange appears in exactly one list, i.e., for each a ∈ Achange there exists a unique ˜a such that a ∈ List(˜a), or a ∈ List(0). If the never-meet property is not satisfied, this need not be the case, and hence Algorithm 15 cannot be applied to (TDM) for general problems. To resolve this problem (and to obtain a heuristic by applying Algorithm 15) one can either allow that the same element is added more than once to Compose in step 2 (this would mean to duplicate activities until the never-meet property is satisfied), or to update the values of maintain to the larger one, if an element which is already contained is added.
Finally, we discuss how to solve the general version of (TDM). We first discuss lower and upper bounds and then put all obtained results together in a branch and bound procedure. For the following let f ∗ denote the optimal objective function value of (TDM) which is the same in all three formulations (TDM-A), (TDM-B), and (TDM-C).
Before we present an exact algorithm for solving (TDM), we suggest two heuristic approaches. Let us first focus on the formulation of (TDM-C). First note that any set Af ix ⊆ Achange can be used to derive a feasible solution by the following procedure.
Input: N , P, wp, di, sa, T , and Af ix ⊆ Achange.
Output: Reduced feasible solution for (TDM) with objective f.
Step 1. Determine y(Af ix) by Algorithm 12.
Step 2. Calculate C(y) = (¯z, z,w ˜ ) according to Notation 8.6.
Step 3. Output: (y, z, ¯ z, w ˜ ) with objective value f = fTDM−C(y, z, ¯ z,w ˜ )
Notation 8.35. Let Af ix ⊆ Achange. By
$$R(\mathcal{A}^{fix}), f(\mathcal{A}^{fix})$$
denote the output of Algorithm 16 with input Af ix, i.e.,
$$\begin{split} R(\mathcal{A}^{fix}) &= (y(\mathcal{A}^{fix}), C(y(\mathcal{A}^{fix}))) \ f(\mathcal{A}^{fix}) &= f_{\text{TDM-C}}(R(\mathcal{A}^{fix})). \end{split}$$
All solutions of Algorithm 16 provide upper bounds on (TDM).
Proof. Part 1 follows immediately, since the solution R(Af ix) is feasible for (TDM-C), see Lemma 8.7. For part 2, take an optimal solution (y, z, ¯ z, w ˜ ) of (TDM-C) and define Af ix = Af ix(¯z) = {a ∈ A : ¯za = 0}. Then R(Af ix) = RC (y, z, ¯ z, w ˜ ) (see Definition 8.9 on page 131), and hence
$$f(\mathcal{A}^{fix}) = f{\text{TDM-C}}(R^C(y, \bar{z}, \tilde{z}, w)) \le f{\text{TDM-C}}(y, \bar{z}, \tilde{z}, w) = f^*$$
due to Theorem 8.11.
Two obvious bounds can be calculated right from the start, namely, if all connections are maintained (Af ix = Achange), or if all vehicles depart on time (Af ix = ∅). The question now is, how to choose a "good" set of fixed connections Af ix heuristically. Before we propose two heuristics, we introduce the following notation.
Notation 8.37. Let Af ix ⊆ Achange. Denote
$$W(i, \mathcal{A}^{fix}) = \sum_{p: p \cap \mathcal{H}(i, \mathcal{A}^{fix}) \neq \emptyset} w_p$$
as the number of all customers who will pass a station in H(i, Af ix).
If i = (g, v, dep) is the departure of some vehicle g at some station v, then W(i, ∅) can be interpreted as follows. It contains the number of customers who plan to use vehicle g anywhere later than station v, i.e., those customers who
Fig. 8.11. Example with only one changing activity (dashed). The marked events belong to H(3, ∅)
These are the customers who will most probably be annoyed if the vehicle waits at station v for some connecting vehicle.
The first heuristic is motivated by the following observation: Suppose the simple situation, depicted in Figure 8.11. We only have two vehicles g, h, and we assume that g has a delay of D minutes. We consider only one connection U = {(g, h, v)} and assume zero slack times. The network is represented as an event-activity network in Figure 8.11. To determine the optimal solution for this small problem, we first calculate
$$wa = \sum{p \in \mathcal{P}: a \in \mathcal{P}} w_p \text{ and}$$
$$W(3, \emptyset) = \sum_{p \in \mathcal{P}: p \cap \mathcal{H}(3, \emptyset) \neq \emptyset} w_p.$$
Note that H(3, ∅) exactly contains all stations which will be passed by vehicle h after station 2, and W(3, ∅) sums up all customers who plan to use vehicle h at station 3 or later. (Note that all customers who get off vehicle h at station k will do this at event 2, and all customers who get on vehicle h at station k will do this at event 3 and will at least stay there until event 4.) Then,
Consequently, the optimal solution is given by
$$\bar{z}_a = 0 \iff D \le T \frac{w_a}{W(3, \emptyset)}$$
This result is used in the first heuristic.
Input: N , P, wp, di, sa, T , and parameter A˜ ⊆ Achange.
Output: Af ix.
Step 1. Calculate y = y(Achange) by Algorithm 12.
Step 2. For all a = (i, j) ∈ Achange
1. Calculate wa = P
p∈P:a∈p wp
2. Calculate W(j, A˜) = P
p:p∩H(j,A˜)=0 wp
3. If yi ≤ T wa
W(j,∅) set z¯a = 0,
Otherwise set z¯a = 1.
Step 3. Output: Af ix = {a ∈ Achange : ¯za = 0}
Note that as in the example before, wa contains the number of customers who wish to use changing activity a, and W(j, A˜) contains the number of customers who may be affected by a delay of event j. For A˜ = ∅ we underestimate the number of these passengers (at least for small slack times), since we do not take into account that the delay might spread out along the changing activities. Increasing A˜ is a rather pessimistic approximation of the effects of waiting for other vehicles and will lead to less maintained connections. Heuristic 17 can be improved, if the current delay and the number of customers involved are updated after each decision made.
The next heuristic is based on the idea to maintain such connections, which are used by many customers.
Input: N , P, wp, di, sa, T , and percentage 0 ≤ p ≤ 1.
Output: Af ix.
Step 1. Sort the set of paths P = {p1, p2,...,p|P|}
such that wp1 ≥ wp2 ≥ ... ≥ wp|P|.
Let W = P
p∈P wp.
Step 2. Find a number K such that
$$\sum_{k=1,...,K-1} wp \le pW \text{ and } \sum{k=1,...,K} \ge pW.$$
Step 3. Output: Af ix = {a ∈ Achange : a ∈ pk for some 1 ≤ k ≤ K}.
Note that an upper bound on (TDM) can also be obtained by
Now we turn our attention to the calculation of lower bounds for (TDM). To this end, we use the LP-relaxation of (TDM-B) (see page 124) to obtain a lower bound by linear programming. To strengthen this bound, we can decrease M as much as possible without making the optimal solution infeasible. As in the strong formulation of the LP-relaxation of (TDM-const) (see page 151) we replace M by a value Ma for all changing activities. Instead of (TDM-B) we obtain
$$\min f{\text{TDM-B}} = \sum{p \in \mathcal{P}} w_p (q_p + T z_p)$$
such that
$$y{i} \geq d{i} \quad \text{for all } i \in \mathcal{E}_{del}$$
$$y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive}$$
$$-M{a}z{p} + y{i} - y{j} \leq s{a} \quad \text{for all } a = (i, j) \in \mathcal{A}{change}$$
$$-M{p}z{p} + y{i(p)} - q{p} \leq 0 \quad \text{for all } p \in \mathcal{P}$$
$$q_{p} \geq 0 \quad \text{for all } p \in \mathcal{P}$$
$$y_{i} \in \mathbb{N} \quad \text{for all } i \in \mathcal{E}$$
$$z_{p} \in {0, 1} \quad \text{for all } p \in \mathcal{P}.$$
$$(8.50)$$
The following lemma is similar to Lemma 8.27.
Lemma 8.38. Let y = y(Achange) and let M ≥ Ma ≥ yi − sa for all a ∈ Achange and M ≥ Mp ≥ yi(p) for all p ∈ P. Then (TDM-B-strong) and (TDM-B) are equivalent.
Proof. It is clear that the feasible set of (TDM-B-strong) is contained in (TDM-B), since M ≥ D ≥ Ma for all a ∈ Achange. This means that each feasible solution of (TDM-B-strong) is also a feasible solution of (TDM-B) with the same objective value.
On the other hand, take an optimal solution (y∗, z∗, q∗) of (TDM-B). Due to Lemma 8.3 we can assume that y∗ is time-minimal. Furthermore, note that {a ∈ Achange : y∗ i − y∗ j ≤ sa}⊆Achange, hence we know from part 2 of Lemma 7.8 that
$$y^* \le y = y(\mathcal{A}_{change}).$$
This gives us for all a ∈ Achange that
$$M_a \ge y_i - s_a \ge y_i^* - y_j^* - s_a$$ , and $Mp \ge y{i(p)} \ge y_{i(p)}^* - q_p^*$
hence (y∗, z∗, u∗) is feasible for (TDM-B-strong) with the same objective function value and the result follows.
We conclude that in fact, the LP-relaxation of (TDM-B-strong) yields better bounds than (LP-TDM-B). This is formulated in the next result.
Lemma 8.39. Let Ma ≤ M a for all a ∈ Achange, Mp ≤ M p for all p ∈ P, and
Proof. The lemma follows from the fact that (LP-TDM-strong) with respect to M a, M p is a relaxation of (LP-TDM-strong) with respect to Ma, Mp.
The idea of the branch and bound approach is similar to that of Algorithm 14. In each step we consider the earliest unknown connection a = (i, j) with yi > 0 and define two subproblems by either fixing the respective variable ¯za = 0, or allowing ¯za = 1. The subproblems we obtain are the same as in Notation 8.29 (on page 153). More precisely, we consider subproblems of type
$$P(A^{fix}, A^{miss})$$
defined as follows:
• If we consider (TDM-C) we add
$$y_i - y_j \le s_a \text{ for all } a \in \mathcal{A}^{fix}$$ (8.51)
to the formulation of (TDM-C), and omit the constraints
$$-M\bar{z}_a + y_i - y_j \le s_a \text{ for all } a \in \mathcal{A}^{miss}. \tag{8.52}$$
• If we deal with (TDM-A) or (TDM-B) we again add constraints (8.51) to the respective formulation, but instead of (8.52) we determine the paths containing a connection of Amiss, i.e.,
$$\mathcal{P}^{miss} = { p \in \mathcal{P} : p \cap \mathcal{A}^{miss} \neq \emptyset }$$
and omit the constraints
$$-Mz_p + y_i - y_j \le s_a \text{ for all } p \in \mathcal{P}^{miss}.$$ (8.53)
In the algorithm we will use the following two types of reduction procedures for the networks appearing in the subproblems.
Late reduction: The concept has been introduced in Lemmas 8.13 and 8.31 for the subproblems, see also Notation 8.14 on page 133. Late reduction means that we can delete events and activities that will never be delayed in any time-minimal solution.
Early reduction is relevant, if in a subproblem the first K connections have already been fixed either to be maintained, or to be not maintained. Then all events before the first open connection will not be influenced by the wait-depart decision of the remaining connections later on. This means that we can delete all events and all activities appearing before we reach a minimal open connection.
Moreover, the set of paths can be reduced since paths which have no events in common with the remaining network, or are already known to be missed, need not be considered any more, and the constants Ma, Mp needed for solving the relaxations can be adapted. The reduction works as follows.
Input: N , P, wp, di, sa, T , current objective value fP , and Af ix, Amiss.
Output: Reduced data of (TDM) problem, updated fP .
Step 1: Calculate y = y(Achange \ Amiss).
Step 2: Early reduction
$${i \in \mathcal{E} : y_i > 0 \text{ and there exists } a = (i, j) \in \mathcal{A}^{open} },$$
each of them with source delay yi.
Step 3: Late reduction
$$A^{fix} = A^{fix} \cup {a},$$
$A^{open} = A^{open} \setminus {a}.$
The more decisions are made, the more reductions can be made, and the chance that the problem can be decomposed into independent subproblems increases.
Notation 8.40. Let a˜ = (˜i, ˜j) be a minimal element of Aopen, i.e., all a ≺ a˜ are either in Af ix or in Amiss. The wait-depart decision of a˜ is called independent, if
$$\mathcal{H}(\tilde{i}, \mathcal{A}^{open} \cup \mathcal{A}^{fix}) \cap \mathcal{H}(i, \mathcal{A}^{open} \cup \mathcal{A}^{fix}) = \emptyset$$
for all i satisfying the following two conditions.
Note that all subproblems are independent if the never-meet property holds. In the next lemma we show that the optimal decision can often be determined directly, if it is independent. This result is utilized in step 8 of the branch and bound algorithm.
Lemma 8.41. Let a˜ = (˜i, ˜j) ∈ Achange and let the wait-depart decision of a˜ be independent. Define
$$\begin{split} f{miss} &= Tw{\tilde{a}} \ f{maintain}^{l} &= \sum{i \in \mathcal{H}(\tilde{i},\emptyset)} w{i}y{i}(\mathcal{A}^{fix} \cup {\tilde{a}}) \ f{maintain}^{u} &= \sum{i \in \mathcal{H}(\tilde{i},\mathcal{A}^{open} \cup \mathcal{A}^{fix})} w{i}y{i}(\mathcal{A}^{open} \cup \mathcal{A}^{fix}) \end{split}$$
recalling the definition of wa and wi according to (8.25) and (8.24) on page 134 (in the network after performing the reduction algorithm). For the optimal choice of z¯a˜ the following holds:
Proof. For this proof we use (TDM-A). We rewrite the objective to
$$\begin{split} f{\text{TDM-A}} &= \sum{p \in \mathcal{P}} wp(y{i(p)}(1-z_p) + Tzp) \ &= \sum{p \in \mathcal{P}: i(p) \in \mathcal{H}(\hat{i}, \mathcal{A}_{change})} wp(y{i(p)}(1-z_p) + Tz_p) + C \ &= f(y, z) + \text{const}, \end{split}$$
where the term const is not affected by the decision concerning the connection a˜ due to the independence of the decision concerning ˜a (meaning that in no feasible solution does any other delayed vehicle reach H).
• If (y, z) is an optimal solution of (TDM-A) with the additional constraint y˜i − y˜j ≤ sa˜, then denote f0 = f(y, z).
• Similarly, if (y, z) is the best possible solution satisfying y˜i −y˜j > sa˜, then let f1 = f(y, z).
We show that
hence yielding that for fmiss > fu maintain we obtain f0 < f1 and hence ¯za = 0 is the optimal choice, and analogously for fl maintain > fmiss z¯a = 1 occurs in the optimal solution.
fmiss = f1: If connection ˜a is missed we obtain zp = 1 for all p ∈ P with a˜ ∈ p. Moreover, similarly as in Lemma 8.20 we know that all yi = 0 for ˜i ≺ i and hence all other paths ending in H(˜i, Af ix ∪ Aopen) make no contribution to the objective function value, i.e.,
$$f1 = \sum{p \in \mathcal{P}: a \in p} wp T = w{\tilde{a}} = f_{miss}.$$
fl maintain ≤ f0: Now consider the case that ˜a is maintained. Then at least all customers getting out at a node i ∈ H(˜i, ∅) (of the same vehicle h belonging to ˜j later than ˜a) gain a delay of at least yi (since there is no changing activity except ˜a between ˜i and i. This gives us that
$$f0 \ge \sum{i \in \mathcal{H}(\tilde{i},\emptyset)} w_i yi({\tilde{a}}) = f{maintain}^l.$$
fu maintain ≥ f0: Finally, consider the solution of (TDM) in which ˜a and all subsequent connections are maintained. Then no customer (in the set of paths P after the early reduction) who planned to get off in H(˜i, Aopen ∪ Af ix) misses his connection, but arrives with a delay of yi(p) for y = y(Aopen ∪ Af ix). We hence obtain
$$f0 \le \sum{i \in \mathcal{H}(\tilde{i}, \mathcal{A}_{change})} w_i yi (\mathcal{A}{change}) = f_{maintain}^u.$$
Finally, we summarize the results of this section in the next algorithm. We start with the earliest decision a to be made and branch into ¯za = 1 and z¯a = 0. For both subproblems we calculate upper and lower bounds and also investigate their structure to apply Lemma 8.41 or solve them optimally in case of the never-meet property. The more decisions have been fixed the more likely an easy subproblem is obtained. To increase the efficiency of the algorithm we add both reductions steps.
Input: N , P, wp, di, sa, T , and accuracy .
Output: Feasible solution R(Af ix) of (TDM-B) with objective value f = f(Af ix),
such that |f − f∗| ≤ , if f∗ is the optimal objective value.
Step 0.
Amiss = ∅,
Af ix∗
= ∅, best solution obtained so far
f u = Upper bound calculated by Heuristic 17 or 18
Step 1.
List = {P(Af ix∗
Calculate the exact optimal solution RAf ix∗ by Algorithm 16.
fl = Lower bound calculated by LP-Relaxation of (TDM-B)
, Amiss)} with current objectivefl
P (Af ix∗,Amiss) = 0
Calculate the optimal solution solution RAf ix∗ by Algorithm 16.
and fP (Af ix∗,Amiss) = 0
Step 4: Never-meet property Check if the never-meet property is satisfied (Algorithm 13). If yes:
Solve P optimally by Algorithm 15 and let fl = f u be the optimal solution and Af ixu be the set of maintained connections. Goto 7.
Step 5. Lower bound Solve the relaxation LP-TDM-B-strong(Af ix, Amiss) and let fl be its objective value and (y,z, u) its solution.
If (y,z, u) is integer, then
$$\begin{split} \mathcal{A}^{fix^*} &= \mathcal{A}^{fix^{\mathbf{u}}} \cup \mathcal{A}^{fix} \text{ if } f^l + f_P < f^{\mathbf{u}} \ f^{\mathbf{u}} &= \min{f^l + f_P, f^{\mathbf{u}}} \ \text{List} &= \text{List} \setminus {P}. \end{split}$$
Goto 1.
$$List = List \setminus {P}.$$
Goto 1.
$$f^{\mathbf{u}} = f^{u} + f_{P}$$ $$\mathcal{A}^{fix^{*}} = \mathcal{A}^{fix^{u}} \cup \mathcal{A}^{fix}.$$
Step 8. Choose a minimal a ∈ Aopen.
$$\begin{split} P_a^0 &= P(\mathcal{A}^{fix} \cup {a}, \mathcal{A}^{miss}) \ Pa^1 &= P(\mathcal{A}^{fix}, \mathcal{A}^{miss} \cup {a}) \text{ with } \ f{Pa0} &= f{P_a1} = fP \text{ and } \ f{Pa0}^l &= f{P_{a1}}^l = f_P + f^l. \end{split}$$
Since the choice of the next changing activity is performed according to ≺ step 3 can be performed very efficiently if the reduced data of the parent node has been stored. Note that step 8 of the algorithm is due to Lemma 8.41.
All models developed in the previous chapter assume that we know the exact paths the customers would like to use. If this is not the case, we at least need the OD-matrix W, such that we can estimate the paths of the customers. Moreover, the OD-matrix should also provide the time at which a customer starts his journey. While an OD-matrix sometimes is known for railway transportation, many bus companies do not even have this information, and timedependent OD-matrices are usually not available at all. In particular, nearly nothing is known about the customers who change between different transportation companies. In this chapter we hence suggest an approach to the delay management problem not requiring all this information. To this end we deal with the bicriteria delay management problem (BDM) of minimizing the number of missed connections, and at the same time, minimizing the sum of all delays over all vehicles.
Given PTN, F, U, minimal necessary times for driving, waiting, and changing, a feasible timetable (Πarr, Πdep), a set of weighted paths P through PTN, and a set of delayed events Edel, find a perturbed feasible timetable (xarr, xdep), such that both
$$\begin{split} f{\mathcal{E}} &= \sum{g \in F, v \in V^g} x_{arr} g^v - \Pi{arr} g^v, \ and \ f{\mathcal{A}} &= \sum{\substack{(g,h,v) \in \mathcal{U}: \ (g,h,v) \ is \ missed}} w{ghv} \end{split}$$
are minimized.
Again, note that for this approach we do not need any detailed data about the customers, but only require a rough estimation to specify the importance of the connections for the customers. To model this problem we again use the concept of event-activity networks as introduced in Section 6.4.
Chapter 9 is structured as follows: We first show that (BDM) is NPhard and then present an integer programming formulation of the problem. For this problem we are able to show that all Pareto solutions are timeminimal. We point out that finding supported Pareto solutions is equivalent to an instance of (TDM-const). To find all Pareto solutions of (BDM), we then develop an exact algorithm based on a procedure for the discrete time/cost tradeoff problem.
Our first result clarifies the complexity status of (BDM).
Theorem 9.1. (BDM) is NP-hard, even if all slack times are zero, and no two connections are contained in the same connected component of the given PTN.
Proof. We reduce (BDM) to the knapsack problem, which is NP-hard, see [GJ79a]. Given an instance of the knapsack problem, i.e., n items, each of them with a cost ci ≥ 0 and a benefit bi ≥ 0, i = 1,...,n, and threshold parameters C and B, does there exist a subset of items with total weight less than or equal to C and total benefit at least B? For our proof we may assume that bi > 0, since items with benefit bi = 0 will never be chosen in an optimal solution of the knapsack problem.
To construct an instance of (BDM) from the knapsack problem we define PTN = (V,E) as follows: V consists of 3n nodes, numbered by v1i, v2i, v3i, i = 1,...,n and
$$E = {(v{1i}, v{2i}), (v{2i}, v{3i}) : i = 1, \dots, n}.$$
Consider 2n vehicles (trains) t1,...,tn, t 1,...,t n where ti goes from v1i to v2i, while t i starts at v2i and arrives at v3i, see Figure 9.1. We assume zero slack times, i.e., sv g = sv gh = svu g = 0 for all g, h ∈ F, k, u ∈ V . We set the weights for the connections from ti to t i at v2i as bi, i.e.,
$$w_{t_i t'i v{2i}} = b_i \text{ for all } i \in {1, \dots, n}.$$
Furthermore, assume that the arrival of ti at station v2i is delayed by ci for all i = 1,...,n, and we set
$$C' = \sum_{i=1}^{n} ci + C \text{ and}$$ $$B' = \sum{i=1}^{n} b_i - B.$$
Fig. 9.1. Reduction of (BDM) to the knapsack problem.
Claim: There exists a solution to (BDM) with fE ≤ C and fA ≤ B if and only if the instance of the knapsack problem can be answered by yes.
To see this equivalence, let xarr, xdep be a solution of (BDM) and define
$$\mathcal{U}^* := {i : x_{dept'i}^{v{2i}} \ge x_{arrti}^{v{2i}} + L_{t_it'i}^{v{2i}}}$$
as the set of maintained connections, each of them corresponding to an item packed into the rucksack. Then we obtain
$$\begin{split} &f{\mathcal{E}}(x{arr}, x{dep}) \leq C' \ &\iff \sum{i=1}^{n} x{arr}{}^{v{2i}}_{ti} - \Pi{arr}{}^{v{2i}}{ti} + \sum{i \in \mathcal{U}^} x{arr}{}^{v{3i}}_{ti} - \Pi{arr}{}^{v{3i}}{ti'} \leq C' \ &\iff \sum{i=1}^{n} ci + \sum{i \in \mathcal{U}^} ci \leq \sum{i=1}^{n} ci + C \ &\iff \sum{i \in \mathcal{U}^*} c_i \leq C \end{split}$$
and
$$f{\mathcal{A}}(x{arr}, x_{dep}) \leq B'$$
$$\iff \sum_{i:(t_i, t'i, v{2i}) \ missed} w_i \leq B'$$
$$\iff \sum_{i \notin \mathcal{U}^*} bi \leq \sum{i=1}^n b_i - B$$
$$\iff \sum_{i \in \mathcal{U}^*} b_i \geq B,$$
hence the claim is established.
With the notation introduced in Section 6.4 we are in the position to restate the bicriteria delay management problem (BDM) as follows.
(BDM) Given N = (E, A), a feasible timetable Πi, i ∈ E, minimal arc durations La, a ∈ A, and source delays di determine a feasible perturbed timetable xi, i ∈ E such that the following two objectives are minimized. The sum of all delays over all vehicles and all stations:
$$\sum{i \in \mathcal{E}{arr}} x_i - \Pi_i,$$
which is equivalent to the minimization of
$$f{\mathcal{E}} = \sum{i \in \mathcal{E}_{arr}} x_i$$
The weighted number of missed connections , given as
$$f{\mathcal{A}} = \sum{a=(i,j)\in\mathcal{A}_{change}: x_j - x_i < L_a} w_a.$$
We assume that wa > 0 for all a ∈ Achange, otherwise we simply delete a from Achange.
What we mean by "minimizing simultaneously" is to find Pareto solutions of the problem with respect to fE and fA. Recall from Appendix B that if x1, x2 denote two feasible perturbed timetables, then x1 dominates x2 if
$$f_{\mathcal{E}}(x1) \le f{\mathcal{E}}(x2)$$ and $f{\mathcal{A}}(x1) \le f{\mathcal{A}}(x_2)$ ,
where at least one of the inequalities is strict. Then a Pareto solution is a feasible perturbed timetable which is not dominated by any other feasible perturbed timetable (see Appendix B). The points fE(x∗) fA(x∗) in objective space are called efficient points, if x is a Pareto solution.
We now formulate (BDM) as a bicriteria (linear) integer program. To this end, let M > maxi∈E di.
$$\min f{\text{BDM}} = \left(\frac{\sum{i \in \mathcal{E}_{arr}} yi}{\sum{a \in \mathcal{A}_{change}} w_a \bar{z}_a}\right)$$ (9.1)
such that
$$y_i \ge d_i \text{ for all } i \in \mathcal{E}$$ (9.2)
$$y_i - y_j \le sa$$ for all $a = (i, j) \in A{wait} \cup A_{drive}$ (9.3)
$$-M\bar{z}_a + y_i - y_j \le sa \text{ for all } a = (i,j) \in \mathcal{A}{change}$$
$$(9.4)$$
$$y_i \in \mathbb{N}$$ for all $i \in \mathcal{E}$
$$\bar{z}a \in {0,1}$$ for all $a \in \mathcal{A}{change}$ .
First we show that y is time-minimal in all Pareto solutions of (BDM). Recall that
$$\mathcal{A}^{fix}(\bar{z}) = { a \in \mathcal{A}_{change} : \bar{z}_a = 0 }.$$
Lemma 9.2. Let (y, z¯) be a Pareto solution of (BDM). Then
$$y = y(\mathcal{A}^{fix}(\bar{z})).$$
For all $$a = (i, j) \in \mathcal{A}_{change}$$ :
$$\bar{z}_a = 0 \Longleftrightarrow y_i - y_j \le s_a.$$
Proof. 1. Denote y∗ = y(Af ix(¯z)) and assume that y = y∗. Since y is a feasible perturbed timetable we know from part 1 of Lemma 7.8 that y∗ ≤ y, and y = y∗ gives us additionally that there exists i ∈ E with y∗ i < yi. Moreover, since y∗ is feasible for TT(Af ix(¯z)) we conclude that (y∗, z¯) also is a feasible solution of (BDM). Hence,
$$\begin{split} f{\mathcal{E}}(y^*,\bar{z}) &= \sum{i \in \mathcal{E}_{arr}} yi^* \ &< \sum{i \in \mathcal{E}_{arr}} yi = f{\mathcal{E}}(y,\bar{z}), \text{ and} \ f{\mathcal{A}}(y^*,\bar{z}) &= f{\mathcal{A}}(y,\bar{z}). \end{split}$$
This is a contradiction to the Pareto optimality of (y, z¯).
$$\begin{split} f{\mathcal{E}}(y,\bar{z}) &= f{\mathcal{E}}(y,\bar{z}') \ f{\mathcal{A}}(y,\bar{z}) &= \sum{a \in \mathcal{A}_{change}} w_a \bar{z}a \ &> \sum{a \in \mathcal{A}_{change}} w_a \bar{z}a' = f{\mathcal{A}}(y,\bar{z}'), \end{split}$$
since wa˜ > 0. Again, this is a contradiction to the Pareto optimality of (y, z¯).
Similar to the previous chapter, we can now define reduced solutions as follows.
Definition 9.3. Let (y, z¯) be a feasible solution of (BDM). Define
$$y(\bar{z}) = y(\mathcal{A}^{fix}(\bar{z}))$$ $$\bar{z}_a(y) = \begin{cases} 0 & \text{if } y_i - y_j \le s_a \ 1 & \text{otherwise} \end{cases}$$
and the reduced solution
$$R^{BDM}(y,z) = (y^{red}, z(y^{red})),$$
where yred = y(¯z) is the time-minimal solution with respect to Af ix(¯z).
In contrast to (TDM) where we only knew that there always exists a reduced solution, Lemma 9.2 yields that all Pareto optimal solutions are reduced ones.
We first discuss the two lexicographic minimal solutions which can both be determined easily for (BDM). Minimizing in the order (fA, fE) we first have to minimize the weight of the missed connections. By setting ¯za = 0 for all a ∈ Achange we obtain fA = 0 which is the best possible solution value. To minimize fE under this condition we determine y = y(Achange) by Algorithm 12 and its objective function value fE to obtain the lexicographic minimal solution (y, z¯).
For the order (fE , fA) we proceed in two steps: First let Af ix = ∅ (allowing all connections to be missed) and determine y = y(∅) again by Algorithm 12 to obtain a solution with minimal possible objective function value fE. To improve the corresponding value of fA we calculate ¯z = ¯z(y) according to Definition 9.3 above, i.e., we find out which connections are really missed in our particular solution y, yielding the lexicographic minimal solution (y, z¯).
Supported efficient solutions are those solutions which can be determined by a scalarization of the two objectives, i.e., by solving the following minimization problem, see [Geo68], or Appendix B. Given 0 <λ< 1 we have to solve
$$\min \lambda \sum{i \in \mathcal{E}{arr}} yi + (1 - \lambda) \sum{a \in \mathcal{A}_{change}} w_a \bar{z}_a$$
such that
$$\begin{aligned} y_i &\geq d_i & \text{ for all } i \in \mathcal{E} \ y_i &- y_j \leq sa & \text{ for all } a = (i,j) \in \mathcal{A}{wait} \cup \mathcal{A}_{drive} \ -M\bar{z}_a + y_i &- y_j \leq sa & \text{ for all } a = (i,j) \in \mathcal{A}{change} \ y_i &\in \mathbb{N} & \text{ for all } i \in \mathcal{E} \ \bar{z}a &\in {0,1} & \text{ for all } a \in \mathcal{A}{change}. \end{aligned}$$
Fortunately, this problem is equivalent to (TDM-const) (Section 8.3 on page 136).
Theorem 9.4. Finding supported efficient solutions of (BDM) is equivalent to solving (TDM-const).
Proof. Define T = 1 − λ, wi = λ. (If T should be as large as it used to be, multiply all weights wi and T by some large value.)
This means we can use the results of Sections 8.4 and 8.3. Especially, the nevermeet property gets important again, since it simplifies (BDM) significantly, if it is satisfied. Recall from Definition 8.18 that the delay management problem has the never-meet property, if for each Af ix ⊆ Achange the time-minimal solution y = y0(Af ix) satisfies the following two conditions.
For all j ∈ Ered−late:
As a consequence of Theorem 9.4 we hence get:
Corollary 9.5. Let the delay management problem have the never-meet property. Then the supported efficient solution belonging to some fixed λ can be determined in time O(|A|).
Proof. This follows from Theorem 9.4 and from the correctness of Algorithm 15 (see Theorem 8.34) on page 160.
Without the never-meet property, but with zero slack times we can use Theorem 8.23 to obtain the next corollary.
Corollary 9.6. Let sa = 0 for all a ∈ A. Then the supported efficient solution belonging to some fixed λ can be determined by linear programming.
Proof. The corollary also follows from Theorem 9.4, this time in combination with Theorem 8.23 (see page 146).
We remark that solving the scalarization in the general case can be done by Algorithm 14 (page 156), or by solving the relaxation using the lower bounds provided in Theorem 8.26 and Corollary 8.28 (see page 150).
In this section we present an exact algorithm for finding all efficient solutions of (BDM). It is based on ideas from solving the discrete time/cost tradeoff problem (DTCTP) of project planning, and has been applied to delay management in [Gin01, GS02]. We start by describing (DTCTP).
In project planning the classic goal is to determine the minimal project length. One possibility to finish a project quicker is to speed up some of the activities. Usually this is expensive, since new facilities have to be bought or more workers have to be hired. In this sense, we have two objective functions, namely the project length and the money to be spent, and the goal might be to
If the cost-duration function is continuous for each activity, the problem has been widely studied, see [Elm77, Neu75] and references therein. In the discrete time/cost tradeoff problem (DTCTP), however, the duration L¯a is a discrete non-increasing function ga depending on the costs c. The possible cost-duration combinations of the respective activity are called modes, and are given by
$${(\bar{L}_a^m, c_a^m), m = 1, \dots, M^a}.$$
As in the continuous case, we have two objective functions in (DTCTP), namely
In contrast to the continuous case, literature on (DTCTP) is rather sparse. The NP-hardness of the problem has been shown 1992 in [DDGW97]. Demeulemeester et al. [DHE96] gave two optimal procedures for that problem. The first algorithm is based on a procedure for finding the minimal number
of reductions necessary to transform a general network to a series-parallel network, see [BKS92]. The second one minimizes the computational effort in enumerating alternative modes through a branch and bound tree. The solution method proposed in [DRF+98] uses a branch and bound procedure which computes lower bounds by making convex piecewise linear underestimations of the discrete time/cost curves of the activities. Those piecewise linear underestimations are used as input for an adapted version of the Fulkerson labeling algorithm for the linear time/cost trade-off problem.
For solving (BDM) we will adapt a solution method for (DTCTP) which has been suggested by [DHE96]. It is based on the following ideas.
Any project network N¯ = (E¯, A¯) (according to Definition 7.3) can be reduced to one single arc by applying the following three operations (Figure 9.2), see [DHE96]:
Serial merge: Let a1 be an arc from i to j, let a2 be an arc from j to k, and let no other arc in A¯ be incident with node j ∈ E¯. Then merge a1 and a2 to one arc a going from i to k.
Parallel merge: Let a1,...,ap be p arcs going from i to j. Then merge all of them to one arc a going from i to j.
Node reduction: Let i ∈ E¯ such that only one incoming arc a0 is incident with i, and let a1,...,ap be the outgoing arcs (or vice versa). Then merge a0 with all of the arcs a1,...,ap serially to the new activities a0 1,...,a0 p.
If no node reduction is needed in the reduction process, the network is called series parallel. An alternative approach to the critical path method (CPM) (see Section 7.2), is to successively shrink the network by applying the two merge operations and node reduction, until only one arc from s to t is left (see [Elm77]). The duration of the new arc a is calculated by
Node reduction consists of p serial merges and is treated accordingly. We refer to Figure 9.2 for an illustration.
In the (DTCTP) we need to calculate the complete set of modes in each shrinking operation. In a serial or a parallel merge this can be done easily as follows.
Serial merge: $${(\bar{L}_{a_1}^{m1} + \bar{L}{a_2}^{m2}, c{a_1}^{m1} + c{a_2}^{m_2}), \text{ for all modes } m_1 \text{ of } a_1, m_2 \text{ of } a_2}$$
Parallel merge: ${(\max{l=1,...,p} L{a_l}^{ml}, \sum{l=1}^p c_{a_l}^{m_l} \text{ for all modes } m_l \text{ of } a_l, l=1,\ldots,p}$
Note that many of the modes of the new arc a can be skipped (or, numerically better, need not be constructed) since they are dominated by other modes of a. Applying the two merging operations in a series-parallel network, one ends up with one single arc containing all efficient solutions (as its current set of modes). The (DTCTP) is hence easy solvable in series-parallel networks.
Fig. 9.2. Situation before and after a serial merge, parallel merge, or node reduction, when calculating the minimal completion time.
Unfortunately, node reduction cannot be performed as easily as the serial and the parallel merge in the bicriteria case, since one has to exclude the combination of two different modes of the same activity later on. Hence, for finding all efficient solutions one needs to fix the mode in a node reduction and to enumerate all possible combinations of modes. How to find a minimal set of activities to fix is described in [BKS92]. For more details, we refer to [DHE96].
To use these results for solving the bicriteria delay management problem, we will first discuss how the delay can be calculated correctly in the shrinking method in the next section and then show how (BDM) can be modeled and solved as (DTCTP).
For answering the questions above we reconsider the delay management problem with fixed connections TT(Af ix) of Chapter 7. Recall that in this problem we have given a set of changing activities Af ix ⊆ Achange for which we require
$$y_i - y_j \le s_a$$
meaning that these connections must be maintained.
We now adapt the shrinking method sketched on page 182 to calculate the delay correctly in the delay management problem with fixed connections. Of course, this method yields the optimal solution by Theorem 7.5. But for the bicriteria delay management problem it is important to be able to calculate both objective functions in each intermediate step of the shrinking process.
To this end we introduce a second parameter ¯ da for each activity which calculates the delay, and, furthermore, we shrink the network in a specific order. That is, we are only allowed to merge activities if no preceding activities exist any more. This is specified next. Note that during the reduction process parallel edges may occur, such that the notation a = (i, j) in this section just means activity a goes from event i to event j. We now define the following network.
Notation 9.7. Let N = (E, A) and let Af ix ⊆ Achange. The corresponding delay network N d = (Ed, Ad) is given through
$$\begin{split} \mathcal{E}^d &:= \mathcal{E} \cup {s,t} \ \mathcal{A}^d &:= \mathcal{A} \cup {(s,i)^s: i \in \mathcal{E}} \cup {(s,i)^d: i \in \mathcal{E}_{del}} \ & \cup {(i,t): i \text{ is a maximal element of } \mathcal{E}} \cup {(s,t)} \ \bar{L}_a & \text{if } a \in \mathcal{A} \ \Pi_i & \text{if } a = (s,i)^s, i \in \mathcal{E} \ \Pi_i + di & \text{if } a = (s,i)^d, i \in \mathcal{E}{del} \ 0 & \text{if } a = (i,t), i \in \mathcal{E} \ T & \text{if } a = (s,t). \end{split}$$
The arcs a = (s, i)s are called timetable arcs and the arcs a = (s, i)d are called delay arcs.
Fig. 9.3. Situation before and after a serial merge, parallel merge, or node reduction, when calculating the delay .
We remark that each node (except of the source s) is incident with exactly one incoming timetable arc.
We now come back to the delay management problem with fixed connections (TT(Af ix)) and present one more algorithm to solve it. The shrinking process of step 1 is depicted in Figure 9.3.
Input: N , Πi, di, La, Af ix.
Output: Optimal (time-minimal) solution of TT(Af ix).
Step 0. Set ¯ da = 0 for each arc, and let L¯a be defined as in Notation 9.7.
Step 1. Apply the following operations if applicable:
Serial merge: Applicable for two activities a1, a2 if a1 = (s, i) a2 = (i, j) for i, j ∈ E¯, and no other activity is incident with i. Then delete i and replace a1 and a2 by one arc a = (s, j) with
$$\bar{L}a = \bar{L}{a1} + \bar{L}{a_2} \tag{9.5}$$
$$\bar{d}a = \bar{d}{a_1} \tag{9.6}$$
Parallel merge: Applicable for activities a1,...,ap with ak = (s, i) for one common node i ∈ E¯, if there is no other incoming activity of event i. Let as be the (at most one) timetable arc. Then replace all ak by one arc a = (s, i) with
$$\bar{L}a = \max{{\bar{L}{a1}, \dots, \bar{L}{a_p}}}$$ (9.7)
$$\bar{d}a = \begin{cases} \sum{a=a_1,\dots,a_p} \bar{d}_a + \bar{L}a - \bar{L}{a^s} & \text{if } i \in \mathcal{E}{arr} \ \sum{a=a_1,\dots,a_p} \bar{d}a & \text{if } i \notin \mathcal{E}{arr}. \end{cases}$$ (9.8)
Node reduction: Applicable for activities a0, a1,...,ap if a0 = (s, i) and ak = (i, jk) with i, jk ∈ E¯ for k = 1,...,p, and no other activities are incident with i. Then arbitrarily choose an outgoing arc of i, say a1,
delete i, and replace ak, k = 0,...,p by p arcs a0 k = (s, jk), k = 1,...,p.
$$\bar{L}_{ak^0} = \bar{L}{a0} + \bar{L}{a_k}, k = 1, \dots, p$$ (9.9)
$$\bar{d}_{a1^0} = \bar{d}{a_0} \tag{9.10}$$
$$\bar{d}_{a_k^0} = 0, \quad k = 2, \dots, p$$ (9.11)
Step 2 : If the network has been reduced to one single arc a = (s, t) let fE = ¯ da. Stop.
Before we prove its correctness, Algorithm 21 will be illustrated in the following example. Consider the situation shown in Figure 6.4 (see page 105), representing a PTN with two vehicles g and h that meet at station v0, such that passengers can change between the two vehicles. The scheduled times and the lower bounds for each activity are given. Suppose that vehicle g arrives at v0 with a delay of 10 minutes, i.e., d1 = 10 and the duration of the corresponding delay arc a = (s, 1)d is L¯a = 18 + 10 = 28. In Figure 9.4 the corresponding delay network, in which the delay arc (s, 1) has already been merged with its parallel timetable arc, is depicted.
Fig. 9.4. N d for the example. Event 1 is delayed by 10 minutes. The changing activities are dashed.
Table 9.1 gives the perturbed timetable x. In addition the original timetable Π and the delay for each event are given. The sum over all delays in the network equals 23 minutes, which is minimal under the assumption that all connections are kept.
Lemma 9.8. N¯ can be reduced to one single arc from s to t by using serial merges, parallel merges, and node reduction as defined above.
Proof. Let N¯ c = (E¯c, A¯c) denote the reduced network with its set of nodes and arcs after c steps of reduction. Note that there exist directed paths from s to any of the nodes in E¯c, and from each node in E¯c to t. Take a minimal node i in E¯c and let a1 = (s, i) be the arc from s to i i.e., there is no node j ∈ E¯c \ {s} with j ≺ i.
| s 8:00 8:00 0 9 1 g, v0, arr 8:28 8:18 10 >>> >>> 2 h, v3, dep 8:06 8:06 0 >>> 3 h, v0, arr 8:20 8:20 0 >= (xi P − 4 g, v0, dep 8:32 8:26 6 i∈E 5 h, v0, dep 8:34 8:27 7 >>> >>> 6 g, 8:46 8:46 0 |
i | event | xi | Πi | yi | |
|---|---|---|---|---|---|---|
| Πi) = 23 min | ||||||
| v2, arr | ||||||
| >>> 7 h, v4, arr 8:47 8:47 0 >; |
Table 9.1. New timetable computed by Algorithm 21.
Lemma 9.9. During the reduction process let a = (s, i) be the only activity from s to i, i ∈ E¯. Then La contains the perturbed feasible timetable for event i of the optimal solution to TT(Af ix).
Proof. Applying the shrinking operations together with the rules (9.5),(9.7), and (9.9) is equivalent to CPM (see [Elm77]). Furthermore, according to Theorem 7.5 we know that CPM yields an optimal solution to TT(Af ix). Together, the result follows.
Lemma 9.10. Let a = (s, t) be the only remaining activity at the end of the shrinking process. Then fE = ¯ da, i.e., ¯ da contains the sum of all arrival delays of the event-activity network N .
Proof. We show by induction that in each step of the shrinking process,
$$\sum_{a\in\bar{\mathcal{A}}}\bar{d}_a$$
contains the sum of all delays of arrival events in the set E˜, consisting of
After the initialization, all ¯ da = 0. This is correct, since no activity has been deleted, and all delayed events i ∈ Edel have two incoming arcs (s, i)d and (s, i)s, i.e., E˜ = ∅. Now we discuss each of the three shrinking operations.
Serial merge of an arc a1 = (s, i) and another arc a2 = (i, j) means to delete event i, which already has been a timetable event before. Since there exists at least one more arc to j (namely the timetable arc (s, j)) j will not enter E˜, hence E˜ does not change. On the other hand, activities a1 and a2 are replaced by a, but since ¯ da1 = ¯ da and ¯ da2 = 0 the sum of all ¯ da over all a ∈ A¯c does not change.
Node reduction is also correct, since it consists of d serial merges, where the delay of the timetable arc is transferred exactly to one of the new arcs.
Parallel merge of a1,...,ap, all of them going from s to i means that i becomes a timetable event and is added to E˜. We have to show that the new calculation of the delay now includes the delay of event i, if it is an arrival event. To this end, let a1 be the unique timetable arc. Note that this means La1 = Πi contains the original timetable, while L¯a = maxk=2,...,p L¯ak , contains the (perturbed) time for event i in an optimal solution of (TT(Af ix)) due to Lemma 9.10. Consequently, the delay of event i is zero, if L¯a = Πi, otherwise the delay is given by L¯a − Πi. Adding this new delay to the given ones ¯ dak , k = 1,...,p and using the induction hypothesis proves the result. In the case that i is not an arrival event, especially, i = t no further delay needs to be added. Replacing a1,...,ap by one arc a is correct since all the delays are added to the delay of the new arc a.
Lemma 9.9 and 9.10 together finally show the desired correctness of our procedure.
Theorem 9.11. Algorithm 21 yields an optimal solution to TT(Af ix).
To find the set of all efficient solutions of (BDM) we will now transfer the algorithm by [DHE96] for the discrete time/cost trade-off problem (DTCTP) to the bicriteria delay management problem.
First, we have to define modes for each arc as follows. For all activities a ∈ Achange we define two modes, given by (La, 0) and (−∞, wa), representing that we either maintain the connection, i.e., the duration of the changing arc has to be included in the calculation, or we do not maintain the connection which means that we lose a weight of wa customers. All other activities (waiting, driving) as well as the timetable arcs in the construction of the delay network N¯ d only get one single mode (L¯a, 0). A third parameter, calculating the delay in each step is also necessary. The modes are given by the triple (duration, delay, weight of lost connection). A mode m1 dominates m2, if m2 is dominated in the two last components of the triples.
Input: N , di, Πi, La, wa.
Output: All efficient solutions of (BDM).
$${(\bar{L}_{a_1}^{m1}+\bar{L}{a_2}^{m2},\bar{d}{a_1}^{m1},\bar{w}{a_1}^{m1}+\bar{w}{a_2}^{m_2}), \text{ for all modes } m_1 \text{ of } a_1,m_2 \text{ of } a_2}$$
and deleting dominated ones.
1.2. Parallel merge: Applicable for activities a1,...,ap with ak = (s, i) for one common node i ∈ E¯, if there is no other incoming activity of event i.
Let as be the (at most one) timetable arc. Then the modes of the new activity a are given by
$${(\max{l=1}^p \bar{L}{a_l}^{ml}, \sum{l=1}^p \bar{d}_{a_l}^{ml} + \max{l=1}^p \bar{L}_{a_l}^{ml} - \bar{L}{a^s}, \sum{l=1}^p \bar{w}{a_l}^{m_l})$$
for all modes ml of al, l = 1,...,p
in the case that i ∈ Earr. For i ∈ Earr the modes are given by
$${(\max{l=1}^{p} \bar{L}{a{l}}^{m{l}}, \sum{l=1}^{p} \bar{d}{a{l}}^{m{l}}, \sum{l=1}^{p} \bar{w}{a{l}}^{m{l}})$$
for all modes ml of al, l = 1,...,p},
where dominated modes are deleted.
1.3. Node reduction: Applicable for activities a0, a1,...,ap if a0 = (s, i) only has one single mode, ak = (i, jk) with i, jk ∈ E¯ for k = 1,...,p, and no other activities are incident with i. Then arbitrarily choose an outgoing arc of i, say a1, delete i, and calculate the modes of the new activity a0 k, k = 2,...,p by
$${(\bar{L}_{a0}+\bar{L}^m{ak},0,\bar{w}^m{a_k}) \text{ for all modes } m \text{ of } a_k}$$
and of a0 1 by
$${(\bar{L}_{a0} + \bar{L}{a1}^m, d{a0}, \bar{w}{a0} + \bar{w}{a_1}^m) \text{ for all modes } m \text{ of } a_k}.$$
Step 2.
2.1 Final reduction If the network has been reduced to one single arc goto 3.
Proof. Using the result of Theorem 9.10 we know that the delay fE has been calculated correctly when reaching step 2.1. It is also clear that the final value of ¯w in the remaining activity from s to t equals fA. If all solutions had been determined for each possible combination of modes, the resulting set would contain all efficient solutions. Since a solution can never be Pareto, if parts of it are dominated (i.e., can be replaced by a better solution) it is feasible to delete dominated modes for single activities during the reduction process. Since in the final step, all remaining dominated solutions are deleted, we end up with the set of non-dominated solutions in the end.
Consider again our example on page 186. Figure 9.5 shows the corresponding DTCTP. First a serial merge operation can be applied to activities 6 and 10. Denote the new activity by 17 with mode (20,0,0) and merge it in parallel with activity 5 which yields the new activity 18 with mode (20,0,0). Now a node reduction step is performed for event 1, adding the costs of activity 1 to a succeeding activity, e.g., activity 8 and thus obtain activity 19 with mode (32,10,0). Activity 9 can then be merged serially with activity 1, this time without adding the costs to avoid double counting. This yields activity 20 with modes (34,0,0) and (−∞,0,1). Now merge activity 3 and 19 in parallel. Since activity 3 is a timetable arc and the duration of activity 19 is greater than the one of activity 3, the difference of 6 minutes has to be added to the delay of the new activity, which is numbered by 21 and has mode (32,16,0). Another parallel merge operation can be performed with activities 2 and 20 which results in activity 22 with modes (34,7,0),(27,0,1). The delay of 7 minutes in the first mode results from the difference in the duration of activities 20 and 2 (34 − 27 = 7). Figure 9.6 shows the network after these reduction steps. Then it can be continued in the same way by performing a node reduction with event 3. Table 9.2 shows the complete reduction plan.
In step 3 of the algorithm we compare the obtained solutions with solutions found in previous iterations. Since in this example there were no activities to fix with more than one mode, the computation can be stopped and yields two efficient solutions: the first one with no missed connections and 23 minutes of
Fig. 9.5. N¯ d with the modes for DTCTP.
Fig. 9.6. Network after the first six reduction steps.
| Action | Activities New Modes | |
|---|---|---|
| 1.Series | [6,10] | 17 (20,0,0) |
| 2.Parallel | [5,17] | 18 (20,0,0) |
| 3.Reduce | [1,8] | 19 (32,10,0) |
| 4.Reduce | [1,9] | 20 (34,0,0),(−∞,0,1) |
| 5.Parallel | [3,19] | 21 (32,16,0) |
| 6.Parallel | [2,20] | 22 (34,7,0),(27,0,1) |
| 7.Reduce | [18,11] | 23 (24,0,0) |
| 8.Reduce | [18,12] | 24 (26,0,0),(−∞,0,1) |
| 9.Parallel | [21,24] | 25 (32,16,0) |
| 10.Parallel | [22,23] | 26 (34,7,0),(27,0,1) |
| 11.Series | [25,14] | 27 (46,16,0) |
| 12.Parallel | [4,27] | 28 (46,16,0) |
| 13.Series | [26,13] | 29 (44,7,0),(37,0,1) |
| 14.Parallel | [7,29] | 30 (47,7,0),(47,0,1) |
| 15.Series | [28,15] | 31 (46,16,0) |
| 16.Series | [30,16] | 32 (47,7,0),(47,0,1) |
| 17.Parallel | [31,32] | 33 (47,23,0),(47,16,1) |
| 18.Evaluate | 33 |
Table 9.2. Reduction plan for the example.
total delay and the second one with one missed connection and 16 minutes of total delay.
Fig. 9.7. Number of efficient solutions as function of the size of Achange.
Instead of fixing all possible combinations of modes, a branch and bound approach can be applied to make the procedure more efficient. Nevertheless, our numerical experiments indicate that Algorithm 22 runs rather quickly if the relevant time interval to be considered is not too large. Evaluating the delay and the missed connections for all events and activities within the next 60 minutes could in most cases be done within a running time of less than a minute on a standard personal computer. Both the running time and the number of efficient solutions depend on the number of changing activities that need to be considered. This behavior is depicted in Figure 9.7, details can be found in [GS02, Gin01].
The nice behavior of Algorithm 22 on our practical data is due to the fact that the number of changing activities outside of the municipal areas is relatively small, such that the event-activity network is close to a series-parallel one. Summarizing, the method seems to have the potential to be used as an online decision support procedure.
In the first part of this chapter we present a very general model for the delay management problem, called general delay management problem (GDM). It contains all models discussed so far as special cases and allows us to define many other interesting objective functions. The goal in the general delay management problem is to minimize the following two objectives simultaneously:
where we allow two different subsets P1,P2 ⊆ P, specifying the paths relevant for either objective.
In the second part we discuss some requirements arising in practice that are currently under research. In particular in railway delay management problems, additional requirements modeling the limited capacity of the tracks need to be taken into account.
Chapter 10 is structured as follows: We discuss the general delay management problem (GDM), give an integer programming formulation and point out its relation to the models (TT), (TDM), and (BDM) discussed before. Furthermore we briefly mention requirements for delay management which appear in practice and first solution approaches to including them in our models.
Here we present a very general model for the delay management problem. We propose a bicriteria formulation, which takes into consideration that arriving with a delay and missing a connection may have different utility functions. The specification, how more important it is to miss a connection, is left open since experience tells us that this decision strongly depends on the preferences of the respective planner of the public transportation company.
To formalize the objective functions of (GDM), let two sets of customers' paths P1,P2 be given and let P = P1 ∪ P2. (Paths have been defined in Chapter 8.) Then consider passengers traveling along a path p ∈ P through the public transportation network. We are interested in the following two cases.
Case 1: If p ∈ P1 and all connections on path p are maintained, then we add the delay of a passenger using path p to our first objective. This delay of a passenger using path p equals the arrival delay of his last vehicle g(p) at his destination station v(p), given by
$$x{arr} {}{g(p)}^{v(p)} - \Pi{arr} {}{g(p)}^{v(p)}.$$
Case 2: If p ∈ P2 and at least one connection on p is missed, then we count all passengers using path p in the second objective.
The general delay management problem can now formally be stated as follows.
Given PTN, F, U, minimal necessary times for driving, waiting, and changing, a feasible timetable Πarr, Πdep, a set of paths P through PTN with weights wp for all p ∈ P, and a set of delayed events Edel, find a perturbed feasible timetable xarr, xdep, such that both
$$\begin{split} f1 &= \sum{p \in \mathcal{P}_1: p \text{ is maintained}} wp(x{arrg(p)}^{v(p)} - \Pi_{arrg(p)}^{v(p)}) \quad \text{and} \ f2 &= \sum{p \in \mathcal{P}_2: p \text{ is missed}} w_p, \end{split}$$
are minimized.
By defining the sets P1,P2 appropriately, one can investigate many interesting objective functions as special cases of f1 and f2. For example, defining P1 as the set of paths used by the drivers of the PTN, f1 will give the sum of delays of the drivers when coming back to the depot at the end of their shifts, and is hence the sum of the overtime over all drivers.
(GDM) can be formulated as the following integer program.
(GDM)
$$\min\left(\frac{\sum_{p\in\mathcal{P}_1}wpy{i(p)}(1-zp)}{\sum{p\in\mathcal{P}_2}w_pz_p}\right),\,$$
such that
$$y_i \ge di \quad \forall i \in \mathcal{E}{del}$$ (10.1)
$$y_i - y_j \le sa \quad \forall a = (i, j) \in A{wait} \cup A_{drive}$$ (10.2)
$$-M\bar{z}_a + y_i - y_j \le sa \quad \forall a = (i, j) \in \mathcal{A}{change}$$
$$(10.2)$$
$$M\bar{z}_a - y_i + y_j \le M - \frac{1}{2} - sa \quad \forall a = (i, j) \in \mathcal{A}{change}$$ (10.4)
$$zp - \sum{\bar{z}_a \le 0} \bar{z}_a \le 0 \quad \forall p \in \mathcal{P}$$ (10.5)
$$a \in A_{change} \cap p$$
$z = \overline{z} > 0 \forall n \in \mathcal{D} a$
$$z_p - \bar{z}a \ge 0 \quad \forall p \in \mathcal{P}, a \in \mathcal{A}{change} \cap p$$ (10.6)
$$y_i \le T \quad \forall i \in \mathcal{E} \tag{10.7}$$
$$y_i \in \mathbb{N} \ \forall i \in \mathcal{E}$$
$$z_p \in {0, 1} \ \forall p \in P$$
$$\bar{z}_a \in {0,1} \ \forall p \in \mathcal{P}.$$
The following observations make sure that the integer programming formulation is a correct model for (GDM).
Lemma 10.1. In each feasible solution of (GDM) the following holds.
Proof. 1. First consider a connection a ∈ Achange.
We also have to clarify the size of M.
Lemma 10.2. Choosing M ≥ T + sa + 1 2 for all a ∈ Achange is large enough for constraints (10.4), while for constraint (10.3) M ≥ yi − yj − sa for all a = (i, j) ∈ Achange is sufficient.
Relation to (TT)
fTT can be interpreted as a special case of f1 in (GDM), namely, if the set of paths P1 only contains paths p such that for all a ∈ p: a ∈ Af ix. Defining
$$\mathcal{P}^{fix} = { p \in \mathcal{P} : \text{ for all } a \in p : a \in \mathcal{A}^{fix} } \text{ and } wi^{fix} = \sum{p \in \mathcal{P}^{fix}; i(p) = i} w_p$$
we conclude that
$$f1 = \sum{p \in \mathcal{P}^{fix}} wp y{i(p)} = \sum_{p \in \mathcal{P}_1: z_p = 0} w_i^{fix} yi = f{rmTT}.$$
Relation to (TDM)
Here we prove that (TDM) is a scalarization of (GDM), and hence all solutions of (TDM) are (supported) efficient solutions of the general model (GDM). To this end, we use the formulation (TDM-A) on page 122.
Theorem 10.3. Let di ≤ D<T for all i ∈ Edel and let (y, z) be an optimal solution of (TDM-A). Then there exists z¯ such that (y, z, z¯) is a (supported) efficient solution of (GDM-B).
Proof. We show that (TDM-A) is equivalent to the scalarization of (GDM), given by
$$\min f_1(y,\bar{z},z) + Tf_2(y,\bar{z},z)$$
such that (10.1) – (10.7) and the integrality constraints are satisfied (see page 197), then the result follows from weighted sum scalarization with λ1 = 1 1+T , λ2 = T 1+T due to [Geo68], or see Appendix B.
(TDM-A) =⇒ (GDM): Consider a feasible solution (y, z) of (TDM-A) with objective function value f. We show that
$$(y^{red}, z^{red}, \bar{z}),$$
with
$$\begin{split} y^{red} &= y(\mathcal{A}^{fix}(z)), \ z^{red} &= z(y^{red}), \text{ and} \ \bar{z}_a &= \begin{cases} 0 & \text{if } y_i^{red} - y_j^{red} \leq s_a \ 1 & \text{otherwise} \end{cases} \end{split}$$
is a feasible solution of (GDM) with the same or a better objective function value. From Lemma 8.3 we already know that RA(y, z)=(yred, zred) is feasible for (TDM-A) and has an equal or better objective value; hence it only remains to show that (yred, zred, z¯) satisfies constraints (10.3) – (10.7) of (GDM), i.e.,
$$(10.3) -M\bar{z}_a + y_i^{red} - y_j^{red} \le sa \quad \forall a = (i,j) \in \mathcal{A}{change}$$
$$(10.4) M\bar{z}_a - y_i^{red} + y_j^{red} \le M - \frac{1}{2} - sa \quad \forall a = (i,j) \in \mathcal{A}{change}$$
$$(10.5) z^{red} - \sum_{a} \bar{z}_a \le 0, \forall a \in \mathcal{D}$$
$$(10.5) zp^{red} - \sum{a \in \mathcal{A}_{change} \cap p} \bar{z}_a \le 0 \ \forall p \in \mathcal{P}$$
$$(10.6) -z_p^{red} \le -\bar{z}a \quad \forall p \in \mathcal{P}, a \in \mathcal{A}{change} \cap p$$
$$(10.7) y_i \le T \ \forall i \in \mathcal{E}.$$
$$y_i^{red} - y_j^{red} > s_a$$
$\implies y_i^{red} - y_j^{red} \ge s_a + \frac{1}{2}$
(10.5): For zred p = 1 we know that there exists some a = (i, j) ∈ p such that yred i − yred j > sa. Consequently, ¯za = 1 and hence
$$zp^{red} \le \sum{a \in \mathcal{A}_{change} \cap p} \bar{z}_a.$$
The case zred p = 0 is trivial.
$$f_1(y, \bar{z}, z) + T f2(y, \bar{z}, z) = f{TDM-A}(y, z)$$
and this direction is also satisfied.
Finally, we remark that the bicriteria delay management problem (BDM) (see page 175) is also a special case of (GDM). This is stated more precisely in the following lemma.
Lemma 10.4. (BDM) is equivalent to (GDM) in the case that
$$\begin{split} \mathcal{P}_1 &= {pa : a \in \mathcal{A}{drive}} \ \mathcal{P}_2 &= {pa : a \in \mathcal{A}{change}} \ w_p &= \begin{cases} 1 & for \ all \ p \in \mathcal{P}_1 \ w_a \ for \ all \ p = p_a \in \mathcal{P}_2, \end{cases} \end{split}$$
where for a = (i, j) ∈ A the corresponding path pa is simply given by a sequence of the two events, i.e., pa = (i, j).
Note that to represent the paths of P2 in PTN, we have to add two more events to all paths ¯pa, namely
$$\bar{p}_a = (i', i, j, j')$$
where (i , i) ∈ Adrive and (j, j ) ∈ Adrive are the unique driving activities leading into event i, and going out of event j, respectively.
Proof. (GDM) =⇒ (BDM): Let (y, z,z ¯ ) be a feasible solution of (GDM). Then (y, z¯) is clearly feasible for (BDM). Furthermore, note that (y, z, z ¯ ) satisfies constraints (10.5) and (10.6) given by
(10.5) $$zp - \sum{a \in \mathcal{A}_{change} \cap p} \bar{z}_a \leq 0 \quad \forall p \in \mathcal{P}$$
(10.6) $z_p \geq \bar{z}a \quad \forall p \in \mathcal{P}, a \in \mathcal{A}{change} \cap p$ .
Since no path of P1 contains a changing activity we conclude from (10.5) that
$$z_p = 0.$$
For ¯pa ∈ P2 we know that a is the only changing activity contained in ¯pa, hence, (10.5) and (10.6) together yield
$$z_{\bar{p}_a} = \bar{z}_a.$$
For the objective functions we hence obtain
$$\begin{split} f{\mathcal{E}}(y,\bar{z}) &= \sum{i \in \mathcal{E}_{arr}} yi \ &= \sum{p \in \mathcal{P}_1} wp y{i(p)} \ &= \sum_{p \in \mathcal{P}_1} wp y{i(p)} (1 - z_p) \ &= f_1(y,\bar{z},z), \end{split}$$
and,
$$\begin{split} f{\mathcal{A}}(y,\bar{z}) &= \sum{a \in \mathcal{A}_{change}} w_a \bar{z}a \ &= \sum{a \in \mathcal{A}{change}} w{\bar{p}a} z{\bar{p}a} \ &= \sum{p \in \mathcal{P}_2} w_p z_p \ &= f_2(y,\bar{z},z). \end{split}$$
(BDM) =⇒ (GDM): Now let (y, z¯) be a Pareto solution of (BDM). Define
$$z_p = \begin{cases} 0 & \text{if } p \in \mathcal{P}_1 \ \bar{z}_a & \text{if } p = \bar{p}_a \in \mathcal{P}_2. \end{cases}$$
We have to show that (y, z¯) satisfies all constraints of (GDM) and leads to the same objective function values for both objectives. Constraints (10.1),(10.2), and (10.3) are identical to the first three constraints in (BDM), and constraints (10.5) and (10.6) hold due to the definition of zp. According to part 1 of Lemma 9.2 we know that y = y(Af ix(¯z), and hence yi ≤ maxi∈E di ≤ T , yielding (10.7).
Finally, consider (10.4) given by
(10.4) $$M\bar{z}_a - y_i + y_j \le M - \frac{1}{2} - sa \ \forall a = (i, j) \in \mathcal{A}{change}.$$
For ¯za = 0 this is trivially satisfied. On the other hand, from part 2 of Lemma 9.2 we know that for ¯za = 1 we have that yi − yj > sa, hence
$$-y_i + y_j \le -s_a - 1 \le -s_a - \frac{1}{2},$$
establishing (10.4). Analogously to the first part of this proof, both objective functions coincide.
This yields the following corollary.
Corollary 10.5. The general delay management problem (GDM) is NP-hard, even if all slack times are zero, P1 = P2, and no two connections are contained in the same connected component of PTN.
In practice, there are other effects which need to be considered when dealing with the delay management problem. Many of them occur since passing and overtaking of two trains can not be done anywhere on the tracks. E.g., on a single-track line, two trains have to pass each other in a station, and also overtaking is only possible in a set of certain locations. Finding train schedules on single-track lines has been considered, e.g., in [XC94, HKF96, Hig97], and the estimation of delays for single-track train traffic is discussed, e.g., in [CH90]. As already mentioned in the introduction, a recent overview about scheduling and re-scheduling of trains is given in [T¨or05a].
In the following we briefly outline how railway capacity requirements can be included in the delay management problem.
Oncoming traffic: On single track lines the oncoming traffic has to be taken into consideration, i.e., a vehicle is only allowed to leave if the oncoming vehicle has arrived. This effect can be modeled by introducing some new connections (g, h, v) representing that vehicle h is not allowed to depart before the oncoming train has arrived. Fixing ¯zghv = 0 it is possible to ensure that all these new connections are maintained, if the sequence of the trains is fixed, see Figure 10.1.
Fig. 10.1. Vehicle h is only allowed to depart if vehicle g has arrived.
Fig. 10.2. Vehicle h is only allowed to leave if (the fast) vehicle g has overtaken.
Overtaking: Analogously, overtaking is a problem on single-track railways, since it can only be done at a few points on the tracks in this case. This means that a (slow) vehicle h is only allowed to leave such a point, if the (fast) vehicle g has overtaken, i.e., if it has already departed. If the point where overtaking should take place is known beforehand, this requirement can also be modeled as an artificial activity in the event-activity
network N , namely from (g, k, dep) to (h, v, dep). Note that this is neither a changing, nor a waiting, or driving activity since it connects two departure events. In PTN we can illustrate the situation as in Figure 10.2.
Safety requirements: Finally, we discuss safety requirements. These have to make sure that two vehicles do not depart at the same time but with at least a distance of s minutes. Again, if we know the sequence of the departures beforehand, say, g departs before h, then we add the same type of activity
$$a = ((g, v, dep), (h, v, dep))$$
as for overtaking, but with a minimal duration Lghv = s. Fixing ¯zghv = 0 makes sure that the safety requirement will be satisfied in all perturbed timetables.
In the (more likely) case that the sequence of trains or the places for overtaking are not known, we end up with disjunctive constraints, which make the problem much harder to solve. Fortunately, we can still obtain an integer programming formulation by using additional binary variables to determine the sequence within the integer program. These are given (exemplary for the oncoming traffic, if passing is only possible at stations in V ) as follows.
$$s_{ghv} = \begin{cases} 1 & \text{if vehicle } g \text{ is at station } v \text{ before vehicle } h \ 0 & \text{otherwise.} \end{cases}$$
To ensure that at least one of these constraints is satisfied, we add constraints like
$$\sum{v \in V} s{ghv} \ge 1.$$
An exact formulation and solution procedures for this extension are currently under research. In the the graph-theoretic approach, the idea is to first construct a changing arc for each possible sequence of trains, or for each possible point suitable for overtaking, and then to make sure that at least one of these arcs is maintained. This leads to disjunctive constraints, and might be solvable using the concept of alternative graphs.
Note that modeling such capacity constraints exactly, a microscopic view is needed instead of the macroscopic model used so far. This includes modeling many blocks instead of just one single edge between two stations, and looking at platforms instead of stations. Integrated models combining the wait/depart decision and the train re-scheduling aspects are currently under research within a project together with Deutsche Bahn, see [BGJ+05].
In bus transportation the above constraints are not needed, but in this case, vehicle schedules and driver schedules may have an effect on the model, since a delayed vehicle or a delayed driver cannot start his next piece of duty in time. These effects can easily be modeled by introducing new connections, which have to be maintained to make sure that a delay is taken over to the next piece of duty.
Let us now deal with one more important issue in public transportation, namely the ticket prices for the customers. Designing a tariff system in public transportation is a complex real-world problem, that was brought to our attention by a regional public transportation company several years ago. In this part we present our studies and report on our practical experience in this area.
When using a bus or a train, a passenger usually has to pay for his trip. There are several possibilities for defining ticket prices in public transportation. The most popular ones are the distance tariff, the unit tariff and zone tariffs. In a (counting) zone tariff system the whole area of the public transportation company is divided into zones. To find out the ticket price for a trip, one counts the zones passed by the trip and reads off the price which only depends on the number of passed zones. Zone tariff systems are very popular at the moment, i.e., many transportation companies and traffic associations plan to introduce such a system.
When a public transportation company wants to change its tariff system to a zone tariff, it should be in such a way that the new system is still accepted by the customers and does not decrease the income of the company. A possible goal is to establish zones and zone prices such that the resulting ticket prices are as close as possible to the the current fares. This means that neither the public transportation company nor the customers will have major disadvantages when changing the current tariff system. Another goal can be to design a fair tariff system.
Given some preferred ticket prices (called reference prices), the (counting) zone design problem is to design a zone tariff system, i.e.,
such that the deviations between the resulting zone tariff and the given reference prices are as small as possible.
The reference prices are used to measure the quality of the new system. This is discussed in more detail in Section 11.4.
Chapter 11 is structured as follows: We first discuss the most common tariff systems. We then describe different zone design projects in which we applied our methodology in practice. Since there does not exist much literature on zone design problems, the literature review is rather short. Finally, we present a model for the zone design problem and three different possible objective functions.
We consider four different tariff systems: The distance tariff, the unit tariff, the zone tariff with arbitrary prices, and the counting zone tariff. Our goal will be to change a given tariff system to a counting zone tariff.
In a distance tariff system, the price for a trip depends on the length of the trip, given in kilometers. The longer the trip is, the higher is the fare. This system is usually considered as fair. To determine the ticket prices one needs the distance between each pair of stations, resulting in a matrix which in most cases is too large to be printed and put up at the stations. This makes a distance tariff inconvenient for the public transportation company and mysterious for the customers.
For the PTN with seven stations depicted in Figure 11.1, one needs the following 7 × 7 matrix to specify the distances (in kilometers) between each pair of stations.
$$D = \begin{pmatrix} 0 & 1 & 2 & 4 & 5 & 4 & 6 \ 1 & 0 & 1 & 3 & 4 & 3 & 5 \ 2 & 1 & 0 & 2 & 3 & 2 & 4 \ 4 & 3 & 2 & 0 & 1 & 4 & 2 \ 5 & 4 & 3 & 1 & 0 & 5 & 3 \ 4 & 3 & 2 & 4 & 5 & 0 & 5 \ 6 & 5 & 4 & 2 & 3 & 5 & 0 \end{pmatrix}$$
Furthermore, we need a table assigning a price for each trip length (for each ticket category), e.g.,
Fig. 11.1. A PTN to demonstrate the different tariff systems
| kilometer | price |
|---|---|
| 1 | 2 |
| 2 | 2 |
| 3 | 3 |
| 4 | 3 |
| 5 | 4 |
| 6 | 5 |
| 7 | 6 |
For example, to get the price for traveling from station v1 to v7 one has to look up dv1v7 = 6 and can then read off a price of 5. Most railway transportation companies use a distance tariff system. Some years ago, distance tariffs were also used by most regional bus companies in Germany.
The simplest tariff system is the unit tariff. In this case all trips cost the same, independent of their length. A unit tariff is very easy to handle for the public transportation company, and it is easy to understand for the customers, since they only have to remember one price (in each ticket category). Taking, e.g., a price of 3 in the example of Figure 11.1 this means that the trip from v1 to v7 costs 3. On the other hand, also the short trip from v1 to v2 has a price of 3, which is annoying for the respective customers. In general, it often is not accepted that a short trip between two neighboring stations costs the same as a long trip through the whole system.
Unit tariff systems are used within metropolitan areas, or for small public transportation companies.
A model in between these two tariff systems is a zone tariff system. To establish a zone tariff, the whole area has to be divided into subregions (the tariff zones), see Figure 11.2 for the example of Figure 11.1. In this example, the zone partition is given by the following assignment.
| zone |
|---|
| Z1 |
| Z1 |
| Z2 |
| Z2 |
| Z3 |
| Z4 |
| Z3 |
The price for a trip in a zone tariff system depends only on the starting and the ending zone of the trip. We distinguish the following two different realizations of zone tariff systems.
Fig. 11.2. The PTN with a zone partition of four zones
Zone tariff with arbitrary prices: If the price can be chosen arbitrarily for each pair of zones, we call the tariff system a zone tariff with arbitrary prices. The prices for each possible pair of zones are usually given in form of a matrix. Note that this matrix is much smaller than the matrix needed for describing a distance tariff. In the example of Figure 11.1 with the zone partition into four zones depicted in Figure 11.2, we only need the following 4×4 matrix to describe the tariff information instead of the 7 × 7 matrix for the distance tariff.
$$P = \begin{pmatrix} 1 & 2 & 4 & 3 \ 2 & 1 & 3 & 2 \ 4 & 3 & 3 & 5 \ 3 & 2 & 5 & 1 \end{pmatrix}.$$
To find out the price for the trip from v1 to v7 one first has to find out that v1 belongs to zone Z1 and v7 ∈ Z3. Then the ticket price can be read off as entry PZ1Z3 = 4. Note that the price for traveling within the same zone is not zero, and even need not be small, e.g., for traveling from v5 to v7.
This type of zone tariff is appropriate if any specialties should be modeled in the tariff system. An example of a zone tariff system with arbitrary prices can, for instance, be found north of San Francisco, USA, or within the city of Saarbr¨ucken, Germany.
Counting zone tariff: A more popular variant of a zone tariff system is the counting zone tariff system. To know his fare in this system, a customer has to count how many zones his trip will pass and read off the price assigned to the number of passed zones. The prices in this system depend on the starting and the ending zone of the trip, but trips passing the same number of zones must have the same price. In the example depicted in Figure 11.2 this means that the price for traveling from Z1 to Z3 has to be the same as the prices from Z1 to Z4 and from Z3 to Z4. Counting the number of passed zones can be done easily by the customers themselves, if a map is available. For knowing the price for a trip they then only need the following (small) table.
| number of zones | price |
|---|---|
| 1 | 1 |
| 2 | 3 |
| 3 | 4 |
To find out the price for the trip from v1 to v7 we count that this trip passes through three zones and hence has a price of 4.
Because of their transparency, zone tariff systems are very popular. In Germany, nearly all tariff associations already have zone tariff systems or are currently introducing them, such that at the moment almost the whole local public transportation in Germany, including the commuter trains of Deutsche Bahn, applies counting zone tariff systems. Also in other countries, counting zone tariff systems are used, e.g., in the region south of San Francisco, USA.
Note that the set of direct connections E of the given public transportation network PTN is not necessary to design a zone tariff with arbitrary prices. For a counting zone tariff system, however, it is necessary to know the set of direct connections to count the number of passed zones for each possible trip.
We end this section by remarking that distance tariffs and unit tariffs can both be seen as special cases of a counting zone tariff system. While it is directly clear that a unit tariff is nothing else than a zone tariff system with only one zone, we need to add empty zones for modeling a distance tariff. If each kilometer along the direct connections is treated as a zone of its own, the number of passed zones of a trip equals the length of the trip in kilometers. The zone prices are hence nothing else than the prices assigned to the trip lengths in the distance tariff.
Our first application was to design a zone tariff system with arbitrary prices for a regional bus company in the area of Kaiserslautern, see [Sch94a]. Since this time, other projects followed. We designed counting zone tariff systems, e.g., in the state Saarland and in a large part of the state Sachsen-Anhalt. The data we use for presenting numerical results within this part refers to our project in the Saarland. There are six public transportation companies operating in the Saarland. Before introducing the common zone tariff system, each of them had its own tariff system.
The traffic association of the Saarland wanted to introduce one common counting zone tariff system which is now applied by all public transportation companies operating in the Saarland. The public transportation network in the Saarland consists of roughly 4000 stations, where a pre-clustering into 600 mini-zones is given. The goal was to design about 100 zones and install a counting zone tariff system in such a way that the difference between the current fares and the new ones is as small as possible. It also was important that the new income of each of the public transportation companies should not differ too much from the old income. While the old fare structure was known and therefore relatively easy to get, it is usually hard to get realistic data about customers' behavior. In our project in the Saarland this was solved by using the income data of each of the transportation companies and dividing the income with the help of available statistics among the origin-destination pairs used by the customers. However, since the data about customers are confidential, we use an unweighted variant of the zone design problem for presenting some of the numerical results.
In spite of the importance of the zone design problem there is hardly any literature on corresponding operations research models. The only papers we are aware of are motivated by a study of the author ([Sch94a]) about the zone design problem with arbitrary prices, see [HS95, Sch94b, Sch96, BK03]. These papers discussed complexity issues and heuristics for this type of problem, as well as exact solution procedures for special cases. For the counting zone design problem in which we count the number of zones there is, to the best of our knowledge, no literature dealing with suitable operations research models. Note that parts of this chapter have been published in [HS04], and that some first results in this area have been obtained in the diploma thesis [Pen97]. Related research includes simulation approaches for fare integration ([GM06]) and the determination of fares such as to maximize revenue ([BNP05]).
Let the public transportation network PTN = (V,E) be a connected graph, where as usual, V refers to the set of stops and E represents the available direct rides without intermediate stops. Furthermore, let duv be given reference prices for traveling from station u ∈ V to station v ∈ V . Our goal is to design zones and zone prices in such a way that they are a good approximation of the given reference prices.
If L denotes the number of planned zones, the zone (planning) problem identifies a partition
$$\mathcal{Z} = {Z_1, Z_2, \dots, Z_L}$$
of V (i.e., Zi ⊆ V, i = 1, 2,...,L, the Zi are pairwise disjoint and ∪L i=1Zi = V ). In the fare (planning) problem zone prices
$$c(p), p = 0, 1, 2, \dots$$
are determined which depend only on the number of zones p in journey. Here c(p) denotes the price for passing p zone borders. In particular, c(0) gives the fare for traveling within the same zone (without passing any zone border), c(1) is the price for passing one zone border, i.e., for going from one zone to an adjacent one, and so on. To evaluate some partition Z with a zone price vector c, we need to count the number of zones on a path from u to v. To this end, we need the following notation.
Notation 11.1. For each pair of stations u, v ∈ V let nuv denote the minimal number of passed zone borders, when traveling from station u to station v.
Two remarks are added.
As it will turn out later, our model can be stated more simply by using the denotation nuv instead of n uv.
The new ticket price for traveling from u to v is then given by
$$z{uv} = \begin{cases} c(n{uv}) & \text{if } u \neq v \ 0 & \text{if } u = v. \end{cases}$$
Given the reference prices duv for a trip between stations u and v, the absolute deviation in ticket price is calculated by
$$|d{uv} - z{uv}| = |d{uv} - c(n{uv})|.$$
Recall that Wuv is the number of customers traveling from station u to station v. The minimization of the following three objective functions is of interest.
maximum absolute deviation: $$b{\max} = \max{u,v \in V} W{uv} | d{uv} - z_{uv} |$$ sum of absolute deviations: $b1 = \sum{u,v \in V} W{uv} | d{uv} - z_{uv} |$ sum of squared deviations: $b2 = \sum{u,v \in V} W{uv} (d{uv} - z_{uv})^2$
All three objectives are considered to be good models by practitioners. The first objective function, bmax with identical weights models the fact that the greatest deviation of ticket prices in the two different tariffs should be as small as possible. It gives a bound for changes in the ticket prices. In the weighted case, bmax minimizes the maximum deviation in the revenue of the company over all possible trips.
If W denotes the sum of all customers of the public transportation company, i.e., W = u,v∈V Wuv then b1 W gives the average of all absolute deviations, and b2 W the average of all squared deviations in ticket prices. The objective function b2 leads to a smaller percentage of strongly affected customers than b1. Nevertheless, from our experience, b1 is slightly better accepted by the practitioners than b2. Furthermore, we point out that deviations in price increases and decreases are treated equally, such that the model reflects both the interests of the customers and of the transportation companies.
Before we discuss how to compute the values nuv we introduce the following notation.
Notation 11.2. Two zones Zk, Zl ∈ Z are called adjacent if there exist stops u ∈ Zk, v ∈ Zl such that {u, v} ∈ E, i.e., with a direct ride in PTN.
To obtain the numbers nuv a shortest path algorithm, e.g., [Flo62, War62, Dij59] can be used according to one of the following models.
Station Graph Model: We use the public transportation network PTN = (V,E), but introduce new weights cuv for all {u, v} ∈ E, defined by
$$c_{uv} = \begin{cases} 0 & \text{if } u \text{ and } v \text{ are in the same zone} \ 1 & \text{if } u \text{ and } v \text{ are in adjacent zones.} \end{cases}$$
The length of a shortest path between two stops equals the minimum number of passed zone borders. This approach will be needed later to update the zone distances in the greedy heuristic in Section 12.2.
Zone Graph Model: To reduce the size of the network we define the zone graph GZ = (Z, EZ) by
$$\begin{split} \mathcal{Z} &= {Z_1, \dots, Z_L} \ E_Z &= {{Z_k, Z_l} : Z_k, Z_l \in \mathcal{Z} \text{ and } Z_k \text{ and } Z_l \text{ are adjacent}} \ c_e &= 1 \text{ for all } e \in E_Z. \end{split}$$
For u ∈ Zk and v ∈ Zl we hence get the minimum number of passed zone borders nuv on a trip from u to v as the length of a shortest path from Zk to Zl in GZ.
The following example demonstrates the calculation of bmax, b1, and b2. Let a PTN with a partition into three zones Z1 = {v1, v2}, Z2 = {v3, v4}, and Z3 = {v5} be given (see Figure 11.3). Suppose that Wuv = 1 for all u, v ∈ V,u = v, i.e., W = 20. If we assume that the distance between any adjacent pair of nodes is 1, the matrix duv according to the distance tariff system may be
$$D = \begin{pmatrix} 0 & 1 & 2 & 3 & 4 \ 1 & 0 & 1 & 2 & 3 \ 2 & 1 & 0 & 1 & 2 \ 3 & 2 & 1 & 0 & 1 \ 4 & 3 & 2 & 1 & 0 \end{pmatrix}.$$
Fig. 11.3. The PTN of the example
Fig. 11.4. The corresponding zone graph GZ of the example
The corresponding zone graph GZ consists of three nodes (see Figure 11.4). The number of passed zone borders between stations u and v is then given by
$$N = \begin{pmatrix} 0 & 0 & 1 & 1 & 2 \ 0 & 0 & 1 & 1 & 2 \ 1 & 1 & 0 & 0 & 1 \ 1 & 1 & 0 & 0 & 1 \ 2 & 2 & 1 & 1 & 0 \end{pmatrix}.$$
Suppose the new fares for passing p = 0, 1, or 2 zone borders are given by
$$c(0) = 0.5$$
$c(1) = 1$
$c(2) = 1.5$ .
Then the new ticket prices can be calculated as
$$Z = \begin{pmatrix} 0 & 0.5 & 1 & 1 & 1.5 \ 0.5 & 0 & 1 & 1 & 1.5 \ 1 & 1 & 0 & 0.5 & 1 \ 1 & 1 & 0.5 & 0 & 1 \ 1.5 & 1.5 & 1 & 1 & 0 \end{pmatrix}.$$
The deviations between the reference prices duv and the new ticket prices zuv are
$$D - Z = \begin{pmatrix} 0 & 0.5 & 1 & 2 & 2.5 \ 0.5 & 0 & 0 & 1 & 1.5 \ 1 & 0 & 0 & 0.5 & 1 \ 2 & 1 & 0.5 & 0 & 0 \ 2.5 & 1.5 & 1 & 0 & 0 \end{pmatrix}.$$
and finally the objective function values can be computed as
$$b_{\text{max}} = 2.5$$
$b_1 = 20$
$b_2 = 32$ ,
i.e., the maximum absolute deviation is 2.5, the average absolute deviation is 1, and the average squared deviation is 1.6.
In this chapter we deal with the counting zone design problem. We assume that the public transportation network and the necessary data about the customers in form of an OD-matrix is given. With the notation introduced in the previous chapter, the counting zone design problem is given as follows.
Given the PTN, reference prices duv, an OD-matrix with entries Wuv, and L ∈ IN, find a partition of V into L zones Zk, k = 1,...,L and zone prices c(p), p = 1,...,L such that an objective function
$$b \in {b_{\max}, b_1, b_2}$$
is minimized, where bmax, b1, and b2 are given as follows,
$$\begin{split} b{\text{max}}(\mathcal{Z},c) &= \max{u,v \in V} W{uv} |d{uv} - c(n_{uv})| \ b1(\mathcal{Z},c) &= \sum{u,v \in V} W{uv} |d{uv} - c(n_{uv})| \ b2(\mathcal{Z},c) &= \sum{u,v \in V} W{uv} (d{uv} - c(n_{uv}))^2. \end{split}$$
Chapter 12 is structured as follows: In the first section of this chapter we deal with the fare problem, i.e., we assume that the zone partition Z is already given and show how to find optimal zone prices c. We present closed form solutions for each of the three objective functions. Then we turn our attention to the zone problem in which we want to find the zones and exemplarily investigate the case of (ZD-bmax). We show that this problem is NP-hard and we therefore propose three heuristic algorithms. We also discuss useful extensions to apply the model in practice.
In this section we solve the fare problem with respect to a given zone partition. This means, we assume that the partition Z is already fixed and deal with determining the zone prices
$$c(p), p = 0, 1, 2, \dots$$
Our first result shows that a closed form solution is possible for each of the three objectives bmax, b1, and b2. To state the result we first introduce the following denotation, restricting the fare problem to the price for passing p zone borders for any fixed p.
Notation 12.1. Given p ∈ {0, 1,...,L} let
$$Mp={(u,v): u,v\in V, u\neq v, \ and \ n{uv}=p}.$$
Moreover, Wp = (u,v)∈Mp Wuv denotes the sum of all weights belonging to pairs of stations in the set Mp.
Note that u = v is only necessary in the definition of M0.
Theorem 12.2. Let Z = {Z1, Z2,...,ZL} be a given zone partition and let duv be given reference prices. In order to minimize bmax, b1, and b2 we choose for all p = 0, 1,...,L,
a) $$c{\max}^*(p) := \max{(u,v) \in Mp} d{uv} - \frac{zp^*}{W{uv}}$$
where z∗ p is defined as
$$zp^* = \max{\substack{u_1,v_1,u_2,v_2:\(u_1,v_1),(u_2,v_2)\in Mp}} \frac{W{u_1v1}W{u_2v2}}{W{u_1v1} + W{u_2v2}} (d{u_1v1} - d{u_2v_2})$$
b) $$c1^*(p) := \mathrm{median}{\underbrace{d{uv}, \dots, d{uv}}{W_{uv} \text{ times}} : (u, v) \in M_p}$$
c) $$c2^*(p) := \frac{1}{W^p} \sum{(u,v) \in Mp} W{uv} d_{uv}.$$
Proof. Given the zone partition Z we have to find fares c(p) ∈ IR for all p = 0, 1,..., minimizing bmax, b1, and b2, respectively. First we note that each of the three objective functions can be separated into at most L + 1 independent subproblems, Kmax(p), K1(p), and K2(p), respectively (for p = 0, 1,...,L).
$$\begin{split} b{\text{max}} &= \max{u,v \in V} W{uv} |d{uv} - z{uv}| \ &= \max{p=0,1,\dots,L} \max_{m \in M_p} W_m |dm - c(p)| =: \max{p=0,1,\dots,L} K_{\text{max}}(p) \ b1 &= \sum{u,v \in V} W{uv} |d{uv} - z{uv}| \ &= \sum{p=0}^{L} \sum_{m \in M_p} W_m |dm - c(p)| =: \sum{p=0}^{L} K_1(p) \ b2 &= \sum{u,v \in V} W{uv} (d{uv} - z{uv})^2 \ &= \sum{p=0}^{L} \sum_{m \in M_p} W_m (dm - c(p))^2 =: \sum{p=0}^{L} K_2(p). \end{split}$$
Consequently, to minimize bmax, b1, and b2 we determine the optimal fare c(p) for p = 0, 1,...,L separately, in each of the three objective functions.
For bmax: For all p = 0, 1,...,L the problem of finding a value c(p) that minimizes
$$K{\max}(p) = \max{m \in M_p} W_m |d_m - c(p)|$$
is well-known from location theory when locating a point on a line such that the maximum distance to a given set of existing facilities on the same line is minimized. The proof for the formula given in part a) of the theorem can therefore be found in the location literature, see e.g. [LMW88, Ham95]. Note that it is also known that for the optimal prices c∗ max we have
$$K_{\max}(p) = z_p^*. \tag{12.1}$$
For b1: Since
$$K1(p) = \min \sum{m \in M_p} W_m |d_m - c(p)|$$
is a one-dimensional, piecewise linear and convex function, its minimization is known in statistics (see e.g., [Hay81]) and in location theory as the one-dimensional median problem (see, e.g. [Ham95, Pla95]). It is shown that the above problem is solved by the so-called weighted median of the set {dm : m ∈ Mp}, i.e., by any real number c = c∗ 1(p) which satisfies
$$\sum_{m:d_m < c} W_m \le \frac{W^p}{2} \text{ and }$$
$$\sum_{m:d_m > c} W_m \le \frac{W^p}{2}.$$
For b2: Here we have to minimize K2(p), i.e.,
$$\min \sum_{m \in M_p} W_m (d_m - c(p))^2.$$
Using the theorem of Steiner (see e.g. [SV74]) of statistics, we note that the weighted mean of the values in {dm : m ∈ Mp} is the unique optimal solution for c(p).
To demonstrate the results of Theorem 12.2 we continue the example of Section 11.4, depicted in Figure 11.3 (see page 215). First we determine the relations for the sets Mp.
$$\begin{split} M_0 &= {(v_1, v_2), (v_2, v_1), (v_3, v_4), (v_4, v_3)} \ M_1 &= {(v_1, v_3), (v_3, v_1), (v_1, v_4), (v_4, v_1), (v_2, v_3), (v_3, v_2), \ &\quad (v_2, v_4), (v_4, v_2), (v_3, v_5), (v_5, v_3), (v_4, v_5), (v_5, v_4)} \ M_2 &= {(v_1, v_5), (v_5, v_1), (v_2, v_5), (v_5, v_2)}. \end{split}$$
The optimal values for the zone prices with respect to the objective functions bmax, b1, and b2 can hence be calculated as
| zones | c∗ | c∗ | c∗ | example |
|---|---|---|---|---|
| 0 | max 1 |
1 1 |
2 1 |
0.5 |
| 1 | 2 | 2 | 11 | , 1 |
| 2 | 3.5 | 3 | 6 3.5 |
1.5 |
where the last column contains the prices from the example. Finally, the resulting objective values are:
| objective function |
c∗ | c∗ | c∗ | example |
|---|---|---|---|---|
| b | max 1 |
1 1 |
2 1.167 |
2.5 |
| max b |
8 | 8 | 8.667 | 20 |
| 1 b 2 |
7 | 8 | 6.722 | 32 |
.
Note that the best objective value for bmax is attained for the prices c∗ max, the best objective value for b1 for the prices c∗ 1, and the minimum of b2 is attained at b∗ 2.
Calculating the objective function by using the optimal fares according to Theorem 12.2 implies the following results.
Corollary 12.3. Given a zone partition Z = {Z1, Z2,...,ZL} and reference prices duv, the optimal values of the objective functions are given as follows.
a) $$b_{\max}^* = \max_p z_p^$$ b) $$b_1^ = \sump \left( \sum{\substack{(u,v) \in Mp:\ d{uv} > c1^*(p)}} W{uv}(d_{uv} - c1^*(p)) + \sum{\substack{(u,v) \in Mp:\ d{uv} < c1^*(p)}} W{uv}(c1^*(p) - d{uv}) \right)$$ c) $$b_2^* = \sump \text{Var}{d{uv}: (u,v) \in M_p},$$
where Var denotes the variance of the set.
In practice, restrictions on the new fares are often given; sometimes there even exist "politically" desired fares for the number of zones in a journey that have to be realized. With the help of Corollary 12.3 one can easily calculate the increase of the objective functions when using such given fares instead of the optimal ones.
Another important consequence of Corollary 12.3 is that for the objective function bmax the optimal fares c∗ max(p) are not needed for calculating the optimal objective value for a given zone partition. This will be needed in the next section when we are going to optimize the zone partition with respect to bmax. If, additionally, bmax is used in the unweighted case, i.e. with Wuv = 1 for all u, v ∈ V , we can further simplify Theorem 12.2 and Corollary 12.3. Recall that
$$\begin{split} c^{\max}(p) &= \max{(u,v) \in Mp} d{uv} - \frac{z_p^}{W{uv}} \ K{\max}(p) &= \max_{(u,v) \in Mp} W{uv} |d_{uv} - c(p)| \end{split}$$
and for the optimal zone prices c∗ max we have
$$K_{\text{max}}(p) = z_p^*$$ , see (12.1).
Corollary 12.4. Let a zone partition Z = {Z1, Z2,...,ZL} and reference prices duv be given and assume equal weights Wuv = 1 for all (u, v) ∈ V × V . Then the optimal fares c∗ max(p) and the corresponding objective values b∗ max = bmax(Z, c∗ max), and K∗ max are given by
$$c{\max}^*(p) = \frac{1}{2} \left( \max{(u,v) \in Mp} d{uv} + \min_{(u,v) \in Mp} d{uv} \right)$$
$$K{\max}^*(p) = \frac{1}{2} \left( \max{(u,v) \in Mp} d{uv} - \min_{(u,v) \in Mp} d{uv} \right)$$ $$b{\max}^* = \frac{1}{2} \max{p=1,\dots,L} \left( \max_{(u,v) \in Mp} d{uv} - \min_{(u,v) \in Mp} d{uv} \right).$$
Proof. We calculate z∗ p as
$$\begin{split} zp^* &= \max{m_1, m_2 \in Mp} \frac{W{m1} W{m2}}{W{m1} + W{m2}} (d{m1} - d{m2}) \ &= \frac{1}{2} \left( \max{m \in M_p} dm - \min{m \in M_p} d_m \right) \end{split}$$
and consequently,
$$\begin{split} c{\max}^*(p) &= \max{m \in M_p} d_m - \frac{z_p^*}{Wm} \ &= \max{m \in M_p} \left( dm - \frac{1}{2} \max{\tilde{m} \in Mp} d{\tilde{m}} + \frac{1}{2} \min_{\tilde{m} \in Mp} d{\tilde{m}} \right) \ &= \frac{1}{2} \left( \max_{m \in M_p} dm + \min{\tilde{m} \in M_p} d_m \right). \end{split}$$
From (12.1) we know that z∗ p = K∗ max(p); hence the remaining parts follow immediately from part a) of Corollary 12.3.
We remark that for the zone design problem with arbitrary prices, similar results can be derived (see [HS95, Sch94a]).
The consequence of the results of Section 12.1 is that we can concentrate on finding the zones, since the zone pricing follows easily from the choice of the objective function. We therefore turn our attention to the zone (planning) problem. In particular, we now focus on the maximum deviation problem (ZP-bmax) in the unweighted case.
Notation 12.5. For a given zone partition Z = {Z1, Z2,...,ZL} and reference prices duv let b∗ max and K∗ max denote the optimal objective function values of the fare problem according to Corollary 12.4.
A first observation deals with the monotonicity of the objective function dependent on the number of planned zones L. While it is easy to see that for the zone design problem with arbitrary prices (see Section 11.1) all three objectives are monotone in L, this is not true for the zone design problem with counting zones, as Figure 12.1 shows. The PTN in this example consists of eight nodes. Let us assume that Wuv = 1 for all pairs of nodes u, v. The reference prices are given as weights between any two adjacent nodes, as shown in the figure. Between any other pair of nodes the reference prices are given as the sum of the weights along a shortest path connecting the nodes. For the (unweighted) max absolute deviation problem, we first calculate the objective value b∗ max for the graphed solution Z by Corollary 12.4.
$$\begin{split} K{\text{max}}^*(0) &= \frac{1}{2} \left( 1 - 1 \right) = 0 \ K{\text{max}}^(1) &= \frac{1}{2} \left( 102 - 100 \right) = 1 \ K_{\text{max}}^(2) &= \frac{1}{2} \left( 202 - 201 \right) = \frac{1}{2} \end{split}$$
hence b∗ max = 1. In any solution with L = 5 nonempty zones we will at least have one zone containing only one single station. Then
$$K_{\text{max}}^*(1) \ge \frac{1}{2} (100 - 1)$$
= $\frac{99}{2} > 1$ ,
leading to a strictly higher objective value than the graphed solution for L = 4. Similarly, we can verify that also allowing empty zones will not yield a better objective value than 1.
Unfortunately, the zone design problem with bmax is NP-hard, even in the unweighted case.
Fig. 12.1. An example in which the optimal solution for four zones is smaller than the optimal solution for five zones.
Theorem 12.6. The zone design problem with counting zones and objective function bmax is NP-hard for all fixed L ≥ 3.
Proof. We use a reduction to the problem partition into cliques for L = 3 cliques, which is NP-hard (see problem [GT15] in [GJ79b]). It is given as follows.
(Partition into cliques) Given a graph G = (V, E), does there exists a partition of V into three node sets V1, V2, and V3, such that the induced subgraphs G1, G2, and G3 are complete?
To reduce this problem to an unweighted zone design problem, we define the public transportation network as a complete graph PTN = (V,E) by
$$V = \mathcal{V} \cup {a_1, a_2, a_3, b_1, b_2, b_3}$$ and $$E = {{k, l} : k, l \in V}, k \neq l.$$
Furthermore, let Wuv = 1 for all u, v ∈ V and define the reference prices as follows.
$$d_{uv} = \begin{cases} 1 & \text{if } {u,v} \in \mathcal{E} \ 1 & \text{if } u \in \mathcal{V}, v \not\in \mathcal{V} \ \frac{1}{2} & \text{if there exists } i = 1,2,3 \text{ such that } {u,v} = {a_i,b_i} \ 2 & \text{if } u,v \in \mathcal{V}, {u,v} \not\in \mathcal{E} \ 2 & \text{if } u,v \not\in \mathcal{V}, {u,v} \neq {a_i,b_i} \text{ for all } i = 1,2,3. \end{cases}$$
Claim: G can be partitioned into three cliques if and only if the zone design problem in PTN has a solution Z with three zones and with b∗ max < 3 4 .
=⇒: Let V = V1 ∪ V2 ∪ V3 be the partition of G into cliques. Define Zi = Vi ∪ {ai, bi} for i = 1, 2, 3. Using Corollary 12.4 we calculate for the zone partition Z = {Z1, Z2, Z3} that
$$\begin{split} K{\max}^*(0) &= \frac{1}{2} \left( 1 - \frac{1}{2} \right) = \frac{1}{4} \ K{\max}^*(1) &= \frac{1}{2} \left( 2 - 1 \right) = \frac{1}{2}, \end{split}$$
such that we get b∗ max < 3
$$b{\max}^* \ge K{\max}^*(0)$$
$$\ge \frac{1}{2} (d_{a_i aj} - d{a_i b_i})$$
$$= \frac{1}{2} \left(2 - \frac{1}{2}\right) = \frac{3}{4}.$$
$$\begin{split} b{\text{max}}^* &\geq K{\text{max}}^*(1) \ &\geq \frac{1}{2} \left( d_{a_j bi} - d{a_i b_i} \right) \ &= \frac{1}{2} \left( 2 - \frac{1}{2} \right) = \frac{3}{4} . \end{split}$$
• or no other aj , bj is contained in Zx and Zy, implying that the remaining zone satisfies condition 1; hence again b∗ max ≥ 3 4 .
Now let u, v ∈ Vi. We have to show that the edge {u, v}∈E. Assume the contrary, i.e., duv = 2. But this yields
$$\begin{split} b{\text{max}}^* &\geq K{\text{max}}^*(0) \ &\geq \frac{1}{2} \left( d{uv} - d{a_i b_i} \right) \ &\geq \frac{1}{2} \left( 2 - \frac{1}{2} \right) = \frac{3}{4} \end{split}$$
(again using Corollary 12.4), a contradiction.
For more than three zones, the proof can be done analogously with a reduction to partition into L > 3 cliques.
We now discuss three heuristics for finding good zone partitions. As a motivation, we first present the following two observations for getting upper and lower bounds on the objective value bmax of (TD-bmax).
Lemma 12.7. For any zone partition Z we have
$$b{\max}^* \le \frac{1}{2} \left( \max{u,v \in V} d{uv} - \min{u,v \in V} d_{uv} \right)$$
Proof. For any zone partition Z and any integer p we have that
$$K{\max}^*(p) = \frac{1}{2} \left( \max{(u,v) \in Mp} d{uv} - \min_{(u,v) \in Mp} d{uv} \right)$$
$$\leq \frac{1}{2} \left( \max{u,v \in V} d{uv} - \min{u,v \in V} d{uv} \right).$$
Hence b∗ max = maxp=1,...,L K∗ max(p) also satisfies this inequality. For the next bound we define the following two sets.
Notation 12.8. For a given zone partition Z, let
$$\begin{split} \text{INT} &= {(u,v): {u,v} \in E \text{ and there exists } Z \in \mathcal{Z} \text{ with } u,v \in Z}, \ \text{BET} &= {(u,v): {u,v} \in E \text{ and there exist } Z_1,Z_2 \in \mathcal{Z} \text{ with } \ &Z_1 \neq Z_2 \text{ and } u \in Z_1,v \in Z_2}, \end{split}$$
i.e., INT is the set of relations belonging to edges with endpoints in the interior of a zone, and BET contains relations with endpoints in adjacent zones (between zones).
Lemma 12.9. Let a zone partition Z be given, together with the sets INT and BET. Then the following statements hold.
$$b{\text{max}}^* \ge \frac{1}{2} \left( \max{(u,v) \in \text{INT}} d{uv} - \min{(u,v) \in \text{INT}} d_{uv} \right).$$
$b{\text{max}}^* \ge \frac{1}{2} \left( \max{(u,v) \in \text{BET}} d{uv} - \min{(u,v) \in \text{BET}} d_{uv} \right).$
Proof.
$$\begin{aligned} \min_{(u,v)\in M0} d{uv} &\leq \min{(u,v)\in \text{INT}} d{uv}, \text{ and} \ \max_{(u,v)\in M0} d{uv} &\geq \max{(u,v)\in \text{INT}} d{uv}. \end{aligned}$$
Hence we obtain
$$\begin{split} b{\text{max}}^* &\geq K{\text{max}}^*(0) \ &= \frac{1}{2} \left( \max_{(u,v) \in M0} d{uv} - \min_{(u,v) \in M0} d{uv} \right) \ &\geq \frac{1}{2} \left( \max{(u,v) \in \text{INT}} d{uv} - \min{(u,v) \in \text{INT}} d{uv} \right) \end{split}$$
$$\min_{\substack{(u,v) \in M1}} d{uv} \leq \min{\substack{(u,v) \in \text{BET}}} d{uv}, \text{ and } \ \max_{\substack{(u,v) \in M1}} d{uv} \geq \max{\substack{(u,v) \in \text{BET}}} d{uv}$$
and the required result is then obtained as before by using b∗ max ≥ K∗ max(1). Lemma 12.9 suggests a zone design in which edges with high weights are collected in BET and edges with small weights in INT or vice versa. To be more specific, let Diam be the maximal diameter over all zones in the zone partition Z. Assuming that edge weights along a path are additive, we get
$$\begin{split} K{max}^*(p) &= \frac{1}{2} \left( \max{(u,v) \in Mp} d{uv} - \min_{(u,v) \in Mp} d{uv} \right) \ &\leq \frac{1}{2} \left( (p+1) \operatorname{Diam} + p \left( \max{(u,v) \in \operatorname{BET}} d{uv} - \min{(u,v) \in \operatorname{BET}} d{uv} \right) \right) \end{split}$$
yielding that the maximal diameter Diam should be small, and consequently edges with large weights should be in BET while edges with small weights should be in INT. Following these considerations, we present three heuristics for the zone design problem with counting zones.
The first algorithm is based on ideas from clustering theory and here in particular on the SAHN (sequential agglomerative hierarchical non-overlapping) algorithms, see, e.g., [DO74]. The idea is to start with n = |V | zones, each of them containing one single station and to combine in each step the two closest zones to a new one. Depending on the particular definition of the distance between two zones, different algorithms can be obtained. Two of them have been applied to the zone design problem: single linkage and complete linkage.
Input: PTN, reference prices duv, L ∈ IN.
Output: Zone partition with L nonempty zones.
Step 1. Start with a partition Z consisting of |V | zones each of them
containing a single station.
Let d(Zu, Zv) = duv for all zones Zu, Zv ∈ Z.
Step 2. Determine two zones Zu = Zv ∈ Z with minimum distance d(Zu, Zv).
Step 3. Join Zu and Zv to a new zone Zk and get a new partition Z.
Step 4. Calculate the new distances to all Z ∈ Z:
d(Zk, Z) = 1
2 (d(Zu, Z) + d(Zv, Z) + c|d(Zu, Z) − d(Zv, Z)|)
Step 5. If the number of planned zones is attained, then Stop,
Output: Z,
else goto 2.
The parameter c in step 4 determines the formula for calculating the distance between two zones. In the context of the zone design problem, we have used
The interpretation is the following: In the single linkage algorithm, the distance between two zones is defined as the smallest distance between elements of them, and consequently we join along a shortest edge in each step. In the complete linkage algorithm, the distance between two zones is defined as the maximum distance between their elements. Hence, in each step complete linkage tries to minimize the maximum diameter of the zones.
This approach is a variant of the SAHN algorithms discussed above, but with more emphasis on the specific structure of the zone design problem. Using the basics of Algorithm 23, we calculate for all edges {Zu, Zv} the objective value buv max when contracting {Zu, Zv} of the current zone graph. Finally, we contract the edge with smallest increase in the objective function. This is rather time consuming, but as we will show in the next section, leads to very good results in practice. The formulation of the greedy approach is the following:
Input: PTN, reference prices duv, L ∈ IN.
Output: Zone partition with L zones.
Step 1. Start with a partition Z consisting of |V | zones each of them containing a single station.
Step 2. For each edge {Zu, Zv} in EZ contract Zu and Zv temporally and calculate buv max for the resulting zone partition.
Step 3. Contract the edge {Zu0 , Zv0 } permanently, where
$$b{\max}^{u^0,v^0} = \min{{Z_u,Z_v} \in EZ} b{\max}^{uv},$$
and get a new partition Z.
Step 3. If the graph has L nodes, then Stop,
Output: Z,
else goto 2.
The idea of the following heuristic is to determine a set of edges BET which contains mainly edges with high weights. To this end, we start with a large zone containing all stations and separate it into smaller zones. This is done by deleting edges in a spanning tree until the required number of zones is attained. The heuristic is formulated next.
Input: PTN, reference prices duv, L ∈ IN.
Output: Zone partition with L non-empty zones.
Step 1. Find a maximum spanning tree T in the complete graph with edge weights duv.
Step 2. Delete the L − 1 largest edges of T and get a forest with L components.
Step 3. Output: Zones are the connected components.
Note that in trees, the spanning tree approach is equivalent to the single linkage algorithm of clustering theory. In general graphs, it is always possible to find a spanning tree such that omitting its L − 1 largest edges leads to the same result as single linkage. However, if we start with a spanning tree with maximal weight (which performed best in practice) the spanning tree approach differs significantly from single linkage.
We tested our algorithms on the data described above. The results of Algorithms 23, 24, and 25 are shown in Figure 12.2. This figure shows the objective values bmax produced by the heuristics for any number of possible zones from 1 to 600. The objective values refer to a single trip ticket for an adult, given in e . It turns out that in this practical application the greedy heuristic (Algorithm 24) is the clear winner in terms of the objective value: it generated the best results for any number of desired zones. On the other hand, the running time of Algorithm 24 for all possible numbers of zones, i.e., from L = 1,..., 600 was nearly two weeks altogether in our first implementation (on an AixJ90). The spanning tree approach (Algorithm 25) and the single linkage algorithm (Algorithm 23) both needed only a few hours, but the results are much less convincing regarding the objective value bmax again. For a small number L of desired zones, single linkage did better than the spanning tree approach, while for a higher number of planned zones it was the other way round. This is due to the fact that the spanning tree approach starts with only one zone, while single linkage starts with 600 zones.
On a subset consisting of only 400 stations (or 54 mini-zones) the heuristics have also been tested. In this smaller setting the running times of Algorithms 23 and 25 were within seconds, and also Algorithm 24 needed only two minutes to obtain again the clearly best results. The results for nine zones
Fig. 12.2. Comparison of the heuristics: bmax graphed for any number L of planned zones.
are shown graphically in Figures 12.3,12.4, and 12.5. Figure 12.3 shows a suggestion for a zone partition which is due to the political districts in this area of the Saarland. The objective value for this zone partition is bmax = 2.63 e , i.e., there exists a customer that will have a difference of 2.63 e between his current fare and the new one. The result of the single linkage algorithm for nine zones is shown in Figure 12.4. As it is reported also in the literature (see, e.g., [DO74]), single linkage tends to form one large zone and a lot of smaller zones surrounding it. This behavior is also shown in Figure 12.4. The objective value of the graphed zone partition is 2.56 e . The objective value in the spanning tree approach also was 2.56 e for nine zones, but without these big differences in the sizes of the zones. The best results, however, were obtained by the greedy approach with an objective value of only 1.92 e . The corresponding zone partition is shown in Figure 12.5.
For evaluating tariff zones in more detail, we use our own software WabPlan [SS99]. For any given zone partition and zone prices it provides not only the objective values of bmax, b1, and b2, but also the expected income for each of the transportation companies in each ticket category. This is done by evaluating
Fig. 12.3. Political suggestion; bmax = 2.63 e
$$b{\text{income}} = \sum{u,v \in V} W{uv}(z{uv} - d_{uv})$$
$$(12.2)$$
as the deviation in the income of the public transportation company. This expression assumes that customers do not change their behavior because of tariff changes. Since this is not realistic in practice, we add price elasticity factors when evaluating (12.2) for getting a better approximation of the income. There are different definitions of the price elasticity; the one we use is the following. Let duv denote the currently existing price for traveling from u to v. Then the price elasticity factor pelast is given by
$$p{elast} = \frac{\frac{W{uv}^{new} - W{uv}}{W{uv}}}{\frac{z{uv} - d{uv}}{d_{uv}}},$$ (12.3)
where the number of new customers Wnew uv is the only unknown value in this formula. Solving this equation for Wnew uv and replacing Wuv by Wnew uv in (12.2) yields a more realistic approximation of the new income.
Formula (12.3) can be found , e.g., in [H¨oh77], and sometimes is referred to as the shrinkage ratio, compare, e.g., [LMM81]. Approximately, formula (12.3) means that increasing the ticket price by 1% will result in a change in the number of customers of pelast%. Since increasing the price usually yields a reduction in the number of customers, and a reduction of the prices increases the number of customers, the price elasticity factors pelast are negative in
Fig. 12.4. Solution of single linkage; bmax = 2.56 e
most cases. The only exceptions are prestige goods, which are bought because they are expensive. Furthermore, if pelast < −1, the demand is called elastic, while an elasticity factor 0 > pelast > −1 describes an inelastic demand. If pelast = −1 , the income will not change, i.e., the increase of the price and the reduction of customers cancels out.
In (local) public transportation, all studies we are aware of confirm that the demand is inelastic, i.e., that
$$-1 < p_{elast} < 0.$$
The particular elasticity factor which is widely used is based on a rule of thumb, derived from the classical Simpson and Curtin formula, see [Cur68]. They claimed a factor of −0.3. Many other — more recent — studies [LMM81, ta98, HK98a] roughly confirm this factor for single trip tickets, but suggest a smaller factor, e.g., −0.2 for weekly, monthly and annual tickets. In practical reports, often a more pessimistic point of view is used. Namely, the price elasticity factor is only used for relations (u, v) for which the tickets get more expensive, while for relations with a reduction in ticket price it is assumed that the demand does not change. Neglecting new customers which might be attracted in such relations makes sure that the new income is treated pessimistically, i.e., it will not happen, that the loss in income is higher than estimated.
Moreover, the public transportation companies are interested in learning about which customers are hardly affected and which customers will be really
Fig. 12.5. Solution of greedy algorithm; bmax = 1.92 e
annoyed. To this end, WabPlan presents graphics (for each ticket category separately) showing all trips for which the fare will increase or decrease dramatically (see Figure 12.6 as an example). Statistical evaluations of the number of relations with price changes, the number of customers affected, and the absolute and relative amount of the price changes are also computed.
For practical purposes a lot of special rules for using fare zones are common. A lot of them have also been implemented in our algorithms and tested within our projects.
Empty zones: In most zone tariff systems, empty zones are used to increase the number of zones in a journey and hence the fare for special relations. Note that most given tariff systems can be modeled as a counting zone tariff system, if enough empty zones are allowed.
Border stations: To avoid injustice, stations can be located on zone borders, meaning that they belong to more than one zone. Since the zone tariff system should be clear and understandable, we usually try to avoid this. Fortunately, in many cases it turned out that border stations can be avoided without losing anything in the objective values only by changing the zone design.
Special rules for large zones: Also, some zones might be so large that they have to be counted twice when passing them. Moreover, a special fare structure can be implemented within large zones.
Fig. 12.6. Zone planning with the software WabPlan in the state Saarland. The lines show the (fictional) customers who will have a change in their ticket price which is more than 5 Percent.
Sometimes, zone tariff systems are used to give discounts or to make public transportation more convenient only for a special group of customers. In the state of Sachsen-Anhalt, e.g., a zone tariff system was implemented only for customers using at least two different public transportation companies. The goal was to make these trips more attractive by
The new ticket prices in such a system should not be cheaper than the current prices of each single public transportation company; otherwise customers could pretend to change into another bus or train to be allowed to pay the cheaper price. Since customers who wish to change are still allowed to buy separate tickets instead of the new combination ticket, they will always choose the cheaper possibility. Hence, no customer will have to pay more as before, so it is not possible to achieve a gain in the income of the public transportation companies. The resulting zone design problem should hence be as attractive as possible, but with only a small loss in the income of the public transportation companies.
Here we collect some fundamental results of integer programming which are used throughout the text. We assume that the reader is familiar with linear programming, and recommend textbooks as [NW88, Wol98] for the theory of integer programming. All results of this short appendix can be found in both of these books.
We consider the following integer programming problem:
(IP) $$\min_{s.t.} cx$$
$x \le b$
$x \in \mathbb{Z}^n$ ,
where c ∈ IRn, b ∈ IRm and A is an m × n matrix.
Definition A.1. The linear programming relaxation (LP-IP) or short LP-relaxation of an integer program (IP) is given by deleting the integer constraints, i.e.
(IP) $$\min{cx \ s.t. \ Ax \le b, x \in \mathbb{Z}^n}$$
(LP-IP) $\min{cx \ s.t. \ Ax \le b, x \in \mathbb{R}^n}$ .
The relation between an integer program (IP) and its LP-relaxation (LP-IP) is the following.
$$\begin{array}{ll} z^* = cx^* = \min{cx \ s.t. \ Ax \leq b, x \in \mathbb{Z}^n} \ \bar{z} = c\bar{x} = \min{cx \ s.t. \ Ax \leq b, x \in \mathbb{R}^n}. \end{array}$$
Then
(i) $$\bar{z} \leq z^*$$
(ii) If $\bar{x} \in \mathbb{Z}^n$ then $z^* = \bar{z}$ and $x^* = \bar{x}$ is an optimal solution of (IP).
The lemma states that each solution of the LP-relaxation gives a lower bound on the original program. Moreover, if the solution of the LP-relaxation happens to be integer, it is the optimal solution of the integer program. This observation can be used to find polynomially solvable special cases of integer programs, namely, if all vertices of the feasible set {x : Ax ≤ b, x ∈ IRn} of (LP-IP) are integer. In this case, we know that all basic solutions are integer, and hence we conclude from the theory of linear programming that there exists an integer optimal solution ¯x. Lemma A.2 then yields the optimality of ¯x for the original integer program. Thus, in that case it is enough to solve the LP-relaxation of the integer program.
To identify integer programs in which all vertices of the feasible set are integer, we need the concept of total unimodularity.
Definition A.3. A matrix A is totally unimodular, if det(B) ∈ {−1, 0, 1} for all square submatrices B of A.
If A is a totally unimodular matrix, then
An example of a matrix with entries only in {−1, 0, 1}, but that is not totally unimodular, is the following:
$$\begin{pmatrix} 1 & 0 - 1 \ 0 - 1 & 0 \ 1 & 1 & 1 \end{pmatrix}.$$
Totally unimodular matrices are important since their corresponding integer programs can be solved by linear programming methods.
Theorem A.4. Let b ∈ ZZm and let A be totally unimodular. Then all vertices of {x ∈ IRn : Ax ≤ b} are integer. Consequently, each optimal basic solution of (LP-IP) is an optimal solution for (IP).
Examples of totally unimodular matrices (resulting in polynomially solvable integer programs) are
Here we briefly introduce bicriteria optimization problems, which are discussed in Chapters 4 and 9. For an introduction to multicriteria optimization we refer the reader to textbooks (e.g. [Ehr00]), a detailed state-of-the art survey of the field is given by [FGE05]. The results of this short overview can be found e.g. in [Ehr00].
All bicriteria problems treated in this text are combinatorial optimization problems, such that we will assume that the feasible set Feas consists of a discrete set of points, i.e.,
Feas $$\in \mathbb{Z}^n$$ .
The bicriteria optimization problem we consider is given by a feasible set Feas ⊆ ZZn and two objective functions f1, f2 : Feas → IR.
(BP) $$\min_{x \in \text{Feas}} \begin{pmatrix} f_1(x) \ f_2(x) \end{pmatrix}$$ .
Definition B.1. Let x1, x2 ∈ Feas.
• x1 dominates x2 if
$$f_1(x_1) \le f_1(x_2)$$ and $f_1(x_1) \le f_1(x_2)$ ,
where at least one of the inequalities is strict.
• x ∈ Feas is a Pareto solution, if there does not exist any y ∈ Feas that dominates x.
The goal in bicriteria optimization is to determine the Pareto solutions, i.e., the set of all x ∈ Feas which are non-dominated. However, it often is enough to know the objective values of the Pareto solutions. To this end, let
$$f(\text{Feas}) = \left{ \begin{pmatrix} f_1(x) \ f_2(x) \end{pmatrix} : x \in \text{Feas} \right}$$
denote the objective space of (BP). Then a point f1(x) f2(x) ∈ f(Feas) is called efficient, if x ∈ Feas is a Pareto solution.
For an illustration, see Figure B.1. In this example let us assume that the set of objective values for all points x ∈ Feas is given by the points depicted in the figure. Then the five filled points p1,...,p5 are not dominated by any other point, i.e., exactly these points are efficient.
Fig. B.1. Efficient solutions of a bicriteria optimization problem.
For finding Pareto solutions we can solve a one-criteria optimization problem. This method is called weighted sum scalarization.
Theorem B.2. If x is an optimal solution of
BP( $$\lambda$$ ) $\min_{x \in \text{Feas}} \lambda f_1(x) + (1 - \lambda) f_2(x)$
for some 0 <λ< 1, then x is a Pareto solution of (BP).
Unfortunately, not all Pareto solutions can be found by weighted sum scalarization, if the set Feas ⊆ ZZn consists of a discrete set of points. In Figure B.1, the efficient points p1, p3, and p5 can be found by solving a weighted sum problem, while no λ exists such that p2 and p4 are optimal solutions of BP(λ).
Definition B.3. A Pareto solution x is called supported if there exists λ with 0 <λ< 1 such that x is the optimal solution of BP(λ).
Note that the term supported is due to the following fact: If x is a supported Pareto solution, then f(x) = f1(x) f2(x) lies on the boundary of the convex hull of f(Feas). Hence there exists a supporting line of f(Feas) passing through f(x).
By weighted sum scalarization, we find exactly the set of supported Pareto solutions. With the following result we can also find non-supported Pareto solutions. It uses the constraint versions of (BP).
Lemma B.4. Let {i, j} = {1, 2} and let x be a unique optimal solution of
$$\min{f_i(x): x \in \text{Feas} \ and \ f_j(x) \le y_j}.$$
Then x is a Pareto solution of (BP).
Finally, we state the definition of lexicographic minimal solutions.
Definition B.5. Let {i, j} = {1, 2}. x is called a lexicographic minimal solution of (BP) for the order (fi, fj) if for all y ∈ Feas one of the following conditions holds.
Note that the lexicographic minimal solutions are always Pareto solutions.
In the stop location problem (Part I) it is important to choose a suitable function to measure the distance from a demand point to a stop or station. Hence, in this section we briefly introduce the concept of gauges. For more information, the reader is referred to [Min67], which is also the basis of this appendix. Note that gauges have been used frequently in location theory, see, e.g., [DKSW01]. Although the following definitions and results can directly be transferred to IRn we only present the notation for two dimensions, since we obviously only deal with stop location in the plane.
Geometrical observations play an important role for defining the candidate set in Part I. Thus, it makes sense to use the following "geometrical" definition of a norm.
Definition C.1. Let B be a compact convex set in IR2 with nonempty interior which is symmetric with respect to the origin. Let x ∈ IR2. Then define the norm γ : IR2 → IR as
$$\gamma(x) := \inf{\lambda > 0 : x \in \lambda B}.$$
The following Lemma C.2 states that γ satisfies the properties required for norms, i.e., for all x, y ∈ IR2 and λ ∈ IR we have
$$\gamma(x) \ge 0 \tag{C.1}$$
$$\gamma(x) = 0 \Longleftrightarrow x = 0 \tag{C.2}$$
$$\gamma(\lambda x) = |\lambda|\gamma(x) \text{ and}$$ (C.3)
$$\gamma(x+y) \le \gamma(x) + \gamma(y).$$ (C.4)
On the other hand, all norms can be characterized by their unit balls B.
Lemma C.2. The following results hold.
The corresponding unit balls for the first three examples are depicted in Figure C.1.
Fig. C.1. The unit balls of the Euclidean, the Manhattan and the maximum norm.
If we drop the assumption that the set B is symmetric in Definition C.1, then B does not define a norm, but a gauge.
Definition C.3. Let B be a compact convex set in IR2 containing the origin in its interior. The gauge of x with respect to B is then defined as
$$\gamma(x):=\inf{\lambda>0:x\in\lambda B}.$$
Note that the convexity of B is still required, but γ(−x) = γ(x) does not hold in general without the symmetry assumption.
The distance between two points x, y ∈ IR2 is defined by
$$d(x,y) = \gamma(y-x).$$
If γ is a norm we obtain d(x, y) = d(y, x), while this need not be the case for a gauge γ.
Fig. C.2. Examples of gauges that are not norms.
Examples of gauges which are not norms are given in Figure C.2. In public transportation, a distance measure for some demand point d can be constructed by defining
Bd = {x ∈ IR2 : x can be reached within a time of r minutes}
as the unit ball for demand point d and using the corresponding gauge γBd as the required distance measure. Note that the shape of Bd depends on the road network structure and on the public transportation system in the area around d.
wd demand in demand point d ∈ D
wD demand in demand region D ∈ D
wp number of customers traveling along path p ∈ P
wa "traffic load" on activity a ∈ A
wi number of customers really getting off at event i ∈ E
D set of demand points or demand regions elements denoted by d for demand points and by D for demand regions
G = (V,E) given graph in which the stops are to be located
T tracks, given as points on the embedding of graph G
γd gauge distance function of demand point d ∈ D
γD gauge distance function of demand region D ∈ D
g(s) edge e or node v in which point s ∈ T is located
Sex existing stops or stations
S set of new stops or stations
(in the notation using event-activity networks)
P set of paths of customers
N = (E, A) event-activity network
Earr arrival events
Edep departure events
Await waiting activities
Adrive driving activities
Achange changing activities
Πi time for event i ∈ E in the original timetable
xi time for event i ∈ E in the perturbed timetable
yi delay of event i ∈ E
sa slack time of activity a ∈ A
di source delay of event i ∈ E
Edel set of delayed events
| (SL) | continuous stop location problem (from scratch) |
19 |
|---|---|---|
| (SL') | continuous stop location problem (adding new stations) |
19 |
| (CSL) | complete continuous stop location problem |
21 |
| (BSL) | bicriteria continuous stop location problem |
59 |
| (BSL-time) | minimizing the travel time in stop location |
60 |
| (BSL-cover) | maximizing the covered population in stop location |
60 |
| (DSL) | door-to-door travel time stop location problem |
86 |
| (CSL-region) | complete continuous stop location problem |
|
| with demand regions |
76 | |
| (BSL-region) | bicriteria continuous stop location problem |
|
| with demand regions |
77 | |
| (SCP) | set covering problem |
46 |
| (SCPc1p) | set covering problem with consecutive ones property |
32 |
| (BSC) | bicriteria set covering problem |
66 |
| (BSC-cover(K)) | cardinality constraint set covering problem |
69 |
| (TDM) | minimizing the total delay |
120 |
| (TDM-A) | path-oriented formulation for minimizing the total delay |
122 |
| (TDM-B) | linear formulation for minimizing the total delay |
124 |
| (TDM-C) | activity-based formulation for minimizing the total delay |
126 |
| (TDM-const) | minimizing the total delay assuming constant weights |
136 |
| (TDM-const-zero) | minimizing the total delay assuming constant weights |
|
| and zero slack times |
145 | |
| (BDM) | bicriteria delay management problem |
175 |
| (GDM) | general delay management problem |
197 |
| (ZD-b ) |
maximum deviation zone design problem |
219 |
| max (ZD-b ) |
sum of absolute deviations zone design problem |
219 |
| 1 (ZD-b ) |
sum of squared deviations zone design problem |
219 |
| 2 |
[BGJ+05] N. Bissantz, S. G¨uttler, J. Jacobs, S. Kurby, T. Schaer, A. Sch¨obel, and S. Scholl. DisKon - Disposition und Konfliktl¨osungs-management f¨ur die beste Bahn. Eisenbahntechnische Rundschau (ETR), 45(12):809– 821, 2005. (in German).
[BGL98] R. Bornd¨orfer, M. Gr¨otschel, and A. L¨obel. Optimization of transportation systems. In Acta Forum Engelberg 98. VDF Hochschulverlag an der ETH Z¨urich, 1998.
[BGP04a] R. Bornd¨orfer, M. Gr¨otschel, and M. E. Pfetsch. Models for line planning in public transport. Technical Report 04-10, ZIP Berlin, 2004.
[BGP04b] R. Bornd¨orfer, M. Gr¨otschel, and M. E. Pfetsch. A path-based model for line planning in public transport. Technical Report 05-18, ZIP Berlin, 2004.
[BH86] P. Brucker and J. Hurink. A railway scheduling problem. Zeitschrift f¨ur Operations Research, 30:223–227, 1986.
[BHK99] P. Brucker, S. Heitmann, and S. Knust. Scheduling railway traffic at a construction site. In K.H. Kim (eds.): in: H.-O. G¨unther, editor, Container Terminals and Automated Transport Systems Logistics Control Issues and Quantitative Decision Support. Springer, 1999.
[BK03] L. Babel and H. Kellerer. Design of tariff zones in public transportation systems: Theoretical results and heuristics. Mathematical Methods of Operations Research, pages 358–374, 2003.
[BKS92] W. Bein, J. Kamburowski, and M. Stallmann. Optimal reduction of two-terminal directed acyclic graphs. SIAM Journal on Computing, 21(6):1112–1129, 1992.
[BKZ96] M.R. Bussieck, P. Kreuzer, and U.T. Zimmermann. Optimal lines for railway systems. European Journal of Operational Research, 96(1):54– 63, 1996.
[BLNN98] U. Br¨annlund, P.O. Lindberg, A. Nou, and J.-E. Nilsson. Railway timetable using lagrangian relaxation. Transportation Science, 32(4):358–369, November 1998.
[BM95] M.H. Baaj and H.S. Mahmassani. Hybrid route generation heuristic algorithm for the design of transit networks. Transportation Research C, 3:31–50, 1995.
[BNP05] R. Bornd¨orfer, M. Neumann, and M. E. Pfetsch. Fare planning for public transport. Technical Report 05-20, ZIB, Berlin, 2005.
[BT81] L. A. Bowman and M.A. Turnquist. Service frequency, schedule reliability, and passengers waiting times at transit stops. Transportation research, 15A(6), 1981.
[BT96] L. Bianco and P. Toth, editors. Advanced methods in transportation analysis. Transportation Analysis. Springer, 1996.
[Bur86] R.E. Burkard. Optimal schedules for periodically recurring events. Discrete Applied Mathematics, 15:167–180, 1986.
[Bus97] M.R. Bussieck. Optimal lines in public transport. PhD thesis, Technische Universit¨at Braunschweig, 1997.
[BWZ97] M.R. Bussieck, T. Winter, and U. Zimmermann. Discrete optimization in public rail transport. Mathematical Programming, 79:415–444, 1997.
[Car98] M. Carey. Optimizing scheduled times, allowing for behavioural response. Transportation Research, 32B:329–342, 1998.
[Car99] M. Carey. Ex ante heuristic measures of schedule reliability. Transportation Research, 53B(3):473–494, 1999.
[CFT99] A. Caprara, M. Fischetti, and P. Toth. A heuristic method for the set covering problem. Operations Research, 47(5):730–743, 1999.
[CG02] S. Carrese and S. Gori. An urban bus network design procedure. In M. Patriksson and M. Labb´e, editors, Transportation Planning. State of the Art, volume 64 of Applied Optimization, chapter 11. Kluwer, 2002.
[CH90] B. Chen and P.T. Harker. Two moments estimation of the delay on single-track rail lines with scheduled traffic. Transportation Science, 24(4):261–275, November 1990.
[CM82] J.C.M. Climaco and E.Q.V. Martins. A bicriterion shortest path algorithm. European Journal of Operational Research, 11:399–404, 1982.
[Con02] Nicolas Condette. Set covering problems with consecutive ones property. Master's thesis, University of Kaiserslautern, 2002.
[CR74] R. Church and C. ReVelle. The maximal covering location problem. Papers of the Regional Science Association, 32:101–118, 1974.
[CTV98] J.F. Cordeau, P. Toth, and D. Vigo. A survey of optimization models for train routing and scheduling. Transportation Science, 1998.
[Cur68] J. F. Curtin. Effects of fares on transit riding. Highway Research Board, 213, 1968.
[CvDZ96] M.T. Claessens, N.M. van Dijk, and P.J. Zwaneveld. Cost optimal allocation of rail passenger lines. European Journal on Operational Research, 110, 1996.
[CW86] A. Ceder and N.H.M. Wilson. Bus network design. Transportation Research B, 20:331–344, 1986.
[DAL82] M. J. Demetsky, M. Asce, and B. B.-M. Lin. Bus stop location and design. Transportation Engineering Journal, 108:313–327, 1982.
[DBP95] J.R. Daduna, I. Branco, and J.M.P. Paixao, editors. Computer-Aided Transit Scheduling, volume 430 of Lecture Notes in Economics and Mathematical systems. Springer, 1995.
[DDGW97] P. De, J. Dunne, J. Gosh, and C. Wells. Complexity of the discrete time-cost tradeoff problem for project networks. Operations Research, 45(2):302–306, 1997.
[DHE96] E. Demeulemeester, W. Herroelen, and S. Elmaghraby. Optimal procedures for the discrete time/cost trade-off problem in project networks. European Journal of Operational Research, 88:50–68, 1996.
[Die78] H. Dienst. Linienplanung im spurgef¨uhrten Personenverkehr mit Hilfe eines heuristischen Verfahrens. PhD thesis, Technische Universit¨at Braunschweig, 1978.
[Dij59] E. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269–271, 1959.
[DKSW01] Z. Drezner, K. Klamroth, A. Sch¨obel, and G. Wesolowsky. The weber problem. In Z. Drezner and H.W. Hamacher, editors, Location Theory - Applications and Theory, chapter 1, pages 1–36. Springer, 2001.
[DO74] B.S. Duran and P.L. Odell. Cluster Analysis A Survey. Lecture Notes in Economics and Mathematical Systems 100. Springer, Berlin-Heidelberg-New York, 1974.
[Dom89] W. Domschke. Schedule synchronisation for public transit networks. OR Spektrum, 11:17–24, 1989.
[DR92] J.R. Daduna and J.-M. Rousseau, editors. Computer-Aided Transit Scheduling, volume 386 of Lecture Notes in Economics and Mathematical systems. Springer, 1992.
[DRF+98] E. Demeulemeester, B. De Reyck, B. Foubert, W. Herroelen, and M. Vanhoucke. New computational results on the discrete time/cost trade-off problem in project networks. Journal of the Operational Research Society, 49:1153–1163, 1998.
[DV95] J.R. Daduna and S. Voß. Practical experiences in schedule synchronization. In Computer-Aided Transit Scheduling, volume 430 of Lecture Notes in Economics and Mathematical Systems, pages 39–55. Springer, 1995.
[DW88] J.R. Daduna and A. Wren, editors. Computer-Aided Transit Scheduling, volume 308 of Lecture Notes in Economics and Mathematical systems. Springer, 1988.
[EF02] O. Engelhardt-Funke. Stochastische Modellierung und Simulation von Versp¨atungen in Verkehrsnetzen f¨ur die Anwendung der Fahrplanoptimierung. PhD thesis, Univerit¨at Clausthal, 2002.
[EFK01a] O. Engelhardt-Funke and M. Kolonko. Cost-benefit analysis of investments into railway networks with randomly pertubed operations. In S. Voß and J. Daduna, editors, Computer-Aided Transit Scheduling, volume 505 of Lecture Notes in Economics and Mathematical systems, pages 442–459. Springer, 2001.
[EFK01b] O. Engelhardt-Funke and M. Kolonko. Simulating delays for realistic timetable-optimization. In Operations Research Proceedings 2001, pages 9–15. Springer, 2001.
[EG02] M. Ehrgott and X. Gandibleux. Multiobjective combinatorial optimization. In M. Ehrgott and X. Gandibleux, editors, Multiple Criteria Optimization. State of the Art. Annotated Bibliographic Surveys, pages 369–444. Kluwer, 2002.
[EH72] J. Elzinga and D.W. Hearn. Geometrical solutions for some minimax location problems. Transportation Science, 4:379–394, 1972.
[Ehr00] M. Ehrgott. Multiple Criteria Optimization, volume 491 of Lecture Notes in Economics and Mathematical Systems. Springer, Berlin, 2000.
[Elm77] S.E. Elmaghraby. Activity Networks. Wiley Interscience Publication, 1977.
[Fay00] A. Fay. A fuzzy knowledge-based system for railway traffic control. Engineering applications of Artiicial intelligence, 13:719–729, 2000.
[FF62] L. R. Ford and D. R. Fulkerson. Flows in Networks. Princeton University Press, 1962.
[FGE05] J. Figueira, S. Greco, and M. Ehrgott, editors. Multiple Criteria Decision Analysis: State of the Art Surveys, volume 78 of International Series in Operations Research & Management Science. Springer, New York, 2005.
[Fle91] B. Fleischmann. Synchronization of transfers in public transit networks with cyclic schedules. Technical report, Institut f¨ur Unternehmensforschung, Universit¨at Hamburg, 1991.
[Flo62] R.W. Floyd. Algorithm 97: Shortest path. Communications of the ACM, 5(6):345, 1962.
[GBO99] R. Goverde, P Bovy, and G. Olsder. The max-plus algebra approach to transportation problems. In H. Meersman, editor, Transport Modelling/Assessment,, volume 3 of World Transport Research, pages 377– 391. 1999.
[Geo68] A. M. Geoffrion. Proper efficiency and the theory of vector maximization. Journal of Mathematical Analysis and Applications, 22:618–630, 1968.
[Ger04] B. Gerards, editor. Algorithmic Methods and Models for Optimization of Railways (ATMOS) 2003, volume 92 of Electronic Notes in Theoretical Computer Science, 2004.
[GGJ+04] M. Gatto, B. Glaus, R. Jacob, L. Peeters, and P. Widmayer. Railway delay management: Exploring its algorithmic complexity. In Proceedings 9th Scandinavian Workshop on Algorithm Theory (SWAT), volume 3111 of LNCS, pages 199–211, 2004.
[GHL06] L. Giovanni, G. Heilporn, and M. Labb´e. Optimization models for the delay management problem in public transportation. European Journal of Operational Research, 2006. to appear.
[Gin01] A. Ginkel. Event-activity networks in delay management. Master's thesis, Universit¨at Kaiserslautern, 2001.
[GJ79a] M.R. Garey and D.S. Johnson. Computers and Intractability A Guide to the Theory of NP-Completeness. Freeman, San Francisco, 1979.
[GJ79b] M.R. Garey and D.S. Johnson. Computers and Intractability A Guide to the Theory of NP-Completeness. H.W. Freeman and Company, San Francisco, 1979.
[GJP+04] M. Gatto, R. Jacob, L. Peeters, B. Weber, and P. Widmayer. Theory on the tracks: A selection of railway optimization problems (column: Algorithmics). In Bulletin of the EATCS, volume 84, pages 41–70, 2004.
[GJPS05] M. Gatto, R. Jacob, L. Peeters, and A. Sch¨obel. 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.
[GJPW06] M. Gatto, R. Jacob, L. Peeters, and P. Widmayer. On-line delay management on a single train line. In Algorithmic Methods for Railway Optimization, Lecture Notes in Computer Science. Springer, 2006. presented at ATMOS 2004, to appear.
[GKS+06] F. Geraets, L. Kroon, A. Sch¨obel, D. Wagner, and C. Zaroliagis, editors. Algorithmic Methods for Railway Optimization. Lecture Notes in Computer Science. Springer, 2006. to appear.
[Gle75] J. Gleason. A set covering approach to bus stop allocation. Omega, 3:605–608, 1975.
[GM06] D. Gattuso and G. Musolino. A simulation approach of fare integration in regional transit services. In Algorithmic Methods for Railway Optimization, Lecture Notes in Computer Science. Springer, 2006. presented at ATMOS 2004, to appear.
[Gol89] D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989.
[Goo04] J. Goossens. Models and algorithms for railway line planning problems. PhD thesis, University of Maastricht, 2004.
[Gov98a] R.M.P. Goverde. The max-plus algebra approach to railway timetable design. In Computers in Railways VI: Proceedings of the 6th international conference on computer aided design, manufacture and operations in the railway and other advanced mass transit systems, Lisbon, 1998, pages 339–350, 1998.
[Gov98b] R.M.P. Goverde. Optimal transfer times in railway timetables. Paper presented at the 6th meeting of the EURO Working Group on Transportation, G¨otheburg, Schweden, 1998.
[GS02] A. Ginkel and A. Sch¨obel. The bicriterial delay management problem. Technical report, Universit¨at Kaiserslautern, 2002.
[GvHK02] J. Goossens, C.P.M. van Hoesel, and L.G. Kroon. On solving multitype line planning problems. Technical Report RM/02/009, University of Maastricht, 2002. METEOR Research Memorandum.
[GvHK04] J. Goossens, C.P.M. van Hoesel, and L.G. Kroon. A branch and cut approach for solving line planning problems. Transportation Science, 38:379–393, 2004.
[G¨un85] R. G¨unther. Untersuchung planerischer und betrieblicher Maßnahmen zur Verbesserung der Anschlußsicherung in st¨adtischen Busnetzen. PhD thesis, Technische Universit¨at Berlin, 1985.
[Ham95] H.W. Hamacher. Mathematische L¨osungsverfahren f¨ur planare Standortprobleme (Mathematical Solution Algorithms for Planar Location Problems). Vieweg, Braunschweig, 1995.
[Han79] P. Hansen. Bicriterion path problems. In Multiple Criteria Decision Making. Theory and Applications, volume 177 of Lecture Notes in Economics and Mathematical Systems, pages 109–127. Springer, 1979.
[Hay81] W.L. Hays. Statistics. Holt, Rinehart and Winston, New York, 3. edition, 1981.
[HC83] Y.Y. Haimes and V. Chankong. Multiobjective Decision Making Theory and Methodology. North Holland, New York, 1983.
[HdV01] B. Heidergott and R. de Vries. Towards a control theory for transportation networks. Discrete Event Dynamic Systems, 11:371–398, 2001.
[Hen85] M.I. Henig. The shortest path problem with two objective functions. European Journal of Operational Research, 25:281–291, 1985.
[HH87] S. Holz and R. H¨uttmann. Optimierung von Anschlußzeiten. Der Nahverkehr, 4, 1987.
[Hig97] A. Higgins. Optimization of train schedules to minimize transit time amd maximize reliability. Transportation Research, 31A, 1997.
[HK81] C. Hendrickson and G. Kocur. Schedule delay and departure time decision in a deterministic model. Transportation Science, 15:62–77, 1981.
[HK98a] D.A. Hensher and J. King. Establishing fare elasticity regimes for urban passenger transport. Technical Report C37, The University of Sydney, 1998.
[HK98b] A. Higgins and E. Kozan. Modeling train delays in urban networks. Transportation Science, 32(4):346–357, November 1998.
[HK01] H.W. Hamacher and K. Klamroth. Linear and network optimization a bilingual textbook. Mathematics International. Vieweg, 2001.
[HKF96] A. Higgins, A. Kozan, and L. Ferreira. Optimal scheduling of trains on a single line track. Transportation Research, 30B:147–161, 1996.
[HL05] D. Hochbaum and A. Levin. Optimizing over consecutive 1's and circlular 1's constraints. Technical report, University of Berkeley, 2005.
[HLS+01] H.W. Hamacher, A. Liebers, A. Sch¨obel, D. Wagner, and F. Wagner. Locating new stops in a railway network. Electronic Notes in Theoretical Computer Science, 50(1), 2001.
[HS95] H.W. Hamacher and A. Sch¨obel. On fair zone design in public transportation. In J.R. Daduna, I. Branco, and J.M.P. Paixao, editors, Computer-Aided Transit Scheduling, number 430 in Lecture Notes in Economics and Mathematical Systems, pages 8–22. Springer, Berlin, Heidelberg, 1995.
[HS04] H.W. Hamacher and A. Sch¨obel. Design of Zone Tariff Systems in Public Transportation. Operations Research, 52(6):897–908, 2004.
[H¨oh77] G.J. H¨ohn. Die Preiselastizit¨at der Nachfrage graue Theorie oder handfeste Wirklichkeit f¨ur den OPNV? ¨ Nahverkehrs Praxis, 1977.
[Jac04] J. Jacobs. Reducing delays by means of computer-aided 'on-the-spot' rescheduling. In Computers in Railways (Comprail) IX, pages 603–612, 2004.
[Joh82] D. S. Johnson. The NP-completeness column: An ongoing guide. Journal of Algorithms, 3:182–195, 1982.
[Kli00a] N. Kliewer. Mathematische Optimierung zur Unterst¨utzung kundenorientierter Disposition im Schienenverkehr. Master's thesis, Universit¨at Paderborn, 2000.
[Kli00b] H. Klingele. Verfahren zur Optimierung eines Linienkonzeptes der Deutschen Bahn AG. Master's thesis, Universit¨at Karlsruhe, 2000.
[KNV96] M. Kolonko, K. Nachtigall, and S. Voget. Optimierung von integralen Taktfahrpl¨anen mit genetischen Algorithmen. Technical Report 8/96, Hildesheimer Informatik-Berichte, 1996.
[KPS+03] E. Kranakis, P. Penna, K. Schlude, D.S. Taylor, and P. Widmayer. Improving customer proximity to railway stations. In Proceedings of the 5th conference on algorithms and complexity, number 2653 in Lecture Notes in Computer Science, 2003.
[Kri96] M. Krista. Verfahren zur Fahrplanoptimierung dargestellt am Beispiel der Synchronzeiten. PhD thesis, Technische Universit¨at Braunschweig, Fachbereich f¨ur Bauingenieur - und Vermessungswesen, 1996.
[Kro97] L. G. Kroon. Routing trains through railway stations: complexity issues. European Journal of Operational Research, 98:485–498, 1997.
[KS87] W.D. Klemt and W. Stemme. Schedule synchronization for public transport networks. In Computer-Aided Transit Scheduling, volume 308 of Lecture Notes in Economics and Mathematical Systems, pages 327–335. Springer, 1987.
[Lie01] A. Liebers. Analyzing Train Time Table Graphs. PhD thesis, Universit¨at Konstanz, 2001.
[Lie03] C. Liebchen. Finding short integral cycle bases for cyclic timetabling. In Proceedings of European Symposium on Algorithms (ESA) 2003, pages 715–726, 2003.
[LM02] C. Liebchen and R. M¨ohring. A case study in periodic timetabling. Electronic Notes in Theoretical Computer Science, 66(6), 2002.
[LMM81] A. M. Lago, P.D. Mayworm, and J.M. McEnroe. Transit ridership responsiveness to fare changes. Traffic Quarterly, 35(1):117–142, 1981.
[LMMO06] G. Laporte, A. Marin, J.A. Mesa, and F.A. Ortega. An integrated methodology for rapid transit network design. In Algorithmic Methods for Railway Optimization, Lecture Notes in Computer Science. Springer, 2006. presented at ATMOS 2004, to appear.
[LMO02] G. Laporte, J.A. Mesa, and F.A. Ortega. Locating stations on rapid transit lines. Computers and Operations Research, 29:741–759, 2002.
[LMO05] G. Laporte, J.A. Mesa, and F.A. Ortega. Maximizing trip coverage in the location of a single rapid transit alignment. Annals of Operations Research, 136:49–63, 2005.
[LMW88] R.F. Love, J.G. Morris, and G.O. Wesolowsky. Facilities Location, chapter 3.3, pages 51–60. North-Holland, Amsterdam, 1988.
[LPW04] C. Liebchen, M. Proksch, and F. Wagner. Performance of algorithms for periodic timetable optimization. In Proceedings of 9th meeting on Computer-Aided Scheduling of Public Transport(CASPT 2004), 2004.
[LR05] C. Liebchen and R. Rizzi. A greedy approach to compute a minimum cycle basis of a directed graph. Information Processing Letters, 94(3):107–112, 2005.
[MDSF98] A. Murray, R. Davis, R.J. Stimson, and L. Ferreira. Public transportation access. Transportation Research D, 3(5):319–328, 1998.
[Mec03] S. Mecke. Standortplanung von Bahnh¨ofen. Master's thesis, University of Konstanz, 2003.
[Meg83] N. Megiddo. Linear time algorithms for linear programming in IR3 and related problems. SIAM Journal on Computing, 12:759–776, 1983.
[Min67] H. Minkowski. Gesammelte Abhandlungen, Band 2. Chelsea Publishing Company, New York, 1967.
[MM98] H. M¨uller-Merbach. Operations Research. Vahlens Handb¨ucher der Wirtschafts- und Sozialwissenschaften. Verlag Vahlen, 1998.
[MMO91] J. Mote, I. Murthy, and D.L. Olson. A parametric approach to solving bicriterion shortest path problems. European Journal of Operational Research, 53:81–92, 1991.
[MMW04] M.F. Mammana, S. Mecke, and D. Wagner. The station location problem on two intersecting lines. Electronic Notes in Theoretical Computer Science, 92:52–64, 2004.
[MSW05] S. Mecke, A. Sch¨obel, and D. Wagner. Stop location complexity and approximation issues. In Proceedings of ATMOS 2005, 2005.
[Mur01a] A. Murray. Coverage models for improving public transit system accessibility and expanding access. Technical report, Department of Geography, Ohio State University, 2001.
[Mur01b] A. Murray. Strategic analysis of public transport coverage. Socio-Economic Planning Sciences, 35:175–188, 2001.
[MW04] S. Mecke and D. Wagner. Solving geometric covering problems by data reduction. In Proceedings of European Symposium on Algorithms (ESA), pages 760–771, 2004.
[Nac94] K. Nachtigall. A branch and cut approach for periodic network programming. Technical Report 29/94, Hildesheimer Informatik-Berichte, 1994.
[Nac96] K. Nachtigall. Periodic network optimization with different arc frequencies. Discrete applied mathematics, 69:1–17, 1996.
[Nac97] K. Nachtigall. Cutting planes for a polyhedron associated with a periodic network. Technical report, Institut f¨ur Flugf¨uhrung, 1997.
[Nac98] K. Nachtigall. Periodic Network Optimization and Fixed Interval Timetables. Deutsches Zentrum f¨ur Luft– und Raumfahrt, Institut f¨ur Flugf¨uhrung, Braunschweig, 1998. Habilitationsschrift.
[Neu75] K. Neumann. Operations Research Verfahren, volume III. Carl Hanser Verlag, M¨unchen Wien, 1975.
[NSS01] S. Nickel, A. Sch¨obel, and T. Sonneborn. Hub location problems in urban traffic networks. In Niittymaki and Pursula, editors, Mathematical Methods and Optimization in Transportation Systems, pages 95–107. Kluwer academic Publishers, 2001.
[NV96] K. Nachtigall and S. Voget. A genetic approach to periodic railway synchronization. Computers Ops. Res., 23(5):453–463, 1996.
[NV97] K. Nachtigall and S. Voget. Minimizing waiting times in integrated fixed interval timetables by upgrading railway tracks. European Journal of Operational Research, 103:610–627, 1997.
[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, 30B:455–464, 1996.
[Pee02] L. Peeters. Cyclic Railway Timetabling Optimization. PhD thesis, ERIM, Rotterdam School of Management, 2002.
[Pen97] K. Penner. Fahrpreisgestaltung im ¨offentlichen Verkehr. Master's thesis, Universit¨at Kaiserslautern, 1997.
[PK01] L. Peeters and L. Kroon. A cycle based optimization model for the cyclic railway timetabling problem. In S. Voß and J. Daduna, editors, Computer-Aided Transit Scheduling, volume 505 of Lecture Notes in Economics and Mathematical systems, pages 275–296. Springer, 2001.
[PK03] L. Peeters and L. Kroon. A variable trip time model for cyclic railway timetabling. Transportation Science, 37(2):198–212, 2003.
[PL02] M. Patriksson and M. Labb´e, editors. Transportation Planning. State of the Art, volume 64 of Applied Optimization. Kluwer, 2002.
[Pla95] F. Plastria. Continuous location problems. In Z. Drezner, editor, Facility Location: A survey of applications and methods, chapter 11, pages 225–262. Springer, New York, Inc., 1995.
[PMP04] D. Pacciarelli, A. Mascis, and M. Pranzo. Scheduling models for shortterm railway traffic optimization. In Proceedings of 9th meeting on Computer-Aided Scheduling of Public Transport(CASPT 2004), 2004.
[PT82] E. R. Petersen and A. J. Taylor. A structured model for rail line simulation and optimization. Transportation Science, 16(2):192–206, 1982.
[Roc84] R.T. Rockafellar. Network Flows and Monotropic Optimization. John Wiley, New York, 1984.
[Rou85] J.-M. Rousseau, editor. Computer Scheduling of Public Transport 2. North-Holland, 1985.
[RS04] N. Ruf and A. Sch¨obel. Set covering problems with almost consecutive ones property. Discrete Optimization, 1(2):215–228, 2004.
[Ruf02] N. Ruf. Locating train stations: Set covering problems with "almost c1p" matrices. Master's thesis, University of Kaiserslautern, 2002.
[SA00] A.J.V. Skriver and K.A. Andersen. A label correcting approach for solving bicriterion shortest path problems. Computers and Operations Research, 27(6):507–524, 2000.
[SBK01] L. Suhl, C. Biederbick, and N. Kliewer. Design of customer-oriented dispatching support for railways. In S. Voß and J. Daduna, editors, Computer-Aided Transit Scheduling, volume 505 of Lecture Notes in Economics and Mathematical systems, pages 365–386. Springer, 2001.
[Sch94a] A. Sch¨obel. Methoden der kombinatorischen Optimierung in der Tarifplanung im ¨offentlichen Personennahverkehr. Master's thesis, Universit¨at Kaiserslautern, 1994. (appeared under maiden name, A. Schumacher).
[Sch94b] A. Sch¨obel. Fair zone design in public transportation networks. In U. Derigs, A. Bachem, and A.Drexl, editors, Operations Research Proceedings 1994, pages 191–196, Berlin, 1994. Springer Verlag.
[Sch96] A. Sch¨obel. Zone planning in public transportation. In L. Bianco and P. Toth, editors, Advanced Methods in Transportation Analysis, Transportation Analysis, pages 117–134. Springer Verlag, 1996.
[Sch01a] M. Schmidt. Modelle zur Linienoptimierung im Zugverkehr unter Ber¨ucksichtigung der Nachfrage. Master's thesis, Universit¨at Kaiserslautern, 2001.
[Sch01b] S. Scholl. Anschlusssicherung bei Versp¨atungen im OPNV. Master's ¨ thesis, Universit¨at Kaiserslautern, 2001.
[Sch01c] A. Sch¨obel. A model for the delay management problem based on mixed-integer programming. Electronic Notes in Theoretical Computer Science, 50(1), 2001.
[Sch05a] R.-S. Schneider. A new customer-oriented cost model for the line planning problem. Master's thesis, Technische Universit¨at Kaiserslautern, 2005.
[Sch05b] S. Scholl. Customer-oriented line planning. PhD thesis, Technische Universit¨at Kaiserslautern, 2005.
[Sch05c] A. Sch¨obel. Locating stops along bus or railway lines a bicriterial problem. Annals of Operations Research, 136:211–227, 2005.
[Sch06] A. Sch¨obel. Integer programming approaches for solving the delay management problem. In Algorithmic Methods for Railway Optimization, Lecture Notes in Computer Science. Springer, 2006. to appear.
[SHLW02] A. Sch¨obel, H.W. Hamacher, A. Liebers, and D. Wagner. The continuous stop location problem in public transportation. Technical report, Universit¨at Kaiserslautern, 2002. Report in Wirtschaftsmathematik Nr. 81/2001.
[Skr00] A.J.V. Skriver. A classification of bicriteria shortest path (bsp) algorithms. Asia-Pacific Journal of Operational Research, 17(2):199–212, 2000.
[SM97] L. Suhl and T. Mellouli. Supporting planning and operation time control in transportation systems. In Operations Research Proceedings 1996, pages 374–379. Springer, 1997.
[SM99] L. Suhl and T. Mellouli. Requirements for, and design of, an operations control system for railways. In Computer-Aided Transit Scheduling. Springer, 1999.
[SM01] L. Suhl and T. Mellouli. Managing and preventing delays in railway traffic by simulation and optimization. In Mathematical Methods on Optimization in Transportation Systems, pages 3–16. Kluwer, 2001.
[SMBG01] L. Suhl, T. Mellouli, C. Biederbick, and J. Goecke. Managing and preventing delays in railway traffic by simulation and optimization. In M. Pursula and Niittym¨aki, editors, Mathematical methods on Optimization in Transportation Systems, pages 3–16. Kluwer, 2001.
[SS99] G. Sch¨obel and A. Sch¨obel. WabPlan a software tool for design and evaluation of tariff systems, 1999.
[SS01] A. Sch¨obel and T. Sonneborn. Anschlusssicherung in multimodalen Verkehrssystemen. Jahresbericht der Stiftung Innovation Rheinland-Pfalz, 2001.
[SS03] A. Sch¨obel and M. Schr¨oder. Covering population areas by railway stops. In Proceedings of OR 2002, Klagenfurt. Springer, 2003.
[SS05] A. Sch¨obel and S. Scholl. Line planning with minimal transfers. In proceedings of ATMOS 2005, 2005.
[Ste88] W. Stemme. Anschlußoptimierung in Netzen des ¨offentlichen Personennahverkehrs. PhD thesis, Technische Universit¨at Berlin, 1988.
[SU89] P. Serafini and W. Ukovich. A mathematical model for periodic scheduling problems. SIAM Journal on Discrete Mathematic, 2:550–581, 1989.
[SV74] K. Sarkadi and I. Vincze. Mathematical Methods of Statistical Quality Control. Academic Press, New York-London, 1974.
[ta98] Metropolitan transit association. Urban fact book, 1998.
[Tam02] A. Tamir, July 2002. personal communication.
[TJ05] J. T¨ornquist and J.A.Persson. Train traffic deviation handling using tabu search and simulated annealing. In Proceedings of HICSS'38, Hawaii, 2005.
[TR73] C. Toregas and C. ReVelle. Binary logic solutions to a class of location problems. Geographical Analysis, 5:145–155, 1973.
[TSRB71] C. Toregas, R. Swain, C. ReVelle, and L. Bergman. The location of emergency facilities. Operations Research, 19:1363–1373, 1971.
[T¨or05a] J. T¨ornquist. Computer-based decision support for railway traffic scheduling and dispatching: A review of models and algorithms. In proceedings of ATMOS 2005, 2005.
[T¨or05b] J. T¨ornquist. N-tracked railway traffic re-scheduling during disturbances: theoretical and practical implications. Technical report, Blekinge Institute of Technology, Sweden, 2005.
[VD01] S. Voß and J. Daduna, editors. Computer-Aided Transit Scheduling, volume 505 of Lecture Notes in Economics and Mathematical systems. Springer, 2001.
[vE01] R.J. van Egmond. An algebraic approach for scheduling train movements. In Proceedings of the 8th international conference on Computer-Aided Transit Scheduling, Berlin, 2000, 2001.
[Voß92] S. Voß. Network design formulations in schedule synchronization. In Computer-Aided Transit Scheduling, volume 386 of Lecture Notes in Economics and Mathematical Systems, pages 137–152. Springer, 1992.
[Wag02] D. Wagner, editor. Algorithmic Methods and Models for Optimization of Railways (ATMOS) 2002, volume 66(6) of Electronic Notes in Theoretical Computer Science, 2002.
[Wag03] D. Wagner. Algorithms and models for railway optimization. In Lecture Notes in Computer Science, volume 2748, pages 198–206. Springer, 2003.
[War62] S. Warshall. A theorem on boolean matrices. Journal of the ACM, 9(1), 1962.
[WC74] J. White and K. Case. On covering problems and the central facility location problem. Geographical Analysis, 6:281–293, 1974.
[Wei81] W. Weigand. Graphentheoretisches Verfahren zur Fahrplangestaltung in Transportnetzen unter Ber¨ucksichtigung von Pufferzeiten mittels interaktiver Rechentechnik. PhD thesis, Technische Universit¨at Braunschweig, 1981.
| access time, 75, 85, 86 | cover graph, 41 |
|---|---|
| activity | covered, 16 |
| changing activity, 104 | covering matrix, 28 |
| driving activity, 104 | covering radius, 11 |
| waiting activity, 104 | CPM-network, 112 |
| adjacency of zones, 215 | critical path method (CPM), 111 |
| almost consecutive ones property, 46 | |
| application | delay |
| delay management, 97, 194 | total, 119 |
| stop location, 13, 32, 45, 57 | delay arcs, 185 |
| zone planning, 212, 231 | delay management problem, 95 |
| arrival event, 104 | bicriteria (BDM), 96, 175 |
| general (GDM), 96, 196 | |
| bicriteria delay management problem | total (TDM), 96, 120 |
| (BDM), 96, 175 | with fixed connections (TT), 96, 109 |
| bicriteria optimization problem (BP), | delay network, 185 |
| 239 | delay arcs, 185 |
| bicriteria set covering digraph, 67 | timetable arcs, 185 |
| bicriteria stop location problem (BSL), | demand of a relation, 6 |
| 12, 59, 63 | demand set, 16 |
| departure event, 104 | |
| changing activity, 104 | discrete time/cost tradeoff problem |
| complete stop location problem (CSL), | (DTCTP), 182 |
| 12, 21, 22 | modes, 182 |
| conflict zone, 84 | distance tariff, 208 |
| connection, 100 | unit tariff, 209 |
| maintained, 102 | dominance, 239 |
| missed, 102 | door-to-door travel time, 75, 85 |
| consecutive ones property (c1p), 29 | door-to-door travel time stop location |
| almost, 46 | problem (DSL), 12, 86 |
| continuous stop location problem, 11 | driving activity, 104 |
| counting zone design problem, 219 | |
| counting zone tariff, 211 | e-constraint method, 61 |
| cover, 16 | efficient point, 240 |
| for delay management, 178 for stop location, 60 event arrival event, 104 departure event, 104 event-activity network, 104 |
Pareto solution, 239 supported, 240 for delay management, 178 for stop location, 60 partition into cliques, 226 path |
|---|---|
| fare (planning) problem, 213, 220 feasible differential problem, 115 fixturing point, 82 gauge, 244 general delay management problem |
maintained, 120 missed, 120 perturbed timetable, 95, 102, 107 feasible, 102, 107 polygonal line, 29 interval of, 29 |
| (GDM), 96, 196 geometric covering by discs, 23 interval matrix, 29 |
potential (of a node), 115 price elasticity, 233 project network, 111 project planning, 111 |
| late reduction, 133 | public transportation network (PTN), 5 |
| lexicographic minimum, 241 linear programming relaxation, 237 location set covering problem, 14, 28 LP-relaxation, 237 |
reduced solution of bicriteria delay management, 180 of total delay management, 123, 131 reference prices, 207 relation (in public transport), 5 |
| maintained, 120 maintained (connection), 102 |
relaxation, 237 series parallel network, 183 |
| maximum coverage location problem, 14 |
set covering digraph, 37 set covering problem, 14, 28 |
| missed (connection), 102 missed path, 120 |
unweighted, 35 source delay, 101, 107 |
| monotone matrix, 34 strictly, 34 |
stop location problem, 11 unweighted, 15 |
| never-meet property, 138 norm, 243 |
strictly monotone matrix, 34 |
| NP-hardness of bicriteria delay management problem, 176 of bicriteria stop location problem, 61 of complete stop location problem, 22 of door-to-door travel time stop location problem, 87 of general delay management problem, 201 of stop location problem for demand regions, 77 of zone planning problem, 226 OD-matrix, 6 origin-destination matrix, 6 |
tariff system counting zone tariff, 207, 211 distance tariff, 208 fair, 207 zone tariff, 210 zone tariff with arbitrary prices, 210 tariff zone, 210 tension (of an arc), 115 time-minimal solution, 113 timetable, 100, 106 feasible, 100 perturbed timetable, 102, 107 timetable arcs, 112, 185 timetable event, 188 total delay, 119 |
total delay management problem (TDM), 96, 120 with constant weights, 133 totally unimodular (TU), 238 track system, 15 traffic load, 6 of a station, 7 of an edge, 6 travel time, 75, 85
unit ball, 243 unit tariff, 209 wait-depart decision, 95, 101 depart, 95 independent, 170 wait, 95 waiting activity, 104 weighted median, 221
zone graph, 215 zone planning problem, 213, 219 zone tariff, 210 counting zone tariff, 207, 211 with arbitrary prices, 210