MXPA97001524A - System and method of programac - Google Patents

System and method of programac

Info

Publication number
MXPA97001524A
MXPA97001524A MXPA/A/1997/001524A MX9701524A MXPA97001524A MX PA97001524 A MXPA97001524 A MX PA97001524A MX 9701524 A MX9701524 A MX 9701524A MX PA97001524 A MXPA97001524 A MX PA97001524A
Authority
MX
Mexico
Prior art keywords
train
program
movement
plan
trains
Prior art date
Application number
MXPA/A/1997/001524A
Other languages
Spanish (es)
Inventor
William L Matheson
Douglas A Thomae
Paul M Julich
Thu V Vu
Michael S Crone
M Scott Wills
Original Assignee
Harris Corporation
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 Harris Corporation filed Critical Harris Corporation
Publication of MXPA97001524A publication Critical patent/MXPA97001524A/en

Links

Abstract

A system and programming method for moving plural objects across a multiple trajectory, described as a freight train programming system. The feasible plan of movement can be used to assist in the control of, or for the automatic control of the movement of trains through the system

Description

SYSTEM. AND PROGRAMMING METHOD.
BACKGROUND OF THE INVENTION The present invention relates to the programming of the movement of multiple units by a complex motion definition system, and in the described embodiment, to the programming of the movement of trains of * Mp goods in a railway system. 10 Today's freight railways consist of three primary components (1) a railway infrastructure, which includes the track, the needles, a communications system and a control system; (2) the rolling stock, which includes locomotives and wagons; and, (3) the personnel (or crew) that runs and maintains the railroad. Generally, each of these components is used through the use of a high-level program that assigns people, locomotives, and wagons to the various sections of the road and allows them to move along this route. way collisions are avoided and allow the rail system to transport goods to various destinations. A basic limitation of the current system is the lack of real control over the movement of trains. In general, in the systems currently in operation, the trains are indirectly controlled in the broad sense using the services of a shipper who places signals at periodic intervals on the road, but the actual control of the train is entrusted to the engineer who directs the train. train. Since compliance with the program is, in large part, the prerogative of engineers, it is difficult to maintain a very accurate program. As a result, it is currently estimated that the average utilization of locomotives in the United States is less than 50%. If a better utilization of these capital goods can be achieved, the overall cost effectiveness of the rail system will increase accordingly. Another reason that train schedules have not been very accurate so far is that it has been difficult to take into account all the factors that affect the movement of the train when trying to develop the program. These difficulties include the complexities of including in the program the determination of the effects of physical limits of power and mass, speed limits, limits due to the signaling system, and limits due to safe train management practices. (which include the practices associated with the application of power and braking in such a way as to avoid instability of the train structure and therefore derailments). Two considerable advantages would be associated with an exact programming: (1) the exact programming would allow a better utilization of the resources and an associated increase of total yield (to be the trains optimally spaced and united in an optimal way to form a flow of traffic almost continuous), and (2) predict the arrival times of trains to their destination within very small limits. In the railway industry, this arrival time is often called "service reliability" and produces a double impact: (1) it provides the customer with the certainty of the exact moment when their cargo arrives at its destination; and (2) with respect to the intermediate points along the movement of the trains, allows a much more efficient planning of the resources of the head-line stations. For example, if the head-end station of a given path is a transfer station, and the station manager has prior knowledge of the order and timing of a train's arrivals, he can prepare the station to receive the trains and ensure the availability of the appropriate sidings to park the trains and sections of wagons (or wagon blocks) favorably. In contrast, unscheduled or inaccurately programmed systems result in trains arriving at a transfer station in a random order, which pnts the station manager from determining the actual sidings, routes and equipment that will be necessary to divert optimally the wagons to be used for the next journey beyond said transshipment station.
Likewise, if the head of the line station is a port in which discharge equipment participates, and the unloading of the train and the transfer of the cargo to ships requires a set of resources that must be. planned with respect to the load, the knowledge of the arrival time and the order and sequence of the arrival is extremely important to achieve an efficient use of the equipment and facilities of the headline station. For a complete understanding of the present invention, it is useful to understand some of the factors that inhibit the efficiency of the prior art transportation systems, in particular the railway systems. Currently, trains operate between many terminal points, generally transporting the goods of third parties from one terminal station to another. Trains can also tow empty wagons to a terminal station for reloading and may carry equipment or personnel to perform maintenance along the railroad. Frequently, freight railways share the road with passenger railroads. The freight service in the current railways frequently has regular time trains that operate between several terminal stations. However, the formation of trains varies greatly from one expedition to another. In addition, the length, mass, and operational transport characteristics of the freight trains will vary substantially, according to the requirements of the customers, between the various terminal stations, and the equipment used will vary frequently substantially. Freight trains can also operate on an ad hoc basis to meet the various requirements of rail transport customers. Therefore, from one day to the next, there are substantial changes in the program and the formation of freight trains that operate in a specific rail system. To meet the substantially variable needs of freight transport by rail, rail systems usually have a predetermined number of resources. For example, every concrete railway system usually has a road signaling network, a finite number of locomotives, a finite number of crew members, and other similar limitations in rail systems that can be used to meet variable customer requirements. The difficulties of meeting the requirements of customers of a freight rail system are often exacerbated by the fact that many rail systems have long sections of track infrastructure in which there is only one main road. As the railway system generally has to operate trains in both directions along such single-track sections, the rail system must try to avoid programming two trains so that they occupy the same track at the same time, and must establish systems and procedures to identify such collision possibilities and take some action to avoid them. Likewise, when trains operate along a single track, a relatively fast train can be approached from behind a relatively slower traveling train - in the same direction. Generally, the railway system must _ try to program such trains so that the fastest train can overtake the slowest train, and identify, during the operation of the trains, any situation in which one train is approaching a collision with the rear of another train. 15 Situations in which two trains are in front or in a passing situation are frequently addressed by the rail system through the use of relatively short track segments or "sidings" to which one or more trains can be diverted from the main road while another train passes. After the train has passed safely on the main road, the deviated train can return to the main road. In the railroad industry, such situations are called "meeting and passing" situations. Obviously, finding and passing operations can greatly reduce the ability of any train to meet a particular program.
With reference to Figure 1, a general system for the treatment of encounter and passing situations can include a main track 10, a side track 20 which is selectively used through needles 22. The needles can be manually operated or can be operated remotely through a central control point for each segment of track generally known as CASET 24. The CASE 24 can receive signals from track sensors 26 that indicate the presence of a train in a track section. The train system may also include colored lights 28 which are illuminated lamp systems which indicate to the engineer of a given train whether the track segments located immediately in front of the train and the next segment are or are not without traffic. Normally, in the current rail systems, the operation of the colored lights 28 is controlled primarily with track sensors 26 and a suitable electronic control logic located in the CASE 24. Generally, the train detection sensors 26 operate throughout of a stretch of road that can be only half a mile and that can be more than two miles. The longitudinally adjacent sections of the track are isolated in separate segments by interrupting the track a short section, of the order of 0.63 cm (one quarter of an inch), and, optionally, by placing an electrical insulator in the interval between the segments. In this way, each track segment is electrically isolated from the longitudinally adjacent segments. A differential voltage is applied between the two rails of a track, and when a train is present, the metal wheels and the train axle serve as a conductor that electrically connects, or short-circuits, one of the rails of the track with the other rail, electrical condition that can be detected by track sensor 26 and indicated to CASE 24. In current systems, track sensors 26 between control points, such as needles, are often set to logical 0 in the signal transferred to the CASE 24. Thus, the CASE 24 is able to determine if a block of track between control points is busy, but may not be able to determine in which segment (s) within said block of track the train. The CASET 24 can send information regarding several of the conditions that the various sensors transfer to a central dispatch station 30 by means of a coded line 32. The current systems, as described above, provide for the positive separation between trains on condition that the engineer obeys the light signals of the colored lights 28. A known difficulty of the current rail systems as shown in figure 1 is the lack of accurate information on the position of the trains along the via. In a situation of encounter and passing, one of the trains involved must be diverted, for example, to a side road 20. This deviation to the side road 20 must be made sufficiently in advance so that the train diverted to the side road is in the side track a period of time large enough to allow a margin of safety before the passage of the other train. The margin of safety is necessarily related to the precision with which the position of both coinciding trains is known. For example, if it is known that a train traveling at thirty miles per hour is located somewhere on a twenty mile long track block, it may be necessary to put an incoming train into a siddle for at least two thirds of an hour at waiting for the other train to pass. To improve this situation, a prior art system has been designed, called Advanced Train Control System (SACT), which includes transponders, locomotive interrogators, and radio communications. In the SACT system, the transponders are placed between or near the rails of the tracks at various points along the track, both between control points, such as the needles, and outside the control points. Interrogators located inside a locomotive activate a transponder emitting a signal that is detected by the transponder. Each transponder contains an identification • 10 only one that is transmitted back to the locomotive while the locomotive and the transponder are very close. The identification information can then be sent to a computer on board the locomotive and retransmitted by means of a communication system 34 to the central office 30. Between the step on sequential transponders, the computer on board the locomotive can use signals from its odometer to calculate the approach position of the locomotive. 10 Note that, in such a system, the odometer error provides uncertainty about the position of the train along the track, which increases as the train moves from one transponder to another and becomes essentially zero when the train passes through the transponder _following. By placing transponders sufficiently close to each other, the accuracy of the train position information can be kept within limits. Naturally, the placement of transponders along the entire rail system can substantially increase maintenance costs because transponders are relatively sensitive electronic elements in a hostile environment. In addition, if a transponder is out of service, the odometer error will continue to provide additional uncertainty about the knowledge of the position of the train. The results of the meeting and passing system in a railway system (a) in which the position of the train within the system is not known exactly and (b) in which the engineers operate largely on the basis of their own discretion, is they can represent diagrammatically by "cords", which are commonly used by the current rail systems to program and review the efficiency of the programs carried out. With reference to Figure 2, a line represents the time along one axis and the miles of track or terminal stations along the other axis. The grid of figure 2, for example, covers from 5:00 in the morning of the first day until 11:00 in the morning of the next day and illustrates the movement along a path that interconnects Alpha and Rome with others fifteen control points in between. Within the grid formed by time and miles, the movements of the trains are represented. When trains move in one direction, for example from Rome to Alpha, the line for a train appears diagonally to the right. The trains that start their journey in the opposite direction, that is, from Alpha to Rome, appear on the line diagonally to the left. When a train must be separated to wait for the passage of another, the line is horizontal while the time passes without movement of the separated train. For example, the train 11 was separated in Bravo for almost two hours waiting for the passage of train 99 and train B2. Likewise, train 88 was parked twice, once in Bravo to wait for the train F6 and a second time in Echo to wait for the train G7 to pass. As can be seen in the string diagram of Figure 2, a train can spend a substantial amount of time in sidings (the 88 train, for example, spends almost two hours of a five-hour journey waiting in sidings). If the position of the train along the track can be determined with an increasing degree of accuracy, the need for trains to wait in sidings for a long period of time waiting for a train to arrive can be substantially reduced. Note, for example, with reference to Figure 2, that the train 88 waited at the siding in Echo more than an hour before the passage of the G7 train. With more accurate knowledge about the position of the trains, the G7 train could have continued to circulate on the road until the Hotel siding, at which point it could be briefly left to wait for the G7 train to pass. Such reduction of the time spent in sidings would be equivalent to a reduction of the general period of time necessary to carry out a specific trip, thus allowing a greater performance of the railway system and reducing costs such as the idling of the engine, the crews, and other factors dependent on the weather .
In the current rail system, there is often little active control over the progress of the train when traveling between terminal stations. Frequently, the engineer has only authority to take the train to the next checkpoint, and the engineer uses his discretion, experience, and other subjective factors to move the train to the limit of his authority. Frequently, the general program used with such trains does not take into account the fact that the train can be set aside for a period of time, that is, the meeting and pass was not introduced into the general program. Without explicitly programming the meetings and passes, the prior art train systems generally solved the meeting and passing situations on an ad hoc basis, when they were produced, using the dispatcher's technical knowledge to identify a possible encounter and passing situation, determine which siding would be used for trains to pass, and put the appropriate needles and signals to carry out their analysis. Since, as explained above, the sender had data on the position of the train that were not very accurate, the sender could put a train in a siding conservatively and prematurely, waiting for an unnecessarily long period of time after the train passed. another train. In addition, the shipper generally controls only a portion of the rail system and its decision about what • 14 Train put in a siding and what siding to use can be correct with respect to the only encounter that is involved. However, this "correct" decision can cause serious problems when the train now stopped is crossed with another 5 trains during its next operation under the control of other shippers. In general, in the prior art, the entire railway system was underutilized because of uncertainties about the knowledge of the position of trains as along the track and because of the considerable discretion given to train engineers, who determine the speeds at which their trains move along the tracks. No matter how well a particular train system is programmed, the program can not be brought to the practice in the current systems because of the variability of the performance of the various trains. The prior art programming systems generally tried to program the trains according to the way in which the train system operated. So, with some exceptions, the program was determined only on the basis of "general" data and did not take into account the specific characteristics of the trains that were programmed nor the exact details of the peculiarities of the route on which they were programmed. Since the system programmers were generally used only to provide a "rough calculation" program by which the train dispatcher would be guided, the prior art programming systems did not generally identify the conflicting uses of the track, leaving such conflicts were resolved by the regional shipper during the operation of the trains. Desirably, a program would involve all the elements or resources that are necessary for the train to move, including these resources from the assignment of personnel, locomotives and wagons, to the determination of routes, the determination of which sidings to use for what purpose. trains, as well as the exact combination of the trains, in such a way that, with the appropriate rhythm, the main lines can be used to their capacity. In the prior art, however, several difficulties were associated with these types of programs. These difficulties belonged to several categories: (1) the immense calculation needs to program all these resources with great accuracy; (2) the inability to predict the actual dynamics of the train and its movement that would be necessary to safely steer a train through a given section of track; and (3) it was impossible to carry out an exact program because it was not possible to give orders to the crew of the train or directly to the subsystem of the locomotive that would make it follow the exact program that had been established. In general, the movement of the train in the current systems is the prerogative of the engineer who drives the train, naturally within the limitations of the signaling system controlled in part by the shipper and partly by the occupation of the road by other trains. Previous attempts to perform a comprehensive system optimization function resulted in a very detailed program. Such attempts have not been successful due in part to the prohibitively large calculation requirements for carrying out an analysis of the numerous variables. In fact, when the dimensions of the problem are taken into account, the number of permutations of solutions that are possible can represent an extremely large number. Consequently, exhaustive search algorithms to locate the best solution are impossible, and statistical search algorithms are not generally effective in problems of this scope. GENERAL EXPOSITION OF THE PRESENT INVENTION A first step in providing a precision control system is the use of an optimizing programmer that programs all aspects of the railway system, taking into account the laws of physics, railroad policy, labor regulations of the personnel, the actual contractual terms of the contracts with the various clients and any limiting conditions or li- titions that control the possible solution or program. These conditions may include elements such as extrinsic traffic, (which in the United States is very often passenger traffic), hours of operation of some facilities, maintenance of the road, labor regulations, etc. The combination of all these boundary conditions, together with the merit coefficient, if performed by an appropriate optimizing programmer, will result in a program that maximizes the merit coefficients. The commonly used merit coefficient is the overall cost of the system, in which case the optimal solution is the minimum cost solution. As the restrictions of such a system are variable, (ie, they probably change from one day to the next), the present invention can be structured to facilitate the use of new boundary conditions or restrictions, or new contractual terms. For example, if a contract has just been signed that involves a penalty clause of a certain magnitude for delay in supply, an optimizing programmer should take this penalty into account and incur it only when that is the lowest cost option of the various programming options available. In determining a program, the present invention determines a movement plan that will carry out the program in a feasible and efficient manner. As a next step, the present invention incorporates into the program the very fine structure needed to actually control the movement of the train. Such fine structure may include the assignment of personnel by name, as well as the assignment of specific locomotives by number, and may include the determination of the exact time or distance with respect to the time traveled by the trains through the railway network. This exact movement of trains can < t include all the details of the direction of the trains, power levels, curves, slopes, wind and atmospheric conditions, in such a way that the train is able to really follow the movement plan in detail. Finally, the present invention provides the movement plan to the persons or apparatuses that will use the movement plan to put into operation and perform the maintenance of the train system. In one embodiment, the movement plan can be provided only to the dispatching personnel as a guide to their manual train dispatch and control of the forces of the track. In another embodiment, the movement plan can be provided to the locomotives, so that it can be implemented by the engineer or automatically by switchable operation in the locomotive. Although it is especially useful in rail freight systems, it should be noted that the system and method of the present invention have applicability beyond a rail network. The system and method described can be considered as a transport system in which, in general, the variables are solved simultaneously as opposed to being solved sequentially. Only with such a simultaneous solution is it possible to approach the optimum. Another factor that influences the overall efficiency of the railway system, in particular the capacity of the given railway system, is the minimum separation of the trains and the relative speed of the trains. In the prior art, the idea of the mobile block operation has been proposed, consisting of a mobile block in a security band or prohibited zone that includes the train and a distance in front of each train that is approximately associated with the distance of stop of said train. This idea eliminates the fixed separation that is associated with current fixed block signaling systems. However, the complexity of a moving block has been difficult to realize due to the fact that the stopping distance of a train is a function of many factors, which include the mass of the train, the speed of the train, the slope, the characteristics of train braking and environmental conditions. One advantage of the ability to perform programming that includes detailed evaluations and analysis of the dynamics of train movement is that the stopping distance of a specific train is a natural by-product. The use of this train precision control allows the calculation of the mobile block safety band and allows trains to be separated as little as their stopping distances allow. The net result is a considerable increase in the total performance capacity of a given rail corridor. The train movement planning system described herein is hierarchical in nature, in which the problem is abstracted at a relatively high level for the initial optimization process, and then the resulting path solution is correlated with a less abstract lower level for further optimization. This hierarchical process means that the solution space over which the search occurs always decreases as additional details are incorporated in the search for a solution. In addition, statistical processing is used at all these levels to minimize the burden of the total calculation, making the realization of the overall process viable from the calculation point of view. An expert system has been used as manager of these processes, and the expert system is also the tool with which several limit conditions and restrictions for the set of solutions are established. For example, the movement of a passenger train through the network at a predetermined time can be set as one of the limit conditions of the solution space, and the other trains move optimally around that restriction. Another example: the programming of the works to be carried out in a specific section of the road in a certain time can be established as a limiting condition and trains can move around this restriction in an optimal way. The use of an expert system of this capacity allows the user to introduce the standards to be used in the solution process. As a result, everything from changes in labor regulations to contractual changes can be incorporated by simply writing or changing a set of rules. In some cases it may be desirable to allow an optimization process to schedule activities that are normally excluded by the set constraints. For example, the railway maintenance activity could be considered as a pre-programmed restriction around which the train program should move. On the other hand, the restriction introduced in the base rule may be that many hours of maintenance activity have to be carried out in a given section of the road and that the cost per hour of said operation is more night than day. Under these conditions, the programmer can program this activity according to the programming of the movement of the trains, in such a way that the overall cost of the operation is minimized.
A very important aspect of the use of precision programming ~ is the ability to take exceptions into account when they occur. The most common problem with fixed programs produced much earlier is that anomalies occur that cause elements of the network to fall outside the program, and the elements outside the program will fluctuate through the system, causing other elements to fall outside the program. . For example, the delay of a train on a trip can make a locomotive not available for a second scheduled trip, and the delay of the second trip will again make the locomotive unavailable for a third trip. Thus, the effects of fluctuation are common. A key element of the global programming system with exact control provided by the present invention is that it continuously checks anomalies as they occur, and allows reprogramming to compensate for the presence of these anomalies. This ability to handle exceptions 20 begins with the transfer of the anomaly to an exception handling logical element that determines at what level the anomaly can be resolved. For example, a given train that has deviated from its plan more than the predetermined tolerance, could be an anomaly that could be corrected simply with small changes in the adjacent trains. On the other hand, an anomaly of greater magnitude, such as a derailment that hinders a given route, would originate a large-scale reprogramming that would include the use of alternative routes. Such reprogramming on a large scale would reach a level of global planning or of the whole system that would allow a reoptimization of the plan around this greater anomaly. A temporary aspect of this reprogramming activity is that the anomaly transfer must be made immediately for security reasons, and then it must be acted upon for short-term optimization, and then action can be taken for global reprogramming. Thus, the resolution of anomalies or the process of handling exceptions may be involved in several levels of a hierarchical programming system in sequence of time until the anomaly is completely resolved. In the existing situation, the most common effect of an anomaly in the current systems is the cancellation of large portions of a predetermined program. In general, in the freight transport business by rail, the main disturbances of the program do not recover in at least 24 hours. Unfortunately, the anomalies occur very frequently, some of them are as small as the disablement of a locomotive of three locomotives, which makes the train have two thirds of the power for which it was programmed. 0 The anomalies are simply that the engineer has not tried, or been unable to, establish a program. Regardless of the cause, they occur with great frequency, and, consequently, many freight railways do not maintain any kind of close coupling with predetermined programs. The performance compared to the programs is often so bad that crew changes are required to avoid unscheduled stops due to exceeding the maximum crew working day. In the optimization process it is important to understand the full scope of what is necessary to actually achieve the minimum operational cost. Very often, optimization plans are based on the idea of priority, where some elements of the operation (certain trains or some types of expeditions) have higher priority than others because of the fact that they are considered to be more critical with respect to to time In an authentic optimization technique, the idea of priority per se should be implicit, but not explicit. The reason is that a given train, although of high priority in the sense that it must meet a deadline of arrival (or the impact of the breach of the arrival period is considerable), it may not generate additional benefit if it arrives soon. Put another way, arriving early may not be an advantage, but being late can have a considerable negative impact. In a true cost optimization plan, the priority must be tempered, and the priority function must be delayed within the "do not be late" constraint. One of the fundamental principles of optimization is that each element of the operation has some incremental cost associated with the optimized criteria. Incremental cost can be the cost of fuel, the cost of personnel per hour, the cost per hour of use of the locomotives or the cost per hour of use per distance traveled of the locomotives. The actual incremental cost factor should enter the optimization plan, which includes penalties. The plan should include nonlinearities in incremental costs to take into account the fact that at certain points of the supply time schedule, the actual cost will increase in a phased or progressive manner. For example, where the advance of the supply has no associated advantage, the failure to supply a given load could have a penalty of $ 1000 if it is not provided on time and another $ 1000 per hour of additional charging for overstays if it causes a ship to remain in Port. A true optimization plan is one in which the variables, including the allocation of resources, are combined in such a way that the overall cost is minimized. An example would be two trains that go to a destination, of which one is four hours late and the other half an hour late, both trains have a considerable penalty, but fixed, for being late. The logical solution would be to do nothing about the train that is four hours late because of the impossibility of meeting its schedule, and give the train that takes half an hour late the possibility of recovering the half hour and avoid the penalty for arriving late. In such a situation, the train with four hours of delay may have a much lower priority than a bulk freight train, because the bulk freight train may involve the use of more resources. In the present invention, what it controls is the overall or general cost optimization, rather than the predetermined priorities, using the priorities only as cost factors. The total cost includes operating costs, such as fuel and the use of rolling stock, as well as the supply costs produced by contractual terms and commitments. Only when all these cost factors are taken into account, is it possible to arrive at a genuine minimum cost plan. In known prior systems, such a plan is not possible, because the technique that actually calculates the incremental cost associated with each of the decisions is not available. As a result, suboptimal plans are often generated based on the intuition of shippers and planners.
Partial enumeration of objectives Accordingly, an object of the present invention is to eliminate the above deficiencies of the known systems and to provide a new system and method for programming the movement of a number of objects through a multi-path supply system. Another object of the present invention is to provide a new system and method for optimizing the movement of a number of objects through a multipath system. Another object of the present invention is to provide a new system and method in which a detailed movement plan is linked to the control of a supply system. Another object of the present invention is to provide a new system and method for operating a supply system according to a program in such a way as to minimize the deviation of the program at any moment of time.
Another object of the present invention is to provide a new system and method for directing the movement of transport vehicles in a supply system in such a way that local conflicts are resolved with reference to the effects of such resolution throughout the system. Another object of the present invention is to provide a new system and method in which conflicts of the use of system resources are reduced by managing the duration of the periods of such conflict. Another object of the present invention is to provide a new system and method in which conflicts about the use of resources are reduced by strict programming and the use of such resources. Another object of the present invention is to provide - ^ r a new system and method in which the delays of a supply system are reduced by providing a plan of detailed and feasible movement and providing a means to carry out the detailed and feasible plan. Another object of the present invention is to provide a new system and method for obtaining a plan for the movement of a number of objects through a multi-path supply system that can be physically reached with the moving objects, and As a result, it can be used to control the movement of objects. Another object of the present invention is to provide a new system and method for obtaining a plan for the movement of a number of objects through a multipath system in which moving objects are converted into intervals of time for processing. In another aspect, the present invention provides a new method and apparatus for optimization that uses different levels of abstraction in the stages of path programming and fine planning. Another object of the present invention is to provide a new system and method of optimization, where the amount of detail of the movement that is optimized is inversely related to the solution space. Another object of the present invention is to provide a new system and method of optimization using a rule-based inference engine to provide constraints for an inference engine based on constraints. Another object of the present invention is to provide a new optimization system and method using the combination of rule-based and constraint-based inference engines when developing a motion plan, using the additional optimization in a process-based inference engine. Another object of the present invention is to provide a new optimization system and method taking into account the operational and supply costs. In another aspect, an object of the present invention is to provide a new model and method of modeling capable of different layers of abstraction. In another aspect, an object of the present invention is to provide a new computer and calculation method that combines simulated tempering and bifurcation and limiting techniques when developing solutions to computational problems. Another object of the present invention is to provide a new computer and calculation method with an intelligent approach to simulated quench procedures. These and many other objects and advantages of the present invention will be readily apparent to those skilled in the art to which the invention pertains by careful reading of the claims., the accompanying drawings, and the following detailed description of the preferred embodiments. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a schematic block diagram of the systems of the prior art. Figure 2 is a graphic illustration of a prior art string used in programming an embodiment of a system of the present invention. Figure 3 is a functional block diagram of the system of the present invention. Fig. 4 is a functional block diagram of the entire system scheduler or command scheduler of Fig. 3. Fig. 5 is a system flow diagram of the resource scheduler implementation of Fig. 4 on a COPES platform. Fig. 6 is a block functional diagram of the planner-dispatcher's movement planning portion of Fig. 3. Fig. 7 is a functional block diagram of the physical model of Fig. 6. Fig. 8 is a schematic illustration of the operation of the system. Figure 9 is a graphic illustration of the multilevel abstraction of the three-dimensional model of Figure 6. Figure 10 is a functional block diagram of the train controller of Figure 3 as it can be used in a locomotive. Fig. 11 is a functional block diagram of a portion of the train controller of Fig. 10. DETAILED DESCRIPTION OF A GOODS RAILROAD PROGRAMMING SYSTEM Many of the advantages of the present invention can be understood in the context of a system of rail freight programming, and preferred embodiments of the various components of the invention and their operation are described below in such a context. General system . With reference to Figure 3, a train programming and control system according to the present invention may include a system-wide planner or command scheduler 200, a scheduler / shipper 204, a security guarantor 206 and a train controller 208 .
In general terms, and as will be better explained later on, the planner of the entire system 200 is responsible for the general planning of the system when allocating the various resources of the system in order to optimally fulfill the orders or demands of the system. The entire system planner 200 develops a non-detailed program on the use of the various resources, and passes this program to the scheduler / shipper 204. The planner / shipper 204 receives the detailed program 10 from the planner of the entire system 200 and, as it is better explained later, it determines a detailed program of resources, called a movement plan. The motion plan may then be used by the dispatcher portion of the scheduler / shipper 204 to transmit it in the end to the train controller 308 on board the locomotive of the trains that are controlled. The movement plan developed by the planner / shipper 204 can be verified by a security guarantor 206 to verify that the movements ordered by the planner / shipper will not cause any of the trains in the system to be in a situation of insecurity . Still referring to Figure 3, the scheduler / shipper 204 can also generate signals from appropriate order for the various elements of the track 210 (such as needles) configure the rail system when necessary to carry out the motion plan in an automated embodiment of a system of the present invention. As with the motion plan signals, the security of the signals sent to the track elements 210 can be verified by the security guarantor 206. The information regarding the train position and the parameters of the track elements can be sent again to the planner / shipper. In case the planner / shipper 204 is unable to develop a program for all the necessary services of the program, or in case a train is unable to fulfill such a program, the exceptions are returned to the communication chain to be treated by the next higher level, when necessary. It can be noted that, at each level of the system of Figure 3, the system takes into account the effect of the size (mass) and the power of the train, the various parameters of the track and the restrictions of the handling of trains in the process of programming and movement. The parameters of the road include the physical characteristics of a specific road that affect the speed at which the train can pass through the road and that affect the rate of change of speed or power that occurs while a specific train is moving forward. along the way. These parameters include, for example, the slope of the road, its curvature and slope, and the condition of the infrastructure of the track and rails. By generating a program that takes into account such road parameters, the entire system planner 200 is capable of generating a non-detailed program that has a high probability of being implemented successfully during the detailed planning of the 204 planner / shipper. Similarly, the use of such road parameters by the planner / shipper 304 will ensure that the plan * developed movement is realistic and can be followed safely and closely by the real train. Likewise, all levels of the system may include restrictions on the handling of trains within their determination of a non-detailed program, the movement plan and the orders used to control the train. fifteen - . 15-The restrictions on the handling of trains include empirical factors and others for which it is known and accepted that trains must move. These restrictions include braking techniques and needle exchange considerations to avoid derailment. 20 For example, a long train that has just passed over the top of an incline is considered "stretched", because all its couplings between wagons are in a stretched or stretched position. As the front portion of the train begins to go down the slope on the opposite side of At the top, wagons on the downward slope tend to compress if the engine slows down, and it can be dangerous to apply dynamic brakes (that is, the braking system that operates only on the engine). As the couplings between wagons are compressed as the wagon is slowed down by the wagons in front, the tendency of the train to buckle is a known cause of derailments. Such restrictions on the handling of trains may vary depending on the size and type of train, and are taken into consideration at each level of the system. The planner / shipper 204 of Figure 3 has two processes: a planning / dispatching function and a motion planner. The planning / dispatching function is responsible for the movement of a train from its departure (ie, its first departure time) until its arrival at its destination (port, mine, sorting station or terminal station). The motion planner, as discussed in detail below in connection with Figure 4, takes the non-detailed program initially determined by the entire system scheduler or command scheduler 200 and generates a detailed movement plan using the details of the physical attributes, the parameters of the route and the restrictions of the handling of the trains. The movement plan is the temporary history of the position of the trains throughout the plan and takes into account the physical forces that are expected to occur during the actual implementation of the plan. For example, the motion planner takes into account the inertia of the train and the parameters of the track, etc., to provide a plan of movement in which it is possible that the train does not reach its desired speed at the moment. Thus, the movement planner takes into account the changes in speed and / or the temporal effects of the various restrictions of the specific road on which the trains have been planned. For example, if the motion planner determines that a particular train is placed in a siding, the motion planner takes into account the fact that the train may have to slow down something by going through the change and, particularly if the train stops at the sidings, that the next acceleration will not be instantaneous, but that there will be an increase in speed in a finite period of time according to the weight of the locomotive, the adherence of the track, the weight of the train, the slope and the curvature. In this way, the motion planner generates the exact trajectory that the train is expected to follow. 20 This detailed movement plan should be contrasted with prior art systems where plans are generated with respect, at best, to an average period of time that similar trains have needed to pass through, or are expected to require. to go through, the same road segments. Although, on average, the averages of the simulations of the prior art can be quite accurate, they usually assume characteristics that it is not possible to carry out in the movement of an actual train. For example, the prior art models can model the travel between two segments as the average speed in the two segments. If the movement plan is generated simply from the average speed, the movement plan will be inaccurate in anticipating the train's trajectory, because the average speed of the model can not be reached instantly by the real train. When such an average speed is used when generating a movement plan, the train can not really implement such a plan, and such plans can not be used to control the trains.
In contrast to the prior art, the present invention takes into account not simply the average speeds between points, but other factors that affect the speed of the train and the time at various points between the ends of the segments. In doing so, the motion planner of the present invention knows exactly not only when a train will arrive at the end of a particular segment, but also where the train should be at any given time while it is in the middle of such a segment. Since the motion planner knows the exact time that a train under its control will be in a particular facility, such as a siding or alternative route, you can schedule the meetings and steps with • 38 greater accuracy than in the prior art. Fixed block or mobile block rules can be used in the motion planner of Figure 4. The fixed block rules reflect the segmentation of the 5 ways in blocks or fixed segments. In general, in the prior art, the size of the block was set at the distance that the slowest train to stop would take to stop. In the situations of the following trains, a following train would remain behind the front train at least a multiple of the length of the fixed block. Normally, the separation distance between the next train and the front train would be set to multiples of a fixed block size. Since the system of the present invention uses a very accurate harmonized control Specifically with the capacities and dynamics of the specific trains treated, the separation between trains may be smaller than in fixed block systems because it can be made to reflect the actual braking distance of the specific trains. So, the system of this The invention is not based on a "worst case" braking plan, and thereby the performance of the rail system is improved. Continuing with reference to figure 3, the movement plan generated by the motion planner of Figure 4 is used by the planner / shipper 204 to control the operation of the trains. In one embodiment, selective portions of the movement plan can be visualized to assist operating personnel in the departure of trains and in the correct configuration of the various elements of the track (needles, signals, etc.) required by the movement plan. . In another embodiment of the present invention, the movement plan can be automatically dispatched by the planner / shipper 204 via the communications infrastructure to send the appropriate portions of the movement plan to the train controller 208 on board the locomotives and to control the distance the various elements of the track. The security of both the signals of the movement plan and the signals that control the force of the track can be verified independently by the security guarantor 206 who, independently and without taking into account the program, confirms that the specific movements ordered and the Values of road forces are safe and appropriate. The security guarantor can be any properly programmed computer, in particular a computer with built-in redundant hardware to eliminate the possibility of failure of a single point. It is important to note the close link between the trajectory of the movement plan determined by the planner / shipper 204 and the movement of the train that is executed by the train controller 208. If the trajectory planned by the planner / shipper 204 was not detailed enough, including factors such as inertia parameters of the track and train handling, train controller 208 would not be able to implement the plan and could be expected to flood the planner / expedition with exception warnings. Command Scheduler Referring now to the entire system or command scheduler 200 illustrated in Figure 4, it can include a planning degree determiner 304, an activity identifier 310, a candidate resource determiner 314, an effects calculator of the action of the train 318 and a time interval converter in the rule-based inference engine shown above the dashed line 340. The command scheduler 200 may also include a constraint-based inference engine that includes a coder of intervals 324 and a resource scheduler 330. A display 334 and a terminal for other output devices (not shown) can be provided in a utilization section. As shown in Figure 4, a new order for the rail service can be applied via an input terminal 302 to a planning degree determiner 304. The order can be any rail service request and can include a point of origin, a first pick-up time at the point of origin, the point of destination, the last delivery time at the point of destination (after which the penalties are applied), a cost function that defines the penalty to be paid for delay in delivery and / or an incentive for early delivery, and any other information appropriate to the kind of order. An order can take the form of a request to move a train loaded specifically from point A to point B, perform a round trip service between two points, make a series of round trips with unspecified trains, schedule a maintenance period for a specific segment of track or other railroad equipment, etc. Thus, an order to collect coal in a mine and take it to a port may require one or several trips, each trip specifying some train resources, a sequence of track resources, mine load resources and port discharge resources. The sequence of track resources depends, of course, on the selection of a route if alternative routes are available. The planning degree determiner 304 also receives data on the available resources at an entry terminal 306. A resource can be any entity that can be programmed and, for example, can be a locomotive, a freight wagon, a complete train, terminal equipment, such as a loader or unloader, track segments and any fixed or mobile block associated with they, or ^ track or train maintenance team. The planning degree determiner 304 may also receive any program exceptions through an input terminal 308. A program exception may be any previously programmed event that will not be fulfilled within a specified deviation of the program time interval and may require re-planning according to company policy. The planning degree determiner 304 may also receive the extrinsic traffic that is to be included in the plan. Extrinsic traffic is traffic that is not subject to programming by the motion planner, for example, preprogrammed traffic. As an example, an extrinsic program exception for the normal rail freight transport system may be the inviolable program of a passenger train in the same system. railways. The planning degree determiner 304 can be any suitable conventional apparatus, preferably a properly programmed general computer or a special computer, with the ability to analyze the available data to generate the commands on what programming will be performed. The planning degree determiner 304 gives orders to an activity identifier and sequencer 310 through the terminal 312, and the activity identifier and sequencer 310 provides a list of activities to the candidate resource determiner 314. An activity is an event that requires the assignment of one or several resources over a period of time. By way of example, an activity can be the loading of a train with a bulk item that requires the assignment of a train, the assignment of loading equipment, or the allocation of track at and near the loading point, each during a period of time that depends on the capacity of the train and the characteristics of the loading equipment. In turn, the activity identifier and sequencer 310 provides a list of the available resources of the terminal 306 that have the ability to perform the activity identified in the necessary time sequence. The activity identifier and sequencer 310 can be any properly programmed general or special computer with access to the necessary data. The list of candidate resources of the activity identifier and sequencer 310 can be supplied via the terminal 316 to the effects calculator of the train action 318 and the time slot converter 320. The effect calculator of the train action 318 also provides an input signal to a time slot converter 320, as described below. The effect calculator of the action of the train 318 can be any suitable conventional or special conventional computer, appropriately programmed, with the ability to derive from the data relative to the composition of the train the effects that the terrain has on the train that travel Although without limitation, the effects of the terrain on the acceleration and deceleration of the train are especially important. The calculator receives the database of the physical model of FIGS. 7 and 8 by means of a terminal 321. The time slot converter 320 can also be a suitable conventional general or special computer, capable of converting each of the candidate resources to a time interval that takes into account the effects of train action. The output signal of the time interval converter 320 can be applied via a terminal 322 to the interval coder 324. The interval coder 324 also receives via the terminal 326 the commands of the planning degree determiner 304. The signal of output of the interval grouper is applied as a group of time slots by means of a terminal 328 to a scheduler 330. The interval gatherer 324 can be any suitable conventional or special general computer capable of computing the total time associated with the execution of each trip using the candidate resources. The resource scheduler 330 that receives the interval groups also receives via an input terminal 332 data relative to the performance measure with which the programs are evaluated. In addition, the programmer 330 receives a signal from the determinant of planning degree 304 indicative of the resources available for the programming process. The output signal of the programmer 330 is applied to any suitable conventional display 334 and to any other utilization device (not shown) by means of the terminal 336. The output signal of the programmer 330 is the program which is also fed back to the degree-of-degree determiner. planning 304 as explained later. The resource scheduler 330 can be any suitable conventional general or special computer capable of programming the passage of the various trains through the track system with a high degree of optimization. However, and as explained below in greater detail in connection with Figure 5, resource scheduler 330 is desirably one that uses the known simulated quench techniques to approximate the optimal solution. In practice, the planning degree determiner 304 determines the degree of planning to be carried out based on the new orders and / or program exceptions. With the new orders, the planning degree determiner 304 uses a set of standards defined by standard operating procedures, company policy, etc., in addition to the programmer's current program 330 and currently scheduled train movements or actions of maintenance to determine the eligible actions that will be scheduled. Extrinsic traffic must also be considered when determining the extent to which planning will be carried out. By limiting planning, confusion can be avoided between personnel and the inherent inefficiencies produced by constant program changes, as well as the inefficiency that results from changes in ongoing or imminent activities. The orders of the planning degree determiner 304 are received by the activity identifier and sequencer 310 and used to generate a list of activities. For each order, the list of activities necessary to fulfill the order is identified. The list of activities includes the sequence of track segments (that is, the route) that must be traversed when the order is fulfilled. Route selection can be based on cost analysis, a previously determined company policy or standard operating procedures. Naturally, the list of activities is ordered sequentially in such a way that it constitutes a sequential list of each activity to be carried out when fulfilling the order to be programmed. The list of activities is sent to the candidate resource determiner 314. With respect to each of the resources in the list of activities, the possibility of assigning such resource to the specified activity is analyzed and a selection of rolling stock resources is made , usually based on the limitations of rolling stock or company policy. For example, a specific destination, such as a port for coal mining operations, may not be able to discharge certain types of rolling stock. In the same way, a specific type of train with a specific power locomotive may not be able to climb the slope associated with the selected route without excessive heating or overloading of the engine. This list of candidate resources for each of the activities in the list of activities can be provided to the effect calculator of the train action 318 and the time slot converter 320 as candidate resources. Thus, the candidate resource determinant 314 serves to limit the potential allocation of rolling stock and / or other resources to the activities it has the capacity to perform. The effects calculator of the train action 318 and the time interval converter 320 calculate the time necessary to complete the activity for each of the activities listed in the list of activities it receives and for each of the candidate resources. For the movement of a train (loaded or unloaded), over a sequence of track segments, this calculation can be performed by a commercialized train performance calculator, such as the AAR TEM model. Loading and unloading tasks can be calculated by dividing the capacity of a train by a constant rate of loading (unloading) the equipment into the terminal. This rate can be variable, in which case the calculation of time must take into account the non-linear characteristics of the equipment. Additional time must be included in the loading / unloading process in order to place the train in the loading / unloading equipment. The calculated time for each of the activities in the list of activities is adjusted with respect to the effects of the action of the train for each alternative candidate resource, and the information of the time interval is supplied to the time interval converter 320. Time interval converter 320 translates the sequence of activities from the list of activities into a sequence of time intervals. This is carried out using the data of the effect calculator of the train action 318 for each of the activities identified by the candidate resource identifier 314. If alternative resources are available to carry out any activity, all the alternative time intervals are calculated for each of the activities. Certain types of activities, such as maintenance activities, have an externally specified time interval until termination, and thus do not require calculations. The time slot converter 320 passes a list of time slots grouped by resource, as well as by time, to the slot stitcher 324. The slot stitcher 324 receives the list of slotted intervals of the time slot converter 320. The stitcher of intervals 324 also receives the orders of the planning degree determiner 304 and groups the time intervals necessary to fulfill the orders in the logical sequence. With respect to travel, the interval grouper 324 provides the necessary time intervals for the entire trip, but indicates what time interval can be divided, if necessary, at smaller intervals by the presence of free spaces. Free spaces represent the periods of time that can pass between the termination of a time interval and the initiation of the next time interval of the group. A free space can be the existence of a siding or other capacity to hold a train during a time interval, for example, to allow the passage of a second train. Any time interval immediately followed by a free space (for example, that associated with the passage of a train through a section of track to a siding) can be considered as a "time interval capable of free space". The interval groups defined by this procedure are passed to resource scheduler 330 as interval groups. The interval groups are passed to resource scheduler 330 who also received from the planning degree determiner 304 a list of resources available for the program. Performance measures related to the orders given by the client are also provided to allow the evaluation of program costs, as described below. The resource scheduler 330 thus performs a search for a program that complies with restrictions on the availability of resources, complies with internal restrictions and minimizes performance measures. As indicated above, the search for an acceptable program may * employ several suitable conventional techniques, but the preferred technique is that of the simulated temper explained above. If an acceptable program is not available because of the length of the group time slots, the interval groups are returned to the interval grouper 324 for division into the free spaces into smaller groups. After the division, they can be returned to the resource scheduler 330 and the programming process repeated. This programming process continues with decreasing time intervals until the groups of intervals can no longer be divided, because there are no time intervals capable of • 51 free spaces in no group of time intervals. At the time when the resource scheduler 330 can provide a program that complies with the imposed restrictions, said program is passed to the display unit 334, as well as any other selected utilization means attached to the terminal 336. This program is It also applies to the planning degree determiner 304 as part of its database, where the components to be carried out of the program are treated as exemptions from the program in the determination of additional planning. In case the resource scheduler 330 can not provide a program that meets all restrictions, it refers to the best available program along with an indication that the program has conflicts not resolved. The information regarding the resources and activities involved in the conflict is identified. Screen 334 conveniently displays the resulting program for examination by the user. A popular screen is a standard string diagram used by the railways, as illustrated in Figure 2 above. Note that the components of the command scheduler portion 200 of FIG. 3 above a horizontal dashed line 340 in FIG. 4 are components of a standards-based system, i.e., an inference engine based on rules that provide the constraints applied to the resource scheduler 330 and the interval gatherer 324. One aspect of the invention is that both rule-based and constraint-based systems are used for programming commands. By this combination of inference engines, an unusual efficiency is obtained when calculating the program. Resource scheduler 330 performs globally optimized programming of train resources using an abstraction of train movement and resources. The choice of a resource abstraction that results in a workable solution in near real time is the key to reducing the search space required by the motion planner when developing a detailed movement plan. Preferably, the resource scheduler 330 is implemented in the Constraint Propagation Expert System (COPES) platform developed by Harris Corporation. This platform provides a virtual engine to develop distributed algorithms that can be implemented in a machine, or distributed in a number of machines in a TCP / IP environment. This engine provides a constraint propagation interference environment with built-in communications capability and a unique discrete simulation capability. It is known because it is described in "1993 Goddard Conference on Space Applications of Artificial Intelligence", page 59.
One of the advantages of developing the resource scheduler 330 in COPES is that it can receive asynchronous requests from the planning degree determiner 304 and (a) stop the programming process, returning the best solution found until now, or (b) abandon the current programming process and start a new programming request based on recent changes in the system, such as deviations from scheduled activities. The resource scheduler 330 represented in FIG. 5 is a UNIX process that schedules resources so that they fulfill a set of orders for the rail service so that it complies with a set of restrictions defined by the user. Multiple orders can be programmed in batches or sequentially. As indicated above, an order also has a time interval during which the service is to be provided and a cost function that defines the penalty to be paid for delay in delivery and / or the incentive for advance supply. Once the resources are selected, the activity lists can be converted into a sequence of time intervals incorporating the train effects captured in the resource utilization data, and these intervals can be grouped afterwards. These groups of time slots can be moved relative to each other using a new search process called Simulated Focused Tempering to meet the constraints and obtain a solution at the lowest cost. Focused simulated tempering is a distributed version of the simulated temper written in COPES. It follows the traditional trend of simulated tempering in the random generation of motion operators with an energy function to be minimized. A. The generation of potential movements through restrictions is random and distributed. B. Optimization allows you to take some bad moves in the early stages. C. As the "temperature" is reduced, fewer bad moves are allowed. D. Only good movements are allowed in the final stages. The variables include the initial temperature and the number of steps of temperature reduction. For each step of reducing the temperature, it also includes the number of reconfigurations, the number of successes and the number of attempts. What distinguishes this approach from traditional simulated tempering is its ability to focus its attention intelligently on critical areas. In the first search phase, this approach is limited to certain guidance information passed by the planner, such as the likelihood of the degree of restriction of the solution along with the objectives, such as the minimum use of sidings, or the anticipated supply, etc. This information is used by the simulated tempering technique focused to determine whether to use certain movement operators in the search process, and, in such a case, how often to activate them in relation to other operators. The generation of movement operators is therefore more directed, although still random, than in the use of traditional simulated tempering techniques. Focused simulated tempering is distributed by letting the restriction routines attached to each trip make decisions about how useful it would be for the general situation to modify the current trip (for example, start time, assigned equipment). Each routine can program its associated trip to be modified on a random basis, the time band being a variable that reflects the importance of the next movement of the trip (for example, a greater time band, which indicates less importance). The resource scheduler 330 employs a dynamic, distributed, robust and efficient version of the simulated temper written on the COPES platform. It is dynamic, because its behavior can be controlled by parameters passed with the programming requests by the planner of the whole system (such as the costs of the overstays in the form of a polynomial cost function), by parameters defined in the database COPES, and for the information inherent to the programming problem itself. It is a distributed algorithm, because train journeys are objects of the COPES class, each of which has restriction objects attached to them that are activated independently of each other. The solution thus derived must be more independent of the domain of the problem than what happens with more sequential algorithms and, therefore, it is a firmer approach. It is an efficient implementation, because it uses a compact representation of each resource required as COPES objects with availability profiles and a temporary logical approach that efficiently manipulates these availability profiles when a trip is added or removed. Temporal logic also considers constraints such as moving block distances. The overall costs of such movement are modified as a side effect. The simulated quench operation focused on COPES in resource scheduler 330 of FIG. 4 is illustrated in FIG. 5. Referring now to FIG. 5, a system flow based on constraints of such resource scheduler is illustrated. The bold names of the ovals (such as uso__recursos_op) are the restriction routines (they are not limited to reducing the search space, but they can also generate solutions). They are only activated by the COPES inference engine when a class variable is modified to which they are linked. The names represented in rectangular boxes (such as use_re-course) are class objects with state variables not represented in the interest of clarity. There are multiple instances of some class objects, such as orders and trips. Each travel example, such as "travel_stateO", is actually composed of travel state variables, and class_location_freight objects that define the sequence of resources needed to complete the trip. Each order consists of enough trips to fulfill the order. The restrictions are attached to each trip and are the primary movement operators to explore the search space. The time slot converter requests a program from the resource scheduler 330. The restriction io_server is activated and moves this request to the kind of interface state that causes the usage_recur-so_op restriction to trigger. This restriction stores the times of utilization of pre-generated resources (from the time interval converter) for each type of train using each resource. It also stores information about the possibility of siding between two road segments. Programming requests are now received through the message request_op_capacity. This message contains information about the order, as described above, the objectives of the search, and the restrictions. The request_capacity_op restriction generates order class objects for each order, and enough train trips to fulfill each order. It notifies the restriction search__control to start the simulated tempering focused by the class object bus-state-remains. Control_Search initializes the search and tempering parameters and establishes the first search phase. Activates all selected travel restrictions and programs them randomly for activation. The activation program is a tail of discrete events reflected by the programmed modification of class variables in COPES. When each movement operator is activated, it checks if one of the simulated quench parameters indicates the need for a change. If a change is required, the operator notifies the control_temperature restriction that will lower the temperature and reinitialize the search parameters for the next temperature. At the end of the first phase, the search_control starts another quenching pass with half the number of attempts allowed in each temperature and without allowing higher energy steps during this phase. As the search is in a reasonable global optimum environment, it is desirable to focus on better local solutions. At the end of the final phase, a directed search process is carried out to further refine the program and to compress * 59 what, if desired. In case the resource programmer can not find a program that satisfies the constraints, it returns the best possible program along with an indication of 5 that an exception has occurred and the identity of the resources and activities involved in the exception. The movement operators that perform the actual search are described below. Each one is an example of the restrictions routine attached to an example of a kind of trip. The behavior of the movement operators is variable depending on the phase of the search, the objectives of the search, and their probability of improving the solution. At lower temperatures the movement operators move_and the mod_space_free reduce the start time band they will consider for the united trip. This shifts the emphasis from the global to the local to lower temperatures. Change_quipment is only activated if it is determined at low temperature that the train equipment is over-constrained in its assignment current. The mover_group operator is only activated at the end of phase one and if a highly restricted situation is indicated. At lower temperatures in the final phase, the operators mover_viaje and mod_espacio_libre determine their likelihood of contributing to the search by seeking to overuse the availability profiles that describe your use of resources. If such overuse is detected, the operators are programmed to be activated randomly, but with greater proximity in time than what would otherwise happen. The idea of energy is a weighted combination of resource exceptions, operating costs, and goals, such as anticipated supply. The energy function gives more emphasis to very critical resources (for example, mine, trains). The following are the movement operators used in the preferred system: A. Move trip - a restriction that moves a trip (which includes all travel resources and considers programming constraints, and costs). Re-move the trip if the cost is not better. However, at the beginning of the simulated temper, the cost can be worse depending on the temperature and the oracular decision, avoiding local minimum solutions. B. Exchanging travel - a restriction that exchanges two trips (which includes all travel resources and considers the programming constraints, and the costs). The returns to move if the cost is not better. C. Mod_spacio_libre - a restriction that uses the idea of a lax programming percentage to try to add free spaces between the use of resources to minimize conflicts. These free spaces can only be in places where there are sidings, thus providing an abstract capacity of sidings. Try to minimize the number of book spaces entered. D. Change_Team - a constraint that assigns a different type of train to. this trip when the trains are overstressed. E. Move_group - a restriction that moves a group of trips to take advantage of the time available for programming. Without it, a strict program would have free time spaces between groups of trains that are not used. From the foregoing, it will be evident that resource scheduler 330 globally optimizes train programming by abstracting both the movement of trains and resources. The use of simulated tempering focused on COPES focuses attention on critical areas. The generation of movement operators, although random, is more directed, leaving the constraints attached to each trip to make decisions regarding the usefulness of the modifications of the overall solution. Motion planner As represented in the block diagram of the system of FIG. 3, the command scheduler 200 provides the program information to the dispatcher / scheduler 204, of which a portion, i.e., the motion planner 202, is illustrated in more detail in figure 6.
Referring now to Figure 6, the motion planner includes a motion scheduler initiator 400, a motion scheduler executor 402, a physical model 404 (preferably a stand-alone unit as illustrated in Figure 8), a screen, a resolution option identifier 408 and a conflict resolution device 410. The motion scheduler initiator 400 receives the program from the command scheduler 200 of FIG. 3 through the scheduler / dispatcher 204. The motion scheduler initiator 400 it also receives information regarding the state of the system from any suitable conventional external source, generally from the output function of the scheduler / sender 204. This information can be developed from a variety of sources, such as the geolocation system (illustrated in Figure 10) or conventional track sensors to determine the position of trains in the system . The program and the data relating to the state of the railway system are used together with the definition of each train and its starting point to start the movement planner. The definition of a train can include all the relevant data, such as the number and type of locomotives, the number and type of wagons and the weight of each of the wagons. The starting point of each train includes the position of the train in the system, its direction on the track, and its speed. At least for each of the trains, the program includes: the point of origin, the departure time of the point of origin and a destination point. This data is a "state vector" which is supplied to the motion planner executor 402 together with a time interval indicating the amount of time that the motion planner 202 should plan the movements of the train. The motion scheduler initiator 400 can be any properly programmed general or special computer. The motion scheduler executor 402 receives the program and state of the system data from the motion scheduler initiator 400 and is connected for bidirectional communications with the physical model 404 and the resolution option identifier 408. The scheduler executor movement 402 also receives information from the conflict resolution device 410 and provides information to the planning / unpatching function through a terminal 406. The motion scheduler executor can be any appropriately programmed general or special computer. The motion scheduler executor 402 receives and registers the state vector, and uses the services of the physical model 404 to advance the time in increments until (a) the physical model 404 relates a train conflict, (b) a specific stop condition or (c) the simulation time interval is reached. If the physical model 404 refers to a train conflict, the state vector at the time of the conflict is saved, and the conflict is referred by the motion planner executor 402 together with the data referring to the temporal history of the movement of the trains. Alternatively or in addition, the existence and the background information relating to the detected conflict are referred by the physical model 404 to the conflict resolution device 410. The physical model 404 follows the movement of the train once it has received from the scheduler executor of movement. -miento 402 data that identify the initial state, the stop condition and the advanced time interval. The resolution option identifier 408 receives the notification of a conflict from the motion scheduler executor 402 and identifies the options available for resolution. The conflict resolution device 410 receives the identified options from the resolution option identifier 410 and performs an analysis based on the performance measurement data received from the terminal 332 of the command scheduler 200., figure 4. This evaluation is carried out simulating each of the options and calculating the associated performance measure or the merit coefficient. If "local optimization" is desired, this "best" result is referred to the motion planner executor 402 to be displayed to the sender and / or the movement plan is revised to include the alternative route, if applicable, and the simulation, using the physical model 404, starting from the initial state or another registered state. Local optimization is satisfying in a large percentage of situations if the program provided by the command scheduler 200 of Figure 3 has been sufficiently intelligent in specifying the times of departure. If the departure times have not been specified carefully, local optimization can lead to "blocking", that is, a condition in which conflicts can no longer be resolved. The blockade occurs because the resolution of a conflict leads or limits the alternatives for the resolution of another group of conflicts. "Global optimization" can be performed using a variety of optimization techniques, preferably a version of the known technique of "bifurcation and limitation" to look for a tree of alternative solutions. In the bifurcation and limitation technique, each of the conflicts is modeled as a bifurcation point in a decision tree. As the simulation continues and conflicts are resolved, the search technique chooses the lowest cost alternative and the simulation continues. The cost of the alternatives is saved, because it is the state of the system for each of the points of conflict. It is possible that the choice of the lowest cost solution among the alternatives may not result in the optimal overall solution. The technique of bifurcation and limitation allows e-fectuar the search in the tree in the opposite direction and withdraw decisions previously taken to reach a solution at lower cost or avoid a block. The movement plan available at the issuing terminal 406 desirably includes a conventional screen suitable for visualizing the movement of the trains until a conflict occurs, and presenting the temporal history that leads to the conflict, in a graphic form, for its interpretation and resolution by a human operator.
In addition, the resolution option identifier data 408 can be displayed for the operator to help him manually resolve the conflict. In addition to the options and the cost associated with each, the conflict resolution device 410 may provide a suggestion as a conflict resolution and that suggestion may also be visualized for the operator. The programming procedure The interaction of rule-based and constraint-based systems in the order scheduler of Figure 4 and the motion planner of Figure 6 can be more easily understood by reference to the system illustrated in Figure 8. As is known, a restriction is a limit on the value of an entity. The restrictions considered in this description are generally classified into three categories: the time constraints that are inherent to the task of fulfilling an order, the restrictions that are inherent to the structure of the railroad, and the restrictions that are explicitly specified by the user . Order restrictions include the sequential nature of activities based on the fact that a train can not jump from one point to another without crossing some intermediate segments. For example, to load coal in a mine, a train must travel the track segments, in the appropriate order, from the train's origin to the destination mine and only then take the track segment in the mine and the equipment of the mine. There are also inherent restrictions to the structure of the railroad. Such restrictions include elements capable of free space (sidings located between segments) and single / multiple path configurations. A wide variety of restrictions defined by the user can be included. These restrictions are generally time constraints that are intended to restrict the resources programmer 330 from programming certain resources during certain periods of time. An example of such a restriction is a mine that has limited hours (for example, daylight only) during which coal can be loaded. Such a restriction would be included by limiting the availability of resources to a specified interval. Another example of such a restriction is resources, such as track or locomotives, that are out of service for maintenance during a specified time interval. Another example is a train that is not under the control of the programmer, for example, a passenger train programmed by an entity external to the freight train programmer. All these restrictions can be included by appropriately defining the timelines of availability of resources. The rule-based process converts orders into a form that is suitable for a constraint propagation solution and restricts the search space by eliminating certain candidate solutions, based on a set of standards that incorporates the company's policy, standard operating procedures and empirical factors, among others. The constraint-based procedure solves the problem of moving time intervals to maximize the externally supplied performance measure, while complying with all constraints. The result of this process is a program for railway operation that includes a globally optimized program for the operation of trains, maintenance activities, and terminal equipment. As shown in Figure 8, each of the processes can be implemented as an asynchronous UNIX process with interprocess communications between the two processes implemented using a known server client relationship based on UNIX connectors. In case of foreseeing the procedural means, they are also implemented as one or several asynchronous UNIX processes. These processes communicate using known client server communications between processes. The procedural means are used to refine the program in order to include details of the railway system. This is done, simulating the operation of the railroad, identifying the conflicts of the program that result from the level of model abstraction used in the process based on restrictions, and adjusting the program to eliminate conflicts, while maximizing the measure of performance. Once this is achieved, the movement plan obtained by refining the program is returned to the standards-based processor. If for any reason, not all conflicts can be resolved, the movement plan is returned to the rules-based processor with the conflict duly noted. The standards-based processor examines the movement plan based on a set of standards that illustrates the company's policies and, if the movement plan is satisfactory, presents the movement plan to the shipper for viewing or to be used in controlling the movements. applicable trains, as described below. The operation of the system of the present invention can be seen by referring to Figure 8, in which a user interface 500 receives commands, the identification of extrinsic traffic, program exceptions, and an identification of the available resources depending on the time to fulfill the order. A program exception is a failure foreseen in the fulfillment of a defined program that requires reprogramming of the resource involved and possibly other affected resources. Extrinsic traffic is the preprogrammed traffic that will not be altered by the system. Orders can arrive in the form of batches or in sequence over a period of time. The user interface 500 translates this data into "facts" and asserts them in the standards-based process. The user can also add, remove or change certain standards from the standards database in order to include the company's policy and other empirical factors that may change over time. The user interface 500 provides data to an expert system based on 502 standards. Several expert system tools are available to be able to assert and • 71 process the facts by an inference engine based on rules according to the rules contained in the rules database. The preferred implementation is the C-Language Integrated Production System (CLIPS) developed by NASA 5 Johnson Space Flight Center, because it is easily embedded in a system and supports an object-oriented approach that is compatible with the element based on constraints. ~? The functions of this expert system are determined by a set of rules that can be divided into several categories. The specific rules of order include rules that identify the sequence of activities with the associated resources that are required to fulfill an order and place the order in a structure that can be interpreted by the interference engine based on constraints. 15 The specific rules of order also include rules that determine the extent to which programming will be carried out in case there is a previous program. For example, company policy may dictate that trips scheduled to begin within a specified period of time, they are not reprogrammed upon receipt of a new order, but they can be reprogrammed in case of unforeseen delays that impact the existing program. These rules may be modified as new types of service are changed, the policy of the company, standard operating procedures, or empirical factors in order processing.
A second category are the standards that receive availability information from the user interface 500, and process these rules to a form suitable for the application to the process based on restrictions. The availability is modified to take into account the extrinsic traffic, locomotives out of service for repair or maintenance, the out of service route, or other factors that affect the availability profiles. The third category of standards are rules that restrict the search space for the process based on restrictions. The rules are planned to determine the route to take to fulfill the order. In many of the larger railways there are multiple routes that can be followed to take a train from one point to another. This set of standards selects the optimal path based on physical principles, specified performance measures, standard operating procedures or and empirical factors. Trains that can not fulfill an order because of power limitations of the locomotive or limitations of the terminal equipment are excluded from consideration. The fourth category of standards are the standards that evaluate the program returned by the process based on restrictions and resubmit orders to the process based on restrictions after relaxing some restrictions, presenting the program to procedural means (if available), or they notify the user through the user interface 500 that the request is excessively restricted and can not be programmed. If the procedural process is foreseen, the fifth category of standards are the standards that evaluate the program and determine if it should be replanned, that is, if there are no conflicts, it is acceptable according to the company's policy and is complete. If the implementation of the movement plan is contemplated in the real trains, the sixth category of standards are those that receive notification of the deviations of the trains of the movement plan and determine if reprogramming should occur or not, and if the reprogramming should be done regulating the movement plan or the program. A request to schedule an order from a client programmer 504 can be presented by the client-server 508 to the expert system based on constraints 510 for programming. Upon receipt of a program from the client programmer 504 containing unresolved conflicts, the expert system based on 502 standards determines the action to be taken. Depending on the standards, this action may include rescheduling or, if the unresolved conflict is small, the program may be presented to the procedural means (if available) to resolve it during the refinement of the program in the detailed movement plan.
The program can be passed to a dispatcher terminal / screen 506, if desired, to be displayed to an operator (for example a shipper) or to automatic dispatch. If the procedural process 516 is available, the program, together with a measure of performance, can be passed through the customer movement planner 508 for refinement. The client programmer 504 can receive a program request from the expert system based on rules 502, translate it into a structure understood by the server programmer 508 and present it to the server programmer 508. This program request can include one or more orders. As described above, an order can contain information, such as the total quantity of the item (if the order is for bulk supply), the first time collection can occur, the last delivery time, and a measurement performance that reflects penalties for late supply and / or incentives for early supply. In addition, the order can reflect the activities necessary to fulfill the order and the types of resources (for example, trains) adequate to fulfill the order. In addition, an order can include a percentage of full speed parameter and a parameter of the percentage of expected delay time. The percentage of full speed parameter indicates that the program should be created with the trains running at a speed below the maximum, thus giving the motion planner more breadth to meet the resulting program. The percentage of the foreseeable delay time provides a limited amount of compensation in which the movement planner can move the train trips to ensure compliance with the overall program. In the reverse direction, the client programmer 504 receives the system program based on restrictions 510 via the server programmer 508, and translates it into a fact that can be asserted in the expert system based on 502 standards. • The program server 508 receives an order in the manner described above and translates it into a form compatible with the expert system based on restrictions 510. It also translates the program produced by the expert system based on constraints 510 into a form compatible with the client programmer 504. The server programmer 508 and the client programmer 504 communicate using client-server communications between processes known in the art. The constraint propagation expert system 510 complies with a set of restrictions that describe an order asserted by the server programmer 508. All of these restrictions can be included by appropriately defining the resource availability timelines.
Restrictions specified by the user include resources, such as the track or locomotives, that are out of service for maintenance, and the train that is not under the consideration of the programmer, such as a 7? Mmtrack train that is programmed by an entity external The preferred implementation for the restriction-based system 510 is the known search technique called simulated temple. However, other search techniques, such as genetic search, may be appropriate for some applications. Simulated tempering can be implemented using a constraint propagation platform based on Waltz's algorithm (described, for example, in "Understan- ding Line Drawings of Scenes with Shadows", The Psychology of Computer Vision, ed P. Winston, McGraw Hill, New York, 1975). The ability to translate the sequence of activities from the list of activities into a sequence of time intervals can be done with a commercialized train performance calculator. Alternatively, a custom-developed process based on the Davis equations for train movement or suitable conventional means can be used to estimate the time required for a resource to perform a specified activity. If alternative resources are available to perform an activity, alternative ranges are defined for each activity. This way a list of intervals can be produced, grouped by resource and by time. The intervals are grouped logically, usually initially based on complete train trips (if applicable to a particular order). The planning is carried out initially with the ^ ft groups and then divided into intervals capable of free space to continue the search process. An interval capable of free space is a range of a group after which a free space is allowed before the next group interval. This representation is used to represent the presence of a siding or other capacity to hold a train during a time interval while another train passes. You can receive the interval groups, the available resource ranges, and the performance measures and perform a search for a program that (a) complies with resource availability restrictions, (b) complies with interval restrictions, and ( c) Minimize 20 performance measures. When the search algorithm has terminated its search without finding a solution, the groups of intervals are further subdivided or spaced, the ranges are regrouped and then the search is continued using the smaller time intervals. Upon completion of the search with the smallest intervals, the resulting motion plan is sent to the server programmer 508 to be returned to the standards-based system. If all restrictions can not be met, the movement plan is returned together with an indication that the program has conflicts and identification of the resources and activities involved in the conflict. A display 506 is desirably foreseen to visualize the resulting motion plan for examination by the user. Several means can be used to visualize the plan. A popular method is a standard string diagram used by railroads. As illustrated in Figure 2, the line is a line drawing in which the position on the track is represented as a function of time with respect to each train. A client movement scheduler 512 is provided to translate the program into the planning request form that is compatible with the server motion scheduler 514. Upon completion of the motion planning by the procedural system 516, the The motion plan is received from the server motion scheduler 514 and translated into a form that is compatible with the rule-based expert system 502. The server motion planner 514 translates the motion planning request into a form that is compatible with the procedural system 516. The server 514 also translates the movement plan received from the procedural system 516 into a form that can be understood by the server motion planner 514. The client movement scheduler and the server motion planner 514 communicate using conventional 5 communications between processes. The procedural system 516 receives the program and a state of the railway network (position of the trains) from '* ^ an external source, and initializes a simulation capacity with the definition of each of the trains and its point initial. The definition of a train includes the number and type of locomotives, the number and type of wagons and the weight of the wagons. The position of each train includes the position of the train, its direction on the track, and its speed. The movements of all the scheduled trains are simulated until a train conflict occurs, a specified stop condition occurs, or the simulation time interval is reached. If a train conflict occurs, the state vector is recorded at the time of the conflict and are determined the options available to resolve the conflict. If no conflict occurs, the motion plan is complete and refers to the server motion planner 514 for sending it to the standards-based system and for its execution by the planning / output function. 25 The available options for resolving a conflict can be listed. Conflicts can be classified as "encounters", "passes", "unions" or "crosses". The options for resolving a conflict include moving one of the trains to an alternate route to wait for the train in conflict to pass. Alternatively, you can delay the departure of a train from its point of origin or another point where you stop until the track is clear. Another option is to stop one of the trains at a point along its route so that the other train can pass to an alternative route. The identification of alternative route options and stop options along a route are listed beginning with the options that are closest to the point of conflict. One of the advantages of the current system is the evaluation of the options and the selection of the option that results in the best performance measurement. The best performance is determined by a measure of performance provided by the standards-based system. The evaluation of each option is carried out by simulating each of the options and calculating the associated performance measure. If "local optimization" is used, the movement plan is revised to include the best alternative route (if applicable), and the simulation goes back to the nearest point from the point where the trains involved in the conflict were transferred to a alternative way Local optimization is satisfactory in a large percentage of situations, because the above programming operation performs a global optimization. Global optimization can be done using a variety of optimization techniques. It is desirable to use a version of the known technique of "bifurcation and limitation" to look for a tree of alternative solutions. In the technique of bifurcation "and limitation, each of the conflicts is modeled as a bifurcation point in a decision tree, as the simulation continues and conflicts are resolved, the search technique chooses the lowest cost alternative and The simulation continues, the cost of the alternatives can be registered, and the state of the system can be registered periodically.The choice of the solution at the lowest cost among the alternatives may not give rise to the optimal general solution. bifurcation and limitation allows the search to go backwards in the tree and retire previously made decisions to arrive at a lower cost solution The physical model An important aspect of the present invention is the use of a physical model of the topology of the railway system in several levels of abstraction in the planning process The topology of a railway system can be represented with multiple it is levels of complexity, which not only provides the ability to model highly complex systems, but also hide levels of complexity, where such complexity is detrimental to the efficient use of the model. Preferably, and as shown in Figure 9, an object-oriented railroad topology model is composed of three fundamental elements, i.e. nodes, segments, and connectors. A segment is used to represent a section of railroad that can be a single or multiple way and consists of an ordered set of fragments. A fragment is a piece of track that has constant slope, constant curvature, constant speed limit, and length. A node can represent a complex object and can contain an internal structure composed of nodes, segments and connectors. The connectors are used at each end of a segment to join a segment to a node, and the nodes can have an arbitrary number of connectors. Each element of the topology is provided with a unique system identifier to allow the identification of a position by reference to the system identifier. At the highest level, a railway network is represented as a node. This rail network node contains a structure that in turn can be represented as a set of nodes connected by segments. This first level of complexity models a railway network as a set of road segments that connect nodes that represent general entities, such as ports, mines, departure stations, sidings, crossings, bifurcations, junctions, and bifurcation points. For simple track structures, such as needles and bifurcations, this level of detail can represent the highest level of detail. For more complex road structures, such as exit stations, more levels of complexity can be added until the entire rail network is modeled in detail. As illustrated in FIG. 9A, node 900 at one end of a segment may be a sidle 902 or a needle exchange 904. Node 906 may represent an entire port, with multiple nodes. As shown in Figure 9B, the use of one or more nodes within a node is especially useful when developing different degrees of abstraction in something as simple as the track sections. The position of a train in a railway network is indicated by the position of the train head. The head of the train is located by the segment identifier and a deviation of the connector in the segment. In addition, the direction of the train and the length of the train can be used to locate the rest of the train. Referring now to Figure 7, data relating to the position, direction and length of a train can be used to calculate the strength of the train, taking into account the slope and curvature of the track fragments in which the train is located , train speed and other train parameters. The route from one point to another in the system can be calculated using any network route algorithm. The known First Shortest Path (SPF) algorithm is frequently used. However, the algorithm does not have to use distance as the measure of performance when calculating path length, and often more complex performance measures involving slopes are useful, for example. The characteristics of the rolling stock of the railway can be stored in a conventional data base of resources 800. This includes the physical and performance data of each locomotive, its type, weight, length, cross section, power, number of axes, and coefficients. -s aerodynamic (as front and rear locomotive). With respect to each wagon, the type, tare weight, length, cross section, load weight, number of axes, and aerodynamic coefficient can be predicted. Train units are also defined in the database with an identifier, train speed limit, list of locomotive types and list of wagon types. This resource database can be implemented in the form of a table, complex data structure, or using any commercialized database. The defined train objects can be propagated through the system according to the train movement requests made by the simulation manager support 802. All train movement is performed according to the equations of physics, the basic principles of train handling , and the known rules of train control. The route of each train, provided by the simulation manager support, can consist of an ordered list of fragments from the origin to the destination of each train trip, indicating also the direction of the train in each fragment. * The movement of the trains along the track is controlled by simple physical equations to calculate the acceleration of the train. The initial acceleration of the train is limited by the adhesion of the rails and the weight of the locomotive. In addition, the acceleration of some high-power locomotives may be limited by the force would result in the uncoupling of the train. It is desirable that the train steering rules allow the train to accelerate with maximum acceleration, subject to the available traction force of the locomotives, the maximum traction force in the rails, and the decoupling force. Normally, these values are somewhat lower than the real ones, to allow the conservative management of the train by the engineer. Once the programmed speed is reached, or the speed limit (if it is lower), the train's pulling force is exactly equal to the strength of the train in order to maintain the speed.
Braking the train is applied to stop the train, reduce speed to a lower speed limit, avoid interference with another train or in response to a signal, and maintain a safe speed on a slope. Many techniques are available to model train braking. The ability to anticipate braking needs is obtained by looking at the road ahead for speed limit changes, other trains or signals. "Three means of controlling a train in order to move multiple trains in the network without conflict are envisaged, these control methods being" no control "," mobile block control ", and" fixed block control ". Without control, it is used to move a single train through the network.The train travels through the network without worrying about the signaling system or the presence of other trains.This method is useful when calculating data about running time without obstacles for a specific train in a segment of track, which will be used in the elaboration of the program In the fixed block control method, the train checks the railway signaling model in each time interval to determine if there is any visible signal for The train, and in this case, if the signal indicates that the train should continue, reduce the speed or stop.The specific rules of the signaling system depend on the railway that is modeled. The control indicated by the railway signaling model invalidates all other speed limits. The mobile block control is based on establishing a forbidden zone associated with each train. The forbidden area for a train includes the train and a section of track in front and along the train route that is equal in length to the train's stopping distance plus any ambiguity relative to the position of the train. The stopping distance depends of course on the speed of the train, the slope, the adhesion coefficient of the track, and the weight of the train. This requires that each train verify the position of the forbidden zone of other trains to ensure that the prohibited area of another train does not enter its prohibited zone. To avoid such an incident, brake management rules are applied to ensure that the train decelerates properly to avoid conflict. As the trains progress incrementally over time, the positions of the trains are verified in relation to the specified stopping conditions. If a stop condition occurs, the time progress ceases, and the results are reported, including the time history of the trains' travel. In case of conflicts between trains (such as the contact of two prohibited zones), the time progress ceases, and the results, together with the type of conflict, the trains involved, and the position, are returned to the support of simulation manager 802 to support the. resolution of conflicts through an external process. A signaling system based on conventional fixed block signals can be modeled. Signal blocks are defined and related to the track fragment structures used in the multilevel modeling of the railway topology. When the head of a train occupies a fragment associated with a signaling block, the state of the block changes from "not busy" to "busy". When the tail of a train leaves all fragments within a block, the state of the block changes to "unoccupied". The relationship of the state of the block to the signals is defined by a set of railway norms specific to a company that are part of a standardized set. Information about these standards can be obtained in publications of the American Association of Railroads and other sources. Automatic block signaling (ABS) is known and can be used as an illustrative implementation. There are two kinds of responses that occur when a train enters or leaves a signal block, that is, the control of the following trains and the control of the trains in the opposite direction. In the case of the following trains, and assuming a typical four-level signaling system, the signal at the entry point of the block is a "stop" for trains following the train in question. Rule 292 is applied, which requires that the next train stop. This signal condition continues until the tail of the train in question has left the block. Then, the signal is set to "limited speed", corresponding to Norm 285, which demands that the next train pass at limited speed and prepare to stop at the next block. As the train in question leaves the next block before, the signal changes to yellow on green, corresponding to Rule 282, which orders the train to approach the next signal at a limited speed. When the train finally leaves the third block in front of the signal, the signal changes to "free", and corresponds to Standard 281, which allows the train to advance according to all applicable speed limits. In many systems, the four-level signaling system is implemented with two vertically spaced lights, ie red on red is stopped, yellow on red is limited speed, yellow on green is medium speed, and green on green is freeway. You can also set signals for the trains in the opposite direction. These signals must be established according to the topology of the road to ensure that the trains in the opposite direction do not enter a segment of track without an alternative track when a train in the opposite direction is in the same track blog. The degree to which a train entering a block causes opposite signals to be established is defined in the signaling system for each block of signals. The condition of the signals can be passed to the means of movement of the train on request and each simulation interval is updated based on the position of the trains referred to by the movement of the train. A simulation support manager is provided to initialize the resource database, modeling # multilevel railway topology, the model of railway signaling, and the movement of the train in response to an external request to perform a simulation. The request to carry out a simulation includes the simulation time, the program, the route, the time, the increment, the trains and their positions, and a list of programmed actions. An externally supplied program _ft contains a route for each train and a program for each train. The program specifies the list of fragments by which the train will pass and the time at which a train leaves a stopping point on the route. 20 The programmed actions include "move the train to fragment x and stop". This gives the ability to move the trains forward, giving an order to the movement section of the train 804 of Figure 8, until the next event and to refer back to the external processor of the train. requests. The following event can be a scheduled event, or it can be an unscheduled event such as a train conflict. Upon termination, whether it occurs due to a scheduled event or an unscheduled event, the history of the simulation and the stop condition or conflict situation found is returned to the external process that requested the simulation. Train control. With reference to Figure 10, at least one of the locomotives that move each of the trains in the system of the present invention is configured to have a train controller 208. The train controller 208 receives the entire motion plan what is applicable As better explained below, the train controller 208 desirably contains a train advance system which uses the track data model, the train handling constraints and the actual train position and speed data, wind data and road condition data to calculate a set of train orders that, if executed, will cause the train to operate in the path envisaged in the movement plan. The commands determined by the train advance system can be displayed on a screen 220 in the locomotive cabin for execution by the driver or, alternatively, they would be suitable for the direct semi-automatic control of the train through conventional activations 222, that is, the commands could directly control the power and braking parameters (with driver override, if desired). To evaluate its progress in relation to the trajectory of the movement plan, the train controller 208 may be equipped with a satellite-based position determiner, such as the Global Positioning System ("GPS") 226 and may receive signals from a portion of the track transducer system explained above. The use of the satellite-based position determination system would eliminate the need for most transducers, except for those at control points, providing a considerable reduction in rail maintenance costs. In the system of the present invention, the transducers are needed only at the control points, such as the needles, to have positive confirmation of which way, of the many parallel parallel paths, there is a concrete train (or that a train has entered completely in a siding). Transducers are used for these functions because they can be uniquely identified with a specific position on a particular track, because the typical system for terrestrial satellite position determination has only an accuracy of about 10, 66 (35 feet). As there could be two parallel tracks within that band, the occupation of a specific track by the trains can not be distinguished by GPS. Using this combination of transducers only at the control points and a terrestrial satellite position determination system, the determination of the position error improves the accuracy of the satellite system (about 10, 66 m (35 feet)) and does not depend on the proximity of the transducers. Any other suitable position determination system can be used in the present invention, but the GPS system and transducers is especially suitable because of the low cost of installation and maintenance, while providing sufficiently accurate position information. As unforeseen conditions occur in the train as it proceeds along the track according to the motion path, the train controller 208 can automatically determine which new train orders are practical to "-implement the motion plan safely. For example, if the motors do not produce the power that could be expected from their power value, the controller can increase the power by issuing the appropriate train commands for visualization or implementation as explained above. train 208 takes into account a set of applicable safety rules and restrictions, train handling restrictions, and track parameters, in situations where unplanned disturbances affect the ability of the control to keep the train in the traory of the movement plan, the train can return an exception notice to the dispatch portion of the func Motion planning ion 202. Many times, the transmission of a message from an anomalous situation by the train controller 208 will be totally redundant because the dispatch function of the motion planning function 202 checks the state of the system, in particular against the movement plan, and may already be trying to rework the movement plan in light of the new information regarding the state of the system, that is, the anomaly produced in one or several trains. With reference to Figure 11, the train controller 208 can be understood with reference to the functions that can be performed to obtain the desired control of each train. Specifically, the train controller 208 on board each train controls the train according to a motion plan that is based on a high-fidelity model of a railroad. A train movement plan is received from the motion planner, together with an initial power parameter (IPP) that was used when deducting the train movement plan. An initial power parameter of "1" means that the program was prepared using full power. In the present invention, the IPP is often less than 1 so that a train can compensate for a certain time if it is slightly delayed with respect to the movement plan. The movement plan can include a route (to list of fragments through which the train will pass) and the arrival time at each control point along the route, and the speed of the train at that point. In addition, a train movement plan may contain an identification of the areas where the speed will be limited due to the anticipated presence of other trains. As better explained below, a train movement plan can include data up to the next control point (for example, a point at which a train must stop at another train). As noted above, in addition to the motion plan and the initial power parameter, the controller 208 can receive and / or measure data indicating the prevailing wind and the conditions of the track, the current position, the current time, the speed train current together with brake tube pressure. An expected arrival time determiner 230 can be provided to predict the movement of the train from its current position to the next control point in the train movement plan. The power parameter is initially set to the initial power parameter. External sources provide the current state of the train (current train position on the track and its speed) and the current time. The route of the train with the power parameter and the restricted fragments and the current state are sent to the physical model 232 to effect a simulation of the train's movement on the track. The physical model 232 returns the estimated time of arrival assuming that the train continues with the same power parameter. The physical model 232 also returns the regulator and brake value during the time interval to the next update time. The value of the regulator and the brake is sent to the engineer's visualization means along with the expected time of arrival at the next control point. Alternatively, the value of the regulator and the brake can be used to control the actuators that adjust the regulator automatically. The expected time of arrival and the speed at the destination are passed to a regulator of the power parameter 234. The physical model 232 models the movement of a train in a detailed one-way model. The physical model 232 has the capacity to represent the topology of a railway network with multiple levels of complexity. In one embodiment, an object-oriented rail topology model composed of three fundamental elements can be used: nodes, segments, and connectors. As explained above, a segment is used to represent a rail section that can be a single or multiple track and is composed of an ordered set of fragments. A node can represent a complex object and contains an internal structure composed of nodes, segments and connectors, and the nodes can have an arbitrary number of connectors. Each element of the "topology" is provided with a unique system identifier in order to designate a position by reference to the system identifier At the lower level of detail, the physical model 232 represents a railway network as a node. structure that can be represented as "a set of nodes connected by segments. This first level of complexity modeles a railway network as a set of connecting nodes of road segments representing general entities such as ports, mines, exit stations, sidings, diagonal link roads, bifurcations, junctions and bifurcation points. For single track structures, such as needles and splices, this level of detail can represent the maximum level of detail needed. For more complex track structures, such as exit stations, more levels of complexity can be added until the entire rail network is modeled in detail. The position of a train is indicated by the position of the train head. The head of the train is located by the segment identifier and a deviation of the connector in the segment. In addition, the train's direction and train length can be used to locate the rest of the train. The physical model 232 also has the ability to define a train object and propagate it through the railway network according to train movement requests made by the predicted arrival time determiner 230 or the power parameter regulator 234. All the Train movements are performed according to physics equations, train handling practices, and train control regulations. The movement of the train along the track in the physical model 232 is controlled by simple physical equations, based on dynamic equations of accepted trains, such as the Canadian National Equations 1990, to calculate the forces and, therefore, the acceleration of the train. The initial acceleration of the train is limited by the adhesion of the rails and the weight of the locomotive. In addition, the acceleration of some high-power locomotives can be limited by the force that would produce the uncoupling of the train. In an embodiment of the present invention, the train steering rules allow the train to accelerate with maximum acceleration subject to the power parameter, the available traction force of the locomotives, the maximum traction force in the rails, and the force of decoupling. Once the train's speed limit or track segment (whichever is less) is determined, the train's pulling force is made exactly equal to the train's resistance to maintain speed. All train movements respect the signals, which are received from external sources and cause the train to slow down or stop, if necessary. For example, the fragments of limited speed obtained with the motion plan are used to reduce the speed of the train in areas where it is anticipated that signaling effects will occur. If a mobile block control scheme is being used, external means can provide the position of the train immediately in front and any other train whose entry in any fragment of the train route is programmed. The physical model 232 realistically models the reduction of speed to a lower speed limit, or in response to a signal, and maintains a safe speed on a slope. Customized or common brake management algorithms marketed can be used to model train braking. The pressure of the brake pipe can be provided with any suitable external means. The ability to anticipate braking needs is obtained by looking for changes in the speed limit in the front track, or it can be predicted by signals based on the pre-calculated braking curves. In one embodiment, the ability to determine the proper combination of dynamic brakes, independent brakes and air brakes is provided. As the train progresses incrementally in time, the position of the train is verified in relation to the specified stop condition (end of the route), and the advance of time ceases when the stop condition occurs, and the results, including the temporary history of the train's travel and its regulator values, are referred to the means of request. Still referring to Figure 11, the regulator of power parameter 234 regulates the power parameter to ensure that the train arrives "in time" at the control point. The power parameter regulator 234 can compare the expected time of arrival and the speed with the detected time and speed, and compare the deviation with the allowable deviation, specified by the user, of the motion plan. If the difference between the estimated time of arrival and the scheduled arrival time exceeds the allowable deviation, the power parameter can be adjusted to correct it. To determine the appropriate regulation, several simulations of the system can be carried out. In one embodiment, at least two or three values of the power parameter are presented sequentially to the physical model 232 together with the route and the current state. Generally, the value band of the power parameter includes the value of 1 to determine if the train movement plan is now impossible. If the train _ can not fulfill the program with a power parameter of 1, the train refers a program exception to the sender and offers a new expected arrival time. In the event that a change of the power parameter fulfills the train movement plan, a new power parameter is calculated by interpolation between the values that were simulated, and is supplied to the estimated arrival time determiner 230. The proposed value of the regulator, the values of the dynamic brake, the values of the independent brake and the values of the air brake can be displayed on the cockpit screen 220 or for the driver. ADVANTAGES AND SCOPE OF THE INVENTION As is readily apparent, the system and method of the present invention are advantageous in several aspects. By producing a detailed movement plan, a stricter train schedule can be made with a corresponding increase in system performance. Through the use of a model of the physical system and the simulation of the movement of the real train through the physical system, instead of statistical means, a movement plan can be obtained that can be done by a train. When the statistical mean of the time required for the movement of a train from node A to node B is used, the predicted train position assumes instantaneous acceleration and deceleration at all points in the route and a uniform average velocity. This is true even if the effects of acceleration and deceleration were considered when deducting the statistical means. Obviously, such a plan is not feasible for a train, and the deviation of the train from such anticipated positions can not be used to modify the behavior of the train. Nevertheless, where the detailed movement plan is actually achievable by the train, any deviation from it can be used for control purposes. Additional advantages are obtained by the multilevel abstraction of the physical model to meet the needs of the various components of the system. For example, statistical averages are sufficient when generating the itinerary program and result in considerable savings of computer resources in an optimization search, but they are not sufficient in optimizing the development of a detailed movement plan. The combination of rule-based and constraint-based inference engines is especially advantageous. A rules-based system is effective in narrowing the search for an optimal program, and provides the constraints for the constraint-based system to continue the investigation. In the constraint system, the use of simulated quench techniques to perform global optimization searches provides computationally efficient means to reliably achieve a route solution. This solution allows a fine research to be carried out using the bifurcation and limitation technique, thus making possible the optimization with the available computer resources. In addition, optimization is done more quickly by converting all the resources used at time intervals, and using search techniques that group these time slots into groups of variable sizes, with the entire trip in the first place, and decomposing then groups in increasingly smaller groups only when necessary to eliminate conflicts. It is also a considerable advantage for a railway operator to be able to arbitrarily write rules regarding things like business practices, labor contracts and company policy. For example, a company may have a policy of delaying the departure of a train from a maneuvering beach for ten minutes if it is expected that a specified number of additional wagons will be available within that period of time. Such a policy, when expressed as a norm, is a restriction to the movement plan and thus would have to be considered automatically when optimizing the movement plan.
Note that the optimization achieved by the current system is global, that is, it includes both operating costs such as fuel and crews and supply costs, such as premiums and penalties for the time of supply. By joining the detailed movement plan to the actual functioning of the system, the time in which the events occur when operating the system can be relied upon, and the conflicts of the use of the system resources can be reduced to a short period of time. Note that the effects of the union of a detailed plan to a detailed operation are twofold: the fact that the operation is closely controlled allows the program to tune-finely and vice versa. By having both characteristics, the present invention can considerably reduce the overall performance of any operating system. The system of the present invention allows resolving conflicts with respect to a general optimization. Thus, for example, an operational decision regarding the use of a good, which was performed locally in the prior art, is made with reference to minimizing the cost of general operation. In terms of the exemplary rail system, as an additional example, decisions regarding which of two trains should be set aside while the other can pass, are made with respect to system level impacts. This way you can avoid the decision in which a train is not set aside because it can save ten minutes locally, but ends up delaying the following trains many more minutes. Since train handling is included in the physical model, the use of actual braking curves for the specific train and the track, instead of statistical situations of the worst case, will avoid a large part of the unnecessary regular mandatory safety stops with the use of existing execution devices. The use of real train simulation will also reduce the separation between trains required for safety and thus greatly improve the performance of the system. Although not necessary for the invention, the use of the present invention in railway systems can reduce or eliminate the need for many of the costly maintenance components of the railway control system. For example, in the full implementation of the invention, a railroad can eliminate or substantially reduce the costly system of color lights and signaling of the road. Many of the elements of the rail system that are local, including personnel for the operation of such local components, can be eliminated or reduced. Although the preferred embodiments of the present invention have been described, it is to be understood that the described embodiments are illustrative only and that the scope of the invention is to be defined only by the appended claims to which a band should be granted. full of equivalence, naturally thought by experts in the field in many variations and modifications after careful reading of it. As is readily apparent, the system and method of the present invention are advantageous in several aspects.

Claims (126)

  1. CLAIMS 1. A method of operating a freight railroad, said railroad having both periodic and non-periodic service and having a predetermined track layout by which said service is provided with multiple freight trains, which includes the steps of: ( a) determining a movement plan by which the trains move along the route, said determination including an evaluation of the effects of the parameters of the track on the movement of the trains; (b) controlling said trains so that they move along the route according to said determined movement plan. The method of claim 1, wherein the control step includes communication of fine train control signals to the trains. 3. The method of claim 1, wherein said determination further includes an evaluation of the effects of one or more of (train dimensions, train load, train components, weather conditions, and track conditions) in the movement of the train. the trains. 4. The method of claim 1, wherein said determination further includes an evaluation of the effects of train handling restrictions on the movement of the trains. 5. The method of claim 1, wherein said control is performed automatically by the train. 6. The method of claim 5, wherein said determination further includes an evaluation of the effects of the restrictions of the handling of the trains in the movement of the trains. The method of claim 6, wherein said control uses mobile block control. The method of claim 1, wherein said determination includes the programming of terminal equipment. The method of claim 1, wherein said determination includes programming the maintenance requirements of the track. The method of claim 1, wherein said control includes an evaluation of the restrictions of the handling of the trains in the movement of the train. The method of claim 1, wherein said motion plan is determined by the steps of: (c) determining a program using statistical data relating to the movement of the train; and (d) refine the program using real train simulation. The method of claim 11, wherein the optimization is implemented in the determination of said program and its refinement. The method of claim 1, wherein said motion plan can be achieved in less than one percent of the planned time. The method of claim 1, wherein said motion plan is determined by the steps of: (c) determining the time intervals associated with each activity necessary for the movement of the train; (d) group the time intervals into relatively large groups to optimize the movement of the train; (e) regrouping the time intervals into relatively smaller groups to optimize train movement if optimization can not be achieved using such large groups of time slots. The method of claim 1, wherein said motion plan is determined by the combination of rule-based and constraint-based inference engines. 16. The method of claim 15, wherein said rule-based inference engine provides constraints to said inference engine based on constraints. 17. The method of claim 1, wherein said motion plan optimizes both the operational and supply costs. 18. The method of claim 1, wherein said motion plan is determined by the use of different levels of abstraction of a physical model. 19. The method of claim 1 with approximate optimization by simulated tempering techniques and fine optimization by bifurcation and limiting techniques. 20. A system for accurately controlling the movement of multiple trains along a network of routes according to a predetermined movement plan that includes: means for determining the position of each train along the route; means for evaluating the observance of the predetermined movement plan by each train; means for determining the adjustments required by the train that does not observe the predetermined movement plan, including said means for determining the effects of the topology of the track in the settings; and means for communicating said adjustments to each train. The system of claim 20, wherein said determining means includes an evaluation of the adjustment necessary for the asymptomatic approach to the predetermined motion plan. 22. The system of claim 20, wherein said adjustments are implemented automatically by each train receiving said adjustments. 23. The system of claim 20, wherein said adjustments include fine train control signals. The system of claim 20, wherein said evaluation means includes mobile block control. 25. The system of claim 23, further comprising means located on board said trains for displaying said fine control signals. 26. The system of claim 23, wherein said trains automatically perform the functions represented by said fine control signals. 27. The system of claim 20, wherein said adjustments include a planned path. 28. The system of claim 27, wherein said trains automatically generate fine control signals related to said planned trajectories. 29. The system of claim 28, wherein said trains automatically perform the functions represented by said fine control signals. 30. The system of claim 29, further including means remote from said trains to invalidate the control of said trains. 31. A system for controlling the movement of a train according to a predetermined movement plan, including: means for continuously determining the position of the train; means for assessing the position of the train at any time against the predetermined movement plan; and means for regulating train speed in response to said evaluation means. 32. The system of claim 31, wherein said means of continuous determination include: a geolocation system based on terrestrial satellite; and a track position transducer. 33. A method of planning in a predetermined time period the use of resources in a freight rail system to reduce the costs of the plan, which includes the steps of: (a) determining a program using statistical data concerning the movement of the train; and (b) refine the program using real train simulation to determine a movement plan. 34. A method of planning in a predetermined period of time the use of resources in a rail freight system to reduce the costs of the plan, which includes the steps of: (a) developing a strategic train movement program based on to an optimization of the costs of the proposed programs under conditions of relaxed restriction; and (b) develop a detailed movement plan based on an optimization within a predetermined tolerance of program costs. 35. The method of programming multiple trips that includes the steps of: (a) identifying the activities required for each desired trip and associating its cost; (b) identify the available resource; (c) assign resources to each activity; (d) convert each activity into a time interval; (e) group time intervals in the desired trips; and (f) schedule full trips and refer the program. 36. The method of claim 35, which includes the additional steps of: (g) dividing trips into smaller segments if it is not capable of programming complete trips; (h) program segments and refer the program. 37. The method of claim 36, which includes the additional step of: (i) referring the best program to all identified conflicts. 38. The method of claim 35, wherein the step of converting activities into time intervals includes consideration of the effects of train action. 39. The method of claim 35, wherein the groups of time slots can overlap predetermined amounts. 40. The method of claim 35, wherein the groups of time slots are treated as fixed blocks when trying to program. 41. The method of claim 35, wherein the groups of time slots are treated as moving blocks when trying to program. 42. The method of assisting a shipper by controlling the implementation of a movement plan by orders in a system, which includes the steps of: (a) providing a schedule of the orders to be implemented, (b) identifying the position of the resources needed to .implement each order, (c) provide a detailed model of the system on which the program will be implemented; (d) simulate the program in the model to resolve any conflict about the program. 43. The method of increasing the efficiency in the movement of multiple trains programmed to move without conflict by a track system through the steps of: (a) developing a movement plan that can be made by trains; and (b) controlling the movement of the trains to conform the movement of the trains to the movement plan. 44. In the method of moving multiple trains through a track system, the improvement in which the control of the train in specific segments of the track is carried out at the system level, instead of at the local segment level. 45. The method of moving multiple trains through a track system that contains multiple regions in which the movement of the trains is planned in a general way at a system level, instead of independently in the various regions within the system. 46. A method of controlling a train traveling on a road, which includes the steps of: (a) communicating a planned trajectory to a train; (b) determine the regulator and brake values related to the planned trajectory; (c) controlling the train according to said values; and (d) repeating steps (b) and (c) several times. 47. The method of claim 46, wherein said determination relates to the restrictions of train handling. 48. The method of claim 46, wherein said determination relates to parameters of the track. 49. The method of claim 46, wherein a controller remote from said train may invalidate said control. 50. The method of claim 46, wherein said controller uses path parameters to determine whether to invalidate. 51. The method of claim 46, wherein said controller uses the train handling restrictions to determine whether to invalidate. 52. The method of claim 46, wherein the planned path is determined in relation to track parameters. 53. The method of claim 46, wherein said planned trajectory is determined in relation to the stopping distance of the train and the ambiguity of the train position in the track. 54. The method of claim 46, wherein said planned path ends with the train in a safe position on the track. 55. The method of claim 54, wherein the planned path ends with the train stopped. 56. The method of claim 46, wherein the communicating step is repeated with a new planned path before the train reaches the end of the first planned path. 57. A method of controlling multiple trains that move through a network of roads, which includes the steps of: (a) determining a program to put trains into operation on the road; (b) generate planned trajectories for each train according to the determined program; (c) communicate a planned trajectory to a train; (d) determining the regulator and brake values in relation to the planned trajectory; (e) controlling the train according to said values; and (f) repeat steps (d) and (e) several times. 58. The method of claim 57, wherein the communication step is repeated with a new planned path before the train reaches the end of the first planned path. 59. The method of claim 58, wherein the new planned path is communicated to the train before the train reaches the end of the previous planned path. 60. The method of claim 57, wherein said determination is carried out based on parameters of the track. 61. The method of claim 60, wherein said determination is carried out based on the restrictions of train handling. 62. A system for controlling multiple trains that move through a network of roads, including: (a) means for determining a program to operate trains on the road; (b) means for generating planned trajectories for each train according to the determined program; (c) means for communicating a planned trajectory to a train; (d) means for determining the regulator and brake values in relation to the planned trajectory; and (e) means for controlling the train according to said values. 63. A system to plan in a predetermined time period the use of resources in a rail freight system to reduce the costs of the plan, which includes: (a) means to develop a strategic train movement program based on an optimization of the costs of proposed programs under conditions of relaxed restriction; and (b) means to develop a detailed movement plan based on optimization within a predetermined tolerance of program costs. 64. A system for multiple travel programming that includes: (a) means to identify the activities required for each desired trip and associate its cost; (b) means to identify available resources; (c) means to allocate resources to each activity; (d) means for converting each of the activities into a time interval; (e) means for grouping time intervals in the desired journeys; and (f) means to schedule full trips and refer the program. 65. A system for operating a freight railroad, said railroad having both periodic and non-periodic service and having a predetermined track layout on which said service is provided by multiple freight trains, which includes: (a) means for determining a movement plan by which the trains move along the path, said means of determination including means to evaluate the effects of track parameters on the movement of the trains; and (b) means for controlling said trains to move them along the run according to said determined movement plan. 66. The system of claim 65, wherein said determining means further includes means for evaluating the effects of one or several of (train dimensions, train loading, train components, weather conditions, and track conditions) in the movement of trains. 67. The system of claim 65, wherein said determining means further includes means for evaluating the effects of the restrictions of the handling of the trains in the movement of the trains. 68. The system of claim 65, wherein said means for determining a movement plan further include: means for determining a program using statistical data relating to the movement of the train; and means to refine the program using real train simulation. 69. The system of claim 68, wherein said means for determining a program and said means for refining the program includes optimization means. 70. The system of claim 65, wherein said means for determining a movement plan further include: means for determining the time intervals associated with each activity necessary for the movement of the train; means for grouping the time intervals into relatively large groups to optimize the movement of the train; and means for regrouping the time intervals into relatively smaller groups to optimize train movement if optimization can not be achieved using such large groups of time slots. 71. A method of planning the movement of multiple resources through a multipath system that includes the steps of: (a) developing a strategic program of movement of resources to predetermined tolerances; and (b) develop a movement plan within the tolerances of the strategic program. 72. The method of claim 71, wherein the program is optimized. 73. The method of claim 71, wherein the motion plan is optimized. 74. The method of claim 71, wherein the optimization of the program is developed under relatively relaxed constraint conditions; and where the optimization of the movement plan is developed under relatively stricter conditions of restriction. 75. The method of assisting a shipper in the control of the implementation of an order program in a system, which includes the steps of: (a) providing the order schedule to be implemented; (b) identify the position of the resources needed to implement each order, (c) provide a detailed model of the system in which the program is to be implemented; (d) simulate the program in the model until a conflict is detected; and (e) indicate the conflict. 76. The method of claim 75 that includes the additional steps of: (f) determining and identifying alternative resolutions of the conflict. 77. The method of claim 75 which includes the additional steps of: (g) resolving conflicts; and (h) refer the resolution. 78. The method of claim 75, wherein the resolution is made by the use of bifurcation and limiting techniques. 79. The method of claim 75 which includes the additional steps of: (i) identifying the cost of supply; (j) identify the operating cost of each of the resources as a function of time; (k) optimize the resolution of conflicts based on costs. 80. The method of assisting a shipper in the implementation of a program that includes the steps of providing the shipper with a program and a movement plan to carry out the program ahead of time for the implementation of the program by the shipper. shipper. 81. The method of planning the implementation of a program of orders in a system, which includes the steps of: (a) foreseeing the program of orders to be implemented; (b) identify the resources and the position of the resources necessary to implement each of the orders; (c) provide a detailed model of the system in which the program is to be implemented; (d) simulate the program in the model to identify and resolve conflicts; and (e) visualize the plan. 82. The method of claim 81, which includes the additional steps of: (f) identifying the cost of supply; (g) identify the operating cost of each of the resources as a function of time; and (h) optimize the resolution of conflicts based on costs. 83. The method of claim 81, which includes the additional step of optimization through the use of bifurcation and limiting techniques. 84. The method of claim 81, wherein the model takes into consideration the topology of the system, the operating rules, the proximity limits, the control mechanics (fixed or mobile blocks) and the characteristics of the resources. 85. A method of planning the movement of multiple resources through a multipath system, which includes the steps of: (a) developing a program for the movement of resources using the combination of a rule-based inference engine and an engine of inference based on restrictions; (b) provide the program and cost data relating to mobile resources to an inference engine based on procedures to optimize the program in a movement plan; and (c) visualize the modified movement plan. 86. The method of claim 85, wherein the visualization of the motion plan from the inference engine based on procedures requires prior approval by the rule-based inference engine. 87. The method of claim 85, wherein the mobile resource data are statistical in the development of the program and simulated in the development of the movement plan. 88. The method of claim 87, wherein the same system model is used in the development of the program and the movement plan. 89. The method of claim 88, wherein the system model used in the development of the program has a level of abstraction higher than that used in the development of the movement plan. 90. The method of claim 85, which includes the additional step of: (f) alternatively providing the motion plan: (i) to the screen, (ii) to the rule-based inference engines for reprogramming by relaxation of a norm; or (iii) to the inference engine based on restrictions for reprogramming due to the relaxation of a restriction. 91. The method of optimizing a movement plan by interconnecting inference engines based on rules, based on constraints and based on procedures. 92. The planning method that includes the steps of: (a) developing an optimization of the strategic program with relaxed restriction conditions; and (b) develop the optimization of the plan with strict restriction conditions. 93. The method of assisting a shipper in the control of the implementation of a movement plan by orders in a system, which includes the steps of: (a) providing a program of the orders to be implemented; (b) identify the position of the resources needed to implement each order; (c) provide a detailed model of the system in which the program is to be implemented; (d) simulate the program in the model to resolve any conflict in the program. 94. The method of increasing the efficiency in the movement of multiple scheduled trains to move without conflict through a system of roads through the steps of: (a) developing a movement plan that can be made by the trains; and (b) control the movement of the trains to conform the movement of the trains to the movement plan. 95. A system for planning the movement of multiple resources through a multipath system that includes: (a) means to develop a program for the movement of resources using the combination of a rule-based inference engine and an inference engine based on restrictions; (b) means for supplying the program and cost data relating to mobile resources to an inference engine based on procedures for optimizing the program in a movement plan; and (c) means for visualizing the modified movement plan. 9.6. A system to assist a shipper in the control of the implementation of a movement plan by orders in a system that includes: (a) means to obtain a program of the orders to be implemented; (b) means to identify the position of the resources necessary to implement each order; (c) a detailed model of the system in which the program is to be implemented; and (d) means to simulate the program in the model to resolve any conflict in the program. 97. A method of programming the execution of a plurality of orders concerning the use of resources that includes the steps of: (a) providing an inference engine based on standards; (b) provide a set of rules to the rule-based inference engine; (c) provide resource availability profiles and profiles of the operating costs of resources to the rules-based inference engine; (d) generate a set of constraints on the rule-based inference engine based on the standards and profiles provided; (e) provide an inference engine based on constraints; (f) provide the constraints generated by the rule-based inference engine as constraint sequence to the inference engine based on constraints; and (g) generating a program in the inference engine based on constraints from the sequencing of the constraints provided. 98. The method of claim 97, wherein the standards relate to policy, resource compatibility, standard operating procedures, correlation of orders with the activities necessary to execute orders, correlation of orders with resources and resolution of conflicts. 99. The method of claim 97, wherein the constraint-based engine selectively receives additional restrictions before generating the program. 100. The method of scheduling orders regarding the use of multiple resources over time in a single system, which includes the steps of: (a) providing data regarding: (i) the activities necessary to carry out each of the orders, (ii) the supply cost associated with each of the desired orders, (iii) the selected restrictions, and (iv) the availability of -resources; and (b) determine the possible allocation of available resources to each of the identified activities based on resource capacity; (c) convert the assigned activities in time intervals; (d) group the time intervals into complete orders; (e) try programming the complete orders with satisfaction of all restrictions; (f) if it is capable of programming complete orders, adjusting the orders within the restrictions depending on the supply cost, and referring the program; (g) if the programming of complete orders is not successful, divide at least one of the complete orders into smaller groups of time intervals; (h) try programming the divided orders with satisfaction of all restrictions; (i) if the programming of the split orders is successful, adjust the groups of time intervals within the restrictions depending on the supply cost and refer the program; and (k) if the programming of the divided orders is not successful, refer the program with the identified conflicts. 101. The method of claim 100, which includes the additional steps of: obtaining data regarding the operating cost associated with each of the resources as a function of time; and allocate available resources to activities to minimize the operating costs of resources. 102. The method of claim 100, wherein the system is a rail system and where the resources are train and wagon engines, load equipment, and track segments, including the position, where time slots can be entered. 103. The method of programming multiple trips through a multipath system, which includes the steps of: (a) identifying the activities required for each desired trip and associating its cost; (b) identify the available resource; (c) assign resources to each activity; (d) convert each activity into a time interval; (e) group the time intervals in the desired trips; and (f) schedule full trips and refer the program. 104. The method of claim 103, which includes the additional steps of: (g) dividing trips into smaller segments if it is not capable of programming complete trips; (h) program the segments and refer the program. 105. The method of claim 104, which includes the additional step of: (i) referring the best program to all identified conflicts. 106. The method of claim 103, wherein the step of converting activities into time intervals includes consideration of the effects of train action. 107. The method of claim 103, wherein the groups of time slots can overlap predetermined amounts. 108. The method of claim 104, wherein the groups of time slots are treated as fixed blocks when trying to program. 109. The method of claim 104, wherein the groups of time slots are treated as moving blocks when trying to program. 110. The method of developing a program using a rule-based inference engine to provide constraint entries to an inference engine based on constraints. 111. A system for programming orders referring to the use of multiple resources over time in a single system that includes: (a) means to obtain data relating to: (i) the activities necessary to carry out each of the orders, ( ii) the supply cost associated with each of the desired orders, (iii) the selected restrictions, and (iv) the availability of resources; and (b) means to determine the possible allocation of available resources to each of the activities identified in terms of resource capacity; (c) means to convert the assigned activities into time intervals; (d) means for grouping the time intervals into complete orders; (e) means for attempting to schedule complete orders with satisfaction of all restrictions; (f) if it is capable of programming complete orders, means to regulate the orders within the restrictions depending on the supply cost, and to refer the program; (g) if the programming of complete orders is not successful, means to divide at least one of the complete orders into smaller groups of time intervals; (h) means to attempt programming of divided orders with satisfaction of all restrictions; (i) if the scheduling of split orders is successful, means to regulate the groups of time intervals within the restrictions depending on the supply cost and refer the program; and (k) if the programming of the divided orders is not successful, means to refer the program to the identified conflicts. 112. A method of optimizing the movement of multiple objects through a multipath system, which includes the steps of: (a) abstracting a model of the system at a relatively high level; (b) optimize the movement of multiple objects through the system to provide a non-detailed program; (c) abstract the model of the system at a relatively low level; and (d) optimizing the movement of the same multiple objects through the system within the constraints of the first program to provide a finer program; so the optimization is of a hierarchical nature 5 in such a way that the solution space on which the optimization attempt occurs decreases as the detail is added to the model. 113. The method of claim 34, which includes • the additional steps of: 10 (c) communicating the movement plan to a train; (d) determine the regulator and brake values in relation to the plan; and (e) controlling the train according to said values; (f) repeat steps (e) and (d) several times. 114. The method of claim 113, wherein said determination is related to the restrictions of train handling. 115. The method of claim 113, wherein said determination is related to the parameters of the 20 way. 116. The method of claim 113, which includes the selective invalidation of said control by a controller remote from said train. 117. The method of claim 113, wherein the plan 25 is determined with reference to track parameters. 118. The method of claim 113, wherein the plan is determined with reference to the stopping distance of the train and the ambiguity of the train position on the track. 119. The method of claim 113, wherein said plan ends with the train in a safe position on the track. 120. The method of claim 113, wherein the communication step is repeated with a new plan before the train reaches the end of the first plan. 121. The method of claim 63, which includes the additional steps of: (c) communicating the detailed motion plan to a train; (d) determine the regulator and brake values in relation to the plan; and (e) controlling the train according to said values. 122. The method of claim 71, which includes the additional steps of: (c) communicating the detailed movement plan to a train; (d) determine the regulator and brake values in relation to the plan; and (e) controlling the train according to said values. 123. The method of claim 81, which includes the additional steps of: (f) communicating the plan to a train; (g) determine the regulator and brake values in relation to the plan; and (h) controlling the train according to said values. 124. The method of claim 85, which includes the additional steps of: (d) communicating the modified motion plan to a train; (e) determine the regulator and brake values in relation to the plan; and (f) controlling the train according to said values. 125. The method of claim 95, which includes the additional steps of: (d) communicating the motion plan to a train; (e) determine the regulator and brake values in relation to the plan; and (f) controlling the train according to said values. 126. The method of claim 103, which includes the additional steps of: (g) communicating the program to a train; (h) determine the regulator and brake values in relation to the program; and (i) controlling the train according to said values.
MXPA/A/1997/001524A 1994-09-01 1997-02-27 System and method of programac MXPA97001524A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08299271 1994-09-01

Publications (1)

Publication Number Publication Date
MXPA97001524A true MXPA97001524A (en) 1999-10-14

Family

ID=

Similar Documents

Publication Publication Date Title
US5794172A (en) Scheduling system and method
US7539624B2 (en) Automatic train control system and method
US7343314B2 (en) System and method for scheduling and train control
CN102026841B (en) System and method for management energy storage capacity in maneuvering system
JP5469462B2 (en) Method and apparatus for optimizing railway train operation for trains including multiple power distribution locomotives
US8126601B2 (en) System and method for predicting a vehicle route using a route network database
CN101374714B (en) Trip optimization system and method for a train
RU2470814C2 (en) System and method for optimisation of train operation with allowance for car parameters
CN101356089B (en) System, method and computer software code for optimizing train operations considering rail car parameters
Lüthi Improving the efficiency of heavily used railway networks through integrated real-time rescheduling
CN101360641A (en) System and method for optimizing parameters of multiple railvehicles operating over multiple intersecting railroad networks
CN101983152A (en) Method for optimized fuel efficiency, emissions output, and mission performance of a powered system
CN102700567B (en) For the method for the fuel efficiency of the optimization of maneuvering system, quantity discharged and mission performance
MXPA97001524A (en) System and method of programac
WO2001050666A2 (en) Cost reactive resource scheduler and method
RU2481988C2 (en) System and method for optimisation of vehicle cruise
RU2466049C2 (en) System and method to optimise parameters of multiple railway transport facilities running in railway networks with multiple crossings
RU2484994C2 (en) System and method for optimisation of train cruise
MX2008003359A (en) System and method for optimizing parameters of multiple rail vehicles operating over multiple intersecting railroad networks
MX2008003361A (en) Method and apparatus for optimizing a train trip using signal information
MX2008003365A (en) Trip optimization system and method for a vehicle