IP Library › Granted Patent US 12,358,543
Granted Patent B2
US 12,358,543 · App. 18/673,181 · Granted Jul 15, 2025

Time-space network based multi-objective systems and methods for optimal rail car stacking at a railroad merchandise yard

Inventors: Avnish Kishor Malde (Fort Worth, TX); Paul Kuhn (Fort Worth, TX); Chad Lawrence (Fort Worth, TX); Nathaniel W. Merry (Kansas City, MO); Shane Reffett (Abingdon, IL); Patrick J. Sbrocca (Fort Worth, TX); Timothy J. Worrell (Monmouth, IL)
Assignee: BNSF Railway Company
B61L27/16B61L17/023G06Q10/06313
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,358,543
App. No.
18/673,181
Granted
Jul 15, 2025
Kind
B2
Abstract

A method for assigning train blocks at a railroad merchandise yard includes determining, using a first optimization model and outbound train schedule data, a first list of train block assignments for a planning horizon. The method further includes determining whether an unassigned train block volume from the first optimization model is greater than zero. The method further includes displaying the first list of train block assignments generated by the first optimization model on an electronic display in response to determining that the unassigned train block volume from the first optimization model is not greater than zero. The method further includes, in response to determining that the unassigned train block volume from the first optimization model is greater than zero: determining and then displaying on the electronic display a second list of train block assignments for the planning horizon using a second optimization model and the outbound train schedule data.

Claims (119)

1. A system comprising:

one or more memory units configured to store outbound train schedule data; and

one or more computer processors communicatively coupled to the one or more memory units and configured to execute computer program instructions, wherein the configuration of the one or more computer processors to execute the computer program instructions includes configuration to spawn a first computer process configured to execute a first set of computer program instructions including instructions to implement one or more of at least a portion of a first optimization model and at last a portion of a second optimization model, and to spawn a second computer process configured to execute a second set of computer program instructions including instructions to implement one or more of the at least a portion of the first optimization model and the at last a portion of the second optimization model, wherein the first computer process and the second computer process are spawned concurrently, wherein the one or more computer processors is further configured to execute the computer program instructions to:

access the outbound train schedule data;

determine, using the first optimization model and the outbound train schedule data, a first list of train block assignments for a planning horizon;

after determining the first list of train block assignments using the first optimization model, determine whether an unassigned train block volume from the first optimization model is greater than zero, wherein the unassigned train block volume from the first optimization model indicates a number of train blocks that remain unassigned to a classification track after using the first optimization model to determine the first list of train block assignments;

in response to determining that the unassigned train block volume from the first optimization model is not greater than zero, display the first list of train block assignments generated by the first optimization model on an electronic display;

in response to determining that the unassigned train block volume from the first optimization model is greater than zero:

determine, using the second optimization model and the outbound train schedule data, a second list of train block assignments for the planning horizon; and

display the second list of train block assignments generated by the second optimization model on the electronic display;

wherein the first and second lists of train block assignments each comprise:

a plurality of classification tracks of a classification bowl;

a plurality of time periods of the planning horizon; and

one or more of a plurality of train blocks that are assigned to each classification track for each time period of the planning horizon.

2. The system of claim 1 , wherein:

the first optimization model is configured to assign a maximum of one train block of the plurality of train blocks per classification track; and

the second optimization model is configured to assign a maximum of two train blocks of the plurality of train blocks per classification track.

3. The system of claim 1 , the one or more computer processors further configured to:

after determining the second list of train block assignments using the second optimization model, determine whether an unassigned train block volume from the second optimization model is greater than zero;

in response to determining that the unassigned train block volume from the second optimization model is greater than zero, determine, using a third optimization model and the outbound train schedule data, a third list of train block assignments for the planning horizon;

after determining the third list of train block assignments using the third optimization model, determine whether an unassigned train block volume from the third optimization model is greater than zero; and

in response to determining that the unassigned train block volume from the third optimization model is greater than zero, determine, using a fourth optimization model and the outbound train schedule data, a fourth list of train block assignments for the planning horizon;

wherein the third optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

minimize the unassigned train block volume from the third optimization model; and

wherein the fourth optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

allow for suboptimal stacking decisions over the third optimization model.

4. The system of claim 1 , wherein the plurality of time periods are one-hour blocks of time.

5. The system of claim 1 , wherein the outbound train schedule data comprises:

a plurality of outbound train identifications;

a build time for each of the outbound train identifications;

a depart time for each of the outbound train identifications; and

a maximum train length for each of the outbound train identifications.

6. The system of claim 1 , wherein the first and second optimization models each:

minimize an amount of the unassigned train block volume for the classification bowl;

minimize switch distances by minimizing distances between common train block belonging to a same outbound train; and

minimize a total number of outbound trains present in multiple pull-leads.

7. The system of claim 1 , the one or more computer processors further configured to display, on the electronic display, a bar chart for each classification track of the plurality of classification tracks, the bar chart comprising:

an x-axis that corresponds to the plurality of time periods of the planning horizon; and

a y-axis that corresponds to assigned volumes of the one or more train blocks.

8. A method by a computing system for assigning train blocks at a railroad merchandise yard, the computing system including one or more processors configured to execute computer program instructions, the method comprising:

spawning a first computer process configured to execute a first set of computer program instructions including instructions to implement one or more of at least a portion of a first optimization model and at last a portion of a second optimization model;

spawning, concurrently with the spawning of the first computer process, a second computer process configured to execute a second set of computer program instructions including instructions to implement one or more of the at least a portion of the first optimization model and the at last a portion of the second optimization model;

accessing outbound train schedule data;

determining, using the first optimization model and the outbound train schedule data, a first list of train block assignments for a planning horizon;

after determining the first list of train block assignments using the first optimization model, determining whether an unassigned train block volume from the first optimization model is greater than zero, wherein the unassigned train block volume from the first optimization model indicates a number of train blocks that remain unassigned to a classification track after using the first optimization model to determine the first list of train block assignments;

in response to determining that the unassigned train block volume from the first optimization model is not greater than zero, displaying the first list of train block assignments generated by the first optimization model on an electronic display;

in response to determining that the unassigned train block volume from the first optimization model is greater than zero:

determining, using the second optimization model and the outbound train schedule data, a second list of train block assignments for the planning horizon; and

displaying the second list of train block assignments generated by the second optimization model on the electronic display;

wherein the first and second lists of train block assignments each comprise:

a plurality of classification tracks of a classification bowl;

a plurality of time periods of the planning horizon; and

one or more of a plurality of train blocks that are assigned to each classification track for each time period of the planning horizon.

9. The method of claim 8 , wherein:

the first optimization model is configured to assign a maximum of one train block of the plurality of train blocks per classification track; and

the second optimization model is configured to assign a maximum of two train blocks of the plurality of train blocks per classification track.

10. The method of claim 8 , further comprising:

after determining the second list of train block assignments using the second optimization model, determining whether an unassigned train block volume from the second optimization model is greater than zero;

in response to determining that the unassigned train block volume from the second optimization model is greater than zero, determining, using a third optimization model and the outbound train schedule data, a third list of train block assignments for the planning horizon;

after determining the third list of train block assignments using the third optimization model, determining whether an unassigned train block volume from the third optimization model is greater than zero; and

in response to determining that the unassigned train block volume from the third optimization model is greater than zero, determining, using a fourth optimization model and the outbound train schedule data, a fourth list of train block assignments for the planning horizon;

wherein the third optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

minimize the unassigned train block volume from the third optimization model; and

wherein the fourth optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

allow for suboptimal stacking decisions over the third optimization model.

11. The method of claim 8 , wherein the plurality of time periods are one-hour blocks of time.

12. The method of claim 8 , wherein the outbound train schedule data comprises:

a plurality of outbound train identifications;

a build time for each of the outbound train identifications;

a depart time for each of the outbound train identifications; and

a maximum train length for each of the outbound train identifications.

13. The method of claim 8 , wherein the first and second optimization models each:

minimize an amount of the unassigned train block volume for the classification bowl;

minimize switch distances by minimizing distances between common train block belonging to a same outbound train; and

minimize a total number of outbound trains present in multiple pull-leads.

14. The method of claim 8 , further comprising displaying, on the electronic display, a bar chart for each classification track of the plurality of classification tracks, the bar chart comprising:

an x-axis that corresponds to the plurality of time periods of the planning horizon; and

a y-axis that corresponds to assigned volumes of the one or more train blocks.

15. One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the processor to spawn a first computer process configured to execute a first set of computer program instructions including instructions to implement one or more of at least a portion of a first optimization model and at last a portion of a second optimization model, and to spawn a second computer process configured to execute a second set of computer program instructions including instructions to implement one or more of the at least a portion of the first optimization model and the at last a portion of the second optimization model, wherein the first computer process and the second computer process are spawned concurrently, and wherein operations of the first set of operations and the second set of operations include:

accessing outbound train schedule data;

determining, using the first optimization model and the outbound train schedule data, a first list of train block assignments for a planning horizon;

after determining the first list of train block assignments using the first optimization model, determining whether an unassigned train block volume from the first optimization model is greater than zero, wherein the unassigned train block volume from the first optimization model indicates a number of train blocks that remain unassigned to a classification track after using the first optimization model to determine the first list of train block assignments;

in response to determining that the unassigned train block volume from the first optimization model is not greater than zero, displaying the first list of train block assignments generated by the first optimization model on an electronic display;

in response to determining that the unassigned train block volume from the first optimization model is greater than zero:

determining, using the second optimization model and the outbound train schedule data, a second list of train block assignments for the planning horizon; and

displaying the second list of train block assignments generated by the second optimization model on the electronic display;

wherein the first and second lists of train block assignments each comprise:

a plurality of classification tracks of a classification bowl;

a plurality of time periods of the planning horizon; and

one or more of a plurality of train blocks that are assigned to each classification track for each time period of the planning horizon.

16. The one or more computer-readable non-transitory storage media of claim 15 , wherein:

the first optimization model is configured to assign a maximum of one train block of the plurality of train blocks per classification track; and

the second optimization model is configured to assign a maximum of two train blocks of the plurality of train blocks per classification track.

17. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising:

after determining the second list of train block assignments using the second optimization model, determining whether an unassigned train block volume from the second optimization model is greater than zero;

in response to determining that the unassigned train block volume from the second optimization model is greater than zero, determining, using a third optimization model and the outbound train schedule data, a third list of train block assignments for the planning horizon;

after determining the third list of train block assignments using the third optimization model, determining whether an unassigned train block volume from the third optimization model is greater than zero; and

in response to determining that the unassigned train block volume from the third optimization model is greater than zero, determining, using a fourth optimization model and the outbound train schedule data, a fourth list of train block assignments for the planning horizon;

wherein the third optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

minimize the unassigned train block volume from the third optimization model; and

wherein the fourth optimization model is configured to:

assign a maximum of two train blocks of the plurality of train blocks per classification track; and

allow for suboptimal stacking decisions over the third optimization model.

18. The one or more computer-readable non-transitory storage media of claim 15 , wherein the outbound train schedule data comprises:

a plurality of outbound train identifications;

a build time for each of the outbound train identifications;

a depart time for each of the outbound train identifications; and

a maximum train length for each of the outbound train identifications.

19. The one or more computer-readable non-transitory storage media of claim 15 , wherein the first and second optimization models each:

minimize an amount of the unassigned train block volume for the classification bowl;

minimize switch distances by minimizing distances between common train block belonging to a same outbound train; and

minimize a total number of outbound trains present in multiple pull-leads.

20. The one or more computer-readable non-transitory storage media of claim 15 , the operations further comprising displaying, on the electronic display, a bar chart for each classification track of the plurality of classification tracks, the bar chart comprising:

an x-axis that corresponds to the plurality of time periods of the planning horizon; and a y-axis that corresponds to assigned volumes of the one or more train blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2024
From: MALDE, AVNISH KISHOR; KUHN, PAUL; LAWRENCE, CHAD; MERRY, NATHANIEL W.; REFFETT, SHANE; SBROCCA, PATRICK J.; WORRELL, TIMOTHY J.
To: BNSF RAILWAY COMPANY
Reel/Frame 067518/0068 →
Continuity (1)
Related Publication 20240317285A1 · Sep 26, 2024
References Cited (30)
US 2910578A · Karlet et al. · 1959 [cited by applicant]
US 3861316A · Yamazaki et al. · 1975 [cited by applicant]
US 3944986A · Staples · 1976 [cited by applicant]
US 4610206A · Kubala et al. · 1986 [cited by applicant]
US 6418854B1 · Kraft · 2002 [cited by applicant]
US 6832204B1 · Doner · 2004 [cited by examiner]
US 6856865B2 · Hawthorne · 2005 [cited by applicant]
US 6961682B2 · Doner · 2005 [cited by applicant]
US 7657349B2 · Hawthorne · 2010 [cited by applicant]
US 7747362B2 · Muinonen et al. · 2010 [cited by applicant]
US 7813846B2 · Wills et al. · 2010 [cited by applicant]
US 7937193B2 · Philp et al. · 2011 [cited by applicant]
US 8256353B1 · Howell · 2012 [cited by applicant]
US 9145151B2 · Dierkes et al. · 2015 [cited by applicant]
US 20070005200A1 · Wills · 2007 [cited by examiner]
US 20090072096A1 · Ottow · 2009 [cited by applicant]
US 20150066561A1 · Wills · 2015 [cited by examiner]
US 20220262249A1 · Hayashi · 2022 [cited by examiner]
US 20230281527A1 · Cella · 2023 [cited by examiner]
CA 2395821A1 · 2001 [cited by examiner]
CA 2577556A1 · 2008 [cited by examiner]
EP 0697321B1 · 1999 [cited by applicant]
EP 2595853B1 · 2014 [cited by applicant]
EP 3623257B1 · 2021 [cited by applicant]
RU 2767403C1 · 2022 [cited by applicant]
WO 2023097840A1 · 2023 [cited by applicant]
Gabrio Caimi, Leo Kroon, Christian Liebchen, Models for Railway Timetable Optimization: Applicability and Applications in Practice, Journal of Rail Transport Planning & Management, Aug. 30, 2015. (Year: 2015). [cited by examiner]
Shift2Rail, Yard Optimization Algorithm, Network Decision-Support Tool and Integration Framework, OptiYard, Jun. 25, 2019, 56 pages. [cited by applicant]
Wabtec, Yard Planner, May 2, 2023. [cited by applicant]
PST, Railyard Automation and Management, Apr. 21, 2021. [cited by applicant]