WO2001049550A1 - A train corridor scheduling process - Google Patents

A train corridor scheduling process Download PDF

Info

Publication number
WO2001049550A1
WO2001049550A1 PCT/US2001/000080 US0100080W WO0149550A1 WO 2001049550 A1 WO2001049550 A1 WO 2001049550A1 US 0100080 W US0100080 W US 0100080W WO 0149550 A1 WO0149550 A1 WO 0149550A1
Authority
WO
WIPO (PCT)
Prior art keywords
train
value
siding
trains
function
Prior art date
Application number
PCT/US2001/000080
Other languages
French (fr)
Inventor
John R. Doner
Original Assignee
Ge Harris Railway Electronics, L.L.C.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ge Harris Railway Electronics, L.L.C. filed Critical Ge Harris Railway Electronics, L.L.C.
Priority to CA2395064A priority Critical patent/CA2395064C/en
Priority to DE10194722T priority patent/DE10194722T1/en
Priority to AU24722/01A priority patent/AU780796B2/en
Priority to MXPA02006566A priority patent/MXPA02006566A/en
Publication of WO2001049550A1 publication Critical patent/WO2001049550A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/10Operations, e.g. scheduling or time tables
    • B61L27/12Preparing schedules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06314Calendaring for a resource
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change

Definitions

  • This invention relates to a process for scheduling the movement of trains over a rail corridor having a plurality of sidings or parallel tracks with crossover switches.
  • a rail corridor is a collection of tracks and sidings connecting two rail terminal areas.
  • An example of a rail corridor 8 is shown in Figure 1, showing a single main track 10 and three sidings 20.
  • the western end ofthe rail corridor is on the left side of Figure 1 and the eastern end on the right.
  • Scheduling rail transportation on a rail corridor is particularly complex as compared to highway, water, or air transportation.
  • Trains using a single track traveling in opposite directions (i.e., a meet) or trains traveling in the same direction (i.e., a pass) must meet in the vicinity of a siding so that one train can be sided to let the other pass.
  • a double main line with crossover switches one train can be switched to the second main line to allow the other train to pass.
  • the siding chosen must be long enough to accommodate the train to be sided, and the train to be sided must arrive at the siding and have sufficient time to pull onto the siding before the passing train arrives at the siding.
  • the railroad must earn revenue from its transportation operations, and some of this revenue is generally at risk if trains cannot deliver freight on time.
  • the destination time of the trains must be managed insofar as possible to prevent late penalties incurred by the railroad. Therefore scheduling trains across a rail corridor involves arranging meets and passes as required for all trains, and while also meeting the schedule for each train so that they all arrive, on time, at the end ofthe corridor.
  • Commercially applied scheduling processes attempted to date have been based on paradigms which involve simulation with branch and bound techniques to find a conflict- free schedule. Since a branch and bound process must sort through many binary choices as it proceeds toward a solution, these techniques are slow, and do not take advantage of quantitative relationships that can be adduced from the scheduling context.
  • the prior art technique search processes actually become more complex and take longer to arrive at a solution as the number of sidings in the rail corridor increases. This is due to the search algorithms that form the basis for these prior art techniques. More sidings requires the search algorithm to search through and consider more choices before arriving at an optimum solution. As will be shown below, the technique of the present invention overcomes this disadvantage. Since the present invention calculates a cost function where each siding represents a lower cost, having more sidings will make it easier for the algorithm to identify the optimal (i.e. minimal) cost.
  • One prior art technique uses quantitative information such as train speed, destination, and time of departure as discrete variables in an artificial intelligence based system. The artificial intelligence process involves rules that are used to search through the trial cases until the best case is found.
  • the present invention is a process whereby a rail corridor and the train schedule along that corridor can be characterized by a differentiable (i.e., continuous) cost function, so that a search process based on differentiation may be applied to scheduling train activity in the corridor.
  • the present invention is an analytical process for scheduling trains across a corridor that is driven by a cost function to be minimized, where the cost function is a continuous and differentiable function of the scheduling variables.
  • the present invention is an improvement over the prior art cost functions that include discrete variables and thus are not differentiable everywhere.
  • the present invention will permit the use of search processes relying on gradients, and as such, will converge to solutions much more quickly than the prior art scheduling processes involving simulation, or searching through discrete options.
  • the corridor scheduling process of the present invention involves three steps for identification ofthe optimum schedule.
  • the first step is the gradient search process wherein the gradient of the differentiable cost function is determined.
  • the cost function is a sum of individual localizer functions. For each pair of trains in the corridor that might intersect, using the localizer function, the intersection point is identified as having a high value if the train trajectories do not intersect near a siding and lower values as the intersection point moves toward any siding.
  • the gradient process may not move all intersection points precisely to the center of sidings dependent upon the selected threshold value and parametric values ofthe localizer function. Instead, the gradient process varies train departure times so that the set of all intersection points of trains are moved nearer to sidings.
  • the second phase of the process simply moves the points precisely to the centers of sidings, selects which train to side, and computes exact arrival and departure times for the trains at the siding to assure the physical integrity of the meet.
  • the speeds ofthe individual trains must be modified. This is accomplished during the second step ofthe scheduling process.
  • the third step maintains the proper siding relationships between any two meeting trains, as determined in step two, but allows the meet time to vary in an effort to assure that no train exceeds an upper speed limit.
  • This final phase is again a gradient search process applied to all ofthe meet points determined in the second step.
  • Figure 1 illustrates of a simple rail corridor
  • Figure 2 is a string diagram illustrating the corridor scheduling problem in terms of intersecting lines
  • Figure 3 is a flow chart for the corridor scheduling process ofthe present invention
  • Figure 4 illustrates the basic geometry of train trajectories
  • Figure 5 is a graph ofthe basic sigmoid function
  • Figure 6 illustrates the use of sigmoid sums to discriminate an interval
  • Figure 7 illustrates the construction of a localizer function from sigmoid functions
  • Figure 8 illustrates an example of a localizer function for two sidings
  • Figures 9A and 9B show the modification of a localizer function to account for corridor endpoints
  • Figure 10 illustrates the necessary geometry to achieve a balanced localizer function
  • Figures 1 IN 1 IB, and 1 IC illustrate a technique for approximating the economic penalty function
  • Figure 12 shows a penalty term function for early departure of a train
  • Figure 13 is an initial infeasible string graph schedule for twelve trains;
  • Figure 14 is a string graph for trains of Figure 13 after a gradient search of the present invention;
  • Figure 15 shows the process whereby intersection points are moved to a siding center
  • Figure 16 shows moving the first intersection point to a siding center
  • Figure 17 illustrates the process of speed adjustments to center all meets
  • Figures 18A and 18B through Figures 24A and 24B illustrate certain infeasibilities created by centering meets on sidings and the resolution thereof;
  • FIGS 19A and 19B illustrates the two types of siding conflict
  • Figures 20A and 20B illustrate the resolution of certain siding conflicts
  • FIGS 21A and 21B illustrate the "unresolvable” siding conflict
  • Figures 22 A through 22D illustrate resolution of both types of siding conflicts
  • Figures 23A through 23 E show the cases for downward resolvable siding conflicts
  • Figures 24A and 24B show the resolution of upward-resolvable siding conflicts
  • Figure 25 illustrates train trajectories represented as broken line segments
  • Figure 26 is an evaluation ofthe train trajectory vector
  • Figure 27 shows an adjustment of train trajectory to accommodate siding delays
  • Figure 28 shows siding details for a westbound sided train
  • Figure 29 illustrates siding details for eastbound passing trains
  • Figure 30 is a complete string graph adjusted for centered meets and train sidings.
  • Figures 31 and 32 are flow charts illustrating algorithms implemented by the present invention.
  • the traditional method of graphic depiction of a train schedule for a rail corridor is referred to as a string graph as shown in Figure 2.
  • This string graph represents a time- distance graph of train movement in the corridor depicted in Figure 1.
  • the horizontal axis represents time, (i.e., a fixed window of time) and the vertical axis represents distance, with the point at the origin of the graph being the western end of the corridor, and the point at the top being the eastern end of the corridor.
  • the width of the graph represents the period of interest in which the trains will be scheduled. Lines on the graph sloping one way represent traffic in one direction across the corridor, while lines slopping in the opposite direction represent oppositely-directed traffic. Only the position of the engine is shown.
  • the essential criterion for an acceptable schedule is that any two train trajectories (lines) on the graph must intersect at a siding 20. If their meets are at sidings, then in addition, a choice has to be made as to which train to side.
  • Figure 2 illustrates a situation with three sidings and three trains traveling in each direction
  • the technique of the present invention can be easily extended to any number of trains operating in each direction and any number of sidings on the rail corridor.
  • the concepts of the present invention can also be extended to a rail corridor with more than one main line and crossover switches between the main line tracks.
  • the present invention can be applied to any rail corridor where one train can be switched to another track when a meet or pass with another train occurs.
  • the scheduling of trains must first be feasible, but in addition, there may be choices as to which trains to side or the order to run trains, which helps to assure that economic penalties will not be incurred or, failing that, will at least be ameliorated.
  • Process 30 for obtaining both schedule feasibility and economic acceptability may consist of a number of steps as shown in Figure 3.
  • an initial schedule for the trains is determined; there are several numerical optimization techniques that may be applied here. See for example, Numerical Optimization by Jorge Nacedad and Stephen J. Wright; Springer, New York 1999; ISBN 0-387-98793-2.
  • This initial schedule is input to the gradient search process, step 34, to be discussed below, which minimizes schedule infeasibility.
  • the gradient search process can also minimize economic penalties incurred by the railroad for the late arrival of trains and give due consideration to maximum train speeds, early departure times and siding lengths.
  • the gradient search adjusts train departure times (i.e., the time the train enters the corridor) and/or speeds so that meets occur near sidings.
  • the process 30 loops through siding choice step 38 and the conflicts decision step 36 until all train intersections are placed at or near sidings on the rail corridor by adjusting the speed and/or departure time (i.e., the time the train enters the corridor) of the trains traversing the corridor.
  • step 38 The decisions made at step 38 as to which train to side for each pair of trains meeting at a siding may be driven by considerations of relative economic cost due to the delays created by siding one train versus another train.
  • This siding decision process represents another embodiment of the present invention and will be discussed further below.
  • Figure 4 the bottom of the vertical axis represents the west end of the corridor, and the positive direction along that axis corresponds to eastbound travel.
  • the time window of interest for travel in the corridor begins at time do, and the length ofthe corridor is denoted by L.
  • Figure 4 focuses on characterizing one eastbound train and one westbound train, respectively 2 and T j , with corresponding trajectories labeled Li and L _ S ⁇ , S j denote the speeds and di, d j denote the departure times of the trains T ⁇ and 2 ⁇ respectively.
  • train trajectory E (eastbound) we may express the relationship between coordinates for any point on the line in the fonn
  • trajectory E For train T j (westbound), the form of trajectory E can be likewise expressed as
  • Equation 3-3 This form of a linear equation (3-3) is not the usual form directly in terms of slope and intercept, but in this analysis train speeds and departure times will be varied and the form of Equation 3-3 has the advantage of expressing the train trajectories explicitly in terms of speeds and departure times.
  • the objective of the present invention is to determine the coordinates of intersection points (t y , yij) for pairs of train trajectories, and move these intersection points to sidings.
  • the solution for the trajectory intersection point is
  • intersection point applies to intersections of like- directed or oppositely-directed trains, so that the analysis to be developed concerning intersection points will adjust train trajectories involving both meets and passes.
  • the preferred cost function will have a high value if any intersection point is outside a siding bar, and a low value if and only if all intersection points are within the siding bars. Intersection points entirely outside the graph are not considered; the corridor and scheduling period are considered to be co-extensive with the graph.
  • a function of a single yi j with this cost function property be a localizer function, and construct such a localizer function using the sigmoid function as a basis.
  • the preferred function will depend on the basic sigmoid function, which has the equation
  • the graph of D(x; a, b) takes the form shown in Figure 6, which shows the function D(x; a, b) (reference character 60) derived as a sum of two sigmoid functions 62 and 64.
  • the function D(x; a, b) can be defined to very sharply discriminate when x is in the interval [a, b], and can be made to approach a pulse of width b - a as closely as desired. Also, since the function D(x; a, b) (reference character 60) approaches zero as x becomes more distant from the interval fa, b] , it is possible to sum such interval discriminators (for non-overlapping intervals) and thereby obtain a function which takes a high value when x is in any of the intervals of interest, but is low otherwise.
  • the localizer function 70 shown in Figure 7 (generated by summing sigmoid functions 72, 74, 76, and 78) can be extended to any finite number of intervals, so such a localizer can be constructed for any corridor ofthe type in Figure 1 (one main track, one or more sidings). The sidings are represented along the x-axis between points ai and bi.
  • the localizer function 70 has the form
  • the cost function for the scheduling problem of Figure 2 will be derived below using the localizer function concept, and assuming ns sidings, h the preferred embodiment, the cost function will be low if and only if the y-coordinate y for an intersection of train trajectories lies within the range of a siding, but the localizer function 70 of Figure 7 in fact displays the opposite effect.
  • the localizer function 70 of Figure 7 in fact displays the opposite effect.
  • Equation 4-3 defines a localizer function that is the inverse ofthe localizer function 70. See the localizer function 80 in Figure 8.
  • Equation 4-3 (and taking the form of the inverse of the localizer function 70 in Figure 7) will now be used to define a cost function which takes lower values as the intersection points of train trajectories are moved toward sidings. Two versions ofthe cost function are described separately below.
  • the cost function is a multidimensional function ofthe vector y, where each value of the vector yields a different sum based on localizer function values.
  • Each localizer function value comprising the sum indicates whether an intersection point is in a feasible range (the siding bars 20 of Figure 2) or not. See the cost function 80 of Figure 8, where the x-axis represents distance along the corridor. If all of the intersection points relative to a specific siding are feasible, C'(y) should take a low value in the vicinity of points represented by that siding; otherwise, it takes a value near the value of ⁇ . When many intersection points are involved, ⁇ may have to be chosen so that the near-zero sums of a large number of feasible intersection points do not result in a value in the range of ⁇ , which would mask the feasibility that is to be discriminated by the function.
  • C'(y) is a differentiable function of the vector y (the intersection points) and therefore in each of the variables that determine the various intersection points, i.e., departure times and/or speeds of the trains. Therefore the cost function can be used with gradient search technique or other search techniques based on partial derivatives, to minimize the cost function value at sidings.
  • gradient search technique or other search techniques based on partial derivatives, to minimize the cost function value at sidings.
  • Equation 5-3 The fact that the intersection points in I may not always represent intersections. of trajectories within the corridor 8 poses a difficulty for the cost function as defined in Equation 5-3, which is that any intersection point outside the corridor is a "don't care" point for the search process (so long as it remains outside the corridor), but the cost function as defined in Equation 5-3 will assign a high value to such a point.
  • the cost function of Equation 5-3 is based on the localizer function of Equation 4-3, which is illustrated by reference character 90 in Figure 9A.
  • Equation 5-3 is currently formulated, an otherwise feasible solution might be masked by such a "don't care" point.
  • the solution involves modifying the localizer function 90.
  • Figure 9A depicts the localizer function 90, as defined by
  • Equation 4-3 a modified localizer function 92, which is generated by adding two more sigmoid functions 94 and 96 to account for the end points ofthe corridor 8.
  • e y-coordinate ofthe eastern end ofthe corridor 8
  • w y-coordinate ofthe western end ofthe corridor 8
  • L(x;a, ⁇ ,a i ,b 1 ,...,a ns ,b ns ,e,w) L'(x;a, ⁇ ,a 1 ,b i ,...,a l!s ,b ns )
  • Equation 5-5 The use of the localizer function L of Equation 5-5 also requires rewriting of the cost function in Equation 5-3, as follows.
  • C(y) J L ⁇ y ij ;a, ⁇ ,a v b l ,...,a ns ,b lls ,e,w) (5-6).
  • the sidings are shown as being of different lengths.
  • rail corridors typically have sidings of different lengths.
  • the consequence of different length sidings, with respect to the cost function is that the cost function minima corresponding to sidings do not have the same y value.
  • the cost function 80 of Figure 8 For siding SI, the cost function y value is represented by reference character 82 and the y value for siding S2 is represented by reference character 84. Note that the minimum at reference character 82 has a larger value than the minimum at reference character 84.
  • the sigmoid sum that is creating the minimum uses a narrower portion of the sigmoid function for narrower sidings and, therefore, the associated minimum does not drop down as far as for a wider siding. This effect may cause the cost function gradient optimization process to favor a long siding with a deeper minimum when it is located very close to a short siding with a shallow minimum. In the embodiment discussed below, the cost function will be adjusted to achieve equal minima for all sidings.
  • Figure 10 illustrates a means to achieve a close approximation to a balanced cost function.
  • the intervals [ai, b ⁇ ], b 2 ], and [ ⁇ 3 , b ? ] represent locations of sidings along the main corridor.
  • the localizer function generating the cost function is a sum of sigmoids, each of which contributes substantially only within the immediate vicinity of the sidings for which it creates a minimum in the localizer function. If we assume that the localizer function at point mn does not depend significantly on the sigmoid terms other than those used to create minima for the two immediately surrounding sidings, then we may write a simplified localizer in the form
  • sigmoid functions used to generate the localizer function are only those sigmoid functions representing sidings to the left and right of the point of interest on the
  • one preferred scheme would be to note when successive values of the cost function (during the gradient search process as discussed below) have a difference smaller than a predetermined threshold (see for example, the threshold value ⁇ referred to in conjunction with Equation 8-3 and the textual material following immediately thereafter), then begin to increase n (relative to the differences in siding lengths) and recompute the locahzer function until siding lengths are within 5% of being accurate.
  • a predetermined threshold see for example, the threshold value ⁇ referred to in conjunction with Equation 8-3 and the textual material following immediately thereafter.
  • the cost function as described above permits a search for a feasible schedule only insofar that trains will meet in the vicinity of sidings. No reference has been made to the lengths of the trains relative to the sidings, and if two trains have a "feasible" meet at a siding that will hold neither of them, then the situation is not actually feasible. There are other reasons that trains may not use a siding, related to grade, transportation of hazardous materials, etc., so the following analysis to block the use of a siding by a given train refers to more situations than just train length versus siding length.
  • Equation 5-6 will not prevent such an infeasibility from occurring, but in another embodiment, a simple modification of the localizer functions (Equation 5-5) on which the cost function is based will suffice to prevent such infeasibilities.
  • the cost function contains a term for each possible train trajectory intersection point. In the previous embodiment all such terms are of exactly the same form.
  • S j ,- is the subset of sidings along the corridor on which at least one of the two trains 2 and T j can be sided.
  • the cost function as described by either Equation 5-6 or 6-6 will facilitate the finding of feasible train schedules, but includes no cognizance of the other effects of altering individual train schedules to achieve feasibility.
  • the cost function is modified so that it jointly considers schedule feasibility, and the economic cost of late arrival.
  • step function penalty - if a train Ti misses a preset delivery time t, , there is a fixed penalty cost A,-;
  • step function plus linear increase - if the preset delivery time t, is missed, there is an immediate penalty hi (possibly 0) which thereafter linearly increases at a rate of mi dollars per hour.
  • Figure 11A depicts a single generic form for both of these cases, since both A, and ti may be zero or positive. Thus, Figure 11A illustrates a combined penalty function including both a step penalty plus a linear penalty.
  • a sigmoid is used to represent the cost up to a time slightly beyond , to which is then appended a line of slope / «,-. See Figure 11B.
  • the crossover point from sigmoid to line segment is chosen at the point of the sigmoid where the slope is exactly m,-, (reference character 110) the resulting approximation is differentiable at all points, and therefore smoothly integratable into a gradient search process. If (t c , y c ) represents the crossover point; then the differentiable version ofthe penalty function may be defined by
  • the sigmoids used here will all have ⁇ t values of 1, so that the notation for the parameter ⁇ t in each sigmoid will be suppressed. This choice is made so that the asymptote of the sigmoid is determined to be A,, in conjunction with the penalty value to be represented.
  • the value of ⁇ is positive, and may be chosen to approximate the step cost as sharply as desired.
  • the search is started with "gentle" sigmoids, then increase the values of the ⁇ ,'s as the search progresses. This allows the early search to progress toward correct economic decisions rapidly, and then in the later stages of search, the information concerning economic cost is sharpened to provide more accurate final results.
  • Equation 7-2 For the purposes of expressing the gradient as will be explained below, note that the independent variable t in Equation 7-1 is in fact a function of the departure time di and speed si of train T t , and therefore we may rewrite the equation as
  • Figure IOC also uses a transition from sigmoid to line segment at point 112 on the sigmoid where the slope is exactly that of the line: the difference is that in this case the crossover point t c is less than t,. Except for that fact, the approximating function has a description identical to that provided in Equations 7-1 and 7-3.
  • Equation 5-6 the cost function of Equation 5-6 or Equation 6-6 as follows.
  • the extended cost function accounting for both schedule feasibility and economic cost is defined by
  • Equation 7-5 the cost function as defined in Equation 7-5 will be driven upward both by infeasible scheduling choices, as well as choices that make trains late, and vice versa. The difficulty arises when changes of departure times or speeds cause countervailing effects in the two halves of the cost function of Equation 7-5. If the first term, representing feasibility, is driven up by less than the second term, representing timeliness, is driven down, then the search process may be emphasizing economic cost to such an extent that it converges on infeasible schedules.
  • the weighting actor ⁇ can be varied during the search. For example, starting with a low value of ⁇ would tend to try to force low economic cost at the expense of feasibility. This might cause the trains to swap places in the lineup, to improve the overall timeliness of arrivals, before the actual emphasis begins on selecting speeds and departure times that create a feasible schedule, h any event, the decision as to how to vary ⁇ during the search will benefit from actual testing with examples, and final mechanism for modulating ⁇ will necessarily come from experience familiar to those skilled in the art.
  • Equation 7-6 representing each train are arbitrarily given a height of 1, (i.e., sigmoid asymptotic value of 1) and this Equation 7-6 can likewise be combined with the cost functions for schedule feasibility and economic cost. Specifically, let
  • the specific weighting of the components of cost in Equation 7-7 can be calculated as discussed above in the example with twenty trains and sixty intersections points in the corridor.
  • the schedule feasibility and early departure terms will each have sixty summands and the economic penalty term will have twenty terms.
  • V(s) ⁇ ( Si - s ⁇ ) (7-9),
  • Equation 7-7 Equation 7-7
  • weighting factors for the components of Equation 7-10 can be determined by experiment, hi one embodiment, using the same scheme as set forth above in conjunction with Equation (7-8), for twenty trains and sixty intersections,
  • any function f(x) is a vector in the same space as the independent variable 3c which points in direction of maximum change offfx) within a small local area on the function's surface, thereby pointing the way toward a local minimum or maximum. As such, it is much heralded in the legends and poetry of optimization theory. Calculation of the gradient of the various cost functions discussed below will permit location ofthe local minima identifying schedule feasibility.
  • the objective is to vary the vector d (train departure times) in order to drive the cost function lower, and one technique which can at least locate a local minimum of the cost function is the gradient-directed descent, defined iteratively as follows.
  • V S cfa g ( , (8-3).
  • Step (2) replace d n with d n+1 and return to Step (2).
  • the search is stopped when
  • the stopping threshold for such problems is very situation dependent, as is generally recognized by practitioners ofthe art of optimization.
  • the cost function as shown in Equation 5-6 is a function of the vector of intersection points, y , and the components of y are functions of the components of the vectors s and d . Since at this point only d is variable, the gradient ofthe cost function, is a vector ofthe form
  • Equation 8-6 Using Equation 8-6 and Lemma A3 in the Appendix A we can finally express the / -th component ofthe gradient as
  • the search rule using the gradient as computed in Equation 8-12 is an exact analogue of the search rule given in Equation 8-7 with any occurrence of the vectors ⁇ , 0 , ;! , ⁇ +1 . . . replaced with the vectors s,s 0 ,s n ,s n ⁇ 1 . . ., respectively.
  • the gradient vector takes the form
  • Equation 8-13 the components of the gradient of Equation 8-13 are already determined by Equations 8-7, 8-11, and 8-12.
  • ⁇ ' may be set by experiment, but the results should not be particularly sensitive to its value. A good first guess, in one embodiment, for the value of ⁇ ' would be 0.8, although this parameter might be made smaller if there is some latitude as to the earliest departure times.
  • Equation 7-7 where the aggregate cost function includes schedule feasibility, economic cost, and early departure effects.
  • Equation 8-7 we will rely on the previous gradient computations for the first term on the right side of Equation 8-17. See Equation 8-7 with the substitutions set forth in Equation 8-15 and the text following.
  • Equation 8-17 or 8-18 To deal with the second term on the right side of Equation 8-17 or 8-18, assume only the departure time vector d will be varied in a search for a schedule which is both feasible and prevents early departures. We then wish to determine the gradient of E ⁇ J relative to the vector d , which is ofthe form and (see Equations 8-6 and A-2)
  • Equation 8-24 Equation 8-24
  • weights must be determined by experiment, and in one embodiment of the present invention it is possible to vary them iteratively as the search progresses. Individual users of the present invention may assign these weights as determined by the characteristics of the corridor and the costs imposed to the railroad for the various effects built into the search algorithm. In the preferred embodiment, these weights take on values as determined in conjunction with the discussion of Equation (7-8) above.
  • a search using the late arrival cost function of equation 8-27 may involve variation of only the departure times d , in which case the gradient by which the search is directed is of a form analogous to that shown in Equation 8-19. We may then express a component ofthe gradient vector in the form
  • Equation 8-29
  • Equation 8-7 provides an explicit representation of the components of the gradient of D s,dj when only the train departure times are varied.
  • V ( ⁇ ) £>(?, d) v( ⁇ 7l c(?, d)+ ⁇ 2 E(d)+ ⁇ 3 A ⁇ ,d))
  • Equation 8-32 where the first term on the right side of Equation 8-32 can be expressed in a completely explicit form by reference back to Equation 8-12.
  • Equation 8-33 the components of the first term of the sum on the left of Equation 8-33 are readily obtainable with the help of Equations 8- 14, as explicitly represented with the help of Equations 8-7, 8-11, and 8-12.
  • the components ofthe second term can be obtained using Equation 8-20, and the components ofthe third term are obtained using Equations 8-30 and 8-32.
  • Equation 8-38 where the explicit form of the derivative in Equation 8-38 is from Equation A-2 of the Appendix.
  • indexing of the vector D places the partial derivatives with respect to s k first and then the partial derivatives with respect to d k second, but there are n ⁇ values of each index.
  • Figure 13 shows the string graph for the initial unprocessed schedule (i.e., train departure times were chosen without regard to feasibility), and Table 1 below shows the information concerning each train. There are twelve trains on the corridor and the time frame of interest is eight hours (12:00 to 20:00). The columns ofthe table indicate:
  • Table 2 below shows the final schedule, which resembles the original schedule except for the actual departure times of trains. Note that all trains require 7.5 hours from actual departure until arrival at the destination, so only train six is late, but train six is in fact only four minutes late.
  • the gradient search result is modified by adjusting train speeds between sidings to achieve better siding meets.
  • the gradient search process brought train intersections near, but may not have brought them exactly to the center points of sidings.
  • This embodiment includes a technique for accounting for actual siding delays by changing intersiding speeds of trains as necessary to preserve the positions of intersection points at sidings.
  • we will first adjust the results of the gradient search so that the intersection points of train trajectories have y-coordinates precisely at the centerpoints of sidings. The intersection points must be moved in order of increasing time coordinate, to assure that all prior intersection points have already been appropriately adjusted.
  • the train speeds of the trains involved must be modified somewhat.
  • modifying a train's speed at any point could affect its trajectory downline, which would move the positions of its future meets with other trains. This is avoided by requiring that the centered intersection points remain fixed, and that train speeds be varied as necessary to meet that requirement.
  • the train that will not be sided at a given intersection point will be constrained to pass through the centered intersection point, and the train that will be sided will undergo speed adjustments as needed to arrive and side before the opposed train is within an interfering (i.e., minimum stopping distance) o the siding train.
  • intersection points are processed in of increasing time order, so that all downline adjustments of trajectories may account for earlier modifications.
  • the decision as to which train to side may depend on various criteria, which can be established as special rules auxiliary to the overall algorithm. For example, if only one of the two trains is too long for the siding, then the other train must be sided. Another special case would be invoked for a train which could not restart if it sided on an upgrade ofthe corridor (that is, it could not generate sufficient tractive effort to move uphill).
  • the criteria for deciding the train to side is that of train speed: in effect, siding a train requires that it arrive "early" at the siding, relative to the centered intersection point, so that it can slow down and pull into the siding without interference from the opposed train. Arriving early implies that the train must obtain a speed greater than that which was nominally assigned by the gradient-search process of the present invention, and there is of course, some practical upper limit on train speed, as will be discussed below.
  • the siding decision must be made based on which of the two trains will be driven less far toward its upper limit, given that it must be sided. Once the decision is made, the speed and arrival times of both trains are fitted to the actual requirement of siding the train.
  • Figure 15 shows such a situation, where the intersection point (xy, yij) of trains Ti and T j is to be moved to the center of siding Sj, (designated by point (x tj , (a / , + b / ,) 12)), given that the immediately prior intersection points affecting trains 2 ⁇ and 2 ⁇ have already been adjusted.
  • the speeds needed for train 2 (from S h -i to S h and for 2 ⁇ - (from Sj,+ ⁇ to Sh) are given by
  • Figure 17 illustrates the result of centering all meets for the gradient search results shown in Figure 14, on sidings 181 through 188 by adjusting train speeds between sidings. In effect, rather minor speed adjustments are usually sufficient to center all meets.
  • the meet-centering process can produce two types of siding conflicts, as shown in
  • Figure 19A and 19B Figure 19A repeats the siding problem illustrated in Figure 18B.
  • Figure 19B illustrates another siding conflict situation, but as in Figures 18B and 19 A, the problem is again that two trains traveling in opposite directions must be sided on the same siding. Trains T 2 and T intersect at point 194, with the former sided, while trains
  • Figure 20 A represents a siding conflict identical to Figure 19 A.
  • the conflict at the meet point 200 is resolved by moving it upward to point 201 in Figure 20B. This is accomplished by accelerating or decelerating the necessary trains between adjacent sidings.
  • the siding conflict of Figure 19B can be resolved by moving it downward.
  • FIGs 22A-D This is illustrated in Figures 22A-D, where the illustrations on the right provide resolutions ofthe siding conflicts on the left.
  • the intersection at point 220 in Figure 22A is moved to point 221 in Figure 22B, by reducing the speed of train T x .
  • the siding conflict at point 224 is removed by moving the intersection of point of trains 2 1 . and T 2 to point 225.
  • Now feasible sidings can occur at intersection points 225 and 226.
  • FIGS 23A through 23E illustrate a downward-resolvable siding conflict on siding S n , and it is shown that for all possible variations of that conflict, it can be resolved to a. situation where, at worst, it results in a new siding conflict resulting on siding S braid.j. By our inductive assumption, any such induced siding conflicts can be resolved.
  • Figures 23A through 23E illustrate a downward-resolvable siding conflict on siding S n , and it is shown that for all possible variations of that conflict, it can be resolved to a. situation where, at worst, it results in a new siding conflict resulting on siding S braid.j. By our inductive assumption, any such induced siding conflicts can be resolved.
  • Figure 23 A shows the original meet situation.
  • Figure 23B (case 1) shows the resolution if trains
  • Figure 24 shows a similar demonstration for an upward-resolvable siding conflict on S n , except the illustration is limited to a worst case, with it being evident that cases with fewer constraining meets are also resolvable to, at worst, siding conflicts on S Reid-j.
  • Figure 24A illustrates the original meet situation with the modification accomplished by moving the meet at point c to point g, as illustrated in Figure 24B.
  • the invention permits an initial schedule of trains on the corridor, arranged without regard for meets and passes, to be moved toward a schedule which minimizes or eliminates meets or passes occurring at infeasible locations, i.e., not at sidings.
  • the trains J 2 and _T 3 must side, so the corresponding trajectories L 2 and Ls reflect the required siding time with horizontal line segments 250 and 252 inserted into the trajectories.
  • the minimum length of the horizontal segment is determined by the length and speed of the opposed train. Therefore the level of resolution into train trajectory planning must be improved in this embodiment to obtain an implementable train schedule, based on the results of the gradient search. It is necessary to develop the mathematics of siding trains, given that an initial schedule has been obtained using the gradient search process, above.
  • train trajectories as equations relating distance along the corridor to time, as given by Equation 3-3, does not accommodate the siding time and siding decisions required for some trains. Instead, it provided a characterization of trajectories as straight line segments, for the purpose of minimizing the computations needed for the gradient search process.
  • the simple definition of a trajectory will be modified by adding parameters accounting for train delays at sidings.
  • ⁇ i the direction of train Ti (already defined in Equation 3-4)
  • siding S has endpoints a,- and b,-, as measured from the west end of the corridor, let bo denote the beginning of the corridor, and a n +1 denote the end ofthe corridor.
  • Figure 14 demonstrated the result ofthe gradient search process, and demonstrates that the search process has the capability to adjust departure times so that train trajectories intersect at sidings.
  • the gradient search process cannot usually perfectly align all meets at sidings, and so the meet-centering process was also described above. Once we have in fact placed all meets at sidings, we might use train speed adjustments to interpret the resulting string graph as showing that the engines of trains pass exactly at the centerpoints of sidings.
  • Figure 27 illustrates the technique to be applied, as it is applied to intersection point y 24 - It is assumed that all intersection points of the string graph prior in time to y 2 4 have aheady been modified by this process, so that the required time and speed data concerning trains T 2 and T 4 , prior to point y 24 are in fact valid. Of the two trajectories passing though y 24 , we will choose to side train T 4 , and the modification of trajectory for
  • T 4 is indicated by the dashed sequence of line segments. Effectively, we require that T4 operate at a higher speed from the last intersection point on the trajectory (relative to the incomplete string graph) in order to arrive at siding S n so that the last car of T 4 actually enters the siding before the engine of train T 2 arrives at the west end of siding Song.
  • Figures 28 and 29 represent possible meet/pass situations between trains. There are four basic cases, as follows:
  • Aj h the arrival time ofthe last car of 2 at the upstream end ofthe siding S h ,
  • V h the pullin/pullout speed of any train for siding S / paragraph
  • p(i,h) the siding at which 2 ⁇ had the most recent meet before the present meet at S;, . ⁇ (v) - the minimum stopping time for train Ti at speed v.
  • the trains meeting at a siding S h will be trains 2 ⁇ and T j , and Ti will always be the train to be sided.
  • the apparent constraints that must be met for Ti to be sided are ⁇ D jh (10-12), and
  • condition 10-12 should be replaced with
  • Condition 10-13 also requires a modification, because it could be the case that 2 ⁇ could actually clear the downstream end of the siding (relative to 2 ⁇ ) before Tj could get there, even if 2 ⁇ pulled into the siding, continued moving at maximum siding speed, and arrived at the downstream end of the siding.
  • v. is limited by the speed of Ti, not the position of 2 ⁇ , and takes the minimum value
  • Constraints 10-14 and 10-16 then provide the practical constraints by which meets and passes can be planned.
  • the quantities in the inequalities are functions of the train speeds on the previous intersiding segments and of the departure times from the last siding: inductively, we assume that the departure times for both trains from their previous meets are known, and we must derive the speeds needed by both trains to arrive at the siding S/, so that constraints 10-14 and 10-16 are met.
  • the known quantities, for the trains Ti and 2 ⁇ , at the beginning ofthe inductive step, are (1) t jh , the time at which 2 ⁇ should be at the center of S h (Equation 10-11),
  • the speeds so obtained are for 2 ⁇ and 2 ⁇ from their last meets to their common meet, and when we solve the constraint inequalities (subject to the siding choices made) to obtain these train speeds, we will also determine the values corresponding to items (1) - (3) above for trains 2 ⁇ and 2 ⁇ at siding S h , thereby completing the inductive process. The basis ofthe induction will be taken up later.
  • Equation 10-17 Note that there are also two special cases of Equations 10-17, namely
  • Equation 10-28 Since the value of D jh has been determined in the previous section, Equation 10- 28 and Condition 10-12 lead to inequalities for the speed 5, 7 , or Sij t . ⁇ of T ⁇ , as follows.
  • Equations 25 and 26 establish the values of e ik and b ⁇ . Establishing an inductive basis for the above depends only on the observation that the very first meet for any train 2 or 2 ⁇ is preceded by the entry into the corridor from the east or west end. All of the computations then required to arrive and meet at siding S /!5 subject to the constraints, are based on the original departure time of the relevant train, to is set equal, as the case may be.
  • the inductive process defined above determines speeds, and the times of arrival and departure for each train at each siding, based on meets at the sidings. Once a train has encountered its last meet, the final speed is adjusted to assure that it arrives at the end of the corridor as scheduled. If train 2 ⁇ has its last meet at siding S h , then the speeds between all subsequent sidings which are required to exit the corridor as scheduled are given by
  • Figure 30 displays a final and complete string graph which was has been adjusted for centered meets, and then for train sidings.
  • Figure 31 is a flow chart implementing one of the algorithms of the present invention.
  • the flow chart of Figure 31 can be processed on any special purpose or general purpose computer.
  • the software code necessary to implement the Figure 31 flow chart can be written by anyone who is skilled in the art of preparing software code, given the information in Figure 31 and the description ofthe invention provided herein.
  • Processing begins at a step 310 where the initial conditions are established. That is, there is assumed an initial vector J ,, , which identifies either the initial train speed or the initial departure times of the trains on the corridor, or both.
  • the vector y n is used to calculate the intersection points at a step 312 and then the value of the localizer function for each calculated intersection point is determined at a step 314.
  • Equation 8- 17 identifies two cost functions.
  • the cost function of schedule feasibility and a cost function associated with early departure effects (E).
  • the economic cost function is defined in Equation 8-26 and the maximum speed cost function is defined in Equation 7- 9. Depending upon the embodiment of the present invention, one or more of these cost functions will be used to create the cost function at the step 316.
  • the gradient ofthe cost function at y n is calculated.
  • a new argument for the cost function is created. This argument is referred to as y n+l and is calculated using the gradient value from step 318 and a predetermined step size. This step size is based on the gradient value and must be determined in each situation so as to converge toward the function minimum. Reference is made to the four step process outlined at Equation 8-3.
  • the magnitude ofthe difference between the cost function at y n and y n+1 is calculated.
  • a threshold is compared to a threshold. If the threshold is not exceeded, then the cost function minimum has been located and a schedule for the corridor is produced. This is illustrated diagrammatically at a step 325. If the threshold is exceeded, then further calculations can be performed to find the cost function minimum. At this point, processing moves to a step 326 where the previous value of y n is now set equal to the value of y n+1 and processing returns to the step 312 where the intersection points are again calculated. Processing then continues through the steps 314, 316, 318, 320, and 322, followed by decision step 324 where the magnitude is again compared to the threshold value.
  • Lemma 3 Let (- ⁇ ,w),(a v b l ),...(a N ,b N ),(e, ⁇ ) represent mutually disjoint intervals, with - oo ⁇ ⁇ . ⁇ b. ⁇ a 2 ... ⁇ a N ⁇ b N ⁇ ⁇ . Then L(x;a, ⁇ ) defined to be low if and only if x is in or near one ofthe intervals (-co, w),( ⁇ 1 ,b 1 ),...( ⁇ ⁇ f ,b w ),(e,oo) takes the form
  • N L(x;a, ⁇ ) ⁇ - ⁇ [ ⁇ (x-b i ;a, ⁇ )- ⁇ (x-a i ;a, ⁇ )]- ⁇ (w-x;a, ⁇ ) ⁇ (x-e;a, ⁇ ),
  • Equation BI Equation BI
  • A k, (B2), i.e., the deceleration available at maximum braking is (approximately) independent ofthe train's length or mass.
  • Aa the time of arrival ofthe end of train T ⁇ at the upstream edge of siding S h A ⁇
  • dj the cost function component forcing on-time arrivals a h ⁇ the distance from the west end ofthe corridor 1 at which siding S ⁇ begins
  • Bi the decision variable as to whether train 2 ⁇ is sided at siding S/, b), — the distance from the west end ofthe corridor at which siding i ends (at ⁇ bj)
  • Hi the length of siding S
  • hi the step penalty cost incurred when train T t arrives late I ⁇ the set of all intersections of train trajectories (even if not on the string graph)
  • Mi the length of train 2 ⁇ nii — the late penalty per time unit when train Ti arrives late
  • ns the number of sidings along the corridor
  • n-p the number of trains involved in the optimization p(i,h) — the siding prior to S h at which train T t had a meet
  • S,- ⁇ the designator for the z ' -th siding, traveling eastward on the corridor
  • Si hain 2 ⁇ ' s speed between the downstream edges of sidings Sh and Sh+i s — the vector of dimension n ⁇ of speeds for all train T t -- the designator for the z ' -th train
  • T,v the set of all sidings where at least one of trains 2 and 2 ⁇ can side — the arrival time at which train T ⁇ begins to incur late penalties t jh — the time at which train 2 ⁇ , if not sided at S h , reaches ,. tff ⁇ the time coordinate associated with traj ectory intersection point yy V(s) — the cost function component which limits train speeds

Abstract

A process for scheduling the travel of trains on a rail corridor. The rail corridor includes a plurality of siding tracks onto which trains can be sided when a meet or pass occurs with another train on the corridor. A gradient search process is used with a cost function to determine the optimum schedule by moving each meet and pass to a siding. The individual train schedules are varied by changing train speed and/or the train departure time (i.e., the time at which the train enters the corridor).

Description

A TRAIN CORRIDOR SCHEDULING PROCESS
FIELD OF THE INVENTION
This invention relates to a process for scheduling the movement of trains over a rail corridor having a plurality of sidings or parallel tracks with crossover switches.
BACKGROUND OF THE INVENTION
A rail corridor is a collection of tracks and sidings connecting two rail terminal areas. An example of a rail corridor 8 is shown in Figure 1, showing a single main track 10 and three sidings 20. The western end ofthe rail corridor is on the left side of Figure 1 and the eastern end on the right.
Scheduling rail transportation on a rail corridor is particularly complex as compared to highway, water, or air transportation. Trains using a single track traveling in opposite directions (i.e., a meet) or trains traveling in the same direction (i.e., a pass) must meet in the vicinity of a siding so that one train can be sided to let the other pass. Alternatively, if there exists a double main line with crossover switches, one train can be switched to the second main line to allow the other train to pass. Also, when such meets or passes occur at a siding, the siding chosen must be long enough to accommodate the train to be sided, and the train to be sided must arrive at the siding and have sufficient time to pull onto the siding before the passing train arrives at the siding. The railroad must earn revenue from its transportation operations, and some of this revenue is generally at risk if trains cannot deliver freight on time. The destination time of the trains must be managed insofar as possible to prevent late penalties incurred by the railroad. Therefore scheduling trains across a rail corridor involves arranging meets and passes as required for all trains, and while also meeting the schedule for each train so that they all arrive, on time, at the end ofthe corridor. Commercially applied scheduling processes attempted to date have been based on paradigms which involve simulation with branch and bound techniques to find a conflict- free schedule. Since a branch and bound process must sort through many binary choices as it proceeds toward a solution, these techniques are slow, and do not take advantage of quantitative relationships that can be adduced from the scheduling context.
Additionally, the prior art technique search processes actually become more complex and take longer to arrive at a solution as the number of sidings in the rail corridor increases. This is due to the search algorithms that form the basis for these prior art techniques. More sidings requires the search algorithm to search through and consider more choices before arriving at an optimum solution. As will be shown below, the technique of the present invention overcomes this disadvantage. Since the present invention calculates a cost function where each siding represents a lower cost, having more sidings will make it easier for the algorithm to identify the optimal (i.e. minimal) cost. One prior art technique uses quantitative information such as train speed, destination, and time of departure as discrete variables in an artificial intelligence based system. The artificial intelligence process involves rules that are used to search through the trial cases until the best case is found. In addition to the considerable time taken by an artificial intelligence system to optimize a solution, it is also known that a slight change to the initial conditions may produce a significantly different result, h any case, a slight change to the initial conditions will require a new and lengthy computation to find the optimum solution. A commercial product referred to as The Movement Planner, offered by GE-Harris Railway Electronics L.L.C. of Melbourne, Florida, implements such an artificial intelligence solution. As can be seen, the total set of parameters for scheduling a corridor can be large, and of both discrete and continuous types. Generally, a cost function based on these parameters can be formulated, and then some method of search is executed that will reduce the cost and/or find a feasible schedule for the subject trains. But, the presence of discrete variables in the search space prevents or greatly complicates the application of any "hill-climbing" search processes based on the use of gradients
SUMMARY OF THE INVENTION
Cost functions that are everywhere differentiable have the advantage over prior art artificial intelligence solutions of being amenable to gradient-based minimization algorithms that do not have to accommodate the difficulties that arise in discrete or partially discrete search spaces. The present invention is a process whereby a rail corridor and the train schedule along that corridor can be characterized by a differentiable (i.e., continuous) cost function, so that a search process based on differentiation may be applied to scheduling train activity in the corridor.
The present invention is an analytical process for scheduling trains across a corridor that is driven by a cost function to be minimized, where the cost function is a continuous and differentiable function of the scheduling variables. The present invention is an improvement over the prior art cost functions that include discrete variables and thus are not differentiable everywhere. The present invention will permit the use of search processes relying on gradients, and as such, will converge to solutions much more quickly than the prior art scheduling processes involving simulation, or searching through discrete options.
The corridor scheduling process of the present invention involves three steps for identification ofthe optimum schedule. After an acceptable differentiable cost function is derived, the first step is the gradient search process wherein the gradient of the differentiable cost function is determined. The cost function is a sum of individual localizer functions. For each pair of trains in the corridor that might intersect, using the localizer function, the intersection point is identified as having a high value if the train trajectories do not intersect near a siding and lower values as the intersection point moves toward any siding. The gradient process may not move all intersection points precisely to the center of sidings dependent upon the selected threshold value and parametric values ofthe localizer function. Instead, the gradient process varies train departure times so that the set of all intersection points of trains are moved nearer to sidings. The second phase of the process simply moves the points precisely to the centers of sidings, selects which train to side, and computes exact arrival and departure times for the trains at the siding to assure the physical integrity of the meet. In order to center the intersection points at sidings and side specific trains, the speeds ofthe individual trains must be modified. This is accomplished during the second step ofthe scheduling process.
The third step maintains the proper siding relationships between any two meeting trains, as determined in step two, but allows the meet time to vary in an effort to assure that no train exceeds an upper speed limit. This final phase is again a gradient search process applied to all ofthe meet points determined in the second step.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention can be more easily understood, and the further advantages and uses thereof more readily apparent, when considered in view ofthe description ofthe preferred embodiments and the following figures. Identical reference characters in the figures refer to identical components ofthe invention.
Figure 1 illustrates of a simple rail corridor;
Figure 2 is a string diagram illustrating the corridor scheduling problem in terms of intersecting lines; Figure 3 is a flow chart for the corridor scheduling process ofthe present invention;
Figure 4 illustrates the basic geometry of train trajectories;
Figure 5 is a graph ofthe basic sigmoid function;
Figure 6 illustrates the use of sigmoid sums to discriminate an interval;
Figure 7 illustrates the construction of a localizer function from sigmoid functions; Figure 8 illustrates an example of a localizer function for two sidings;
Figures 9A and 9B show the modification of a localizer function to account for corridor endpoints;
Figure 10 illustrates the necessary geometry to achieve a balanced localizer function; Figures 1 IN 1 IB, and 1 IC illustrate a technique for approximating the economic penalty function;
Figure 12 shows a penalty term function for early departure of a train;
Figure 13 is an initial infeasible string graph schedule for twelve trains; Figure 14 is a string graph for trains of Figure 13 after a gradient search of the present invention;
Figure 15 shows the process whereby intersection points are moved to a siding center;
Figure 16 shows moving the first intersection point to a siding center;
Figure 17 illustrates the process of speed adjustments to center all meets; Figures 18A and 18B through Figures 24A and 24B illustrate certain infeasibilities created by centering meets on sidings and the resolution thereof;
Figures 19A and 19B illustrates the two types of siding conflict;
Figures 20A and 20B illustrate the resolution of certain siding conflicts;
Figures 21A and 21B illustrate the "unresolvable" siding conflict; Figures 22 A through 22D illustrate resolution of both types of siding conflicts;
Figures 23A through 23 E show the cases for downward resolvable siding conflicts;
Figures 24A and 24B show the resolution of upward-resolvable siding conflicts;
Figure 25 illustrates train trajectories represented as broken line segments;
Figure 26 is an evaluation ofthe train trajectory vector; Figure 27 shows an adjustment of train trajectory to accommodate siding delays;
Figure 28 shows siding details for a westbound sided train;
Figure 29 illustrates siding details for eastbound passing trains;
Figure 30 is a complete string graph adjusted for centered meets and train sidings; and
Figures 31 and 32 are flow charts illustrating algorithms implemented by the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The traditional method of graphic depiction of a train schedule for a rail corridor is referred to as a string graph as shown in Figure 2. This string graph represents a time- distance graph of train movement in the corridor depicted in Figure 1. The horizontal axis represents time, (i.e., a fixed window of time) and the vertical axis represents distance, with the point at the origin of the graph being the western end of the corridor, and the point at the top being the eastern end of the corridor. The width of the graph represents the period of interest in which the trains will be scheduled. Lines on the graph sloping one way represent traffic in one direction across the corridor, while lines slopping in the opposite direction represent oppositely-directed traffic. Only the position of the engine is shown. The horizontal bars across the graph, bearing reference to character 20, correspond to the siding locations. The invention as presented herein is described in conjunction with a single-rail corridor with sidings. But those skilled in the art will recognize that it can be easily extended to multiple track main lines with cross-over switches between the main lines.
The essential criterion for an acceptable schedule, as expressed in terms of the string graph of Figure 2, is that any two train trajectories (lines) on the graph must intersect at a siding 20. If their meets are at sidings, then in addition, a choice has to be made as to which train to side.
Note that, unless all of the intersecting lines actually intersect within the sidings 20, the schedule is infeasible. Assuming, for the nonce, that all train speeds will be fixed, the departure times for the trains can be adjusted in order to move the train lines about and attempt to place all intersection points over the sidings 20. h another embodiment of the present invention, it would be possible, as well, to vary train speeds, which would change the slopes of the train trajectory lines, in order to place intersection points over the sidings 20. In yet another embodiment, both speeds and departure times can be varied simultaneously to find a feasible meet/pass plan for the trains. The process to be described herein treats the corridor scheduling problem as a geometry problem, rather than directly as a scheduling problem, as suggested by the prior art. It does so by providing a mechanism by which train trajectory lines are moved under control of a gradient-search process based on a differentiable cost function in a manner that moves the intersection points to or close to established sidings. The search process of the present invention permits variation of speeds and departure times, separately or jointly, and will use an everywhere differentiable cost function that takes on lower values as the schedule approaches feasibility. Because the cost function is everywhere differentiable, an iterative, gradient-search method can be applied that assures that the successive schedules found by the search process in fact converge to a conflict-free result.
Moreover, it is possible to include, in another embodiment of the present invention, the constraint that a siding must be longer than a train to be sided on it. It is further possible to include, in yet another embodiment, the economic costs incurred by adjusting train schedules, hi other embodiments, constraints on maximum train speed and the early departure of trains can also be considered.
It will be appreciated by those skilled in the art that although Figure 2 illustrates a situation with three sidings and three trains traveling in each direction, the technique of the present invention can be easily extended to any number of trains operating in each direction and any number of sidings on the rail corridor. The concepts of the present invention can also be extended to a rail corridor with more than one main line and crossover switches between the main line tracks. The present invention can be applied to any rail corridor where one train can be switched to another track when a meet or pass with another train occurs. The scheduling of trains must first be feasible, but in addition, there may be choices as to which trains to side or the order to run trains, which helps to assure that economic penalties will not be incurred or, failing that, will at least be ameliorated.
Process 30 for obtaining both schedule feasibility and economic acceptability may consist of a number of steps as shown in Figure 3. First, at step 31, an initial prearrangement of the trains is done, establishing their order of entry into the corridor. At this point, the train order is based solely on due times, (represented as an input to step 31 from block 32) with no analysis as to the corridor capacity or specific departure times. At step 33, an initial schedule for the trains is determined; there are several numerical optimization techniques that may be applied here. See for example, Numerical Optimization by Jorge Nacedad and Stephen J. Wright; Springer, New York 1999; ISBN 0-387-98793-2.
This initial schedule is input to the gradient search process, step 34, to be discussed below, which minimizes schedule infeasibility. In another embodiment the gradient search process can also minimize economic penalties incurred by the railroad for the late arrival of trains and give due consideration to maximum train speeds, early departure times and siding lengths. The gradient search adjusts train departure times (i.e., the time the train enters the corridor) and/or speeds so that meets occur near sidings. The process 30 loops through siding choice step 38 and the conflicts decision step 36 until all train intersections are placed at or near sidings on the rail corridor by adjusting the speed and/or departure time (i.e., the time the train enters the corridor) of the trains traversing the corridor.
The decisions made at step 38 as to which train to side for each pair of trains meeting at a siding may be driven by considerations of relative economic cost due to the delays created by siding one train versus another train. This siding decision process represents another embodiment of the present invention and will be discussed further below.
Once the siding decisions are made, some of the trajectories (those for sided trains) on the string graph (Figure 2) will become broken lines, (representing infeasible meets) which may cause new schedule infeasibilities for some train trajectories. At this point, the gradient search can again be applied, but only to the subset of subtrajectories that have been driven into infeasible meets. Multiple passes through the gradient search step 34 and siding decision process step 38 should bring the schedule to complete feasibility. Figure 4 characterizes the train trajectories as lines based on the initial departure times (moment of entry into the corridor) and the train speed. In Figure 4, the bottom of the vertical axis represents the west end of the corridor, and the positive direction along that axis corresponds to eastbound travel. The time window of interest for travel in the corridor begins at time do, and the length ofthe corridor is denoted by L. Figure 4 focuses on characterizing one eastbound train and one westbound train, respectively 2 and Tj, with corresponding trajectories labeled Li and L _ S{, Sj denote the speeds and di, dj denote the departure times of the trains T{ and 2} respectively. The departure time of a train is the time at which it enters the corridor: for an eastbound train, that corresponds to a point situated on the horizontal axis of Figure 4, (i.e., t = 0) and for a westbound train, that corresponds to a point located on the horizontal line y = L.
Then for train trajectory E, (eastbound), we may express the relationship between coordinates for any point on the line in the fonn
t - dt or y = sit -sidi (3-1).
For train Tj (westbound), the form of trajectory E can be likewise expressed as
y -L : -_? , . t - dj J or
Figure imgf000010_0001
We can write equations of identical form for both eastbound and westbound trains by writing
y = sit - sidi + θiL (3-3),
where the speed of westbound trains by convention will be the negative of the train's actual speed, and f 0 if train T, is eastbound θ: = \ ' (3-4).
[1 if tram Ti is westbound
This form of a linear equation (3-3) is not the usual form directly in terms of slope and intercept, but in this analysis train speeds and departure times will be varied and the form of Equation 3-3 has the advantage of expressing the train trajectories explicitly in terms of speeds and departure times.
The objective of the present invention is to determine the coordinates of intersection points (ty, yij) for pairs of train trajectories, and move these intersection points to sidings. For trains Tt and Tj, the solution for the trajectory intersection point is
( ytj), where
sΛ. -s Δ; + (θ, - ΘΛL t _= -i-i — J J L . (3-5),
Si - Sj and
Stsid, - dλ+ isβ, - s,θ, Y y = - Λ-L LLΛJ-1 LΔ (3.6). st - Sj
tij, yij) is derived by equating equation (3-1) and (3-2) (after making the notation change suggested by equation (3-3)).
This characterization of the intersection point applies to intersections of like- directed or oppositely-directed trains, so that the analysis to be developed concerning intersection points will adjust train trajectories involving both meets and passes.
To this point the train scheduling problem has been abstracted to a context of moving intersecting lines about until all intersection points are within certain ranges (the siding bars 20 in Figure 2). When all intersection points that are within the rectangle (representing the corridor 8) are also within the sidings 20, we have obtained a feasible schedule.
It is an objective to obtain a feasible schedule using a search process that minimizes a cost function, and in the preferred embodiment, the preferred cost function will have a high value if any intersection point is outside a siding bar, and a low value if and only if all intersection points are within the siding bars. Intersection points entirely outside the graph are not considered; the corridor and scheduling period are considered to be co-extensive with the graph. Let a function of a single yij with this cost function property be a localizer function, and construct such a localizer function using the sigmoid function as a basis. The preferred function will depend on the basic sigmoid function, which has the equation
σ(x; ,β) = -^ (4-1),
1 + e and has a graph ofthe form shown in Figure 5.
The parameter β of the sigmoid function determines a horizontal asymptote for the curve, and the parameter α determines how sharply the function rises as it crosses the y-axis. As a approaches infinity, the sigmoid curve approaches a step function. In the preferred embodiment β= 1.0 and a — 0.5.
Because the sigmoid function can transition sharply from a low to a high value, it is a good continuous approximation of discrete processes. Sums of sigmoids can also be used to determine whether or not a variable has a value in an interval. Specifically, for the interval [a, b], define the function
D(x;a,b) = σ{x - a;a, β)- σ x — b;a, β) (4-2).
Based on the graph of the sigmoid as depicted in Figure 5, the graph of D(x; a, b) takes the form shown in Figure 6, which shows the function D(x; a, b) (reference character 60) derived as a sum of two sigmoid functions 62 and 64.
Since each of the sigmoids 62 and 64 could be made to approximate a step function as closely as desired, the function D(x; a, b) can be defined to very sharply discriminate when x is in the interval [a, b], and can be made to approach a pulse of width b - a as closely as desired. Also, since the function D(x; a, b) (reference character 60) approaches zero as x becomes more distant from the interval fa, b] , it is possible to sum such interval discriminators (for non-overlapping intervals) and thereby obtain a function which takes a high value when x is in any of the intervals of interest, but is low otherwise. This is shown in Figure 7 for the two intervals [ai, b{] and [α , b ], and it is obvious to those skilled in the art that the construction is generalizable to any finite number of intervals. The localizer function 70 shown in Figure 7 (generated by summing sigmoid functions 72, 74, 76, and 78) can be extended to any finite number of intervals, so such a localizer can be constructed for any corridor ofthe type in Figure 1 (one main track, one or more sidings). The sidings are represented along the x-axis between points ai and bi. The localizer function 70 has the form
2 2
L' (x;a, β ,aλ,bx,a2,bι) = β~^ισ(x-ai; ,β)+^jσ{x-bi; ,β)
1=1 (=1
The cost function for the scheduling problem of Figure 2 will be derived below using the localizer function concept, and assuming ns sidings, h the preferred embodiment, the cost function will be low if and only if the y-coordinate y for an intersection of train trajectories lies within the range of a siding, but the localizer function 70 of Figure 7 in fact displays the opposite effect. Thus we will first define the localizer function
»s "s
L'(x;a,β,aλ,bx,...,a A = β- ∑ ∑σσ((xx -- Ωa,i.;;αa,,/β?))++ ∑∑σ(x ■ bt;a,β) (4-3),
.=1 (=1 which has the desired property of taking a low value if and only if x is in one of the intervals
and a high value otherwise. That is, Equation 4-3 defines a localizer function that is the inverse ofthe localizer function 70. See the localizer function 80 in Figure 8.
The localizer function as defined above in Equation 4-3 (and taking the form of the inverse of the localizer function 70 in Figure 7) will now be used to define a cost function which takes lower values as the intersection points of train trajectories are moved toward sidings. Two versions ofthe cost function are described separately below.
A Simplified Feasible-Schedule Cost Function Now letting nτ be the set of all trains to be run in the corridor, and letting Lt represent the train trajectory line for train Ti (as in Figure 2). Define a set I of all possible y-coordinates ofthe intersection points between the train trajectories by
I= H / W= A- nLj &i,j e {l,...,nτ}\ (5-1). Note that, with reference to Figure 2, this set includes all possible intersection points between train trajectories, even though some of those points may not be within the corridor 8 and/or time window of interest. It is necessary to consider such out-of-corridor intersection points because the search process will move the train trajectories, and may bring into the corridor 8 an intersection point that initially was outside the corridor 8. To create a cost function that takes on a low value if and only if all intersection points lie within one of the sidings 20, we sum localizer function values derived from Equation 4-3. Specifically define the vector that represents all intersection points in the vicinity of y = (y9 /yv l ) (5-2),
and define the cost function C'(y)by
C'( )= £ .A«..*i." ' i ) <5-3
Λ,el
The cost function is a multidimensional function ofthe vector y, where each value of the vector yields a different sum based on localizer function values. Each localizer function value comprising the sum indicates whether an intersection point is in a feasible range (the siding bars 20 of Figure 2) or not. See the cost function 80 of Figure 8, where the x-axis represents distance along the corridor. If all of the intersection points relative to a specific siding are feasible, C'(y) should take a low value in the vicinity of points represented by that siding; otherwise, it takes a value near the value of β. When many intersection points are involved, β may have to be chosen so that the near-zero sums of a large number of feasible intersection points do not result in a value in the range of β, which would mask the feasibility that is to be discriminated by the function.
C'(y) is a differentiable function of the vector y (the intersection points) and therefore in each of the variables that determine the various intersection points, i.e., departure times and/or speeds of the trains. Therefore the cost function can be used with gradient search technique or other search techniques based on partial derivatives, to minimize the cost function value at sidings. One such technique will be discussed below. Since each intersection point occurring as a component of j is a function of the train departure times and the speeds ofthe corresponding trains, we may treat the cost function as one which may be optimized by adjusting either speeds or origination times of the trains, or both.
Accounting for Corridor Endpoints
The fact that the intersection points in I may not always represent intersections. of trajectories within the corridor 8 poses a difficulty for the cost function as defined in Equation 5-3, which is that any intersection point outside the corridor is a "don't care" point for the search process (so long as it remains outside the corridor), but the cost function as defined in Equation 5-3 will assign a high value to such a point. Recall that the cost function of Equation 5-3 is based on the localizer function of Equation 4-3, which is illustrated by reference character 90 in Figure 9A. Thus as Equation 5-3 is currently formulated, an otherwise feasible solution might be masked by such a "don't care" point.
In another embodiment of the present invention, the solution involves modifying the localizer function 90. Figure 9A depicts the localizer function 90, as defined by
Equation 4-3, and a modified localizer function 92, which is generated by adding two more sigmoid functions 94 and 96 to account for the end points ofthe corridor 8. Specifically, define e = y-coordinate ofthe eastern end ofthe corridor 8, (5-4) w = y-coordinate ofthe western end ofthe corridor 8, then alter the definition of the localizer function by including the sigmoid functions 74 and 96 as follows. L(x;a,β,ai,b1,...,ans ,bns,e,w) = L'(x;a,β,a1,bi,...,al!s ,bns)
- σ(w- x; ,β)- σ(x - e;a,β) (5-5).
The use of the localizer function L of Equation 5-5 also requires rewriting of the cost function in Equation 5-3, as follows. C(y)= JL{yij;a,β,avbl,...,ans,blls ,e,w) (5-6).
This cost function then should take a high value so long as any train trajectory intersection point within the corridor is infeasible, but has a low value for all feasible intersection points, as well as intersection points that fall outside ofthe corridor. Like C(γ), C(γ) is a differentiable function in each component of the vector
( ) . Any Gradient search techniques or the use of other information based on partial derivatives, can be used to minimize the value of C y) in the regions ofthe sidings.
A Balanced Feasible-Schedule Cost Function
As can be seen from the localizer functions 70, 90, or 92, the sidings (as represented by the x-axis values ai to bi) are shown as being of different lengths. In fact, rail corridors typically have sidings of different lengths. The consequence of different length sidings, with respect to the cost function (see Equation (5-6)) is that the cost function minima corresponding to sidings do not have the same y value. See the cost function 80 of Figure 8. For siding SI, the cost function y value is represented by reference character 82 and the y value for siding S2 is represented by reference character 84. Note that the minimum at reference character 82 has a larger value than the minimum at reference character 84. Because the sidings are different lengths, the sigmoid sum that is creating the minimum uses a narrower portion of the sigmoid function for narrower sidings and, therefore, the associated minimum does not drop down as far as for a wider siding. This effect may cause the cost function gradient optimization process to favor a long siding with a deeper minimum when it is located very close to a short siding with a shallow minimum. In the embodiment discussed below, the cost function will be adjusted to achieve equal minima for all sidings.
If the derivative of the localizer function 80 has a zero exactly at the midpoint between sidings, then the search process will have no tendency to favor one siding over another. We will call such a localizer function balanced. The situation depicted in Figure 8 does not assure that the cost function derivative will have a zero properly situated; although the derivative may appear to be zero between the sidings, it can be shown by those skilled in the art, through equation manipulation, that the zero is usually off-center. Figure 10 illustrates a means to achieve a close approximation to a balanced cost function. In Figure 10, the intervals [ai, b{],
Figure imgf000017_0001
b2], and [α3, b?] represent locations of sidings along the main corridor. We would like to assure that the derivative of the localizer function, as defined for this corridor, will be zero at the midpoints m , and m23 between sidings. The localizer function generating the cost function is a sum of sigmoids, each of which contributes substantially only within the immediate vicinity of the sidings for which it creates a minimum in the localizer function. If we assume that the localizer function at point mn does not depend significantly on the sigmoid terms other than those used to create minima for the two immediately surrounding sidings, then we may write a simplified localizer in the form
L(x;a1,bl,a2,b2) = β - σ(x - bl; ,β)+ σ(x - a ,a,β)- σ(x - b2; ,β)+ σ(x - a2,a,β)
(5-7). Note here that the sigmoid functions used to generate the localizer function are only those sigmoid functions representing sidings to the left and right of the point of interest on the
localizer function.
It can be shown by computation that
Figure imgf000018_0001
provided that m 12 A 1 a2 ~ m\2 & i2 ~ a ~ b2 ~ m\2 : as is shown in Figure 10. This requirement will force both sidings to be of the same length, of course, and additionally, the next siding corresponding to the interval [α3, b3] must then be the same length as the siding corresponding to interval [ 2, b ]. It follows by induction that all sidings along the corridor must have equal lengths for the localizer function for the corridor to be balanced. Bringing such an artifact to bear would have two effects:
(1) the search might, at least slightly, mislocate intersection points, since the exact position ofthe sidings would not be reflected in the model;
(2) siding lengths would not be accurately represented relative to train lengths.
Of these two drawbacks, the latter is in fact of no consequence, because the modification to the localizer function to account for siding lengths will not affect the subsequent step ofthe present invention (to be discussed below) wherein train lengths are considered relative to siding lengths. The former effect will be of minor consequence, since getting train intersection points nearly into the vicinity of sidings will allow minor adjustments to train speed to ensure intersections occur at sidings. This step of the present invention will also be discussed further below. hi another embodiment especially favorable if there is a large discrepancy between the shortest and longest siding, begin with all sidings assumed equal, thereby preventing bias among sidings in the early part of the search, and then adjust the localizer slowly back toward correct siding lengths as the search process iterates. Specifically, this may be implemented in another embodiment of the present invention as follows. Before the search process begins, (1) compute the average siding length savg as i .-*.) s„,„ = _. ι=l (5-8);
(2) redefine the position of each siding Si (corresponding to corridor interval [α,-, b ]) as corresponding to the interval [fl (0),b('(0)], where
, = at + bt -Sag = ai + bi + savs
2 ' 2
(3) define, for any integer n > 0,
ai'(n) = ai'e-λ" + ai(l - e-λ") and b\(n) = b e~hl + b, (l - e~ " ) (5-10),
where λ is a positive real number. Note then that
fl-(θ) = a,' = a{ ,
Figure imgf000019_0001
and b;(θ) = b; and n li→m∞ b\(n) = b, .
Begin the process by letting n = 0 and then as the search proceeds, increase n according to some scheme.
For example, one preferred scheme would be to note when successive values of the cost function (during the gradient search process as discussed below) have a difference smaller than a predetermined threshold (see for example, the threshold value ε referred to in conjunction with Equation 8-3 and the textual material following immediately thereafter), then begin to increase n (relative to the differences in siding lengths) and recompute the locahzer function until siding lengths are within 5% of being accurate. This will permit the initial localizer to correspond to the balanced localizer, so that sidings will not tend to be favored solely by length. The initial "push" of intersections toward one or another siding will be unbalanced. As n increases, the localizer function will more accurately reflect the true corridor structure, so that eventually an accurate schedule is obtained. Accounting for Train Lengths versus Siding Lengths
The cost function as described above permits a search for a feasible schedule only insofar that trains will meet in the vicinity of sidings. No reference has been made to the lengths of the trains relative to the sidings, and if two trains have a "feasible" meet at a siding that will hold neither of them, then the situation is not actually feasible. There are other reasons that trains may not use a siding, related to grade, transportation of hazardous materials, etc., so the following analysis to block the use of a siding by a given train refers to more situations than just train length versus siding length. The cost function of Equation 5-6 will not prevent such an infeasibility from occurring, but in another embodiment, a simple modification of the localizer functions (Equation 5-5) on which the cost function is based will suffice to prevent such infeasibilities. h particular, the cost function contains a term for each possible train trajectory intersection point. In the previous embodiment all such terms are of exactly the same form. Now suppose that we define the localizer functions to be specific to each possible intersection point of train trajectories, as follows. In this case, we generalize from the context of Figure 2, and assume a total of ns sidings Sl ..,Sn along the corridor, and nγ trains T,...,Tn . We need the following notation: let
Hi = the length of siding S;- (i = 1, ..., ns) (6-1), and let
Mi = the length of train i (i =l, ...,nτ) (6-2).
For any two trains Ti and Tj, define the following set of sidings from amongst all sidings in the corridor:
Sij
Figure imgf000020_0001
(6-3). Sj,- is the subset of sidings along the corridor on which at least one of the two trains 2 and Tj can be sided. Now, if the localizer function for the intersection point of the train trajectories of Tt and 2} does not include the sigmoid terms (see Equation 5-7) corresponding to sidings not in Sy, then it will remain high even though yy is within a siding, but the siding is too short for either train, h this way, accounting for siding versus train length actually reduces the computational complexity ofthe cost function.
To specifically redefine the cost function in this form, first redefine the localizer functions to be specific to train pairs, i.e.,
Figure imgf000021_0001
- ∑σ(yϋ -ah;a,β)+ ισ(yiJ - bh ;a,β)- σ{w-yij;a,β)- σ{yij - e;a,β) (6-4).
Where the subscript "h" identifies a siding.
Finally redefine the cost function as
Φ)= ∑ tiCβ) (6-6
which extends the definition of feasibility so that now the value of C(γ) will be low if and only if
(1) all train trajectory intersections occur on siding bars, and
(2) at least one ofthe two trains in such an intersection can be sided in the corresponding siding. Note that this technique can be extended beyond the consideration of train length versus siding length: if neither of two trains Ti and 2} can be sided on siding S& for any reason, then the localizer for the intersection point yy should omit the term corresponding to S&. For example, we may have a case where a coal train could be sided at St, but would be unable to restart because of grade, but the interfering train, a multimodal, is absolutely not to be sided for a coal train. In this case, the siding may be long enough for either train, but would be precluded from consideration anyway. Clearly in other embodiments the definition of each S, can be contracted to exclude cases such as this, thereby sharpening the ability ofthe search process to prevent unacceptable sidings. Economic Costs, Early Departure, and Speed Constraints
The cost function as described by either Equation 5-6 or 6-6 will facilitate the finding of feasible train schedules, but includes no cognizance of the other effects of altering individual train schedules to achieve feasibility. In another embodiment, the cost function is modified so that it jointly considers schedule feasibility, and the economic cost of late arrival.
Economic Costs (i.e., Late Arrival) Function
Railroad freight service may incur various types of incentives for on-time delivery of freight. For the moment, consider just two types of delay penalties:
(1) step function penalty - if a train Ti misses a preset delivery time t, , there is a fixed penalty cost A,-;
(2) step function plus linear increase - if the preset delivery time t, is missed, there is an immediate penalty hi (possibly 0) which thereafter linearly increases at a rate of mi dollars per hour.
Figure 11A depicts a single generic form for both of these cases, since both A, and ti may be zero or positive. Thus, Figure 11A illustrates a combined penalty function including both a step penalty plus a linear penalty.
The cost function as proposed is in not a differentiable function since it lacks a defined slope at the time tt. This fact precludes, or at least complicates, use of any gradient search technique for minimizing economic cost unless special allowances are made at or near the time tt. For this reason, Figures 11B and 11C depict two approximations to the cost function, a step plus linear penalty, and a linear penalty only, respectively, h both figures, a line segment is grafted onto a sigmoid function in such a way that the resulting function remains differentiable at all points.
For the step plus linear penalty, a sigmoid is used to represent the cost up to a time slightly beyond , to which is then appended a line of slope /«,-. See Figure 11B.
Provided the crossover point from sigmoid to line segment is chosen at the point of the sigmoid where the slope is exactly m,-, (reference character 110) the resulting approximation is differentiable at all points, and therefore smoothly integratable into a gradient search process. If (tc, yc) represents the crossover point; then the differentiable version ofthe penalty function may be defined by
Figure imgf000023_0001
The sigmoids used here will all have βt values of 1, so that the notation for the parameter βt in each sigmoid will be suppressed. This choice is made so that the asymptote of the sigmoid is determined to be A,, in conjunction with the penalty value to be represented.
The value of α, is positive, and may be chosen to approximate the step cost as sharply as desired. In one embodiment the search is started with "gentle" sigmoids, then increase the values of the α,'s as the search progresses. This allows the early search to progress toward correct economic decisions rapidly, and then in the later stages of search, the information concerning economic cost is sharpened to provide more accurate final results.
In order to determine the crossover point 110 ((tc, yc) in Figure 11B), it is necessary to solve the equation
^( W) =*, (7-2) ϋt t=tc
for the value of tc, with tc > t,. The technique for solving this equation is well known to those skilled in the art. It should be mentioned that the slope of σ(t - t,;α,) is everywhere positive, and takes a maximum at the point t = t,. That maximum can be driven as high as possible by selecting a large α,-, so solving Equation 7-2 is always possible. Finally, for the purposes of expressing the gradient as will be explained below, note that the independent variable t in Equation 7-1 is in fact a function of the departure time di and speed si of train Tt, and therefore we may rewrite the equation as
Figure imgf000024_0001
Figure IOC also uses a transition from sigmoid to line segment at point 112 on the sigmoid where the slope is exactly that of the line: the difference is that in this case the crossover point tc is less than t,. Except for that fact, the approximating function has a description identical to that provided in Equations 7-1 and 7-3.
Now, we extend the cost function of Equation 5-6 or Equation 6-6 as follows. The extended cost function accounting for both schedule feasibility and economic cost is defined by
F(γ) = ηC(γ)+ (l - η)∑Ai(s,d,-ti,hi,mi) (1-4), ι=l where η e [θ,l] is a weighting factor between 0 and 1 used to adjust the relative importance between economic and schedule feasibility considerations. d = \d1,d2,...,dn ) is the vector of train departure times, s = {s1,s2,...,sn ) is the vector of train speeds. hi fact, the intersection points y of train trajectories are functions of the train departure times and speeds, so we may rewrite Equation 7-4 in the form
Figure imgf000024_0002
and it is from this latter form that the gradient may be directly computed as discussed below. The value of the weighting factor η must be chosen, and the choice is of some importance. Note that the cost function as defined in Equation 7-5 will be driven upward both by infeasible scheduling choices, as well as choices that make trains late, and vice versa. The difficulty arises when changes of departure times or speeds cause countervailing effects in the two halves of the cost function of Equation 7-5. If the first term, representing feasibility, is driven up by less than the second term, representing timeliness, is driven down, then the search process may be emphasizing economic cost to such an extent that it converges on infeasible schedules.
hi one embodiment, the weighting actor η can be varied during the search. For example, starting with a low value of η would tend to try to force low economic cost at the expense of feasibility. This might cause the trains to swap places in the lineup, to improve the overall timeliness of arrivals, before the actual emphasis begins on selecting speeds and departure times that create a feasible schedule, h any event, the decision as to how to vary η during the search will benefit from actual testing with examples, and final mechanism for modulating η will necessarily come from experience familiar to those skilled in the art.
An approximate process for gauging the weighting factor η is to note that the cost
components C(s,d) and A(si,di;ti,hi,mj) comprise different numbers of summands, ι=l and therefore have different magnitudes approximately in proportion to the number of summands involved. For example, if there are a total of twenty trains, resulting in sixty intersections on the string graph, then C(s, d) comprises sixty summands and
comprises twenty summands. To more or less equalize the effects
Figure imgf000025_0001
of these two contributions to the cost function, one would set the weight η to the value η = 20/(60+20) = 0.25, thereby equalizing the contribution of each half of the cost
function (i.e., the two terms C(s,d) and ∑jA(si,di;tl,hi,mi)) to the total cost. From ι=l this example, it can be seen that the establishment of a specific value of η is very specific to the situation under study, as is generally recognized by those proficient in the art of complex optimization.
Early Departure Cost Function
The late penalty assessed for economic reasons will tend to prevent train departures from being arbitrarily late. However, the formulations of cost functions so far given (Equations 5-6, 6-6, 7-5) have no terms which prevent the train trajectories from being arbitrarily early. A cost function to prevent early departures can be formulated in terms ofthe ubiquitous sigmoid function by defining a cost
E(J)= ∑[l- σ(J(. - e(.; :)] (7-6), ι=l where e, is the earliest possible departure time for train J,-, and ι' is denoted with a prime to distinguish it from the α, of Equation 7-3. Figure 12 represents a tenn of this cost function for train 2}; clearly, it rapidly becomes
Mgh as train 2 is pushed toward an unrealizable departure time, and rapidly drops as the departure time enters the realizable region. There is no actual economic cost associated with early departures, just a feasibility issue. Therefore the terms of Equation 7-6 representing each train are arbitrarily given a height of 1, (i.e., sigmoid asymptotic value of 1) and this Equation 7-6 can likewise be combined with the cost functions for schedule feasibility and economic cost. Specifically, let
G{s,d)= Ϊ7,C( )+ η2A s,d)+ η3E(d) (7-7), where ηx + η2 + 773 = 1 (7-8).
In one embodiment, the specific weighting of the components of cost in Equation 7-7 can be calculated as discussed above in the example with twenty trains and sixty intersections points in the corridor. The schedule feasibility and early departure terms will each have sixty summands and the economic penalty term will have twenty terms.
Using an equation similar to the one set forth above for calculating η, we calculate ?7j =1/7, η2 =3/1 and η3 =3/7. Other weighting values can be established based on specific user circumstances.
Maximum Train Speed Cost Function
In the embodiment when the search process is permitted to vary train speeds in order to achieve feasibility and cost minimization, there must be a means to prevent the speeds from exceeding practical limits for the trains and tracks involved. In this embodiment we will create an additional component ofthe cost function that will enforce such speed constraints. Such a speed constraint can be implemented analogously to the early departure constraint of Equation 7-6. Specifically, define a speed cost function as
V(s) = ∑σ(Si - s^) (7-9),
1=1 where sj™ ' = the maximum allowable speed for train 2}.
Like the other cost functions discussed herein, since the maximum speed cost function is derived from a sum of sigmoid functions, it id a differentiable function with respect to the intersection points ofthe trains on the corridor. Therefore a gradient search process can be used to find the minima ofthe cost function values. The total cost function, including feasibility of meets and passes, constraints on early departures and late arrivals (i.e., economic penalty), as well as constraints on maximum train speed then is a generalization of Equation 7-7, namely
G{s,d)= ^C s,d)+ η2A(s,d)+ η3E(d)+ η4V(s) (7-10), where
? ι + 77 +773 +774 = 1 (7-11).
The specific values of the weighting factors for the components of Equation 7-10 can be determined by experiment, hi one embodiment, using the same scheme as set forth above in conjunction with Equation (7-8), for twenty trains and sixty intersections,
7 ! = 0.1 and η2 = ηz - η4 = Q3.
The Gradient Search Process
The gradient Vf(x)oϊ any function f(x) is a vector in the same space as the independent variable 3c which points in direction of maximum change offfx) within a small local area on the function's surface, thereby pointing the way toward a local minimum or maximum. As such, it is much heralded in the legends and poetry of optimization theory. Calculation of the gradient of the various cost functions discussed below will permit location ofthe local minima identifying schedule feasibility.
In the current context of train scheduling, as will be appreciated by those skilled in the art, there are a number of possible parameters describing a train trajectory that may be varied to resolve conflicts within a rail corridor, i.e., to drive the cost function lower. The mathematics for a gradient search varying only the departure times or speeds of trains, and then varying both departure times and train speeds is discussed below. We will first deal only with the cost function associated with schedule feasibility (Equation 5-6) but will then extend the cost function to include considerations of economic costs, early departures and maximum train speed as discussed above, and represented by the cost function of Equation 7-10.
Gradient Search to Optimize Schedule Feasibility By Varying Only the Train Departure Times First, assume that there are nγ trains and permit the vector y (as represented in Equation (5-2)) to contain all possible intersection points. But each intersection point ytj has the characterization given in Equation 3-6, which is repeated here for convenience.
y« - \P-L),
S, - Sj then j/,y is directly expressed in terms of departure times and speeds for all ofthe trains in the schedule. Also for convenience, recall the notation for speeds and departure times originally introduced above, which are repeated below. L = the length ofthe corridor, { = the speed of train T{ (taken as a negative value for Ti westbound), d{ = the departure time (time of entry into corridor) of train , and
[0 for T eastbound θ, = \
[ 1 for T; westbound
Next define the vectors s = {s1,...,sllτ ) and d = {d1,...,dn ). Express the cost function in the following terms. For notational convenience, suppress the dependence of the localizer and cost functions on and β. C(γ)= c(s,d)= ∑L0(yX) = ∑E,( ,, ,., ,) (8-2).
The objective is to vary the vector d (train departure times) in order to drive the cost function lower, and one technique which can at least locate a local minimum of the cost function is the gradient-directed descent, defined iteratively as follows.
(1) Start with an initial estimate for departure time, d0 for each train nr, a stopping criterion, ε > 0 , and a step size h.
(2) For the estimate, dn , compute the gradient ^ Cψ __3 ofthe cost function at dn ,
for varying only d , and normalize it so that it has an absolute value of 1, i.e., define V S cfa g = ( , (8-3).
'v^ i~in
In the notation, the dependence of the cost function on s is suppressed, since for the nonce we are varying only d .
(3) Compute the value Cn =
Figure imgf000030_0001
dn - hg , and then compute
Figure imgf000030_0002
(4) If - Cn+1| < ε , then the search is stopped, and dn+l is accepted as the final answer.
Otherwise, replace dn with dn+1 and return to Step (2). In the preferred embodiment, the search is stopped when |C„ -
Figure imgf000030_0003
≤ (.001) C0 - | . The stopping threshold for such problems is very situation dependent, as is generally recognized by practitioners ofthe art of optimization.
It remains to explicitly represent the gradient ^d'Cψ =s which is used in the
iteration. The cost function as shown in Equation 5-6 is a function of the vector of intersection points, y , and the components of y are functions of the components of the vectors s and d . Since at this point only d is variable, the gradient
Figure imgf000030_0004
ofthe cost function, is a vector ofthe form
Figure imgf000030_0005
and we may obtain each component of V'rf 'c(c?J by applying the chain rule for differentiation:
Figure imgf000030_0006
Figure imgf000031_0001
= ∑ (8-6).
Figure imgf000031_0002
Using Equation 8-6 and Lemma A3 in the Appendix A we can finally express the / -th component ofthe gradient as
Figure imgf000031_0003
- y*fø - *(* - yik))- < (yik -e β - σ(yik - e))f -*&_!} (8-7).
Gradient Search to Optimize Schedule Feasibility by Varying Only the Train Speeds
Much of what was developed above can be applied here as well. The primary
difference is that we now emphasize that C y) may be regarded as a function of the
vector s , with held constant, and we wish to vary s to seek a local minimum of the
cost function, and suppress the dependence on d . We may therefore represent C( ) as
C(y)= C(_?) (8-8).
Starting with
Figure imgf000031_0004
we need to compute the components of the form (c(?)) using the differentiation s. chain rule. To that end, note that
Figure imgf000032_0001
and we proceed to obtain an explicit expression for — (yft_), as follows. ds. si (di - dk) + (siθk - skθ L os, ds, si ~ s k
_ ksM - dk)+ (stθk - stθt)l- l)+ fa - s st(dt - dk)- θtL]
Figure imgf000032_0002
Exploiting Equations 8-10, 8-11, and Lemma A3 of the Appendix A provides a final explicit form for the gradient, as shown below
Figure imgf000032_0003
The search rule using the gradient as computed in Equation 8-12 is an exact analogue of the search rule given in Equation 8-7 with any occurrence of the vectors α, 0, ;! , π+1 . . . replaced with the vectors s,s0,sn,sn÷1 . . ., respectively.
Gradient Search to Optimize Schedule Feasibility by Varying both Departure Times and Train Speeds Bearing in mind that the speeds and departure times of trains can be varied
independently, we may also exploit the expression of the cost function as a function of
both s and d , i.e.,
Figure imgf000033_0001
and consider the joint variation of speed and departure time to seek a cost function local
minimum. In this case, the gradient vector takes the form
Figure imgf000033_0002
Because s and d are not functionally dependent on each other, it follows that
Figure imgf000033_0003
so the components of the gradient of Equation 8-13 are already determined by Equations 8-7, 8-11, and 8-12. The search rule in this case is of the same form as Equation 8-7, except that we consider the aggregate vector v = (s,d) (8-15),
and replace all references to d,dQ,dn,dn+lin that rale with references to v,v0,vB,vΛ+1 , respectively.
Including Early Departure Effects in the Gradient Search
Recall from the discussion above that a cost function causing high cost for early
train departures, and low cost otherwise, can be posed in terms of the sigmoid function.
Repeating Equation 7-6, E( )= ∑[l -σfe -e,.;α;)] (8-16), ι=l where e, is the earliest possible departure time for train Ti, and a affects the steepness ofthe rise of cost as early departure is approached. The value of α'may be set by experiment, but the results should not be particularly sensitive to its value. A good first guess, in one embodiment, for the value of ι' would be 0.8, although this parameter might be made smaller if there is some latitude as to the earliest departure times.
If we wish to combine this early departure cost with schedule feasibility cost, we do so in a weighted sum of terms, i.e.,
D^,d)= η ,d)+ (l - η)E(d) 77 e (θ,l) (8-17),
This concept was previously discussed above. See for example, Equation 7-7 where the aggregate cost function includes schedule feasibility, economic cost, and early departure effects.
Since the gradient operation is linear on the space of functions to which it applies, we may write
Figure imgf000034_0001
ήv( ,d))+ (1 - 7 )v(E(rf)) (8-18). We will rely on the previous gradient computations for the first term on the right side of Equation 8-17. See Equation 8-7 with the substitutions set forth in Equation 8-15 and the text following.
To deal with the second term on the right side of Equation 8-17 or 8-18, assume only the departure time vector d will be varied in a search for a schedule which is both feasible and prevents early departures. We then wish to determine the gradient of Eψ J relative to the vector d , which is ofthe form
Figure imgf000035_0001
and (see Equations 8-6 and A-2)
Figure imgf000035_0002
= -(1 -
Figure imgf000035_0003
- σ(dk - ek; k')σ(dk - ek;ak')) (8-20).
We can now construct the gradient V^' D s,djj using Equations 8-7, 8-18, and 8- 20. Departure times are independent of train speeds, so the cost component E d) does not depend on the speeds s . Thus the final form ofthe gradient
Figure imgf000035_0004
{E ...,E,Enτ+l,...,E2nτ) (8-21)
with both train speeds and departure times variable, can be summarized as
Figure imgf000035_0005
where reference is implicitly made to Equations 8-7, 8-12, and 8-15.
Including the Economic Costs in the Gradient Search
The types of costs incurred by railroads for late deliveries were discussed above, and there was provided a differentiable approximation to the function of late costs expressed as a function of time. ' By using such an approximation, which is everywhere differentiable, the avoidance of late costs can be incorporated into the gradient search process. Arrival times are affected by both train speeds and train departure times, although either speed, departure time, or both may be varied during the search.
The form ofthe late cost approximation function was given by (see Equation 7-3) føσfø - α,) for w. < tc
Ai(ui;ti,hi,mi) ■ (8-23),
[yc + m,(ut -t,) for u, ≥ te where ut = the actual arrival time ofthe train, tt = the time at which late penalties begin to accrue, hi = the size ofthe step penalty (in k$), ti = the rate ofthe linear portion ofthe penalty (in k$/hr.), and tc = the transition point where the cost function changes from a sigmoid to a line segment. Shortening this cost function to the form Adμi) for the nonce, and defining u = ψx,...,un ), we may express a cost function which accounts for the arrival times of all trains in the form
Figure imgf000036_0001
But we also have the relationship
u, = dt +— (8-25), so we may consider an alternative representation of Equation 8-24 as
Figure imgf000036_0002
This latter form ofthe cost is appropriate to our search process, since that process is based on varying the components ofthe vector s and d .
Now to incorporate late arrival costs into the search, we extend the cost function of Equation 8-18 to the form
D s,d)= ηxc s,d)+ η2E(d)+ η3A(s,d) (8-27), where the 7 ,. are weighting factors satisfying
77t + 772 + 773 = 1 (8-28).
The choices for these weights must be determined by experiment, and in one embodiment of the present invention it is possible to vary them iteratively as the search progresses. Individual users of the present invention may assign these weights as determined by the characteristics of the corridor and the costs imposed to the railroad for the various effects built into the search algorithm. In the preferred embodiment, these weights take on values as determined in conjunction with the discussion of Equation (7-8) above.
Gradient Search to Optimize Schedule Feasibility, Early Departures, and Economic Costs by Varying Only the Train Departure Times
A search using the late arrival cost function of equation 8-27 may involve variation of only the departure times d , in which case the gradient by which the search is directed is of a form analogous to that shown in Equation 8-19. We may then express a component ofthe gradient vector in the form
(8-29).
Figure imgf000037_0001
Borrowing from Equations 8-6 and 8-20, we expand Equation 8-29 to the form
dd, ipfa vt ∑
Figure imgf000037_0002
+ η3 -{A{s,d)) dd,
~ ek; k' )σ(dk - ek ; ak' ))
Figure imgf000037_0003
+ ?73 d—u. (4fc("t)) dd,-("t)
= >ll - σ(dk - ek; k')σ{dk - ek;ak' ))
Figure imgf000037_0004
(8-30),
Figure imgf000037_0005
which, with the help of Equation 8-7, provides an explicit representation of the components of the gradient of D s,dj when only the train departure times are varied.
Gradient Search to Optimize Schedule Feasibility, Early Departures, and Economic Costs by Varying Only the Train Speeds
If the departure times of trains are held constant, and speeds are varied, then the gradient used to alter the speed vector s = [s1,...,sn j during the search is ofthe form
V(ϊ)£>(?, d)= v(τ7lc(?, d)+ η2E(d)+ η3A^,d))
= 771VC(? , d)+ η3VA^, d) (8-31),
Where E\d ) is independent of the train speed. We therefore can obtain the k-th component of this gradient as
Figure imgf000038_0001
where the first term on the right side of Equation 8-32 can be expressed in a completely explicit form by reference back to Equation 8-12.
Gradient Search to Optimize Schedule Feasibility, Early Departures, and Economic Costs by Varying Both Train Departure Times and Train Speeds
In this case, both d and s are variables in the complete cost function of Equation
8-25, so the gradient takes the form
Figure imgf000038_0002
Again regarding the gradient in vector form, the components of the first term of the sum on the left of Equation 8-33 are readily obtainable with the help of Equations 8- 14, as explicitly represented with the help of Equations 8-7, 8-11, and 8-12. The components ofthe second term can be obtained using Equation 8-20, and the components ofthe third term are obtained using Equations 8-30 and 8-32.
Including Maximum Speed Limitation Effects in the Gradient Search
A component of the cost function that would rise sharply in value as the speed s, of a train J, became close to the maximum speed s * specified for the train was developed above. That component had the formulation (see Equation 7-9)
Figure imgf000039_0001
and occurred as a weighted term ofthe cost function, i.e.,
G( )= 71 (?,J)+ η2A{s,d)+ η3E(d)+ η4V(s) (8-35) where the sum of the weights is chosen to be 1 in the preferred embodiment. Since variation of speed is independent ofthe departure times of trains, we have that
Figure imgf000039_0002
so constraining the search by maximum train speeds does not effect the components of the gradient obtained as partial derivatives with respect to the departure times. Relative to the gradient terms obtained as partial derivatives with respect to train speeds, we have
Figure imgf000039_0003
rii ≠ϊC{d,s)+ η2≠ {d,s)+ (8-37),
Figure imgf000039_0004
Figure imgf000039_0005
= (l-σk, -s? ia,β))rτ(tt -s la,β) (8-38),
where the explicit form of the derivative in Equation 8-38 is from Equation A-2 of the Appendix.
Expression of the Full Gradient
For the sake of completeness, the complete expressions of these components of Equation 8-38 are provided below. First, let
Figure imgf000040_0001
and select the weighting factors 7715T72,773,774 satisfying
Note the indexing of the vector D places the partial derivatives with respect to sk first and then the partial derivatives with respect to dk second, but there are nτ values of each index.
[σ(ya ~ bj ~ σ(yik - bj))- σ(yik - Λj β - σ{yik - ay))
Figure imgf000040_0002
(yik)}
Figure imgf000040_0003
Figure imgf000040_0004
where _5_, s -dk Si -2sk)+L(2skθi -sβk -sfi)
(8-41). ds, is, - s.
or t e nτ +1,.. ,2nτ],
- bj β - σ(yik - b - σ(yik -afa- σ(yik - α,.)) +
Figure imgf000041_0001
(8-42)
Figure imgf000041_0002
η2 (l - σfø - e, ; afyxfa - ei ; α/))
Figure imgf000041_0003
Illustration of the Gradient Search Process
An example with twelve trains, six in each direction, running in a 150 mile corridor over an eight hour time window is provided below.
Figure 13 shows the string graph for the initial unprocessed schedule (i.e., train departure times were chosen without regard to feasibility), and Table 1 below shows the information concerning each train. There are twelve trains on the corridor and the time frame of interest is eight hours (12:00 to 20:00). The columns ofthe table indicate:
(1) the train identification number (shown in the string graph as an integer at the center of each associated string)
(2) direction of travel (Direction),
(3) earliest acceptable departure time (Min. Departure),
(4) actual departure time (Act. Departure),
(5) latest arrival time before penalty is incurred (Max. Arrival)
(6) initial speed (Speed),
(7) train length (Length),
(8) initial penalty incurred for being late (Penalty Step),
(9) per hour penalty for each hour late (Penalty Slope),
(10) maximum permitted speed (Max. Speed).
CO c
CD CO
m
CO 4^
I Ni m m
73 c m ro
Figure imgf000043_0001
The gradient search as discussed above was initiated with departure times being varied and train speeds held constant, and with the cost function including the penalties for early departure and economic penalties (i.e., late arrival). The resulting string graph is shown in Figure 14. Comparing Figure 14 with Figure 13, it can be seen that ofthe initial 31 points of intersection of train trajectories, in Figure 13, nine were close to feasible, where we will define "close" rather arbitrarily in terms ofthe intersection dots at least touching a siding 20. Thus 23 intersection points were not close to feasible. In the final version of Figure 14 some intersection points have disappeared, primarily because trains four and five have joined together in a convoy (identified in Figure 14 by the number 5 on the coincident strings), and some trains have been pushed off the string graph. In Figure 14, there are only two intersection points not meeting the definition of close.
Table 2 below shows the final schedule, which resembles the original schedule except for the actual departure times of trains. Note that all trains require 7.5 hours from actual departure until arrival at the destination, so only train six is late, but train six is in fact only four minutes late.
Figure imgf000045_0001
a TO
3.
Figure imgf000045_0002
Improving the Gradient Search Result by Speed Adjustments
In this embodiment the gradient search result is modified by adjusting train speeds between sidings to achieve better siding meets. The gradient search process brought train intersections near, but may not have brought them exactly to the center points of sidings. This embodiment includes a technique for accounting for actual siding delays by changing intersiding speeds of trains as necessary to preserve the positions of intersection points at sidings. In order to provide a standard basis for that process, in this embodiment we will first adjust the results of the gradient search so that the intersection points of train trajectories have y-coordinates precisely at the centerpoints of sidings. The intersection points must be moved in order of increasing time coordinate, to assure that all prior intersection points have already been appropriately adjusted.
To center intersection points at sidings and side specific trains, the train speeds of the trains involved must be modified somewhat. Of course, modifying a train's speed at any point could affect its trajectory downline, which would move the positions of its future meets with other trains. This is avoided by requiring that the centered intersection points remain fixed, and that train speeds be varied as necessary to meet that requirement. More specifically, the train that will not be sided at a given intersection point will be constrained to pass through the centered intersection point, and the train that will be sided will undergo speed adjustments as needed to arrive and side before the opposed train is within an interfering (i.e., minimum stopping distance) o the siding train.
The intersection points are processed in of increasing time order, so that all downline adjustments of trajectories may account for earlier modifications. As each intersection point is processed, the decision as to which train to side may depend on various criteria, which can be established as special rules auxiliary to the overall algorithm. For example, if only one of the two trains is too long for the siding, then the other train must be sided. Another special case would be invoked for a train which could not restart if it sided on an upgrade ofthe corridor (that is, it could not generate sufficient tractive effort to move uphill).
If there are no special circumstances dictating that one of the two trains should side, then the criteria for deciding the train to side is that of train speed: in effect, siding a train requires that it arrive "early" at the siding, relative to the centered intersection point, so that it can slow down and pull into the siding without interference from the opposed train. Arriving early implies that the train must obtain a speed greater than that which was nominally assigned by the gradient-search process of the present invention, and there is of course, some practical upper limit on train speed, as will be discussed below. The siding decision must be made based on which of the two trains will be driven less far toward its upper limit, given that it must be sided. Once the decision is made, the speed and arrival times of both trains are fitted to the actual requirement of siding the train. Figure 15 shows such a situation, where the intersection point (xy, yij) of trains Ti and Tj is to be moved to the center of siding Sj, (designated by point (xtj, (a/, + b/,) 12)), given that the immediately prior intersection points affecting trains 2} and 2} have already been adjusted. Clearly the speeds needed for train 2 (from Sh-i to Sh and for 2}- (from Sj,+ι to Sh) are given by
Figure imgf000047_0001
and
Ck+1 ' ~ h
Sβ = (10-3)
Xy - X)P where
Ck - - <*k for h = l, ns,
2 and trains Tt, Tp are the trains representing the immediately previous meets of with trains
Ti and Tj, respectively. There is also the case where there is no prior point of intersection, i.e., where the intersection point (xy, yij) is the first intersection point for either or both of 2} or 2), as shown in Figure 16. hi this case, the speed needed to assure intersection at the siding center is given by
st h l = — ° — for Tt eastbound (10-4), x9 - dt and
sih = L ~ C" for Tt westbound (10-5). xif- di
Figure 17 illustrates the result of centering all meets for the gradient search results shown in Figure 14, on sidings 181 through 188 by adjusting train speeds between sidings. In effect, rather minor speed adjustments are usually sufficient to center all meets.
Resolving Siding Conflicts
There is one possible undesirable side-effect that may arise when centering meets or passes, as illustrated in Figures 18A and 18B. After executing the gradient search process, the initial intersection points are shown in Figure 18 A. Train Ti intersects train T at point 180, train Ti intersects train T4 at point 181 and train T2 intersects train T4 at point 182. The result of centering all the meets represented by points 180, 181, and 182, by speed adjustments as discussed above, is shown in Figure 18B. Train Ti is sided on siding Sn+_ at point 183 because of its meet with train T3 , and train T4 is sided at siding
Sn+i at point 184 because of its meet with train T2.
The difficulty created is that trains Ti and T4 must both be sided on the same siding Sn+i, although they are traveling in opposite directions, because one train is waiting on the siding that the other train must occupy before the former train pulls out. This cannot be accomplished, so the result of centering all of the meets will in a case like this be an infeasible schedule. We will denote these artifacts as siding conflicts.
The meet-centering process can produce two types of siding conflicts, as shown in
Figure 19A and 19B. Figure 19A repeats the siding problem illustrated in Figure 18B. Figure 19B illustrates another siding conflict situation, but as in Figures 18B and 19 A, the problem is again that two trains traveling in opposite directions must be sided on the same siding. Trains T2 and T intersect at point 194, with the former sided, while trains
Ti and ^intersect at point 196, with the former sided. Both of the siding conflict types shown in Figures 19A and !9B can be resolved by moving the meet of the conflicting trains to an adjacent siding, as shown in Figures 20 A and 20B.
Figure 20 A represents a siding conflict identical to Figure 19 A. The conflict at the meet point 200 is resolved by moving it upward to point 201 in Figure 20B. This is accomplished by accelerating or decelerating the necessary trains between adjacent sidings. Similarly, the siding conflict of Figure 19B can be resolved by moving it downward.
This process of resolution as illustrated by Figure 20B (that is, the upward and downward movement of meets to resolve siding conflicts) will work if the trains in conflict have at most one meet at the siding to which their meet is moved, but will not work if both trains have meets at the siding to which their meet is moved, as shown in Figures 21 A and 21B. In that case, the resolution of the original siding conflict at point
210 in Figure 21 A by moving it to point 211 in Figure 2 IB, simply creates yet another siding conflict.
However, there is an inductive way to resolve all siding conflicts which might occur from the meet centering process: if we call the siding conflict of Figures 18B and 19A an upward-resolvable conflict, and the siding conflict of Figure 19B a downward- resolvable conflict, it follows that any siding conflict occurring on siding Si is in fact resolvable, because the conflict point may be pushed to the end of the corridor, where any meets with the two trains involved can be avoided by slightly modifying the departure/arrival times ofthe involved trains as necessary.
This is illustrated in Figures 22A-D, where the illustrations on the right provide resolutions ofthe siding conflicts on the left. The intersection at point 220 in Figure 22A is moved to point 221 in Figure 22B, by reducing the speed of train Tx . In Figure 22C, the siding conflict at point 224 is removed by moving the intersection of point of trains 21. and T2 to point 225. Now feasible sidings can occur at intersection points 225 and 226. Now we may proceed by induction to show that all siding conflicts are resolvable, with the basis being provided by the techniques demonstrated in Figure 22, and with the inductive assumption being that all siding conflicts occurring on siding Sn-ι, for n ≥ 2 , can be resolved by pushing the conflict point to the end ofthe corridor.
Figures 23A through 23E illustrate a downward-resolvable siding conflict on siding Sn, and it is shown that for all possible variations of that conflict, it can be resolved to a. situation where, at worst, it results in a new siding conflict resulting on siding S„.j. By our inductive assumption, any such induced siding conflicts can be resolved. Figure
23 A shows the original meet situation. Figure 23B (case 1) shows the resolution if trains
Tx and T2 have no meets at points d and f. Figure 23 C (case 2a) shows the resolution when train Tx has a meet at point d, train T2 has no meet at point f, and train T5 is not sided. Figure 23D (case 2b) ) shows the resolution when train Tλ has a meet at point d, train T2 has no meet at point f, and train T5 is sided. The resolution of case 3 (not shown) where train Tt has no meet at point d, train T2 has a meet at point f, is identical to case 2a and 2b. Finally, case 4 is illustrated in Figure 23E where trains T and T both have meets on siding S„_, .
Figure 24 shows a similar demonstration for an upward-resolvable siding conflict on Sn, except the illustration is limited to a worst case, with it being evident that cases with fewer constraining meets are also resolvable to, at worst, siding conflicts on S„-j. Figure 24A illustrates the original meet situation with the modification accomplished by moving the meet at point c to point g, as illustrated in Figure 24B.
We conclude, finally, that although the meet centering process can produce infeasible string graphs because of the siding conflicts, all such siding conflicts can be resolved to feasible situations which do not include siding conflicts. When moving a meet point from one siding to the next lower one, there will usually be some horizontal latitude as to where to place it, and so to some degree, train speed limits can be favored. Note, however, that the resolution of these conflicts may result in some occasions where trains must travel at unrealizable speeds. This will be dealt with by introducing a new gradient optimization process in another embodiment ofthe present invention below.
Accounting for Siding Time
As described to this point, the invention permits an initial schedule of trains on the corridor, arranged without regard for meets and passes, to be moved toward a schedule which minimizes or eliminates meets or passes occurring at infeasible locations, i.e., not at sidings.
After the processes of improving the gradient search results by speed adjustments and resolving siding conflicts have been applied, as discussed above, to the original gradient search result, there has been created a string graph in which each train trajectory is depicted as a sequence of straight line segments, constrained to meet other train trajectories at the centerpoints of sidings. The string graph, adjusted after the gradient search as necessary to move all meets to centerpoints of sidings, will be called the incomplete string graph.
The gradient search and the speed adjustments produce a meet of two trains at a siding, but in one embodiment it does not actually account for the need for one train to side, or for the fact that the train has a length. To actually side one train, it must arrive at the siding far enough in advance of the other train to completely pull into the siding, and it must delay its departure until the other train is clear ofthe siding. Figure 25 illustrates this problem. To this point, a train trajectory has been approximated as a single unbroken line segment (as in Figure 2), in actuality, it will take the form of a broken line segment if the corresponding train must be sided. In Figure 25, the trains J2 and _T3 must side, so the corresponding trajectories L2 and Ls reflect the required siding time with horizontal line segments 250 and 252 inserted into the trajectories. The minimum length of the horizontal segment is determined by the length and speed of the opposed train. Therefore the level of resolution into train trajectory planning must be improved in this embodiment to obtain an implementable train schedule, based on the results of the gradient search. It is necessary to develop the mathematics of siding trains, given that an initial schedule has been obtained using the gradient search process, above.
Defining the Train Trajectory Vector
Implicit in the purely geometric format described to this point, are the numerical quantities needed to define the train trajectory vector of Equation 10-1. Specifically, for train Ti, the value of bw (Ti eastbound) or of bi n +1 Tt westbound) must be equal to the departure time di of the train, which was determined by the gradient search process, with possible modification by the resolution of siding conflicts. Now for an eastbound train, assume that the first meet with another train occurs with train 2} at siding Sh, h > 0, thus we specifically know that Ti must be at point (xy, cjt) on the string graph, as shown in
Figure 26. Then the speed sih of train Tt, from its origin, must be
Figure imgf000052_0001
and it follows that bik , for k = 1, ..., h, and ea, for k = l,...h-l, may be determined as follows.
bilc = biQ + ^-, fox k= \ ,..., h (10-7), su and = b t + — for c - 1, ..., h-\ (10-8). sih
We can now proceed on the next line segment (i.e., from meet to meet) defining the trajectory of Tt to obtain a speed, determined by the intersections of T,- with other trains, from which we can determine the times of arrival of 2} at all intermediate siding edges, thereby filling in all of the data required for the train trajectory vector of 2 except the siding decision values E,/,. Siding decisions have not yet been considered, so these values will be defined later.
It should be clear that an analogous process can be defined for westbound trains, so we have inductively defined all train trajectory vectors using the incomplete string graph.
Extending the Definition of the Train Trajectory
The definition of train trajectories as equations relating distance along the corridor to time, as given by Equation 3-3, does not accommodate the siding time and siding decisions required for some trains. Instead, it provided a characterization of trajectories as straight line segments, for the purpose of minimizing the computations needed for the gradient search process. In order to generalize the trajectory, in this embodiment the simple definition of a trajectory will be modified by adding parameters accounting for train delays at sidings. Where a corridor has ns sidings, we begin by defining the train trajectory vector, and for notational convenience, we will designate the west end of the corridor as siding So, and the east end of the corridor as siding S„ +1 , with the recognition that these
"sidings" have a length of zero. Given this convention, define the train trajectory vector for train 2} as ti. = (^.,b,.0,bi.1,...,b. „s+1,en,ei.2,...,β,.„sEn,...,Jδ,.ls ) (10-1), where θi = the direction of train Ti (already defined in Equation 3-4), bih = the time at which train Ti reaches siding Sh (h = , ...,ns+ι), ea = the time at which train Tt departs the siding S/, ( . = 1 , ... ,ns), if T, is sided on S,
Bn
[0 if 2] is not sided on S ' 'hhh
The times at which a train reaches or departs from a siding will be the time at which the head of the train reaches the upstream or downstream ("downstream" or "upstream" is defined relative to the direction ofthe train) end ofthe siding, respectively. Also for consistency, since siding S, has endpoints a,- and b,-, as measured from the west end of the corridor, let bo denote the beginning of the corridor, and an +1 denote the end ofthe corridor.
Detailing the Siding Process
Figure 14 demonstrated the result ofthe gradient search process, and demonstrates that the search process has the capability to adjust departure times so that train trajectories intersect at sidings. The gradient search process cannot usually perfectly align all meets at sidings, and so the meet-centering process was also described above. Once we have in fact placed all meets at sidings, we might use train speed adjustments to interpret the resulting string graph as showing that the engines of trains pass exactly at the centerpoints of sidings.
Now the focus will be on a technique by which a string graph such as that in Figure 14, with meets centered on sidings, as discussed above, can be modified further to provide a full, feasible string graph schedule with trains sided as necessary. We will assume that we begin with all train meets centered at sidings, and all possible siding conflicts resolved as necessary. The process will be inductive: we will begin by ordering the collection of all intersection points on the incomplete string graph according to the. time of intersection, and we will proceed to modify them, in time order, so that each intersection point reflects a feasible siding arrangement. Figure 27 illustrates the technique to be applied, as it is applied to intersection point y24- It is assumed that all intersection points of the string graph prior in time to y24 have aheady been modified by this process, so that the required time and speed data concerning trains T2 and T4, prior to point y24 are in fact valid. Of the two trajectories passing though y24, we will choose to side train T4, and the modification of trajectory for
T4 is indicated by the dashed sequence of line segments. Effectively, we require that T4 operate at a higher speed from the last intersection point on the trajectory (relative to the incomplete string graph) in order to arrive at siding Sn so that the last car of T4 actually enters the siding before the engine of train T2 arrives at the west end of siding S„. Figures 28 and 29 represent possible meet/pass situations between trains. There are four basic cases, as follows:
(1) an eastbound train sides for a westbound train,
(2) a westbound train sides for an eastbound train,
(3) an eastbound train sides for a passing eastbound train, (4) a westbound train sides for a passing westbound train.
There are also four variants on each case (for a total of 16 cases), depending on whether either or both of the trains involved were sided at the previous intersection point on their trajectories. This has significance because a train leaving a siding will have a lower initial speed (the pullout speed from the siding) across an intersiding segment than a train which has not been sided.
Essential parameters for the process will be defined in conjunction with Figures 28 and 29. Relative to any train 2 , let
Ajh = the arrival time ofthe last car of 2 at the upstream end ofthe siding Sh,
Dih = the time at which the head of 2} arrives at the downstream edge of siding S/„ ta = the time at which a train 2} not sided at Sh passes the midpoint ofthe siding S/
Vh = the pullin/pullout speed of any train for siding S/„ p(i,h) = the siding at which 2} had the most recent meet before the present meet at S;, . β(v) - the minimum stopping time for train Ti at speed v. The approximation used for this function is explained in Appendix B. Although the following notation is not new, we review it here for convenience: let ah — the coordinate ofthe western end of siding Sh, b = the coordinate of the eastern end of siding Sh, Mi = the length of train 2 , L = the length of the corridor (with the western end being the origin), and finally, let
ch = — , the coordinate of the midpoint of siding Sh (10-9).
Relative to the earlier descriptors ofthe train trajector vector for train 2 (Equation 10-1), note that
Dih = eih (10-10), and, for an unsided train passing siding Sh, assumed to maintain constant speed across the extent ofthe siding,
k '^ - (10_11)' the value of which was established by centering all meets at sidings.
In the following derivations, the trains meeting at a siding Sh will be trains 2} and Tj, and Ti will always be the train to be sided. The apparent constraints that must be met for Ti to be sided (see Figures 28 and 29), are ≤ Djh (10-12), and
Dik ≥ Ajh (10-13).
These two constraints are somewhat idealized, and both need modifications. First, it would be unsafe to apply inequality 10-12 literally, because if, for any reason, train Ti were to stop short of being fully sided, then train 2}- might in fact be too close to stop in time to avoid a collision. Thus condition 10-12 should be replaced with
At ≤ Dj - j) (10-14), where vj is the speed of Tj as it approaches siding Sh.
Condition 10-13 also requires a modification, because it could be the case that 2} could actually clear the downstream end of the siding (relative to 2}) before Tj could get there, even if 2} pulled into the siding, continued moving at maximum siding speed, and arrived at the downstream end of the siding. In that case, v. is limited by the speed of Ti, not the position of 2}, and takes the minimum value
Da = Λ + ^ " a' "" M' (10-15), v* so the corrected version of Condition 10-14 is
Dih = max| ,,4, + b" a* 'j (10-16).
Constraints 10-14 and 10-16 then provide the practical constraints by which meets and passes can be planned.
The quantities in the inequalities are functions of the train speeds on the previous intersiding segments and of the departure times from the last siding: inductively, we assume that the departure times for both trains from their previous meets are known, and we must derive the speeds needed by both trains to arrive at the siding S/, so that constraints 10-14 and 10-16 are met. The known quantities, for the trains Ti and 2}, at the beginning ofthe inductive step, are (1) tjh, the time at which 2} should be at the center of Sh (Equation 10-11),
Figure imgf000057_0001
To satisfy constraints 10-14 and 10-16, we must determine values for Du„ Djh, A^, and Ajh, in terms of speeds, and then solve the constraint inequalities for the speeds required to meet the constraints.
The speeds so obtained are for 2} and 2} from their last meets to their common meet, and when we solve the constraint inequalities (subject to the siding choices made) to obtain these train speeds, we will also determine the values corresponding to items (1) - (3) above for trains 2} and 2} at siding Sh, thereby completing the inductive process. The basis ofthe induction will be taken up later.
The Inductive Step for the Unsided Train
We first determine the speeds, from the requirements that the unsided train pass the
center of siding Sh at time fø:
c bpUth)
Dj,p(j,h) + for Tj eastbound, and not sided at SpU )
SJ,»-
D J.Pϋ.h) + J— + — tϋ J- for Tj eastbound, and sided at SpUι >>) pU, ) s -
' (10-17). apU,iQ ~ c DJ,PU',h) + for Tj westbound and not sided at Sp( / Λ)
SJ,»
DJ.PU.H) + ~ + a"{ °h L for Tj westbound and sided at S Λ+l
XU,h) sβ
Note that there are also two special cases of Equations 10-17, namely
*» = d, for Tj eastbound,
(10-18)
t Ji'l „'S 4 +.1 l - d J, for T J; westbound
and for notational consistency, we define
= 0,
and (10-19).
"n.+l = L Additionally, the validity of equation 10-17 requires that the distance between
sidings S and
Figure imgf000059_0001
exceed the lengthily of train 2). From Equations 10-17, we may solve for the speeds required:
c - b
SJ,H- — pU'h^ , for Tj eastbound and not sided at Sp( (10-20); tβ -D J,PUM
SJ.H- (10-21);
Figure imgf000059_0002
& — c
>jh _ — PUM h_ ^ or j; westbound and not sided at SP(jι h) (10-22);
Dj,pϋ,h)
< for Tj westbound and sided at Spft/; (10-23).
Figure imgf000059_0003
Now that the speed for the unsided train is determined, we may solve for Djh and
Aj , as follows:
b, - c tβ +- for T, eastbound
Jj,h-l
*>J> = (10-24); c ~_X
*)» + for T, westbound
>j
c - a, +M,
'* ' ~h h ' '"J- for T, eastbound j,h-\
A ~ (10-25). b — c + M tm — * * for ^ westbound sβ
For the unsided train, the determination of Dj in Equation 10-24 completes the
inductive step of the siding algorithm. Note that if there are sidings between Sh and Sjj), then the times of arrival and departure from those sidings is implicit in the speeds
calculated in Equations 10-20 through 10-23. For k an index of such a siding, we have
the following results:
Figure imgf000060_0001
We may then write
bjk + — ~r Tj eastbound
Sk,h-l
-jk (10-27). b; + — for T, westbound ύkh
The Inductive Step for the Sided Train Half of the inductive step for the sided train 2)- is aheady complete, in that we can set the value £>,-/, to be any value satisfying condition 10-16, although we would normally set that value to be as small as possible. However, we must also determine the speed required by 2}, from the previous siding Sp h) where Tt had a meet to Sh, that will satisfy Condition 10-14. There are four cases, based on whether Tt is eastbound or westbound, and did or did not side at Sp(i_ ;,)■ We express An, for each of these cases, and then use
Condition 10-14 to determine a minimum speed for Ti. for T, eastbound and not sided at S P{i,K) M, '- for 2] eastbound and sided at Sp{> h)
for 2 westbound and not sided at Sp(l->A)
+ — for τi westbound and sided at Sp(W
Figure imgf000061_0001
Vh
(10-28). Since the value of Djh has been determined in the previous section, Equation 10- 28 and Condition 10-12 lead to inequalities for the speed 5,7, or Sijt.ι of T{, as follows.
3t,h-l for Ti eastbound and not sided at
Figure imgf000061_0002
(10-29),
Figure imgf000061_0003
(10-30),
(10-31),
Figure imgf000061_0004
*m for Tt westbound and sided at SP ) (10-32),
Figure imgf000061_0005
where
[sj^γ for Tj eastbound
Figure imgf000061_0006
All of the quantities on the right sides of inequalities 10-29 through 10-32 are known, so the speed ^ or .s.,/.-./for train Tt is determined, and the inductive step is complete. If a siding St is intermediate to Sh and Sp(t_h), then Equations 25 and 26 establish the values of eik and b^. Establishing an inductive basis for the above depends only on the observation that the very first meet for any train 2 or 2} is preceded by the entry into the corridor from the east or west end. All of the computations then required to arrive and meet at siding S/!5 subject to the constraints, are based on the original departure time of the relevant train, to
Figure imgf000062_0001
is set equal, as the case may be.
Finally, the inductive process defined above determines speeds, and the times of arrival and departure for each train at each siding, based on meets at the sidings. Once a train has encountered its last meet, the final speed is adjusted to assure that it arrives at the end of the corridor as scheduled. If train 2} has its last meet at siding Sh, then the speeds between all subsequent sidings which are required to exit the corridor as scheduled are given by
L - b„ for T{ eastbound and not sided at SΛ b - e
Si,h ~ Si,h+1 ~ Si,»s = ". L ~ h - Mt (10-34), for T eastbound and sided at S,
M,
!'■«„ +! , - -
and
ded at S, si,u- ~ Si,h-2 (10-35). sided at S,,
Figure imgf000062_0002
Figure 30 displays a final and complete string graph which was has been adjusted for centered meets, and then for train sidings.
Figure 31 is a flow chart implementing one of the algorithms of the present invention. The flow chart of Figure 31 can be processed on any special purpose or general purpose computer. The software code necessary to implement the Figure 31 flow chart can be written by anyone who is skilled in the art of preparing software code, given the information in Figure 31 and the description ofthe invention provided herein. Processing begins at a step 310 where the initial conditions are established. That is, there is assumed an initial vector J ,, , which identifies either the initial train speed or the initial departure times of the trains on the corridor, or both. The vector yn is used to calculate the intersection points at a step 312 and then the value of the localizer function for each calculated intersection point is determined at a step 314. At a step 316, the localizer function values are summed to create a schedule feasibility cost function with an argument yn . As discussed above, there are many different cost function types associated with different embodiments ofthe present invention. For instance, Equation 8- 17 identifies two cost functions. The cost function of schedule feasibility ( and a cost function associated with early departure effects (E). The economic cost function is defined in Equation 8-26 and the maximum speed cost function is defined in Equation 7- 9. Depending upon the embodiment of the present invention, one or more of these cost functions will be used to create the cost function at the step 316.
At a step 318, the gradient ofthe cost function at yn is calculated. At a step 320, a new argument for the cost function is created. This argument is referred to as yn+l and is calculated using the gradient value from step 318 and a predetermined step size. This step size is based on the gradient value and must be determined in each situation so as to converge toward the function minimum. Reference is made to the four step process outlined at Equation 8-3. At a step 322, the magnitude ofthe difference between the cost function at yn and yn+1 is calculated. At a decision step 324, the results from the step
322 are compared to a threshold. If the threshold is not exceeded, then the cost function minimum has been located and a schedule for the corridor is produced. This is illustrated diagrammatically at a step 325. If the threshold is exceeded, then further calculations can be performed to find the cost function minimum. At this point, processing moves to a step 326 where the previous value of yn is now set equal to the value of yn+1 and processing returns to the step 312 where the intersection points are again calculated. Processing then continues through the steps 314, 316, 318, 320, and 322, followed by decision step 324 where the magnitude is again compared to the threshold value.
As discussed above, there are additional refinements that can be made from the schedule produced at the step 325. These refinements represent additional embodiments ofthe invention and are discussed in detail above. In flow chart form, they are presented in Figure 32. hi lieu of processing proceeding to the step 325 in Figure 31 when the threshold value is not exceeded, processing can instead continue to a step 340 illustrated in Figure 32. Here, adjustments are made to intersiding train speeds so that the intersections will occur precisely at the sidings. This embodiment is discussed in conjunction with Figures 15, 16 and 17. hi another embodiment, siding conflicts can be resolved at a step 342. This embodiment is discussed in conjunction with Figures 18 — 24 above. The matter of accounting for the time the trains are sided is represented by a processing step 344. This embodiment is discussed above in conjunction with Figures 25 — 30. Finally, incorporation of these additional embodiments provide for the generation of another train schedule for the rail corridor, as illustrated at a step 346.
Appendix A - Properties ofthe Sigmoid and Localizer Functions.
Lemma 1: σ(x;a,β)= β-σ(-x;a,β) (NI) Proof:
Figure imgf000065_0001
Q.E.D. d aa
Lemma 2: — (σ(ax + b;a,β)) = — σ(ax + b;a,β)(β - σ(ax + b;a,β)) (A2) dx β
Proof:
+ e-a{ax+b))'1) = β(- l)(l + e-a{ax+b)Y (- a )e~a{ax+b)
Figure imgf000065_0002
Figure imgf000065_0003
= b;a,β)(β - σ{ax + b;a,β)
Figure imgf000065_0004
Q.E.D. The following result follows from the derivation ofthe localizer function in the body of this document, and from application of Lemma 2.
Lemma 3: Let (-∞,w),(avbl),...(aN,bN),(e,∞) represent mutually disjoint intervals, with - oo < α. < b. < a2... < aN < bN < ∞ . Then L(x;a,β) defined to be low if and only if x is in or near one ofthe intervals (-co, w),(α1,b1),...(αΛf,bw),(e,oo) takes the form
N L(x;a,β) = β-∑[σ(x-bi;a,β)-σ(x-ai;a,β)]-σ(w-x;a,β)~σ(x-e;a,β),
(=1 and - σ(x - b};a, /?))- σ(x - aj;a,β β - σ(x -
Figure imgf000066_0001
Figure imgf000066_0002
+ σ w - x;a, /?)(/? - σ(w - x;a,β))~ σ(x - e;a,β)(β - σ{x - e;a, β))f (A3)
Appendix B - A Train Stopping Time Approximation
The basic formula for acceleration/deceleration of a body is
F = MA (BI), where
F = the braking force applied, M= the mass ofthe body, A = the acceleration ofthe body. A train has brakes on every car, and each car has mass, so we will assume that the total maximum braking force and mass are proportional to the length of the train. Therefore Equation BI may be written as
A = k, (B2), i.e., the deceleration available at maximum braking is (approximately) independent ofthe train's length or mass. To evaluate k, we assume that a train moving 50 mph could stop in 1 mile, therofer its average speed during (linear) deceleration would be 25 mph, and the time required to reach a full stop would be
(1 mi. /25 mph)(60 min/hr) = 2.4 minutes. Thus the equation relating train speed v to stopping ύmef(v) takes the form f(v) = v/A = v/k (B3). and 2.4 = 50/k, therefore k = 50/2.4 = 20.83 (mph/min). The final form is then /(v = v/20.83 (B4), where f(v) is in minutes, and v is in miles per hour. Appendix C - Variable Glossary
Ai(t) — the late penalty function assessed for train T{ (Equation 7-1)
Aa — the time of arrival ofthe end of train T{ at the upstream edge of siding Sh Aψ, dj— the cost function component forcing on-time arrivals ah ~ the distance from the west end ofthe corridor1 at which siding S^ begins
Bi — the decision variable as to whether train 2} is sided at siding S/, b), — the distance from the west end ofthe corridor at which siding i ends (at < bj)
C\s,d)~ the cost function forcing trajectory intersections at sidings C -- the midpoint of siding S
Da — the time of departure of train Tt from the downstream edge of siding Sh dt -- the departure time of train 2} d — the vector of dimension nγ of departure times for all trains E — the name ofthe point at the east end ofthe corridor Eψ j -- the cost function component preventing early train departures fi(v) — the minimum stopping time of train 7ϊ at from speed v
Gψ, d j— the total scheduling cost function (Equation 7-10)
Hi — the length of siding S, hi — the step penalty cost incurred when train Tt arrives late I ~ the set of all intersections of train trajectories (even if not on the string graph)
L -- the length ofthe corridor
Lt - the line on the string graph representing the traj ectory of train T{
L(y) -- the localizer function, with minima corresponding to each siding (Equation 5-5)
J(y) — the balanced localizer function (Equation 5-?) Lij(y — the localizer modified so trains Ti and 2} won't meet where neither can side
Mi — the length of train 2} nii — the late penalty per time unit when train Ti arrives late ns — the number of sidings along the corridor n-p — the number of trains involved in the optimization p(i,h) — the siding prior to Sh at which train Tt had a meet, S,- ~ the designator for the z'-th siding, traveling eastward on the corridor
Si — the speed of train 2}
5 (max) __ maxjmum speed permitted for train Tj
Si — hain 2}' s speed between the downstream edges of sidings Sh and Sh+i s — the vector of dimension nγ of speeds for all train Tt -- the designator for the z'-th train
T,v ~ the set of all sidings where at least one of trains 2 and 2} can side — the arrival time at which train T{ begins to incur late penalties tjh — the time at which train 2}, if not sided at Sh, reaches ,. tff ~ the time coordinate associated with traj ectory intersection point yy V(s) — the cost function component which limits train speeds
Vh -- the pullin/pullout speed for trains at siding Sh
W — the name ofthe point at the west end ofthe corridor (zero on the distance axis) yy — the distance from the west end ofthe corridor at which trains 2 and 2} intersect y — the vector of all traj ectory intersection points yy α - the sigmoid function parameter controlling steepness of rise (Equation 4-1) β ~ the horizontal asymptote ofthe sigmoid function (Equation 4-1) ηi — the weight applied to the feasibility component Cψ,d) ofthe cost function
772 — the weight applied to the late arrival component A\s, d) ofthe cost function η3 — the weight applied to the early departure component E\d J ofthe cost function η4 -- the weight applied to the maximum speed component V(s) ofthe cost function θι - a variable denoting the direction of train 2}, 0 if eastbound, 1 if westbound σ(x) ~ the sigmoid function (Equation 4-1)

Claims

WHAT IS CLAIMED IS:
1. A method for scheduling the movement of a plurality of trains operating on a rail corridor, wherein trains traversing the rail corridor may intersect on the same track, whereby each train has at least one travel parameter that can be varied, whereby the rail
5 corridor includes at least one main line and a plurality of secondary tracks onto which a train may be moved to avoid an intersection with another train, said method comprising the steps of:
(a) deriving a localizer function to represent the rail corridor, wherein said localizer function has a value in a first range between secondary tracks and has a value in
L 0 a second range in the vicinity of each secondary track;
(b) selecting a value for at least one travel parameter for each of the plurality of trains;
(c) finding the intersection points for the plurality of trains;
(d) determining the value of said localizer function for each intersection point;
L 5 (e) combining said localizer function values to create a cost function value; and
(f) changing one or more of the values selected in step (b) to find the minimum cost function value.
2. The method of claim 1 wherein the travel parameter includes train speed.
3. The method of claim 2 wherein the speed of at least one train is varied between .0 intersection points to ensure the intersection occurs at a secondary track.
4. The method of claim 1 wherein the travel parameter includes the entry time of the train onto the rail corridor.
5. The method of claim 1 wherein the travel parameter includes train speed and the entry time of he train onto the rail corridor.
15 6. The method of claim 1 wherein the secondary track includes a passing siding.
7. The method of claim 1 wherein the secondary track includes two parallel tracks with crossover switches therebetween.
8. The method of claim 1 wherein the localizer function is derived by summing a plurality of sigmoid functions, wherein said sigmoid functions are translated and inverted with respect to each other and the location of the secondary tracks such that the localizer function has a value in the first range between secondary tracks and has a value within the second range in the vicinity of each secondary hack.
9. The method of claim 1 including the step of forming a first vector having as its elements the values selected in step (b), and wherein step (f) includes:
(fl) determining the gradient ofthe cost function at the first vector;
(f2) calculating a second vector by subtracting the product of a predetermined step size and the gradient calculated in step (fl), from the first vector;
(f3) calculating the cost function value at the second vector; (f4) calculating the magnitude of the difference between the cost function value calculated in step (e) and the cost function value calculated in step (£3);
(f5) if the result of step (f4) is greater than a predetermined threshold, returning to step (fl) wherein the second vector is now used in lieu of the first vector in the gradient calculating step (fl).
10. The method of claim 1 wherein the localizer function of step (a) is modified to account for rail corridor end points by setting the localizer function value to a value within the first range beyond the end points ofthe rail corridor.
11. The method of claim 1 wherein step (e) includes the process of summing said localizer function values to create the cost function value.
12. An apparatus for scheduling the movement of a plurality of trains operating on a rail corridor, wherein trains traversing the rail corridor may intersect on the same track, whereby each train has at least one travel parameter that can be varied, whereby the rail corridor includes at least one main line and a plurality of secondary tracks onto which a train may be moved to avoid an intersection with another train, said apparatus comprising: means for deriving a localizer function to represent the rail corridor, wherein said localizer function has a value within a first range between secondary tracks and has a value within a second range in the vicinity of each secondary track; means for selecting a value for at least one travel parameter for each of the plurality of trains; means for finding the intersection points for the plurality of trains; means for determining the value of said localizer function for each intersection point; means for combining said localizer function values to create a cost function value; and means for changing one or more of the selected values to find the minimum cost function value. L0
13. The apparatus of claim 12 wherein the tiavel parameter includes train speed.
14. The apparatus of claim 13 including means for adjusting the speed of at least one train between intersection points to ensure that the intersection occurs at a secondary track.
15. The apparatus of claim 12 wherein the travel parameter includes the entry time L 5 of the train onto the rail corridor.
16. The apparatus of claim 12 wherein the travel parameter includes train speed and the entry time ofthe train onto the rail corridor.
17. The apparatus of claim 12 wherein the secondary track includes a passing siding.
ZO 18. The apparatus of claim 12 wherein the secondary track includes two parallel tracks with crossover switches therebetween.
19. The apparatus of claim 12 wherein the localizer function is derived by summing a plurality of sigmoid functions, wherein said sigmoid functions are disposed with respect to each other and the location of the secondary tracks such that the localizer
15 function has a value within the first range between secondary tracks and has a value within the second range in the vicinity of each secondary track.
20. The apparatus of claim 12 including: means for forming a first vector having as its elements the selected values, and further including: means for determining the gradient ofthe cost function at the first vector; means for calculating a second vector by subtracting the product of a predetermined step size and the gradient calculated, from the first vector; means for calculating the value ofthe cost function at the second vector; means for calculating the magnitude of the difference between the cost function value based on the first vector and the cost function value based on the second vector; means for determining if the magnitude of the difference is greater than a predetermined threshold; and means for recalculating the gradient when the magnitude of the difference is greater than a predetermined threshold, wherein the second vector is used in lieu of the first vector in the gradient recalculation.
21. The apparatus of claim 12 wherein the localizer function is modified to account for rail corridor end points by setting the localizer function value to a value within the first range beyond the end points ofthe rail corridor.
22. The apparatus of claim 12 wherein means for combining includes means for summing said localizer function values to create the cost function value.
23. A method for scheduling the movement of a plurality of trains operating on a rail corridor, wherein trains traversing the rail corridor may intersect, whereby each train has at least one travel parameter that can be varied, whereby the rail corridor includes at least one main line and a plurality of secondary tracks onto which a train may be moved to avoid an intersection with another train, said method comprising the steps of:
(a) selecting a value for at least one travel parameter for each of the plurality of trains;
(b) finding the intersection points for the plurality of trains; (c) assigning a first value to each intersection point occurring at or near a siding and assigning a second value to each intersection point that is not near a siding;
(d) combining said values from step (c) to create a cost function value; and (e) changing one or more of the values selected in step (a) to find the minimum of the cost function.
PCT/US2001/000080 1999-12-30 2001-01-02 A train corridor scheduling process WO2001049550A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CA2395064A CA2395064C (en) 1999-12-30 2001-01-02 A train corridor scheduling process
DE10194722T DE10194722T1 (en) 1999-12-30 2001-01-02 Rail corridor schedule control process
AU24722/01A AU780796B2 (en) 1999-12-30 2001-01-02 A train corridor scheduling process
MXPA02006566A MXPA02006566A (en) 1999-12-30 2001-01-02 A train corridor scheduling process.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/475,566 1999-12-30
US09/475,566 US6873962B1 (en) 1999-12-30 1999-12-30 Train corridor scheduling process

Publications (1)

Publication Number Publication Date
WO2001049550A1 true WO2001049550A1 (en) 2001-07-12

Family

ID=23888143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/000080 WO2001049550A1 (en) 1999-12-30 2001-01-02 A train corridor scheduling process

Country Status (6)

Country Link
US (1) US6873962B1 (en)
AU (1) AU780796B2 (en)
CA (1) CA2395064C (en)
DE (1) DE10194722T1 (en)
MX (1) MXPA02006566A (en)
WO (1) WO2001049550A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003097425A1 (en) * 2002-05-20 2003-11-27 Tmg International Holdings Pty Limited Scheduling method and system for rail networks
AU2003229361B2 (en) * 2002-05-20 2007-08-09 TTG (Holdings) Pty Ltd Scheduling method for rail networks
CN108090668A (en) * 2017-12-14 2018-05-29 兰州交通大学 Urban track traffic for passenger flow matching and the timetable method of adjustment of time-varying passenger flow driving

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040172175A1 (en) * 2003-02-27 2004-09-02 Julich Paul M. System and method for dispatching by exception
US7725249B2 (en) * 2003-02-27 2010-05-25 General Electric Company Method and apparatus for congestion management
WO2006050273A2 (en) * 2004-11-02 2006-05-11 The Lemna Corporation Apparatus and method for a single-lane rapid mass transit system
US20070106434A1 (en) * 2005-11-07 2007-05-10 Galbraith Robert E Ii User interface for railroad dispatch monitoring of a geographic region and display system employing a common data format for displaying information from different and diverse railroad CAD systems
US7596433B2 (en) 2005-12-30 2009-09-29 Canadian National Railway Company System and method for computing rail car switching solutions in a switchyard with partially occupied classification track selection logic
US7742848B2 (en) 2005-12-30 2010-06-22 Canadian National Railway Company System and method for computing rail car switching solutions in a switchyard including logic to re-switch cars for block pull time
US7792616B2 (en) 2005-12-30 2010-09-07 Canadian National Railway Company System and method for computing rail car switching solutions in a switchyard including logic to re-switch cars for block size
US7818101B2 (en) 2005-12-30 2010-10-19 Canadian National Railway Company System and method for computing rail car switching solutions in a switchyard using an iterative method
US7751952B2 (en) 2005-12-30 2010-07-06 Canadian National Railway Company System and method for computing rail car switching solutions in a switchyard including logic to re-switch cars for arrival rate
US7742849B2 (en) 2005-12-30 2010-06-22 Canadian National Railway Company System and method for computing car switching solutions in a switchyard using car ETA as a factor
US8060263B2 (en) 2005-12-30 2011-11-15 Canadian National Railway Company System and method for forecasting the composition of an outbound train in a switchyard
US7657348B2 (en) 2005-12-30 2010-02-02 Canadian National Railway Company System and method for computing rail car switching solutions using dynamic classification track allocation
US7565228B2 (en) 2005-12-30 2009-07-21 Canadian National Railway Company System and method for computing railcar switching solutions in a switchyard using empty car substitution logic
US7546185B2 (en) 2005-12-30 2009-06-09 Canadian National Railway Company System and method for computing railcar switching solutions using an available space search logic assigning different orders of preference to classification tracks
US7747362B2 (en) 2005-12-30 2010-06-29 Canadian National Railway Company System and method for computing rail car switching solutions by assessing space availability in a classification track on the basis of block pull time
US7457691B2 (en) 2005-12-30 2008-11-25 Canadian National Railway Company Method and system for computing rail car switching solutions in a switchyard based on expected switching time
US8055397B2 (en) 2005-12-30 2011-11-08 Canadian National Railway Company System and method for computing rail car switching sequence in a switchyard
WO2007098349A2 (en) * 2006-02-17 2007-08-30 Sunfish Studio, Llc Pseudo-random interval arithmetic sampling techniques in computer graphics
US7839332B2 (en) 2006-03-28 2010-11-23 Mediatek Inc. Satellite search method and receiver using the same
US8731746B2 (en) * 2008-05-29 2014-05-20 Greenbrier Management Services, Llc Integrated data system for railroad freight traffic
US8612071B2 (en) * 2009-10-23 2013-12-17 Integrated Transportation Technologies, L.L.C. Synchronized express and local trains for urban commuter rail systems
US9008933B2 (en) * 2011-05-09 2015-04-14 General Electric Company Off-board scheduling system and method for adjusting a movement plan of a transportation network
JP6305238B2 (en) * 2013-10-25 2018-04-04 三菱電機株式会社 Travel curve creation device and travel support device
US10654500B2 (en) * 2015-06-12 2020-05-19 Westinghouse Air Brake Technologies Corporation Arrival time and location targeting system and method
US10279823B2 (en) * 2016-08-08 2019-05-07 General Electric Company System for controlling or monitoring a vehicle system along a route
CN113741443A (en) * 2021-08-26 2021-12-03 北京京东乾石科技有限公司 Method and device for controlling rail guided vehicle, storage medium and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177684A (en) * 1990-12-18 1993-01-05 The Trustees Of The University Of Pennsylvania Method for analyzing and generating optimal transportation schedules for vehicles such as trains and controlling the movement of vehicles in response thereto
DE19540834A1 (en) * 1995-10-30 1997-05-07 Siemens Ag Process for assigning resources to vehicles traveling on a predetermined route by a computer
US5936517A (en) * 1998-07-03 1999-08-10 Yeh; Show-Way System to minimize the distance between trains

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4122523A (en) * 1976-12-17 1978-10-24 General Signal Corporation Route conflict analysis system for control of railroads
US4179739A (en) * 1978-02-13 1979-12-18 Virnot Alain D Memory controlled process for railraod traffic management
DE4108671A1 (en) * 1991-03-16 1992-09-17 Standard Elektrik Lorenz Ag METHOD FOR CONTROLLING THE SPEEDS OF FOLLOWING RAIL VEHICLES
GB2263993B (en) * 1992-02-06 1995-03-22 Westinghouse Brake & Signal Regulating a railway vehicle
US5487516A (en) * 1993-03-17 1996-01-30 Hitachi, Ltd. Train control system
US5802492A (en) * 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US5828979A (en) * 1994-09-01 1998-10-27 Harris Corporation Automatic train control system and method
US5623413A (en) * 1994-09-01 1997-04-22 Harris Corporation Scheduling system and method
AU734038B2 (en) * 1997-02-07 2001-05-31 Ge-Harris Railways Electronics, L.L.C. A system and method for automatic train operation
US6125311A (en) * 1997-12-31 2000-09-26 Maryland Technology Corporation Railway operation monitoring and diagnosing systems
US6223125B1 (en) * 1999-02-05 2001-04-24 Brett O. Hall Collision avoidance system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177684A (en) * 1990-12-18 1993-01-05 The Trustees Of The University Of Pennsylvania Method for analyzing and generating optimal transportation schedules for vehicles such as trains and controlling the movement of vehicles in response thereto
DE19540834A1 (en) * 1995-10-30 1997-05-07 Siemens Ag Process for assigning resources to vehicles traveling on a predetermined route by a computer
US5936517A (en) * 1998-07-03 1999-08-10 Yeh; Show-Way System to minimize the distance between trains

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003097425A1 (en) * 2002-05-20 2003-11-27 Tmg International Holdings Pty Limited Scheduling method and system for rail networks
GB2405017A (en) * 2002-05-20 2005-02-16 Tmg Internat Holdings Pty Ltd Scheduling method and system for rail networks
AU2003229361B2 (en) * 2002-05-20 2007-08-09 TTG (Holdings) Pty Ltd Scheduling method for rail networks
US7428452B2 (en) 2002-05-20 2008-09-23 Ausrail Technologies Pty Limited Scheduling method and system for rail networks
AU2003229361C1 (en) * 2002-05-20 2009-03-26 TTG (Holdings) Pty Ltd Scheduling method for rail networks
CN108090668A (en) * 2017-12-14 2018-05-29 兰州交通大学 Urban track traffic for passenger flow matching and the timetable method of adjustment of time-varying passenger flow driving
CN108090668B (en) * 2017-12-14 2021-12-28 兰州交通大学 Time-varying passenger flow driven urban rail transit passenger flow matching and schedule adjusting method

Also Published As

Publication number Publication date
AU780796B2 (en) 2005-04-14
MXPA02006566A (en) 2003-04-10
CA2395064C (en) 2010-08-10
AU2472201A (en) 2001-07-16
DE10194722T1 (en) 2003-05-08
CA2395064A1 (en) 2001-07-12
US6873962B1 (en) 2005-03-29

Similar Documents

Publication Publication Date Title
WO2001049550A1 (en) A train corridor scheduling process
WO2001049547A9 (en) A train corridor scheduling process including a balanced feasible schedule cost function
US6546371B1 (en) Train corridor scheduling process including various cost functions associated with railway operations
Delling et al. Computing multimodal journeys in practice
Huang et al. A genetic-algorithm-based approach to solve carpool service problems in cloud computing
Higgins et al. Heuristic techniques for single line train scheduling
Mesbah et al. Optimization of transit priority in the transportation network using a genetic algorithm
Qian et al. Autonomous intersection management systems: Criteria, implementation and evaluation
CN107248006B (en) Subway line passenger flow coordination control method based on hierarchical hierarchy
Ceder et al. Transfer synchronization of public transport networks
Almasi et al. Optimization of a transit services model with a feeder bus and rail system using metaheuristic algorithms
Chiang et al. Knowledge-based system for railway scheduling
Higgins et al. Modelling the number and location of sidings on a single line railway
Olsson et al. Integration of microsimulation and optimized autonomous intersection management
Mertens et al. Cooperative maneuver planning for mixed traffic at unsignalized intersections using probabilistic predictions
Delgado et al. Integrated real-time transit signal priority control for high-frequency segregated transit services
Cai et al. Study on urban traffic management based on multi-agent system
Xie et al. A metaheuristic with learning mechanism for solving the multi-school heterogeneous school bus routing problem
Kunibe et al. A scheduling scheme for autonomous vehicle highway merging with an outflow traffic and fairness analysis
Liang Metaheuristic-based dispatching optimization integrated in multi-scale simulation model of railway operation
Ding et al. Improved Genetic Algorithm for Train Platform Rescheduling Under Train Arrival Delays
Rajeshwari Optimizing last mile delivery using public transport with multiagent based control
Huang et al. An Integrated Formulation and Optimization for Periodic Timetabling of Railway Systems
Wang et al. Dynamic coordinated strategy for parking guidance in a mixed driving parking lot involving human-driven and autonomous vehicles
Miyamoto et al. On operation planning for a on-demand transportation systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2395064

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 24722/01

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: PA/a/2002/006566

Country of ref document: MX

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
RET De translation (de og part 6b)

Ref document number: 10194722

Country of ref document: DE

Date of ref document: 20030508

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10194722

Country of ref document: DE

NENP Non-entry into the national phase

Ref country code: JP

WWG Wipo information: grant in national office

Ref document number: 24722/01

Country of ref document: AU

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607