Mining system for directing mine operations and mining system for directing the operation of mining equipment within a mine operation

BR112020009608B1Active Publication Date: 2026-08-11TECHNOLOGICAL RESOURCES PTY LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112020009608
Authority / Receiving Office
BR · BR
Patent Type
Patents
Current Assignee / Owner
Publication Date
2026-08-11

Smart Images

  • Figure 00000106_0000
    Figure 00000106_0000
  • Figure 00000107_0000
    Figure 00000107_0000
  • Figure 00000107_0001
    Figure 00000107_0001
Patent Text Reader

Abstract

A mining system for directing mine operations that includes a flow planner and a dispatcher. The flow planner receives operational parameters and global mining data and calculates a flow plan based on the operational and global parameters. The dispatcher then determines dispatch assignments based on the flow planner's flow plan and dispatches mining equipment based on those dispatch assignments.
Need to check novelty before this filing date? Find Prior Art

Description

1 / 89 “MINING SYSTEM FOR DIRECTING MINE OPERATIONS AND MINING SYSTEM FOR DIRECTING THE OPERATION OF MINING EQUIPMENT WITHIN A MINE OPERATION” Field of Technique

[001] The present description refers generally to the operation of mining equipment and, more particularly, to a mining system for directing mine operations. Fundamentals

[002] Mines operate to achieve defined targets within certain constraints. The defined targets are usually set out in a mining plan, sometimes referred to as a plan of the day (PLOD). These targets include, for example, production targets (e.g., a tonnage of ore over a specific period of time).

[003] In order to achieve the defined targets, the assets available to achieve them are deployed. This is typically done by scheduling the deployment of assets to achieve the necessary material flow, taking into account operational constraints, for example, the available road network, equipment availability, and other constraints related to equipment operation (e.g., speed, capacity, etc.).

[004] In complex operations, the scheduling and deployment of assets are often overseen by operators who are required to provide input to the assignment of assets to tasks and who are also able to override mechanized assignment operations.

[005] Any discussion of documents, acts, materials, devices, articles or similar items that have been included in this descriptive report should not be considered as an admission of Petition 870250119956, dated 12 / 26 / 2025, page 6 / 229 2 / 89 that any or all of these matters form part of the basis of the state of the art or are general knowledge in the field relevant to the present description as existing prior to the priority date of each claim of this application. Summary

[006] In one aspect, a mining system is provided to direct the operation of mining equipment within a mine operation, the system including:

[007] a parameter module that provides operational parameters;

[008] a data input module that provides global mining data and updated global mining data, wherein the updated global mining data includes a sensor data stream;

[009] a flow planner module that is in communication with the parameters module and the data input module to receive the operational parameters and global mining data and the flow planner module that determines at least one planned flow rate based on the operational parameters and global mining data, wherein the flow planner module determines at least one updated planned flow rate based on the updated global mining data; and

[0010] a dispatcher module that autonomously directs the operation of mining equipment based on at least one updated planned flow rate received from the flow planner module.

[0011] In another aspect, a mining system is provided to direct mining operations, the system including:

[0012] a flow planner that receives operational parameters and global mining data and calculates a flow plan based on the Petition 870250119956, dated 12 / 26 / 2025, page 7 / 229 3 / 89 operational parameters and global parameters; and

[0013] a dispatcher who determines dispatch assignments based on the flow planner's flow plan and performs a dispatch of mining equipment based on the dispatch assignments.

[0014] Operational parameters may include at least one production target and at least one cost-related target.

[0015] Global mining data may include at least one of the following mine operation data: historical data, current system operational data, asset data, and future estimates.

[0016] The flow plan may be for a time window of the flow planning and the flow plan may include at least one planned flow rate for the flow planning window. At least one planned flow rate may vary with time within the flow planning window.

[0017] In another aspect, a mining system is provided to direct mining operations, the system including:

[0018] a planner that provides operational parameters;

[0019] a data entry providing global mining data;

[0020] a flow planner that:

[0021] receives the operational parameters from the planner and receives the global mining data from the data input, and

[0022] determines at least one planned flow rate by optimizing a first objective function defined by at least one of each of the operational parameters and the global mining data, wherein the first objective function includes a cost function; and

[0023] a dispatcher who determines dispatch assignments based on at least one planned flow rate from the planner Petition 870250119956, dated 12 / 26 / 2025, page 8 / 229 4 / 89 of the flow and performs an equipment dispatch based on dispatch assignments.

[0024] The cost function may include at least one of the following: equipment operating costs, equipment underutilization costs, and plan failure costs.

[0025] The flow planner can optimize the first objective function subject to at least one planned asset availability constraint.

[0026] The flow planner can also regulate at least one planned flow rate. The flow planner can smooth at least one planned flow rate by reducing a magnitude of change in at least one planned flow rate between successive time units. The flow planner can regulate at least one planned flow rate by optimizing a second objective function that includes a sum of flow differences. The sum of flow differences may include a difference in a magnitude of a planned flow rate between successive time units. The second objective function may be constrained by a magnitude of change in at least one planned flow rate between successive time units. The second objective function may be subject to at least one of a first additional constraint and a second additional constraint.The first and second additional constraints can reduce the computational time required to optimize the second objective function.

[0027] The flow planner can determine at least one planned flow rate for a flow planning time window and at least one planned flow rate can vary with time over the flow planning window.

[0028] In another aspect, a mining system is provided to direct mining operations, the system including:

[0029] a flow planner configured for: Petition 870250119956, dated 12 / 26 / 2025, page 9 / 229 5 / 89

[0030] receive the operational parameters and global mining data, the operational parameters including a material flow target, and

[0031] generate a material flow plan to achieve the material flow target; and

[0032] a dispatcher configured for:

[0033] determine dispatch assignments based on the material flow plan from the flow planner, and

[0034] to carry out an asset dispatch based on dispatch assignments,

[0035] where the material flow plan covers a predetermined period of time and specifies a planned flow rate for each unit of time within the predetermined time period.

[0036] The predetermined time period can be defined by a time window in the flow planning. The planned flow rate can vary within the flow planning window.

[0037] In another aspect, a mining system is provided to direct mining operations, the system including:

[0038] a planner that provides operational parameters;

[0039] a data entry providing global mining data;

[0040] a flow planner that receives operational parameters and global mining data and determines at least one planned flow rate based on at least one of each of the operational parameters and global mining data, wherein at least one planned flow rate varies over time; and

[0041] a dispatcher that determines dispatch assignments based on at least one planned flow rate from the flow planner and performs equipment dispatch based on the dispatch assignments. Petition 870250119956, dated 12 / 26 / 2025, page 10 / 229 6 / 89

[0042] The flow planner can determine at least one planned flow rate by optimizing a target defined by at least one of each of the operational parameters and the global mining data within a flow planning time window.

[0043] In another aspect, a mining system is provided to direct mining operations, the system including:

[0044] a planner that provides operational parameters;

[0045] a data entry providing global mining data and updated global mining data;

[0046] a flow planner that receives operational parameters and global mining data and determines at least one planned flow rate based on at least one of each of the operational parameters and global mining data, wherein the flow planner determines at least one updated planned flow rate based on the updated global mining data; and

[0047] a dispatcher who determines dispatch assignments based on at least one updated planned flow rate from the flow planner and performs a dispatch of mining equipment based on the dispatch assignments.

[0048] The flow planner can periodically determine at least one updated planned flow rate.

[0049] The flow planner can include a replanning cycle that automatically determines at least one updated planned flow rate.

[0050] The flow planner can determine at least one planned flow rate over an initial flow plan window and where the flow planner can determine at least one updated planned flow rate over a flow plan window. Petition 870250119956, dated 12 / 26 / 2025, page 11 / 229 7 / 89 of replanning. The replanning flow plan window can have one of the following: a decreasing horizon and a receding horizon.

[0051] The flow planner can determine at least one updated planned flow rate when a triggering event occurs.

[0052] In another aspect, a mining system is provided to direct mining operations, the system including:

[0053] a planner that provides the operational parameters;

[0054] a data entry that provides global mining data;

[0055] a flow planner that receives operational parameters and global mining data and determines a flow plan based on at least one of each of the operational parameters and global mining data; and

[0056] a dispatcher that determines dispatch assignments based on the flow plan and global mining data and performs equipment dispatch based on the dispatch assignments,

[0057] wherein the flow plan includes at least one planned flow rate that varies over time and wherein the dispatcher determines the dispatch assignments so as to effect an actual flow rate that varies over time in alignment with at least one planned flow rate that varies over time.

[0058] The flow plan can cover a flow planning time window, and at least one planned flow rate can vary over the flow planning time window. The dispatcher can determine dispatch assignments for a dispatch planning time window that is shorter than the flow planning time window. The dispatcher can update the Petition 870250119956, dated 12 / 26 / 2025, page 12 / 229 8 / 89 dispatch assignments for successive dispatch planning windows so that the actual flow rate varies in alignment with at least one planned flow rate that varies over time.

[0059] In another aspect, a mining system is provided to direct mining operations, the system including:

[0060] a planner that provides operational parameters;

[0061] a data entry providing global mining data;

[0062] a flow planner configured for:

[0063] receive the operational parameters and global mining data, and

[0064] determine a flow plan based on at least one of each of the operational parameters and the global mining data; and

[0065] a dispatcher that determines dispatch assignments based on the flow plan and global mining data and performs equipment dispatch based on the dispatch assignments, wherein the dispatcher includes a dispatcher feedback loop and the dispatcher uses the dispatcher feedback loop to update the dispatch assignments.

[0066] The dispatcher can determine dispatch assignments for a dispatch planning time window. The flow planner can determine the flow plan for a flow planning time window, and the dispatch planning window can be a sliding window within the flow planning window. The dispatch planning window can have a length of substantially one activity period.

[0067] The flow planner can determine an updated flow plan and the dispatcher can update dispatch assignments based on at least one of: Petition 870250119956, dated 12 / 26 / 2025, page 13 / 229 9 / 89

[0068] updated global mining data provided by data entry, and

[0069] the updated flow plan provided by the flow planner.

[0070] In another aspect, a mining system is provided to direct mining operations, the system including:

[0071] a planner that provides operational parameters;

[0072] a data entry providing global mining data;

[0073] a flow planner that receives operational parameters and global mining data and determines a flow plan based on at least one of the operational parameters and global mining data, wherein the flow plan is determined over a time window of the flow planning; and

[0074] a customs broker who:

[0075] determines dispatch assignments based on the flow plan and global mining data,

[0076] updates dispatch assignments at least once during the flow planning window, and

[0077] performs equipment dispatch based on updated dispatch assignments, so that the equipment dispatch is aligned with the flow plan.

[0078] The dispatcher can determine dispatch assignments for a dispatch planning time window. The dispatch planning window can be a sliding window within the flow planning window. The dispatch planning window can have a length of substantially one activity period.

[0079] The flow planner can determine an updated flow plan and the dispatcher can update dispatch assignments based on at least one of: Petition 870250119956, dated 12 / 26 / 2025, page 14 / 229 10 / 89

[0080] updated global mining data provided by data entry, and

[0081] the updated flow plan provided by the flow planner.

[0082] In another aspect, a mining system is provided to direct mining operations, the system including:

[0083] a planner that provides operational parameters;

[0084] a data entry providing global mining data;

[0085] a flow planner that receives operational parameters and global mining data and determines a flow plan based on at least one of the operational parameters and global mining data; and

[0086] a dispatcher who determines dispatch assignments based on the flow plan and global mining data and performs equipment dispatch based on the dispatch assignments,

[0087] where at least one of the following conditions applies:

[0088] the flow plan includes at least one planned flow rate that varies over time, and

[0089] the dispatcher affects the dispatch of the equipment in such a way as to result in a variable actual flow rate.

[0090] Operational parameters may include at least one production target and at least one cost-related target.

[0091] Global mining data may include at least one of the following mine operation data: historical data, current system operational data, asset data, and future estimates.

[0092] The flow plan can be for a time window of the flow planning and at least one planned flow rate can be a constant function of time parts over the flow planning window. Petition 870250119956, dated 12 / 26 / 2025, page 15 / 229 11 / 89

[0093] The dispatcher can update dispatch assignments and, based on the updated dispatch assignments, perform an equipment dispatch so that the equipment dispatch is aligned with the flow plan.

[0094] In another aspect, a mining system is provided to direct mining operations, the system including:

[0095] a planner that provides operational parameters;

[0096] a data entry providing global mining data;

[0097] a flow planner that receives operational parameters and global mining data and determines a flow plan based on at least one of the operational parameters and global mining data, wherein the flow plan includes at least one planned flow rate that varies over a time window of the flow planning; and

[0098] a dispatcher that determines dispatch assignments based on the flow planner's flow plan and performs equipment dispatch based on the dispatch assignments, wherein the equipment dispatch affects the actual flow rate which is aligned with at least one flow plan that varies such that the actual flow rate also varies over the flow planning window.

[0099] The flow planner can determine the flow plan by optimizing a target defined by at least one of each of the operational parameters and the global mining data within a time window of the flow planning.

[00100] The dispatcher can determine dispatch assignments by optimizing a dispatch target over a dispatch planning time window.

[00101] The customs broker may periodically recalculate the assignments Petition 870250119956, dated 12 / 26 / 2025, page 16 / 229 12 / 89 dispatch assignments throughout the dispatch planning window, thus providing updated dispatch assignments according to which equipment dispatch can affect the actual flow rate to be aligned with at least a planned flow rate that varies. The dispatch planning window can be a sliding window with a recent horizon.

[00102] In another aspect, a mining system is provided to direct mining operations, the system including:

[00103] a planner that provides operational parameters;

[00104] a data input that includes an estimator, where the estimator determines and provides future estimates, and where the data input provides global mining data that includes future estimates;

[00105] a flow planner that receives operational parameters and global mining data, and determines a flow plan based on at least one of the operational parameters and global mining data, wherein the flow plan is determined through a flow planning horizon; and

[00106] a dispatcher who determines dispatch assignments based on the flow planner's flow plan and performs equipment dispatch based on the dispatch assignments,

[00107] where the estimator updates future estimates at least once during the flow planning horizon.

[00108] The estimator can determine future estimates based on current and historical data from a mine operation.

[00109] Future estimates may include an estimated asset parameter. The estimated asset parameter includes an estimate of the activity duration.

[00110] The estimator can determine the estimated asset parameter by determining a set of asset parameters and merging them. Petition 870250119956, dated 12 / 26 / 2025, page 17 / 229 13 / 89 the set of asset parameters to obtain an estimated asset parameter.

[00111] The estimator can determine future estimates using a combination of empirical and generative estimation methods.

[00112] The future estimate can be determined based on at least one of the following: an asset identifier, an asset descriptor, an asset task, and an asset parameter.

[00113] The estimator may include a multi-stage filter for map matching.

[00114] The estimator can receive data queries from at least one of the flow planner and the dispatcher, and the estimator can condition the received queries based on a conditioning parameter.

[00115] In another aspect, a mining system is provided to direct mining operations, the system including:

[00116] a planner that provides operational parameters;

[00117] a data entry providing global mining data and updated global mining data;

[00118] a flow planner configured for:

[00119] receive the operational parameters and global mining data, and

[00120] determine a flow plan for a flow planning time window that ends on a flow planning horizon, where the flow planner determines the flow plan based on at least one of the operational parameters and global mining data; and

[00121] a dispatcher configured for:

[00122] receive global mining data and flow plan from the flow planner,

[00123] determine dispatch assignments based on the plan Petition 870250119956, dated 12 / 26 / 2025, page 18 / 229 14 / 89 of flow and in global mining data, and

[00124] carry out a dispatch of equipment based on dispatch assignments;

[00125] where:

[00126] The flow planner receives the updated global mining data and determines an updated flow plan based on the updated global mining data.

[00127] the dispatcher determines updated dispatch assignments based on at least one of: the updated global mining data and the updated flow plan and the dispatcher affects the dispatch of the equipment based on the updated dispatch assignments, and

[00128] the dispatcher determines the updated dispatch assignments at a higher frequency during the flow planning window than the flow planner determines, at least, an updated planned flow rate.

[00129] The flow planner may include a flow planner feedback loop that determines the updated flow plan, and the dispatcher may include a dispatcher feedback loop that updates dispatch assignments. The flow planner feedback loop and the dispatcher feedback loop may be responsive to dynamic and fixed inputs.

[00130] The flow planner can determine the updated flow plan for a time window of the replanning flow plan that ends at the flow planning horizon.

[00131] The flow planning horizon can be at a fixed time.

[00132] The dispatcher may determine the dispatch assignments updated periodically based on at least one of the following conditions: Petition 870250119956, dated 12 / 26 / 2025, page 19 / 229 15 / 89

[00133] when the dispatcher receives the updated flow plan,

[00134] when the dispatcher receives the updated global mining data,

[00135] when a current state of mine operation becomes incompatible with the determined dispatch assignments,

[00136] every 20 to 60 minutes,

[00137] at each decision point in an asset deployment, and

[00138] when an asset completes a current assignment.

[00139] The dispatcher can determine dispatch assignments for a dispatch planning time window that is shorter than the flow planning window. The dispatcher can determine updated dispatch assignments for successive dispatch planning windows so that an actual flow rate follows the flow plan. The dispatch planning window can be a moving window within the flow planning window. The moving window can have a recent horizon.

[00140] The dispatch planning window can be substantially longer than an activity period.

[00141] Throughout this descriptive report, the word "comprehend," or variations such as "comprehends" or "comprehends," shall be understood as implying the inclusion of an element, whole number or step, or group of elements, whole numbers or steps, but not the exclusion of any other element, whole number or step, or group of elements, whole numbers or steps. Brief Description of the Drawings

[00142] The embodiments of the description are now described by way of example with reference to the attached drawings in which:

[00143] Figure 1A is a schematic overview of an embodiment of a mining system;

[00144] Figure 1B illustrates an example planned flow rate and Petition 870250119956, dated 12 / 26 / 2025, page 20 / 229 16 / 89 cumulative flow of a prior art dispatch system compared to the current system;

[00145] Figure 2 is a diagrammatic representation of a modality of a flow planning method;

[00146] Figure 3 illustrates a comparison of flow rates with various smoothing approaches as follows:

[00147] Figure 3(a) illustrates a planned flow rate that is not smoothed;

[00148] Figure 3(b) illustrates a planned flow rate that is calculated between event times;

[00149] Figure 3(c) illustrates a planned flow rate smoothed using a smoothing objective function;

[00150] Figure 4 illustrates the flow rates determined for the equipment in an example embodiment:

[00151] Figure 4(a) illustrates flow rates, for example, of High Grade Diggers 1;

[00152] Figure 4(b) illustrates flow rates, for example, of HG Digger 2 excavators;

[00153] Figure 4(c) illustrates the flow rate of the Waste Digger example 1 for a waste stockpile;

[00154] Figure 4(d) illustrates the flow rate of the Waste example. Digger 2 for waste storage;

[00155] Figure 4(e) illustrates a run-of-mine (ROM) stock flow rate;

[00156] Figure 4(f) illustrates a ROM blade flow rate over time;

[00157] Figure 4 (g) illustrates a crusher flow rate;

[00158] Figure 4(h) illustrates a waste stock flow rate;

[00159] Figure 5 is a schematic representation illustrating the use of a heuristic deployment function in a modality of a Petition 870250119956, dated 12 / 26 / 2025, page 21 / 229 17 / 89 MCTS dispatcher.

[00160] Figure 6(a) illustrates flow performance in excavation blocks when existing software dispatch assignments are used;

[00161] Figure 6(b) illustrates flow performance in excavation blockages when dispatch assignments are made using the system and method modes described in this document;

[00162] Figure 7(a) illustrates the flow performance of HG excavators when existing software dispatch assignments are used;

[00163] Figure 7(b) illustrates the flow performance of HG excavators when dispatch assignments are made with the system and method modes described in this document;

[00164] Figure 8(a) illustrates the flow performance in the shredder, ROM dump and dump when existing software dispatch assignments are used;

[00165] Figure 8(b) illustrates the flow performance in the crusher, ROM dump and dump when dispatch assignments are made with the system and method modalities described in this document.

[00166] Figure 9 is a diagram that illustrates the potential for avoiding idleness; and

[00167] Figure 10 is a schematic representation of the operation of a modality of an estimator. Description of the Modalities

[00168] As used in this document, mining operations refers to operations that include, but are not limited to, material handling (e.g., material excavation, material loading, material hoisting, material dumping, and material crushing), road grading, vehicle / fleet maintenance, and others. Petition 870250119956, dated 12 / 26 / 2025, page 22 / 229 18 / 89 operations that contribute directly to the production of mined material in a mine or that are otherwise in support of such directly contributing operations.

[00169] The rate at which material is handled (e.g., hauled, excavated, loaded, dumped, crushed, etc.) in a mining operation is referred to as the material flow rate or simply as the flow rate. A material flow plan, also referred to as a flow plan in this document, includes one or more flow rates that the system intends to achieve, and these are referred to in this document as planned flow rates.

[00170] Existing systems that are responsible for scheduling the shipment of assets to achieve planned flow rates for mining operations generally aim to optimize a specific objective at a given moment, such as instantaneous activity. As such, systems used to schedule and assign assets for material transport generally optimize material flow plans to maximize the instantaneous rate at which material is transported. A disadvantage of optimizing material transport for the instantaneous material flow rate is that this does not necessarily result in the achievement of an overall plan for a mining operation, i.e., in reaching the targets defined in a mining plan for a specific shift or during a period of time.

[00171] The overall plan for a mine operation is referred to in this document as operational parameters. Operational parameters include defined parameters and / or targets that are set as a goal for the particular mine operation, for example, operational parameters may include one or more production targets and / or one or more material flow targets (i.e., a desired flow rate for a material from point A to point B and, optionally, with Petition 870250119956, dated 12 / 26 / 2025, page 23 / 229 19 / 89 a defined completion time and / or associated equipment). In some embodiments of the systems and methods described in this document, the operational parameters may also include cost-related targets, for example, minimizing the operating costs of one or more assets or asset classes.

[00172] How existing dispatch systems can be understood with reference to this simplified example: if the mine plan provides a production target of 12 kton to be achieved over a 12-hour shift, then a dispatcher will typically optimize the dispatch of available equipment (e.g., haul trucks) in view of the available road network in order to achieve an approximately constant flow rate of 12 kton / 12 hours = 1 kton / h from the start to the end of the shift. The dispatch schedule is usually calculated offline before the start of the shift, based on the production target, and then implemented without revision with the aim of achieving a maximum instantaneous flow (of at least 1 kton / h for this example). Typically, an operator can change the input parameters over time to control the system, and under such circumstances, the operator can initiate a recalculation of the required steady-state flow rate.

[00173] Existing systems, therefore, typically include no very basic flow planning functionality, because the conventional calculation of [production target] / [shift duration] yields a steady-state value (e.g., 1 kton / h as explained above). Existing systems also subsequently determine a dispatch schedule that results in a linear cumulative flow. This is illustrated in Figure 1B of the drawings where the planned flow rate graph 130 shows a typical steady-state planned flow rate 132 and the cumulative flow graph 140 shows a typical linearly increasing cumulative flow 142 for which the actual flow rate is Petition 870250119956, dated 12 / 26 / 2025, page 24 / 229 20 / 89 substantially constant.

[00174] In contrast, the mining system modalities and methods described in this document provide both planned flow rates and dispatch assignments that can be described by functions that vary over time. This is illustrated in Figure 1B by the piecewise constant planned flow rate 134 and the variable cumulative flow rate 144 that tracks changes in the piecewise constant planned flow rate 134. One reason why flow plans with varying planned flow rates can be useful is that operational parameters may include factors other than production targets. In one example embodiment, the flow planner of the system described in this document determines one or more optimized planned flow rates to achieve one or more production targets while minimizing the cost of doing so, and this results in a set of planned flow rates that are not necessarily all steady-state.As a result, a simple linear cumulative flow is unlikely to monitor a time-dependent planned flow rate.

[00175] Consequently, as used in this document, unless the context clearly indicates otherwise, planned flow rate refers to a planned flow rate as a function of time.

[00176] Using a dispatcher that is capable of planning and executing the allocation of assets that include mining equipment in order to achieve a flow plan with one or more planned flow rates that are variable over time (i.e., not steady state) means that the system and methods described in this document are able to more closely track an overall plan as defined by operational parameters that may include factors beyond production targets. Petition 870250119956, dated 12 / 26 / 2025, page 25 / 229 21 / 89

[00177] Existing systems typically do not direct asset allocation taking into account factors that may vary over a planning horizon (e.g., over a shift). Instead, existing dispatch systems tend to retroactively adjust in response to unforeseen events, for example, after a problem has already manifested and is affecting operations. This typically results in less-than-ideal adjustments to compensate for the manifested problem and may also require extensive manual intervention.

[00178] In contrast, where planned flow rates and / or dispatch assignments have been determined taking into account factors that may vary over the relevant time period, some of these previously unforeseen events may be predicted and incorporated into the planned flow rates and / or by the dispatcher in determining dispatch assignments. Examples of such factors include equipment maintenance and traffic patterns.

[00179] When unforeseen events occur, the system described in this document is able to automatically and continuously adjust by replanning and taking into account the altered conditions. Planned flow rates can be updated during a shift, and dispatch assignments can also be recalculated and updated during a shift. Consequently, the actual cumulative flow monitors planned flow rates and production targets better and with less deviation than is the case for existing systems.

[00180] Figure 1A of the drawings illustrates an embodiment of the mining assignment system 100 used to direct the operation of mining equipment within a mine operation 104, wherein the direction includes asset assignment (i.e., mining equipment assignment) and scheduling of mining equipment deployment. The system 100 has a planner 102 (also Petition 870250119956, dated 12 / 26 / 2025, page 26 / 229 22 / 89 (referred to here as a parameter module) provides a plan regarding the operation of a mine, the plan being in the form of operational parameters. In some embodiments, planner 102, which is part of system 100, receives a plan from a source external to system 100 (for example, the plan may be manually entered by an operator or received from another planning system) and provides that externally generated plan. In other embodiments, planner 102 may generate the plan as part of the operation of system 100, and planner 102 generates and provides the plan for use in system 100.

[00181] System 100 has a data input 112 (also referred to in this document as the data input module) that provides global mining data to various parts of System 100. In some embodiments, Data Input 112 includes a data interface, and some or all of the global mining data is provided from a source external to System 100. In the embodiment illustrated in Figure 1A, Data Input 112 is a data source that is part of System 100 and includes an estimator 110 and a database 124. Data Input 112 also receives externally provided data (e.g., mine operation updates 104, including, for example, sensor data describing one or more aspects of the mine operation, such as current traffic conditions) and incorporates the externally provided data into the global mining data provided to various parts of System 100.

[00182] Operational parameters and global mining data are provided to a flow planner 106 (also referred to herein as a flow planner module) which determines one or more planned flow rates based on the operational parameters and global mining data. Each of the one or more planned flow rates is a function of time over a flow planning window. In some embodiments, one or more of these rates Petition 870250119956, dated 12 / 26 / 2025, page 27 / 229 23 / 89 of planned flows vary as a function of time throughout the flow planning window.

[00183] System 100 includes a dispatcher 108 (also referred to in this document as the dispatcher module) to which planned flow rates are provided. Dispatcher 108 determines dispatch assignments based on the planned flow rates provided from flow planner 106. The dispatcher determines dispatch assignments for a dispatch planning window. Dispatcher 108 then affects asset dispatch based on the dispatch assignments. Dispatcher 108 autonomously directs the operation of mining equipment. In some modes, asset dispatch affects an actual flow rate that varies over time, for example, in alignment with one or more variable planned flow rates.

[00184] The flow planning window extends from a flow plan start time to a flow planning horizon. In some embodiments, the flow plan start time is the start of a shift, the flow planning horizon is the end of the shift, and the flow planning window spans the shift. For a 12-hour shift, the flow planning window would therefore be a 12-hour window. As described elsewhere in this document, in other embodiments, the flow plan start time may be intra-shift (i.e., some time within a shift). The flow planning horizon may be a time that is a length of offset (e.g., 12 hours) after the flow plan start time, regardless of when the flow plan start time is (i.e., at the start of the shift or intra-shift).The flow planning horizon can be shorter than the displacement length after the flow plan start time (for example, when planning through). Petition 870250119956, dated 12 / 26 / 2025, page 28 / 229 24 / 89 shift), or more than one shift length (for example, when planning for two consecutive shifts).

[00185] The dispatch planning window extends from a dispatch start time to the end of a dispatch planning horizon. The dispatch planning window is typically a sliding window within the flow planning window. In some modes, the dispatch planning horizon is a fixed time period, for example, 10 minutes, 30 minutes, or 1 hour. In other modes, the dispatch planning horizon depends on the asset activities, for example, the dispatch planning horizon may be approximately the same as a transportation cycle. Consequently, the dispatch planning window is selected to be approximately equal to an activity period.Activity periods are time periods that are based on the expected time to complete a certain type of activity; for example, an activity period might be selected to be approximately the same length (or slightly longer) than the longest transport cycle. In some modes, the activity periods used by the 100 system are variable and / or configurable, and in other modes, the activity periods are a predefined time, for example, 30 minutes or 1 hour. The dispatch planning window may include one or more activity periods so that not only the next decision is determined, but also several steps for various assets are determined.

[00186] The components of system 100, such as the flow planner 106, the dispatcher 108, and the estimator 110, can be implemented in one computing device or computing system, or in more than one computing system; one or more computing systems can be networked computing systems. A system of Petition 870250119956, dated 12 / 26 / 2025, page 29 / 229 Example 25 / 89 computing includes a processor, program memory, and a data port. The processor, program memory, and data port are connected together via a bus. Program memory is a non-transient computationally readable medium, such as a hard disk, solid-state drive, or CD-ROM. A set of computer-executable instructions, that is, an executable software program stored in program memory, causes the processor to execute the methods described in this document.

[00187] The flow planner 106, dispatcher 108, and estimator 110 computer systems communicate with each other and the mine operation database 124 through a communication network which can be any suitable network, such as a fixed telephone network, a cellular communication network, a wireless local area network (WLAN), an optical communication network, etc. The communication network can be a combination of suitable networks, for example, the Internet. The communication network can also be a private communication network that is specifically built for the asset allocation system.

[00188] In contrast to existing systems that typically only take into account the current state of the mine when calculating desired instantaneous flow rates, for example, excavators, the flow planner 106 described in this document uses global mining data to calculate desired flow rates within the flow planning window. Similarly, the dispatcher 108 also receives and applies global mining data to determine dispatch assignments.

[00189] Global mining data includes a variety of data that describe mine operations. In some embodiments, global mining data includes one or more of the following: (i) historical data describing previous activities in Petition 870250119956, dated 12 / 26 / 2025, page 30 / 229 26 / 89 mine operation 104, (ii) current system operational data describing a current situation in mine operation 104, (iii) asset data describing the assets available for submission, and (iv) future estimates that estimate future parameters and / or conditions related to mine operation 104.

[00190] Future Estimates: Operational data from the current system is received from mine operation 104 and stored in the mine operation 124 database (this data may be received in real-time, near real-time, in batches, etc., depending on how the data is loaded from mine operation 104). Estimator 110 retrieves historical and / or current operational data from the current system and uses the retrieved data to determine future estimates. Estimator 110 uses historical and / or current operational data for detailed statistical analysis of operation, such as the distribution of travel or operation times for a specific vehicle, associated with one or more specific locations and at a specific time.

[00191] In some modes, estimator 110 provides time-based statistics. For example, in some modes, estimator 110 determines and provides future estimates in the form of activity duration estimates to flow planner 106 and / or dispatcher 108. The activity duration estimates may include a probability distribution for a given range of duration estimates. Flow planner 106 then determines the planned flow rates informed by the activity duration estimates while dispatcher 108 modifies dispatch assignments based on expected asset performance as informed by the activity duration estimates. Petition 870250119956, dated 12 / 26 / 2025, page 31 / 229 27 / 89

[00192] Activity duration estimates describe the estimated duration of various activities associated with the respective assets, for example, the time taken for a vehicle to travel from source to destination or the time required for a transport truck to load or unload. In some embodiments, these estimates may, for example, be in the form of a speed over time if the vehicle is not expected to travel at a uniform speed. It will be understood that global mining data that are not specifically time-based may also be determined and / or reported by estimator 110.

[00193] Asset data: Data relating to one or more parameters describing various characteristics of an individual asset or a class of assets is stored in the mine operation database 124. This data is used to inform the scheduling systems (i.e., the flow planner 106 and the dispatcher 108) and may relate to an individual asset, for example, individual trucks, and / or a class of assets, for example, fleets as a whole.

[00194] Dispatcher 108 retrieves data from the mine operation database 124 that describes the available assets that dispatcher 108 considers using to achieve planned flow rates. This allows dispatcher 108 to consider one or more parameters that describe various characteristics of an individual asset or asset class. For example, for a transportation system that has a heterogeneous fleet, not all vehicles are necessarily suitable for every task, leading to preferences and constraints when assigning equipment and vehicles. Equipment may operate at different speeds depending on the equipment and the task; for example, vehicles may travel at different speeds depending on the Petition 870250119956, dated 12 / 26 / 2025, p. 32 / 229 28 / 89 type of vehicle or its current load, for example, a loaded vehicle may travel at a lower speed due to engine or safety restrictions. Dispatcher 108 is able to take this into account by accessing data in the mine operation database 124 that describes an asset identified by an asset identifier (e.g., a specific haul truck), an asset class (e.g., data common to all haul trucks in a fleet), and one or more asset descriptors (e.g., whether a truck is loaded or unloaded, or the average speed of the particular truck when loaded or unloaded).

[00195] In some embodiments, estimator 110 uses conditioning parameters in the form of performance or operational characteristics that describe an individual asset and / or a class of assets, such as the time required to travel between locations or perform a specific task. This allows estimator 110 to condition a data query from flow planner 106 or dispatcher 108 with respect to a specific conditioning parameter on specific subsets of the data, such as a tow truck model, a specific vehicle (or combination of vehicles), operator, operating mode (manual vs. autonomous), current load, etc., depending on the data that is available. Consequently, estimator 110 is able to more accurately predict or measure the performance of a specific use case by estimating performance based on similar historical situations.

[00196] Furthermore, due to the fact that flow planner 106 uses global mining data to determine planned flow rates, the mining plan, knowledge of upcoming events, and data describing the current situation at the mine (which may include unexpected circumstances such as breakdowns or changes in weather conditions) are considered, and one or more of these may be Petition 870250119956, dated 12 / 26 / 2025, page 33 / 229 29 / 89 used as a conditioning parameter. In this way, planned events, such as excavator and truck maintenance, road conditions, or an explosion that closes part of the mine, can be automatically accounted for by the system 100, for example, allowing automated planning of raw ore stockpile (ROM) levels to provide an accumulator for expected downtime. Planned events can therefore be accounted for without requiring a human operator to replace the flow planner 106 when these events occur.

[00197] Similarly, using global mining data allows dispatcher 108 to consider the required planned flow rates and generate dispatch assignments according to a forward-looking plan for how all assets (e.g., trucks, excavators, stockpiles, and crushers) will be used to achieve the necessary planned flow rates. For example, even though the road network may also be used by other vehicles not controlled by the dispatcher, whenever information about the planned route of such a vehicle is known, dispatcher 108 can benefit from taking this into account to minimize delays. Because dispatcher 108 takes global mining data into consideration, dispatcher 108 is able to proactively modify dispatch assignments as needed in order to achieve the planned flow rates required for the plan to be met.

[00198] In this way, global mining data is used to modify dispatch assignments in order to align asset shipment with operational parameters. The word align is used in this document, unless the context clearly indicates otherwise, to mean conforming dispatch assignments so that the mine operation runs as close as possible to a Petition 870250119956, dated 12 / 26 / 2025, p. 34 / 229 30 / 89 Defined target. The defined target may be (a) in the form of a primary target as provided by the production targets, (b) in the form of a modified target as provided by the operational parameters with or without global mining data, or (c) the target may be in the form of a secondary target in the form of planned flow rates or updated planned flow rates. Consequently, dispatch assignments are determined in order to align asset dispatch with operational parameters and / or planned flow rates, thus achieving congruence between plan and operation.

[00199] The mining system 100 periodically updates planned flow rates and / or dispatch assignments. In addition, global mining data may be updated periodically. Updated global mining data includes operational data from the current system received from the mine operation 104 on an ongoing basis, for example, in real-time, near real-time, or in batch updates. Updated global mining data may be real-time or near real-time data that includes a sensor data stream describing the operational data of the current system and / or asset data received from sensors in and / or associated with the mine operation. Furthermore, in some embodiments, based on updates of the current system operation data, the estimator 110 calculates and periodically updates one or more of the future estimates.

[00200] As used in this document, unless the context clearly indicates otherwise, periodically means from time to time and includes operations that are continuous, regular, irregular, real-time, near real-time, batch operations, etc.

[00201] Referring again to Figure 1A, feedback loops 120, 122 within system 100 are used to implement the recalculation necessary to replan the planned flow rates and attributes. Petition 870250119956, dated 12 / 26 / 2025, page 35 / 229 31 / 89 dispatch assignments. Flow planner 106 is periodically executed to form a feedback loop from flow planner 122, which provides updated planned flow rates. Similarly, dispatcher 108 has a feedback loop from dispatcher 120 that updates dispatch assignments.

[00202] In some modalities, the 120, 122 replanning feedback loops are responsive to dynamic and fixed inputs. Dynamic inputs include factors that change over time, such as global mining data that is updated periodically. Fixed inputs typically refer to operational constraints that do not change over time, and these may include one or more operational parameters that form part of the mining plan, for example, production targets or material movement targets.

[00203] A replanning loop around flow planner 106 allows the system to automatically respond to important events, such as an unexpected closure or road closure. This is illustrated by the feedback loop of flow planner 122 in Figure 1A. For dispatcher 108 to sensibly assign trucks, the flow plan must be feasible, and thus flow planner 106 is regularly re-executed to ensure that the overall flow plan is feasible, accounting for known constraints, equipment availability, and material movement targets.

[00204] The flow planner 106 begins by determining one or more planned flow rates over an initial flow plan window, such as a 12-hour shift. Periodically, the flow planner updates the planned flow rates based on updated global mining data. The updated planned flow rates are determined over a replanning flow plan window. Petition 870250119956, dated 12 / 26 / 2025, page 36 / 229 32 / 89 ment. The rescheduling flow plan window may have a decreasing horizon (i.e., what is left of the 12-hour shift), or the rescheduling flow plan window may have a decreasing horizon (i.e., for another 12 hours). Consequently, the length of the initial flow plan window and the length of one or more of the rescheduling flow plan windows may be different.

[00205] The 106 flow planner can replan and update planned flow rates regularly, for example, every 5, 10, or 30 minutes. Alternatively, the 106 flow planner can be triggered to update planned flow rates based on one or more trigger events, for example, at the end of one or more haul cycles, when deviations occur in mine operation (such as unexpected downtime and equipment maintenance), when the dispatcher provides a trigger (for example, if the current mine state becomes incompatible with current dispatch assignments), etc.

[00206] Since vehicle demand is constantly changing and, moreover, influenced by unpredictable disruptions such as delays or breakdowns, dispatcher 108 must react to unforeseen circumstances in real time. Thus, an approach that plans a long schedule offline and only executes it in real time is inadequate for the problem of dispatching the transport fleet. Therefore, dispatcher 108 primarily aims to assign trucks that require a task in the foreseeable future, taking into account future events as far as computational limits allow.

[00207] Consequently, dispatcher 108 provides a feedback loop to dispatcher 120 regarding planned flow rates and actual flow rates achieved. This is illustrated by the feedback loop of dispatcher 120 in Figure 1A.

[00208] Dispatcher 108 updates dispatch assignments with Petition 870250119956, dated 12 / 26 / 2025, page 37 / 229 33 / 89 based on any changes in global mining data (e.g., in view of the current state of the mine) and / or based on any changes to planned flow rates (e.g., if planned flow rates are updated by flow planner 106). Dispatcher 108 recalculates dispatch assignments to provide updated dispatch assignments so that actual flow rates caused by dispatch closely match planned flow rates.

[00209] The dispatch planning window moves based on when dispatcher 108 updates dispatch assignments, and consequently, the dispatch planning window has a recent horizon. Dispatcher 108 periodically recalculates one or more of the dispatch assignments each time it runs, and this occurs based on a combination of at least one of the following: (a) when planned flow rates are updated when the flow planner is replanned; (b) when conditions at the mine change and global mining data are updated; (c) if the current state of the mine becomes incompatible with the dispatch plan required to achieve one or more planned flow rates (for example, if a truck is no longer in the correct sequence or on the correct route to its destination); (d) after a defined period of time has passed (for example, anything between about 20 seconds and 1 hour); (e) at each decision point (or all N decision points, for example, every 2, 5, or 10 decision points) in an asset deployment (for example, when a truck reaches or is approaching an intersection / endpoint); and (f) when the asset is completed, or nearly completed, Petition 870250119956, dated 12 / 26 / 2025, page 38 / 229 34 / 89 your current assignment (e.g., a truck approaching an intersection / endpoint).

[00210] In some modes, for example, where dispatcher 108 updates a dispatch assignment until the end of a predefined time (e.g., the end of a shift), the dispatch planning window may have a decreasing horizon determined by the predefined time.

[00211] Dispatcher 108 repeatedly evaluates where and how equipment should be allocated to meet the final goals of the day or shift. The intended behavioral effect of this is the automatic reprioritization of the freight transport fleet to ensure that material eventually moves at the planned flow rate, despite any interruptions or performance mismatches in the system. This results in Dispatcher 108 providing improved performance compared to existing commercial scheduling systems used for dispatching, particularly with regard to both planned and unplanned discrete events that alter the environment in which they are executed (e.g., maintenance, interruption). Typical existing systems are based on open-loop control systems, requiring an operator to manually adjust flow rates, for example, by adjusting configuration parameters to make any necessary corrections.Existing systems typically perform local optimization, for example, optimizing truck performance for maximum material flow rate, rather than simply doing enough to meet the target set for them, which in turn is a target that is defined to achieve the overall plan.

[00212] For the 100 system described in this document, an operator does not need to constantly intervene and recalculate the configuration parameters to achieve the day's plan. In existing systems Petition 870250119956, dated 12 / 26 / 2025, page 39 / 229 35 / 89 times, the operator can typically specify instantaneous flow rates for excavators, with the scheduling system effectively executing the open loop plan as it attempts to match the current flow rate, not the cumulative target. The system and methods described in this document result in dispatcher 108 effectively following a defined cumulative flow target so that an operator acting as feedback in the control loop is not required.

[00213] The 106 flow planner determines planned flow rates over time based on operational parameters defined in the mine plan and on global mining data describing the mine operation and relevant assets. Both the operational parameters and the global mining data contribute to defining the targets to be achieved, and the 106 flow planner determines the planned flow rates by optimizing for the targets, for example, using a linear programming method.

[00214] In a first embodiment of the example, the operational parameters include cost-related parameters. The cost-related parameters may be, for example, a mathematical cost function representing the actual operational costs (e.g., the cost of operating a truck, processing plant, crusher, etc.) or a mathematical cost function defined to model one or more operational objectives. Consequently, the flow planner 106 determines the planned flow rates, also optimizing the cost-related parameters so that the flow planner 106 plans the material flow rates to execute a given plan at a minimum cost.

[00215] In this first example, the objective of flow planner 106 is selected to minimize equipment operating costs, equipment underutilization costs, and costs of Petition 870250119956, dated 12 / 26 / 2025, page 40 / 229 36 / 89 Plan failure. The equipment operating costs considered in this example are the truck operating costs. Truck operating costs are modeled as a cost per unit of operating time per truck. In some embodiments, operating costs are broken down into loaded and unloaded travel times, unloading and loading periods. In some embodiments, truck operating costs are also based on distance and road class. Equipment underutilization costs are based on crusher cost. Crusher cost is incurred when a crusher is forced to operate below the desired speed due to insufficient material flow. The plan failure cost component models the lost revenue due to non-compliance with the operational parameters of the flow plan.Different combinations of material blocks and target destinations can have different plan failure costs, allowing desired aspects of the plan to be prioritized.

[00216] In one embodiment, the 106 flow planner uses a linear programming method and divides the flow plan into a number of discrete time periods, such as activity periods that are based on the expected time to complete a certain type of activity. The length of each time period is determined by the timing of the planned activities, since changes in flow rates are expected only in response to planned events. This approach is relatively fast and is able to successfully plan for expected events, for example, building up a ROM stockpile to continue feeding the crusher when the High Grade (HG) excavators, or shovels, are shut down due to an explosion.

[00217] In another embodiment, a mixed integer linear programming (MILP) method is used that incorporates the concept of ore blocks. A shovel can traverse multiple blocks during a turn and Petition 870250119956, dated 12 / 26 / 2025, page 41 / 229 37 / 89 Each block will have different ore content properties and therefore different destinations. Thus, considering the individual blocks makes it easier to calculate the flow rates correctly.

[00218] In the exemplary embodiment, described in detail herein, a MILP method is used. The planned flow rates are determined by optimizing a target, referred to herein as an objective function. Operational parameters and global mining data contribute to the definition of the objective function. Typically, and in this exemplary embodiment, the target includes minimizing a cost function.

[00219] The optimization problem that is solved by this example flow planner 106 to determine planned flow rates can be expressed as (1) minimizing a selected objective function, (2) subject to relevant constraints. Referring to Figure 2 of the drawings, a method 300 of determining planned flow rates includes optimizing an objective function 302 by minimizing operating costs. In the example embodiment, the objective function includes minimizing equipment operating costs 304, minimizing equipment underutilization costs 306, and minimizing plan failure costs 308. Optimization 302 is performed subject to the application of constraints 310.

[00220] The objective function in this example is a combination of the plan failure cost, sales cost, and truck operating cost. For each element, the cost coefficients are $ / unit volume (or material mass) for plan failure and crushing costs and $ / unit time for truck operating cost. Truck operating cost is calculated by multiplying the total capacity of each truck required in each time period by the length of the time period and the operating cost per truck per hour, and dividing by the capacity of the truck type. The calculation of Petition 870250119956, dated 12 / 26 / 2025, page 42 / 229 38 / 89 total capacity of each truck required is divided into three components: the first is based on the time required for the truck to be loaded onto a shovel and then move to a dump, the second is the time required for the truck to unload onto a dump and then travel to a shovel, and the last is a special case for shovel routes from ROM to dumps.

[00221] An example objective function is as follows: λ = ^2 + 57 b^B,iGD toT,iQC ΚΤ,βίθψθyiçBJçNi + 57 (βε,,θ + I ieQjGNt,bGB / with parameters defined as follows: Tt time period tg T ce operational cost per unit of time of truck type Θ e Q φθ capacity of truck type Θ g Θ Yt,e total capacity of truck type Θ g Θ available in time period te T cpejj travel time of truck type Θ e Θ from location ie L to location jg L in time period tg T dej time required for truck type Θ e Θ to dump at location ig D Ps.e time for shovel se S to load truck type Θ G Θ low feed cost of crusher ig C Petition 870250119956, dated 12 / 26 / 2025, page 43 / 229 39 / 89 Ψb,i cost per unit volume under material plan be B in the dump ie D Si shovel allocated to block ie B or shovel location ROM ie Q m Shovel location ROM associated with stockpile ROM ie R ms,t maximum shovel excavation rate se S in time period te T kt,i maximum flow rate in dump ie D in time period te T et,i minimum desired flow rate for crusher ie C in time period te T ab initial volume of material in block be B gi,b initial volume of material in block be B in the dump ie D hi,b desired volume of material in block be B in the dump ie D at the end of the plan Wb the block that must be completed before be B Õb number of time periods taken for the shovel to transition to block be B from Wb.If Wb does not exist, then this is the number of time periods from the start of the schedule before the shovel starts excavating block be B rb maximum ratio that block be Φ containing sticky material can be fed into a crusher in proportion to the total flow of material into the crusher, 0 < rb < 1

[00222] As is typical for optimization problems, the objectives of. Costs are optimized subject to a number of constraints, such as flow continuity at each location, maximum shovel excavation rates, Petition 870250119956, dated 12 / 26 / 2025, page 44 / 229 40 / 89 minimum and maximum dump flow rates, initial dump levels, ore mixing requirements in the crusher, number of trucks, and planned asset availability.

[00223] Some of the constraints used for this example mode are similar to the constraints used in existing commercial packages, such as flow continuity, maximum excavation rate per shovel, maximum flow rates in dumps, and total number of trucks. A difference from the 106 flow planner described in this document is in the planned asset availability, where the asset can refer to any equipment assigned to the operation, for example, trucks, shovels, stockpiles, crushers, tracks, etc.

[00224] A number of exemplary restrictions are described in this document.

[00225] The first two constraints impose continuity of flow; that is, the sum of the flow rates entering a location is equal to the sum of the flow rates leaving a location, described as follows: yt^j.í + 3 / yt,e,j,í,b = 3 / VteT.e εθ,ί€ L\Q jQNi í — 5 í yt3e7i^,bVtζ Θ,i € Q jGMi jGNi.bGB

[00226] The maximum digging rate of a shovel depends on the time period. Therefore, planned shovel maintenance can be incorporated by setting the shovel's maximum digging rate to 0 during the time periods when maintenance is planned. The maximum digging rate takes into account the time required for cleaning and other incidental tasks and is not the shovel's theoretical maximum digging rate. The maximum digging rate is multiplied by a binary variable indicating whether the block is being excavated in a given time period, considering that only one block can be excavated by a shovel at a time.

[00227] The restriction for the maximum digging rate for the shovels Petition 870250119956, dated 12 / 26 / 2025, page 45 / 229 41 / 89 without ROM is described as follows: y Ví g T, A g S

[00228] The restriction for the maximum excavation rate for ROM shovels is described as follows: ytfippb < niSijíVí e T, i.e. Q θζθ,ί^Νι,ό^Β

[00229] The maximum flow rate can be specified for some types of dumps (for example, a limit on the maximum flow rate in a crusher). In some embodiments, the maximum flow rate for other types of dumps is calculated from the time it takes for a truck to discharge into the dump, giving the maximum number of trucks that can be served per unit of time. This constraint ensures that the maximum flow rate in a dump is not exceeded. This is described as follows: ' 4-5 Vt g T, í g D e&ejGMpQ ee&jGMinQ

[00230] The extent to which a crusher is operating below its minimum desired flow rate and for which it is penalized is governed by an objective function as follows: ft,i > ^t,iy yt,e,j,í ye T,ie C 9eQ,3EMi\Q

[00231] The total available capacity of each truck type may vary between time periods, as trucks are removed from the fleet for maintenance, refueling, shift changes, and breakdowns. The total capacity of each truck type being used is restricted so as not to exceed the total available capacity: {βζί,θ +ac,9,í,j) + y / yt,8,t,j (de,j + ieBjeNi íeDJ^Ní + y / yt,S,i,j,b (ββί,θ + Ί Vt G Τ,θ E Θ Petition 870250119956, dated 12 / 26 / 2025, page 46 / 229 42 / 89

[00232] The volume of material initially in a block is determined and then calculated for each time period: v~iti— at li e B vt,i = Vt-L,i ~ rtyj 'it £ T,i EB

[00233] For initial discharge levels, the volume of each type of material in each discharge is initialized and then calculated over each time period by integrating the inflow rates over time: li,t,b = 9i,b Vi e D,be B ityb = h-í,i,b + ώ I yt,e,b,i + Γ yt,ej,i,b I Ví e T, i ε D\R, be B \θ€θ seejGAfinQ J it,i,b=it—l,i,b V Tè I ) yt,9,b,i ,j,bj Ví ET, i ER, b EB \ãGQ 9&Q,jGNa. j

[00234] For ROM stockpiles, the associated blade outlet flow rates are also incorporated. It is assumed that ROM stockpiles will not receive ROM blade material.

[00235] The level of compliance with the plan is calculated as follows: Pi,b > hçb B, i £ D

[00236] For certain plan failure costs and crusher cost coefficients in scenarios where it is not possible to maintain the crusher feed above the minimum desired rate using the material specified for the crusher in the plan, the crusher may be fed with residual material. This can occur where crusher costs are significantly higher than plan failure costs. However, to prevent this from happening, an additional constraint is used to ensure that only the material specified for each dump in the plan is dumped: <hi,b ^eB,íeD Petition 870250119956, dated 12 / 26 / 2025, page 47 / 229 43 / 89

[00237] The restrictions are used to reinforce that each block of material must be excavated one at a time by a shovel, that is, a shovel cannot start excavating a block before finishing the previous block: ^^b^^bEB tQT V x{. < 1 Vb and B have xt,b< 1 Vt and T, if S 6er, xt,b = xt-i,b + -xt,t ET,b EB χ-ifi = 0 Vè e B

[00238] Constraints are used to ensure that blocks are removed in the order specified by the plan and that the time required to move the shovel from one block to another (if any) is incorporated: xt,b = xi - 5b,ubeT {0,... ,5b - l},b ∈ B seexistext,b = O^t ∈ {0,... ,5b - l},b ∈ B

[00239] If a block does not have a preceding or prior block specified, then it must be the first block allocated to the shovel. A constraint is used to force the entire volume of the block to be removed before it can be marked as completed: abx{íb< ab- vt,b Vt eT,be B

[00240] A restriction is used to handle the material that must be fed into the crusher in a specified ratio: Eyt,e,b,j । yt,ej,í,b — j Vt,e,b,i + ET, i EC SG&,bGB 8G&,bGB,jGQ

[00241] This arises mainly from sticky material that can block the shredder if fed all at once. In this sense, a maximum ratio between the sticky and non-sticky material is defined for each time period.

[00242] This model can be merged as MILP and solved Petition 870250119956, dated 12 / 26 / 2025, page 48 / 229 44 / 89 using commercial software packages such as Gurobi™. As an example, for a mine with 5 shovels, 1 crusher, 1 waste pile, 1 ROM pile and 6 material blocks, Gurobi is able to solve the model in approximately 0.5s on a laptop with an i7-4810MQ and 16 GB of RAM.

[00243] The resulting planned flow rates may be erratic. An example of these irregular flow rates 400 is shown in Figure 3(a). Frequent changes in flow rates are undesirable as they make it difficult for human operators to understand and predict system behavior and frequent changes make it difficult for the dispatcher 108 to actually achieve the planned flow rates. For this reason, some embodiments may optionally include the application of smoothing 312, as shown in Figure 2.

[00244] In one embodiment, planned flow rates are smoothed using averaging, where the magnitudes of each planned flow rate are averaged over several time periods. In one example embodiment, this is done using a moving average. However, the use of a moving average can result in planned flow rates that violate one or more of the constraints, particularly around points in time when blades go for maintenance.

[00245] In another embodiment, the times at which events occur are first identified. These times are when a block is started or completed or when the availability of assets changes. Then, the magnitudes of each relevant planned flow rate between the event times are calculated. Because the model is linear and there are no changes in the constraints between these event times, the resulting average planned flow rates satisfy the constraints. An example of a resulting planned flow rate of 402 using this approach is shown in Figure 3(b).

[00246] In another modality, an additional component is added Petition 870250119956, dated 12 / 26 / 2025, page 49 / 229 45 / 89 linked to the objective function to penalize planned changes in flow rates between successive periods. Two types of penalties can be used: (1) a binary penalty that penalizes the number of changes in a flow rate, regardless of magnitude and / or (2) a continuous penalty that penalizes the magnitude of changes in the flow rate.

[00247] Binary penalty terms introduce additional binary variables to the model, which can result in an increase in the model's computation time. While not usually significant, continuous penalties can also lead to an increase in computation time. A consequence of using a continuous penalty is that combining the penalty terms with the original objective function can result in the original objectives being sacrificed for smoother flow rates.

[00248] In another embodiment, a separate model is used to post-process the result of the first or initial objective function. An additional or secondary objective function is used for the smoothing model and is the sum of the flow differences, that is, the difference in the magnitude of a planned flow rate between two successive time periods (defined in time units) for a given type of truck from a source to a destination location and the difference in the magnitude of a planned flow rate between two successive time periods for a given type of truck from a source to a destination location for a certain type of material. =y? I y? ít,e,í,j + y^ I teí\{o},eee yieL\Q,jeJV(íeQ.jçN^beB J

[00249] The following decision variables and parameters are used: Qt,e,ij, £ I&-0 difference in flow rate between time periods tg 7λ{0} et - 1 for truck type Θ g Θ of location ig L\Q for location jg Ní Petition 870250119956, dated 12 / 26 / 2025, p. 50 / 229 46 / 89 Ct,e,ij,be IR^O difference in flow rate between time period te T\{0} et - 1 for truck type Θ and Θ of location ie Q for location je Ni of material type be B The objective value of the solution for P^ xt,bo is the value of xt,b of the solution for P^ for teTeb and B xlbo is the value of x$b of the solution for P^ for te T and be B x{bo is the value of x{b of the solution for Pi for te T and be B

[00250] The objective function is constrained by the magnitude of the change in a planned flow rate between successive time periods defined in time units (such as every 1000 seconds, as an example): — yt-i,e,i,j 3t ε Γ\{0}, Θ € Θ, ie L\Q,j ε Ni — yt,o,i,j ε τ\{0}, θ ε θ, í ε L\Q,j ε Ni > yt,e,i,j,b — yt-i,e,i,j,b ε T\{0}, θ ε Θ, i ε Q, je Ni, b ε B Ít,e,i,j,b > yt-i,e,i,j,b — yt,e:i:j,b ε T\{0},θ ε ​​​​Θ,i ε Q, j ε Ni,beB

[00251] Consequently, the flow planner smooths the determined planned flow rate by reducing the magnitude of change in a planned flow rate between successive time units. This approach avoids affecting the original objective function.

[00252] Additional constraints can be included to reduce the computational time to solve the model. For example, a first additional constraint removes the choice of when each block should begin to be excavated, allowing the solver to significantly reduce the number of binary variables in the problem: Petition 870250119956, dated 12 / 26 / 2025, page 51 / 229 47 / 89 xfb= xhNteT,beB

[00253] A smoother planned flow rate of example 404 calculated using such a constraint together with the smoothing model is shown in Figure 3(c).

[00254] In some embodiments, one or more secondary additional restrictions that limit the level of ore impurities in the crusher are used for mines where impurity levels must be kept below a threshold for the processing plant to operate effectively.

[00255] The operation of flow planner 106 described above can be understood with reference to Figure 4, which shows a set of 8 planned flow rates, of which only one (Figure 4 (d)) is a planned steady-state flow rate, while the other 7 vary over time in a piecewise constant manner.

[00256] In the illustrated example, the mine has 5 excavators: 2 HG excavators (Figure 4(a) and Figure 5(b)), 2 waste excavators (Figure 4(c) and Figure 4(d)), and 1 ROM excavator (Figure 4(f)), 6 material blocks (2 for each of the HG excavators and 1 for each of the waste excavators), a ROM stockpile (Figure 4(e)), a waste stockpile (Figure 4(h)), and a crusher (Figure 4(g)). All material from the HG excavators goes to the crusher, and all material from the waste producers goes to the waste stockpile. In this example, the time period considered is 6 hours, with a 5-minute time period. Half an hour into the scenario, the two HG excavators are shut down for half an hour due to a planned explosion in the mine. In the final hour of the scenario, Digger HG 1 is shut down due to planned maintenance.

[00257] The flow planner 106 calculates the planned flow rates by first solving the original objective function, followed by the smoothing model using the first additional constraint. Figure Petition 870250119956, dated 12 / 26 / 2025, page 52 / 229 48 / 89 Figure 4(a) shows the planned flow rate (in kg / s) over time (in s) for Digger HG 1. The planned flow rate for the crusher 520, the planned flow rate for the ROM stock 522, and the total planned flow rate 524 are shown. Similarly, Figure 4(b) shows the planned flow rates 526 for Digger HG 2. The planned flow rates 528, 530 for Waste Diggers 1 and 2 are shown in Figures 4(c) and (d).

[00258] Figure 4(e) shows the planned flow rate of ROM 510 stock over time and Figure 4(f) shows the planned flow rate of ROM 512 blade over time. Figure 4(g) shows the planned flow rate of crusher 514 over time and Figure 4(h) shows the planned flow rate of waste 532 over time.

[00259] The example illustrated in Figure 4 includes several planned flow rates for flows between various sources and destinations within the mine operation. In some situations, depending on the mine operation and the relevant circumstances, the flow planner 106 may provide only one planned flow rate for a source-destination pair.

[00260] To ensure that the minimum desired crusher flow rate is achieved, flow planner 106 plans to accumulate ROM stock during the first half of an hour 510 and then feed crusher 514 exclusively from the ROM shovel for the second half hour (coinciding with the offline periods of excavator 502 and 504, as shown in Figures 5(a) and 5(b)). Additionally, flow planner 106 saves most of the planned material flow rates from Digger HG 2 for the last hour 534 of the scenario.

[00261] This example can be used to illustrate how the 106 flow planner algorithm takes ROM stockpiles into account, specifically for the use case where they are used as an accumulator for idle excavation times, such as those mentioned above. In some embodiments, the 106 flow planner includes these Petition 870250119956, dated 12 / 26 / 2025, page 53 / 229 49 / 89 ROM stockpiles to automatically ensure that the crusher flow rate is maintained above a minimum or limit level throughout the planning schedule (e.g., part of a shift, an entire shift, or more than one shift). By including the ROM stockpiles as a dump point and a material source (with an appropriate excavator assigned), the ROM can be created before, for example, an excavator maintenance or blast event and then used to feed the crusher during this idle period. The capacity to which the ROM is built is automatically designed around the material needed out of the ROM during downtime periods, taking into consideration the duration of the idle time and other material available to feed the crusher.

[00262] The effect of flow planner 106 taking into account ROM inventory when determining planned flow rates can be seen in the scenario illustrated in Figure 4, where both high-grade excavators are shut down for 30 minutes (note that the flow rate of each drops to zero from 30 minutes to 60 minutes over the timeline in the two main graphs in 502 and 504). To maintain crusher productivity, flow planner 106 schedules most of the high-grade material extracted in the first 30-minute periods 506, 508 to be dumped into the ROM stockpile 510, allowing it to be used to feed the crusher in the second 30-minute period 512 when high-grade excavators are not available 502, 504. The overall effect is a plan in which the crusher is not short of high-grade ore, as illustrated in Figure 4(g), showing the crusher flow rate 514 over time.

[00263] This example illustrates that flow planner 106 takes planned events into consideration, and when unexpected or unplanned events occur, flow planner 106 is also able to take them into consideration when flow planner 106 is Petition 870250119956, dated 12 / 26 / 2025, page 54 / 229 50 / 89 is executed again (as illustrated in Figure 1 by the feedback loop of flow planner 122) to generate an updated flow plan with updated planned flow rates for the recent horizon.

[00264] A challenge with reintroducing flow planner 106 partially through a change is determining the volume of material remaining in a block and the volume of material that has been introduced in various dumps. In particular, there will always be some trucks in transit between a block and a dump at any given time. If dispatcher 108 has already allocated these trucks to specific dumps, then this will be trivial. However, if dispatcher 108 only provides step-by-step instructions, then it is not known which destination the material will take. In this case, the initial quantity of material from each block in each dump, which is used as an input for flow planner 106, is calculated to include the volume of material in transit.In one approach, this is done by allocating the material in transit to all possible destinations for that material in proportion to how much material still needs to be dumped.

[00265] The time period over which flow planner plans 106 can be variable. In one mode, planning is performed until the end of the current shift. However, one of the main challenges in current systems is handling shift change, and planning only at the end of the shift means that any events occurring at the start of the next shift may not be adequately planned. Therefore, in modes where computational requirements allow it, planning is performed within or until the end of the next shift. This results in the reduced availability of trucks and shovels around shift change being explicitly incorporated into the planned flow rates determined.

[00266] In system 100 shown in Figure 1A, flow planner 106 performs high-level planning to determine the rates of Petition 870250119956, dated 12 / 26 / 2025, page 55 / 229 51 / 89 planned flows and dispatcher 108 then determines dispatch assignments based on the planned flow rates received from flow planner 106. Dispatcher 108 optimizes asset dispatch taking into account the overall mining data received so that assets can perform a certain number of activities to achieve the necessary planned flow rates. This can be understood with reference to a transportation system.

[00267] When used for a transport system consisting of a heterogeneous fleet of trucks moving along a predefined road network, the dispatcher is used to assign each truck its task to its destination(s), taking into account the desired and predicted truck capacity requirement, as well as system constraints. Destinations include activity stations. At activity stations, trucks perform tasks such as loading, unloading, refueling, or pausing.

[00268] The dispatcher's objective is to perform a certain number of activities at the activity stations. In this example, the purpose of the system is transportation, and therefore the activities are provided as load-unload pairs with two activity stations (a1, a2). The truck first visits a first station ai where it is loaded and then visits a second station a2 to unload the cargo.

[00269] Some methods take into account not only loading-unloading pairs, but also arrivals at intersections so that decisions made at each intersection (i.e., which direction to move to the intersection) are also considered potential tasks in the schedule. The resulting dispatch schedule is a series of connections through various decision points that then include intersections, loading and unloading.

[00270] Existing dispatchers typically define the goal Petition 870250119956, dated 12 / 26 / 2025, p. 56 / 229 Dispatch assignment 52 / 89 is a fixed number of activities to achieve at the end of an execution period, for example, at the end of a shift. Dispatcher 108, described in this document, on the other hand, provides the number of times activities need to occur (in total, across a flow plan planning horizon), and also provides a temporal distribution of activities. The distribution of activities, or the rate at which activities occur, as effected by dispatch assignments, may vary over time for several reasons, for example, if planned flow rates are not steady-state targets, if conditions in the mine change, or if actual effective flow rates do not match planned flow rates. In other words, dispatch assignments result in a temporal distribution of activities that are not necessarily at a fixed rate.This more flexible approach results in planned flow rates being tracked more accurately and, consequently, also results in improved efficiency.

[00271] Consequently, the dispatch target optimized by dispatcher 108 is defined as a function over time.

[00272] The dispatch target is defined by a target function g that maps the required activity, for example, a load unloading pair (ai, a2) and a point in time t to the number of times the pair must have been repaired at time t. Thus, g is a monotonically increasing function of te, in this example, a piecewise linear function of time: g((a>'M = Σ agE A

[00273] Since g is a goal (not a constraint), the solution does not need to match the values ​​of g precisely. Instead, g can be given as a continuous function that is then approximated by the dispensed assets, for example, a system of Petition 870250119956, dated 12 / 26 / 2025, p. 57 / 229 53 / 89 transport using discreet vehicle loads.

[00274] g defines several objectives, one for each activity, for example, each cargo unloading pair. To use g as a goal for an optimization, the objectives must be combined into a single objective. Consequently, the dispatch optimization objective function is the sum of the individual goal functions: o(i) = e^achievíalcançadoj),i)—g((ai,a2),i)^ [at.aajÉA5+ 5^ eachievtalcançado ) — g((a, ·),ί)^ a£A

[00275] In this dispatch objective function, achieved((ai, a2),t) is the number of times the load discharge pair (a1, a2) was served, and achieved((a,-),t) is analogous to ag((a>'M = Σ agE A

[00276] To obtain a temporal distribution, dispatch assignments are determined by optimizing the sending of assignments over a dispatch planning window. As time progresses through a shift, the dispatch planning window is effectively a sliding window that moves forward into the next or more activity periods. In this way, dispatcher 108 determines dispatch assignments over a rolling horizon.

[00277] When dispatcher 108 recalculates dispatch assignments, discrepancies between the given target (i.e., the number of activities to be achieved) and the system achievement (i.e., the number of activities actually achieved) are taken into account and used to modify the recalculated dispatch assignments. e(x) is an application-dependent error function that maps the discrepancy between system achievement and the given target to a numerical reward or penalty. Apply the error function when recalculating dispatch assignments. Petition 870250119956, dated 12 / 26 / 2025, p. 58 / 229 54 / 89 dispatch to adjust discrepancies, distinguish the present dispatcher 108 from existing dispensers that generally optimize dispatch assignments once, offline, in order to achieve a steady-state flow rate in one shift.

[00278] Dispatcher 104 determines e(x) so that the system is rewarded most when a goal function is closely matched. In some embodiments, overachievement may be penalized in the same way as underachievement. However, it may not be desirable for overachievement to be penalized in the same way because, if the goal function is growing continuously as part of an ongoing process, overachievement may be desirable.

[00279] To moderately reward overachievement, in one embodiment, an overachievement reward is defined (e.g., proportional to a square root function) that is less than a defined underachievement penalty, or negative reward, that is used to penalize underachievement (which may be, for example, proportional to a parabola). The use of the square root results in decreasing returns the more the system achieves. The use of diminishing returns encourages the system to achieve the different objectives more uniformly, since moderately overachieving all objectives results in a higher value compared to an overgrowth objective. Consequently, in an exemplary embodiment, dispatcher 108 implements the following error function: fj — (x — |)2for x <para e(x) = < / ----Γ [3 / 2 + 4-2 for s >Para

[00280] In one mode, dispatcher 108 uses a heuristic search algorithm to determine dispatch assignments. In Petition 870250119956, dated 12 / 26 / 2025, page 59 / 229 55 / 89, an exemplary model, dispatcher 108 is based on a heuristic search algorithm, such as a Monte Carlo Tree Search (MCTS) algorithm that explores (and builds) a decision tree of possible actions to determine the best next action. This algorithm seeks to choose the best immediate action, given a highly uncertain future. Using the MCTS algorithm, dispatcher 108 generates asset assignments as a result, taking into account global mining data, as well as a traffic model.

[00281] The traffic model is used to provide limits for travel times based on other traffic on the road, either ahead in the form of congestion or blocking of intersections while other traffic passes through the path (based on standard straight-through turn rules). Vehicle model parameters such as speed, load, and dumping performance are sampled from past performance data, for example, as measured in the mine during operation and available from the relevant mine operation database 124. This data is then incorporated into the traffic model.

[00282] One challenge is translating vehicle movements and their interactions along the road network into a model suitable for an MCTS decision tree.

[00283] The system can be described by a tuple (R,V,D,Vo,P,F,A), where R is the road network, V is the set of vehicles in the system, D is a set of discrete vehicle states, Vo contains the initial states and positions of the vehicles, P is the performance function, F is the following distance, and A is the set of activity stations.

[00284] R: The road network is a directed graph with its vertices representing road locations and its edges representing Petition 870250119956, dated 12 / 26 / 2025, p. 60 / 229 56 / 89 the roads. In some modalities, vehicles may have different restrictions on the roads they are able to use, resulting in different subsets of the road network being applied to each type of vehicle.

[00285] V: The set of vehicles in the system refers to vehicles that move along the road network. At each point in time, a vehicle is at a vertex or crossing one of the edges of the road network.

[00286] D: To distinguish between vehicle states, such as loaded and unloaded, and the different types of cargo a vehicle may have carried, a set of discrete vehicle states is given. At each point in time, a vehicle has exactly one of these states. The states are application-specific, but likely contain an element for each type of cargo a vehicle may have carried. A transition function is a function that maps a vehicle and its discrete state to the discrete state the vehicle will be in after performing a specific activity (i.e., loading / unloading).

[00287] P: The performance function governs how quickly vehicles move through the route. It maps a vehicle, its discrete state, and a road network edge to the time it takes for the vehicle to cross the edge. The performance function maps a vehicle and its discrete state to the amount of time the vehicle needs to perform the activity.

[00288] F: Since several vehicles cross a road network edge simultaneously, information must be provided about the distance the vehicles should maintain from each other. This distance can be determined by the physical size of the vehicles because they cannot occupy the same point in space simultaneously. In practice, however, a minimum safety distance is given. Petition 870250119956, dated 12 / 26 / 2025, page 61 / 229 57 / 89 In some modalities, the following distance is specified in meters. In other modalities, the following distance is specified as a duration of time, and then the following distance is the minimum number of seconds that a following vehicle must remain behind the vehicle being followed. An advantage of choosing a time-based approach is that the problem formulation remains agnostic to the spatial layout of the road network. The following distance is defined to map a vehicle, its discrete state, and edge to the minimum number of seconds that the vehicle must remain away from another vehicle along the edge.

[00289] A: Each activity station is associated with a location. Analogous to the next distance on the road network, a next distance is defined for activity stations. In some cases, the activity station can be used by only one vehicle at a time, and in other cases, vehicles can be serviced in parallel.

[00290] The possible actions of individual vehicles are represented as a transition graph. A transition graph is a directed graph where vertices correspond to possible vehicle states (i.e., loaded or unloaded) while edges correspond to transitions between vehicle states, such as driving along the road network or visiting an activity station. The heuristic search algorithm therefore links a plurality of asset states (i.e., vertices) using asset transitions (i.e., edges).

[00291] The state of an asset, for example, a vehicle, located at a vertex of the road network is completely described by its location and its discrete state. To avoid creating identical subgraphs for each vehicle, identical vehicles are grouped by vehicle type. Each edge of the graph represents a possible transition between states. The edges are each associated with one or more parameters, including: road length, the following distance, the Petition 870250119956, dated 12 / 26 / 2025, page 62 / 229 58 / 89 road index, a reward type, and a reward value. The edges of the transition graph and the transitions they represent are referred to interchangeably. The length and distance to follow of the transition govern the amount of time the vehicle needs to change from the edge source state to the edge target state. A transition may represent movement along the edge of the road network or a transition may correspond to an activity station.

[00292] Different edges of the targeted graph are left to share the same station or activity station. This is necessary to maintain different types or states of vehicles. For example, an edge corresponding to a loaded vehicle may use the same road as an edge corresponding to an empty vehicle. To track these vehicles interacting with each other, a road index is stored for each transition. All transitions that share the same road index are considered to share the same physical station or activity station.

[00293] Reward information includes a reward type and a reward value. In its simplest form, reward information contains a single value that is added to the total reward of the system state whenever the transition is executed. However, since the goal function specifies multiple goals, in some modes several distinct reward types are maintained. Each transition contributes to only one of the reward types, allowing dispatcher 108 to track progress on different individual goals.

[00294] Each load-discharge pair contributes to two types of reward: a first transition reward and a second transition reward. The first transition reward means the load action that is shared among all load-discharge pairs. Petition 870250119956, dated 12 / 26 / 2025, p. 63 / 229 59 / 89 unloading with the same loading location: g(ai,·)

[00295] The first transition reward is granted as soon as the vehicle finishes charging.

[00296] The second transition reward is specific to the load unloading pair: g(ai,a2)

[00297] The second transition reward is granted as soon as the vehicle finishes unloading. Some modes include only the second type of transition reward. Other modes have a third transition reward at the loading site as well to introduce a reward previously in the research tree. Thus, the loading is rewarded even if the unloading time is beyond the planning horizon.

[00298] By convention, end states are not allowed, and therefore each vertex must have at least one outbound edge. If an end state for a vehicle is desired, it is possible to create a vertex in the transition graph with only a single outbound edge that returns to the vertex.

[00299] Whenever two vehicles of the same vehicle type and discrete state crossing trajectories, they, if not passively exposed, share the same state on the transition graph. Subsequently, the additional options for the two vehicles are identical. The problem becomes intensified when the two vehicles are traveling in opposite directions. The effect is that at any vertex of the road network, the vehicle is given the option to turn around and return to where they came from. It is not only the inefficient behavior of the vehicle that is a concern, but also the number of options it provides. Whenever the vehicle is offered more than one choice, a decision point arises, which must be exploited by dispatcher 108. Petition 870250119956, dated 12 / 26 / 2025, page 64 / 229 60 / 89 Therefore, offering a large number of redundant options is undesirable.

[00300] This problem is alleviated by adding the set of possible destinations to the state labels of the transition graph. The effect is that only vehicles with the same choice of future transitions actually share the same vertex of the transition graph. Whenever a vehicle traverses the road network, the corresponding states of the directed graph are labeled with the set of road locations it may be going to. Allowing destination sets ensures that paths in the road network that are initially identical but subsequently split share the same path in the directed graph. This not only reduces the size of the directed graph but also delays decisions that are beneficial during the optimization stage.

[00301] The state of the entire system is defined by the vehicles that are part of the system, the active state for each vehicle (or the state the vehicle is transitioning to) as represented by a vertex of the directed graph, the point in time at which the last vehicle that entered the road segment finished or will finish its transition, and the type of reward and reward value associated with the relevant transition.

[00302] Dispatcher 108 uses the MCTS algorithm to incrementally build a search tree, starting with an initial state. Each node in the tree is marked with several pieces of information: (i) the state belonging to the node, (ii) the number of times the node has been visited, and (iii) the sum of the values ​​of all episodes created when visiting the node.

[00303] Each iteration of the algorithm starts at the root node and traverses successive secondary nodes until a leaf node is reached. Petition 870250119956, dated 12 / 26 / 2025, page 65 / 229 61 / 89 gido. In each node that is not a leaf node, one of the child nodes is selected as the next node to go to. Whenever a child node has to be selected, it is selected based on the number of child nodes of the current node, the number of times the current node has been visited, the number of times each child node has been visited, and the sum of all episode values. This is done in a way that balances exploration against exploitation.

[00304] Once a leaf node in the tree is reached, secondary nodes are created. To do this, the next vehicle to advance is determined, and all outgoing edges of the vertex corresponding to the state of the next vehicle are taken from the transition graph. For each of the outgoing edges, the node's state is advanced, and a new secondary node containing the next state is created. In order to avoid creating tree nodes with only a single secondary node, whenever the state has only one possible additional transition in the transition graph, it is advanced further until a decision point occurs (or the planning horizon is reached, for example, the end of an activity period or the end of a shift).

[00305] Once new secondary nodes are created, their state is deployed until the end of the planning horizon. To do this, the state advances until all vehicles have progressed a planning horizon defined for the dispatcher, which is typically an activity period.

[00306] Once the end of the activity period is reached, dispatcher 108 determines the final state value according to the objective function. The objective value is then propagated back to the root node, incrementing a visit counter and adding the final state to the vertex for each node in the direct path from (and including) the newly created secondary node to the root. Once the tree has been sufficiently extended Petition 870250119956, dated 12 / 26 / 2025, page 66 / 229 62 / 89 pandida (or computational resources have been exhausted), dispatcher 108 chooses the best actions by traversing the tree as before, one secondary node at a time.

[00307] The target function per vehicle with its pairs of cargo unloading activity stations implicitly defines an average number of vehicles that must attend each pair of activity stations per time interval. In some embodiments, this time interval is an activity period as defined in this document. Thus, the nominal flow for a pair of activity stations is based on the start and end times of the considered time interval. The nominal flow for a pair of activity stations (ai, a2) can be calculated as follows: ,, g((ai,a2),4nd) — gfinalιχ , a2), íslart)ín(cí° f((ai,a2)) =-----------——------^endóstufinalinício

[00308] The total flow between activity stations, as determined in 602 in Figure 5, can be further divided into separate flow rates by vehicle type. In some embodiments, it is not defined which vehicle type has to serve which load unloading pair, therefore the decomposition can potentially be done in many ways, as long as the nominal flow is based on the activities assigned to each vehicle and only the vehicle types that are capable of serving the relevant activity pair have positive flow: f((ai,a2))= >^2)5v) vçV'·

[00309] In this example, the states of assets or vehicles are therefore loaded or unloaded and the asset or vehicle transitions refer to loading or unloading at an activity station.

[00310] After a vehicle completes servicing a pair of unloading loads, it must usually drive to another loading location before it can perform another task. Thus, unless the rates Petition 870250119956, dated 12 / 26 / 2025, p. 67 / 229 63 / 89 of the loading / unloading flow matches, the system also requires an additional empty or unloaded flow of empty vehicles moving from one unloading station to the next loading station. The flow of empty vehicles must equal the flow of loaded vehicles. This can be described as a linear program so that dispatcher 108 can include a ready-to-use MILP solver to solve the division of loaded and unloaded flow by vehicle type. The objective function is the sum of all flow rates weighted by the time required to execute any specific flow segment: the time required for maintaining unloading pairs and travel times for an empty vehicle. The linear program is completed by adding constraints that limit the flow based on the number of vehicles available.

[00311] The linear program depends only on information known upfront. Thus, it needs to be solved only once at the beginning, and the result can be reused throughout the lifetime of the transportation system until there are major changes in the system parameters or the objective function. In cases where the objective function is not linear in time, the linear program must be solved separately for each of the linear intervals of the objective function.

[00312] Dispatcher 108 implements a deployment heuristic to route vehicles through the transition graph according to flow rates. A flow rate can be assigned to individual edges of the transition graph. Each edge has an associated edge flow rate. The value of each edge flow rate is derived from the system's loaded and unloaded flow rates.

[00313] Whenever a leaf of the search tree is reached, the state value must be evaluated. For larger problems on the horizon, it may be difficult to find a consistent heuristic for such a value function. To do this, dispatcher 108 advances the status of Petition 870250119956, dated 12 / 26 / 2025, p. 68 / 229 64 / 89 leaf nodes until a final state is reached using random and heuristic choices. However, with directed choices instead of random choices, MCTS is more likely to converge toward optimal solutions faster. Whenever there is more than one option from the outgoing edges in the transition graph, dispatcher 108 chooses one according to a deployment heuristic. Since a large amount of the computational cost is due to the performance of the implementations each time a leaf is reached, dispatcher 108 selects a heuristic function to be computationally efficient.

[00314] Dispatcher 108 uses a deployment heuristic to improve dispatch assignment by applying the following three goals: (i) The first pushes the flow rates according to how well the target is reached to improve routing at vertices where multiple outgoing edges of the transition graph have a positive flow (illustrated at 606 in Figure 5). In this way, a positive flow is implemented for active state pairs, i.e., based on load-unload pairs as required by the g target function. (ii) The second anticipates the changeover and aims to avoid sending vehicles to activity stations when they are likely to face a waiting period in a queue (illustrated at 608 in Figure 5). This means avoiding queue changes at activity stations. (iii) The third aims to balance the distribution of assets within different flow components of the transition graph (i.e., loaded and unloaded flow rates) to ensure that all flowing parts of the transition graph have adequate numbers of vehicles available (illustrated at 610 in Figure 5). This means balancing an asset distribution within the two asset states, i.e., distributing loaded and unloaded vehicles evenly along the active part of the road network. Petition 870250119956, dated 12 / 26 / 2025, page 69 / 229 65 / 89

[00315] Figure 5 illustrates one embodiment of a method 600 for selecting an outgoing edge on a transition graph using a deployment heuristic. In 602, dispatcher 108 determines the total loaded and unloaded flow rates by vehicle type associated with a pair of load-unload activity stations. The outgoing edge on the transition graph is selected in 604 based on edges with a total positive flow. Although several such edges with positive flow exist, the best one is selected in 606, slanting the flow to drive the system towards the defined targets. Optionally (and therefore illustrated in broken lines) in some embodiments, in 608, edges can be selected to avoid vehicle queuing, and in 610, edges can be selected to balance the distribution of vehicles with different flow components to ensure that all fluid parts of the transition graph have adequate numbers of vehicles available.

[00316] Referring to the first goal (i), as illustrated in 602, 604 and 606 in Figure 5, the initial steps of the deployment heuristic can be summarized as determining a total flow rate per edge, selecting edges with positive total flow, and skewing the intended flow (i.e., the flow rate achieved by dispatch assignment) towards the planned flow rates.

[00317] For each pair of activity stations and vehicle types with positive flow, the edges corresponding to the loading and subsequent unloading of a vehicle type, as well as the edges representing the direct path between the two, are identified. The loaded and unloaded flow rates for these edges are then added together. Then, for each pair of activity stations and vehicle types with a positive loaded flow, the edges corresponding to the path between unloading and subsequent loading are identified and the values Petition 870250119956, dated 12 / 26 / 2025, page 70 / 229 66 / 89 of the loaded and discharged flow rates are added together for these edges.

[00318] Consequently, the heuristic aims to route vehicles along the outgoing edges of the transition graph with positive flow. In the case of multiple such edges, one is randomly selected with a probability proportional to its flow. While this basic heuristic succeeds in keeping the transport system productive, it fails to match the operational parameters defined by the objective function. The reason is that any imbalance in the system (i.e., if the flow is not perfectly matched) is likely to be amplified by the estimated navigation nature of the heuristic.

[00319] Thus, dispatcher 108 includes elements of a feedback controller to allow the algorithm to guide the system towards defined targets, for example, in the form of the feedback loop of dispatcher 120.

[00320] Because the flow of completed vehicles corresponds to the growth rate of the objective function, and the objective function corresponds to the desired values ​​of the reward types, if the reward types are on target, the flow rates also correspond to the desired growth rates of the reward types. If, however, the reward types are ahead of or behind the target values ​​during deployment, the desired flow rate may be skewed to drive the system back toward the defined targets.

[00321] The slope formula that provides the flow rates for dispatched assets is designed so that if the actual flow rate is behind the planned flow rate, then dispatcher 108 increases the intended flow rate linearly, whereas if the actual flow rate is ahead of the target flow rate, then dispatcher Petition 870250119956, dated 12 / 26 / 2025, page 71 / 229 67 / 89 Dispatcher 108 decreases the intended flow rate in an inversely proportional manner. The latter ensures that the actual flow rate never reaches zero and the system still makes reasonable choices when all rewards are ahead of the target. The sloping flow provides the intended flow rate that is effected by dispatcher 108.

[00322] For loaded flow, the inclined flow is presented as: Ç((a1:a2)) = fe((ai, a2)) (1 + ) for r* for (aba2)) Je((ai,a2)) +fOTPara(ai,a2)) where r· is the reward type associated with the load-unload pair (ai, d2) and β are adjustment parameters that can be defined for 1.

[00323] For unloaded flow, the sloped flow is presented as: C(ai) = ífe(ai) (1 + ) for rf ΦθΓθ ab.)) [fe(ai) (1 +for ri Para(ab ))

[00324] Although the flow slope works well for interconnected flow cycles, it does not distribute vehicles among disconnected flow cycles. The flow in the transition graph inherits the flow consistency provided by the full and unloaded flow rate equation. Since the flow has no sources and sinks and the graph is finite, it follows that edges with positive flow and their vertices fall into separate components such that each vertex is reachable from any other vertex within the same component and no vertex of another component can be reached.

[00325] Furthermore, zero-flow edges can also be assigned to flow components. Each zero-flow edge leads to a flow component that can be reached by traversing the next and subsequent zero-flow edges. According to this definition, zero-flow edges can lead to multiple components. Petition 870250119956, dated 12 / 26 / 2025, page 72 / 229 68 / 89 of flow simultaneously. Furthermore, each edge leads to at least one flow component. If edges were present and did not lead to a flow component, following such an edge could never result in an increase in the reward function, and thus dispatcher 108 discards such edges.

[00326] Since each edge of the transition chart has an associated length and flow, dispatcher 108 calculates the nominal number of vehicles needed for this edge based on the length and flow.

[00327] Repeating this for each edge within a flow component results in a total number of vehicles needed for each component. Vehicle types are ignored here, as different vehicle types always reside in different flow components.

[00328] If, during deployment, a flow component has fewer vehicles than the number of vehicles required for the component available to serve its flow, the system will have insufficient targets related to this component. Subsequently, dispatcher 108 attempts to distribute vehicles among the flow components as needed, routing vehicles along the edges with zero flow.

[00329] Dispatcher 108 may donate a vehicle that is in a separate component to another flow component if the vehicle is at a vertex that has outgoing edges belonging to the first component as well as outgoing edges leading to the second component. Dispatcher 108 considers such a donation whenever the first component has more than the required number of vehicles, while the first component has fewer than the required number of vehicles for the second component. If this is the case, the vehicle is donated with a predefined probability. Petition 870250119956, dated 12 / 26 / 2025, page 73 / 229 69 / 89

[00330] If a vehicle can be donated to multiple components that have a vehicle shortage, dispatcher 108 selects the receiving edge randomly with a probability proportional to the number of trucks missing from the flow components to which the edge leads. When determining the number of vehicles currently in a flow component, dispatcher 108 may also count vehicles on edges that lead only to that component. However, dispatcher 108 should not consider vehicles on edges that lead to multiple components. Such vehicles cannot be fractionally assigned to the components the edge leads to, as this is likely to result in undesirable behavior.

[00331] Dispatcher 108 avoids decision tree edges (i.e., asset or vehicle transitions) that lead to queues at activity stations, as this can improve system performance. Thus, when the vehicle is at a decision point on the transition graph, the deployment heuristic attempts to predict whether choosing an edge with positive flow leads to queues at the next activity station or not. If an edge with positive flow leads to queues, it is not considered a viable option, provided that other queue-free options are available.

[00332] Decisions made during the deployment phase affect the algorithm's performance. Thus, it is desirable that queue detection be computationally economical. Therefore, dispatcher 108 can include small pre-compiled programs that allow queue prediction solely from the system state and that do not require analysis of the transition graph.

[00333] Typically, activity stations are system congestions in the sense that vehicles can traverse highways at higher rates (with a shorter following distance) than they can pass through an activity station. If this is not Petition 870250119956, dated 12 / 26 / 2025, page 74 / 229 70 / 89 is more true for a particular application; the actual congestion that causes the queue needs to be used instead of activity stations. The queuing time of a vehicle crossing an edge is based on the length and subsequent distance of a transition, the arrival time at the transition, and the time the transition is completed. The shortest point in time at which a vehicle can begin crossing an edge without queuing delays is based on the time the transition is completed, and the length and subsequent distance with the transition.

[00334] The distance below limits the rate at which vehicles can pass through an edge. For the purposes of predicting queue times, a bottleneck flow rate at which vehicles can enter an edge relative to the performance congestion that the edge carries is defined. Thus, for an edge that represents an activity station (or any other bottleneck), the bottleneck flow rate is equal to the unloaded flow rate.

[00335] For a first edge that directly precedes a second edge, such that the second edge is the only vertex-out edge shared by the first and second edges with positive flow, the first time dispatcher 108 estimates that a vehicle can begin crossing the first edge without queuing is based on the first and second choke flow rates and the number of times the target vertex appears in the set of states.

[00336] For the method described above, the required evaluation steps and many of the inputs remain constant for a fixed transition chart. The only variable inputs used by dispatcher 108 are road travel times and the number of trucks. This allows the system to predict the evaluation formula and provide rapid evaluation during deployment.

[00337] In some modes, if different types of vehicles Petition 870250119956, dated 12 / 26 / 2025, page 75 / 229 If vehicles 71 / 89 attend the same activity station, dispatcher 108 includes vehicles from other edges in the number of vehicles currently crossing a given edge. This allows dispatcher 108 to take into account other types of vehicles that are in transit during queue estimation. This issue only affects vehicles in transit. Once vehicles reach the bottleneck and are in queues, all types are automatically considered.

[00338] The three methods for making a choice during the implementation phase described above can lead to contradictory results, making the system sensitive to the order in which they are applied. In this modality, dispatcher 108 uses an integrated approach based on the following principles: (i) the edges where the queue is predicted are chosen only as a last resort. (ii) the flow components are balanced according to the predetermined probability.

[00339] The dispatcher deployment can be implemented as shown in Algorithm 1: Algorithm 1 Decide Deployment (υ) 1: O <- outward edges of υ 2: FG {ee O| flux (e) > 0} 3: LG {ee O| flux (e) = 0} 4: Cl ^ C edge components in L lead to, C # C υ 5: MG {C and Cl| vehicles(C) >N(C)} 6: if | F | = 0 then 7: if | M | > 0 then 8: Randomly select C and M with probability proportional to N(C) - vehicles(C) 9: return ee L with e leading to C. Petition 870250119956, dated 12 / 26 / 2025, page 76 / 229 72 / 89 10: another 11: return randomly ee L. 12: another 13: Cυ ^ flux component of u. 14: Q ^ {ee F|* = now} 15: if |L| > 0 and vehicles(Cu) > N(Cu) then 16: if |M| > 0 and (|Q| = 0 or rand[0,1] < then 17: Randomly select C and M with probability proportional to N(C) - vehicles(C) 18: return ee L with e leading to C. 19: if | Q | = 0 then 20: QVF 21: return ee Q randomly with probability proportional to Σ^εα / / ((^,¾))

[00340] Figures 6-8 show how an existing software dispatch assignment (shown in part (a) of each of these figures) substantially underperforms on some excavators and overperforms on others, while the dispatcher 108 described in this document closely monitors planned flow rates (as shown in part (b) of each of these figures). The net result in this case is that dispatcher 108 is able to move 3kt more through the process plant (meeting the 15kt material movement) than the prior technique dispatch assignment over the 6-hour time period. The examples illustrated include planned flow rates that vary over time according to the flow planner 106 described in this document; however, dispatcher 108 can also be used to determine dispatch assignments based on a plan. Petition 870250119956, dated 12 / 26 / 2025, page 77 / 229 73 / 89 of flow provided by an operator or determined by a system other than that described in this document, for example, a planned steady-state flow rate. As applied, dispatcher 108 affects a mining equipment dispatch based on dispatch assignments, thereby effecting an actual steady-state flow rate that tracks the planned steady-state flow rate.

[00341] Figure 6 compares the flow performance in the excavation blocks with existing software dispatch assignments, as shown in Figure 6(a) to dispatch assignments made with the modalities of the systems and methods described in this document, as shown in Figure 6(b). The line showing the planned flow rate 802 can be compared to the area illustrating the cumulative actual flow rate 804. Figure 7 compares the flow performance of the HG excavators with existing software dispatch assignments, as shown in Figure 7(a) to dispatch assignments made with the modalities of the systems and methods described in this document, as shown in Figure 7(b).Figure 8 compares the flow performance in the shredder, ROM discharge, and discharge with existing software dispatch assignments, as shown in Figure 8(a), to dispatch assignments made with the modalities of the systems and methods described in this document, as shown in Figure 8(b).

[00342] Several performance metrics are used to guide optimization algorithms toward a particular solution, as well as to evaluate the quality of a given schedule or solution. One or more of the metrics described below can be applied in one or both of the feedback loops 120, 122 to improve system performance 100.

[00343] Effective Utilization (EU) measures the proportion of time a piece of equipment is being used for mining tasks. Petition 870250119956, dated 12 / 26 / 2025, p. 78 / 229 74 / 89 This metric is a proxy for productivity, as it will be higher where assets are regularly active and lower where they are regularly doing nothing.

[00344] In general, if a controller or planning system is attempting to meet a particular target defined by a higher-level system, a typical approach to optimization is referred to as plan compliance. In the case of flow planner 106, this means the total material moved (or planned to be moved) compared to the planned movements of the next higher level in the planning hierarchy (e.g., in the form of a mining plan that can be generated from, for example, a two-week plan). In the case of dispatcher 108, this concept of plan compliance means meeting the planned flow rates defined by flow planner 106.

[00345] Although a feasible plan is not achievable to move all the material specified in the highest-level plan, there is the option of prioritizing these movements in some way, such as increased weighting in particular blocks, or ordered priorities or contingencies, so that some tasks are attempted only if there is excess capacity.

[00346] In some embodiments, plan compliance can be implemented in the form of a cost function based on a cumulative actual flow rate, rather than the flow rate itself. That is, if the system is lagging behind the overall schedule, it should attempt to catch up. This is done to avoid slopes that cause integration effects and can be used for closed-loop control which is intended to reduce the need for operator intervention (illustrated by the 120 feedback loop).

[00347] For comparison or plan analysis, system 100 considers only a cumulative delta flow rate in the crusher or plant. Petition 870250119956, dated 12 / 26 / 2025, page 79 / 229 75 / 89 of the process, as this represents the yield of saleable material from mining.

[00348] In some applications, excess travel distance can be used as a means to measure the efficiency of haul truck movements. This is a comparison between the total distance all trucks traveled on full and empty haul routes, against the nominal distances required to move the material, as calculated by the 106 flow planner. The fact that the 106 flow planner is capable of generating plans for extended time periods (e.g., an entire shift) allows this value to be calculated. The metric can be used as a difference (excess travel in km) or a ratio (percentage traveled more than necessary). While excess travel is not ideal, it may be necessary, for example, when a reallocation occurs in transit, when unplanned disruptions occur, or when shorter haul routes are unsuitable due to congestion, obstruction, or maintenance activity on highways.

[00349] In some modalities, the potential to avoid idle time can be used as a performance metric. This aims to indicate where there are problematic queues (e.g., trucks) or waiting times (e.g., excavators). This is illustrated in Figure 9. Excavator waiting time 200 (Scenario 1) or truck queues 202 (Scenario 2) may be unavoidable depending on the constraints of the cargo transport system; however, where there are queues in close proximity to waiting time (Scenario 3), as shown in 204, this suggests that better truck allocation may be possible. The potential for improvement 206 is shown in the graph for Scenario 3.

[00350] Both queues 202 and waiting time 200 represent the Petition 870250119956, dated 12 / 26 / 2025, page 80 / 229 76 / 89 equipment at rest (and reduced UE). If a particular block of material needs to be moved with high priority, it would be advantageous to avoid any waiting time on the excavator by servicing the block; and then some excess queuing in order to ensure that the excavator is constantly operating at full capacity may be desirable. On the other hand, if mining is constrained by the fleet of haul trucks, then any queuing will mean a reduction in overall throughput and therefore it would be advantageous to experiment with excavator waiting time rather than queuing. If both are occurring in close temporal proximity, however, this suggests an inefficiency that could be avoided through better truck allocation.

[00351] The flow planner 106 and / or dispatcher 108 use one or more of these secondary metrics to assist in optimization, either with a weighting factor or as a second-stage optimization (where first-stage optimization focuses on primary operating costs and primary metrics, as described above). Additionally, or alternatively, secondary metrics can be used as a measure of how a given policy affects overall performance.

[00352] Estimator 110 uses current and historical data on mine operation 104, as well as data describing assets that can be used in mine operation to determine and provide future estimates for system 100. As used in this document, current data is used to describe substantially current data, for example, relating to the current mining shift, even if there may be some time lag, for example, relating to data acquisition and communication.

[00353] Future estimates include estimates related to Petition 870250119956, dated 12 / 26 / 2025, page 81 / 229 77 / 89 expected asset performance, referred to in this document as estimated asset parameters (e.g., the expected time a truck should take to perform a given task), as well as future mine operation conditions 104 (e.g., what the traffic will be on a route in the mine that the truck will traverse, and which would therefore affect the expected time the truck should take).

[00354] In some embodiments, estimator 110 also provides other global mining data to system 100, for example, data including operational data of the current system describing the current and past conditions of mine operation 104. In some embodiments, estimator 110 segments the data in specific ways to condition the global mining data provided to system 100 into specific state or configuration information.

[00355] For vehicle movements, for example, one or more of the following data may be used to estimate the duration of future activity per vehicle, per vehicle group and / or per vehicle type in order to answer travel time performance queries: 1. The road network along which vehicles can move, including connectivity and layout, locations of key endpoints (e.g., for excavators and unloading points), and basic road rules (e.g., right-of-way at intersections, speed limits, etc.); 2. Individual vehicle performance parameters on highways (based on the actual time taken to get from A to B per vehicle); and Task performance at endpoints (i.e., time taken for loading and unloading for a transport truck).

[00356] 1. Road network: The road network and location data can be obtained, for example, from planned material movements (e.g., in the form of a mining plan), or Petition 870250119956, dated 12 / 26 / 2025, page 82 / 229 78 / 89 based on information obtained from mining and its equipment (for example, from the mine operation database 124 which, in one embodiment, may be a mine automation system database).

[00357] 2. Performance parameters: Vehicle performance parameters can be determined using (a) an empirical method, (b) a generative model method, or (c) a combination of (a) and (b).

[00358] (a) Empirical method: Measure and record the performance of previous vehicles, for example, how long a particular vehicle took on a particular route from A to B each time the route A to B was traversed.

[00359] (b) Generative model method: A generative vehicle model can be used, with parameters such as mass, engine power, friction coefficients, etc., in order to simulate the vehicle's speed profile (and therefore travel time) for a specified route. The generative model method is effective when there is a lack of empirical data. A generative model may be able to handle the nominal case for expected travel speeds along highways. However, any real-world or environmental effects not represented in the data contained in the relevant mine operation database cannot be used as inputs to the model.Such effects may include road surface quality due to regular degradation over time or rain in the pit (causing drivers to drive slower than the model would predict), limited visibility due to dust or direct sunlight in the cabin (causing drivers to drive slower than the model predicts), speed limits, signage, safety rules or other operational factors that may not be reflected in the road network data, and errors in road network layout (such as altitude). Petition 870250119956, dated 12 / 26 / 2025, page 83 / 229 79 / 89 incorrect or layout information, causing the generative model to underestimate / overestimate travel time between locations).

[00360] (c) Combination method: The empirical method may provide incomplete data if there is a lack of data, such as the first runs of a specific transport cycle, or after a step change in the road network or endpoint operations. The empirical method can be a good measure of future performance; however, it may provide incomplete data if endpoints move or if the transport cycle has not been performed before (or recently). This will also delay any changes in performance, such as if a grader starts or stops operating on a particular section of the highway, or if there is a significant change in traffic on the network. Consequently, in some embodiments, the 110 estimator uses a combination of both empirical and generative estimation methods (and other available traffic information, for example, in the form of a traffic model).When existing implementations rely on full transport cycle timings, shorter segment times can be used so that reliable performance data is more likely to be available (especially at startup or after some change in system configuration). When reliable segment-based performance data is not available, estimator 110 can use the generative model as a fallback to calculate the expected travel times for those segments. Therefore, in some embodiments, estimator 110 estimates the expected travel times and provides them to flow planner 106.

[00361] Estimator 110 conditions a query on a particular performance feature in particular subsets of the data that are labeled according to an identifier of Petition 870250119956, dated 12 / 26 / 2025, page 84 / 229 80 / 89 asset and / or one or more associated asset descriptors, such as a haul truck model, a specific vehicle (or combination of vehicles), operator, operating mode (manual vs. autonomous), current load, and many other parameters, depending on the available data. Using the empirical method described above, this allows the 110 estimator to more accurately predict or measure the performance of a specific use case where an asset is used to perform an asset task that has associated task parameters (e.g., unloading a load into a crusher under certain conditions), estimating performance based on similar historical situations.

[00362] When the estimated asset parameter is an activity duration estimate, for example, travel time or the time it takes a truck to load or unload, the activity duration estimate is determined by first receiving one or more of the following: - one or more asset identifiers, that is, identifying the asset class or the individual asset, - one or more asset descriptors, for example, an asset state, for example, a loaded or unloaded truck, - one or more asset tasks, for example, traveling along an asset route that includes location data and destination data, loading or unloading a vehicle. - one or more task parameters associated with one or more asset tasks.

[00363] Then, a set of asset parameters associated with the asset identifier, the asset descriptor, and the asset task is identified. For example, the set of asset parameters in this example includes the asset identifier being a specific truck, the identifier Petition 870250119956, dated 12 / 26 / 2025, page 85 / 229 81 / 89 asset identifier being a loaded truck and the asset task traversing a route and / or loading and unloading the truck. An asset parameter associated with the asset task can be the vehicle speed of a truck or the truck's travel time for a particular route. Estimator 110 determines the estimated asset parameter by merging the set of asset parameters. In some embodiments, the merging may also include merging historical data describing one or more of the asset parameters, for example, times previously taken to traverse a route. In some embodiments, the merging is performed deterministically, for example, as an average of the measured travel times.

[00364] In one embodiment, the 110 estimator is implemented as a multi-stage filter to analyze the raw data collected in the 124 mine operation database in order to determine future estimates considering the highest-level activities that occurred (such as driving along a specific highway segment) and the properties of that action (such as vehicle, driver, cargo, etc.). The 110 estimator conducts the analysis as a two-stage map-matching pipeline: first, each vehicle location is marked with potential corresponding highway segments (based on proximity), then, in a second stage, the vehicle locations are considered as a series (the vehicle trajectory) to determine the most likely actual path taken along those highway segments, and the most likely transition times between the segments.One reason why estimator 110 uses a two-step process is to mitigate noise in the location data and overlap between segments and locations.

[00365] Stage 1: When there is limited information about the accuracy of each location observation, estimator 110 adopts a conservative approach to location accuracy, based on Petition 870250119956, dated 12 / 26 / 2025, page 86 / 229 82 / 89 quality of the observed data. Observations within, for example, 10 meters of the line representing the highway are considered likely candidates, and otherwise, the estimator 110 corresponds to the nearest segment (up to 30 meters) as a candidate.

[00366] Stage 2: Estimator 110 resolves location candidates for activities by determining transition times based on when the equipment left the segment (with, for example, at least 3 successive observations outside the segment). This allows small aberrations in the road network or short-term location noise to be rejected, while still accurately identifying transition times.

[00367] In one embodiment, estimator 110 includes an Estimated Time of Arrival (ETA) Service that is designed to estimate the travel time for the equipment to its current destination in order to determine future estimates provided by estimator 110. This is achieved by extracting the equipment's current location and its destination from the mine operation database 124, determining the most probable path from its location to its destination, and dispatcher 108 querying estimator 110 for historical data for travel time on each segment between the two locations. The query is conditioned on the direction of travel, the vehicle, and its current load, so that estimator 110 makes predictions for each segment along the route based on the most likely relevant activity records.

[00368] The 100 mining system uses the ETA Service to estimate the remaining travel time on current dispatch assignments in a real-time operation. This involves integrating operational data from various operational systems (truck load, locations and destinations, road network) and analyzing historical performance data by the 110 estimator (conditioned on the truck, Petition 870250119956, dated 12 / 26 / 2025, page 87 / 229 83 / 89 its load and in the segments that will likely pass through).

[00369] Figure 10 of the drawings illustrates an exemplary method 700 that estimator 110 uses to determine the ETA: 1. Database query for the current location and assigned destination for each vehicle (702); 2. Query database for the current road network (704), wherein this data includes any data describing the current situation in mining relevant to the road network; 3. Determine the most likely path from the current location to the goal (706); 4. For each road segment along this route, analyze historical performance data for activities (708): i. of this truck (or trucks like it), ii. traveling in the specified direction, and iii. with the specified loaded / unloaded state; 5. Determine travel time estimates based on location and destination data, road network and historical data (710) 6. Merge all estimates to determine the ETA (712); 7. Issue the ETA (714).

[00370] The exemplary transport truck model described in this document can easily be extended to all traffic in a mining operation, as well as to a variety of mining equipment.

[00371] One or more Big Data structures or platforms may be used to implement the data processing and storage of estimator 110. Preferably, the Big Data structure(s) used should be capable of supporting the high data processing and storage requirements of a complex long-term operation. In an exemplary embodiment, the estimator Petition 870250119956, dated 12 / 26 / 2025, pp. 88 / 229 84 / 89 110 is implemented as a combination of a Big Data processing platform and a Big Data storage platform, where the 110 estimator processes the raw data on the activities. The 110 estimator can then quickly query the activities to find those that match specific parameters, such as all movements of a specific model truck over a specific mining region while fully loaded.

[00372] Big Data platforms enable the distribution of processing tasks in a style suitable for analyzing discrete sections and segments of operational data, such as matching raw data to higher-level locations or tasks, or determining transition and interaction points in short data sequences. The use of a Big Data file system allows the distribution of large data structures across multiple nodes, so that data processing and querying can be distributed and balanced across multiple servers. These data processing and distribution capabilities are able to support an increase in the complexity of performance analysis and the number of applications.

[00373] Operational behaviors are managed and planned by the 100 system through time consideration in optimizing material flow planning, as well as optimizing dispatch assignment. By taking the time dimension into account, scheduled events can be modeled as part of the optimization and flow rates, as well as dispatch assignments planned around these.

[00374] In some embodiments, time-based parameters for planned events, such as equipment or road maintenance, breakdowns, shift changes, cleaning, sandblasting, and similar scheduled events, are used as constraints for the problem. Petition 870250119956, dated 12 / 26 / 2025, page 89 / 229 85 / 89 flow optimization. The 100 system allows for idle times at excavation and discharge endpoints (e.g., excavator / crusher maintenance, breakdowns, cleanup, if known in advance) and on roads (e.g., blasting, grading if the road is closed). The system plans around these constraints so that required material movements are planned to occur when equipment and roads are available, ensuring a feasible flow plan is generated.

[00375] System 100 can take into account the future state of the system and can take into account the results of dispatch assignments already made. In contrast, existing commercial software relies on the current instantaneous state of mining and equipment. In particular, software such as Modular Dispatch™ or Wenco Dynamic Dispatch™ relies on a multi-stage dispatch optimization algorithm that uses a Linear Program to determine the appropriate instantaneous flow rates for each excavation unit, and a Dynamic Programming algorithm to allocate haul trucks as they become available on their empty haul routes. Both algorithms operate on the current instantaneous state of mining and equipment and do not consider the future state or the results of these assignment choices.They are also somewhat rudimentary in their approach to travel time estimation, with the best publicly available information indicating that they simply take an average of the last three cycle times as input to the DP and LP algorithms.

[00376] One of the main flaws in the approach adopted by existing systems is that the system does not consider how the chosen actions (truck assignments) or other equipment and mining states will propagate into the future. These systems rely on a human operator to anticipate shortfalls and fill in the gaps. Petition 870250119956, dated 12 / 26 / 2025, pp. 90 / 229 86 / 89 gaps, such as sending trucks to an excavator before it is actually ready to receive them or manually scheduling the last trucks for an excavator before they cease operations for some period.

[00377] Other limitations of existing systems include simplistic motion modeling, whereby only recent cycle times are considered in modeling how long a vehicle will take to complete the transport cycle. This causes problems such as long delays in the system responding to changing traffic conditions, such as a congested intersection or transport route classification. The predictive model described in this document is able to incorporate this in advance, whereas a purely empirical performance measurement can typically only react some time after the fact.

[00378] The limitations of existing systems can be overcome through manual intervention; when trained dispatch operators are aware of common problems, they can manually reassign trucks to avoid performance impacts. On average, there may be as much as one exception (requiring manual intervention of some kind) throughout the haul cycle. The systems and methods described in this document are capable of overcoming these limitations without the need for regular manual intervention, freeing dispatch operators to focus on higher-level mining operations, communication, and well-being around the well.

[00379] The methods and systems described in this document also reduce the workload on human operators to optimize material handling because the 100 system is capable of handling planned maintenance as part of the automated process without needing to rely on operator intervention. The 100 system considers Petition 870250119956, dated 12 / 26 / 2025, pp. 91 / 229 87 / 89 gave the mining plan (including, for example, a production plan), as well as the expected interruptions, so that non-steady-state behavior could be incorporated into the planned flow rates and thus handled by the dispatch system, reducing the load on the operators.

[00380] Including the time dimension in flow planning allows for a strong feedback loop around dispatch to keep the system on track. Small errors between estimated and actual truck performance tend to cause existing scheduling systems to underperform or overperform on some routes, resulting in an overall reduction in plan compliance. Because estimator 110 periodically updates global mining data, flow planner 106 updates planned flow rates, and dispatcher 108 periodically recalculates dispatcher assignments, the replanning feedback loops 120, 122 help keep system 110 on track.

[00381] The improved system performance resulting from the use of replanning feedback loops can be seen in Figures 8-10, as the resulting flow rates performed by dispatcher 108 closely follow the planned flow rates provided by flow planner 106. Dispatcher 108 is configured to track the planned flow rates, thus preventing the dispatch operator from regularly readjusting the system to achieve what the dispatch operator believes to be the final goal. This is something that has frequently occurred in real operations, for example, because typical dynamic and linear programming (DP and LP) algorithms are reactive and instantaneous and are not aware of the overall plan.

[00382] In addition to its use in an asset dispatch system, the 106 flow planner can find application as a planning tool in several cases. Firstly, it can be Petition 870250119956, dated 12 / 26 / 2025, page 92 / 229 The 88 / 89 rule is used by planners to assess the feasibility of a plan considering the events planned for the day. It can also be used to determine the impact of scheduling a breakdown or maintenance event on the mine's ability to meet a given plan. Finally, it can be used to evaluate the performance of existing dispatch systems by calculating the theoretical number of truck operating hours required to move the amount of ore actually moved in the shift, considering the events that actually occurred, and comparing the number of truck operating hours that were actually used.

[00383] A key difference between the 108 dispatcher described in this document and those offered commercially is the level of detail used for optimization. This takes several forms: • The equipment within the system is modeled individually and conditionally in specific states and configurations, so that the future performance forecast represents not only the fleet or class of vehicles as a whole, but the specific vehicle and its current state and configuration. • The equipment is future-proofed based on the current road network and known traffic within the network, so that operational changes take effect immediately, and predictable impacts (such as a slow-moving vehicle) can be modeled when (and only when) they are encountered, rather than requiring multiple freight transport cycles to react to the impact (and again if / when the impact is resolved). • The dispatch system uses modern optimization techniques that utilize these detailed forecasts for the future to select the assignment schedule that will best move the mining toward the desired state by the end of the shift. • This is enabled by allowing dispatcher 108 to optimize Petition 870250119956, dated 12 / 26 / 2025, page 93 / 229 89 / 89 tracks material movements throughout the entire shift (and beyond), including known idle time events, automatically tracking planned flow rates instead of requiring dispatcher 108 to regularly adjust optimization inputs to monitor the plan.

[00384] The 110 estimator described in this document provides data-driven analysis for vehicles and fleets at mining sites for a wide variety of use cases. The 110 estimator provides performance characteristics for modeling to support simulation and optimization of the cargo transportation system. These statistics also support online analytical tools to allow mining operators to better understand the historical and current performance of their vehicles and fleets by analyzing integrated operational data from multiple Original Equipment Manufacturer (OEM) systems. In some embodiments, the 110 estimator extends beyond basic performance queries to allow the identification of problems in the system as a whole, either through experts making specific queries (checking for the presence of known faults) or automatically, highlighting rapid and unexpected changes in performance.

[00385] It will be appreciated by those skilled in the art that various variations and / or modifications can be made to the modalities described above, without departing from the broad general scope of the present description. The present modalities are therefore considered in all respects to be illustrative and not restrictive. Petition 870250119956, dated 12 / 26 / 2025, page 94 / 229

Claims

1 / 16 CLAIMS 1. Mining system (100) for directing mine operations, the mining system (100) characterized in that it includes: a data input (112) which includes an estimator computing device (110), wherein the estimator computing device (110) is configured to: determine and provide time-based statistics including future estimates that estimate future parameters and / or conditions with respect to mine operation (104); generate, based on an operating mode of at least one vehicle from a plurality of vehicles, a query, wherein the operating mode corresponds to whether at least one vehicle is operating autonomously; and receive, in response to the query, first vehicle data corresponding to at least one vehicle; wherein the data input (112) is configured to: receive a real-time stream of sensor data from one or more sensors located in a mine;and provide global mining data including future estimates and sensor data; a flow planner computing device (106); and a dispatcher computing device (108); wherein the flow planner computing device (106) is configured to: receive operating parameters; receive global mine data from the data input; calculate a flow plan based on the operating parameters and global mine data, wherein the flow plan is Petition 870250119956, dated 12 / 26 / 2025, page 95 / 229 2 / 16 for a flow planning time window, wherein the flow planning window has a starting point and a horizon, wherein the flow plan includes at least one planned flow rate for the flow planning window, and wherein at least one planned flow rate varies with time within the flow planning window;send, via a communication network and to the dispatcher computing device (108), the flow plan; receive, via the real-time flow of sensor data and after sending the flow plan to the dispatcher computing device (108), updated global mine data; receive vehicle data indicating, for each of the plurality of vehicles, one or more of the following: vehicle speed, vehicle load and vehicle dumping performance, wherein the vehicle data comprises the first vehicle data; receive, from at least one of the one or more sensors, traffic data indicating a current traffic status of the mine; detect, based on the vehicle data, using a traffic model to process the traffic data, and after sending the flow plan to the dispatcher computing device (108), a traffic condition in the mine; generate, based on the traffic condition, an updated flow plan;and send, through the communication network and dispatcher computing device (108), the updated flow plan; and wherein the dispatcher computing device (108) is configured to: based on the determination that the first vehicle data indicates that at least one vehicle of the vehicle plurality is operating in an autonomous mode: Petition 870250119956, dated 12 / 26 / 2025, p. 96 / 229 3 / 16 determine a dispatch planning window, wherein the dispatch planning window is a moving window within the flow planning window, and wherein the moving window has a receding horizon or a decreasing horizon based on the horizon of the flow planning window; determine dispatch assignments based on: the flow plan of the flow planner computing device (106); and the dispatch planning window;cause a dispatch of at least one vehicle from the plurality of vehicles operating in autonomous mode based on dispatch assignments, generating and transmitting to at least one autonomous vehicle instructions that cause the at least one vehicle from the plurality of vehicles operating in autonomous mode to move using step-by-step instructions towards a first dispatch location; receive, from the flow planner computing device (106) and after causing the dispatch of at least one vehicle from the plurality of vehicles operating in autonomous mode, the updated flow plan; determine a second dispatch planning window comprising a second subset of the flow planning window;and cause, based on the updated flow plan and the second dispatch planning window, a change in the dispatch of at least one vehicle out of the plurality of vehicles operating in autonomous mode, transmitting to the at least one autonomous vehicle updated instructions that cause the at least one vehicle out of the plurality of vehicles operating in autonomous mode to move toward a second dispatch location. Petition 870250119956, dated 12 / 26 / 2025, p. 97 / 229 4 / 16; 2. Mining system (100), according to claim 1, characterized in that the operating parameters include at least one production target and at least one cost-related target.

3. Mining system (100), according to claim 1, characterized in that the global mining data includes at least one of the following mine operation data: historical data, current system operational data, asset data and future estimates.

4. Mining system (100), according to claim 1, characterized in that the operating parameters include a material flow target, wherein the flow planner computing device (106) is further configured to generate the flow plan to achieve the material flow target; and wherein the flow plan covers a predetermined period of time and specifies a planned flow rate for each unit of time within the predetermined time period.

5. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the flow planner computing device (106) is configured to determine at least one planned flow rate based on at least one of each of the operational parameters and global mining data; and wherein the flow planner computing device (106) is configured to determine at least one planned flow rate by optimizing a target defined by at least one of each of the operational parameters and global mining data within the flow planning window.

6. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the data input (112) is configured to provide the global mining data and the updated global mining data; wherein the flow planner computing device (106) is configured to determine at least one planned flow rate based on at least one of each of the operational parameters and the global mining data, wherein the flow planner computing device (106) is configured to determine at least one updated planned flow rate based on the updated global mining data and wherein the flow planner computing device (106) is configured to determine at least one updated planned flow rate over the second flow planning window;and the dispatcher computing device (108) is configured to determine dispatch assignments based on at least one updated planned flow rate from the flow planner computing device (106).

7. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the flow planner computing device Petition 870250119956, dated 12 / 26 / 2025, page 99 / 229 6 / 16 (106) is configured to determine the flow plan based on at least one of each of the operational parameters and global mining data; and the dispatcher computing device (108) is further configured to determine dispatch assignments based on the flow plan and global mining data, wherein the dispatcher determines the dispatch assignments so as to effect an actual flow rate that varies over time in alignment with at least one planned flow rate that varies over time.

8. Mining system (100), according to claim 1, characterized in that the mining system further includes: a planner (102) configured to provide the operational parameters; wherein the flow planner computing device (106) is configured to determine the flow plan based on at least one of each of the operational parameters and global mining data; and wherein the dispatcher computing device (108) is configured to determine the dispatch assignments based on the flow plan and global mining data, wherein the dispatcher computing device (108) includes a dispatcher feedback loop (120), and the dispatcher computing device (108) uses the dispatcher feedback loop (120) to update the dispatch assignments.

9. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: Petition 870250119956, dated 12 / 26 / 2025, page 100 / 229 7 / 16 a planner (102) configured to provide the operational parameters; wherein the flow planner computing device (106) determines the flow plan based on at least one of the operational parameters and global mining data; and the dispatcher computing device (108) is configured to: determine dispatch assignments based on the flow plan and global mining data, update dispatch assignments at least once during the flow planning window, and perform equipment dispatch based on the updated dispatch assignments so that equipment dispatch is aligned with the flow plan.

10. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the flow planner computing device (106) is configured to determine the flow plan based on at least one of the operational parameters and global mining data; and the dispatcher computing device (108) is configured to determine dispatch assignments based on the flow plan and global mining data and performs equipment dispatch based on the dispatch assignments, wherein the following conditions apply: the flow plan includes at least one planned flow rate that varies over time within the planning window of Petition 870250119956, dated 12 / 26 / 2025, p.101 / 229 8 / 16 flow, and the dispatcher's computing device (108) is configured to perform equipment dispatch in order to result in a variable actual flow rate.

11. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the flow planner computing device (106) is configured to determine the flow plan based on at least one of the operational parameters and the global mining data; and wherein the equipment dispatch affects an actual flow rate that is aligned with at least one planned flow rate that varies such that the actual flow rate also varies over the flow planning window.

12. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: a planner (102) configured to provide the operational parameters; wherein the flow plan is determined based on the flow planning window; and wherein the estimator computing device (110) is configured to update future estimates at least once during the flow planning window.

13. Mining system (100), according to claim 1, characterized in that the mining system (100) further includes: Petition 870250119956, dated 12 / 26 / 2025, page 102 / 229 9 / 16 a planner (102) configured to provide the operational parameters; wherein the data input (112) is configured to provide the global mining data and the updated global mining data; wherein the flow planner computing device (106) is configured to determine the flow plan for the flow planning window ending at the horizon, wherein the flow planner computing device (106) is configured to determine the flow plan based on at least one of each of the operational parameters and global mining data;wherein: the flow planner computing device (106) is configured to receive updated global mining data and determines an updated flow plan based on the updated global mining data, the dispatcher computing device (108) is configured to determine updated dispatch assignments based on at least one of: the updated global mining data and the updated flow plan, and the dispatcher computing device (108) is configured to perform equipment dispatch based on the updated dispatch assignments, and the dispatcher computing device (108) is configured to determine updated dispatch assignments at a higher frequency during the flow planning window than the flow planner computing device (106) determines the updated flow plan.

14. Mining system for directing mine operations, the system characterized in that it includes: a data input that includes an estimator, the estimator being configured to: receive a real-time stream of sensor data from one or more sensors located in a mine; generate global mine data, including sensor data and future estimates, including estimated asset parameters that estimate future parameters and / or conditions related to asset performance; generate, for each asset or asset class of a plurality of assets, a query conditioned on a conditioning parameter that indicates an operational performance or characteristic of the asset or asset class; and receive, in response to the query, asset data for the corresponding asset or asset class; a flow planner that is configured to: receive operational parameters and global mine data;and calculate a flow plan based on operational parameters and global mine data, the flow plan encompassing a flow planning time window defined by a starting point and a horizon, and comprising one or more planned flow rates that vary throughout the flow planning window; and a dispatcher that is configured to: determine a dispatch planning window, wherein the dispatch planning window is a sliding window within the flow planning window, and wherein the sliding window has a receding horizon or a decreasing horizon based on the horizon of the flow planning window; and determine dispatch assignments based on: asset data; the flow planner's flow plan; and Petition 870250119956, dated 12 / 26 / 2025, page 104 / 229 11 / 16 within the dispatch planning window;To cause the dispatch of at least one asset or asset class from a plurality of assets based on dispatch assignments, generating and transmitting instructions to at least one asset or asset class that cause that asset or asset class to operate in accordance with the instructions.

15. Mining system according to claim 14, characterized in that the operating parameters include at least one production target and at least one cost-related target.

16. Mining system according to claim 14, characterized in that the overall mine data includes at least one of the following mine operational data: historical data and current operational data of the system.

17. Mining system, according to claim 14, characterized in that the operating parameters include a material flow target, wherein the flow planner computing device is further configured to generate the flow plan to achieve the material flow target; and wherein the flow plan covers a predetermined time period and specifies a planned flow rate for each unit of time within the predetermined time period.

18. Mining system, according to claim 14, characterized in that the system further includes: a planner configured to provide the operational parameters; wherein the flow planner's computing device is configured to determine at least one planned flow rate based on at least one of each of the operational parameters and the global mine data, and wherein the flow planner's computing device is configured to determine at least one planned flow rate by optimizing a target defined by at least one of each of the operational parameters and the global mine data within the flow planning window.

19. Mining system according to claim 14, characterized in that the system further includes: a planner configured to provide the operational parameters; wherein the data input is configured to provide the global mine data and the updated global mine data; wherein the flow planner's computing device is configured to determine at least one planned flow rate based on at least one of each of the operational parameters and the global mine data, wherein the flow planner's computing device is configured to determine at least one updated planned flow rate based on the updated global mine data, and wherein the flow planner's computing device is configured to determine at least one updated planned flow rate during the second dispatch planning window;and the dispatcher computing device is configured to determine dispatch assignments based on at least one updated planned flow rate from the flow planner computing device.

20. Mining system, according to claim 14, characterized in that the system further includes: Petition 870250119956, dated 12 / 26 / 2025, page 106 / 229 13 / 16 a planner configured to provide the operational parameters; wherein the flow planner's computing device is configured to determine the flow plan based on at least one of each of the operational parameters and the global mine data, wherein the dispatcher's computing device is configured to determine the dispatch assignments based on the flow plan and the global mine data, and wherein the dispatcher's computing device is further configured to determine the dispatch assignments so as to effect an actual flow rate that varies over time in alignment with at least one planned flow rate that varies over time.

21. Mining system according to claim 14, characterized in that the system further includes: a planner configured to provide the operational parameters; wherein the flow planner's computing device is configured to determine the flow plan based on at least one of each of the operational parameters and the global mine data; and wherein the dispatcher's computing device is configured to determine the dispatch assignments based on the flow plan and the global mine data, wherein the dispatcher's computing device includes a dispatcher feedback loop, and the dispatcher's computing device uses the dispatcher feedback loop to update the dispatch assignments.

22. Mining system, according to claim Petition 870250119956, dated 12 / 26 / 2025, page 107 / 229 14 / 16 14, characterized in that the system further includes: a planner configured to provide the operational parameters; wherein the flow plan is determined based on the flow planning window; and wherein the estimator computing device is configured to update future estimates at least once during the flow planning window.

23. Mining system, according to claim 14, characterized in that the system further includes: a planner configured to provide the operational parameters; wherein the data input is configured to provide the global mine data and the updated global mine data; wherein the flow planner's computing device is configured to determine the flow plan for the flow planning window ending at the horizon, wherein the flow planner's computing device is configured to determine the flow plan based on at least one of each of the operational parameters and the global mine data;and wherein: the flow planner computing device is configured to receive updated global mine data and determine an updated flow plan based on the updated global mine data, the dispatcher computing device is configured to determine updated dispatch assignments based on at least one of the following: the updated global mine data and the updated flow plan, and the dispatcher computing device is configured to dispatch equipment based on the updated dispatch assignments, and the dispatcher computing device is configured to determine the updated dispatch assignments more frequently during the flow planning window than the flow planner determines the updated flow plan.

24. Mining system, according to claim 14, characterized in that future estimates are determined based on at least one of the following: an asset identifier, an asset descriptor, an asset task, and an asset parameter.

25. Mining system, according to claim 14, characterized in that the asset data includes one or more of an asset identifier, an asset descriptor, an asset task, and an asset parameter.

26. Mining system, according to claim 14, characterized in that the moving window is a receding horizon that extends for a fixed duration beyond the current time, or a descending horizon that terminates in a fixed flow planning horizon.

27. System according to claim 14, characterized in that the estimator is configured to: obtain a current location and an assigned destination from a mining operations database for each asset; determine the most probable path from the current location to the asset's destination; and for each road segment along the route, query historical travel time data to obtain travel time estimates for each road segment in order to generate an estimate of the remaining travel time in the current dispatch assignments for the asset.

28. Mining system, according to claim Petition 870250119956, dated 12 / 26 / 2025, p. 109 / 229 16 / 16 27, characterized in that each historical travel time query is conditioned on at least one of the following: the direction of travel along the segment; the vehicle or asset identifier; and the current load status of the vehicle. Petition 870250119956, dated 12 / 26 / 2025, p. 110 / 229