Polynomial-time scheduling on three identical machines

The best schedule for one-hour jobs with order rules on three machines can be found in polynomial time.

1 paper September 24, 2026 Explained by AI

Some jobs must wait for others to finish, and three identical machines share the work. The aim is to finish the last job as early as possible. This paper proves that a method exists whose running time grows like a fixed power of the input size. Garey and Johnson listed this question as open in 1979. The power in the bound is enormous, so the method is not practical.

First step
1979
Garey and Johnson, listed as an open problem
Significance
Major
It settles, on the polynomial-time side, a scheduling question open since 1979.
Trust
Formal proof listed
Field
Theoretical computer science
1 paper

The explanation

Picture nine jobs that each take one hour, and three identical machines. Each machine runs one job at a time. Three of the jobs form a chain. The first must finish before the second starts, and the second before the third. The other six jobs can run whenever there is room. The goal is to finish everything as early as possible. The finishing time of the last job is called the makespan.

The best schedule takes three hours. Each hour runs one chain job beside two free jobs. Now suppose the first hour is filled with three free jobs instead. The chain cannot start until hour two, so its last job ends in hour four. One poor early choice costs a whole extra hour. With order rules (called precedence constraints), early choices can quietly ruin later ones.

Trying everything does not scale. Ignoring the order rules, nine jobs can be split into three ordered groups of three in 1,680 ways. Thirty jobs over ten hours allow about 4.4 × 10^24 splits. So researchers want a polynomial-time method. That means its number of steps grows at most like a fixed power of the input size.

For two machines the question was settled long ago. Fujii, Kasami and Ninomiya treated it in 1969. Coffman and Graham gave an optimal method in 1972. If the number of machines is part of the input, Ullman showed in 1975 that the problem is NP-complete. That puts it in a large family of problems with no known fast method. Three fixed machines sat in between. Garey and Johnson listed that case as an open problem in their 1979 book.

Partial answers followed. Garey, Johnson, Tarjan and Yannakakis handled three machines in linear time when the order rules form opposing forests. Dolev and Warmuth gave a polynomial method when the chains of rules have bounded length. In 2025, Nederlof, Swennenhuis and Węgrzycki gave an exact method for any rules. For three machines it runs in time 2^{O(√n log n)} for n jobs. That beats trying everything, but it is not polynomial. Other work found schedules within any fixed percentage of the best one.

This paper proves that a polynomial-time method exists for three machines and any order rules. It finds a schedule with the smallest makespan. Given a deadline, it decides exactly whether all jobs can finish by then. It also returns a schedule when the answer is yes.

The natural plan is to cut a good schedule at a few chosen hours. The jobs in each gap between cuts can then be rearranged on their own. Rearranging them does not change their order relative to any job outside the gap. So one could solve gaps separately and reuse the answers. The obstacle is how many gaps there are. Knowing the jobs at a gap's two edges does not pin down which jobs sit inside. Describing a gap through all the cuts above it can need an ever longer recipe.

The paper removes this obstacle with short descriptions. It shows that every schedule that meets the deadline can be cut so that each gap has a short recipe. A recipe combines simple yes-or-no tests on a job. One test asks whether the job must come before or after some group of three jobs. Another asks where the job falls in one fixed ordering of all jobs. The method allows recipes of up to 10,000 tests. The proof needs fewer than 500. Crucially, the length does not grow with the depth of cutting. Only polynomially many job sets then need checking. The method checks them from smallest to largest and glues accepted pieces into a full schedule.

In the nine-job example, the method would always find the three-hour schedule. But fast in theory is not fast in practice. The paper bounds the steps by (L + 2)^150020, where L is the input length in bits. For a 10-bit input, that bound is a number with about 162,000 digits. The paper makes no practical running-time claim. The theorem covers exactly three machines, one-hour jobs, and no release dates or communication delays.

How sure is this? A computer proof checker called Lean has checked a formal version of the main theorem. It covers one fixed algorithm that finds a minimum-makespan schedule and decides a given deadline exactly. Its running time is polynomial in the input length. The scope note links this to a fixed reference statement for a tool called Comparator. It does not mention the paper's specific exponent. No specialists have published a review yet.

What it doesn't show. This does not give a practical program, and it does not cover four or more machines.

Where it came from

This result comes from an unreleased OpenAI model, published in the openai/math release on 6 October 2026.

Hype check

Major in theory if the proof holds, with a Lean check of the main theorem listed. The running-time bound is astronomically large, so nothing changes in practice, and no specialist review is published.

Words used

Makespan
The time at which the last job finishes.
Precedence constraint
A rule that one job must finish before another starts.
Polynomial time
A running time that grows at most like a fixed power of the input size.
NP-complete
Belonging to a large family of problems that have no known fast method.
Opposing forest
Order rules made of tree-shaped pieces, some branching forward and some backward.
Comparator
A tool that checks a Lean proof proves exactly a fixed reference statement.

The original paper

All quoted lines (10)

  1. Both tasks can be performed in O((L+2)150020)O((L+2)^{150020}) steps on a deterministic multitape Turing machine, where LL is the total binary input length.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  2. There is a uniform deterministic algorithm that constructs a feasible schedule of minimum makespan.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  3. If selected slots are removed from a feasible schedule, the remaining open gaps can be scheduled independently: reordering the jobs of one gap does not change their temporal relation to any exterior job.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  4. The obstacle is their number. Naming a gap by its two boundary triples does not by itself determine its job set, and repeatedly intersecting descriptions inherited from its ancestors can require an unbounded formula.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  5. Naming a gap by its two boundary triples does not by itself determine its job set, and repeatedly intersecting descriptions inherited from its ancestors can require an unbounded formula.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  6. In fact, the global node predicates and relative split predicates needed in the hierarchy have fewer than 500500 leaves.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  7. The bound is independent of the depth of the decomposition.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  8. The algorithm accepts or rejects each W∈FW\in\F, in increasing order of cardinality.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  9. The polynomial supplied by the proof has a very large constant exponent; no practical running-time claim is made.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text
  10. There are no release dates, communication delays, eligibility restrictions, or additional resources.
    A Polynomial-Time Algorithm for Three-Machine Unit-Job Scheduling Back to text

Other sources

  1. M. Fujii, T. Kasami and K. Ninomiya, “Optimal Sequencing of Two Equivalent Processors”, SIAM Journal on Applied Mathematics 17 (1969), 784–789
  2. E. G. Coffman Jr. and R. L. Graham, “Optimal Scheduling for Two-Processor Systems”, Acta Informatica 1 (1972)
  3. J. D. Ullman, “NP-Complete Scheduling Problems”, Journal of Computer and System Sciences 10 (1975)
  4. M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman (1979), Appendix A13, OPEN8
  5. M. R. Garey, D. S. Johnson, R. E. Tarjan and M. Yannakakis, “Scheduling Opposing Forests”, SIAM Journal on Algebraic and Discrete Methods 4 (1983), 72–93
  6. D. Dolev and M. K. Warmuth, “Scheduling Precedence Graphs of Bounded Height”, Journal of Algorithms 5 (1984)
  7. J. Nederlof, C. M. F. Swennenhuis and K. Węgrzycki, “A Subexponential Time Algorithm for Makespan Scheduling of Unit Jobs with Precedence Constraints”, SODA (2025)
  8. openai/math release notes (2026): model provenance manuscripts and supporting proof artifacts produced by an internal OpenAI model