← All projects

Inspection operations · Industrial engineering

Inspection queue capacity

A simulation of an inspection station with queues, rework, and scheduled breaks. It compares staffing and work-in-process limits across 800 synthetic shifts.

Executed simulation study

Completed-job means and confidence intervals for four inspection policies, from 40 synthetic runs per policy.
Completed-job means and confidence intervals for four inspection policies, from 40 synthetic runs per policy.

Implementation

Implemented finite admitted WIP, parallel inspection, rework visits, deferred full-duration breaks, FIFO and estimated-service dispatch.

Ran 40 matched seeds for five policies under four workload conditions. Exported job traces, scenario means, paired confidence intervals and input sensitivities.

Executed synthetic/theoretical validation with a selected operating envelope, adverse conditions, and reproducible acceptance evidence.

Inputs and assumptions

  • All inputs are synthetic. A shift starts empty, lasts exactly 28,800 seconds, has no warm-up removal, and stops without draining the queue. This is a terminating-shift experiment, not a steady-state capacity estimate.
  • Arrivals follow a piecewise Poisson process: 30/hour except a 20-minute, 70/hour burst before the first break. Job classes are 70% quick and 30% detailed; their means are 77 and 187 seconds. Within-class service time is lognormal with CV 0.45.
  • After each of the first two visits a job returns with probability 0.12, waits 60 seconds externally to the inspector, and retains its admitted WIP slot. Every job exits after its third visit. Exiting means inspection completed, not an assumed quality acceptance; scrap and defect disposition are outside the model.
  • Every inspector takes 15, 30 and 15 minutes of breaks. A busy inspector finishes the current visit first, then takes the entire deferred break. The second inspector's scheduled breaks are offset by 15 minutes.
  • Capacity counts running, waiting and rework-delay jobs together. A new arrival at the limit is turned away and counted; it does not vanish and it does not re-enter later. No upstream storage, retry system or downstream machine is simulated.
  • Each of 40 seeds generates its full arrival/service/rework stream before any policy runs. Policies under the same input condition receive identical jobs. The four input conditions are separate experiments, with 800 total scenario-shift runs.

Results

Recorded results for the included reference case
Scenario-shift runs800
Independent seeds per condition40
Reference completions: 1 inspector / WIP 8188.38 jobs / shift
Reference completions: 2 inspectors / WIP 8239.03 jobs / shift
Virtual validation checks9 / 9
Additional virtual operating shifts1300
Combined stress backlog, 2 FIFO2.58 jobs
Report figures (4)
Reference staffing and WIP comparisons, with 95% confidence intervals across 40 shifts.
Reference staffing and WIP comparisons, with 95% confidence intervals across 40 shifts.
Work in process and waiting jobs for reference seed 4100.
Work in process and waiting jobs for reference seed 4100.
Separate demand, service-time and rework sensitivity cases.
Separate demand, service-time and rework sensitivity cases.
Mean end-of-shift backlog under the five workload conditions
Mean end-of-shift backlog under the five workload conditions

Open the full report ↗

Verification

20 regression and analytical-reference tests passed. Job, waiting-area and WIP-area balances passed in all 800 runs. Additional virtual validation: 9 checks matched their expected outcomes. Adverse design conditions remain in the results.

python run.py
Download the verification record ↓

Additional scenarios

9 outcomes checked through synthetic/theoretical. The report lists the expected and observed outcomes for each check.

Read the validation report ↗

Project files

The ZIP contains the source, inputs, results, and instructions. These files are also available individually.

Download project ZIP · 688 KB
Archive checksum

SHA-256

073dcbfe977a0b558c879271c5b241b72382026e5a52f5470f34f7bcf5fec048
Original project scopeArchived brief PDF ↗

Run locally

Python 3.11+ / NumPy 2.3.5 / SciPy 1.17.0 / Matplotlib 3.10.8

Extract the ZIP and open a terminal in the inspection-queue-capacity folder. The README includes setup and usage details.

python -m pip install -r requirements.txt
python run.py
python -m unittest -v

Limits

  • No factory observations or staffing trial were used. The virtual operating trial adds batch arrivals and staff absence. Fatigue, learning, inspection errors, equipment failures and space geometry remain outside the model.
  • Turned-away work is an upstream burden, not a throughput improvement. Economic or whole-line bottleneck conclusions need an extended system boundary and observed costs.
  • Completed-job tail waits are censored by the end of the shift; unfinished work is reported explicitly. The added virtual trial separately follows up to two hours of clearance. Neither study estimates overnight carryover or a long-run stationary distribution.