🧩 Constraint Solving POTD:Open-Shop Scheduling #23233
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Constraint Solving — Problem of the Day. A newer discussion is available at Discussion #23350. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Welcome to today's Constraint Solving Problem of the Day! Today we complete the classic scheduling trilogy — after Job-Shop and Flow-Shop, it's time for Open-Shop Scheduling.
Problem Statement
You have
njobs andmmachines. Each jobjhas exactly one operation to perform on each machinei, with a known processing timep[i][j]. Unlike Job-Shop scheduling:Goal: Assign start times to all operations so that the makespan (time when the last operation finishes) is minimized.
Concrete Instance (3 jobs × 3 machines)
Processing times are given; there is no forced operation order within any job.
Input:
n × mmatrix of non-negative processing timesp[i][j]Output: Start time
s[i][j]for each operation(i, j)minimizingmax_{i,j}(s[i][j] + p[i][j])A simple lower bound on the makespan is:
C* ≥ max(max_j Σ_i p[i][j], max_i Σ_j p[i][j]), i.e., the maximum total load on any single machine or any single job.Why It Matters
Manufacturing & semiconductor fabrication: Wafer processing steps can often be performed in flexible order on different machines, making open-shop a natural fit for fab scheduling.
Healthcare & service systems: Patient tests (blood work, imaging, consultation) need to happen on different "machines" (departments) but have no required visit order — the open-shop captures this flexibility.
Parallel computing: Task graphs with independent subtasks mapped to processors, where execution order within a task is free, fit the open-shop model well.
Modeling Approaches
Approach 1 — Constraint Programming (CP)
Decision variables:
s[i][j] ∈ 0..UB— start time of operation(machine i, job j)C_max ∈ 0..UB— makespan to minimizeConstraints:
Trade-offs: MIP LP relaxations can provide strong bounds, but big-M formulations weaken them. The number of binary variables grows as
O(n²m + nm²), so MIP scales less gracefully than CP for large instances. However, branch-and-bound with strong cuts can outperform CP on certain structured instances.Example Model (MiniZinc CP)
Key Techniques
1. Edge-Finding and Not-First/Not-Last Propagation
Since both machines and jobs impose disjunctive constraints, edge-finding is critical: if the total processing time of a subset of operations on a machine exceeds available time before a deadline, their order can be fixed. Open-shop benefits from applying edge-finding in both dimensions (per machine and per job) simultaneously.
2. Symmetry Breaking
Open-shop has significant symmetry: permuting job IDs or machine IDs yields equivalent solutions. Adding lexicographic ordering constraints on start times (e.g.,
s[1,1] ≤ s[1,2]) prunes the symmetric portion of the search tree substantially. However, over-constraining can cut optimal solutions, so care is needed with partial symmetry breaking.3. Lower Bound Tightening via Preemptive Relaxation
The preemptive open-shop (where operations can be interrupted and resumed) is solvable in polynomial time (Gonzalez & Sahni, 1976). Its optimal makespan is
max(max_j Σ_i p[i,j], max_i Σ_j p[i,j], max_{i,j} p[i,j]). Using the preemptive optimum as a lower bound during branch-and-bound dramatically narrows the search — it's an unusually tight bound for a combinatorial problem.Challenge Corner
References
Gonzalez, T. & Sahni, S. (1976). "Open shop scheduling to minimize finish time." Journal of the ACM, 23(4), 665–679. — The foundational paper proving the preemptive case is polynomial.
Rossi, F., van Beek, P., & Walsh, T. (Eds.) (2006). Handbook of Constraint Programming, Elsevier. — Chapter 20 covers scheduling constraints including disjunctive and cumulative resources.
Brucker, P. (2007). Scheduling Algorithms (5th ed.), Springer. — Comprehensive treatment of open-shop, job-shop, and flow-shop complexity and algorithms.
CP-SAT Solver (Google OR-Tools). [developers.google.com/optimization]((developers.google.com/redacted) — Modern solver with
NewIntervalVarandAddNoOverlapnatively supporting open-shop models.Beta Was this translation helpful? Give feedback.
All reactions