Production Scheduling for Wood Panels and Engineered Wood

Learn how Schantt models wood panel production—parallel presses, resin and thickness changeovers, and mixed batch-and-flow pipelines—for a three-class engineered wood mill.

Production planners and operations managers at engineered-wood mills running particleboard, MDF, OSB, and similar panel products can model their full routing — from refining through trimming — in Schantt's hybrid-flowshop scheduler. This guide shows how to configure the eight-stage line with parallel presses and dryers, sequence-dependent changeovers, and mixed batch-and-flow stages so the optimizer produces a workable forward plan across a two-to-four-week horizon.

This guide follows a fictional composite company built from industry research on wood panels and engineered wood; all names, parameters, and figures are illustrative.

Industry context

Engineered-wood panel production combines chemical and mechanical processes on a single site. Raw wood is chipped, dried, blended with resin binders, formed into a continuous mat, and consolidated under heat and pressure in multi-opening hot presses, then cooled, sanded, and trimmed to finished dimensions. Each product class — MDF (medium-density fibreboard), PB (particleboard), and OSB (oriented strand board) — follows a different route through this pipeline: MDF requires fibre refining, PB uses a cold hydraulic pre-press, and OSB skips sanding entirely. Changeovers between classes on shared equipment range from a five-minute thickness tweak to a three-hour resin-system cleanout, making sequence choice one of the most impactful planning decisions.

Vantage Engineered Wood Products runs 80 people across production, maintenance, logistics, and administration at a 30,000 m² site — 20,000 m² under roof. The mill makes three product classes (MDF Standard, PB Standard, and OSB Structural) across eight production stages and is scheduled by a two-person planning team on a two-to-four-week horizon. The hot-press line operates around the clock, while the finishing line and upstream stages run two shifts, six days a week.

Process overview

flowchart LR
    R["Refining / Defibration"] --> D["Drying"]
    D --> RB["Resin Blending"]
    RB --> MF["Mat Forming"]
    MF --> CP["Cold Pre-press"]
    MF --> HP["Hot Pressing"]
    CP --> HP
    HP --> S["Sanding / Calibration"]
    HP --> T["Trimming / Cutting-to-Size"]
    S --> T

Panels flow through eight modeled stages from refining or drying through to cutting, with divergent routings: MDF passes through refining; PB uses a cold pre-press; OSB skips sanding and bridges directly from hot pressing to trimming.

MDF passes through refining (defibration) and the full sanding route; PB skips refining but adds a cold pre-press stage; OSB skips refining and sanding entirely. Each class's routing bridges skipped spans with transfer times.

Scheduling challenges and how Schantt handles them

This guide assumes the schedule is driven by production orders — or a forecast converted to job quantities per product class — over a two-to-four-week horizon. (Mills whose primary driver is make-to-stock replenishment can still follow the same model; the demand signal simply shifts from a customer order to a min-stock trigger.) Schantt schedules forward from a start date, minimizing total production time across the horizon. In Auto mode, the scheduling algorithm explores both job sequence and machine assignment to find the plan with the shortest total production time. In Semi-Auto mode, the planner sets the job order and the system optimizes machine assignments within that fixed sequence.

What Schantt handles well

  • Multi-stage production with per-class routing — each product class follows its own route; Schantt schedules only the stages that class requires and bridges skipped spans with transfer times.
  • Parallel machines per stage — hot presses, dryers, sanders, and saw lines run in parallel; the system assigns jobs across capable machines to minimize total production time.
  • Mixed batch-and-flow pipelines — pressing and blending are batch stages (cycle time per load); sanding and trimming are flow stages (continuous throughput). Both types run in the same route.
  • Sequence-dependent changeovers — press thickness and resin changes, dryer purges, and sander belt changes are directional per-machine matrices; the optimizer naturally favours sequences with shorter setup times.
  • Shift-aware availability with separate calendars — presses run 24/7 while finishing lines run two shifts on separate calendars; work clamps into working windows and pauses at shift boundaries.
  • Calendar exceptions and downtimes — planned maintenance, holiday shutdowns, and overtime are entered as calendar overrides or machine downtimes; the schedule routes work around them.

How Schantt handles each challenge

1. Press changeovers between thickness and resin families.

  • The multi-opening hot presses handle all three classes, but the setup time to switch between them varies dramatically — five minutes within the same class and thickness, thirty minutes between UF-resin classes (MDF and PB) that differ in thickness and press-cycle parameters, and up to two hours when switching to or from the pMDI-resin OSB class. A poorly ordered press sequence can consume half a shift in non-productive changeover time.
  • Schantt models changeovers as a directional per-machine matrix: the planner enters the transition time for every (from-class, to-class) pair on Press 1 and Press 2. In Auto mode, the optimizer evaluates the total time penalty of each candidate sequence and naturally prefers runs that group same-resin jobs together, reducing the accumulated changeover duration across the horizon. The Gantt shows each changeover as a labelled segment before the next job's processing bar.

2. Dryer purge and temperature-profile transitions.

  • The two parallel drum dryers serve all three classes, each requiring a different temperature profile and moisture target. Switching from one class to another demands a purge cycle of around twenty-five minutes to clear residual furnish and stabilise the drum temperature. Two parallel dryers mean the planner must decide not only sequence but which dryer takes which job.
  • The system treats dryer eligibility through per-class throughput entries: a product class can only run on a dryer whose rate table is populated for that pair. With both dryers capable of all three classes, the planner enters a twenty-five-minute changeover for every inter-class transition on each dryer. The optimizer then explores machine assignments alongside job order, naturally balancing dryer load so that purge time is minimised across the schedule.

3. Resin-system cleanout in the glue kitchen.

  • The shared batch blender serves UF-resin classes (MDF and PB) and the pMDI-resin OSB class. Switching between UF classes takes about twenty minutes, while a UF-to-pMDI or pMDI-to-UF changeover requires a full chemical cleanout lasting two hours. The blender itself is a single machine — there is no second line to absorb the transition penalty.
  • The planner enters these directional durations on the blender's changeover matrix: twenty minutes for UF↔UF and two hours for any transition involving OSB. Because the blender is a single machine, its changeover time is always incurred when the product class changes. The optimizer responds by grouping consecutive OSB jobs and consecutive UF jobs into blocks, so the long cleanout penalty is paid only at the block boundaries rather than between every job.

4. Cooling hold and sander capacity imbalance.

  • After hot pressing, panels must cool and condition before further handling — roughly four hours for MDF, six hours for PB, and two hours for OSB. The wide-belt sander, which runs at a throughput roughly fifteen percent faster than the press line's average output, can pull ahead of supply during a long cooling hold. Press operators sometimes stall the cycle to let the cooling racks fill, which introduces unplanned downtime on the bottleneck press.
  • The cooling hold is modelled as a transfer time on the route from hot pressing to sanding — a single forward delay (300 minutes) that appears on the Gantt as a scheduled gap between the press bar and the sander bar with no machine assigned. The planner sets this single duration per stage pair on the Stage detail page. Because the delay is calendar-agnostic elapsed time, cooling elapses continuously while the sander moves through its own calendar windows, so the two can drift in and out of alignment across the horizon. The cooling stall itself is not modelled as a machine state, but the transfer-time approach makes the imbalance visible: the Gantt shows exactly when the sander-starved gap appears, and the planner can reschedule or add a calendar exception to adjust.

5. Cooling-stall interruptions on the press line.

  • About once every two weeks the cooling rack fills to capacity, forcing the press line to pause for thirty to ninety minutes until conditioned panels are moved to the sander infeed. This stall is an emergent bottleneck: it is not a fixed downtime event but a dynamic consequence of the press outrunning the finishing line's clearing rate.
  • Because the cooling hold is modelled as a per-class transfer time rather than a finite-capacity rack, the system does not automatically detect the overflow. However, the transfer-time duration itself bounds the delay realistically across a multi-week horizon, and the Gantt makes the accumulating backlog visible. The planner can then insert a brief calendar exception — an overtime slot on the finishing calendar, or a non-working override on the press calendar during the predicted stall window — to break the cycle. The capability is the visibility to predict the stall, not automatic prevention.

What to model in Schantt

The scenario builds on five first-class entities whose counts match the production line exactly:

Entity Count Notes
Stage 8 Refining (flow), Drying (batch), Resin Blending (batch), Mat Forming (flow), Cold Pre-press (batch), Hot Pressing (batch), Sanding (flow), Trimming (flow)
Machine 12 Defibrator (1), Dryers (2), Blender (1), Forming stations (3), Cold press (1), Hot presses (2), Sander (1), Saw line (1)
Product Class 3 MDF Standard (UF resin, full route + refining), PB Standard (UF resin, skips refining), OSB Structural (pMDI resin, skips refining and sanding)
Product 3 One representative per class — MDF 16 mm, PB 18 mm, OSB 12 mm
Calendar 2 Press calendar (24/7); finishing calendar (06:00–22:00 Mon–Sat)

Sub-configuration — per-class routings, changeover matrices, transfer times, calendar exceptions (New Year's Day, International Workers' Day, delayed start, Christmas Eve), and machine downtimes (press belt service, dryer annual clean, year-end shutdown) — is set on each entity's detail page.

Step-by-step setup

1. Create the stages in order. Add the eight stages — Refining, Drying, Resin Blending, Mat Forming, Cold Pre-press, Hot Pressing, Sanding, Trimming — in their production sequence. Set each stage's type (batch or flow) to match. On each stage's detail page, define the transfer times to its successor stages, including the two bridge entries needed for skip-routings:

  • Mat Forming → Hot Pressing (5 min — for MDF and OSB, which skip the cold pre-press)
  • Hot Pressing → Trimming (125 min — for OSB, which skips sanding)

2. Add the machines to each stage. Assign each machine to its stage:

Refining: Defibrator (flow, shared by MDF only)
Drying: Dryer 1, Dryer 2 (batch, both shared across all three classes)
Resin Blending: Batch Blender (batch, shared across all three resin systems)
Mat Forming: Pendistor (MDF), Forming Station PB (PB), Strand Orienter (OSB)
Cold Pre-press: Cold Hydraulic Press (batch, PB only)
Hot Pressing: Press 1, Press 2 (batch, both shared across all three classes)
Sanding: Wide-belt Sander (flow, MDF and PB only)
Trimming: Panel Saw Line (flow, all three classes)

3. Define the product classes and per-class routings. Create three product classes — MDF Standard, PB Standard, OSB Structural — and set each class's routing to the stages it requires. MDF uses refining through trimming (7 stages). PB starts at drying, passes through six stages including the cold pre-press, and ends at trimming. OSB runs drying through hot pressing, then bridges directly to trimming. Confirm that partial-transfer legs are disabled on all routings, as the scenario treats each press batch as a unit that moves together through cooling and finishing.

4. Add one representative product per class. Create MDF 16 mm (assigned to MDF Standard), PB 18 mm (PB Standard), and OSB 12 mm (OSB Structural). Each product inherits its class's routing and machine eligibility.

5. Configure machine capacity parameters and changeovers. On each machine's detail page, set the following:

Batch stages (cycle time and batch size):
- Dryers — MDF: 15 min per 2,200 kg batch; PB: 12 min per 2,600 kg; OSB: 10 min per 2,000 kg
- Batch Blender — MDF: 8 min per 1,600 kg; PB: 10 min per 2,000 kg; OSB: 12 min per 1,500 kg
- Cold Hydraulic Press — PB: 30 s per 2,200 kg
- Press 1 and Press 2 — MDF: 6 min per 400 kg; PB: 5 min per 480 kg; OSB: 4 min per 300 kg

Flow stages (throughput in pieces per hour):
- Defibrator — MDF: 2,500
- Pendistor — MDF: 3,000
- Forming Station PB — PB: 3,500
- Strand Orienter — OSB: 2,000
- Wide-belt Sander — MDF: 1,800; PB: 2,200
- Panel Saw Line — MDF: 3,200; PB: 3,600; OSB: 2,800

Changeover matrices: For each shared machine, enter the directional durations. On Press 1 and Press 2, set same-class transitions to 5 min, inter-UF transitions (MDF↔PB) to 30 min, and any transition involving OSB to 120 min. On the dryers, set all inter-class transitions to 25 min. On the Batch Blender, set UF↔UF to 20 min and UF↔OSB / OSB↔UF to 120 min. On the Wide-belt Sander and Panel Saw Line, enter the relevant per-pair durations.

6. Configure calendars, exceptions, and downtimes. Create two calendars — a 24/7 pattern for the hot presses and cold pre-press, and a two-shift (06:00–22:00) Monday–Saturday pattern for the finishing line and upstream machines. Assign the finishing calendar to the Defibrator, dryers, blender, forming stations, sander, and saw line. Then add the four calendar exceptions (New Year's Day shutdown, International Workers' Day shutdown, delayed start on January 2, early shutdown on Christmas Eve) and the three machine downtimes (Press 1 belt service in March, Dryer 1 annual clean in July, and the year-end plant shutdown in December).

For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.

Common mistakes

1. Using a single blanket changeover duration instead of a per-pair matrix. A planner sometimes enters one changeover time for a machine, assuming all transitions take roughly the same time. Consequences: the schedule underestimates the penalty of UF-to-pMDI transitions, so the optimizer does not penalise scattering OSB jobs between UF runs, and the real two-hour cleanout appears as unexpected downtime on the floor. Fix: enter the full directional matrix on each shared machine — at minimum the five-minute same-class, thirty-minute UF↔UF, and 120-minute UF↔pMDI values.

2. Defining one product class that covers divergent routings. Creating a single "standard panel" class and entering stage availability per machine rather than per class leads to all jobs appearing at every stage regardless of whether they actually pass through it. Consequences: the schedule generates phantom operations for stages the product never visits (for example, assigning a sanding bar to an OSB job), and the Gantt fills with rows that do not correspond to any real activity. Fix: create a separate product class for each distinct routing and assign each product to the class whose routing matches its physical path.

3. Setting a stage's machine count that does not match the floor. Adding or omitting a machine that the plant does not actually have — for example, modelling only one hot press when the line runs two — causes the schedule to overestimate or underestimate capacity, making the plan unachievable or leaving throughput on the table. Fix: count the physical machines at each stage (two dryers, two hot presses, one sander, one saw line, three forming stations) and create exactly one Schantt machine per physical unit. Use the calendar and downtime features to express a machine's true availability.

4. Forgetting the skip-bridge transfer times for OSB. Entering only consecutive-stage transfer times and omitting the bridge from Mat Forming to Hot Pressing (for MDF and OSB, which skip cold pre-press) and from Hot Pressing to Trimming (for OSB, which skips sanding) produces a route that the scheduler cannot resolve — it expects a job to visit a skipped stage. Fix: on the Stage detail page, add a transfer time entry for every (from-stage, to-stage) pair that any routing uses, including the skip bridges. The scenario needs two bridges: Mat Forming → Hot Pressing (5 min) and Hot Pressing → Trimming (125 min, which includes the OSB cooling hold).

5. Running the entire plant on a single calendar. Applying the 24/7 press calendar to every machine means the finishing line, dryers, blender, and forming stations are modelled as always available, and the schedule packs work into hours when those stages are actually unstaffed. Fix: create two calendars — one 24/7 (for the hot presses and cold pre-press) and one 06:00–22:00 Monday–Saturday (for all other machines) — and assign each machine to the calendar that matches its real operating pattern. Then add the calendar exceptions and downtimes as override entries so holidays and planned shutdowns are reflected in the plan.

What a good schedule looks like

The mill's current practice — a spreadsheet plus ERP dispatch — delivers a passable order list but leaves changeover time and machine balance to the planner's daily judgment, which works well within a single class but breaks down when all three classes are in play.

Before (spreadsheet/ERP dispatch):

  • The press sequence scatters OSB jobs across the week, incurring the full two-hour cleanout four or five times instead of once or twice
  • Dryer changeover purge time adds up to several hours per week because jobs are assigned without considering which dryer most recently ran which class
  • Cooling stalls occur roughly every two weeks as the press cycle pulls ahead of the finishing line's two-shift clearing rate, causing thirty-to-ninety-minute unplanned press halts
  • The planner manually tracks each day's changeover minutes in a notebook, reacting to problems rather than anticipating them

After (Schantt Auto mode):

  • The optimizer groups same-resin jobs into contiguous blocks on the press, markedly reducing inter-class changeovers — the two-hour pMDI cleanout fires once per OSB block rather than once per OSB job
  • The dryer purge total drops significantly as the algorithm routes each class to the drum that most recently ran it, exploiting the two-dryer parallelism
  • The cooling delay is baked into every MDF and PB job as a scheduled forward hold on the Gantt, so the planner sees exactly when the sander will starve and can adjust the finishing calendar — for instance, adding a Saturday overtime exception during a heavy MDF week — before the stall materialises
  • The entire two-to-four-week horizon is computed in minutes, not hours, and the Gantt replaces the notebook: every changeover, hold, calendar gap, and sander idle period is visible at a glance, grouped by machine

Ready to schedule your own facility?

Try Schantt free — no credit card required. Go from spreadsheet to optimized Gantt chart in 60 minutes.

Try Schantt Free