Production Scheduling for Textile Dyeing & Finishing

Production scheduling software for textile dyeing and finishing mills — model colour-driven changeovers, parallel dyeing machines, mixed batch-and-flow stages, and per-class routing that skips unnecessary preparation steps.

Production scheduling for textile dyeing and finishing mills means managing colour-driven changeovers, parallel dyeing machines, and fabric that flows through both batch and continuous stages. Schantt models the full wet-to-dry production pipeline so planners can schedule jobs, assign machines, and see when each order moves through preparation, colour application, washing, drying, and finishing — all from one workspace.

This guide follows a fictional composite company built from industry research on textile dyeing and finishing; all names, parameters, and figures are illustrative.

Industry context

Textile dyeing and finishing transforms greige fabric — woven or knitted grey cloth fresh from the loom or knitting machine — into finished goods ready for garment manufacturing or home textiles. The typical mill processes fabric through a sequence of wet preparation stages (desizing, scouring, bleaching, mercerizing), colour application (dyeing or printing), washing and drying, then chemical and mechanical finishing, and finally inspection. Each stage involves different machine types, chemistries, and fabric-handling methods, and fabric widths, weights, and fibre compositions determine which stages a product class requires.

Cotton accounts for roughly a quarter of global fibre production, while polyester represents over half. Woven fabrics make up about half of all textile output, with knits at around forty per cent. A mid-market mill running two shifts processes roughly 140 jobs per week across 18 to 25 customer orders, handling around 100 active recipes and dyeing approximately 20 distinct colours per week. Dark shades (medium, dark, black) account for roughly 70 per cent of orders, while light shades (white, pastel, light) make up the remaining 30 per cent.

Apex Textile Finishers runs about 75 people at a 3,500 m² facility, making 3 product classes across 9 production stages, scheduled by a 2-person planning team.

Process overview

flowchart LR
    D1["Desizing"]
    S1["Scouring"]
    B1["Bleaching"]
    M1["Mercerizing"]
    D2["Dyeing"]
    W1["Washing"]
    D3["Drying & Finishing (Chemical)"]
    F2["Finishing (Mechanical)"]
    I1["Inspection"]

    D1 --> S1 --> B1 --> M1 --> D2 --> W1 --> D3 --> F2 --> I1

The 9-stage production flow at Apex Textile Finishers. Stage-skipping by product class: cotton knit skips Mercerizing; polyester woven skips Bleaching and Mercerizing.

Skip-routing note: Cotton knit enters at Scouring (skipping Desizing) and skips Mercerizing. Polyester woven enters at Scouring and skips Bleaching and Mercerizing. In Schantt, bridging transfer times are configured across the skipped spans so handoff delays are not silently zero.

Scheduling challenges and how Schantt handles them

This scenario assumes production is driven by customer orders, each specifying fabric type, colour, and quantity. Mills that are primarily make-to-stock can follow the same workflow with planned stock lots substituted for customer order lines. The scheduling algorithm minimises total production time — the overall completion window across all jobs — and plans forward from a start date. For this guide we assume a one-week scheduling horizon covering the roughly 140 weekly jobs across the 3 product classes.

Schantt offers two optimisation modes. In Auto mode, the system builds the complete schedule from scratch — deciding job sequence, machine assignments, and timing. In Semi-Auto mode, the planner provides jobs in a fixed production order, and the system optimises machine assignments within that sequence.

What Schantt handles well

  • Multi-stage sequential production — Fabric moves through ordered processing stages (desizing, scouring, bleaching, dyeing, washing, drying, finishing), each starting only after material arrives from the previous one.
  • Multi-machine stages — Each stage (especially dyeing) runs across several parallel machines — jets, overflows, jiggers — each with different capacity, fabric compatibility, and temperature rating.
  • Mixed batch-and-flow pipelines — Dyeing is batch (4 to 10 hours per lot); stenter drying and finishing are continuous (340 to 920 kg per hour). Different stage types chain correctly in the same route.
  • Per-class routing with stage skipping — Knits skip desizing and mercerizing; polyester skips bleaching. Each product class visits only its required stages with bridging transfer times across the gaps.
  • Sequence-dependent changeovers — A dark-to-light colour transition takes 90 to 240 minutes of cleaning while light-to-dark is 15 to 60 minutes. Directional, per-machine changeover times let the algorithm favour sequences that cluster similar classes.
  • Shift-aware calendars and downtimes — Dyeing runs two shifts, inspection runs one shift. Each machine or stage maps to its own calendar with weekday shifts, holiday exceptions, and planned maintenance downtime.

How Schantt handles each challenge

1. Colour-driven changeover time asymmetry.

  • The scheduling reality: transitioning between colour depths on a dyeing machine takes dramatically different amounts of time depending on direction — going from a dark shade to a light one requires extensive cleaning (up to 240 minutes), while the reverse is quick (15 to 60 minutes). At Apex, a worst-case sulfur black to white cleaning can approach 300 minutes. Every time the production sequence switches from a dark to a light colour on a shared machine, the mill loses hours of productive dyeing time. Planners who sequence manually tend to cluster dark shades together, but they cannot easily evaluate every possible ordering across six dyeing machines handling 20 colours per week.
  • Schantt's capability: the planner enters directional changeover times per machine and per product class — a matrix of from-to durations that captures the colour-depth asymmetry. With this data, the scheduling algorithm naturally favours sequences that group similar colour classes together, reducing the number of long cleaning operations. The changeover appears as a labelled segment on each operation's Gantt bar, so the planner sees exactly where cleaning time is consumed.

2. Chemistry incompatibility between dye classes.

  • The scheduling reality: switching between reactive dyes (used for cotton) and disperse dyes (used for polyester) requires a full chemistry purge of the machine — lines, pumps, and vessel — taking 150 to 240 minutes. This purge is necessary whenever a machine changes between fibre types, and it cannot be shortcut. At Apex, the two high-temperature jet machines (HTJ-01 and HTJ-02) are the only machines capable of dyeing polyester, which means chemistry purges are inevitable when the production plan mixes cotton and polyester orders on these machines. The planner must decide whether to batch all polyester orders consecutively or accept the purge penalty.
  • Schantt's capability: chemistry-change changeovers are entered as directional per-machine durations alongside colour-depth changeovers. Because the algorithm evaluates total production time, it automatically clusters polyester jobs on the high-temperature machines to minimise reactive-to-disperse transitions, and it can spread the polyester load across both HT jets where that reduces overall makespan. The planner sees the purge time on the Gantt as a changeover segment.

3. Batch-to-flow throughput mismatch at the stenter.

  • The scheduling reality: dyeing machines operate in batch mode with cycles of 4 to 10 hours per lot, producing fabric in discrete 300 to 600 kg loads. The downstream drying and finishing stenters run continuously at 340 to 920 kg per hour. This throughput gap makes the stenter a persistent bottleneck — it can outrun the dyehouse, then sit idle while the next batch cooks. Apex's two stenters (ST-01 for drying, ST-02 for chemical finishing) run at 85 to 92 per cent utilisation, while the dyeing machines average only 55 to 65 per cent. Batches arriving late at the stenter create a queue; batches arriving too early pile up on A-frames in the accumulation zone. The planner must coordinate dyeing completion times with stenter availability across dozens of simultaneous jobs.
  • Schantt's capability: because stage type is set per stage — batch for dyeing, flow for drying and finishing — the simulation correctly calculates each stage's duration using the appropriate physics. The drying stenter starts as soon as a partial batch arrives when partial transfer is enabled at the dyeing-to-washing handoff, so the stenter can begin processing the first usable portion of fabric before the entire dye batch finishes. The algorithm assigns jobs across the two stenters to balance their continuous load.

4. Per-class routing complexity with stage skipping.

  • The scheduling reality: not every product class visits every stage. Cotton woven fabric goes through all 9 stages, while cotton knit skips desizing and mercerizing, and polyester woven skips desizing, bleaching, and mercerizing. Each product class follows a different path through the same physical plant, and material handoff delays across the skipped spans must still be accounted for. The planner must know which stages each product class requires and ensure that a job entering partway down the line — for example, polyester woven entering at scouring rather than desizing — is not delayed by a phantom operation at a skipped stage. Without system support, this is tracked manually or in spreadsheets, and routing errors cause misaligned schedules.
  • Schantt's capability: each product class gets its own routing — the set of stages it actually requires. A stage absent from the routing produces no operation and no machine assignment for that product. For skipped interior stages, a bridging transfer time connects the stage before the gap to the stage after it, so the handoff delay is applied without creating an unnecessary row. The planner configures each class's routing once on the product class detail page.

5. Parallel machine assignment across six dyeing machines.

  • The scheduling reality: dyeing at Apex uses six machines of four different types — two high-temperature jets (polyester-capable), one overflow jet, one standard jet, and two jiggers (woven-only). Each machine has different capacity, fabric compatibility, and temperature rating. Assigning 140 weekly jobs to the right machine on the right timing is a combinatorial problem far beyond a whiteboard. Manually allocating jobs to dyeing machines consumes 3 to 4 hours of a planner's day. The planner naturally favours the machines they know best, leaving capacity untapped on less familiar equipment. Suboptimal assignments create downstream bottlenecks at washing and the stenters.
  • Schantt's capability: each machine belongs to exactly one stage, and a machine's processing parameters are defined per product class. The algorithm assigns jobs to machines based on true capability — only machines that have a processing-time entry for a given product class and stage can receive that job. In Auto mode, the system explores every feasible machine assignment for every job across all six dyeing machines and picks the combination that minimises total production time. In Semi-Auto mode, it optimises machine assignments within the planner's fixed sequence.

What to model in Schantt

Configure the following first-class entities to represent Apex Textile Finishers in Schantt.

Entity Count Notes
Stages 9 Desizing, Scouring, Bleaching, Mercerizing, Dyeing, Washing, Drying & Finishing (Chemical), Finishing (Mechanical), Inspection — all with per-class routing. Scouring and Bleaching share jet machines but are separate stages to allow polyester to skip Bleaching. Drying & Finishing (Chemical) is one stage with two stenter machines (ST-01, ST-02) — the same fabric lot passes through twice via two routing entries.
Machines 19 1 jigger (J-01, desizing), 2 jet washers (jt_01_scour/jt_02_scour for scouring; jt_01_bleach/jt_02_bleach for bleaching), 1 mercerizing range (MR-01), 4 dyeing jets (HTJ-01, HTJ-02, OF-01, JT-03) plus 2 dyeing jiggers (J-02, J-03), 2 washing machines (RW-01, OW-01), 2 stenters (ST-01 drying, ST-02 chemical finish), 1 sanforizer (SF-01), 2 inspection tables (IT-01, IT-02).
Product Classes 3 Cotton woven (full 9-stage route), cotton knit (skips desizing and mercerizing), polyester woven (skips desizing, bleaching, and mercerizing).
Products 3 One representative per class: Cotton poplin — reactive navy, Cotton jersey — reactive turquoise, Polyester taffeta — disperse navy.
Calendars 2 Main Production (06:00 to 22:00, Monday to Saturday) for wet processing, drying, and finishing stages. Inspection Only (08:00 to 17:00, Monday to Friday) for inspection and desizing.

Step-by-step setup

1. Create the stages in production order. Add each of the 9 stages — Desizing, Scouring, Bleaching, Mercerizing, Dyeing, Washing, Drying & Finishing (Chemical), Finishing (Mechanical), Inspection — in their position order. Type each stage correctly as Batch or Flow:
Desizing, Scouring, Bleaching, Dyeing, Inspection are Batch. Mercerizing, Washing, Drying & Finishing (Chemical), Finishing (Mechanical) are Flow. Then, on each stage's detail page, set the transfer times between successive stages — the adjacent-stage handoffs (10 to 15 minutes within the wet hall; 90 minutes at the dyeing-to-washing A-frame accumulation) and the skip-route bridges (Scour to Dye at 90 minutes for polyester; Bleach to Dye at 75 minutes for cotton knit).

2. Add the machines to each stage. Assign each of the 19 machines to its stage. Desizing gets J-01 (jigger) on the Inspection Only calendar. Scouring gets jt_01_scour and jt_02_scour, and Bleaching gets jt_01_bleach and jt_02_bleach as separate machine rows. Dyeing gets 6 machines — HTJ-01, HTJ-02 (high-temperature jets), OF-01 (overflow), JT-03 (standard jet), J-02, J-03 (jiggers). Washing gets RW-01 (rope washer) and OW-01 (open-width washer). Drying & Finishing (Chemical) gets both ST-01 (Stenter — Drying) and ST-02 (Stenter — Finish Cure) stenters, Finishing (Mechanical) gets SF-01 sanforizer. Inspection gets IT-01 and IT-02, both on the Inspection Only calendar.

3. Create the product classes and define each class's routing. Add 3 product classes: Cotton woven (reactive), Cotton knit (reactive), Polyester woven (disperse). On each class's detail page, define the stage routing:

Cotton woven — 9 stages: Desizing → Scouring → Bleaching → Mercerizing → Dyeing → Washing → Drying & Finishing (Chemical) → Finishing (Mechanical) → Inspection
Cotton knit — 7 stages: Scouring → Bleaching → Dyeing → Washing → Drying & Finishing (Chemical) → Finishing (Mechanical) → Inspection
Polyester woven — 6 stages: Scouring → Dyeing → Washing → Drying & Finishing (Chemical) → Finishing (Mechanical) → Inspection

Enable partial transfer at the Dyeing-to-Washing handoff for all three classes: 150 kg for cotton woven, 120 kg for cotton knit and polyester woven. This lets the downstream washing and drying stages begin on the first partially-dyed batch while the machine is still running.

4. Add one representative product per class. Create three products, one per class: Cotton poplin — reactive navy (cotton woven), Cotton jersey — reactive turquoise (cotton knit), Polyester taffeta — disperse navy (polyester woven). Each inherits its routing and machine capability from its class.

5. Configure machine capacity parameters and changeovers. On each machine's detail page:

Batch cycle durations (dyeing machines):
- HTJ-01 (high-temperature jet): 360 min cycle / 600 kg batch (cotton woven), 420 min / 600 kg (polyester woven)
- HTJ-02 (high-temperature jet): 330 min / 400 kg (cotton woven), 390 min / 400 kg (polyester woven)
- OF-01 (overflow): 300 min / 300 kg (cotton woven), 260 min / 300 kg (cotton knit)
- JT-03 (standard jet): 360 min / 500 kg (cotton woven), 330 min / 500 kg (cotton knit)
- J-02 (jigger): 300 min / 600 kg (cotton woven)
- J-03 (jigger): 270 min / 450 kg (cotton woven)

Flow throughputs (stenters and other flow stages):
- ST-01 (drying stenter): 850 kg/h (cotton woven), 920 kg/h (cotton knit), 340 kg/h (polyester woven)
- ST-02 (finish-cure stenter): 680 kg/h (cotton woven), 740 kg/h (cotton knit), 275 kg/h (polyester woven)
- RW-01 (rope washer): 680 kg/h (cotton woven), 740 kg/h (cotton knit), 290 kg/h (polyester woven)
- OW-01 (open-width washer): 520 kg/h (cotton woven), 210 kg/h (polyester woven)
- MR-01 (mercerizing range): 680 kg/h (cotton woven)
- SF-01 (sanforizer): 780 kg/h (cotton woven), 830 kg/h (cotton knit), 310 kg/h (polyester woven)

Directional changeovers per machine. On each dyeing machine, enter the from-class and to-class changeover times. Representative values:
- Colour-depth asymmetry — dark-to-light: 90 to 120 minutes; light-to-dark: 25 to 30 minutes
- Chemistry purge (reactive to disperse or reverse): 180 to 240 minutes

On the stenters, set width and temperature changeovers of 20 to 30 minutes between product class pairs. On scouring, bleaching, washing, finishing mechanical, and inspection, set minimal changeovers of 2 to 5 minutes.

6. Configure calendars, exceptions, and downtimes (optional). Set the Main Production calendar (06:00 to 22:00, Monday to Saturday) as the team default. Create the Inspection Only calendar (08:00 to 17:00, Monday to Friday) and assign it to the Desizing and Inspection stage machines. Add two calendar exceptions — New Year's Day (1 January, non-working) and International Workers' Day (1 May, non-working). Add three machine downtimes: a year-end factory-wide shutdown (24 December to 1 January), a quarterly deep clean on HTJ-01 (7 March, 07:00 to 11:00), and a weekly stenter lubrication on ST-01 (15 June, 06:30 to 07:00).

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

Common mistakes

1. Treating shared scouring and bleaching jets as a single stage. jt_01_scour and jt_02_scour (Scouring) and jt_01_bleach and jt_02_bleach (Bleaching) represent the same physical jets shared between scouring and bleaching, but the two stages serve different chemical purposes and polyester must skip bleaching entirely. If you combine them into one stage, you lose the ability to skip bleaching for polyester woven and the routing loses fidelity.
Fix: Keep scouring and bleaching as separate stages. Create separate machine rows for jt_01_scour and jt_02_scour under Scouring, and jt_01_bleach and jt_02_bleach under Bleaching so the system knows a machine doing scouring work is occupied and cannot simultaneously bleach — the same physical machine cannot process two stages at once.

2. Using a single blanket changeover time instead of a directional matrix. Entering one changeover duration for all transitions on a dyeing machine ignores the large asymmetry between dark-to-light and light-to-dark cleaning. The algorithm cannot favour clustering similar colours if the changeover penalty is the same in both directions.
Fix: Enter directional from-class and to-class durations on each dyeing machine. The extra setup effort rewards the algorithm with the data it needs to sequence similar colour-depth classes together.

3. Modelling the two stenter passes with only one routing entry. The same fabric lot passes through a stenter twice — once for drying after washing, and once for chemical finish cure. In this dataset, Drying and Finishing (Chemical) are merged into a single "Drying & Finishing (Chemical)" stage reflecting the shared stenter hardware. A routing with only one entry for this stage would schedule the lot through only one pass, missing the intermediate chemical application.
Fix: Add "Drying & Finishing (Chemical)" twice in each product class's routing — one entry for drying, one for finish cure. The algorithm then assigns the first pass to ST-01 and the second pass to ST-02, correctly modeling two sequential stenter operations.

4. Omitting skip-route bridge transfers. When a product class skips interior stages, the transfer time from the stage before the gap to the stage after it defaults to zero. The schedule then assumes instantaneous material arrival across a span that may take over an hour of trolley or conveyor movement.
Fix: Add bridge transfer-time entries for every skipped routing gap — from Scouring to Dyeing (90 minutes, for polyester skipping bleaching and mercerizing) and from Bleaching to Dyeing (75 minutes, for cotton knit skipping mercerizing). These appear as regular transfer-time rows with non-adjacent stage positions.

5. Setting machine counts that do not match the physical floor. The guide configures six dyeing machines, but if your mill has only four, entering six in Schantt would produce an optimistic schedule that assigns jobs to machines that do not exist. Conversely, modelling too few machines leaves capacity unclaimed.
Fix: Reconcile the machine count for each stage against your actual equipment. The count should match the parallel machines available — no more, no fewer. The algorithm can then assign work to the machines you actually have.

What a good schedule looks like

A well-optimised schedule for a textile dyeing and finishing mill reduces the time lost to colour-driven changeovers, balances machine load across the dyehouse, and keeps the stenters fed with a steady flow of wet fabric. The baseline figures below are drawn from Apex Textile Finishers' typical operation; your mill's numbers will vary.

Before (manual or spreadsheet scheduling):
- Avoidable cleaning time between colour transitions: 8 to 12 hours per week, driven by dark-to-light sequences that could have been clustered.
- Planner spends 3 to 4 hours per day manually assigning jobs to dyeing machines and reconciling stenter availability.
- Stenter non-productive time: 60 to 120 minutes per day from fabric changeovers and temperature recovery between width and chemistry changes.
- Average fabric residence time in the facility: approximately 30 hours from greige entry to finished roll, with 4 to 6 hours of wait time between dyeing and the drying stenter.
- Re-dye rate of up to 15 per cent on problem shades (industry estimate), adding 11 to 17 re-work jobs per week.

After (Schantt Auto mode):
- The algorithm clusters dark and light colour classes across shared dyeing machines, reducing the number of long dark-to-light cleanings. Changeover time on the critical dyeing machines is accounted for in every assignment decision, so the total cleaning penalty drops visibly on the Gantt.
- Machine assignment is automatic across all six dyeing machines and both stenters — the planner no longer spends hours allocating jobs by hand. The algorithm considers every machine's capacity, compatibility, and current load.
- Partial transfer at the dyeing-to-washing handoff lets the stenter begin processing the first 150 kg (or 120 kg for knits and polyester) before the full dye batch completes, reducing the idle wait between dyeing and drying.
- Stenter changeovers (width adjustments, temperature recovery) are modelled as per-pair durations on ST-01 and ST-02, so the schedule accounts for every setup transition and the planner sees the day's non-productive stenter time shrink.
- Total production time for the week's 140 jobs is minimised — the schedule finishes earlier in the week, freeing capacity for re-dyes and rush orders that the planner slots in Semi-Auto mode without rebuilding from scratch.

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