A MAS architecture for dynamic, realtime rescheduling and learning applied to railway transportation

A MAS architecture for dynamic, realtime rescheduling and learning applied to railway transportation

Expert Systems with Applications 42 (2015) 2638–2656 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: ww...

2MB Sizes 0 Downloads 42 Views

Expert Systems with Applications 42 (2015) 2638–2656

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

A MAS architecture for dynamic, realtime rescheduling and learning applied to railway transportation Sundaravalli Narayanaswami a,⇑, Narayan Rangaraj b a b

Indian Institute of Management, Ahmedabad, Gujarat 380 015, India Indian Institute of Technology Powai, Mumbai, Maharashtra 400 076, India

a r t i c l e

i n f o

Article history: Available online 15 November 2014 Keywords: Conflict Deadlocks Disruption Dynamic priority Resolution Multi-agent system (MAS) Single-track bi-directional railway traffic Dynamic real-time rescheduling Learning

a b s t r a c t Rescheduling disrupted railway traffic is computationally hard even for small problem instances. Disruptions may not be known beforehand and can manifest themselves even when trains are en-route, and they are usually resolved by human experts. Wide geographical distribution, a dynamically changing environment, complex interdependencies between multiple components, operational criticality and uncertainty being characteristic of railway transportation, human resolutions are inconsistent, scale-inefficient and potentially infeasible with deadlocks. We present a multi-agent system (MAS) model for dynamic and real-time rescheduling (DRR) of bi-directional railway traffic on a single track in this paper. A computational framework to dynamically dispatch the disrupted trains in real-time, based on instantaneous system parameters and to reschedule conflicting trains with inherent deadlock avoidance is incorporated in the agents’ model. A learning architecture is implemented as a proof-of concept to resolve disruptions quickly and to enhance autonomy. The model is evaluated against integer optimal solutions generated by a Mixed-Integer Linear Programming (MILP) model using realistic data. Detailed discussions on architecture, implementation using JADE (Java Agent DEvelopment) toolkit, experimental results, performance analysis, evaluation of the model, insights and limitations are reported. The numerical performance measures of the model are total weighted delay of all trains at their destination terminals and computational time for resolution. The distinguishing research contributions in this paper are a MAS architecture for railway rescheduling, dynamic dispatch priority assignment using bidding and a learning procedure that enhances autonomy. Ó 2014 Elsevier Ltd. All rights reserved.

1. Introduction Railway transportation services are planned meticulously and are often published in a timetable well in advance as a commitment of public service. A timetable tabulates arrival, departure times of trains and train orders at each halt location and is conflict-free. If a disruption occurs within the time and spatial domain of such a feasible schedule, it leads to service delay and at times to a conflict; conflict is a safety constraint violation, at which two or more trains demand to occupy a track segment simultaneously. Hence both train schedules and sequencing, which is the arrival and departure ordering at stations need to be modified. In heavy rail transportation, human dispatchers resequence and reschedule disrupted traffic. Disruptions are resolved using two different

⇑ Corresponding author. E-mail addresses: [email protected], [email protected] (S. Narayanaswami), [email protected] (N. Rangaraj). http://dx.doi.org/10.1016/j.eswa.2014.11.013 0957-4174/Ó 2014 Elsevier Ltd. All rights reserved.

approaches – a planned maintenance approach (prior to actual disruption occurrence), where schedules are modified earlier to disruption occurrence and at stations located before the actual disruption location or a rescheduling approach (as and when disruptions occur), where schedules are modified from the disruption location and instant of occurrence. Human dispatchers adopt a thumb rule approach to reschedule, and there are inherent drawbacks in their solutions. One is that they follow standard sequencing procedures such as FCFS, Maximum tardiness first, Early arrival at destination first etc., which is not effective in resolving all types of disruptions. Second, it is near impossible for human dispatchers to predict if a current resolution will lead to future delay and additional conflicts in the operational domain. In this paper, a multiagent system model to reschedule disrupted railway traffic is presented. The motivation behind our approach is to overcome some of the limitations of a human dispatcher’s thumb rule based resolutions. Dynamic decision making and real-time resolutions are two significant features of the multi-agents system presented in this paper and brief discussions are given below.

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Dynamic decision making: Dispatch decisions do not follow the standard sequencing procedures; rather dispatch priority is decided on a case-to-case basis, as and when disruptions occur.  A minor incident can cause either safety violations or a quality loss in objective and can make a planned feasible schedule ineffectual. Corman, D’Ariano, Pacciarelli, and Pranzo (2012a) report that human experts detect, resolve disruptions and restore the schedule, by deciding dispatch orders. Human decisions lack analysis of future impacts, consistency and accountability. Such dispatch decisions are likely to create deadlocks, when two or more trains demand track segments, mutually occupied by each other.  Effective computation is essential to prevent deadlocks and to maintain feasibility, consistency and convergence of disruption resolutions.  Deriving a feasible, conflict free reschedule and optimizing some performance objectives are most effective (Kraay & Harker, 1995) when schedule parameters that vary dynamically under a disruption are quantitatively applied in dispatch orders.  Modeling parameters of failure and consequences of failure in dispatch decisions minimizes deviations in schedule objectives according to Sahin (1999). Real time resolution: Resolutions must be quick enough for rescheduling to be effective in real-life situations, even for large problem sizes. Computational time should be minimized, by utilizing all available resources.  Computations must be fast in generating solutions so that disruptions are resolved in realistic time.  Railway rescheduling in practice is a large sized problem that demands huge computational resources. Resources that are diverse and dispersed can be utilized in a coordinated manner, if they are portable and inter-operable. Portability means that the applications allow execution on different platforms or operating systems. Inter-operability refers to the support and ease of data and applications transfer between diverse computational resources.  Constant human intervention is detrimental to real-time applications. Resolution methods need to self-invoke.  Railway scheduling rules are enforced strategically, though case-to-case modifications are sometimes necessitated. An extensible computational technique allows modifying the underlying constraints set and the scheduling logic with ease.  Future expansions in railway services demand an increase in the size of problem and data. Computational methods are more scale effective than human dispatchers so that performance quality is not affected by increase in problem size. Railway operational plans get disrupted quite often and it is essential to restore the services. The problem is addressed both in existing research and practise. Most of the existing literature consider the problem as a planned maintenance, in a way to prevent disruptions and conflicts, which does not reflect rescheduling challenges in reality. Human dispatchers reschedule disrupted trains in practice; solutions of which are difficult to validate and verify. The major significance of our approach is that it is an attempt to fill both the gaps. Restoration of disrupted traffic, as and when disruption occurs is the objective of the proposed model; Multi-agents systems in railway rescheduling generate valid computational solutions that are evaluated against other comparable techniques.

2639

The rest of the paper is organized as follows. Literature related to railway rescheduling approaches and agents based solutions are discussed in the following Section 2. This section is summarized with lacuna in existing contributions. In Section 3, the dynamic and realtime railway rescheduling problem is introduced with premises under which the resolution is proposed. Succinct definitions of generic terms, notation, specific to our model and an illustrative scope of the problem we address are also presented. We present our agents based solution as a conceptual illustration in Section 4. We summarize this section with how our model offsets limitations in current research and contributes to a novel dispatch procedure. The entire rescheduling procedure is described in detail in Section 5. Learning is a new attempt in this area of research and we have developed a learning agents based proof-of concept to enhance certain performance criteria. Our learning architecture is described in Section 6. Note-worthy features are mentioned briefly in both the above sections. Details of experimentation are presented in Section 7, followed by numerical results, analysis and evaluation against another comparable dispatch procedure in Section 8. Section 9 lists our experiential inferences and insights from this research work. We conclude the paper with our specific contributions, limitations of work and possibilities of future extensions in Section 10. 2. Literature review We discuss some published research in the areas of railway transportation and literature that address rescheduling using OR and distributed systems. Carey et al. (1995) proposed one of the earliest models for train pathing on a single track railway. They developed a Mixed Integer Programming (MIP) model to minimize cost associated with train arrivals and departures. A heuristic solution was proposed to path a new service on a single track network with the objective of minimizing arrival/departure costs and to preserve the arrival/departure orders of the scheduled trains. This approach can be adapted to reschedule disrupted services, when disrupted trains can be re-instated into the existing timetable as new services. Cai and Goh (1994) developed a MIP model for scheduling trains on a single track. Higgins, Kozan, and Ferreira (1996) proposed a mathematical model as a decision support tool to optimally dispatch trains in real time and as a planning tool to evaluate impacts of changes in timetable and infrastructure. Kraay and Harker (1995) presented an optimal model to schedule freights in real time and link the model with strategic solutions. Walker, Snowdon, and Ryan (2005) proposed a new model for the combined scheduling of trains and crew, and extended it to a disruption recovery model. Another rescheduling objective is to maximize utilization by increasing the number of passengers using a train service, proposed by Diaz, Gonzalez, and Gonzalez-Torre (1999). Sahin (1999) proposed a total delay minimization objective to resolve inter-train conflicts arising out of disturbance. Disturbance locations and time instants are specified and trains that conflict are identified. A dispatch precedence is decided using a proposed ranking heuristic among two immediately conflicting trains detected one after the other. Sahin (1999) subsumed that the number of future conflicts and the total future delay are key determinants to delay minimization. Cheng (1996) proposed a simulation based optimal traffic rescheduling by identifying the critical and non-critical paths in a schedule. Cheng (1998) developed a hybrid – network based and event driven simulation to resolve train conflicts. This approach is observed to be more efficient in dynamic environments. Perturbations in a single track schedule are handled as a discrete event based simulation and a local feedback based travel advance strategy by Dorfman and Medanic (2004). Other approximate conflict resolutions in railway applications are towards constraint propagation (Chiu, Chou, Lee,

2640

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Leung, & Leung, 1996), object oriented heuristic (Isaai & Singh, 2000), heuristic solutions at junctions (Ho & Yeung, 2001), genetic algorithm based approaches (Chang & Chung, 2005) and prototype based decision support system (Makkinga & Metselaar, 1998). Many approaches implement disruption handling as a planned maintenance activity, without considering disruption locations and thereby generating sub-optimal solutions. A methodology to decide rolling time windows for disruption duration is discussed in Tornquist and Persson (2007). Optimization models are proposed to draw integer solutions, that are train dispatch orders and heuristic procedures of several variations are applied further to compute the rescheduled arrival and departure times. Meng and Jia (2014) also adopt a rolling time window in rescheduling single trains. Corman, D’Ariano, Hansen, and Pacciarelli (2011) presented a multi-class priority based dynamic rescheduling model and formulated via alternate graphs and solved using branch and bound algorithm. D’Ariano and Pranzo (2009) reported ROMA based dispatching technique to reschedule disturbed traffic. To achieve computational tractability, they considered decomposition of huge problems using small time intervals with an objective of increasing punctuality. The ROMA (Railway traffic Optimization by Means of Alternative graphs) is a computerized train dispatching system for supporting railway traffic controllers during operations. Innovative scheduling and rerouting algorithms of ROMA help anticipate traffic evolution including delay propagation so that conflicts are resolved globally. Acuna-Agost, Michelon, Feillet, and Gueye (2011b) reported that minimizing the difference between a planned timetable and a rescheduled timetable is hard problem, to be solved as a Mixed-Integer Linear Programming (MILP). They presented an approach called SAPI (Statistical Analysis of Propagation of Incidents) to estimate the probability of an incident and to resolve disruptions using that probability. Meng and Zhou (2011) presented a rescheduling model for a single track railway transportation service using stochastic programming. Corman et al. (2012a) considered the rescheduling problem as coordinated operation between multiple regions, which is modeled beyond a dispatchers’ control. They reported that their approach is quick enough to be used in realtime operations. D’Ariano, Corman, Pacciarelli, and Pranzo (2008) presented other rescheduling strategies such as re-routing under different operational conditions and a realtime solution for such strategies. Corman, D’Ariano, Pacciarelli, and Pranzo (2010) presented another ROMA application using Tabu search algorithm for combined realtime rescheduling and re-routing. Corman, D’Ariano, Pacciarelli, and Pranzo (2012b) addressed the problem of dispatching disturbed traffic along with objectives of minimizing delays and missed connections using alternate graph theory and developed Pareto-optimal solutions. D’Ariano, Corman, Pacciarelli, and Pranzo (2008b) proposed flexibility of railway operations to optimally manage train traffic during operations. Flexible timetables and dynamic railway traffic management are introduced for the Dutch situation. Pachl (2011) discussed deadlocks in railroads, how deadlock avoidance models in Computer Science and Operations research are not suited to railroad operations and proposed a simulation based dynamic route reservation to eliminate deadlocks. Comprehensive discussions on railway operations are available as collections of rail transportation models (Assad, 1980), optimization models for routing and scheduling (Cordeau, Toth, & Vigo, 1998), and a review of models and algorithms for railway scheduling and sequencing (Tornquist, 2006). A more recent overview of recent rescheduling methodologies based on centralized and distributed approaches is presented in (Corman, D’Ariano, Pacciarelli, & Pranzo, 2011b). Disruptions can be handled in microscopic as well as macroscopic details and disruption resolution approaches varies from minor delays, partial cancelation, re-routing and so on. Binder, Chen, and Bierlaire (2014) have discussed about major disruptions and evaluation of

various approaches as trade-offs between customer satisfaction and economic feasibility. Kecman, Corman, D’Ariano, and Goverde (2013) have studied rescheduling of large networks at a macroscopic level to incorporate traffic management decisions. As the details of constraints and the number of constraints change, the impact of microscopic modeling decisions at the macroscopic levels gets more significant. Some macroscopic models have been developed and tested on Dutch railways as to understand tradeoff between computational time and solution quality. An agent based approach, where the train agents bid for entry and exit times is proposed by Parkes and Ungar (2001). In their model, dispatcher agent is the auctioneer who decides the winning bid for an entry/exit time using a mixed-integer program solved with an off-the-shelf optimization tool. Train agents compute the entry/exit times on the fly using best response bidding strategies and disruptions are resolved using a dynamic programming algorithm. Chen, Cheng, and Palen (2009) implemented mobile technology with the agents based approach for distributed traffic management. Wang (2005) discussed the control on-demand opportunity with agent based approaches and proposed the fundamentals of an agent based system architecture for networked transport management. Wang (2008) proposed an integrated approach for urban transportation. This is a framework that incorporates three approaches, artificial, computational and parallel operational control to effectively manage complex systems with social and behavioral dimensions. Flexible timetables to solve route conflicts between different train types in real-time by cooperative, multi-agent negotiation is presented in D’Ariano and Hemelrijk (2006). Meng and Jia (2014) have proposed rescheduling on a single track railway using fuzzy approaches. They have developed a dispatching solution both in stochastic and dynamic environments. Lamorgese and Mannino (2012) have proposed an exact solution approach to rescheduling disrupted traffic in realtime. Davidsson, Henesey, Ramstedt, Tornquist, and Wernstedt (2005) presented a collection of agent based approaches in transport logistics. Dollevoet (2013) has done an elaborate study on delay management and disruption handling in railways. Chen and Cheng (2010) present an elaborate review of applications of agent technology in transportation systems. The review covers agent applications in various transportation modes and discussions about MAS systems in traffic management. Existing literature propose standard heuristic or meta-heuristic procedures that do not address disruption specific dynamic traffic parameters and deadlock avoidance. Real-time and just-in time approaches, including agent based solutions are successfully applied in automatic train operations and airways, but have not been deployed in manually controlled railway rescheduling. The model proposed in this paper exploits certain advanced features of multi-agent system that are successfully applied to problems of similar complexity in other areas. The dispatch heuristic is constructive and ensures deadlock avoidance. 3. Dynamic and realtime railway rescheduling We introduce the dynamic and realtime railway rescheduling problem in this section, define problem premises and terminology used in our disruption resolution approach. Where applicable, requirements for practical applications are highlighted. 3.1. Problem description Given a conflict-free, feasible, bi-directional railway schedule between two terminals on a single track; trains run at different speeds on the track from one terminal (origin) to another (destination) terminal. Feasibility of schedule refers to confirming to safety

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

constraints, such as two trains cannot occupy a track segment simultaneously and there has to be a safe distance between trains that follow each other and that travel in opposite directions. Sidings (track segments of short lengths) are available at stations (scheduled halt locations) on the single track. Overtaking or crossing of two trains can happen only at stations where sidings are available. Let this schedule be en-route and a disruption manifests as a track segment unavailability for a specifically known timeinterval between two halt locations. Conversely, if a train is delayed at its origin terminal, the delay is also considered as track segment unavailability at that terminal. Implications of such disruption could be one of the following (i) no changes required in any train movements, (ii) delay of one or more trains, (iii) conflict situations when one or more trains demanding to occupy a track segment simultaneously, (iv) a deadlock when two or more trains demand track segments mutually occupied by each other. The problem is to generate a conflict-free, feasible, complete reschedule of all trains in the operational domain with a quantifiable performance objective. The most common objective of this problem is to restore the original schedule at all stations and terminals, such that arrival and departure times for all trains at each station are close to the scheduled times. The problem setting is a linear layout of single track bi-directional railway traffic, as illustrated in Fig. 1. Notation of data sets, parameters, decision variables and problem specific data is listed, followed by an illustration of deadlocks. 3.2. Problem premises  The track is linear with multiple halt locations; trains move from one source terminal to another destination terminal in either direction.  There is a single railway track between two terminals and multiple track segments called as loops (sidings) are available at halt locations.

2641

 The input to our model is a conflict free feasible schedule and so running times between every two halt locations and halt times at every halt location of all trains are known.  Minimum headways (time differences) are defined between any two consecutive arrivals and departures and also between two trains traveling in opposite directions at each halt location.  Headway intervals are inclusive of approach times imposed by signaling systems and blocking times for each train at each track segment. However different block signaling technologies can be incorporated in the model.  The proposed model is macroscopic at the present level of implementation and ignores speed profile characteristics of railway transportation, but is extensible to realistic situations.  Disruption resolution is by delay propagation of only those trains affected by disruption; other resolutions such as cancelation of partial or a complete traffic and re-routing are not considered by our model at present. Trains that are immediately not affected by disruption retain their original schedules. 3.3. Model specific notation and definitions The scope of our model is illustrated in Fig. 1 as a linear railway network of single track bi-directional traffic. Halt locations (or stations) are represented as S and there are N stations. Trains are represented as T and there are M trains. Trains traverse in two directions (i) from station 1 to station N and (ii) from station N to station 1. The former set of trains are termed as UP trains, TU and they are numbered from 1 to m. The latter set of trains are termed as DOWN (DN) trains, TD and they are numbered from m þ 1 to M. Between any two stations, there is a single track segment and multiple track segments (or loops) available within a station facilitate overtakes and crossings. Follow up is an operation where two trains travel in the same direction, one behind the other and overtaking is an operation where among trains that travel in the same direction, a train that lags while arriving at a station leads

Fig. 1. Single track railway network with N stations and bi-directional traffic of M trains. Narayanaswami and Rangaraj (2013)

Fig. 2. Illustration of deadlock on a single track railway segment with siding.

2642

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

when departing from the station. Crossing is an operation where two trains traveling in the opposite direction meet at a halt location and impacts the arrival/departure orders of meeting trains. Disruptions are resolved by delaying those trains affected by disruption, progressively with inherent deadlock avoidance. A deadlock situation is illustrated in Fig. 2. Track segments (1–2), (2–3) and (3–4) are on the main single track and (5–6) is the siding available between locations 2 and 3. Train A is on segment (2–3) and moves towards (3–4) and train B occupies siding (5–6) and moves towards (3–4). However track segment (3–4) is itself occupied by train B, which in turn moves towards track (2–3). This condition is called a deadlock and to resolve this, one of the three trains has to move backward, which is a very inefficient dispatch practice. The dispatch heuristic presented in this paper inherently avoids such a situation and we discuss that in detail in Section 5.6. The objective of disruption resolution is to minimize total delay duration of all trains at their destination terminals, by utilizing slacks and leeways available in the input schedule. Slack refers to excess time over and above the minimum safety headway requirement between two successive arrivals or departures or crossings. Leeway refers to excess time over and above the minimum running time of a train between two stations or the minimum halt time of a train at a station.

4. Conceptual illustration of DRR: a MAS architecture Agents approach has been successfully applied in air transportation, military transportation and intelligent road traffic monitoring. The two novel features in our MAS model to reschedule disrupted railway traffic are: (i) a heuristic is ingeniously incorporated in agents bidding scheme to meet a functional requirement of the problem in-hand and (ii) algorithmically, the capability to observe, learn, remember, identify useful pieces of information to be used at appropriate future instances for intelligent decision making is implemented as a proof-of concept. These two features enhance the autonomy and efficiency of the model and are notable advances in the area of railway operations modeling. The model is termed as a dynamic and real-time rescheduling model (DRR); dynamic, as the system exploits the system parameters at the disruption instance to dispatch ordering and real-time, as disruption is known and resolved just-in time. DRR includes two sub-systems or layers and is illustrated schematically in Fig. 3. The two layers are called the regulating layer, represented on the top left corner and the learning layer represented on the bottom right corner. All physical entities considered in our macroscopic model are represented as their agent counterparts and their functions and the communicated messages are denoted using arrows. A regulating layer is incorporated by four types of agents – Supervisor, auctioneer, train and station agents. A learning layer has two types of agents – learner and facilitator agents. Supervisor is the only agent in the system that is active at all times. The learning layer derives simple rules from the resolved conflicts and helps in enhancing the autonomy of an otherwise stand-alone rescheduler. When a disruption manifests itself, Supervisor verifies if a rule matches the disruption. If a rule matches, it avails that rule and quickly resolves the disruption. If a matching rule is not found, the Supervisor instantiates an auctioneer agent. The auctioneer detects the trains that conflict immediately because of the disruption and instantiates so many train agents for each conflicting train. Conflicting trains compete for earliest feasible departure from conflict location by bidding and auctioneer decides the winning bid. The Supervisor and the station agent reschedule all trains as per the bid allocations. The Supervisor also instantiates the agents in the learning layer. When a disruption is resolved, messages that denote the sequential actions of disruption resolution are converted into

re-applicable rules to be updated into a rule-base. The learner transforms each disruption resolution message into a rule format and updates that entry into a rule-base. When a new disruption occurs, the Supervisor queries the facilitator for an applicable rule. If the new disruption matches an earlier resolved disruption, the facilitator provides that matching rule to the system, so that the disruption is resolved quickly and efficiently. To be applicable in practical situations, a large railway network must be broken down into smaller networks called divisions and a division in turn is broken down into sections with a couple of stations on a linear railway track between two terminals. A single instantiation of DRR represents one section and a disruption that occurs in that section is detected, conflicting trains are identified and dispatched in an order that avoids deadlocks.

5. Regulating layer: system design and functionalities The rescheduling layer reschedules the disrupted railway traffic when a disruption occurs and known just-in time, with a performance objective of minimum total weighted delay of all trains at their respective destination terminals. Tasks performed by agents in this layer are (i) monitoring of railway service in real-time, (ii) sensing disruption occurrence, (iii) identification of conflicts, (iv) conflict resolution to achieve an optimal performance objective, (v) periodic communication of all messages that are either sent or received by every active agent in the regulating process to the learning layer, and (vi) generating a conflict-free reschedule. There are 4 types of agents in this layer and detailed descriptions of the four agents follow.  Supervisor: a Supervisor agent is the only agent in DRR, which is always active. Supervisor senses disruption occurrence, instantiates an auctioneer and a station agent, manages communication between agents in rescheduling and learning layers and coordinates the conflict resolution and reschedule generation.  Auctioneer: an auctioneer agent identifies conflicting trains for a particular disruption and remains active till that disruption is resolved. At the present level of implementation, only one disruption is handled by the Supervisor at a time; hence only one Auctioneer exists within a section, though multiple numbers of auctioneer agents (representing multiple conflicts) can be active in co-operation with each other. Auctioneer instantiates as many train agents as the number of trains that conflict. It also receives bids from train agents, decides the winning bid, the train that can depart at the earliest possible departure time from the conflict location and communicates those winning bids to the Supervisor.  Train: train agents compete with each other for an earliest departure time from the conflict location by proposing a bidding price. Bids (also known as dynamic rank) are computed dynamically using momentary system parameters of a train. Lowest bid value wins the auction and the corresponding train is assigned the earliest feasible departure time, by auctioneer.  Station: station agent typically represents all stations in a section and oversees that a disruption is resolved at all stations. It verifies that the proposed departure/arrival time of a train at any station conforms to system safety constraints. Station agents do not communicate directly with the auctioneer and train agents. When all trains are assigned conflict-free schedules, the station agent becomes inactive. Fig. 4(a) illustrates the functionalities of regulating layer of DRR. A flowchart representation of agent actions in the regulating layer is given in Fig. 6. In the subsections that follow, we discuss in detail

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Fig. 3. DRR – Problem and solutions domain: a schematic figure.

2643

2644

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

(a) Regulating layer

(b) Learning layer Fig. 4. System design of regulating layer and learning layer.

all tasks performed in the regulating layer by a walk-through of the flowchart steps that correspond to each task. The conflict detection and resolution procedures in this section follow the notation provided in Table 1. The proposed dispatching and rescheduling heuristic are based on relaxed constraints of the MILP model in (Narayanaswami & Rangaraj, 2013). 5.1. Conflict detection procedure Supervisor agent monitors the system continuously for a disruption occurrence. When a disruption occurs, an auctioneer is instantiated to detect trains that conflict due to disruption. It is presumed that disruption is defined in terms of location, moment and duration of occurrence. Any initial train delay is converted into an equivalent track unavailability and applied as a disruption to be resolved by the model. In Fig. 5, disruption is pictorially marked on a section of stations and train movements. On the X-axis, time units are marked and on the Y-axis, stations (or halt locations) are marked. The shaded portion in between fromLOC and toLOC and fromTime and toTime is forbidden for train movements. Six possible train movements in the UP direction are illustrated on this disruption scenario, named as Case 0, 1, 2, 3, 4 and 5. Of all these train movements, Case 0 and 5 are the only two

non-conflicting trains. The non-conflicting train movements are retained as per their original schedules. All the other four train movements need to be rescheduled, as they violate safety restrictions. When an auctioneer receives notification of an active disruption from the Supervisor, it receives exact values of fromLOC; toLOC; fromTime and toTime. The set of conflict trains are identified using the expressions given below to finally compute confi , which takes a value of 0 for a non-conflicting train and a value of 1 for a conflicting train. D is a large constant in the set of linear expressions given by (1a)–(1c), whose value is carefully chosen to reduce computational time. A more informative discussion on the ideal value of D is given in Carey et al. (1995). Conflict detection procedure follows steps A, B, C, E, F and H in the flowchart of Fig. 6.

atoLOC  fromTime 6 D  AU1i i

ð1aÞ

With reference to Fig. 5, if the scheduled arrival time of an UP direction train i at toLOC is less than fromTime, it is a non-conflicting train and the 0—1 decision variable AU1i is set to 0. This is illustrated as Case 0. For all other cases, when the arrival time of train i at toLOC is greater than fromTime, then AU1i is set to 1, as they are potentially conflicting.

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656 Table 1 Notation used in the multi-agent system rescheduling model. T: TU: TD: S:

Set of trains and TU and TD are two partition sets of T Set of UP trains, i 2 TU Set of DN trains, j 2 TD Set of meet points k 2 S Actual (rescheduled) arrival time of train i at meet point k

aki :

Actual (rescheduled) departure time of train i from meet point k

k

di :

Scheduled arrival time of train i at meet point k

aki : di :

Scheduled departure time of train i at meet point k

Tut ki :

Minimum travel time of UP train i to reach meet point k from meet point ðk  1Þ Minimum travel time of DN train j to reach meet point k from meet point ðk þ 1Þ Minimum halt time of train i at meet point k

k

k

Tdtj : k

Thi :

Minimum time difference between consecutive arrivals of follow-up trains i and j at k Minimum time difference between consecutive departures of follow-up trains i and j at k Minimum meet-time difference between trains i and j in opposite direction at k Weight of train i, in proportion to its operational importance Meet point where disruption starts Meet point where disruption ends Time at which disruption starts Time at which disruption gets over

HAkij : HDkij : HM kij : wi : fromLOC: toLOC: fromTime: toTime:

fromLOC

toTime  di

6 D  BU2i

ð1bÞ

With reference to Fig. 5, if the scheduled departure time of an UP direction train i from fromLOC is greater than toTime, it is a non-conflicting train and the 0—1 decision variable BU2i is set to 0. This is illustrated as Case 5. For all other cases, when the departure time of train i from fromLOC is less than toTime, then BU2i is set to 1, as they are potentially conflicting.

confi ¼ AU1i ^ BU2i

ð1cÞ

An UP direction train i is a conflicting train if both AU1i and BU2i are 1 and 0  1 variable confi is hence set to 1. As can be observed, Case 0 and Case 5 are the two cases of non-conflict trains, for which confi ¼ 0. All other cases are detected as conflicting trains. Using corresponding expressions for DN trains, conflicting train

2645

movements in the DN direction are detected. Consistency and block occupancy conditions detect conflicts that arise due to trains in opposite directions. For each conflicting train, a train agent is instantiated with the task of computing its bid price, to bid for the earliest feasible departure time from the conflict location. Train agents are instantiated only for those trains that conflict immediately and all other trains follow their conflict-free input schedules. If any future conflicts arise, because of the current resolution then it is considered as a new disruption to be handled by the Supervisor agent. Rescheduling layer acts only on those trains segregated as conflicting, thereby reducing the solution space and the number of computations to be executed by other agents. 5.2. Optimizing rescheduling objective and bidding process A distributed approach to railway scheduling using train and dispatcher agents is proposed by Parkes and Ungar (2001) and is discussed in detail in page 5 of Section 2. Bidding procedure in DRR is loosely based around Parkes and Ungar (2001)’s auction based decentralised train scheduling; computation of bids is inspired by certain key findings from Sahin (1999)’s rescheduling heuristics. Parkes and Ungar (2001) proposed a dispatcher agent that schedules trains within a territory and train agents that bid for entry and exit times at stations within this territory. Sahin (1999) reported that the number of future conflicts and the total future delay are the key determining factors in delay minimization. Decentralised approach in DRR draws from both; train agents in DRR bid, auctioneer agent decides winning bid, station and Supervisor agents reschedule all trains and generate a conflict-free reschedule. Several articles in railway operations (Sahin, 1999; Carey et al., 1995) point out that the dispatch order of conflicting trains determines optimization of rescheduling objective and Tornquist (2007) indicated that a non-standard dispatch order reduces the overall delay of all trains. Certain observations made from literature on railway transportation are considered in our bidding process and are listed below.  Sequencing (dispatch ordering) should depend on the operational importance of the trains.  Delay can be effectively minimized by utilizing the leeway and slack in the schedule, which are defined in Section 3.3.

Fig. 5. Conflict scenarios at disruption occurrence on a single track railway network. Narayanaswami and Rangaraj (2013)

2646

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Fig. 6. Flowchart of operations for regulating layer.

 The delay encountered by a conflict train at the conflict instance should be minimum.  Conflicting trains should be dispatched in the order that minimizes the number of future conflicts and the total future delay. The schedule has to be projected using each proposed dispatch order combinations to find out future conflicts and delays.

 The sequencing order of conflict trains should minimize the total delay of all trains at their destination terminals. Hence the bid value should be linearly proportional to delay. Train agents compete with each other for an earliest feasible departure time by bidding a price, which is computed with instantaneous system parameters at the conflict instance and location.

2647

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Further train agents do not have access to other trains’ data, and hence preferential manipulation of bid price is prevented and fairness in bidding is maintained. 5.3. Look-ahead dynamic ranking (LADR) heuristic for bidding A heuristic is formulated to compute bid prices of each conflict train and we term it as look-ahead dynamic ranking (LADR) heuristic. Parameters that contribute to the bid price rely on our observations listed in Section 5.2. The bid price quoted by a train agent in the regulating layer is a linear expression of the following factors: 1. Static priority (SP): this is the only factor which is time-invariant. It is pre-decided based on the relative importance of the train in the operational sector. 2. Critical ratio (CR): it is the ratio of the difference between the minimum free running time from conflict location to the destination to the difference between scheduled arrival time at destination and actual departure time from the conflict location. This is the reciprocal of the critical ratio in classical scheduling theory. This factor is an indicator of a train’s leeway to make up for the slack in schedule. 3. Myopic delay (MD): it is the immediate delay in the departure time of a train at the conflict location due to disruption occurrence. It can be less or greater than the disruption duration depending on the arrival time of the train at the conflict location and the time of occurrence of disruption. 4. Number of future conflicts (NFC): if a particular conflict train is dispatched, this number will indicate the number of trains that would conflict in future within the operational domain because of the present conflict resolution. 5. Total future delay (TFD): it is the total delay durations of all future conflicts that arise due to a present conflict resolution. If there are no future conflicts, the total future delay would be zero. The bid price of a conflict train is a weighted sum of all the above parameters, defined in such a manner that lesser the bid price, earlier is the departure time from the conflict location. The bidding price is a dynamic quantity as it is computed with the instantaneous parameter values of the conflict train. Sahin (1999)’s formulation decides the dispatch precedence between two immediate conflicting trains. The dispatch decision in DRR is determined by a single computation as a rank order based on sorted bid prices that can identify precedence decisions among multiple numbers of conflicts in a single step. 5.4. Bid computation procedure Each train agent computes a bid price that ranks it for an earliest feasible departure using the LADR heuristic procedure. As discussed in Section 5.3, bid price is a weighted combination of a train’s static priority, myopic delay, critical ratio, number of future conflicts and total future delay. These factors are termed as parameters and each train calculates its parameters and from the parameter values computes the bid price. The computational steps are given as follows:  Parameter calculation: Each conflicting train in i 2 I0 computes a set of parameters denoted as mij , where i 2 I0 and j ¼ 1 to 5. j is referred as dimension and mij is read as parameter of ith train in the jth dimension. Elaborating further, When j ¼ 1; mi1 : Static priority of train i. When j ¼ 2; mi2 : Myopic delay of train i. Myopic delay is lesser than disruption duration when the scheduled departure k time (di ) is greater than fromTime of disruption. It is more

than the disruption duration when the scheduled departure k time (di ) is less than fromTime of disruption at the conflict location. When j ¼ 3; mi3 : Critical ratio of train i. It is the difference between the minimum free running time from the conflict location fromLOC to the destination to the difference between scheduled arrival time at destination and actual departure time at the conflict location. When j ¼ 4; mi4 : Number of future conflicts of train i. It is presumed here that among all elements in I0 , a conflicting 0 train i will be the first to utilize the track resources when the conflict is resolved. In this case the modified schedule 0 of train i is projected over the complete schedule from that location and time instant. This parameter is the number of 0 future conflicts that could arise if train i is dispatched earlier than all other conflict trains. When j ¼ 5; mi5 : Total future delay is computed if the number of future conflicts found in the previous step is non-zero. It is the total delay caused by each of the future conflicts. For a conflict train assigned with a particular dispatch order, the complete schedule is projected over till the destination terminal. For each future delay that it can encounter, delay duration is deduced and totaled as total future delay.  Bid value computation: The bidding rank is calculated by each 0 conflicting train i 2 I0 and j ¼ 1; 2; . . . 5 using the expression given below. 0

rankði Þ ¼

XX wi0  mij ; i0

ð2Þ

j 0

where w0i is the weight of train i . In our current experimental setting, we have assigned two different weight parameters, based on the operational importance of the train. Bid computation is indicated by step I in Fig. 6. A train agent communicates the computed bid price to the Auctioneer agent and self-terminates. Self-termination of an agent when the assigned tasks are completed facilitates effective memory management and reduced computational overhead. 5.5. Winning bid decision making The auctioneer sorts all bid prices that are received in nondecreasing order of their numeric values. The sorted list of bid prices, along with their respective train numbers is communicated to the Supervisor. The winning bid decision is indicated by step G in Fig. 6. The Supervisor decides the minimum bid price as the winning bid and allocates the earliest possible departure time from the conflict location to that train which bids the least price. The next permissible departure times are consecutively allocated to the next trains in the sorted list. A note-worthy feature in this step is that a train with a larger number of future delays and future delay duration is given a higher bid ranking and hence has a lower dispatch precedence. In other words, trains with a smaller number of future delays and total future delays are pushed earlier out of disruption locations, than trains with higher bid ranks. 5.6. Rescheduling procedure Allocation of a departure time to a conflict train and subsequent rescheduling of all trains are performed by the Supervisor agent in co-ordination with the Station agent. A step-wise description of the rescheduling procedure is presented in this section. Let us denote a conflicting UP train as r that immediately follows a scheduled train i and the actual departure of train r from the conflicting station, say f

f is denoted as dr . The Supervisor and station agents reschedule train r in the following steps.

2648

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

5.6.1. Algorithm steps

f þ1

fromLOC ¼ f þ 1; fromTime ¼ dr

f dr

afr

Step 1: Let and denote the scheduled arrival and departure times of train r at station f, respectively. Actual rescheduled departure and arrival times should be greater than the scheduled values and till a feasible and minimum value is deduced, the algorithm iterates. This step is implemented through Expressions (3).

afr P afr

ð3aÞ

k dr

ð3bÞ

P

f dr

Step 2: The halt location following the disruption location f is denoted as f þ 1. Actual rescheduled arrival time of conflict train r at f þ 1 is deduced from the UP travel time of train r to reach location f þ 1 (Tut fr þ1 ) using expression (4). f

dr þ Tutfr þ1 6 afrþ1

ð4Þ

Step 3: Arrival headway constraints violations are checked for with an immediately previous train i at station f þ 1. The arrival headway constraints are given by expressions (5a) and (5b) for trains i and r as follows, where Hairf þ1 denotes the minimum time difference between the arrivals of two successive UP trains i and r at station f þ 1 and xfir is the 0—1 train flow variable. xfir ¼ 0, if train r arrives at location f þ 1 earlier than train i; xfir ¼ 1, if otherwise.

afr þ1 þ Hairf þ1 6 afi þ1 þ xfir  D

ð5aÞ

afi þ1 þ Hairf þ1 6 afr þ1 þ ð1  xfir Þ  D

ð5bÞ

(i) If the constraints are satisfied, Supervisor sends this rescheduled times to the station agent. (ii) Station agent validates the rescheduled times. If validated it sends an Accept message to Supervisor. Hairf þ1

ðarf þ1

aif þ1 Þ

reduces Hairf þ1  ðafrþ1  aif þ1 Þ from Tut fr , subject to the total travel time of train r to station f þ 1 confirms to its speed restrictions and verifies constraint on Step 3; if still not satisfied, new disruption is reported and defined as follows: f

toTime ¼

afr þ1 ;

toLOC ¼ f þ 1;

ð6aÞ ð6bÞ

Step 4: Departure Headway constraints are checked for violation with an immediately previous train i at station f þ 1. The departure headway constraints are given by expressions (7a) and (7b), where Hdirf þ1 is the minimum time difference between the departures of two consecutive UP trains i and r from station f þ 1. f þ1

þ Hdirf þ1 6 di

f þ1

þ Hdirf þ1 6 dr

dr di

ð8aÞ

toLOC ¼ f þ 2;

ð8bÞ

Step 5: The meet constraints given by expressions (9a) and (9b) are verified, where Hm rjf þ1 is the minimum time difference between the arrival/departure of UP train r and the departure/arrival of DN train j at station f þ 1 and yfrjþ1 is 0—1 the meet precedence variable. yrjf þ1 ¼ 0, if UP train r arrives at location f þ 1 earlier than departure of DN train j at location f þ 1; yrjf þ1 ¼ 1, if otherwise. f þ1

afj þ1 þ Hm rjf þ1 6 dr f þ1 dr

þ

Hm rjf þ1

þ

þ yfrjþ1  D

Tuftrþ2

6

afj þ1

  þ 1  yfrjþ1  D

ð9aÞ ð9bÞ

(i) If the constraints are satisfied, Supervisor verifies if f þ 2 is the destination terminal for train r, then the algorithm terminates with a successful completion. If f þ 1 is not the destination terminal for train r then it finds out a least value for departure time from station f þ 1 using expression (10) and then proceeds to Step 1, after incrementing i and f. f

f

afr þ Thr 6 dr

ð10Þ

(ii) Station agent validates the schedule if not validated, it proceeds to the next step. f þ1 f f þ1 (iii) Station agent adds Hm  dr Þ to dr and verrjf þ1  ðaj ifies constraint on Step 5. If still not satisfied new disruption is reported as follows: f þ1

fromLOC ¼ f þ 1; fromTime ¼ dr ; toTime ¼

afr þ2 ;

toLOC ¼ f þ 2;

ð11aÞ ð11bÞ

f dr

(iii) Else station adds   to and verifies constraint on Step 3. If still not satisfied it

fromTime ¼ dr ; fromLOC ¼ f ;

toTime ¼

afr þ2 ;

f þ1

þ xfirþ1  D

ð7aÞ

f þ1

þ ð1  xfirþ1 Þ  D

ð7bÞ

(i) If the constraints are satisfied, Supervisor sends departure times to station agent for validation. (ii) Station agent validates the times and confirms that to Supervisor. f þ1 (iii) Else Station agent adds Hdirf þ1  ðarf þ2  aif þ2 Þ to dr and verifies constraint on Step 4. If still not satisfied new disruption is defined as follows and reported to Supervisor agent.

As can be observed from the above steps, the algorithm verifies travel time, halt time, headway and meet constraints and assigns departure time to a train if and only if consistency is confirmed. Since the heuristic takes up one train at a time to verify consistency, the procedure is constructive and inherently avoids deadlock. Tentative future schedules are drawn by projecting an immediate dispatch order until all trains reach their respective destination terminals. The rescheduling procedure is indicated by steps N, J and K in Fig. 6. The above procedure terminates at any of two conditions, (i) a successful completion (step O in Fig. 6) and (ii) a new disruption (step L in Fig. 6). A similar procedure is implemented for DN trains also, with the constraints modified to represent the conflicting DN train r. The objective function of total weighted delay of all trains at their respective destination terminals is calculated and communicated to the learning sub-system. Agents communicate with each other using KQML (defined later in Section 6.2) messages and messages typically denote the starting of an execution and a completion of an execution. A copy of each message that is communicated within the rescheduling layer is sent to a learner in the Learning layer in a view to enhance autonomy of the system and implement intelligence as a proof-of concept in the system. The note-worthy feature of the rescheduling layer is the nonstandard, look-ahead dynamic ranking based dispatch procedure that detects conflicts, reschedules all trains iteratively to avoid deadlocks and is targeted at optimizing the performance objective of total delay durations of all trains. However at this stage of our research, proof to convergence to schedule feasibility has not been established.

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

6. Learning layer: system design and functionalities Learning layer enhances autonomy and intelligence of the system as a whole. Learner and facilitator are the two agents in learning layer; these two agents maintain two types of databases – a prospective rule-base and an applicable rule-base. When a new disruption is resolved by the regulating layer, learner agent receives messages from every agent of the regulating layer, identifies types of messages and appends a prospective rule base. A prospective rule finds entry into an applicable rule base if it has a minimum user support count. A disruption to the regulating layer is not processed through the regulating procedures if a matching rule can be applied directly from the learning layer. This case is

2649

represented as steps C and D in Fig. 6. At the present level of implementation, the learning layer can provision rules only for exactly matching disruptions. Pattern association in messages to match rules is performed by the APRIORI algorithm. It is one of the well-known and established algorithms proposed by Agarwal and Srikant (1994) in the context of data mining and we discuss it in details in Section 6.3. System design that illustrates the functionalities of learning layer of DRR is presented in Fig. 4(b). A flowchart representation of agent actions in the learning layer is given in Fig. 7. In the subsections that follow, we discuss in detail, the tasks performed in the learning layer over a walk-through of flowchart steps that correspond to each task.

Fig. 7. Flowchart of operations for learning layer.

2650

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

6.1. Process of learning Each message in DRR is composed of multiple fields. Messages received by the learner are decomposed into groups of fields called transactions and further into single field elements called as items and pattern association is performed to match items-equality. The measure of match is a user-defined input to the learner and it denotes the user support count at a particular confidence level. User support count refers to the number of times a transaction matches with another and the confidence level is the percentage of items that match in the transactions. For example, if a user specifies a measure of match of (1%, 100%), it indicates that all transactions of a test message should match those of an entry in the applicable rule-base and one such match suffices. Matching is applied in the learning process to make two different decisions. One is to decide if a particular disruption resolution is a candidate to generate a new applicable rule and second is to identify a rule from the applicable rule-base for resolving a new disruption. At the present implementation as a proof-of concept, both these decisions in DRR are made at 100% confidence level with a user count of 1, ie., to say as (i) If any disruption is resolved completely, a new rule is generated and appended to the applicable rule-base and (ii) An existing rule from the applicable rule-base is purveyed to resolve a disruption, if it exactly repeats an earlier resolved disruption. 6.2. Messages and log entries Supervisor agent in regulating layer communicates timestamped messages in Knowledge Query Mark-up Language (KQML) to the learning layer agents. The format of a message is :msg-ID, :Performative, :Sender, :Receiver, :msgContent. msg-ID is a unique ID value assigned to a message, Performative is a parameter that has attribute values to represent an agent action in the regulating layer. Sender and Receiver denote the names of sending and receiving agents respectively. msgContent includes the contents of the message in text format and the procedure of appending log entry in message base is represented as G, H and I in Fig. 7. 6.3. Generation of items

T13 :ct2, s1,s2,s3,s4, t3 T10 :s1,s2,s3,s4, t1,t2,t3 The above example is of a system with 4 stations and 3 trains. The minimum number of items in a transaction of this set is 7, with only stations and trains. A transaction with only station and train items and devoid of the other items ct and d is a conflict-free schedule (An example is T10). A prospective rule is an ordered list of transactions and is denoted as PR. A prospective rule has all transactions listed in their order of occurrence from one transaction that represents conflict-free schedule to the next transaction that represents conflict-free schedule. All prospective rules are uniquely identified as PR1; PR2; PR3,. . .. and populating the prospective rule base is represented as G, H, I, J and K in Fig. 7. 6.5. Pattern association Three different sets have been identified and created, Item; Trans; PR. Rewriting them,  Set of items: Item ¼ fs1; s2; s3; . . . ; t1; t2; t3; . . . ; d1; d2; . . . ; ct1; ct2; . . .g  Set of transactions: Trans ¼ fT1; T2; T3; . . .g, where each transaction set is a sub-set of Item = fs1; s2; s3; . . . ; t1; t2; t3; . . . ; d1; d2; . . . ; ct1; ct2; . . .g.  Set of prospective rules: PR ¼ fPR1; PR2; PR3; . . .g, where each prospective rule is a sub-set of Trans = fT1; T2; T3; . . .g. In the above expressions, Item; Trans; PR are infinite sets and sets, T1; T2,. . ., PR1; PR2,. . .are finite sets; Also Trans and PR are essentially ordered lists. Pattern association rules from the APRIORI algorithm implemented by Agarwal and Srikant (1994) are quoted here and are applied in the learning procedures. 1. Consider two transactions, Transx and Transy , such that T Transx a conflict-free schedule, Transy represents Transx  Item and Transy  Item. 2. Then conclude Transx ) Transy 2 PR with a confidence of c%, iff c% of transactions in PR that contain Transx also contain Transy . 3. Conclude Transx ) Transy 2 PR with a support of s%, iff s% of S transactions in PR contain Transx Transy .

Each field entity of a message is considered as an item with attributes. Examples of items are disruption (defined by its location of occurrence, starting time and finishing time), station (defined by its location, number of loops, capacity and directions of loops), trains (at a defined location at a defined time) etc. Groups of items define the system parameters. Items are denoted as a set Item, which includes elements of different types. The types of items in DRR are station, train, conflict train and disruption denoted as s; t; ct and d respectively. The procedure to check if a set of messages has resolved a disruption is represented as G, H, I and J in Fig. 7 and steps I and J are iterated until a disruption is resolved.

The APRIORI algorithm presented here is used to associate transactions of the same type in a prospective rule and to identify those sets of transactions with a minimum user support. The notation of APRIORI is given in Table 2. minsup is the minimum user support, an input to be given. PR database is an input to the facilitator agent and generated by the learner agent.

6.4. Transactions construction and prospective rules

Table 2 Notation used in Algorithm APRIORI.

A transaction is defined as a group of items in APRIORI algorithm. A message or log entry of items and attributes is mapped as a transaction in the learning layer. Each transaction has a unique ID and a set of Transaction is denoted as Trans and transaction elements are denoted as T1; T2; T3; . . .. An example transaction set is given below: T10 :s1,s2,s3,s4, t1,t2,t3 T11 :d1, s1,s2,s3,s4, t1,t2,t3 T12 :ct1,ct2, s1,s2,s3,s4, t3

k-Transactions set

A transaction set having k-items

Lk

Set of k-transactions set (Those with minimum support) Each member has 2 fields: (1) Transactions set and (2) Support count Set of candidate k-transactions set (Potentially large sets) Each member has 2 fields: (1) Transactions set and (2) Support count Set of k-Transactions set when the T-IDs of the

Ck

Ck

generating transactions are associated with candidates

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

6.7. Applicable rule selection and provision

apriori ( ){ 1) L1 = {1-transaction sets}; 2) for (k = 2; Lk1 – 0; k++) do begin 3) C k = apriori-gen(Lk1 );// New Candidates 4) forall transactions t 2 Prospectiv eRulesSet do begin 5) C t = subset(C k , t);// Candidates contained in t 6) forall candidates c 2 C t do 7) c.count++; 8) end 9) Lk = c 2 C k | c.count Pminsup 10) end S 11) Answer = k Lk ;} The apriori-gen($L_{k1}$) procedure is given below. apriori-gen($L_{k1}$){ insert into C k select p:item1 ; p:item2 ; . . . ; p:itemk1 ; q:itemk1 from Lk1 p ; Lk1 q where p:item1 ¼ q:item1 ; . . . ; p:itemk2 ¼ q:itemk2 ; p:itemk1 < q:itemk1 ;}

The above algorithm considers two transactions sets L and a prospective rule base say (PR) and has to populate another new transaction set C k , with a specified measure of match. Each transaction in L is compared with each transaction in PR and based on the confidence interval, a subset C t is formed. If cardinal of C t is at least the minimum user support count, then C k ¼ C t . Few examples are discussed below. Let us presume that there are 2 prospective rules PRa and PRb and each is effected using exactly 10 transactions. If all the 10 transactions of PRa and PRb are exactly same, then PRa has a match in PRb with a confidence level of 100% and a user count of 1 and vice versa. If PRb has 9 out of the 10 transactions to be exactly same as the transactions of PRa , then PRb has a match in PRa with 90% confidence and a user count of 1 and vice versa. In that case now let us presume that there is one more prospective rule PRc with 8 transactions and all these 8 transactions are exactly found in PRa and PRb . Then PRc has a match in PRa and PRb with 100% confidence and user support of 2. Also prospective rule PRa has 80% match in PRb and PRc with user support 2 and 90% match in PRb with user support 1. Confidence level of match for a prospective rule is the percentage of its total transactions that are identified in other prospective rules and the number of such prospective rules is the user count. It can be interpreted that if the confidence level is less, a larger user count is essential for a good match and a user count of 1 is a good enough match with 100% confidence level. The pattern association procedure to identify entries with a specified user support count is represented as G, H, I, J, K and L in Fig. 7. 6.6. Applicable rule generation The learning layer generates applicable rules such as if a conflict occurs at location l and x and y are the conflicting trains, then x is the train which is dispatched at the earliest possible time with a good match.

R1 2 PR : T10; T11; T12 ! T13

2651

ð12Þ

This applicable rule is generated only if a PR = {T10; T11; T12; T13} has a minimum user support. The above rule translates as If from a transaction state T10, a disruption T11 occurs and conflict trains are those as given by T12, DECIDE that the train as mentioned in T13 is dispatched earlier. The facilitator also provides the complete reschedule after conflict resolution. This procedure is represented as G, H, I, J, K, L, M, N and O in Fig. 7.

When a new disruption occurs, the Supervisor agent communicates this new disruption to the Facilitator in the learning layer. Facilitator searches the applicable rule base for a matching rule for this disruption represented as a transaction. If a transaction in the applicable rule base represents disruption and matches items-wise the new disruption with a specified user support count and a specified confidence level, a rule match has been found. The consequent attached to that applicable rule is supplied to the Supervisor as a decision rule. This applicable rule is communicated as a KQML message and this procedure is denoted as A, B, C and F in Fig. 7. If no existing applicable rules match with the new disruption, facilitator denies rule to the Supervisor. Regulating layer then takes control of the disruption handling procedures and the scheme of actions follow A, B, D and E in Fig. 7. The learning layer at the present level of implementation is a proof-of concept. Learning theory is an evolving field of research and it has not been proposed before to this detail in other areas and particularly in railway operations. Major contributions of learning applied in this problem is quicker solutions and increased autonomy of the system. 7. Implementation using JADE agent tool-kit The MAS model consisting of the rescheduling and the learning layer was implemented using a open-source agent tool kit. Java Agent DEveloper(JADE) (Giovanni, Bellifemine, Trucco, & Ramassa, 2007) toolkit is used to develop the agents in the two layers and few other agents for support services (RMA, DF and others). 7.1. Rescheduling with regulating layer Regulating layer is activated to resolve a disruption when no matching rule exists in the applicable rule base. Brief descriptions of agent messages in the regulating layer in resolving a disruption are tabulated in Table 3. A new disruption invokes the SupervisorAgent using FAILURE message through the RMA. SupervisorAgent sends this disruption as PROPAGATE to the facilitator. Since a matching rule for this disruption is not available in the applicable rule base of the facilitator, it responds with a REFUSE message. Now the SupervisorAgent invokes the regulating layer through an INFORMðNEWÞ message to the auctioneer agent. Auctioneer identifies the sets of trains that conflict for this disruption and using the RMA it invokes so many numbers of train agents using the CFPðQTEÞ construct. This performative is called as Call for Proposal for quote, hence it is CFPðQTEÞ. Train agents submit their bids to auctioneer which in turn identifies the winning bid as the minimum quoted bid value from all train agents. This winning bid or the dynamic rank of the train is proposed to the SupervisorAgent using a PROPOSEðWINÞ performative. The SupervisorAgent inquires feasibility of resolution to the station using QUERY_IFðOK?Þ. Station agent acknowledges the SupervisorAgent with a AGREEðYESÞ construct. All these messages are marked a copy to the learner and when this disruption is resolved, the learner agent sends a SUBSCRIBEðaddÞ construct to the facilitator with the time-ordered messages. Facilitator formulates a new rule for the resolution, updates the applicable rule base and confirms the new rule addition to the Supervisor with a CONFIRMðþedÞ. 7.2. Rescheduling with learning layer Resolution is performed through learning layer, if pattern association rules are confirmed between a new disruption and an applicable rule base entry. Brief descriptions of agent messages are

2652

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Table 3 Sequence of agent messages when no matching applicable rule exists. Sender

Receiver

Performative

Actions

RMA SupervisorAgent Facilitator SupervisorAgent Auctioneer Train Auctioneer SupervisorAgent Station Learner Facilitator

SupervisorAgent Facilitator SupervisorAgent Auctioneer Train Auctioneer SupervisorAgent Station SupervisorAgent Facilitator SupervisorAgent

FAILURE PROPAGATE REFUSE INFORMðNEWÞ CFPðQTEÞ INFORMðBIDÞ PROPOSEðWINÞ QUERY_IFðOK?Þ AGREEðYESÞ SUBSCRIBEðaddÞ CONFIRMðþedÞ

Supervisor is informed of a new disruption Supervisor inquires with facilitator if an applicable rule is available Facilitator denies applicable rule availability Supervisor informs new disruption to auctioneer Auctioneer instantiates train agents and invites call for bid proposals Train agents submit bid values to auctioneer Auctioneer submits winning bids to Supervisor Supervisor queries if the proposed dispatch order may be confirmed Station agents confirms the proposed dispatch order Learner informs facilitator that reschedule is completed and a new applicable rule may be formulated Facilitator confirms that a new rule is appended to applicable rule base

tabulated in Table 5. SupervisorAgent sends a PROPAGATE message with the disruption details to the Facilitator in the learning layer. The facilitator checks for a matching rule from the applicable rule base and responds to the Supervisor with a CONFIRMðRULÞ message and the SupervisorAgent publishes the reschedule. Disrupted railway traffic is rescheduled using agents approach under two conditions; (i) when a matching applicable rule is not available and regulating layer is triggered into actions and (ii) when a matching applicable rule is available and learning layer is enforced into actions. All agents in the system are autonomous and require no external invocation. Computations are sufficiently quick in the order of 200 s when regulating layer is in action and 28 s when learning layer is in action. However at the present stage of implementation new rules are generated for a user support count of 1, which corresponds to exactly matching disruptions. 8. Empirical results and evaluation The MAS model is evaluated using three measures: (i) feasibility, (ii) solution quality and (iii) computational time against integer optimal solutions generated by a MILP model (Narayanaswami & Rangaraj, 2013). CPLEX solver was used to solve the MILP model. Computations were performed on a Pentium-IV processor with 512 MB RAM and 80 GB HDD, running on Ubuntu Linux 10.4. Test data was chosen from a part of real-life section schedule from the Indian railways. The operational domain has 15 stations and trains travel in either directions through all stations, from 1 to 15 and 15 to 1. All 12 trains in this section are scheduled to travel from 0:00 h to 04:15 h in the given input schedule. Disruption set was manually created in a wide range of (i) locations, (ii) moments of occurrence and (iii) durations to experiment with the MAS-DRR architecture and a few key results are reported in this section.

DRR is less than 25 s, when regulating layer is in action; with resolving a matched disruption using the learning layer it is less than 2 s. 8.2. Resolving of disrupt ID 5 in Table 4 One instance of Table 4 is taken up for a detailed discussion in this subsection. Disruption ID 5 is represented on a conflict free input schedule in Fig. 8(a) with a major time unit denoting one hour duration on the X-axis and station locations as proportionate scaled distances on the Y-axis; a diagonal running line denotes train movement. In Fig. 8(a) a small rectangular portion at the center between stations KIM-KSB (indices 7 and 8) denotes a disruption of 0:20 min duration, when the track is not available for useful traffic during the specified duration. Fig. 8(b) plots the reschedule generated by the MAS model. The disruption duration is for 20 min from 01:25 h to 01:45 h between stations KIM and KSB and schedules of three trains 2902, 9005 and 2903 are affected by this disruption. Reschedules in both procedures are restricted to k k the minimum travel (TTukij and TTdij ) and halt time (Thi ) constraints and minimum arrival, departure follow-ups (HAkij and HDkij ) and meet headway (HM kij ) constraints as specified in Section 5.6. The weight (wi ) reflects a train’s static priority and wi assigned to trains 9311, 9143, 9005, 2903, 9007, 9271, 9018, 9144, 2904, 2902, 9008 and 9006 are 1, 1, 1, 7, 7, 7, 1, 1, 1, 1, 7 and 7 respectively. Dynamic ranks of the conflicting trains 9005, 2903 and 2902 are computed as 27.35, 27.92 and 27.30 respectively. DN train 2902 is assigned the earliest feasible departure time and the rescheduling procedure is iteratively applied till all trains reach their destination terminals. The total weighted delay for the DRR resolution of Disruption ID-5 is 166 min and CPLEX is 101 min. 8.3. Analysis of results

8.1. Numerical results Key results of rescheduling a few select disruption scenarios generated for a duration ranging from 0:00 h to 3:20 h are tabulated in Table 4. Disruption details, numerical results of total weighted delay at destination and computational time using CPLEX solver and DRR are tabulated. The table is read as follows: The first column is for disruption ID and duration of disruption in braces. The second column is the conflict location represented by two station names and their indices. Disruption occurs between these two stations. The third column indicates number of trains that conflict and static priority distributions among conflict trains; two levels of priorities are assigned to trains, a high and a low priority, though in practice more numbers of priority levels may be assigned. The fourth column records the objective values of total weighted delay at destinations for the reschedules generated by DRR and solutions obtained using CPLEX solver. The last column records the computational time taken by the two methods. Computational time in

An MILP model to reschedule disrupted railway services was resolved using a GLPK solver (Makhorin, 2006) in (Narayanaswami & Rangaraj, 2013); this MILP model was solved using CPLEX solver and CPLEX solutions were used to evaluate the agents based model. We initialised the following parametric settings in the CPLEX solver; dynamic search was applied to obtain integer optimal results from the LP relaxation model and a combination of probing, Branch and Cut, Clique, Cover, MIR, Gomory parameters was employed. Both DRR and CPLEX solver resolve conflicts that arise out of all types of disruptions. Of several problem instances that were tested, 24 key results are reported in Table 4. The objective value of total delay is smaller in CPLEX solutions for many reported problem instances. Both the mathematical and the agents architecture need to be tested with more stringent and actual problem instances and fine tuned for deployability. Computational time is mainly determined by

2653

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656 Table 4 Total Weighted Delay at Destination: DRR and CPLEX solver. Disrupt ID/Delay

Conflict location

Conflict trains/priority

Total weighted delay at destination in minutes

(hrs:mins)

(indices)

(high:low)

DRR

CPLEX

DRR

CPLEX

1 (0:00)

GTX-SYN (4–5) GTX-SYN (4–5) GTX-SYN (4–5) KIM-KSB (7–8) KIM-KSB (7–8) SYN-KDSD (5–6) HAT-PAO (9–10) IBH1-SNJL (11–12) AKV-IBH2 (13–14) KDSD-KIM (6–7) PAO-IBH1 (10–11) AKV-IBH2 (13–14) HAT-PAO (9–10) SYN-KDSD (5–6) IBH1-SNJL (11–12) KSB-HAT (8–9) HAT-PAO (9–10) SYN-KDSD (5–6) KDSD-KIM (6–7) PAO-IBH1 (10–11) KSE-GTX (3–4) URN-KSE (2–3) KIM-KSB (7–8) KSE-GTX (3–4)

0 (0:0)

0

0

15.5

0.59

1 (0:1)

3

2

17.82

0.26

1 (0:1)

5

5

19.46

0.38

2 (1:1)

20

112

18.37

0.33

3 (1:2)

166

101

21.96

0.36

3 (3:0)

525

420

24.35

0.64

2 (0:2)

70

32

20.51

0.25

2 (0:2)

80

791

19.27

1.51

3 (3:0)

1512

1022

24.02

0.50

3 (0:3)

190

197

20.02

1.42

6 (2:4)

1400

2794

23.86

1.61

2 (2:0)

1274

1757

22.38

0.42

6 (2:4)

1447

6432

23.43

0.97

3 (3:0)

1500

927

19.25

4.66

3 (3:0)

1988

1092

20.36

0.58

3 (3:0)

2464

2296

24.2

0.52

8 (5:3)

9492

10684

24.75

2.15

4 (4:0)

2660

1512

27.14

0.87

8 (1:7)

844

1771

23.84

0.27

10 (5:5)

12245

13345

25.45

7.1

12 (5:7)

7481

8535

26.42

8 (4:4)

4194

3564

25.8

0.75

9 (5:4)

5782

6286

25.04

1.54

11 (4:7)

3283

4461

26.12

32.87

2 (0:03) 3 (0:05) 4 (0:10) 5 (0:20) 6 (0:25) 7 (0:35) 8 (0:40) 9 (1:05) 10 (1:10) 11 (1:40) 12 (1:40) 13 (3:20) 14 (1:20) 15 (1:40) 16 (2:00) 17 (5:00) 18 (1:10) 19 (2:10) 20 (6:40) 21 (4:58) 22 (2:30) 23 (3:21) 24 (3:20)

Computational time in seconds

21

Table 5 Sequence of agent messages when a matching applicable rule exists. Sender

Receiver

Performative

Actions

RMA SupervisorAgent Facilitator RMA

SupervisorAgent Facilitator SupervisorAgent Auctioneer

FAILURE PROPAGATE CONFIRMðRULÞ INFORM

Supervisor is informed of a new disruption Supervisor inquires with facilitator if an applicable rule is available Facilitator confirms applicable rule availability Auctioneer is informed that no actions need to be taken

how quick the solver is able to generate the first feasible LP relaxed solution. Dynamic search is applied as the primal heuristic and redundant column variables were considerably reduced by presolve procedures. Computational time of CPLEX solver is smaller than that of agents model in all problem instances. It should also be noted that some (harder) problem instances require a very large computational time in CPLEX; whereas all problem instances are solved in almost uniform time in the

agents model. Therefore we interpret that the agents model is better scalable in handling large sizes of the proposed problem than the CPLEX solver. 9. Emprical inferences Based on observations and empirical analysis of the set of inputs and outputs, the following inferences are drawn.

2654

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

Fig. 8. Disrupted railway traffic and rescheduled by the MAS model.

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

 Static priority indicates the operational importance of a train. However it is observed from the set of experiments conducted, that some best resolutions over-ride the static priority. A dynamic dispatch ordering heuristic is proposed in the MAS based model and significant reduction in total delay is observed in a few problem instances.  The problem is too complex to make indisputable remarks on the efficiency and performance of the agents based model; however based on experiments conducted on a Pentium-IV processor with 512 MB RAM and 80 GB HDD on Ubuntu Linux OS and within the number of inputs and outputs, the following inferences are made. (i) Total weighted delay at destination of the MAS model is smaller than that of MILP solutions in 50% of the reported problem instances. In a few instances, the total delay is as small as 1/5th or 1/10th of the best feasible solutions obtained by the CPLEX solver. (ii) Computational time with the MAS regulating layer is an average 22 s for all reported problem instances; whereas the MILP solver takes huge computational time for certain instances. (iii) When a previously resolved conflict and hence a matching rule exists in the applicable rule base, the time taken by the MAS model reduces to 2 s.  When higher number of trains conflict and disruptions are of large duration, the objective value of total weighted delay is large.  Incorporating learning in the MAS framework enhances system autonomy; however regulating sub-system itself does not require any external invocation, other than an active disruption.  Higher levels of uncertainty can be handled by the learning layer for quicker resolutions. The degree of uncertainty handled by the learning layer and resolution speed of regulating layer depend on operational criticality requirements.  Irrespective of the problem size, computational time of the MAS model is almost uniform for all problem instances, which is an evidence of scalability. 10. Contributions, limitations and conclusions Resolving disruptions and rescheduling disrupted real-life railway traffic are large, complex and hard problems to solve without decomposing them into smaller sub-problems. Significant dependencies and dynamic interactions between the sub-problems make it nearly impossible for human dispatchers to resolve disruptions, avoid deadlocks and to offer consistent and verifiable resolutions. Several heuristic and meta-heuristic approaches have been proposed to aid human dispatchers; lacunae in existing literature are at two fronts. One is that resolutions are based on static and standard dispatch procedures, that do not address the instantaneous problem variables. Second is that just-in time disruptions have not been successfully resolved. Through this paper we present a MAS based dynamic, realtime rescheduling model that proposes a look-ahead ranking bid to dynamically dispatch conflict trains and to reschedule conflict trains iteratively to avoid deadlocks. Our major contribution towards railway rescheduling practices is that we developed and proved that a non-standard and dynamic dispatch order based on instantaneous problem characteristics can help achieve a superior performance objective through empirical evidence. Importance of a dynamic dispatch procedure has been identified and reported in a number of earlier publications (Acuna-Agost, Michelon, Feillet, & Gueye, 2011a; Kraay & Harker, 1995; Sahin, 1999; and Tornquist, 2006), but so far a formal model for a dynamic dispatch ordering has not been proposed in any existing literature. A very recent publication (Dollevoet, 2013)

2655

discusses that dispatch priority is vital for delay management and the difficulty in conflict detection during real-time disruptions. Two major limitations, as reported in the thesis work of Dollevoet (2013) are (i) the inability to detect conflicting trains, so that delay management can be performed only for those trains and (ii) failure to handle delay of long durations. Our paper presents both a mathematical and a meta-heuristic procedure using agents methodology for conflict detection of real-time disruptions and dynamic dispatching and rescheduling of only the trains that conflict. Moreover the dispatch and rescheduling algorithm is incremental and hence deadlocks are inherently avoided. Deadlocks handling (Pachl, 2011) is considered one of the biggest challenges in railway rescheduling; existing approaches either ignore deadlocks in rescheduling or adopt a deadlock detection and elimination approach which lead to inefficient restoration of transport services. Agents are developed and deployed in operational control of several unmanned systems in military, airways and shipping, to name a few. But agent approaches in railway transportation management are far and few between; the theoretical significance of our work is based on exploiting agent features to rescheduling disrupted traffic and incorporating learning in a complex transportation problem. We were able to develop an agents architecture for both and successively evaluate agents methods to rescheduling disrupted traffic. A rescheduling problem is NP-hard and so other programming paradigms require large computational time and resources. Significant features of agents approach is that agents are autonomous (they can execute on their own, without any additional initiation), scalable (computational time and resources are fairly uniform for all problem sizes), inter-operable (they support distributed layout of computational environments with different operating systems) and agents can offer a collective intelligence that is not evident in individual agents (better and quick dispatch decisions are made because of the look-ahead dynamic ranking procedure). Such features make agents approach an apt choice for a large real-world problem such as railway rescheduling. The other major theoretical contribution is conceptualization of learning algorithms in railway disruption management with complex inter-dependencies. Within the experimented set of inputs and outputs, DRR resolutions are found to be feasible, deadlock-free, scalable and with comparable objective values. A proof-of concept learning procedure is incorporated to enhance autonomy of resolutions. Through learning, resolution time also is considerably reduced for the few samples that we tested. Interestingly learning has not been incorporated in any other existing agent based solutions, even in other fields. A drawback of the agents approach is that valid testing procedures do not exist for most agent architectures. ie., It is extremely difficult to develop test cases and to test the correctness of the results of a fully agent based system. Therefore we adopted an error avoidance step by developing the entire system as an object-oriented model rather than an error detection or an error mitigation approach. All modules were later wrapped in an agent framework, after testing and validation of results obtained by the object-oriented model. A procedural limitation in the proposed MAS-DRR model is that for a given disruption duration or a number of immediately conflicting trains, the delay time limit for resolving all disruptions has not been deduced. In other words, the maximum number of trains that can be rescheduled feasibly within a time bound and applicability on a complex network has not been verified. Our continuing research is directed towards finding out a best, worst and most-likely scenario analysis in that regard. We hope that our studies will lead us to explore other rescheduling strategies such as cancelation or re-routing of services, which are not considered in this current work. Other interesting extended research are (i) incorporating other dynamic dispatch priority

2656

S. Narayanaswami, N. Rangaraj / Expert Systems with Applications 42 (2015) 2638–2656

directed at performance objectives such as minimizing largest tardiness, passenger convenience and (ii) towards modeling other complex traffic network layouts with double-track segments. The agents architecture proposed in this paper is an attempt to explore the applicability of agent solutions in a public transit system of huge global impact. At a micro level, to the best of our knowledge, problem specific dispatch procedures exploiting dynamic system parameters at the disruption instance, targeted at deadlock avoidance and learning schemes in disruption resolutions have not been presented in existing literature. These features lead to novel approaches in resolving one of the intriguing problems in railway transportation and further studies arising out of them. Our ongoing work is directed towards experimenting the MAS model with a large sized and more complex layout of the railway network. References Acuna-Agost, R., Michelon, P., Feillet, D., & Gueye, S. (2011a). A MIP-based local search method for the railway rescheduling problem. Networks, 57, 69–86. Acuna-Agost, R., Michelon, P., Feillet, D., & Gueye, S. (2011b). Sapi: Statistical analysis of propagation of incidents. A new approach for rescheduling trains after disruptions. European Journal of Operational Research, 215(1), 227–243. Agarwal, R., & Srikant, R. (1994). Fast algorithms for mining association rules. In In 20th VLDB conference, Santiago, Chile. Assad, A. A. (1980). Models for rail transportation. Transportation Research Part A: Policy and Practice, 14(3), 205–220. Binder, S., Chen, J., & Bierlaire, M. (2014). Generation and evaluation of passengeroriented railway disposition timetables. In 14th Swiss transport research conference, 2014. Cai, X., & Goh, C. J. (1994). A fast heuristic for the train scheduling problem. Computers and Operations Research, 21(5), 499–510. Carey, M., & Lockwood, D. (1995). A model, algorithms and strategy for train pathing. Journal of the Operations Research Society, 46, 988–1005. Chang, S. C., & Chung, Y.-C. (2005). From timetabling to train regulation-a new train operation model. Information and Software Technology, 47, 575–585. Chen, B., & Cheng, H. (2010). A review of the applications of agent technology in traffic and transportation systems. IEEE Transactions on Intelligent Transportation Systems, 11(2), 485–497. Chen, B., Cheng, H. H., & Palen, J. (2009). Integrating mobile agent technology with multi-agent systems for distributed traffic detection and management systems. Transportation Research Part C: Emerging Technologies, 17(1), 1–10. Cheng, Y. (1996). Optimal train traffic rescheduling simulation by a knowledgebased system combined with critical path method. Simulation Practice and Theory, 4, 399–413. Cheng, Y. (1998). Hybrid simulation for resolving resource conflicts in train traffic rescheduling. Computers in Industry, 35, 233–246. Chiu, C. K., Chou, C. M., Lee, J. H. M., Leung, H. F., & Leung, Y. W. (1996). A constraintbased interactive train rescheduling tool. In Principles and practice of constraint programming (pp. 104–118). Springer-Verlag. Cordeau, J. F., Toth, P., & Vigo, D. (1998). A survey of optimization models for train routing and scheduling. Transportation Science, 32(4), 380–404. Corman, F., D’Ariano, A., Hansen, I. A., & Pacciarelli, D. (2011). Optimal multi-class rescheduling of railway traffic. Journal of Rail Transport Planning and Management, 1(1), 14–24. Corman, F., D’Ariano, A., Pacciarelli, D., & Pranzo, M. (2010). A Tabu search algorithm for rerouting trains during rail operations. Transportation Research Part B: Methodological, 44(1), 175–192. Corman, F., D’Ariano, A., Pacciarelli, D., & Pranzo, M. (2011b). Centralized versus distributed systems to reschedule trains in two dispatching areas. Public Transport: Planning and Operations, 2(3), 219–247. Corman, F., D’Ariano, A., Pacciarelli, D., & Pranzo, M. (2012a). Optimal inter-area coordination of train rescheduling decisions. Transportation Research Part E: Logistics and Transportation Review, 48(1), 71–88. Corman, F., D’Ariano, A., Pacciarelli, D., & Pranzo, M. (2012b). Bi-objective conflict detection and resolution in railway traffic management. Transportation Research Part C: Emerging Technologies, 20(1), 79–94. D’Ariano, A., & Hemelrijk, R. (2006). Designing a multi-agent system for cooperative train dispatching. In G. M. A. Dolgui, C. Pereira (Ed.), In Proceedings of the 12th IFAC symposium on information control problems in manufacturing, operational research, pp. 369–374, Saint Etienne, France.

D’Ariano, A., Corman, F., Pacciarelli, D., & Pranzo, M. (2008). Reordering and local rerouting strategies to manage train traffic in real time. Transportation Science, 42(4), 405–419. D’Ariano, A., Corman, F., Pacciarelli, D., & Pranzo, M. (2008b). Assessment of flexible timetables in real-time traffic management of a railway bottleneck. Transportation Research Part C: Emerging Technologies, 16(2), 232–245. D’Ariano, A., & Pranzo, M. (2009). An advanced real-time train dispatching system for minimizing the propagation of delays in a dispatching area under severe disturbances. Networks and Spatial Economics, 9, 63–84. Davidsson, P., Henesey, L., Ramstedt, L., Tornquist, J., & Wernstedt, F. (2005). An analysis of agent-based approaches to transport logistics. Transportation Research Part C: Emerging Technologies, 13, 255–271. Diaz, A., Gonzalez, M. O., & Gonzalez-Torre, P. (1999). On-line timetable rescheduling in regional train services. Transportation Research Part B: Methodological, 33, 387–398. Dollevoet, T. (2013). Delay management and dispatching in railways (PhD thesis). Erasmus University Rotterdam. Dorfman, M. J., & Medanic, J. (2004). Scheduling trains on a railway network using a discrete event model of railway traffic. Transportation Research Part B: Methodological, 38, 81–98. Giovanni, C., Bellifemine, F., Trucco, T., & Ramassa, G. (2007). JADE programmer’s guide. . Higgins, A., Kozan, E., & Ferreira, L. (1996). Optimal scheduling of trains on a single line track. Transportation Research Part B: Methodological, 30(2), 147–161. Ho, T. K., & Yeung, T. H. (2001). Railway junction traffic control by heuristic methods. In IEE proceedings – electrical power applications, Vol. 148, pp. 77–84. Isaai, M., & Singh, M. (2000). An object-oriented constraint based heuristic for a class of passenger-train scheduling problems. IEEE Transactions on Man, Systems and Cybernetics Part C: Applications and Reviews, 30(1), 12–21. Kecman, P., Corman, F., D’Ariano, A., & Goverde, R. M. P. (2013). Rescheduling models for railway traffic management in large-scale networks. Public Transport, 5(1-2), 95–123. Kraay, D., & Harker, P. (1995). Real-time scheduling of freight railroads. Transportation Research Part B: Methodological, 29B(3), 213–229. Lamorgese, L., & Mannino, C. (2012). An exact decomposition approach for the realtime train dispatching problem. In SINTEF technical report A24355, Econometric Institute of Erasmus University Rotterdam, Technical Report EI-2012-23. Makhorin, A. (2006). GNU linear programming kit – reference manual. . Makkinga, F., & Metselaar, S. (1998). Automatic conflict detection and advanced decision support for optimal usage of railway infrastructure prototyping and test results. In Computers in railways-VI, Vol. 37. The Built Environment. Meng, X., & Jia, L. (2014). Robust single-track train dispatching model under a dynamic and stochastic environment: A scenario-based rolling horizon solution approach. Journal of Information & Computational Science, 11(5), 1597–1603. Meng, L., & Zhou, X. (2011). Train rescheduling on single-track railway model based on comprehensive optimization. Transportation Research Part B: Methodological, 45(7), 1080–1102. Narayanaswami, S., & Rangaraj, N. (2013). Modelling disruptions and resolving conflicts optimally in a railway schedule. Computers and Industrial Engineering, 64(1), 469–481. Pachl, J. (2011). Deadlock avoidance in railroad operations simulations. Technical Report 11-0175, Transportation research board annual meeting 90th annual meeting, Washington DC, USA. Parkes, D., & Ungar, L. (2001). An auction based method for decentralised train scheduling. In Fifth international conference on autonomous agents, Montreal, Canada. Sahin, I. (1999). Railway traffic control and train scheduling based on inter-train conflict management. Transportation Research Part B: Methodological, 1(33), 511–534. Tornquist, J. (2006). Computer based decision support for railway traffic scheduling and dispatching: A review of models and algorithms. In 5th workshop on algorithmic methods and models for optimization of railways – ATMOS 2005. Tornquist, J. (2007). Railway traffic disturbance management – an experimental analysis of disturbance complexity, management objectives and limitations in planning horizon. In Transportation research part A: Policy and practice, Vol. 41, pp. 249–266. Tornquist, J., & Persson, J. A. (2007). N-tracked railway traffic rescheduling during disturbances. Transportation Research Part B: Methodological, 41(3), 342–362. Walker, C. G., Snowdon, J. N., & Ryan, D. M. (2005). Simultaneous disruption recovery of a train timetable and crew roster in real time. Computers and Operations Research, 32, 2077–2094. Wang, F.-Y. (2005). Agent-based control for networked traffic management systems. IEEE Intelligent Systems, 20(5), 92–96. Wang, F.-Y. (2008). Toward a revolution in transportation operations: AI for complex systems. IEEE Intelligent Systems, 23(6), 8–13.