US 12,190,267 B1
Systems and methods for path optimization
G. Edward Powell, Nashville, TN (US); and Mark T. Lane, Franklin, TN (US)
Assigned to TensorX, Inc., Nashville, TN (US)
Filed by TensorX, Inc., Nashville, TN (US)
Filed on Dec. 7, 2023, as Appl. No. 18/532,249.
Application 18/532,249 is a continuation of application No. 17/708,337, filed on Mar. 30, 2022, granted, now 11,847,596.
Application 17/708,337 is a continuation of application No. 16/789,505, filed on Feb. 13, 2020, granted, now 11,315,053, issued on Apr. 26, 2022.
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 10/0631 (2023.01); B23K 26/03 (2006.01); B23K 26/384 (2014.01); B23K 26/40 (2014.01); B23K 31/10 (2006.01); G05B 13/02 (2006.01); G05B 13/04 (2006.01); G06Q 10/08 (2023.01); B23K 101/00 (2006.01); F01D 5/14 (2006.01)
CPC G06Q 10/06313 (2013.01) [B23K 26/03 (2013.01); B23K 26/384 (2015.10); B23K 26/40 (2013.01); B23K 31/10 (2013.01); G05B 13/0265 (2013.01); G05B 13/042 (2013.01); G06Q 10/063112 (2013.01); G06Q 10/06316 (2013.01); G06Q 10/08 (2013.01); B23K 2101/001 (2018.08); F01D 5/14 (2013.01); F05D 2220/30 (2013.01); F05D 2230/13 (2013.01); F05D 2270/3062 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A computer-implemented method that optimizes data transmission over paths in a network, comprising:
receiving by a processor, a model, the model comprising:
a utility data transmission over one or more paths between one or more starting locations and one or more ending locations, each starting location and each ending location comprising one or more resources,
a description of constraints on each of a plurality of the resources, and
a job comprising a collection of data transmission tasks and a description of requirements for each data transmission task, wherein the job further comprises a sequence of the data transmission tasks that optimize the utility of the data transmission, and each data transmission task is a specific transmission of one or more data elements;
determining a sequencing process for data transmission tasks represents an intractable problem with a problem size having an exponential time complexity;
identifying by the processor a best task insertion order for inserting tasks into a sequence, comprising:
applying an initial task insertion order to an insertion order heuristic, one task at a time, in an order defined by the initial task insertion order, thereby generating an initial sequence solution,
determining a goodness of the initial sequence solution by scoring a general utility function result to the initial sequence solution,
after determining a goodness of the initial sequence solution, iteratively generating subsequent insertion orders, and iteratively repeating the applying, determining, and scoring for each subsequent task insertion order, and
retaining as a current best task insertion order, a task insertion order that produces a current best score of the general utility function, until a stopping condition is reached; and
using the current best task insertion order, applying the tasks in order to optimize the sequence of tasks that comprise the job.