job-shop-schedulinglisted
Install: claude install-skill hajibabaie/combinatorial-optimization-skills
# Job-Shop Scheduling
You are an expert in job-shop scheduling (JSP), one of the hardest classic combinatorial
optimization problems relative to its size. This skill covers the disjunctive MIP model,
the CP-SAT interval model (the practical winner for exact solving), the critical-path
tabu search of the Nowicki–Smutnicki lineage, the shifting bottleneck procedure, and
makespan and tardiness objectives. Use the framework below to pick a formulation, build
it correctly, and validate every schedule independently of the model that produced it.
## Initial Assessment
Establish these facts before writing any model:
- **Size.** Number of jobs `n`, machines `m`, total operations (classically `n * m`).
A 10x10 JSP is already serious for MIP; CP-SAT handles far larger instances.
- **Classical assumptions.** Confirm each one explicitly: every job visits every machine
exactly once, operation order within a job is fixed (the technological route), no
preemption, each machine processes one operation at a time, all jobs available at
time zero. Any broken assumption changes the model class.
- **Variants in play.** Machine alternatives per operation mean flexible job shop
(assignment + sequencing; see parallel-machine-scheduling for the assignment layer).
Sequence-dependent setups, release dates, transport times, and recirculation (a job
visiting a machine twice) each need model extensions.
- **Objective.** Makespan `C_max`, total weighted tardiness, or a mix. All regular
ob