Dustin SnellingsSoftware engineer

Interactive planning lab / Entirely mechanical

Bottleneck

A machine is unavailable. Which jobs should move? Explore the knock-on effects, rebuild the order, and inspect every decision.

Independent synthetic shop. Three stages, up to ten jobs, one planned outage. No AI calls. Your job data stays in this browser.

  1. 1. DisruptChoose the unavailable machine.
  2. 2. ReplanSearch for a better job order.
  3. 3. InspectFollow the work and compare delivery times.

Inspect or replace the sample jobs

All jobs follow Cutting → Machining → Inspection. Times are whole minutes. Due is minutes after 08:00. Load 2–10 jobs with unique short IDs; no upload is made. Reorder the CSV rows to try your own sequence before running the search.

The model / Know its boundaries

A useful plan must hold together.

What is enforced

One operation per machine at a time. Each job completes its previous stage first. Operations cannot overlap the planned outage or be interrupted. Every machine follows the same job order; all jobs are ready at 08:00.

What the search does

A deterministic beam search keeps 120 candidate orders at each depth. It favors fewer late jobs, then less total lateness, then an earlier final finish. The original order remains a candidate. Every result is checked for conflicts. This is a valid best-found plan, not a proven global optimum.

What it does not know

No setup times, staffing, material shortages, breaks, alternative machines, or actual machine connections. This is planning before work begins; it does not reschedule completed or in-progress work. Review these assumptions before using an export for any real decision.

Built with D3 scales and a browser Web Worker. Computation is isolated from the interface; there is no model inference, telemetry, or server processing of job data. Read the method and provenance.

verso