An auction-based method for decentralized train scheduling

We present a computational study of an auction-based method for decentralized train scheduling. The method is well suited to the natural information and control structure of mod- ern railroads. We assume separate network territories, with an autonomous dispatch agent responsible for the ow of trains over each territory. Each train is represented by a self-interested agent that bids for the right to travel across the network from its source to destination, submitting bids to multiple dispatch agents along its route as necessary. The bidding language allows trains to bid for the right to enter and exit territories at particular times, and also to represent indifference over a range of times. Computational results on a simple network with straight-forward best-response bid- ding strategies demonstrate that the auction computes near- optimal system-wide schedules. In addition, the method appears to have useful scaling properties, both with the number of trains and with the number of dispatchers, and generates less extremal solutions than those obtained using traditional centralized optimization techniques.


INTRODUCTION
Auction-based scheduling methods are well-suited to the decentralized information and control structure of modern railroads. The ow of trains over a railroad network is not controlled by a single centralized scheduler, but rather by the joint decisions of a number of largely autonomous dispatcher agents, each responsible for a local track territory. In addition, trains are operated by competing companies, each of which w ould prefer for their trains to run on-schedule even if the trains of other companies must wait. Real train drivers receive b o n uses for on-line arrivals, and have private information about repair schedules, etc.
Auction-based methods ll two important needs. First, they respect the natural autonomy and private information within such a distributed system. Secondly, they can pro-Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. vide incentives for trains to reveal truthful information indirectly, via bids about their values for di erent s c hedules. In a naive central implementation, a self-interested train with private information about its time constraints, value, and costs, cannot be expected to act truthfully, but rather to misrepresent this information if it will improve its own schedule in the system-wide solution.
The train scheduling problem that we address in this paper falls within a hierarchy o f i n terrelated train scheduling problems; see 6 for a recent survey. We assume that all strategic planning, i.e. deciding on train routes and assigning values, times, and costs, is already completed. Our input is a set of trains, each with a de ned routes over a track network, a value for completing its journey, and an optimal departure and arrival time and cost function for o -schedule performance. The system-wide problem is to compute a robust and safe meet pass schedule for the movement of trains over the network to maximize the total cost-adjusted value over all trains.
In constructing an optimal meet pass schedule we depart from earlier models for automatic train scheduling that used xed-priority scheduling rules. These early models have been criticized for a hurry up and wait" approach 7 , with high priority trains moved down lines as fast as possible, possibly causing problems and ine ciencies at yards further down the line. We build instead on the pacing models of Kraay et al. 7 , which control the speed of trains in nding optimal schedules.
Our auction design has each dispatcher agent running a separate auction, for the right t o e n ter and exit its territory at particular times. There are necessarily multiple auctions, to respect the autonomy of individual dispatchers to make local decisions. All auctions terminate simultaneously, when there is quiescence across the system. A train agent m ust bid for pairs of entry and exit times across multiple dispatchers to complete its journey, which presents a coordination problem. The exit time from one dispatcher must be early enough to allow the train to enter the next dispatcher on its route at the required entry time. In order to help in this coordination process, we implement iterative auctions to allow trains to adjust towards a good solution, and we allow trains to submit bids for sets of times, i.e. I want t o e n ter your territory at any time after 10am, but leave no later than 1.30pm, and my maximum travel speed is 100km hr." This constraint-based bidding language is a concise way to handle the continuous time attribute of a bid without im-posing an explicit discretization on time, satisfying Nisan's 9 requirements that a language be both simple and expressive.
In each round the auctioneer computes the set of bids that maximize revenue, subject to the constraint that there must be a feasible meet pass schedule for trains given the entry and exit times in accepted bids. Prices are maintained over a discrete price lattice on pairs of entry and exit times, with prices increased across rounds with an iBundle style priceupdate 10 , i.e. based on the bid prices from unsuccessful agents.
Experimentally, w e compare the quality o f s c hedules computed in the auction-based method with schedules computed under a traditional centralized optimization approach. In order to make a fair computational comparison across the methods we formulate both the global scheduling problem and the winner-determination problems as closely related mixed integer programs, and solve with CPLEX. We generate a set of stochastic problem instances, and compare the centralized solution with complete information about agents' problems with the auction solution. In the auctionbased method we make a reasonable assumption about agent bidding strategies, we assume that agents follow a myopic best-response bidding strategy and submit bids to maximize value given the current ask prices.
Our initial computational results demonstrate that the auction-based method can generate better schedules than the centralized method, and in less time. Moreover, the auction appears to have good scaling properties with the numberof agents and dispatchers, at least for the auction parameters selected in our tests e.g. price update speed, time in each round to solve winner-determination, etc.
As a word of caution, it also seems likely that the bidcoordination problem will become quite hard in the auction as the number of dispatchers increase, perhaps for routes across ve or more dispatchers. The performance of the simple myopic bidding strategy might begin to fall-o in these cases, leaving agents exposed" to times that they cannot t with times from other dispatchers. Further study is required to consider alternative, more sophisticated bidding strategies in these cases.

THE TRAIN SCHEDULING PROBLEM
We assume that each train has a source and destination node, a value to complete its journey, and a cost for o -time departure and or arrival. The global objective i s t o n d a safe schedule that maximizes the total net value, the total value minus cost of delay across all trains that run. We introduce a novel mixed-integer programming MIP formulation that allows trains to be dropped when necessary, i.e. to allow other high-valued trains to run on-time. A very similar formulation is adopted for the winner-determination problem in the auction see the next section.

Track Network: Topology and Constraints
In modeling the train scheduling problem we make a n umber of simplifying assumptions about the network structure and about the types of meets and passes that we allow.
The key assumption is that of a single line operation a sequence of single-track, double-track, o r yard sections, separated by nodes. This simpli es the speci cation of the global train-scheduling problem, and also of the winnerdetermination problem in the auction-based method. In addition, train agents must only consider tradeo s across multiple temporally di erent routes, and can ignore alternate paths over the network.
An interaction between a pair of trains may b e a meet or a pass, and is associated with a network location and a time.
A meet is when two trains traveling in opposite directions are at the same location at the same time. A pass is when two trains traveling in the same direction are at the same location at the same time.
The feasibility of a schedule for trains across a network is determined by the safety of meets and passes. This depends on the type of section: S1 A n y n umber of trains can meet and pass in yards. S2 A n y n umber of trains can pass on double-track sections, but no trains can meet. S3 No trains can meet or pass on a single-track section.
In addition, a feasible schedule must maintain a minimum separation distance, safety , between trains on single and double track sections. We w aive this minimum separation distance requirement for trains in yards. Finally, no train can exceed either its maximum speed, or the maximum safe speed on any section.
Allowing trains to pass but not meet on double-track sections reduces problem-solving complexity; intuitively there are many more ways for two trains to cross in the same direction than in opposite directions. Similarly, modeling in nite-capacity y ards and double-track sections sidings is a simplifying assumption.

Schedules
A s c hedule speci es the network position across time for each train in the system. It is su cient to to consider schedules in which trains travel at a constant speed across each section the speed can vary from train to train and from section to section, by the following result: The transformation which maintains feasibility is to hold times at nodes between track sections constant, and smooth the speed of each train between these points. The proof is quite straightforward just show that the number of meets are the same for any speed pro le consistent with the entry and exit points, and that the number of passes is weakly less when trains travel at a constant speed. We ignore constraints on acceleration across sections.
This observation reduces the size of the search space in the scheduling problem, we can simply nd optimal times for trains at the ends of each section.

A Mixed Integer Programming Formulation
Let I denote the set of trains and N denote the set of nodes between track sections. It is useful to view the network in an west east orientation, with nodes ordered that j k for j 2 N further east than k 2 N . We divide the trains into set east I that travel west-to-east and west that travel east-to-west. The nodes are labeled with the type of section to the east, e.g. the section between node j and j + 1 i s a y ard if j 2 yard, single-track i f j 2 single, and double-track otherwise. The minimum travel time for train i between node j and j + 1, its free-running time ri; j, is de ned by the length of the section, the maximum speed of the train, and the maximum safe speed over the section. 1 Each train i 2 I has a source n o de and optimal departure time, si; t s i, a destination node and optimal arrival time, di; t d i, a value Vi 0 for completing its journey, and a cost penalty, costits; t d , for o -schedule performance. Following 5 we assume a linear additive cost penalty for each train. Given actual source ts and destination t d times, the cost for o -schedule performance is computed as: We assume that performance is measured only on the basis of a train's time at its source and destination nodes. This is reasonable for a freight train with a single shipment to make, but less appropriate for a train that must make i n termediate scheduled pick-ups and drop-o s.
We specify a schedule with the time, ti; j, of each train i at node j. This is su cient to compute the optimal schedule, by Lemma 1. Let yi 2 f 0; 1g equal 1 if train i is not dropped from the schedule, and 0 otherwise. Let sourcei and dest i denote the absolute error in departure and arrival time for train i at source node si and destination node di. The system-wide objective is to maximize total value minus cost: max The constraints make sure schedules are feasible, i.e. that a s c hedule is safe, trains are separated, and speed constraints are not violated. In the following the big M technique", M is a large positive n umber, used to make sure that dropped trains do not restrict schedules for other trains and also to implement disjunctive logic constraints as a mixed-integer program.
Constraints 1a and 1b set the errors sourcei and dest i for train i: sourcei j ti; si , t 1 ij , M1 , yi 8i 2 I 1a dest i j ti; di , t 2 ij , M1 , yi 8i 2 I 1b Notice that if yi = 0 for train i then i = 0 i s a solution, and we count no penalty for dropped trains. This avoids requiring non-linear terms, such a s Cisourceiyi, in the objective function. The absolute value constraint can be implemented by writing two greater than constraints, one for the positive term and one for the negative term.
Constraints 2a and 2b ensure consistency of travel times for trains, given free running times ri; j for train i between node j and j + 1 . Again, neither constraint is binding for a dropped train by the big M" formulation.
ti; j + 1 ti; j + ri; j , M1 , yi 8i 2 east; 8j 2 N 2a ti; j + 1 ti; j , ri; j + M1 , yi 8i 2 west; 8j 2 N 2b We i n troduce the zero-one variables gapi; i 0 ; j to make sure that trains are a safe distance apart at all times; gapi; i 0 1 Later, when we formulate the schedule problem for winner-determination we will leave this information implicit in the bidding language to simplify our presentation.
; j = 1 i train i trails train i 0 by at least time safety at node j. We capture with big M" that either a t r ain must be more than safety ahead of another train, or safety behind another train. Note that constraint 3b is true whenever at least one of the trains is dropped, so that the times on dropped trains are not constrained.
ti; j , ti 0 ; j + Mgapi; i 0 ; j safety ; 8j 2 N ; 8i; i 0 2 I 3a ti 0 ; j , ti; j + M1 , gapi; i 0 ; j + M2 , yi , yi 0 safety; 8j 2 N ; 8i; i 0 2 I 3b We i n troduce the zero-one variables afteri; i 0 ; j to indicate whether train i arrives at node j after train i 0 ; afteri; i 0 ; j = 1 if train i is after train i 0 at node j. This indicator variable is set by constraints 4a and 4b to be consistent with the times de ned by variables ti; i 0 ; j . A dropped train can assume the same ordering with respect to all trains, allowing them to trivially satisfy 4c and 4d.
ti; j , ti 0 ; j Mafteri; i 0 ; j ; 8j 2 N ; 8i; i 0 2 I 4a ti 0 ; j , ti; j , M2 , yi , yi 0 M1 , afteri; i 0 ; j ; 8j 2 N ; 8i; i 0 2 I 4b Constraint 4c captures the restriction that trains traveling in the same direction cannot pass on sidings or single-track sections. East-bound train i must remain after east-bound train i 0 at node j if it is behind train i at node j + 1 and the section between j and j + 1 is not a yard. Similarly for west-bound trains. afteri; i 0 ; j = afteri; i 0 ; j + 1 8j = 2 yard; 8i; i 0 2 east; 8i; i 0 2 west 4c Finally, constraint 4d captures the restriction that trains traveling in opposite directions cannot meet on single-track sections. If east-bound train i is after west-bound train i 0 at node j it must also have followed west-bound train i 0 at node j + 1 for single-track sections between j and j + 1 , otherwise the trains were on the same single-track section at the same time and traveling in opposite directions. afteri; i 0 ; j = afteri; i 0 ; j + 1 8j 2 single; 8i 2 east; 8i 0 2 west 4d Taken together with the objective function, the constraints specify a mixed-integer program to solve the centralized train scheduling problem. The optimal solution speci es which trains are dropped with yi = 0 and the times ti; j for other trains at each n o d e j in the network.

AN AUCTION-BASED SOLUTION
Let us assume that the track network is divided across dispatcher territories, with each dispatcher responsible for the local ow of trains. A separate dispatcher agent auctions the right t o t r a vel across each territory. Each train is associated with a train agent that places bids for the right to travel across a territory, and coordinates times across dispatchers on its route to achieve a g o o d s c hedule.
We assume that dispatch territories are separated by neutral yards to allow the safety constraints on meet and constraints to be decoupled across dispatch territories, because yards have in nite capacity and allow arbitrary meets and passes. The dispatcher on each side of connecting yards must simply ensure that trains remain a safety distance apart as they enter and exit their territory.

Auction Innovations
The nature of the train scheduling problem require a number of innovations in auction design: 1 A constraint-based bidding language allows trains to submit bids with continuous time attributes, to represent a c hoice set over di erent pairs of times, i.e. without discretization. 2 Prices are maintained over a discrete lattice with quotes computed on-the-y for any pair of times, i.e. an approximate representation of a continuous and non-linear price space. 3 The selection of revenue-maximizing bids is built on top of a feasibility c heck that looks for feasible meet pass schedules given entry-exit times, i.e. the con icts across bids are non-trivial and checked via solving for feasible schedules.
As noted earlier we implement m ultiple independent auctions, one for each dispatcher territory, to respect the decision autonomy of each dispatcher. Given that trains must receive compatible entry-exit times across multiple dispatchers, the auctions are necessarily iterative to allow train agents to coordinate their bids across multiple auctions.
All auctions close simultaneously when bid quiescence is detected across the system.

Dispatcher Auction
We allow train agents to bid for entry and exit times in a territory, but leave the dispatcher with the exibility t o decide exactly how a train will run, consistent with those times.

Bidding Language
The bidding language is quite expressive: a train can bid a price to enter a territory at time tentry and depart at time texit, and state whether the times are xed or exible. With a xed time the train must enter or exit the territory at that exact time. With a exible entry time, any time after tentry is acceptable; with a exible exit time, any time before texit is acceptable subject to constraints on a train's minimal travel time. Finally, a train agent can submit multiple bids coupled with an exclusive-or" constraint, to state that the dispatcher can accept any one pair of times from any one bid.
Let K denote the set of all bids, and i K the bids received from agent i. A set of bids from agent i in a particular round are all associated with a single entry node, nentryi, a single exit node nexiti, and true false values xed entry and xed exit to state whether the times are xed or represent constraints. Each individual bid k 2 i speci es an entry time, tentryk, an exit time texitk, and a bid price pk 0. Example: Bid 5; 10; $100 xor 7; 12; $150 for entry node A and exit node B, with xed entry but : xed exit , states that the train agent is willing to pay up to $100 to enter at A at time 5 and depart before time 10, or up to $150 to enter at time 7 and depart before time 12.
To keep the winner-determination problem tractable we also nd it useful to restrict the number of bids that an agent can place in any round.

Winner-determination
In each round of the auction the dispatcher solves the winnerdetermination problem, computing a provisional allocation to maximize revenue based on bids. The provisional allocation must be consistent with some feasible schedule.
The winner determination problem is formulated as a mixedinteger program, very similar in form to that for the centralized train scheduling problem. However, it tends to be much easier to solve because: the problem is restricted to the space of solutions compatible with the bids submitted by agents; and the problem is for only a single territory.
Mixed-Integer Program Formulation.
Borrowing as much from the earlier global MIP formulation as possible, we i n troduce new zero-one variables xi; k 2 f0; 1g for agent i 2 I and bid k 2 i, the set of bids from agent i, with xi; k = 1 i agent i's bid k is in the provisional allocation. The linear objective function is: max The source node si is the entry node nentryi, and the destination node di is the exit node, nexiti.
Constraints 1a' constrain the schedule for train i to an entry time consistent with its bid, similarly for 1b' for its exit time. Constraint 1c' ensures that at most one bid is accepted per agent, and that no bids are accepted from dropped trains.
One useful technique to speed-up winner-determination in iterative auctions is to maintain solutions from previous rounds in a cache, indexed against the bids that were submitted. The cache can be checked for a solution before solving the mixed integer program.
In this problem, a hit in the cache depends on the constraints submitted by agents. Given a set of bids K from agents, a match is found if a permutation in terms of the order of agents of the new bids are consistent with a set of bids in the cache. To be consistent: 1 if bids from agent i are successful in the cached solution, then the new bids from i must support the time corresponding to the successful bid, and be weakly less exible than the other times in the cached bid. 2 2 The other times can be more flexible if every agent that bids is in the 2 if bids from agent i are unsuccessful in the cached solution, then the new bids from i must all be weakly less exible than the old bids. A bid is less exible than another bid if it represents a smaller set of times and at the same price or less, vice-versa for a more exible bid. An exclusive-or set of bids support an accepted bid if one or more of the bids in the set is weakly more exible than the accepted bid.

Price Updates
Each dispatcher agent maintains ask prices on a discrete price lattice. This discretization does not limit the times that a train agent can bid because the ask price for a particular bid is determined from the price of the nearest point on the lattice or minimal over a set of prices in the case of a exible bid. The lattice structure is used to approximate a continuous non-linear price space. A smaller unit of discretization leads to a higher computational cost and slower convergence but perhaps to a higher schedule quality. We choose this structure for simplicity, another structure might explicitly maintain unsuccessful bids and compute ask prices on-the-y exactly.
Ask prices represent a lower-bound on the price that a train agent m ust bid to have a n y c hance of success in the auction, but do not guarantee that a bid will be successful. An unsuccessful bid increases the price on its nearest lattice point, or multiple consistent lattice points in the case of an unsuccessful constraint-based bid.
For each bid in an unsuccessful exclusive-or set of bids: a nd the point on the lattice closest to the bid, or set of consistent points, b and update the ask price at that lattice point t o above the unsuccessful bid price, where 0 i s t h e minimal bid-increment in the auction. 3 The structure of this price-update is motivated by price updates in iBundle 10 , an allocatively-e cient ascendingprice combinatorial auction that updates prices on bundles of items by in response to unsuccessful exclusive-or bids.
An in nite" value is used to represent the case that the safety condition will be violated with any bid close to a particular grid point. This is used as items are sold to train agents at particular times under the continuous clearing rules, see below, to move a train's bid focus away from a time that cannot be accepted at any price.

Price Quotes
The prices on the lattice are used to compute ask prices. The ask price for a xed pair of times is read o the grid as the price at the closest point. For a bid with a exible entry time and or a exible exit time, the price is computed as the minimal price over all compatible grid points.
The prices on exible times have the following useful semantics: pk1 pk2; if k1 k2 for bids k1 and k2 if all times consistent with k2 are also cache and the prices on the rejected bids from each agent are no greater than on the accepted bids.
3 We also increase the price based on bids submitted by a train agent that is in the provisional allocation but receives the same pair of times from the last round of the auction and is trying to shift away from that allocation. We allow a train agent to indicate when it is merely repeating a bid because it must under the auction rules, rather than because it really wants that pair of times. consistent with k1. This follows immediately from the minimal operator used to compute an ask price under a exible bid. The relationship allows a train agent to prune its local search when considering di erent times in its best-response strategy.

Bidding Rules
The bidding rules are quite simple: 1 an agent m ust bid at least the ask price for a good; and 2 an agent m ust repeat a bid that supports a pair of times it receives in the current provisional allocation. This ensures that progress is made across individual rounds of the auction.

Clearing and Termination Rules
The auctions terminate simultaneously when no new bids are placed by a n y train agent t o a n y dispatcher agent. In addition, each auction has a continuous clearing rule, in which a dispatcher commits to a particular pair of times for an agent that receives those times in the provisional allocation for more than a xed number of successive rounds, T clear . Continuous clearing helps to reduce bidding complexity, committing trains to particular times although they can continue to bid for alternate times at an additional cost, and focusing search. A countervailing force is that early commits can also lock-in a particular pair of times too quickly when continued search might nd a better solution.
The MIP formulation for winner-determination is easily adapted to include committed times. These times can be represented with bids from a dummy agent, with acceptance of those bids forced within the MIP solution method. 4

THE BIDDING PROBLEM
Recall that each train i 2 I has value Vi to complete its journey, subject to a cost costits; t d for o -schedule performance, given optimal source and destination times t s i and t d i and actual times ts and t d . The bidding problem is to purchase the right t o t r a vel across the network from source to destination at minimal total cost, where cost is the sum of the price it pays in each auction and the cost of o -schedule performance. In addition, if this cost is greater than the train's value then it would prefer to drop out completely.
We assume that each train agent follows a myopic bestresponse bidding strategy, bidding for the schedule that minimizes total cost given the current ask prices. Myopic bestresponse provides a good starting point to analyze the performance of the auction method. It would be interesting, but probably quite di cult, to also consider the e ect of fully strategic agent behavior on the quality of solutions.

Myopic Best-response Bidding Strategy
The myopic best-response bidding problem can be formulated as a shortest weighted p ath problem. The edges in the graph correspond to pairs of entry-exit times at each dispatcher, xed or exible as appropriate. Edges are connected if the exit time on one edge is consistent with the entry time on the next edge. The cost associated with an edge represents the sum of the current ask price, and any cost for o -schedule arrival or departure if the dispatcher is at the source or destination of a train's route.

Formulation
A train's best-response, taking current prices as xed, is to select a path from source to destination with minimal total cost or no path in the case that the minimal cost is greater than its value for completing the journey.
Given a set of dispatchers, D, let d1; : : : ; d n represent the dispatchers on the route of a particular train. Let C 1!n t denote the minimal total cost to enter dispatcher d1 no earlier than time t, travel from d1 to dn, and exit from dispatcher dn. This cost represents the cost of the best schedule, given current ask prices and the train's costs for oschedule performance. The solution to C can be computed as a recursive relationship: The price is the ask-price if the agent is not yet committed to the good i.e. it has not cleared, or zero otherwise in which case the price represents a sunk cost. Trains consider exible bid times in the case of non-extremal nodes, but xed times at source or destination because a cost is incurred for any deviation from optimal departure and arrival times. The intermediate time represents the time to cross from dispatcher dj to dj+1. 5

Dynamic Programming Solution Method
We use dynamic programming to solve this problem, computing the best solution over a xed lattice of time points that can be di erent for each train agent, and working from dispatcher dn to d1, pruning any dominated solutions for example higher cost edges with earlier entry times. In related work, Boutilier et al. 2 proposed a dynamic programming algorithm for agent bidding strategies in sequential auctions with complementarities.
We bias search t o wards solutions consistent with times the train receives in the current provisional allocations. This is quite reasonable because the ask prices on times represents a l o wer-bound on what might be a successful bid price but does not guarantee that a bid will succeed. That an agent currently receives a pair of times conveys useful information about the t" of those times with bids from other agents. This bias reduces problem complexity, limiting the size of the dynamic programming problems to be solved.
We implement the following algorithm: 1 determine the maximal consistent set of current o ers and sold items that also leave enough time for travel across those dispatch territories without suitable times. 2 for each maximal set, use dynamic programming to determine minimal-cost routes in the gaps of the schedule, i.e. for those contiguous sequences of dispatchers for which the train is not currently holding a suitable pair of entry and exit times. 3 ll the gaps and select the solution with the lowest total 5 We have finessed detail about the time to travel across yards between dispatch territories, which is simply incorporated into the recursion.
cost including the cost for current o ers sold items used in the solution. Whenever a gap occurs at the start or end dispatcher on a train's route the train considers tradeo s between bid price and the cost of o -schedule performance for o -time departure and or arrival times.
Finally, given a solution a train will submit as many bids that are consistent with the solution as possible, making use of XOR logic and constraints on times to submit multiple bids without compromising the solution. This increases its own likelihood of success, and also helps the dispatchers to coordinate joint search across multiple agents.

EXPERIMENTAL RESULTS
We ran experiments over networks consisting of linear chains of dispatcher territories. Our goal was to compare the quality of nal schedules and the computational properties of the auction-based and centralized solutions. Both the global MIP formulation and the MIP for winner-determination in each round of the auction are solved with CPLEX. The rest of the code myopic best-response, price-updates, etc. was written in C++.

Dispatcher model
Each dispatcher territory has the same network structure, as depicted in Figure 1. The total distance is 157.5 km, consisting of a single-track section followed by a double-track section siding followed by a single-track section. When chaining dispatcher territories together we connect them with yards. Trains have a maximal speed of 100km hr over single-and double-track sections, and 1km hr within a yard. For simplicity, w e model maximal speed as 100km hr throughout the network and re-scale yards from size 0.5km to a model length of 50km.

Example Problem
Consider a problem with a chain of two dispatchers, and 7 trains, each with value $200 and cost $50 per hour of delay. Trains 1, 2, 4, 5, and 6 run east with optimal departure and arrival times in hours of f 1,7,3,11,8,16,11,19,10,17 g, while trains 3 and 7 run west with optimal times f 1, 7, 12, 18 g. Given a maximal speed of 100km hr the free-running time of a train across the network is 3.66 hr, i.e. this is how long it would take a train with no delays.
The auction-based and centralized solutions to this problem are illustrated in distance-time charts in Figure 2. Both solutions nd optimal solutions, with value $1400 all trains run on-time. This problem is quite under-constrained, with a n umber of possible optimal schedules.
Notice that the auction-based solution is less extremal than the centralized solution. This is quite typical, a result of the fact that train agents tend to bid less extreme times than those selected with a global LP-based branch &  bound method such as CPLEX, and achieve a more evenly paced schedule from source to destination. We w ould expect this property to make auction-based solutions more robust against unexpected minor delays during the execution of a schedule.

Results
The auction algorithm was parameterized as follows: at most 5 bids per-agent i n e a c h round, at most 240 seconds to solve winner-determination in each round with the best feasible solution used if the optimal solution is not found, a minimal price increment of $25. The price lattice was maintained over points with a granularity of 0.2 hrs, and we used a time interval size of 0.3 hrs in the trains' dynamicprogramming algorithm.

Problem Generator
We propose a stochastic method to generate a set of problem instances. Our approach is loosely based around instances in Kraay et al. 7 . We refer the reader to Hallowell 5 for an account of other interesting train scheduling problem sets in the literature. In this paper we report results on problem sets with between 2 and 4 dispatcher agents and between 5 and 15 train agents. We consider linear networks, formed from dispatcher territories as shown in in Figure 1 and connected with yards. The problem sets are parameterized by constants: probE, V , V , C, C , dep max , slack and slack , as described below. All trains travel from end-to-end over the network, and travel East with probability probE. A train's value is selected from a normal distribution, Vi NV ; V , with mean V and standard deviation V , and its marginal cost Ci for o -schedule performance is normally distributed NC; C . The optimal departure time for a train, t d i, is uniformly distributed, t d i U0; dep max . Finally, a train's optimal arrival time, t s i, is computed so that the relative slack, i.e. available time -free-running time free-running time, is normally distributed with mean slack and standard deviation slack .
The complexity of a train-scheduling problem depends on many factors, including the slack time available to each  train, the network section types, and the number of crossovers". We count a cross-over whenever two trains traveling on-time must cross at some point in the network. As we scaled the problems, with more train agents and more dispatcher agents, we adjusted the dep max parameter to maintain the same number of average cross-overs per-agent, in an e ort to maintain a similar problem complexity. An appropriate dep max value was computed separately for each problem size based on statistical analysis. Without this adjustment, adding more trains and more dispatchers increases the number of cross-overs and makes problems much more di cult to solve.

Results
We tabulate results in Table 1, with the computation time of the centralized method bounded at 3600 secs at which point w e take the best available solution. 7 Notice that the quality of the schedule computed in the auction dominates that from the centralized solution in hard problems, as the number of dispatchers and or the number of agents increase.
The winner-determination time in the auction totaled over all rounds and all dispatchers has reasonable scaling properties, with the number of train agents and in particular with the number of dispatchers. The auction appears able to decompose the problem e ectively across dispatchers, such that most computation in terms of coordinating trains is performed by one critical" dispatcher.
It is noteworthy that the train agent best-response bidding problem is quite easy, indicating that we might experiment with a smaller discrete time step. Finally, notice that the simple cache proves quite e ective, nding the optimal solution around 50 of the time.
More experiments are required, both to better understand the average-case scaling properties of the auction, and also to look more deeply at agent strategies. Our current conjecture is that the average-case run time in the auction scales quadratically with the number of train agents, and perhaps sub-linearly with the number of dispatch territories. In terms of agent strategies, we suspect that some agents purchase times that they cannot use as the number of dispatchers increases, and as the bid coordination problem gets more di cult. This belief is based on a comparison of the revenue with value in the auction, see Table 1. If this is the case it will be necessary to consider more sophisticated bidding strategies to avoid this exposure problem. 8

RELATED WORK
This is not the rst study of auction-based methods for train scheduling problems. Brewer & Plott 3 , proposed the BICAP ascending-price auction for distributed train scheduling. Our auction is more exible: while we allow trains to construct arbitrary schedules across the network, BICAP restricts trains to bid from a small set of xed paths. Marketbased methods have also been advocated for other distributed scheduling problems, such as for airport take-o and landing slot allocation problems 11 .
Returning to centralized approaches to train scheduling, Kreuger et al. 8 have proposed a constraint-based method which appear to have better scaling properties than straight applications of MIP methods, but is perhaps less suited to making tradeo s across schedules with di erent qualities.
Wellman et al. 12 propose an auction-based method for a factory-scheduling problem, in which agents compete for periods of time on one or more shared machines. As in train scheduling, agents often require a combination of time periods, and perhaps across multiple machines. The train scheduling problem is di erent in nature because it is not possible to de ne up-front a static set of mutuallycompatible times, any o f which can be safely allocated to any agent. Instead, a feasible allocation of times to agents must be checked for a safe underlying meet pass schedule. Our approach is also rather di erent to that adopted by Wellman et al., since we a void imposing a discretization of time into nite slots, but allow agents to use a simple and expressive constraint-based bidding language.