A Heuristic Approach to Solving the Train Traffic Re-Scheduling Problem in Real Time

Size: px
Start display at page:

Download "A Heuristic Approach to Solving the Train Traffic Re-Scheduling Problem in Real Time"

Transcription

1 algorithms Article A Heuristic Approach to Solving Train Traffic Re-Scheduling Problem in Real Time Omid Gholami * and Johanna Törnquist Krasemann Department Computer Science and Engineering, Blekinge Institute Technology, Valhallavägen 1, Karlskrona, Sweden; ohanna.tornquist.krasemann@bth.se * Correspondence: omid.gholami@bth.se; Tel.: +46-0) Received: 28 February 2018; Accepted: 12 April 2018; Published: 21 April 2018 Abstract: Effectiveness in managing disturbances and disruptions in railway traffic networks, when y inevitably do occur, is a significant challenge, both from a practical and oretical perspective. In this paper, we propose a heuristic approach for solving real- train traffic re-scheduling problem. This problem is here interpreted as a blocking ob-shop scheduling problem, and a hybrid mixed graph and alternative graph is used for modelling infrastructure and traffic dynamics on a mesoscopic level. A heuristic algorithm is developed and applied to resolve conflicts by re-timing, re-ordering, and locally re-routing trains. A part Sourn Swedish railway network from Karlskrona centre to Malmö city is considered for an experimental performance assessment approach. The network consists 290 block sections, and for a one-hour horizon with around 80 active trains, algorithm generates a solution in less than ten seconds. A benchmark with corresponding mixed-integer program formulation, solved by commercial state---art solver Gurobi, is also conducted to assess optimality generated solutions. Keywords: railway traffic; disturbance management; real- re-scheduling; ob-shop scheduling; optimization; alternative graph 1. Introduction The definitions system performance and quality service in railway traffic and transportation vary, but more recent reports, e.g., from Boston Consultancy Group [1] and European Commission [2], indicate that many European countries face challenges with regard to reliability and punctuality rail services. Several different factors contribute to se challenges, where frequency and magnitude disruptions and disturbances is one factor. The effectiveness in managing disturbances and disruptions in railway traffic networks when y inevitably do occur is anor aspect to consider. In this paper, we focus on latter, and more specifically, on problem real- train traffic re-scheduling, also referred to as train dispatching [3]. In general, problem re-scheduling train traffic in real- is known to be a hard problem to solve by expert traffic dispatchers in practice, as well as by state---art scheduling stware. There is thus ten a trade-f that needs to be made regarding permitted computation and expected solution quality. Heuristic approaches, or approaches based on, e.g., discrete-event simulation, are ten rar quick, since y work in a greedy manner, but somes y fail to deliver a reasonable solution or even end up in deadlock. Exact approaches, based on, e.g., mixed-integer programming models solved by branch-and-cut algorithms are, on or hand, less greedy, but can be very -consuming, especially if search space is large, and suffer from significant redundancy. Anor aspect concerns selected level granularity traffic and infrastructure model, and this may indirectly affect computation and quality solution as well. Algorithms 2018, 11, 55; doi: /a

2 Algorithms 2018, 11, Over latest three decades, a variety algorithms and methods have been proposed to solve train traffic re-scheduling or, train dispatching) problem, see [3 6] for more recent surveys. These previously proposed approaches have different strengths and limitations, depending on intended application and context in mind. In Section 2, we provide a more comprehensive summary state---art methods addressing this problem. In this paper, we propose a heuristic approach to solve real- train traffic re-scheduling problem. We view problem as a blocking/no-wait, parallel-machine ob-shop scheduling problem [3]. A ob corresponds to a train s path along a pre-determined sequence track sections i.e., machines). Each part that path corresponds to an operation. blocking/no-wait constraint refers to that re is no possibility to finish an operation if next operation same ob cannot get access to required machine for processing, i.e. re is no storage space between machines that allows obs and ir current operation to wait for an occupied machine to become available. That is, when an operation a ob is completed, next operation that ob must immediately start. This corresponds to train needing at all s to have explicit access to a track section independent wher train is moving or waiting). This problem is here modeled as a graph, where graph is a hybrid between a mixed graph and an alternative graph. The benefit using a hybrid graph is possibility reducing number required computations when constructing graph. The problem is n solved by a heuristic algorithm. The proposed mixed graph model is discussed in Section 3, and proposed heuristic algorithm is presented in detail in Section 4. The performance proposed approach is assessed in an experimental study, where approach has been applied to solve a number disturbance scenarios for a dense part Swedish sourn railway network system. The performance assessment also includes a benchmark with commercial optimization stware Gurobi v 6.5.1), using corresponding mixed integer programming MIP) model which is presented in Appendix A). This experimental study is presented in Section 5. Section 6 presents some conclusions from experimental study and provides pointers to future work. 2. Related Work Szpigel [7] was, in 1973, one pioneers, adapting ob-shop scheduling JSS) problem formulation for train scheduling problem. This was later developed by or researchers such as D Ariano et al. [8], Khosravi et al. [9], Liu and Kozan [10], Mascis and Pacciarelli [11], and Oliveira and Smith [12]. The JSS paradigm is also explored in mixed-integer linear programming MILP) approach proposed by Törnquist Krasemann and Persson in 2007 [13], where primary focus was on creating and evaluating strategies for reducing search space via model re-formulations. Different problem formulations were experimentally evaluated in several disturbance scenarios occurring on a double-tracked network with bi-directional traffic, and solved by commercial stware for a horizon min. The effectiveness approach and different strategies were shown to be highly dependent on size problem and type disturbance. A heuristic approach based on a MILP formulation was also proposed in [14]. A horizon 30 to 60 min was defined for testing disturbing scenarios. The commercial solver CPLEX was used to solve problem, with an allowed computation 180 s. Significant effort was made to tune heuristic algorithm, and results were compared with exact ones. For up to a 40 min horizon, algorithm generated good results. A MIP model was also applied on a double-track railway corridor, where focus is on local re-routing trains to allow for bi-directional traffic and special constraints to respect safety requirements [15]. As already mentioned, real- train traffic re-scheduling problem is a hard problem to solve. This is ten an effect large solution space, which may be difficult to efficiently navigate in due to significant redundancy. That is, depending on problem formulation and selected obective function,

3 Algorithms 2018, 11, particularly, optimization solvers may find multiple equally good solutions and also have difficulties finding strong bounds. Finding optimal, or near-optimal, solutions may thus be very -consuming. In order to reduce computational, one can partition problem into a set different sub-problems and solve m in parallel, in a distributed manner with some sort coordination mechanism. The partitioning can be done in space i.e., by dividing infrastructure, or associated constraints, into separate parts), or in i.e., rolling- horizon). Corman et al. [16 18] proposed and benchmarked a centralized and a distributed re-scheduling approach for management a part Dutch railway network based on a branch-and-bound approach. These variations come from various static and dynamic priorities that are considered for scheduling. They also worked on a coordination system between multiple dispatching areas. The aim was to achieve a globally optimal solution by combining local solutions. Some constraints are defined for border area and a branch-and-bound algorithm solves coordinator problem. Anor approach for reducing complexity problem is to use classical decomposition techniques, which are becoming more frequently used to overcome complexity and associated long computation s) train re-scheduling problem when using exact approaches. Lamorgese and Mannino proposed an exact method, which decomposes and solves problem with a master-slave procedure using column generation [19]. The master is associated with line traffic control problem and slaves with station traffic control. Decomposition has also been used to reduce complexity associated MIP model train re-scheduling problem [20]. An iterative Lagrangian relaxation algorithm is used to solve problem. Tormo et al. [21] have investigated different disturbance management methods, for purpose supporting railway dispatchers with assessment appropriateness each method for different problems in railway operations. They categorized disturbance management approaches into three subcategories. The first one is to minimize overall delays at network level. The second one is evaluation disturbances based on severity, and third one is to assume equal importance each incident. An incremental heuristic method has been compared with a two-phase heuristic approach in [22]. At each processing step, partial resource allocation and partial scheduling are repeated until a complete solution is generated. In a two-phase heuristic approach, algorithm creates routes for all trains with a complete labelling procedure in phase one, and n solves problem with an approximation algorithm in phase two. The use task parallelization to reduce computation was explored by Bettinelli et al. [23], who proposed a parallel algorithm for train scheduling problem. The problem is modelled by a graph. For conflict resolution, some dispatching rules are applied. The algorithm solves problem in an iterative, greedy manner, and to decrease computational, tasks are parallelized. The algorithm enhances quality solutions using neighbourhood search and tabu search. The neighbourhood search has a significant impact on quality generated solutions, according to authors. Anor interesting study different approaches to variable neighbourhood search and quality assessment is available in [24]. Local search techniques are also used in [25], where problem is modeled as a hybrid ob-shop scheduling problem. In [10], train scheduling problem is formulated as a blocking parallel-machine ob-shop scheduling problem and modeled as an alternative graph. A heuristic algorithm, referred to as feasibility satisfaction procedure, is proposed to resolve conflicts. The model attempts to consider train length, upgrading track sections, increasing trains speed on identified tardy section and shortening local run each train on bottleneck sections. The application was designed for train scheduling problem and is not considering re-scheduling. In first step, problem is solved by a shifting bottleneck algorithm without considering blocking condition. In next step, blocking condition is satisfied by using an alternative graph model. Khosravi et al. [9] also address train scheduling and re-scheduling problem using a ob-shop scheduling problem formulation, and problem is solved using a shifting bottleneck approach. Decomposition is used to convert problem into several single-machine problems.

4 Algorithms 2018, 11, Different variations method are considered for solving single-machine problems. The algorithm benefits from re-timing and re-ordering trains, but no re-routing trains is performed. A ob-shop scheduling approach is also used to insert additional trains to an existing table without introducing significant consecutive delays to already-scheduled trains [26]. A branch and bound algorithm and an iterative re-ordering strategy are proposed to solve this problem in real-. Re-timing and re-ordering are conducted in a greedy manner. They have suggested a new bound for branch and bound algorithm and an iterative re-ordering algorithm, which helps to find solutions in an acceptable computational. The main challenge in this study is to inspired by previous promising research work develop, apply and evaluate an effective algorithm that, within 10 s, can find sufficiently good solutions to a number different types relevant disturbance scenarios for a medium-sized sub-network and a horizon min. A hybrid mixed graph and alternative graph a derivation disunctive graph, which satisfies blocking constraint [11]) formulation is used for modelling train traffic re-scheduling problem. This graph allows us to model problem with a minimum number arcs, which is expected to improve efficiency algorithm. The model infrastructure and traffic dynamics is on mesoscopic level, which considers block sections, clear and headway distance, based on static parameter values. A heuristic algorithm is developed for conflict resolution. This algorithm is an extension algorithm developed by Gholami and Sotskov for hybrid ob-shop scheduling problems [27]. The extended algorithm provides an effective strategy for visiting conflicting operations and algorithm makes use re-timing, re-ordering, and local re-routing trains while minimizing train delays. 3. Modelling Job-Shop Scheduling Problem Using a Graph A well-known and efficient way modelling ob-shop scheduling problem is to use graphs. Graph ory is a well-studied area in computational sciences, and it provides efficient algorithms and data structures for implementation. These features make graph a suitable candidate for modeling problem addressed in this paper. In a ob-shop scheduling problem, re are n obs that have to be served by m different types machines. Each ob J has its own sequence operations O = { o,1, o,2,..., o,m } to be served by different predefined machines from set M. The obs have to be served by machines exclusively. The ob-shop scheduling problem can be formulated using a mixed graph model G = O, C, D), or equivalently by a disunctive graph model. Let O denote set all operations to be executed by a set different machines M. The set C represents a predefined sequence operations for each ob to visit machines from set M. The two operations o and o,i which have to be executed on same machine m M, cannot be processed simultaneously. This restriction is modelled by an edge [ o, o,i ] D if a mixed graph is used) or equivalently by pairs disunctive arcs { o, o,i ), and o,i, o ) } if a disunctive graph is used). In this paper, mixed graph is used for modelling primary state problem. Two vertices, o s and o d as source and destination vertices, respectively, are added to model to transform it to a directed acyclic graph. Using terms arc and edge may be confusing. Edges may be directed or undirected; undirected edges are also called lines, and directed edges are called arcs or arrows. In this paper, term edge is used for undirected edges, and term arc is used for directed edges. To serve operations in a ob-shop scheduling problem, only one instance each machine type m is available. In a hybrid ob-shop as a derivation ob-shop scheduling problem, a set M m M m 1 ) is available to serve operations [28]. The notation m, u is used to indicate a specific machine or resource u from a set M m if it is necessary. These uniform parallel machine sets increase throughput and provide more flexibility in scheduling process. A train is here synonymous with a ob in ob-shop scheduling problem. A train route from source station to destination can be considered to be a sequence operations for a ob. Each railroad

5 Algorithms 2018, 11, section is synonymous to a machine m. In Table 1, below, we introduce notations that are used to describe and define hybrid graph model, algorithmic approach, and corresponding MIP model. Table 1. The notations used for sets, indices, parameters, and variables. Sets and Indices Description M Set all railway sections i.e., machines). m The index used to denote a specific section in set M. M m The sub-set tracks and platforms that belongs to section m. i.e., parallel machines) m, u A track/platform/resource instance number u from a set M m. J Set all trains i.e., obs). The index used to denote a specific train. O Set all train events i.e., operations). O Set all events that belong to train. O m Set all events to be scheduled on a section m. O m,u Set all events to be scheduled on track u section m. i The index used to denote a specific train event i. o The symbol used to denote event i which belongs to train. Tuple which refers to train and its event i which occurs in section m and scheduled for, i, m, u track u. When section is single line u will be ignored. ) Prime symbol used to distinguish between two instances i.e., ob and ). Parameters Description c m The required minimum clear that must pass after a train has released assigned track u section m and before anor train may enter track u section m. h m The minimum headway distance that is required between trains head-head and tail-tail) that run in sequence on same track u section m. d The minimum running, or dwell, event i that belongs to train. b initial This parameter specifies initial starting event i that belongs to train. e initial This parameter specifies initial completion event i that belongs to train. ps This parameter indicates if event i includes a planned stop at associated segment. Variables Description The re-scheduled starting event i that belongs to train. x end The re-scheduled completion event i that belongs to train. t The tardiness i.e., delay for train to complete event i ). z Delay event i, i O, exceeding µ units, which is set to three minutes here. q,u A binary variable which is 1, if event i uses track u. γ,,i A binary variable which is 1, if event i occurs before event i. λ,,i A binary variable which is 1, if event i is rescheduled to occur after event i. bu f Remaining buffer for train to complete an event, i. The delay for train once it reaches its final destination, i.e., t TFD,last which corresponds to delay when completing its last event. To solve ob-shop scheduling problem modelled by a graph, for every two conflicting operations algorithm is responsible for determining best execution order to reduce obective function value. A potential conflict occurs when for two events o, and o,i belonging to obs and respectively, following criteria become true: <,i and x end,i + d,i 1) The algorithm is in charge replacing set edges D with a subset arcs D, which defines order to be served by a resource. As a result, set edges D will be substituted by a selected subset directed arcs D, and mixed graph G = O, C, D) will be transformed into a digraph G = O, C D, ). In this paper, a multi-track railway traffic network will be considered as a ob-shop scheduling problem with parallel machines hybrid ob-shop) at each stage.

6 Algorithms 2018, 11, A Heuristic Algorithm for Conflict Resolution in Mixed Graph G When a disturbance occurs, a graph G has to be generated from ongoing and remaining events for all trains within predefined horizon. Later, algorithm has to resolve conflicts between trains affected by disturbance and potential knock-on effects. To resolve all conflicts in a graph G, algorithm has to visit all conflict pairs, and by replacing edges with directed arcs, clarify priorities for using resources i.e., sections and associated tracks). In this research, obective is to minimize sum total final delay that each train experiences at its final destination i.e., TFD = Max ), J ). We also measure corresponding when 0, x end,last einitial,last delay threshold is three minutes, i.e., only delays larger than three minutes are considered, i.e., ) TFD +3, i f TFD 3 min. The reason why threshold three minutes is selected is that this threshold is used to log train delays in Sweden. Delays smaller or equal to three minutes are not registered in system responsible authority, Trafikverket Swedish National Transport Administration). Furrmore, delays larger than three minutes may cause train connections to be missed, while below three minutes consequences for transfers in studied regional-national train system are not that likely. To visit conflicting operations, we followed strategy presented by Gholami and Sotskov for hybrid ob-shop scheduling problem [27]. In this strategy, a list potential candidate operations for conflict resolution will be generated. This list is a collection ongoing operations, or first operation next trains. After any conflict resolution, list will be updated, some candidates will be added and, if it is necessary, some will be deleted. An operation will be added to list if in-degree value related vertex becomes zero number arc ends to a vertex is called in-degree value vertex). The in-degree value decreases when conflict resolution is done for a parent vertex. When list is regenerated, shortest release all vertices in list will be calculated or updated again, and minimum one will be selected for conflict resolution. A re-ordering may cause a vertex to be deleted from list. By this approach, all vertices will be visited only once, unless a re-ordering happens. This strategy decreases computational algorithm. The second benefit this approach is that adding a new arc o, o,i ) does not affect any previously visited vertices unless a re-ordering occurs. Dynamic update data is possible due to this feature. In Algorithm 1, pseudocode for conflict resolution is presented. The algorithm starts from a vertex o s and finds all neighbourhood vertices and adds m to a list candidate vertices. At each iteration, a vertex with a minimum release will be selected from candidate list for conflict resolution. If re is a conflict between candidate event and those events that previously used that track or section checklist), a local re-routing will be applied. For local re-routing, a platform or track with minimum availability will be selected. Meanwhile, if re is still a conflict, algorithm tries to use re-timing or re-ordering. For conflict resolution between candidate operation o,i and an operation o from check list, a new arc will be added to graph G. After adding arc o, o,i ), start,i ) operation o,i will be postponed to finishing x end ) operation o on conflicting track or platform. If algorithm adds opposite arc o,i, o ), n operation o,i have to be served before operation o, which means that predefined order trains for using this section is changed. This condition occurs when algorithm tries to prevent deadlocks unfeasible solutions), or operation o has a high tardiness a delayed train). Six dispatching rules are provided for conflict resolution process. Table 2 is a description those dispatching rules. In train scheduling problem, a train blocks its current section until obtaining next section or block. Therefore, swapping is not possible in train scheduling problem. Accordingly, addarc function has to satisfy blocking condition in graph G alternative graph approach). To fulfil blocking condition, instead adding an arc from operation o to operation o,i, an arc from next operation o +1 with a zero weight will be added to operation o,i. This directed arc means that operation o,i cannot proceed with its execution on machine m until operation o +1 starts,i +1, meanwhile, operation o is finished). This condition blocks ob on

7 Algorithms 2018, 11, previous machine, even if it is completed. If operation o is last operation ob, n an arc with a weight d has to be added. Algorithm 1. The pseudocode for conflict resolution strategy Heuristic Algorithm for Conflict Resolution in Mixed Graph G Require: The weighted mixed graph G = O, C, D); candidlist = findneighbourso s ); current = findminimumreleasetimecandidlist); while current = o d ); checklist = findconflictoperationscurrent.machinenumber); if conflictexistcurrent, checklist)) /*local re-routing*/ vt = minimumvacanttrackcurrent.machinenumber); modifygraphg, current, vt); checklist = findconflictoperationsvt); end_if for node cl: checklist) /*conflict resolution, re-timing, re-ordering*/ a,b = findbestordercurrent, cl); if not reachableb, a)) addarca, b); updatedatag,a); else_if not reachablea,b)) else end_if end_if end_for addarcb, a); updatedatag,b); checkfeasibilityg); candidlist += findneighbourscurrent); candidlist -= current; current = findminimumreleasetimecandidlist); end_while Table 2. Description dispatching rules used for conflict resolution. Conflict Resolution Strategy 1. Minimum release goes first 2. More delay goes first 3. Less real buffer goes first 4. Less programmed buffer goes first 5. Less total buffer goes first 6. Less total processing Description The train with earliest initial start b initial ) goes first if no deadlock occurs. If re is a conflict between two trains, one with largest tardiness delay) goes first. The tardiness is calculated as t = Max 0, ) b initial. The train with smallest buffer goes first. Buffer is defined as a subtraction initial ending and real finishing bu f = e initial )) + d for two operations to be scheduled on same, occupied machine. The train with smallest buffer goes first. Buffer is defined as a subtraction )) initial ending and programmed ending bu f = e initial b initial + d for two operations to be scheduled on same, occupied machine. The train with smallest total buffer goes first. Total buffer is defined as a summation programmed buffer s until destination point for trains, last i.e., bu f,k ). k=i The train with smallest running to get to destination goes first i.e., minimum total processing ). The total processing is defined as a summation required last to pass each section, for a train, i.e., d,k ). k=i

8 Algorithms 2018, 11, x FOR PEER REVIEW 8 18 The events, and, have a conflict on machines and events, and, on Algorithms machine 2018,. To 11, 55 present a conflict between two operations in mixed graph approach only 8 one 18 edge is required [,,, ] ) See Figure 1a). While in alternative graph model two arcs are needed, denoted as,,, ) and,, ) See Figure 1b). Figures 1 and 2 illustrate difference between mixed graph and alternative graph models Algorithms 2018, 11, x FOR PEER REVIEW 8 18 for conflict resolution. There are two conflicting trains in same path on sections m 1 and m 2. The train 1 is planned on sections m 1, m 2, and m 3. The route for train 2 is m 1, m 2, and m 4. The events, and, have a conflict on machines and events, and, on The events o 1,1 and o 2,1 have a conflict on machines m 1 and events o 1,2 and o 2,2 on machine m 2. machine. To present a conflict between two operations in mixed graph approach only one To present ] a conflict between two operations in mixed graph approach only one edge is required edge is required [,,, ] ) See Figure 1a). While in alternative graph model two arcs are [o, o,i D) See Figure 1a). While in alternative graph model two arcs are needed, denoted needed, denoted as,,, ) and,, ) See Figure 1b). as o +1, o,i ) and o,i +1 o ) See Figure 1b). a) Figure 1. Presenting a conflict in a graph : a) using an edge in mixed graph model to present a conflict between two operations; b) using two arcs in alternative graph model to present a conflict between two operations. After conflict resolution in mixed graph mode Figure 2a), operation, could start its processing in minute 14 a) on machine immediately after completion b) operation, ). While in alternative graph case Figure 2b), starting events Figure 1. Presenting a conflictin in a graph G : a) : a) using usingan anedge edgein in mixed mixedgraph, is postponed to minute graphmodel to to present present a 16, which conflict ob a conflict has between started two two event operations; b) b),. using The ob usingtwo twoarcs has arcsin waited in for 2 min alternative for graph machine modelto present and is a blocked on conflict machine between two. operations. After conflict resolution in mixed graph mode Figure 2a), operation, could start its processing in minute 14 on machine immediately after completion operation, ). While in alternative graph case Figure 2b), starting events, is postponed to minute 16, which ob has started event,. The ob has waited for 2 min for machine and is blocked on machine. b) a) b) Figure 2. Resolving conflicts conflicts on on machine machine mand 1 and min 2 in a graph a graph G: a) G conflict : a) conflict resolution resolution using using mixed mixed graph graph model; model; b) conflict b) conflict resolution resolution using using alternative graph graph modelto to support blocking condition. In this paper, we propose an approach that is a hybrid between mixed graph and alternative After conflict resolution a) in mixed graph mode Figure 2a), operation b) o 2,2 could start its graph. This hybrid approach makes use 1) a mixed graph formulation to represent nonrescheduled table in initial stage solution process, and 2) an alternative graph processing in minute 14 on machine m 2 immediately after completion operation o 1,2 ). While Figure in 2. alternative Resolving graph conflicts case on Figure machine 2b), starting and in a graph events G: a) oconflict 2,2 is postponed resolution using to minute approach mixed when graph table model; b) is conflict to be re-scheduled. resolution using The reasons alternative for doing graph so model are as to follows: 16, which ob 1 has started event o 1,3. The ob 1 has waited for 2 min for machine support m 3 and is blocking One way condition. to speed up algorithm is to reduce number edges and arcs in graph. blocked on machine m 2. This reduction leads to a lower number neighbourhood vertices needing to be handled, less In this paper, we propose an approach that is a hybrid between mixed graph and alternative feasibility In this and paper, constraint we propose checking an approach being required, that is a less hybrid computational between mixed to update graph and data alternative at each graph. This hybrid approach makes use 1) a mixed graph formulation to represent graph. stage, and This a faster hybrid traverse approach in makes graph. use As 1) mixed a mixed graph graph model formulation uses one edge to to represent a conflict non-rescheduled table in initial stage solution process, and 2) an alternative graph nonrescheduled between two table vertices and in alternative initial stage graph needs solution two arcs, process, non-rescheduled and 2) an alternative table graph in approach when table is to be re-scheduled. The reasons for doing so are as follows: approach initial stage when uses table mixed graph is to be approach re-scheduled. See Figure The reasons 1a). However, for doing after so are as conflict follows: resolution, One way to speed up algorithm is to reduce number edges and arcs in graph G. algorithm One way uses to speed alternative up algorithm graph approach is to reduce adding number an arc from edges next and operation) arcs in to satisfy graph This reduction leads to a lower number neighbourhood vertices needing to be handled, less feasibility. This blocking reduction condition leads See to Figure a lower 2b). number This means neighbourhood that for unsolved vertices part, needing graph to be is handled, modelled less like and constraint checking being required, less computational to update data at each stage, and a feasibility a mixed graph, and constraint and for checking solved being part, it required, follows less alternative computational graph modelling to update approach. faster traverse in graph. As mixed graph model uses one edge to present a conflict between data at each two stage, For and safety a faster reasons, traverse in trains graph. have As to obey mixed a minimum graph model clear uses one and edge headway to present a distance vertices and alternative graph needs two arcs, non-rescheduled table in initial stage conflict uses between [23]. The two clear vertices and ) is alternative minimum graph needs that a two train arcs, must non-rescheduled wait before entering table a section in, mixed graph approach See Figure 1a). However, after conflict resolution, algorithm uses initial which stage train uses ust mixed left. This graph approach interval between See Figure completion 1a). However, train after and start conflict resolution, train alternative graph approach adding an arc from next operation) to satisfy blocking condition can algorithm be modelled uses by alternative changing graph weight approach adding priority an arc arc from from zero next to operation). The headway to satisfy See Figure 2b). This means that for unsolved part, graph is modelled like a mixed graph, and blocking distance condition h ) is See minimum Figure 2b). This between means two that trains for and unsolved running part, in graph same is modelled direction like and for solved part, it follows alternative graph modelling approach. a on mixed same graph, track and for section solved. The part, headway it follows distance alternative is minimum graph modelling interval approach. between start For safety reasons, trains have to obey a minimum clear and headway distance [23]. The clear For safety c reasons, trains have to obey a minimum clear and headway distance m ) is minimum that a train must wait before entering a section m, which [23]. The clear ) is minimum that a train must wait before entering a section, which train ust left. This interval between completion train and start train can be modelled by changing weight priority arc from zero to. The headway distance h ) is minimum between two trains and running in same direction and on same track section. The headway distance is minimum interval between start

9 Algorithms 2018, 11, train ust left. This interval between completion train and start train can be Algorithms modelled 2018, by 11, changing x FOR PEER REVIEW weight priority arc from zero to c m. The headway distance h m ) is minimum between two trains and 9 18 running in same direction and on same track s, and section end m. s The respectively, headway distance two is consecutive minimumtrains, interval and between, which can start be modelled s, and by end adding s a new respectively, arc with a weight two consecutive h from operation trains, and, to, which,. The canaddarc be modelled procedure by adding is responsible a new arc for with adopting a weight clear h m from operation and headway o todistance. o,i. The addarc procedure is responsible for adopting clear Figure and 3, is headway an illustration distance. conflict resolution, considering clear and headway distance for Figure alternative 3, is angraph illustration model. In conflict Figure resolution, 3a, starting considering operation clear, and is increased headwayto distance minute for 11, because, alternative operation graph model., had In Figure 4 min 3a, processing starting and operation 1 min clear o 2,1 is. increased In Figure to minute 3b, 11, headway because, distance operation is h = o7, 1,1 which had 4means min that processing start and operation 1 min clear,. must In be Figure at least 3b, 7 min headway after start distance is h 1 = operation 7, which means,. The that starting start operation o 2,1, must is increased be at least to minute 7 after 13. start operation o 1,1. The starting operation o 2,1 is increased to minute 13. a) b) Figure Adding clear clear and and headway distance to to alternative graph: a) a) starting operation operation o 2,1 is, increased is increased due due to to clear ; clear b) ; b) starting starting operation operation o 2,1 is increased, is due increased to headway due to distance. headway distance. For a decision-making procedure, algorithm needs some data, such as release, or buffer For a decision-making procedure, algorithm needs some data, such as release, or buffer.. After any re-timing, re-ordering or local re-routing, se data change. The experiments After any re-timing, re-ordering or local re-routing, se data change. The experiments demonstrate that demonstrate that recalculation se data has a significant effect on computational recalculation se data has a significant effect on computational algorithm. Our special algorithm. Our special visiting approach enables a dynamic update data for those vertices that will visiting approach enables a dynamic update data for those vertices that will be affected. be affected. After adding a new directed arc from operation o to operation o,i, by considering After adding a new directed arc from operation, to operation,, by considering commercial stop passenger trains are not allowed to leave a station before initial completion commercial stop passenger trains are not allowed to leave a station before initial completion e initial ) minimum start an operation o,i on a track m.u will be, minimum start an operation, on a track. will be Maxb Max initial,,,, max,, +, ) if 1 was a,i, x end,i 1, max, = O,i = m,u + d )) if i 1 was a commercial stop, Maxx Max end, max,, +, ) if 1 was not a stop,,i 1, max + d )) if i 2) 1 was not a commercial stop,, = O m,u where, is a set all operations processed by same resource from a set until now. where O Additionally, m,u is a set all operations processed by same resource u from a set M ending can be calculated as follows: m until now. Additionally, ending can be calculated as follows:, = Max,,, +, ) if is a commercial stop. 3) +,, if is not a commercial stop. x end max e initial,i =,i,,i + d,i if i is a commercial stop. Considering clear,i + d restriction,,i starting if 3) i is not a commercial stop. for an operation, will be calculated as follows: Considering clear restriction, starting for an operation o,i will be calculated as follows: Max,,,, max,, + ) if 1 was a commercial stop., = 4) Max,, max, + ) if was not a commercial stop. Maxb initial,i, x end,i 1, max x end O The,i = m,u + c m )) if i 1 was a commercial stop. proposed Maxx starting end with consideration headway distance will change to:,i 1, max x end O m,u + c m )) if i 4) 1 was not a commercial stop. Max,,,, max,, +,, + h ) if 1 was a commercial stop. Max,, max,, +,, + h ) if 1 was not a commercial stop. A recursive function is used in updatedata function, which updates release for all operations that are reachable by operation, until. The recursive function stops whenever, value does not change. By viewing headway distance in updatedata function 5)

10 Algorithms 2018, 11, The proposed starting with consideration headway distance will change to:,i = Maxb initial,i, x end,i 1, max x end O m,u + c m, + h s )) if i 1 was a commercial stop. Maxx end,i 1, max x end O m,u + c m, + h s )) if i 1 was not a commercial stop. 5) A recursive function is used in updatedata function, which updates release for all operations that are reachable by operation o,i until o d. The recursive function stops whenever,i value does not change. By viewing headway distance in updatedata function Equation 5)), it is possible to ignore extra arc for headway distance see Figure 3). Deletion this extra arc, which was needed for considering headway distance, also helps to reduce computational. Before adding a new arc, algorithm applies solution feasibility function. If, by adding a new arc, a circuit appears in graph G, generated solution is not feasible. A circuit in graph is a sign infeasible resource allocation. A circuit is a chain two or more operations that are trying to exchange machines with next operations swapping condition). To avoid a circuit, following lemma is used: Lemma 1. In a directed acyclic graph G, by adding an arc from vertex a to b, a circuit appears if and only if a is reachable from vertex b in graph G. If reachability test confirms a circuit, algorithm considers opposite priority and applies arc related to opposite alternative approach re-ordering). Mostly, by adding opposite alternative arc, no circuit appears, but in rare cases when algorithm generates a new circuit, solution would be reected. 5. Experimental Application and Performance Assessment 5.1. Experimental Set-Up For experimental evaluation, approach was applied to a number disturbance scenarios occurring within a selected sub-network in south Sweden, namely railway stretch between Karlskrona city to Malmö, via Kristianstad and Hässleholm see Figure 4, below). From Karlskrona to Hässleholm, railway line is single-track, and from Hässleholm to Malmö, line is double-track with a small portion having four tracks between Arlöv and Malmö. This stretch consists approximately 90 segments, with a total 290 block sections. For regional trains that operate between Karlskrona and Malmö and even furr, into Denmark via Öresund Bridge), re is a travel 1 h and 31 min between Karlskrona and Kristianstad, and a travel between Kristianstad and Malmö 1 h and 5 min. In line with categorization suggested in [29], three types disturbance scenarios are used: Category 1 refers to a train suffering from a temporary delay at one particular section, which could occur due to, e.g., delayed train staff, or crowding at platforms resulting in increasing dwell s at stations. Category 2 refers to a train having a permanent malfunction, resulting in increased running s on all line sections it is planned to occupy. Category 3 refers to an infrastructure failure causing, e.g., a speed reduction on a particular section, which results in increased running s for all trains running through that section.

11 to Hässleholm, railway line is single-track, and from Hässleholm to Malmö, line is doubletrack with a small portion having four tracks between Arlöv and Malmö. This stretch consists approximately 90 segments, with a total 290 block sections. For regional trains that operate between Karlskrona and Malmö and even furr, into Denmark via Öresund Bridge), re is a Algorithms travel 2018, 11, 155h and 31 min between Karlskrona and Kristianstad, and a travel between Kristianstad and Malmö 1 h and 5 min. Figure 4. Illustration studied railway line Karlskrona-Kristianstad-Malmö. Source: Figure 4. Illustration studied railway line Karlskrona-Kristianstad-Malmö. Source: Trafikverket. Trafikverket. All In line disturbance with categorization scenarios occur suggested betweenin 16:00 [29], and three 18:00, types which disturbance during scenarios peak hours. are used: The re-scheduling horizons are 1 and 1.5 h windows, respectively, counting from when disturbance Category occurs. 1 refers The to scenarios a train suffering are described from in a temporary Table 3 below. delay The at experiments one particular were section, tested which on a laptop could with occur 64-bit due Windows to, e.g., 10, delayed equipped train with staff, an Intel or crowding i7-cpu, 2.60 at platforms GHz, with resulting 8 Gigabytes in increasing RAM. dwell s at stations. Table Category 3. Description 2 refers to a train 30 having 2 scenarios a permanent that weremalfunction, used in experimental resulting in study. increased The first running number s on inall line scenario-id sections specifies it is planned whichto disturbance occupy. category it is. For category 2, disturbance is Category a percentage 3 refers increase to an infrastructure run, e.g., failure 40%. The causing, two rightmost e.g., a columns speed reduction specify on size a particular problem section, expressed which results in a number in increased trainrunning events that s are to for beall re-scheduled. trains running through that section. Scenario Disturbance Problem Size: #Events 1 Category: ID Location Initially Disturbed Train Initially Delay min) 1 h Time Window 1.5 h Time Window 1:1 Karlshamn-Ångsågsmossen 1058 Eastbound) :2 Bromölla Sölvesborg 1064 Eastbound) :3 Kristianstad-Karpalund 1263 Southbound) :4 Bergåsa-Gullberna 1097 Westbound) :5 Bräkne Hoby-Ronneby 1103 Westbound) :6 Flackarp-Härup 491 Southbound) :7 Eslöv-Dammstorp 533 Southbound) :8 Burlöv-Åkarp 544 Northbound) :9 Burlöv-Åkarp 1378 Northbound) :10 Höör-Stehag 1381 Southbound) :1 Karlshamn-Ångsågsmossen 1058 Eastbound) 40% :2 Bromölla Sölvesborg 1064 Eastbound) 20% :3 Kristianstad-Karpalund 1263 Southbound) 20% :4 Bergåsa-Gullberna 1097 Westbound) 40% :5 Bräkne Hoby-Ronneby 1103 Westbound) 100% :6 Flackarp-Härup 491 Southbound) 100% :7 Eslöv-Dammstorp 533 Southbound) 50% :8 Burlöv-Åkarp 544 Northbound) 80% :9 Burlöv-Åkarp 1378 Northbound) 40% :10 Höör-Stehag 1381 Southbound) 40% :1 Karlshamn-Ångsågsmossen All trains passing through :2 Bromölla Sölvesborg All trains passing through :3 Kristianstad-Karpalund All trains passing through :4 Bergåsa-Gullberna All trains passing through :5 Bräkne Hoby-Ronneby All trains passing through :6 Flackarp-Härup All trains passing through :7 Eslöv-Dammstorp All trains passing through :8 Burlöv-Åkarp All trains passing through :9 Burlöv-Åkarp All trains passing through :10 Höör-Stehag All trains passing through The size generated graph G is squared size number events.

12 Algorithms 2018, 11, Results and Analysis In Tables 4 and 5, results are summarized. The grey cells include best solution values found by different dispatching rules DR-1 to DR-6) configurations. These solution values can be compared with optimal values generated by MIP model. The two rightmost columns compare computational for MIP model and heuristic algorithm. Since computation algorithm is not significantly affected by choice dispatching rule, computation is very similar for all six different configurations, and refore only one computation value per scenario is presented in Tables 4 and 5. Table 4. Computational results for 1 h horizon. Scenario TFD +3 Obective Function hh:mm:ss) Category: ID Optimal Results Dispatching Rules DR) Computational Time hh:mm:ss) Heuristic Algorithm MIP Model 1:1 0:01:03 00:01:14 00:01:14 00:01:14 00:15:22 00:15:22 00:24:05 00:00:04 00:00:06 1:2 0:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 01:16:47 00:00:04 00:00:05 1:3 0:00:00 00:02:09 00:02:09 00:02:09 00:36:33 00:36:33 00:26:32 00:00:04 00:00:03 1:4 0:01:02 00:02:28 00:02:28 00:02:28 00:12:40 00:12:40 00:08:11 00:00:06 00:00:06 1:5 0:07:01 00:16:15 00:16:15 00:16:15 00:19:49 00:19:49 00:13:14 00:00:05 00:00:03 1:6 0:00:23 00:05:46 00:05:46 00:05:46 00:05:46 00:05:46 00:05:46 00:00:04 00:00:03 1:7 0:05:05 00:06:24 00:06:24 00:06:24 00:06:24 00:06:24 00:14:45 00:00:04 00:00:05 1:8 0:01:34 00:12:01 00:12:01 00:12:01 00:12:01 00:12:01 00:13:40 00:00:04 00:00:06 1:9 0:00:00 00:14:01 00:14:01 00:14:01 00:13:02 00:13:02 00:14:01 00:00:04 00:00:03 1:10 0:00:00 00:01:18 00:01:18 00:00:00 00:00:00 00:00:00 00:01:33 00:00:04 00:00:05 2:1 0:05:24 00:45:37 00:45:37 00:06:42 00:06:42 00:06:42 00:08:16 00:00:04 00:00:06 2:2 0:02:43 00:03:29 00:39:53 00:03:29 00:03:29 00:03:29 01:06:56 00:00:05 00:00:05 2:3 0:01:01 00:01:47 00:20:06 00:20:06 00:01:47 00:01:47 00:20:14 00:00:03 00:00:03 2:4 0:15:12 00:22:12 00:22:50 00:22:50 00:22:12 00:22:12 00:55:54 00:00:05 00:00:05 2:5 0:42:09 00:43:24 00:58:03 00:58:03 01:05:08 01:05:08 00:59:16 00:00:04 00:00:03 2:6 0:01:24 00:02:44 00:02:44 00:02:44 00:02:44 00:02:44 00:02:44 00:00:06 00:00:04 2:7 0:05:27 00:08:09 00:08:09 00:08:09 00:08:09 00:08:09 00:09:43 00:00:04 00:00:10 2:8 0:21:12 00:43:37 00:38:42 00:38:42 00:43:37 00:43:37 00:40:16 00:00:06 00:00:06 2:9 0:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:05 00:00:03 2:10 0:00:08 00:05:09 00:05:09 00:05:09 00:05:09 00:05:09 00:06:43 00:00:04 00:00:06 3:1 0:01:00 00:01:00 00:01:00 00:01:00 00:01:00 00:01:00 00:25:05 00:00:04 00:00:06 3:2 0:00:00 00:00:00 00:00:00 00:00:00 00:00:19 00:00:19 00:25:54 00:00:04 00:00:06 3:3 0:00:00 00:03:49 00:21:38 01:05:52 00:01:17 00:15:40 00:54:14 00:00:05 00:00:03 3:4 0:12:21 00:16:59 00:20:13 00:20:13 00:16:59 00:16:59 00:20:22 00:00:07 00:00:06 3:5 0:05:20 00:05:25 00:57:34 00:15:58 00:05:25 00:05:25 00:16:12 00:00:03 00:00:03 3:6 0:00:00 00:21:04 00:21:04 00:21:04 00:23:12 00:23:12 00:28:42 00:00:05 00:00:03 3:7 0:00:09 00:07:42 00:14:11 00:14:11 00:14:11 00:14:11 00:15:45 00:00:10 00:00:05 3:8 0:00:00 00:00:00 00:05:06 00:05:06 00:00:00 00:00:00 00:07:54 00:00:04 00:00:05 3:9 0:00:00 00:00:00 00:00:41 00:00:41 00:00:00 00:00:00 00:00:00 00:00:04 00:00:04 3:10 0:00:00 00:04:53 00:04:53 00:03:35 00:01:04 00:01:04 00:02:38 00:00:03 00:00:05 Table 5. The computational results for 1.5 h horizon hh:mm:ss). Scenario TFD +3 Obective Function Computational Time Category: ID Optimal Results Dispatching Rules DR) Heuristic Algorithm MIP Model :1 0:01:03 00:01:14 00:01:14 00:01:14 00:45:13 00:45:13 00:46:56 00:00:12 00:00:20 1:2 0:00:00 00:00:00 00:00:00 00:00:00 00:12:09 00:12:09 05:09:54 00:00:10 00:00:15 1:3 0:00:00 00:02:09 00:02:09 00:02:09 01:34:59 01:34:59 00:25:21 00:00:11 00:00:10 1:4 0:00:00 00:01:27 00:01:27 00:01:27 01:38:16 01:38:16 00:51:24 00:00:13 00:00:16 1:5 0:02:08 00:10:23 00:10:23 00:10:23 00:24:07 00:24:07 00:12:14 00:00:07 00:00:09 1:6 0:00:23 00:05:46 00:05:46 00:05:46 00:05:46 00:05:46 00:05:46 00:00:12 00:00:10 1:7 0:05:05 00:06:24 00:06:24 00:06:24 00:06:24 00:06:24 00:14:45 00:00:11 00:00:18 1:8 0:01:34 00:12:01 00:12:01 00:12:01 00:12:01 00:12:01 00:13:40 00:00:12 00:00:17 1:9 0:00:00 00:13:00 00:13:00 00:13:00 00:13:16 00:13:16 00:38:13 00:00:07 00:00:10 1:10 0:00:00 00:01:18 00:01:18 00:00:00 00:00:00 00:00:00 00:01:33 00:00:11 00:00:16 2:1 0:03:36 00:45:37 00:45:37 00:04:31 00:17:11 00:17:11 00:14:16 00:00:11 00:00:17 2:2 0:00:00 00:00:23 01:21:00 00:00:23 00:00:23 00:00:23 04:36:13 00:00:12 00:00:15 2:3 0:02:40 00:29:31 00:32:58 00:32:58 00:39:25 00:39:25 00:33:46 00:00:07 00:00:09 2:4 0:26:34 00:43:50 01:11:40 01:11:40 00:43:50 00:43:50 01:57:35 00:00:16 00:00:15 2:5 1:11:44 01:17:47 01:40:09 01:40:09 01:41:32 01:41:32 01:35:29 00:00:12 00:00:08 2:6 0:01:24 00:02:44 00:02:44 00:02:44 00:02:44 00:02:44 00:02:44 00:00:11 00:00:09

13 Algorithms 2018, 11, Table 5. Cont. Scenario TFD +3 Obective Function Computational Time Category: ID Optimal Results Dispatching Rules DR) Heuristic Algorithm MIP Model 2:7 0:05:27 00:08:09 00:08:09 00:08:09 00:08:09 00:08:09 00:09:43 00:00:11 00:00:17 2:8 0:21:12 00:44:42 00:48:13 00:48:13 00:44:54 00:44:54 01:08:14 00:00:36 00:00:17 2:9 0:00:00 00:00:00 00:00:00 00:00:00 00:00:13 00:00:13 00:00:00 00:00:07 00:00:10 2:10 0:00:08 00:05:09 00:05:09 00:05:09 00:05:09 00:05:09 00:06:43 00:00:12 00:00:16 3:1 0:00:00 00:00:00 00:22:42 00:00:00 00:00:00 00:00:00 00:46:56 00:00:12 00:00:17 3:2 0:00:00 00:00:17 00:00:17 00:00:17 00:00:36 00:00:36 01:36:46 00:00:11 00:00:14 3:3 0:01:16 00:09:36 00:57:38 01:22:08 00:07:17 00:14:39 02:07:54 00:00:11 00:00:10 3:4 0:16:37 00:31:06 00:32:34 00:32:34 00:23:26 00:23:26 01:10:03 00:00:35 00:00:15 3:5 0:04:44 00:04:58 00:55:43 00:13:08 00:10:16 00:10:16 00:19:59 00:00:10 00:00:09 3:6 0:00:00 00:50:13 00:50:13 00:50:13 00:27:54 00:27:54 01:07:29 00:00:17 00:00:15 3:7 0:00:41 00:06:48 00:15:45 00:15:45 00:15:45 00:15:45 00:17:19 00:00:18 00:00:19 3:8 0:00:00 00:00:00 00:01:22 00:01:22 00:00:00 00:00:00 00:03:58 00:00:11 00:00:17 3:9 0:00:00 00:02:06 00:03:32 00:02:48 00:02:06 00:02:06 00:02:06 00:00:14 00:00:10 3:10 0:00:00 00:08:07 00:08:31 00:07:13 00:01:28 00:01:28 00:03:02 00:00:11 00:00:16 The minimum release goes first DR-1) was best dispatching rule, considering TFD +3 obective function. The average TFD +3 for MIP model was 259 s for 1 h window and 332 s for 1.5 h window. The average TFD +3 for minimum release goes first DR-1) was 597 and 849 s, respectively. Statistical analyses results belonging to disturbance scenario type 1 revealed that less real buffer goes first DR-3) dispatching rule, with an average delay 361 s for a 1 h window and 314 s for a 1.5 h window, works better than or dispatching rules. Additionally, an inefficient solution is not able to absorb delays i.e., delays after a temporary route blocking may remain in system until midnight). The analysis also shows that for all dispatching rules in scenario 1, TFD +3 obective function values 1.5 h window are lower than values for 1 h window, which confirms that algorithm successfully attempts to make table absorb delays when possible. For scenario type 2, minimum release goes first DR-1), less programmed buffer goes first DR-4), and less total buffer goes first DR-5) worked somewhat same, and better than ors. The average TFD +3 obectives were 1056, 953, and 953 s for a 1 h window, and 1547, 1581, and 1581 for a 1.5 h window. The optimal values are 568 s for a 1 h window and 796 s for a 1.5 h window. In scenario type 3, minimum release goes first worked better than ors with an average 365 s delay, but for a 1.5 h window less total buffer goes first DR-5) with an average 532 s was best. The optimal values were 113 and 139 s, respectively. With help a visualization stware, resulting, revised tables can be analysed beyond aggregated numbers. The more delay goes first DR-2) dispatching rule gives priority to trains with largest tardiness. We observed in visualization solutions that, when conflict is between two tardy trains, this strategy works well and reduces delay. However, for conflicts between an on- train and a tardy train, this dispatching rule gives priority to tardy train, which causes a delay for an on- train. In or words, when tardy train reaches destination, e.g., Karlskrona or Malmö, this strategy causes a delay for new trains that have recently started ourney. A more effective decision would potentially be to prioritize on- train, because late train is near to its final destination. The less real buffer goes first DR-3) dispatching rule, gives priority to train with least buffer. This strategy helps algorithm to reduce delay for tardy trains. When conflict is between two tardy trains, this policy is fair. The less programmed buffer goes first DR-5) considers sum buffer for a train to its destination. In a disturbance area, this strategy works well. The algorithm gives priority to a train with less programmed buffer, which seems to be fair between two tardy trains. However, when a tardy train has a conflict with an on- train, this dispatching rule gives priority to tardy one, which is not effective if on- train is at

14 Algorithms 2018, 11, beginning its itinerary and thus may cause knock-on delays if it is delayed. The less total processing Algorithms 2018, 11, x FOR PEER REVIEW DR-6) dispatching rule, tries to give priority to trains with less remaining events to leave tracks tracks as as soon soon as as possible. possible. The The experimental experimental results results demonstrate demonstrate that that this this strategy strategy does does not not work work well well compared compared to to or or dispatching dispatching rules. rules. The The choice choice dispatching dispatching rule rule does does not not affect affect computational computational,, but but number number events events in in re-scheduling re-scheduling window window and and selected selected sub-network sub-network has has a a significant significant effect effect on on computational computational since since size size graph graph G increases increases quadratically. quadratically. Figure Figure 5 illustrates illustrates increase increase computational computational against against increase increase horizon horizon and and number number events. events. Both Both size size graph graph G and and computational computational increase increase quadratically. quadratically. Figure 5. The computational increases quadratically, based on number events. Figure 5. The computational increases quadratically, based on number events. 6. Conclusions and Future Work 6. Conclusions and Future Work This paper addresses real- train traffic re-scheduling problem. A mixed graph is used This paper addresses real- train traffic re-scheduling problem. A mixed graph is used for for modeling problem as a blocking ob-shop scheduling problem. heuristic algorithm is modeling problem as a blocking ob-shop scheduling problem. A heuristic algorithm is proposed proposed that benefits from re-timing, re-ordering, and local re-routing. The algorithm benefits also that benefits from re-timing, re-ordering, and local re-routing. The algorithm benefits also from a from a dynamic update data, which accelerates computations. dynamic update data, which accelerates computations. The response for such a real- computational scheduling tool is a vital factor. In The response for such a real- computational scheduling tool is a vital factor. In proposed solution approach, problem for a 1 h window is solved in less than 10 s, and for proposed solution approach, problem for a 1 h window is solved in less than 10 s, and for a 1.5 h window, computational is less than 20 s. It is also unknown what horizon is 1.5 h window, computational is less than 20 s. It is also unknown what horizon is necessary to consider in different situations and what role this uncertainty would play. Interviews necessary to consider in different situations and what role this uncertainty would play. Interviews with with dispatchers suggest that it differs a lot depending on situation, context and associated dispatchers suggest that it differs a lot depending on situation, context and associated working load. working load. The TFD The +3 obective function is a relevant criterion to control lateness trains. obective function is a relevant criterion to control lateness trains. However, However, based on situation and type disturbance scenario, dispatchers also have or based on situation and type disturbance scenario, dispatchers also have or concerns and concerns and obectives. The investigation or obective functions and useful solution quality obectives. The investigation or obective functions and useful solution quality metrics is metrics is necessary to investigate in future research. The graph G is represented by an adacency necessary to investigate in future research. The graph is represented by an adacency matrix in matrix in current implementation. Using alternative data structures such as adacency lists, can be current implementation. Using alternative data structures such as adacency lists, can be an option to an option to investigate possibility to reduce computational furr. investigate possibility to reduce computational furr. Acknowledgments: The presented research work was conducted within research proects FLOAT FLexibel Omplanering Acknowledgments: Av Tåglägen The presented i drift) research and BLIXTEN work was Beslutstöd conducted för within trafikledare: research approximativa proects FLOAT ochflexibel exakta optimerande Omplanering metoder), Av Tåglägen funded i drift) by and Swedish BLIXTEN Transport Beslutstöd Administration för trafikledare: Trafikverket) approximativa with KAJT och KApacitet exakta i JärnvägsTrafiken) research programme. We are thankful for financial support, data, and significant guidance optimerande metoder), funded by Swedish Transport Administration Trafikverket) with KAJT provided by Trafikverket. KApacitet i JärnvägsTrafiken) research programme. We are thankful for financial support, data, and Author Contributions: Omid has developed graph model and heuristic algorithms. The algorithmic approach significant guidance provided by Trafikverket. has been implemented in Java by Omid. Johanna has provided all input data required to build and perform experiments, Author Contributions: and she is Omid mainhas developer developed visualization graph model tooland usedheuristic for visual algorithms. inspection The re-scheduling algorithmic solutions. Johanna has also managed associated research proect, handled all contacts with industry approach has been implemented in Java by Omid. Johanna has provided all input data required to build and partner, Trafikverket, and acquired associated research funding. Omid has generated disturbance scenarios, performed experiments, experiments and with she is algorithmic main developer approach and visualization associatedtool performance used visual assessment inspection including rescheduling solutions. Johanna has also managed associated research proect, handled all contacts with industry partner, Trafikverket, and acquired associated research funding. Omid has generated disturbance scenarios, performed experiments with algorithmic approach and associated performance assessment including analysis resulting data and conclusions. Johanna has formulated and implemented corresponding MIP formulation in ava, which was applied to solve same disturbance

15 Algorithms 2018, 11, analysis resulting data and conclusions. Johanna has formulated and implemented corresponding MIP formulation in ava, which was applied to solve same disturbance scenarios in order to evaluate level optimality and efficiency algorithmic approach. Both Johanna and Omid contributed significantly to writing manuscript. Both authors have read and approved final manuscript. Conflicts Interest: The authors declare no conflict interest. Appendix A The MIP formulation is based on model developed by Törnquist and Persson [13]. The model was implemented in Java and solved by Gurobi Let J be set trains, M set segments, defining rail infrastructure, and O set events. An event can be seen as a slot request by a train for a specific segment. The index is associated with a specific train service, and index m with a specific infrastructure segment, and i with event. An event is connected both to an infrastructure segment and a train. The sets O O are ordered sets events for each train, while O m O are ordered sets events for each segment m. Each event has a point origin, m, which is used for determining a change in direction traffic on a specific track. Furr, for each event, re is a scheduled start and an end, denoted by b inital and e inital, which are given by initial table. The disturbance is modelled using parameters b static and e static, denoting pre-assigned start and end already active event. There are two types segments, modeling infrastructure between stations and within stations. Each segment m has a number parallel tracks, indicated by sets M m and each track requires a separation in between its events one train leaving track and next enters same track). The minimum separation between trains on a segment is denoted by Meeting m for trains that travel in opposite directions, and m Following for trains that follow each or; separation is only required if trains use same track on that specific segment. The parameter ps indicates if event i includes a planned stop at associated segment i.e., it is n normally a station). The parameter d represents minimum running, pre-computed from initial schedule, if event i occurs on a line segment between stations. For station segments, d corresponds to minimum dwell commercial stops, where transfers may be scheduled. The variables in model are eir binary or continuous. The continuous variables describe timing events and delay, and binary variables describe discrete decisions to take on model concerning selection a track on segments with multiple tracks or platforms, and order trains that want to occupy same track and/or platform. The continuous, non-negative, variables are, x end, and z delay event i, i O, exceeding µ units, which is set to three minutes here). The variables x end and are modelling resource allocation, where a resource is a specific track segment. The arrival at a specific segment is given by segment is given by x end for a specific train. The binary variables are defined as: and departure from a specific { 1, if event i uses track u, i O q,u = m, u M m, m M, J 0, orwise { 1, if event i occurs before event i γ,,i =, i O m, m M : i < i, and J 0, orwise { 1, if event i is rescheduled to occur after event i λ,,i =, i O m, m M : i < i, and J 0, orwise

16 Algorithms 2018, 11, With obective to minimize sum all delays for all trains reaching ir final destination with a delay larger than three minutes, obective function can be formulated as follows, where parameter n for each train J holds final event train : min z f := z n J A1) We also have following three blocks constraints. The first block concerns timing events belonging to each train and its sequence events, defined by event list O O. These constraints define relation between initial schedule and revised schedule, as an effect disturbance. Equation A7) is used to compute delay each event exceeding µ units, where µ is set to three minutes in this context. x end = +1, i O, J : i = n, J A2) x end = b static, i O : b static > 0, J A3) = e static, i O : e static > 0, J A4) x end x end + d, i O, J A5) b initial, i O : ps = 1, J A6) e initial u z, i O, J A7) In following part, N is a large constant. The second block constraints concerns permitted interaction between trains, given capacity limitations infrastructure including safety restrictions): q,u = 1, i O m, m M, J A8) u M m,i,i x end x end q,u + q,i,u 1 λ,,i + γ,,i, i, i O m, u M m, m M : i < i, = J A9) m Meeting γ,,i N 1 γ,,i ), i, i O m, m M : i < i, m i = m i, = J A10) Following m γ,,i N 1 γ,,i ), i, i O m, m M : i < i, m i = m i = J A11) x end,i Meeting m λ,,i N 1 λ,,i ), i, i O m, m M : i < i, m i = m i = J A12) x end,i m Following λ,,i N 1 λ,,i ), i, i O m, m M : i < i, m i = m i, = J A13) λ,,i + γ i,i 1, i, i O m, m M : i < i, = J, x end, z 0, i O, J γ,,i, λ,,i {0, 1}, i O m, i M : i < i, = J q,u {0, 1}, i O m, u M m, m M, J A14) A15) A16) A17) References 1. Boston Consultancy Group. The 2017 European Railway Performance Index; Boston Consultancy Group: Boston, MA, USA, 18 April European Commission Directorate General for Mobility and Transport. Study on Prices and Quality Rail Passenger Services; Report Reference: MOVE/B2/ ; European Commission Directorate General for Mobility and Transport: Brussel, Belgium, April 2016.

17 Algorithms 2018, 11, Lamorgese, L.; Mannino, C.; Pacciarelli, D.; Törnquist Krasemann, J. Train Dispatching. In Handbook Optimization in Railway Industry, International Series in Operations Research & Management Science; Borndörfer, R., Klug, T., Lamorgese, L., Mannino, C., Reur, M., Schlechte, T., Eds.; Springer: Cham, Switzerland, 2018; Volume 268. [CrossRef] 4. Cacchiani, V.; Huisman, D.; Kidd, M.; Kroon, L.; Toth, P.; Veelenturf, L.; Wagenaar, J. An overview recovery models and algorithms for real- railway rescheduling. Transp. Res. B Methodol. 2010, 63, [CrossRef] 5. Fang, W.; Yang, S.; Yao, X. A Survey on Problem Models and Solution Approaches to Rescheduling in Railway Networks. IEEE Trans. Intell. Trans. Syst. 2015, 16, [CrossRef] 6. Josyula, S.; Törnquist Krasemann, J. Passenger-oriented Railway Traffic Re-scheduling: A Review Alternative Strategies utilizing Passenger Flow Data. In Proceedings 7th International Conference on Railway Operations Modelling and Analysis, Lille, France, 4 7 April Szpigel, B. Optimal train scheduling on a single track railway. Oper. Res. 1973, 72, D Ariano, A.; Pacciarelli, D.; Pranzo, M. A branch and bound algorithm for scheduling trains in a railway network. Eur. J. Oper. Res. 2017, 183, [CrossRef] 9. Khosravi, B.; Bennell, J.A.; Potts, C.N. Train Scheduling and Rescheduling in UK with a Modified Shifting Bottleneck Procedure. In Proceedings 12th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems 2012, Lublana, Slovenia, 13 September 2012; pp Liu, S.; Kozan, E. Scheduling trains as a blocking parallel-machine ob shop scheduling problem. Comput. Oper. Res. 2009, 36, [CrossRef] 11. Mascis, A.; Pacciarelli, D. Job-shop scheduling with blocking and no-wait constraints. Eur. J. Oper. Res. 2002, 143, [CrossRef] 12. Oliveira, E.; Smith, B.M. A Job-Shop Scheduling Model for Single-Track Railway Scheduling Problem; Research Report Series 21; School Computing, University Leeds: Leeds, UK, Törnquist, J.; Persson, J.A. N-tracked railway traffic re-scheduling during disturbances. Transp. Res. Part B Methodol. 2007, 41, [CrossRef] 14. Pellegrini, P.; Douchet, G.; Marliere, G.; Rodriguez, J. Real- train routing and scheduling through mixed integer linear programming: Heuristic approach. In Proceedings 2013 International Conference on Industrial Engineering and Systems Management IESM), Rabat, Morocco, October Xu, Y.; Jia, B.; Ghiasib, A.; Li, X. Train routing and tabling problem for heterogeneous train traffic with switchable scheduling rules. Transp. Res. Part C Emerg. Technol. 2017, 84, [CrossRef] 16. Corman, F.; D Ariano, A.; Pacciarelli, D.; Pranzo, M. Centralized versus distributed systems to reschedule trains in two dispatching areas. Public Trans. Plan. Oper. 2010, 2, [CrossRef] 17. Corman, F.; D Ariano, A.; Pacciarelli, D.; Pranzo, M. Optimal inter-area coordination train rescheduling decisions. Trans. Res. Part E 2012, 48, Corman, F.; Pacciarelli, D.; D Ariano, A.; Samá, M. Rescheduling Railway Traffic Taking into Account Minimization Passengers Discomfort. In Proceedings International Conference on Computational Logistics, ICCL 2015, Delft, The Nerlands, September 2015; pp Lamorgese, L.; Mannino, C. An Exact Decomposition Approach for Real-Time Train Dispatching Problem. Oper. Res. 2015, 63, [CrossRef] 20. Meng, L.; Zhou, X. Simultaneous train rerouting and rescheduling on an N-track network: A model reformulation with network-based cumulative flow variables. Trans. Res. Part B Methodol. 2014, 67, [CrossRef] 21. Tormo, J.; Panou, K.; Tzierpoulos, P. Evaluation and Comparative Analysis Railway Perturbation Management Methods. In Proceedings Conférence Mondiale sur la Recherche Dans les Transports 13th WCTR), Rio de Janeiro, Brazil, July Rodriguez, J. An incremental decision algorithm for railway traffic optimisation in a complex station. Eleventh. In Proceedings International Conference on Computer System Design and Operation in Railway and Or Transit Systems COMPRAIL08), Toledo, Spain, September 2008; pp Bettinelli, A.; Santini, A.; Vigo, D. A real- conflict solution algorithm for train rescheduling problem. Trans. Res. Part B Methodol. 2017, 106, [CrossRef] 24. Samà, M.; D Ariano, A.; Corman, F.; Pacciarelli, D. A variable neighbourhood search for fast train scheduling and routing during disturbed railway traffic situations. Comput. Oper. Res. 2017, 78, [CrossRef]

18 Algorithms 2018, 11, Burdett, R.L.; Kozan, E. A sequencing approach for creating new train tables. OR Spectr. 2010, 32, [CrossRef] 26. Tan, Y.; Jiang, Z. A Branch and Bound Algorithm and Iterative Reordering Strategies for Inserting Additional Trains in Real Time: A Case Study in Germany. Math. Probl. Eng. 2015, 2015, [CrossRef] 27. Gholami, O.; Sotskov, Y.N. A fast heuristic algorithm for solving parallel-machine ob-shop scheduling problems. Int. J. Adv. Manuf. Technol. 2014, 70, [CrossRef] 28. Sotskov, Y.; Gholami, O. Mixed graph model and algorithms for parallel-machine ob-shop scheduling problems. Int. J. Prod. Res. 2017, 55, [CrossRef] 29. Krasemann, J.T. Design an effective algorithm for fast response to re-scheduling railway traffic during disturbances. Transp. Res. Part C Emerg. Technol. 2012, 20, [CrossRef] 2018 by authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under terms and conditions Creative Commons Attribution CC BY) license

THE EFFECTIVENESS OF STATIC IMPLICATIONS IN REAL-TIME RAILWAY TRAFFIC MANAGEMENT

THE EFFECTIVENESS OF STATIC IMPLICATIONS IN REAL-TIME RAILWAY TRAFFIC MANAGEMENT Advanced OR and AI Methods in Transportation THE EFFECTIVENESS OF STATIC IMPLICATIONS IN REAL-TIME RAILWAY TRAFFIC MANAGEMENT Marco PRANZO, Andrea D ARIANO, Dario PACCIARELLI Abstract. We study a real-time

More information

Effects of flexible timetables in real-time scheduling of rail operations

Effects of flexible timetables in real-time scheduling of rail operations 1 Effects of flexible timetables in real-time scheduling of rail operations Andrea D Ariano Dario Pacciarelli Marco Pranzo Department of Transport and Planning - Delft University of Technology, The Netherlands

More information

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007) In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning

More information

A real-time conflict resolution algorithm for the train rescheduling problem

A real-time conflict resolution algorithm for the train rescheduling problem A real-time conflict resolution algorithm for the train rescheduling problem Andrea Bettinelli, Alberto Santini, Daniele Vigo February 17, 2016 OR-Unibo Operational Research Group @OR_Unibo Thanks for

More information

Job-shop scheduling with limited capacity buffers

Job-shop scheduling with limited capacity buffers Job-shop scheduling with limited capacity buffers Peter Brucker, Silvia Heitmann University of Osnabrück, Department of Mathematics/Informatics Albrechtstr. 28, D-49069 Osnabrück, Germany {peter,sheitman}@mathematik.uni-osnabrueck.de

More information

Ant colony optimization for the real-time train routing selection problem

Ant colony optimization for the real-time train routing selection problem Dipartimento di Ingegneria Via della Vasca Navale, 79 00146 Roma, Italy Ant colony optimization for the real-time train routing selection problem M. Samà 1, P. Pellegrini 2, A. D Ariano 1, J. Rodriguez

More information

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem Computational Complexity CSC 5802 Professor: Tom Altman Capacitated Problem Agenda: Definition Example Solution Techniques Implementation Capacitated VRP (CPRV) CVRP is a Vehicle Routing Problem (VRP)

More information

Ruled Based Approach for Scheduling Flow-shop and Job-shop Problems

Ruled Based Approach for Scheduling Flow-shop and Job-shop Problems Ruled Based Approach for Scheduling Flow-shop and Job-shop Problems Mohammad Komaki, Shaya Sheikh, Behnam Malakooti Case Western Reserve University Systems Engineering Email: komakighorban@gmail.com Abstract

More information

Single Machine Scheduling with Interfering Job Sets. Arizona State University PO Box Tempe, AZ

Single Machine Scheduling with Interfering Job Sets. Arizona State University PO Box Tempe, AZ Single Machine Scheduling with Interfering Job Sets Ketan Khowala 1,3, John Fowler 1,3, Ahmet Keha 1* and Hari Balasubramanian 2 1 Department of Industrial Engineering Arizona State University PO Box 875906

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

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

A Benders decomposition approach for the robust shortest path problem with interval data A Benders decomposition approach for the robust shortest path problem with interval data R. Montemanni, L.M. Gambardella Istituto Dalle Molle di Studi sull Intelligenza Artificiale (IDSIA) Galleria 2,

More information

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers , October 20-22, 2010, San Francisco, USA Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers I-Lun Tseng, Member, IAENG, Huan-Wen Chen, and Che-I Lee Abstract Longest-path routing problems,

More information

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,

More information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm Design (8) Graph Algorithms 1/2 Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of

More information

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows

A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows A Computational Study of Bi-directional Dynamic Programming for the Traveling Salesman Problem with Time Windows Jing-Quan Li California PATH, University of California, Berkeley, Richmond, CA 94804, jingquan@path.berkeley.edu

More information

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems Gutenberg School of Management and Economics Discussion Paper Series A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems Michael Drexl March 202 Discussion paper

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach

Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach Search for an Immobile Entity on a Unit Graph: A Mathematical Programming Approach by Wanyan Yu and Rajan Batta Department of Industrial and Systems Engineering, 438 Bell Hall University at Buffalo (SUNY),

More information

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology Carlos A. S. OLIVEIRA CAO Lab, Dept. of ISE, University of Florida Gainesville, FL 32611, USA David PAOLINI

More information

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012

Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 Solving Assembly Line Balancing Problem in the State of Multiple- Alternative

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen University of Copenhagen Outline Motivation and Background Minimum-Weight Spanner Problem Greedy Spanner Algorithm Exact Algorithm:

More information

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

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Resource Constrained Project Scheduling. Reservations and Timetabling

Resource Constrained Project Scheduling. Reservations and Timetabling DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 13 Resource Constrained Project Scheduling. Reservations and Timetabling Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Preprocessing: Temporal

More information

The Branch & Move algorithm: Improving Global Constraints Support by Local Search

The Branch & Move algorithm: Improving Global Constraints Support by Local Search Branch and Move 1 The Branch & Move algorithm: Improving Global Constraints Support by Local Search Thierry Benoist Bouygues e-lab, 1 av. Eugène Freyssinet, 78061 St Quentin en Yvelines Cedex, France tbenoist@bouygues.com

More information

A Tabu Search solution algorithm

A Tabu Search solution algorithm Chapter 5 A Tabu Search solution algorithm The TS examines a trajectory sequence of solutions and moves to the best neighbor of the current solution. To avoid cycling, solutions that were recently examined

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

A genetic algorithm for kidney transplantation matching

A genetic algorithm for kidney transplantation matching A genetic algorithm for kidney transplantation matching S. Goezinne Research Paper Business Analytics Supervisors: R. Bekker and K. Glorie March 2016 VU Amsterdam Faculty of Exact Sciences De Boelelaan

More information

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming Samuel Souza Brito and Haroldo Gambini Santos 1 Dep. de Computação, Universidade Federal de Ouro Preto - UFOP

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Efficient Synthesis of Production Schedules by Optimization of Timed Automata Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

Optimizing the train timetable with consideration of different kinds of headway time

Optimizing the train timetable with consideration of different kinds of headway time Research Article Optimizing the train timetable with consideration of different kinds of headway time Journal of Algorithms & Computational Technology 0, Vol. () 48 6! The Author(s) 06 Reprints and permissions:

More information

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini

Metaheuristic Development Methodology. Fall 2009 Instructor: Dr. Masoud Yaghini Metaheuristic Development Methodology Fall 2009 Instructor: Dr. Masoud Yaghini Phases and Steps Phases and Steps Phase 1: Understanding Problem Step 1: State the Problem Step 2: Review of Existing Solution

More information

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem

A Row-and-Column Generation Method to a Batch Machine Scheduling Problem The Ninth International Symposium on Operations Research and Its Applications (ISORA 10) Chengdu-Jiuzhaigou, China, August 19 23, 2010 Copyright 2010 ORSC & APORC, pp. 301 308 A Row-and-Column Generation

More information

Discrete Optimization with Decision Diagrams

Discrete Optimization with Decision Diagrams Discrete Optimization with Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University Australian OR Society, May 2014 Goal Find an alternative

More information

Set Cover with Almost Consecutive Ones Property

Set Cover with Almost Consecutive Ones Property Set Cover with Almost Consecutive Ones Property 2004; Mecke, Wagner Entry author: Michael Dom INDEX TERMS: Covering Set problem, data reduction rules, enumerative algorithm. SYNONYMS: Hitting Set PROBLEM

More information

Graph Coloring via Constraint Programming-based Column Generation

Graph Coloring via Constraint Programming-based Column Generation Graph Coloring via Constraint Programming-based Column Generation Stefano Gualandi Federico Malucelli Dipartimento di Elettronica e Informatica, Politecnico di Milano Viale Ponzio 24/A, 20133, Milan, Italy

More information

of optimization problems. In this chapter, it is explained that what network design

of optimization problems. In this chapter, it is explained that what network design CHAPTER 2 Network Design Network design is one of the most important and most frequently encountered classes of optimization problems. In this chapter, it is explained that what network design is? The

More information

Question Bank Subject: Advanced Data Structures Class: SE Computer

Question Bank Subject: Advanced Data Structures Class: SE Computer Question Bank Subject: Advanced Data Structures Class: SE Computer Question1: Write a non recursive pseudo code for post order traversal of binary tree Answer: Pseudo Code: 1. Push root into Stack_One.

More information

Parallel Graph Algorithms

Parallel Graph Algorithms Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050/VT3 Part I Introduction Overview Graphs definitions & representations Minimal Spanning Tree (MST) Prim s algorithm Single Source

More information

PBW 654 Applied Statistics - I Urban Operations Research. Unit 3. Network Modelling

PBW 654 Applied Statistics - I Urban Operations Research. Unit 3. Network Modelling PBW 54 Applied Statistics - I Urban Operations Research Unit 3 Network Modelling Background So far, we treated urban space as a continuum, where an entity could travel from any point to any other point

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

Automatic Drawing for Tokyo Metro Map

Automatic Drawing for Tokyo Metro Map Automatic Drawing for Tokyo Metro Map Masahiro Onda 1, Masaki Moriguchi 2, and Keiko Imai 3 1 Graduate School of Science and Engineering, Chuo University monda@imai-lab.ise.chuo-u.ac.jp 2 Meiji Institute

More information

An MILP Model for Short Term Scheduling. of a Special Class of Multipurpose Batch Plants

An MILP Model for Short Term Scheduling. of a Special Class of Multipurpose Batch Plants An MILP Model for hort Term cheduling of a pecial Class of Multipurpose Batch Plants ungdeuk Moon and Andrew N. Hrymak McMaster Advanced Control Consortium Department of Chemical Engineering, McMaster

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Real-time train routing and scheduling through mixed integer linear programming: Heuristic approach

Real-time train routing and scheduling through mixed integer linear programming: Heuristic approach Real-time train routing and scheduling through mixed integer linear programming: Heuristic approach Paola Pellegrini, Guillaume Douchet, Grégory Marliere, Joaquin Rodriguez To cite this version: Paola

More information

Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione. Via della Vasca Navale, Roma, Italy

Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione. Via della Vasca Navale, Roma, Italy R O M A TRE DIA Università degli Studi di Roma Tre Dipartimento di Informatica e Automazione Via della Vasca Navale, 79 00146 Roma, Italy A tabu search algorithm for rerouting trains during rail operations

More information

Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression

Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression Multiple-choice Vector Bin Packing: Arc-flow Formulation with Graph Compression Filipe Brandão fdabrandao@dcc.fc.up.pt arxiv:1312.3836v1 [math.oc] 13 Dec 2013 João Pedro Pedroso pp@fc.up.pt Technical Report

More information

Scheduling Algorithms to Minimize Session Delays

Scheduling Algorithms to Minimize Session Delays Scheduling Algorithms to Minimize Session Delays Nandita Dukkipati and David Gutierrez A Motivation I INTRODUCTION TCP flows constitute the majority of the traffic volume in the Internet today Most of

More information

The Gurobi Solver V1.0

The Gurobi Solver V1.0 The Gurobi Solver V1.0 Robert E. Bixby Gurobi Optimization & Rice University Ed Rothberg, Zonghao Gu Gurobi Optimization 1 1 Oct 09 Overview Background Rethinking the MIP solver Introduction Tree of Trees

More information

CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION

CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called cluster)

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

arxiv: v1 [math.oc] 9 Jan 2019

arxiv: v1 [math.oc] 9 Jan 2019 Sweep Algorithms for the Capacitated Vehicle Routing Problem with Structured Time Windows arxiv:1901.02771v1 [math.oc] 9 Jan 2019 C. Hertrich, P. Hungerländer, and C. Truden 10th January 2019 Abstract

More information

4.1 Interval Scheduling

4.1 Interval Scheduling 41 Interval Scheduling Interval Scheduling Interval scheduling Job j starts at s j and finishes at f j Two jobs compatible if they don't overlap Goal: find maximum subset of mutually compatible jobs a

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo CSE 431/531: Analysis of Algorithms Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast algorithms to solve

More information

Scheduling with Bus Access Optimization for Distributed Embedded Systems

Scheduling with Bus Access Optimization for Distributed Embedded Systems 472 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 8, NO. 5, OCTOBER 2000 Scheduling with Bus Access Optimization for Distributed Embedded Systems Petru Eles, Member, IEEE, Alex

More information

Approximation Method to Route Generation in Public Transportation Network

Approximation Method to Route Generation in Public Transportation Network dr Jolanta Koszelew Katedra Informatyki Teoretycznej Wydział Informatyki Politechnika Białostocka Approximation Method to Route Generation in Public Transportation Network Abstract This paper presents

More information

On step fixed-charge hub location problem

On step fixed-charge hub location problem On step fixed-charge hub location problem Marcos Roberto Silva DEOP - Departamento de Engenharia Operacional Patrus Transportes Urgentes Ltda. 07934-000, Guarulhos, SP E-mail: marcos.roberto.silva@uol.com.br

More information

A Network-based Representation of Track Layouts in Railway Stations

A Network-based Representation of Track Layouts in Railway Stations A Network-based Representation of Track Layouts in Railway Stations Vishnu Narayanan Narayan Rangaraj March 15, 2005 Abstract A general representation scheme for the track layout at a railway station is

More information

The Size Robust Multiple Knapsack Problem

The Size Robust Multiple Knapsack Problem MASTER THESIS ICA-3251535 The Size Robust Multiple Knapsack Problem Branch and Price for the Separate and Combined Recovery Decomposition Model Author: D.D. Tönissen, Supervisors: dr. ir. J.M. van den

More information

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.)

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.) Scheduling Scheduling is the problem of allocating scarce resources to activities over time. [Baker 1974] Typically, planning is deciding what to do, and scheduling is deciding when to do it. Generally,

More information

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems Keely L. Croxton Fisher College of Business The Ohio State University Bernard Gendron Département

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on

More information

n Given: n set of resources/machines M := {M 1 n satisfies constraints n minimizes objective function n Single-Stage:

n Given: n set of resources/machines M := {M 1 n satisfies constraints n minimizes objective function n Single-Stage: Scheduling Scheduling is the problem of allocating scarce resources to activities over time. [Baker 1974] Typically, planning is deciding what to do, and scheduling is deciding when to do it. Generally,

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Lecture 1: Examples, connectedness, paths and cycles

Lecture 1: Examples, connectedness, paths and cycles Lecture 1: Examples, connectedness, paths and cycles Anders Johansson 2011-10-22 lör Outline The course plan Examples and applications of graphs Relations The definition of graphs as relations Connectedness,

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

Conflict Graphs for Combinatorial Optimization Problems

Conflict Graphs for Combinatorial Optimization Problems Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far: I Strength of formulations; improving formulations by adding valid inequalities I Relaxations and dual problems; obtaining

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,

More information

arxiv: v1 [cs.dm] 6 May 2009

arxiv: v1 [cs.dm] 6 May 2009 Solving the 0 1 Multidimensional Knapsack Problem with Resolution Search Sylvain Boussier a, Michel Vasquez a, Yannick Vimont a, Saïd Hanafi b and Philippe Michelon c arxiv:0905.0848v1 [cs.dm] 6 May 2009

More information

Tree Decompositions of Graphs: Saving Memory in Dynamic Programming 1

Tree Decompositions of Graphs: Saving Memory in Dynamic Programming 1 Tree Decompositions of Graphs: Saving Memory in Dynamic Programming 1 Nadja Betzler Rolf Niedermeier Johannes Uhlmann Wilhelm-Schickard-Institut für Informatik, Universität Tübingen, Sand 13, D-72076 Tübingen,

More information

Fast Bit Sort. A New In Place Sorting Technique. Nando Favaro February 2009

Fast Bit Sort. A New In Place Sorting Technique. Nando Favaro February 2009 Fast Bit Sort A New In Place Sorting Technique Nando Favaro February 2009 1. INTRODUCTION 1.1. A New Sorting Algorithm In Computer Science, the role of sorting data into an order list is a fundamental

More information

Distributed constraint satisfaction problems to model railway scheduling problems

Distributed constraint satisfaction problems to model railway scheduling problems Computers in Railways X 289 Distributed constraint satisfaction problems to model railway scheduling problems P. Tormos 2,M.Abril 1,M.A.Salido 1,F.Barber 1, L. Ingolotti 1 &A.Lova 2 1 DSIC, Universidad

More information

LOCAL SEARCH FOR THE MINIMUM FUNDAMENTAL CYCLE BASIS PROBLEM

LOCAL SEARCH FOR THE MINIMUM FUNDAMENTAL CYCLE BASIS PROBLEM LOCAL SEARCH FOR THE MINIMUM FUNDAMENTAL CYCLE BASIS PROBLEM Abstract E.Amaldi, L.Liberti, N.Maculan, F.Maffioli DEI, Politecnico di Milano, I-20133 Milano amaldi,liberti,maculan,maffioli @elet.polimi.it

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast

More information

Lecture 3. Brute Force

Lecture 3. Brute Force Lecture 3 Brute Force 1 Lecture Contents 1. Selection Sort and Bubble Sort 2. Sequential Search and Brute-Force String Matching 3. Closest-Pair and Convex-Hull Problems by Brute Force 4. Exhaustive Search

More information

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm Henan Zhao and Rizos Sakellariou Department of Computer Science, University of Manchester,

More information

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung 1 Optimales Recycling - Ruhr-Universität Bochum, 15.02.2013 2 1. Introduction and Motivation 2. Problem Definition 3. Literature Review 4. Mathematical Model 5. Variable Neighborhood Search 6. Numerical

More information

A Framework for Space and Time Efficient Scheduling of Parallelism

A Framework for Space and Time Efficient Scheduling of Parallelism A Framework for Space and Time Efficient Scheduling of Parallelism Girija J. Narlikar Guy E. Blelloch December 996 CMU-CS-96-97 School of Computer Science Carnegie Mellon University Pittsburgh, PA 523

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

demand point given tracks

demand point given tracks 2 Introduction Establishing stops (or stations) within a transportation network is fundamental for offering public transportation service, since stops are an important part of the PTN. But it is not clear

More information

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints

A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints Sohaib Afifi 1, Duc-Cuong Dang 1,2, and Aziz Moukrim 1 1 Université de Technologie de Compiègne

More information

Lagrangian Relaxation in CP

Lagrangian Relaxation in CP Lagrangian Relaxation in CP Willem-Jan van Hoeve CPAIOR 016 Master Class Overview 1. Motivation for using Lagrangian Relaxations in CP. Lagrangian-based domain filtering Example: Traveling Salesman Problem.

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Parallel Graph Algorithms

Parallel Graph Algorithms Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050 Spring 202 Part I Introduction Overview Graphsdenitions, properties, representation Minimal spanning tree Prim's algorithm Shortest

More information

The Gurobi Optimizer. Bob Bixby

The Gurobi Optimizer. Bob Bixby The Gurobi Optimizer Bob Bixby Outline Gurobi Introduction Company Products Benchmarks Gurobi Technology Rethinking MIP MIP as a bag of tricks 8-Jul-11 2010 Gurobi Optimization 2 Gurobi Optimization Incorporated

More information

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD

DESIGN AND ANALYSIS OF ALGORITHMS GREEDY METHOD 1 DESIGN AND ANALYSIS OF ALGORITHMS UNIT II Objectives GREEDY METHOD Explain and detail about greedy method Explain the concept of knapsack problem and solve the problems in knapsack Discuss the applications

More information

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004

Today s s lecture. Lecture 3: Search - 2. Problem Solving by Search. Agent vs. Conventional AI View. Victor R. Lesser. CMPSCI 683 Fall 2004 Today s s lecture Search and Agents Material at the end of last lecture Lecture 3: Search - 2 Victor R. Lesser CMPSCI 683 Fall 2004 Continuation of Simple Search The use of background knowledge to accelerate

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

Basic Search Algorithms

Basic Search Algorithms Basic Search Algorithms Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract The complexities of various search algorithms are considered in terms of time, space, and cost

More information