Skip to content
SuperScheduler

Manufacturing

Production planning across lines, machines and shifts

A production plan is a sequence of operations competing for the same machines, interrupted by maintenance and bounded by the shifts a plant actually staffs. SuperScheduler gives planners a timeline to see and adjust that sequence; finding the best sequence remains the job of your planning logic.

The plan is a chain, not a list

A work order rarely lives on one machine. Parts are cut, then machined, then finished and inspected, and each step waits for the previous one. When a planner moves one operation, everything downstream is affected, and the question is not only “is this machine free?” but “does this still respect the routing and the due date?”

Capacity is uneven too. A line may run three shifts on weekdays and one on Saturday, a press is down for planned maintenance on Thursday morning, and switching from one product family to another costs setup time. A rush order inserted on Monday pushes work that was promised to other customers.

Planners need to see the chain, the gaps and the load at once, at a level of detail that changes from hours on the current shift to weeks on the horizon.

What a planner decides on every shift

  1. 01

    Where a rush order fits

    Inserting urgent work means choosing which orders slip. The planner needs to see the downstream operations and due dates of everything that would move.

  2. 02

    Keeping precedence intact

    An operation must not start before its predecessor finishes, plus any cooling, curing or transport time. Moving a step earlier is only valid if the chain allows it.

  3. 03

    Working around maintenance

    Planned maintenance, calibration and breakdowns take a machine out of the plan for a defined window. Work moves to another machine of the same type or waits.

  4. 04

    Batching to reduce changeovers

    Running similar products together saves setup time but can delay other orders. Planners weigh changeover cost against lateness, and the timeline should make both visible.

  5. 05

    Balancing load between shifts

    An overloaded night shift next to an idle afternoon is a problem in both directions. Spotting it weeks ahead is easier than discovering it on the day.

Modeling the shop floor

Schedule operations, not orders, and let the order number be the field that ties them together.

Resources
Build a tree of plant, line and machine or work center, with treePreventParentUsage so lines act as headers and operations land only on machines. Row header columns can carry the work center code and nominal capacity.
Events
Each operation is an event on one machine with order number, product and quantity as custom fields. FinishToStart links connect consecutive operations of the same order, and durationBarMode “PercentComplete” with the complete field shows progress reported from the floor.
Time scale
A cellDuration of 480 minutes gives three eight-hour shifts starting at midnight; for shifts that change at 06:00, a Manual scale with explicit timeline cells matches the plant’s real boundaries. Add an hourly zoom level for the current shift and a weekly one for the horizon.
Rules
Mark maintenance windows as disabled cells so operations cannot be dropped into them. Check precedence in onEventMoving, then shift or flag successors after the commit, grouping those changes in one history batch so a single undo restores the sequence. Feed the minimap with booked hours against capacity per bucket.

Timeline and planning system, side by side

  • Hierarchical rows for plants, lines and machines
  • Dependency links drawn between operations and kept attached as events move
  • Hatched maintenance windows that refuse drops, and progress bars driven by a completion percentage
  • A minimap strip that renders the load series you compute, with warning and danger tones
  • Undo and redo, with several changes grouped into one entry
  • Routings, work orders, shift calendars and changeover data from your ERP or MES
  • Automatic scheduling, finite-capacity logic or optimization: the library does not sequence work
  • The precedence policy: refuse, warn or cascade
  • Shop-floor feedback that updates progress and actual times
  • Persistence, permissions and conflict handling between planners

Working examples

Where shop-floor timelines go wrong

Expecting links to push successors

Links are drawn from your data and follow the events they connect, but they do not reschedule anything. If a predecessor moves later, your code decides whether its successors move too, and by how much.

One bar per order

Drawing a whole order as a single event hides which machine is busy when. Conflicts, maintenance windows and load only make sense per operation.

Shift cells that do not match the plant

Midnight-aligned cells look tidy but misplace a 06:00 shift change. Use explicit timeline cells when shifts do not start at midnight.

Measuring load by event count

Ten short operations and one long one are not the same load. Compute booked hours against shift capacity for each bucket and pass that series to the minimap.

Questions

Can SuperScheduler schedule production orders automatically?

No. It does not sequence, optimize or level work. It displays the plan your application or solver produces, lets planners adjust it by hand, and reports each change through handlers so your system can validate it and recompute.

How do I show dependencies between manufacturing operations?

Pass links whose from and to fields are event ids. FinishToStart is the default type, and StartToStart, FinishToFinish and StartToFinish are also available. Links are defined in data or added through the control’s links API; drawing them with the mouse is not supported.

How do I block a machine during planned maintenance?

In onBeforeCellRender, set args.cell.properties.disabled to true for the cells of that machine and window. Disabled cells are hatched and refuse drops and range selections. Set cellsDisabled on the resource to take a machine out of the plan entirely.

Can the timeline show shifts instead of hours?

Yes. Use scale “CellDuration” with 480-minute cells for three shifts from midnight, or scale “Manual” with a timeline array for boundaries such as 06:00, 14:00 and 22:00. A zoom level with hourly cells keeps the detail one step away.

Try the Forge demo

Forge, a fictional plant, moves an order around a maintenance window so you can follow its sequence of linked operations and the computed load. All data is synthetic.

Working examples