Approximation Techniques for Average Completion Time Scheduling III: From One Machine to Many with Delay ListResearch Paper
Motivation
Minimizing the sum of weighted completion times is one of the standard objectives of machine scheduling: it measures the average time a job spends in the system, weighted by its importance. With release dates or precedence constraints the problem is NP-hard already on one machine, and on identical parallel machines it is harder still, so the literature of the 1990s concentrated on approximation algorithms. Many of these, including LP-based ones, are naturally designed for a single machine, where an order of the jobs determines the schedule.
Chekuri, Motwani, Natarajan and Stein (SIAM J. Comput. 31(1), 2001) gave a generic way to move from one machine to many. Their §4 describes an algorithm, Delay List, that takes any one-machine schedule as a priority list and produces an -machine schedule, and proves that a -approximate one-machine schedule yields a -approximate -machine schedule for every . The guarantee holds with release dates and arbitrary precedence constraints simultaneously, which at the time gave the best bounds known for several special cases, for example a factor 4 for series-parallel precedence without release dates.
Setting
An instance has jobs . Job has processing time , release date and weight . Precedence constraints form a strict partial order : means that may start only after completes.
A feasible nonpreemptive schedule on machines assigns each job a start time and a machine; each job runs uninterrupted for time units on its machine, two jobs on one machine do not overlap, , and whenever . The completion time is and the value of the schedule is . A one-machine schedule is the case .
The critical-path length (Definition 4.1) is for a job without predecessors and otherwise; it is the earliest time could complete with unlimited machines.
A list is an ordering of the jobs. Delay List with parameter processes time continuously. A job is ready once it is released and all its predecessors have completed; is the time it becomes ready. The head is the first unscheduled job of the list. Idle machine-time is recorded as charged to jobs. Whenever a machine is idle:
- if the head is ready, it is started, and charged all uncharged idle time in ;
- otherwise the first ready job of the list is started as soon as at least units of uncharged idle time have accumulated, and is charged of it;
- otherwise nothing happens.
For a job , is the set of jobs up to and including in the list, the set after it, the set of jobs of started before , and . Definition 4.4 builds from the schedule a backward path ending at , whose length is .
Formalization targets
Goal: Theorem 4.13
Let be a feasible one-machine schedule of the instance with for every feasible one-machine schedule . Let and . Every Delay List schedule built on the completion order of satisfies, for every feasible -machine schedule ,
Milestones, in the order the proof uses them
- Fact 4.5: .
- Fact 4.6: the idle time charged to is at most .
- Lemma 4.7: no uncharged idle time remains in , and that idle time is charged only to jobs in .
- Lemma 4.8: the idle time charged to within is at most , so .
- Theorem 4.9: for any list obeying precedence.
- Lemma 4.10: .
- Lemma 4.11: .
- Corollary 4.12: when the list is the completion order of .
A further item states that a Delay List schedule exists for every instance and every list, so that the goal does not hold vacuously.
Significance
The result. Theorem 4.13 turns every one-machine approximation algorithm for weighted completion time with release dates and precedence into an -machine algorithm at a bounded loss. With an optimal one-machine schedule and the factor is (Corollary 4.14, for series-parallel orders), and the bounds are job-by-job (Theorem 4.9, Corollary 4.12), which the paper uses in Remark 4.15 to extend the method to other metrics and to one-machine schedules that ignore release dates. The same algorithm is the engine of the paper's -approximation for parallel machines with release dates (§4.5).
Formalizing it. The theorem has been proved since 1997 (SODA) and 2001 (journal). There is no machine-checked version of it or of any of its lemmas, and the platform currently has no model of scheduling with release dates and precedence constraints. A formalization produces a precise specification of Delay List, whose informal description is given in discrete time and repaired in a remark; a checked proof of the charging argument; and reusable lower bounds (Lemmas 4.10 and 4.11) for any later work on parallel-machine scheduling with precedence.
Difficulty
The obvious attempt, list scheduling (start the first available job of the list whenever a machine is free), fails with non-identical processing times: a long job taken out of order can occupy a machine and delay a more valuable job that becomes ready shortly afterwards. Delay List allows out-of-order jobs only against accumulated idle time, and the analysis rests on a charging invariant. Stating it needs care about time (the paper's discrete-time exposition can over-charge by a time unit), about which idle time a charge consumes, and about many jobs being scheduled at one instant. The bound must hold simultaneously for release dates and arbitrary precedence constraints, where idle machines can be forced both by jobs that are not yet released and by chains of predecessors, and it must hold for every tie-breaking choice of the algorithm.
Formalization scope
Jobs are Fin n, machines Fin m, and times are real numbers. Processing times are positive, release dates nonnegative and weights positive, as in §1. Precedence is a strict partial order, the transitive closure of the paper's DAG; , readiness and feasibility are unchanged by taking the closure. The optimum is never a real infimum: "within a factor of an optimal one-machine schedule" and "within a factor of an optimal -machine schedule" are inequalities against every feasible schedule of the same instance, with the same release dates and precedence constraints.
Delay List is formalized in the continuous-time version described in the proof of Fact 4.6, as a predicate on runs that records start times, machines, the order in which jobs are scheduled at equal times, and charge windows. A case-2 charge takes the most recent uncharged idle time, and idle time is charged by whole time slices. Every guarantee is claimed for every run satisfying the predicate. The ties in Definition 4.4 are broken arbitrarily, so statements involving hold for every admissible path. Lemma 4.10 uses nonpreemptive one-machine schedules. Lemma 4.11's is modelled by machines.
It would be trivializing to assume the conclusions of Fact 4.6 or Lemma 4.7 as properties of the run, or to measure against a relaxation without release dates or precedence; both are ruled out. The algorithm's rules are the only hypotheses on the run.
Not stated: the running time of Delay List; the discrete-time algorithm; Corollary 4.14 (it needs a formal class of series-parallel orders and the external one-machine algorithm of Adolphson for them); Remark 4.15 (release-date-free one-machine schedules), whose hypotheses the paper does not pin down; and the extension to delays between jobs. Contributions of general infrastructure, such as idle-time accounting for step functions and lemmas about list schedules under precedence, are welcome and reusable beyond this mission.
Selected references
- C. Chekuri, R. Motwani, B. Natarajan, C. Stein, Approximation Techniques for Average Completion Time Scheduling, SIAM Journal on Computing 31(1):146–166, 2001. https://doi.org/10.1137/S0097539797327180
- R. L. Graham, Bounds for certain multiprocessing anomalies, Bell System Technical Journal 45:1563–1581, 1966. https://doi.org/10.1002/j.1538-7305.1966.tb01709.x
- D. Adolphson, Single machine job sequencing with precedence constraints, SIAM Journal on Computing 6(1):40–54, 1977. https://doi.org/10.1137/0206002