{
  "id": "KL-FCS-024",
  "version": "1.0.0",
  "domain": "Scheduling",
  "kind": "scheduling",
  "title": "A perfectly balanced four-job schedule",
  "problem": "Minimize makespan for independent jobs on identical machines.",
  "specification": {
    "durations": [
      3,
      2,
      2,
      1
    ],
    "machines": 2,
    "constraints": "Non-preemptive; all available at time zero; no precedence or setup times."
  },
  "claim": {
    "minimum_makespan": 4
  },
  "witness": {
    "assignment": [
      0,
      1,
      1,
      0
    ]
  },
  "verification_scope": "Complete assignment space · 16 schedules",
  "explanation": "The witness lists one machine per job. Feasibility follows from sequential execution on each machine, and enumeration establishes the minimum load ceiling.",
  "limitations": "The model excludes release delays, precedence, heterogeneous machines, and setup costs.",
  "verification_status": "mechanically-checked",
  "review_status": "awaiting-independent-review",
  "provenance": {
    "origin": "Original Kenton Labs reference instance, authored with Codex assistance on 2026-10-11.",
    "external_dataset": null,
    "model_run": null
  },
  "references": [
    "https://developers.google.com/optimization/assignment/linear_assignment"
  ],
  "license_status": "not-yet-selected",
  "dataset": {
    "family": "scheduling",
    "task": "Minimize makespan for independent jobs on identical machines.",
    "input_encoding": "Structured JSON; field meanings are stated in the specification.",
    "coverage": "Complete assignment space · 16 schedules",
    "acceptance": [
      "Enumerate every job-to-machine assignment.",
      "Sum the durations assigned to each machine.",
      "Evaluate makespan as the maximum load.",
      "Check that the witness achieves the minimum across all assignments."
    ],
    "generation": "Deterministic finite fixture; full enumeration or witness replay as stated.",
    "split_policy": "Reference corpus for exposition and reproduction; no train/test evaluation split is claimed."
  },
  "lesson": {
    "motivation": "Attach feasibility and optimality to an explicit scheduling model, including resource assumptions and the objective.",
    "definitions": [
      {
        "term": "Makespan",
        "definition": "The completion time of the last job."
      },
      {
        "term": "Non-preemptive job",
        "definition": "A job runs continuously once it starts."
      },
      {
        "term": "Identical machine model",
        "definition": "Every machine has the same processing rate, and independent jobs are available at time zero."
      }
    ],
    "reasoning": [
      "Enumerate every job-to-machine assignment.",
      "Sum the durations assigned to each machine.",
      "Evaluate makespan as the maximum load.",
      "Check that the witness achieves the minimum across all assignments."
    ],
    "worked_example": "The witness lists one machine per job. Feasibility follows from sequential execution on each machine, and enumeration establishes the minimum load ceiling.",
    "complexity": "m machines and n jobs produce mⁿ assignments. In this model, job order within a machine does not change the load.",
    "common_error": "A balanced-looking schedule need not be optimal; release dates and precedence change the problem.",
    "further_work": "Add precedence-constrained schedules and dual or lower-bound certificates."
  },
  "related_ids": [
    "KL-FCS-010",
    "KL-FCS-025"
  ]
}
