Options
All
  • Public
  • Public/Protected
  • All
Menu

@fschopp/project-planning-js

Index

Type aliases

Schedule

Schedule: ScheduledJob[]

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).

ScheduledJob

ScheduledJob: JobFragment[]

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.

SchedulingFailure

SchedulingFailure: string

Describes a failure while computing a schedule in computeSchedule().

Functions

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.

    Parameters

    Returns Schedule | SchedulingFailure

    solution or a human-readable failure description if the problem instance is invalid (for example, has a cyclic dependency graph)

computeScheduleAsync

  • computeScheduleAsync(...args: ComputeScheduleParameters): Promise<Schedule>
  • 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.

    Parameters

    • Rest ...args: ComputeScheduleParameters

      argument list that will be passed on to computeSchedule() unaltered

    Returns Promise<Schedule>

    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)

isSchedulingFailure

  • isSchedulingFailure(value: any): boolean

Generated using TypeDoc