A scheduled job consists of one or more job fragments.
The job fragments are sorted by JobFragment.end and JobFragment.machine (in that order). Fragments on
the same machine are guaranteed to not overlap. Moreover, if a
and b
are two consecutive job fragments on the
same machine with a.end === b.start
, then they differ in JobFragment.isWaiting.
Describes a failure while computing a schedule in computeSchedule().
Runs the list scheduling algorithm on the given problem instance and returns the result.
See the project page for more information on the algorithm.
the problem instance
solution or a human-readable failure description if the problem instance is invalid (for example, has a cyclic dependency graph)
Runs (in a separate thread) the list scheduling algorithm on the given problem instance and returns the result asynchronously.
See the project page for more information on the algorithm.
argument list that will be passed on to computeSchedule() unaltered
promise that will be resolved with the solution or rejected with a SchedulingFailure containing a human-readable failure description if the problem instance is invalid (for example, has a cyclic dependency graph)
Returns whether the given value is a SchedulingFailure.
Generated using TypeDoc
A schedule is an array of scheduled jobs.
Machines are identified by their array index. For the result returned by computeSchedule(), there is a 1:1 correspondence between the jobs in Schedule and in SchedulingInstance.jobs (given as argument).