US 12,443,454 B2
Optimizer agnostic explanation system for large scale schedules
Surya Shravan Kumar Sajja, Bangalore (IN); Kanthi Sarpatwar, Elmsford, NY (US); Lam Minh Nguyen, Ossining, NY (US); Yuan Yuan Jia, BeiJing (CN); Stephane Michel, Roquefort les Pins (FR); and Roman Vaculin, Larchmont, NY (US)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Nov. 23, 2021, as Appl. No. 17/534,385.
Prior Publication US 2023/0161629 A1, May 25, 2023
Int. Cl. G06F 9/50 (2006.01); G06N 7/01 (2023.01)
CPC G06F 9/5038 (2013.01) [G06F 9/5033 (2013.01); G06F 9/5088 (2013.01); G06N 7/01 (2023.01); G06F 2209/504 (2013.01); G06F 2209/508 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A computer implemented method to explain large scale scheduling solutions on large scale project scheduling instances, comprising:
receiving, by an artificial intelligence (A.I.) module, an original instance of a resource constrained scheduling problem, wherein the instance includes a set of tasks, one or more resource requirements and one or more constraints;
determining, using an optimizer engine, a schedule for the set of tasks based on (i) the one or more resource requirements and on (ii) the one or more constraints, while minimizing a makespan of the schedule;
upon a determination that the set of tasks are constrained to a single uniform resource type:
constructing a set of time slots of start and end times for each of the tasks;
adding a left dummy task and a right dummy task to the left of and to the right of each time slot in the set of time slots, respectively;
constructing a transportation problem instance, wherein:
the left dummy task, ending before a current time slot, represents suppliers as the tasks; and
the right dummy task, starting after the current time slot, represents demands as the tasks;
solving the transportation problem instance to obtain sets of pairs of tasks, wherein each pair of tasks represents:
suppliers and demands; and
a non-zero transfer of a resource from a supplier task to a demand task;
adding the resource link, for each pair of tasks, to a precedence graph; and
post-processing the dummy tasks, comprising:
for each dummy task, adding the resource links between incoming neighbor tasks and out-going neighbor tasks in the precedence graph; and
deleting all the dummy tasks;
generating a minimal set of resource links, wherein the resource links are based on resource dependencies between tasks in the set of tasks;
adding the resource links to the original instance of the resource constrained scheduling problem, as precedence constraints;
removing all the resource constraints from the original instance of the resource constrained scheduling problem;
computing, using a constraint propagation method, a set of critical tasks in the schedule of tasks using a non-resource constrained critical path; and
providing one or more schedules with an explanation of an optimized order of the set of tasks based on the use of the non-resource constrained critical path.