This guide shows production planners, scheduling managers, and operations leaders at specialty surfactant and oleochemical plants how to model a six-stage facility in Schantt — from feed preparation to packaging — and produce optimised schedules that respect per-class routing, directional changeovers, and mixed batch-and-flow physics.
This guide follows a fictional composite company built from industry research on specialty surfactants and oleochemicals; all names, parameters, and figures are illustrative.
Industry context
Specialty surfactant and oleochemical manufacturing involves reacting natural oils, fats, and petrochemical derivatives into surface-active agents used in cleaning, personal care, agrochemicals, and industrial processing. Production is typically batch-oriented with multiple parallel vessels, inter-stage hold times, and product classes that follow distinct routing paths through the plant.
Solchem runs approximately 85 people at a 4,200 m² single-site facility, making anionic, nonionic, and pre-neutralized product classes across six production stages — feed preparation, sulfonation, neutralization, blending, quality hold, and packaging — scheduled by a three-person planning team. The plant produces roughly 2,800 tonnes of active matter per year across about 150 SKUs, with batch sizes ranging from 500 kg drums to 20-tonne bulk tanker loads. The facility operates a single Monday–Friday 08:00–18:00 shift, 50 hours per week, with three calendar exceptions and two planned maintenance downtimes each year.
Process overview
flowchart LR
FP["Feed Preparation"] --> SU["Sulfonation"] --> NE["Neutralization"] --> BL["Blending"] --> QH["Quality Hold"] --> PA["Packaging"]
FP -.->|"Nonionic skip bridge"| NE
BL -.->|"Pre-neut. enters here"| BL
Solchem's six-stage production flow from feed preparation to packaging, with skip-bridge and mid-route entry annotations for the three product classes.
Note that not all products visit every stage. The nonionic class skips sulfonation via a bridge transfer time; the pre-neutralized class enters at blending, skipping feed preparation through neutralization.
Scheduling challenges and how Schantt handles them
The schedule for a specialty surfactant plant is driven by customer orders and toll-manufacturing commitments — a rolling list of products with requested quantities and target shipment dates. Schantt assumes demand as a set of product-and-quantity jobs, not a forecast; if your operation is driven by make-to-stock targets, you can enter the replenishment lots as jobs in the same way. The scheduling algorithm minimises total production time across all jobs, scheduling forward from a start date over the practical horizon this guide assumes — a two-to-four-week window covering roughly thirty to fifty jobs. Use Auto mode when you want the algorithm to decide job sequence and machine assignments; use Semi-Auto mode when the production order is fixed but machine selection and timing still need optimisation.
What Schantt handles well
- Ordered multi-stage routing with stage skipping — each product class defines its own ordered path through the plant stages; skipped stages produce no operation row.
- Directional, sequence-dependent changeover matrices — per-machine cleaning times that depend on the from→to chemistry pair, applied automatically between consecutive jobs.
- Parallel-machine stages with machine assignment — reactors and tanks grouped by stage; the algorithm selects which machine each job runs on in Auto or Semi-Auto mode.
- Mixed batch-and-flow pipelines — batch stages (reactors, blending tanks) and flow stages (packaging lines) coexist in one route, each with its own timing physics.
- Shift-aware calendars with exceptions and downtimes — working hours, holidays, overtime Saturdays, and maintenance shutdowns all affect timing and render as Gantt overlays.
- Material-wait visibility and partial transfers — starvation gaps appear as labelled segments on the Gantt; overlapping handoffs can start a downstream stage on a partial batch.
How Schantt handles each challenge
1. Divergent routings between product classes.
- The plant runs three product families that follow different paths through the shared line. The anionic class passes through feed preparation, sulfonation, neutralization, blending, quality hold, and packaging — all six stages. The nonionic class skips sulfonation, moving directly from feed preparation to neutralization via a 50-minute bridge transfer. The pre-neutralized class enters at blending, skipping feed preparation through neutralization entirely. A spreadsheet that tracks these three routes manually creates opportunities for mis-assignment — a mis-assigned order slips through undetected until a downstream stage flags the mismatch.
- Schantt models routing per product class, not per plant. You define each class's ordered stage list once; a stage absent from that list produces no operation and no Gantt row for that class. The transfer time from a class's last stage before a skip to its first stage after the skip bridges the gap automatically. The planner enters jobs at the class's true entry point — the pre-neutralized class begins at blending, not at feed preparation — and the schedule handles the rest. Cross-class routing errors are eliminated because the configuration enforces the path.
2. Directional changeover asymmetry across chemistry pairs.
- Changing from one chemistry to another on shared equipment takes different amounts of time depending on direction. On the neutralization vessel and all three blending tanks, switching from anionic to nonionic requires 45 minutes of cleaning, while the reverse — nonionic back to anionic — takes only 30 minutes. Intra-class changes (anionic to anionic, nonionic to nonionic) finish in 15 minutes, and transitions involving the pre-neutralized class settle at 30 minutes in either direction. A planner who applies a single average cleaning time loses the opportunity to sequence jobs in the faster direction.
- Schantt models changeovers as a directional per-machine matrix. On each shared machine, you enter the cleaning duration for every from→to chemistry pair. The algorithm reads these times when it evaluates candidate sequences: in Auto mode it can reorder jobs to favour low-changeover transitions; in Semi-Auto it respects the planner's order but still applies the correct duration between consecutive jobs. The resulting changeover penalty appears as its own labelled segment on the Gantt before the processing bar, so both the duration and the chemistry pair are visible at a glance.
3. Parallel tanks of unequal size and class compatibility.
- The blending stage has three tanks — 1,500 kg, 3,000 kg, and 5,000 kg capacity — all shared across three product classes with multiple changeover combinations. Assigning a 5,000 kg batch to the 1,500 kg tank is impossible, but putting a small batch on the 5,000 kg tank wastes capacity and can create significant downstream delay while a larger waiting batch sits blocked. A manual planner must track each tank's current chemistry, remaining batch time, and next available moment across three vessels simultaneously.
- Schantt groups the three blending tanks as parallel machines under the blending stage. For each machine you enter the batch size and cycle duration per product class, plus the complete changeover matrix. When the algorithm assigns jobs in Auto or Semi-Auto mode, it considers machine eligibility (does this tank support the product class at a viable batch size?), current chemistry (what changeover time applies?), and availability (when does the tank become free?) — selecting the tank that minimises the overall impact on total production time. The chosen machine appears in the operation's Gantt tooltip, and the planner can group the view by machine to see each tank's utilisation.
4. Inter-stage hold timing and material starvation.
- Material moves between stages with fixed handoff delays — 30 minutes from sulfonation to neutralisation, 30 minutes from neutralisation to blending, 15 minutes from blending to the QC lab — and the sulfonated intermediate has a known degradation constraint of roughly four hours at processing temperature. When a downstream stage finishes its current batch before the upstream stage delivers the next one, equipment sits idle for extended periods, and these material-wait gaps occur multiple times per month. The anionic class's neutralisation-to-blending handoff also supports a partial transfer at 1,500 kg, letting the blending tank start before neutralisation finishes.
- Transfer times are configured as stage-to-stage forward delays: every routed handoff (including skip bridges) carries a duration that the schedule adds before the downstream stage begins. The partial-transfer toggle is set per product class and per leg — in this scenario, only the anionic class at the neutralisation-to-blending handoff — so the downstream stage starts on the first usable portion while the upstream stage completes the remainder. If a downstream stage runs out of material before more arrives, the simulation inserts a labelled wait-material segment between processing bars on that operation's Gantt row, with the reason visible in the tooltip. The four-hour degradation window is approximated by accurate cycle times and prompt consumption via the partial-transfer handoff; the planner confirms the bound visually on the Gantt.
5. Combined batch and flow physics in one route.
- Most production stages run in batch mode — vessels that process a fixed load on a repeating cycle — but the final packaging stage operates as a continuous flow line at a steady rate: the drum and IBC line runs at 3,000 kg per hour for all three product classes, while the bulk tanker bay (anionic only) can reach 20,000 kg per hour. A batch-stage timing model (load-and-hold cycles) does not describe a packaging line, and a flow-stage model does not describe a reactor, yet both must connect in the same schedule.
- Schantt assigns each stage a production type — batch or flow — and routes can mix both in a single path. Batch stages are parameterised by batch size and cycle duration; the schedule computes duration as the number of full batches needed times the cycle time. Flow stages use throughput in units per hour; the schedule computes duration as the quantity divided by the line rate. The simulation chains the two physics seamlessly: a batch reactor completes its load, the material transfers through the configured delay, and the packaging line begins consuming it at its continuous rate. If the line outruns supply, the same wait-material mechanism pauses the flow operation until the next load arrives.
What to model in Schantt
The Solchem scenario translates into five first-class entities that you create in Schantt.
| Entity | Count | Notes |
|---|---|---|
| Stages | 6 | Feed Preparation, Sulfonation, Neutralization, Blending, Quality Hold, Packaging |
| Machines | 11 | Pre-mix Vessels A & B, SO₃ Falling-Film Reactor & GLR Batch Reactor, Neutralization Vessel, Blending Tanks 1–3, QC Lab, Drum / IBC Line, Bulk Tanker Bay |
| Product Classes | 3 | Anionic, Nonionic, Pre-neutralized |
| Products | 3 | LAS-60 Paste, AE-7EO, SLES-28 Solution — one representative per class |
| Calendars | 1 | Monday–Friday 08:00–18:00, 50 hours per week |
Modelling each entity separately — rather than collapsing routings into a single class or omitting machine-level changeovers — is what turns a generic timeline into an operationally accurate schedule. A class-specific routing guarantees that nonionic products never appear on the sulfonation row; a directional changeover matrix on each tank ensures the algorithm sequences jobs in the faster direction; and a parallel-machine stage with per-machine eligibility data prevents the schedule from assigning a 5,000 kg batch to the 1,500 kg tank. Each layer of fidelity directly eliminates a class of planning error that a spreadsheet cannot catch, and the result is a schedule the team can trust without cross-checking every row.
Sub-configuration — per-class routings, transfer times (including the nonionic skip bridge), changeover matrices, partial-transfer settings, calendar exceptions, and machine downtimes — is set on the detail pages of the entities above.
Step-by-step setup
1. Create the six stages in order. Add Feed Preparation, Sulfonation, Neutralization, Blending, Quality Hold, and Packaging. Set each stage's production type — batch for the first five stages, flow for Packaging. On each stage's detail page, enter the forward transfer times:
- Feed Preparation → Sulfonation: 20 min
- Feed Preparation → Neutralization: 50 min (nonionic skip bridge)
- Sulfonation → Neutralization: 30 min
- Neutralization → Blending: 30 min
- Blending → Quality Hold: 15 min
- Quality Hold → Packaging: 20 min
2. Add eleven machines to their stages. Place the two pre-mix vessels on Feed Preparation, the SO₃ Falling-Film Reactor and GLR Batch Reactor on Sulfonation, the Neutralization Vessel on Neutralization, the three blending tanks on Blending, the QC Lab on Quality Hold, and the Drum / IBC Line plus Bulk Tanker Bay on Packaging.
3. Create the three product classes and their routings. Define Anionic, Nonionic, and Pre-neutralized. On each class's detail page, set the ordered stage list:
- Anionic: all six stages, with partial transfer enabled (quantity 1,500 kg) on the Neutralization-to-Blending leg.
- Nonionic: Feed Preparation, Neutralization, Blending, Quality Hold, Packaging — sulfonation is absent from the list.
- Pre-neutralized: Blending, Quality Hold, Packaging — the class begins at the third stage.
4. Add one representative product per class. Create LAS-60 Paste under Anionic, AE-7EO under Nonionic, and SLES-28 Solution under Pre-neutralized. Assign a display colour to each so the Gantt bars are easy to distinguish.
5. Set machine capacity parameters and changeovers (requires the product classes from step 3). On each machine's detail page, enter the batch size and cycle duration per product class that the machine serves, and the throughput for the packaging machines:
Feed preparation — Pre-mix Vessel A: Anionic and Nonionic — 2,000 kg, 90 min cycle.
Feed preparation — Pre-mix Vessel B: Anionic and Nonionic — 1,500 kg, 60 min cycle.
Sulfonation — SO₃ Falling-Film Reactor: Anionic — 3,000 kg, 120 min cycle.
Sulfonation — GLR Batch Reactor: Anionic — 1,500 kg, 240 min cycle.
Neutralization — Neutralization Vessel: Anionic and Nonionic — 2,500 kg, 120 min cycle.
Blending — Tank 1: All three classes — 1,500 kg, 90 min cycle.
Blending — Tank 2: All three classes — 3,000 kg, 120 min cycle.
Blending — Tank 3: All three classes — 5,000 kg, 180 min cycle.
Quality Hold — QC Lab: Anionic and Pre-neutralized — 3,000 kg, 120 min hold. Nonionic — 3,000 kg, 240 min hold.
Packaging — Drum / IBC Line: All three classes — 3,000 kg/hr throughput.
Packaging — Bulk Tanker Bay: Anionic — 20,000 kg/hr throughput.
Then enter the changeover matrix on each shared machine. Use the directional values documented in the scenario:
- Intra-class transitions: 15 min on all shared machines.
- Anionic to Nonionic: 45 min on the Neutralization Vessel and all three blending tanks.
- Nonionic to Anionic: 30 min on the same machines.
- Pre-neutralized to Anionic or Nonionic, and the reverse: 30 min on all three blending tanks.
- Pre-mix vessels: 5 min between classes (rinse purge).
- QC Lab: 0 min changeovers (modelled as a time buffer, not a physical cleanout).
- Drum / IBC Line: 15 min between any pair of the three classes (the line also runs Anionic, not only the Bulk Tanker Bay).
6. Configure calendars, exceptions, and downtimes (optional, last step). Create one Monday–Friday 08:00–18:00 calendar as the default. Add three calendar exceptions: New Year's Day (1 January, non-working), International Workers' Day (1 May, non-working), and a planned overtime Saturday (20 June, 08:00–18:00). Add two machine downtimes: a year-end plant-wide shutdown (22–31 December) and a quarterly SO₃ Falling-Film Reactor cleaning (15 March).
For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.
Common mistakes
1. Using a single blanket changeover time per stage. Entering one cleaning duration for all chemistry transitions on a shared tank ignores the directional asymmetry — 45 minutes forward versus 30 minutes backward — and prevents the algorithm from finding lower-changeover sequences. Fix: Enter the full directional matrix on each shared machine, even for pairs you expect to run infrequently.
2. Creating one product class for all three routes. A single class forces all products through the same stage sequence, so nonionic products would incorrectly route through sulfonation and pre-neutralized products would begin at feed preparation. Fix: Create a separate class per routing pattern and leave unvisited stages off each class's stage list.
3. Modelling all stages as batch type. Setting Packaging to batch instead of flow produces unrealistic durations because the schedule would compute full cycles instead of continuous consumption at the line rate. Fix: Set Packaging stage type to flow and enter the throughput on each packaging machine rather than a batch size and cycle time.
4. Defining a machine count that does not match the floor. Modelling one blending tank instead of three, or one packaging line instead of two, lets the algorithm assign jobs to resources that do not exist — or leaves real capacity unused. Fix: Add every physical machine that contributes capacity to the schedule, even if it is used infrequently.
5. Leaving calendar exceptions and downtimes unconfigured. A schedule that runs against a default 50-hour week ignores the New Year shutdown, the May Day holiday, and the SO₃ reactor cleaning, producing start and end times that shift when the calendar is eventually corrected. Fix: Enter all known holidays and planned maintenance windows before running the schedule for the first time.
What a good schedule looks like
A well-configured schedule replaces manual spreadsheet coordination with a single visual plan that the whole team can read and adjust. Here is the delta the Solchem planning team sees after moving from their baseline spreadsheet workflow to an Auto-mode schedule in Schantt.
Before (spreadsheet baseline):
- One to two orders per month routed through the wrong stage sequence because the spreadsheet's routing column was updated by hand and drifted out of sync.
- Two to four hours per week lost to a suboptimal production order — the planner used a single average changeover time and did not group similar chemistries.
- Three to five idle incidents per month, each lasting 30 to 90 minutes, when a downstream stage ran out of material before the upstream stage delivered, and the gap was noticed only after the fact.
- Two to four hours of downstream delay per incident from assigning a small batch to a large blending tank while a waiting 5,000 kg batch sat blocked.
After (Schantt Auto mode):
- Each product class follows its configured routing; mis-routed orders are eliminated at the configuration level because the schedule never sends a nonionic product through sulfonation.
- Changeover grouping is optimised by the algorithm: where a lower-changeover sequence exists (for example clustering anionic runs to minimise 45-minute cross-class cleans), the schedule adopts it automatically, recovering time that was previously lost.
- Material-wait intervals appear as labelled segments between processing bars on the Gantt. The planner sees where and why a stage stalled — and can adjust batch sizes, machine assignments, or job order to close the gap.
- Machine assignment across the three blending tanks is decided per job by the algorithm, which selects the smallest compatible tank for each batch rather than defaulting to the largest available vessel.
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