Scheduling Problems with Two Competing Agents 7: PARTITION Reduces to Two Agents Each Bounding Their Own Makespan in the Two-Machine Flow Shop and Open ShopResearch Paper
Motivation
In multi-agent scheduling, several decision makers share one processing resource, and each one cares only about the completion of its own jobs. Agnetis, Mirchandani, Pacciarelli and Pacifici (Oper. Res. 52(2), 2004) set up the two-agent version of this problem and classified its complexity for most combinations of classical objectives. Typical settings are a manufacturing cell that serves an internal and an external customer, or two departments that negotiate access to a shared machine. Most of the paper treats a single machine. Its §10 asks what happens when the shared resource is a small shop: two machines that every job must visit.
The answer is that even the simplest two-machine case is hard. In the classical single-agent setting, the two-machine flow shop makespan problem is solved by Johnson's rule (Johnson 1954) and the two-machine open shop makespan problem by Gonzalez and Sahni (1976), both in polynomial time. As soon as two agents each want their own jobs finished early, both problems become NP-hard.
Setting
There are two agents, A and B. Agent A owns jobs and agent B owns jobs . Every job consists of one operation on machine and one on machine , and is the processing time of job on machine . A schedule gives every operation a start time. It is feasible when no operation starts before time , each machine processes at most one operation at a time, and the two operations of one job do not overlap in time. Processing is nonpreemptive.
- In the flow shop every job is processed first on and then on .
- In the open shop the two operations of a job may be processed in either order.
The makespan of agent , , is the latest completion time of an operation of one of its jobs. The recognition problem asks, for given thresholds , whether some feasible flow shop schedule has and . The problem is the same question for the open shop.
PARTITION (Problem 9.1 of the paper) asks whether a finite list of nonnegative integers can be split into two parts of equal sum , where .
Formalization targets
Goal: Theorems 10.1 and 10.2
with polynomial-time many-one reducibility between binary-coded languages. This is how the paper proves " is NP-hard" (Theorem 10.1, p. 238) and " is NP-hard" (Theorem 10.2, p. 239).
Milestones: the two constructions
For Theorem 10.1, with , the paper builds the instance with A-jobs of times , one B-job of times , and thresholds , . The milestones are:
- under the B-job starts on by , and the A-jobs before it on total at most ;
- for even , PARTITION has a solution if and only if this instance meets both thresholds.
For Theorem 10.2 the instance has A-jobs of time on both machines, one B-job of time on both machines, and thresholds , . The milestones are:
- under the B-job starts at on one machine and at on the other;
- PARTITION has a solution if and only if this instance meets both thresholds.
Significance
The two theorems mark the boundary of tractability of §10. The single-agent problems and are polynomial. Giving the second agent a single job and a deadline is already enough to make the problems NP-hard, so no extension of Johnson's rule or of the Gonzalez–Sahni algorithm solves the two-agent versions unless P = NP. The paper also observes that any other combination of the objectives it considers is NP-hard in these shops.
The theorems are proved in the paper by short reductions. As far as we know none of them is machine-checked. This mission produces checked statements of both reductions on a general two-machine shop model with real start times. It also corrects the flow shop equivalence, which as printed does not hold for odd .
Difficulty
The hard direction of each equivalence goes from a feasible schedule to a partition. A schedule is a set of real start times, not a permutation. Nothing forces the jobs into a fixed order or rules out idle time. The proof has to extract a combinatorial split from interval packing: which A-jobs fit into the gap before the B-job on one machine and which fit into the gap after it. The sum of lengths of pairwise disjoint intervals inside a window must be bounded by the window's length.
In the flow shop the gap after the B-job has length , which is not . Integrality of the A-lengths is what closes the gap, and it only works when is an integer. In the open shop, the same argument has to cover both orders of the B-job's operations. Both reductions output rational data, so the goal also needs a scaling to integer data and a polynomial-time bound on the code map.
Formalization scope
- Model. Jobs are numbered
Fin (n_A + n_B), the A-jobs first. Start times are real numbers, and idle time and different job orders on the two machines are allowed. Flow shop feasibility is the publishedJohnsonFlowShop.TwoStage.IsFeasiblefrom the Johnson (1954) series. Open shop feasibility is the definitionIsOpenFeasibleof this mission: no machine overlap between distinct jobs, and no time overlap between the two operations of a job. "" is stated as "every operation of every -job ends by ", so no maximum over a possibly empty set is taken. - Languages. The target languages hold the binary codes of instances with natural-number processing times and thresholds that have a feasible schedule meeting both thresholds. PARTITION is the published
ProjSchedTW.Complexity.partitionLang(nonnegative sizes, zero allowed), and reducibility isCookPvsNP.PolyReducible. Both come from published definitions of the Neumann–Schwindt–Zimmermann and Cook series. NP-membership is not formalized. - Constructions. They are defined over exactly as printed. A reduction to the -coded languages has to rescale (for example by ). That rescaling is the solver's to choose and is not a milestone.
- Corrections. The printed flow shop equivalence uses and fails for odd : gives a yes-instance of the scheduling problem but has no partition. It also fails for and , where the printed is negative. Milestone 2 therefore assumes even and ( or ). The goal is unaffected, because odd is a PARTITION no-instance. In the open shop proof, the printed identity "" is read as "each machine carries of work", and the statement is unchanged.
- No trivialization. The flow shop and open shop languages are not restricted to the instances the constructions produce, so they cannot be decided by reading off the construction. A schedule must satisfy the machine and job non-overlap constraints, including in the open shop, where a definition without the job constraint would let a job run on both machines at once.
- Welcome contributions. Interval-packing lemmas on , a polynomial-time bound for list arithmetic over
encNats, and a scaling lemma for shop schedules are reusable beyond this mission.
Selected references
- A. Agnetis, P. B. Mirchandani, D. Pacciarelli, A. Pacifici, Scheduling Problems with Two Competing Agents, Operations Research 52(2) (2004) 229–242. https://doi.org/10.1287/opre.1030.0092
- S. M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly 1 (1954) 61–68. https://doi.org/10.1002/nav.3800010110
- T. Gonzalez, S. Sahni, Open shop scheduling to minimize finish time, Journal of the ACM 23(4) (1976) 665–679. https://doi.org/10.1145/321978.321985
- M. R. Garey, D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, W. H. Freeman, 1979.