This guide walks production planners and operations managers through scheduling dry powder inhaler manufacturing in Schantt — modeling the hybrid batch-and-flow process, configuring divergent product routings with stage skipping, and setting asymmetric changeover times for potency-tier transitions. You will learn how to translate your DPI line into stages, machines, product classes, and calendars, then run it through Auto or Semi-Auto optimization.
This guide follows a fictional composite company built from industry research on dry powder inhalers; all names, parameters, and figures are illustrative.
Industry context
Dry powder inhalers deliver pharmaceutical powders directly to the lungs for respiratory conditions such as asthma and chronic obstructive pulmonary disease. The manufacturing process starts with the active pharmaceutical ingredient (API) being jet-milled to a respirable particle size of 1–5 µm, then blended with α-lactose monohydrate carrier particles that improve flow and dosing consistency. The finished blend is either filled into cold-form blister cavities on a form-fill-seal line (blister-based DPI) or packed into hard-gelatin or HPMC capsules (capsule-based DPI). Blister strips are inserted into assembled device bodies with metering mechanisms and dose counters; capsules are pouched directly. Every stage operates under GMP with environmental controls, quality-hold gates, and validated cleaning procedures between product types.
The scheduling challenge in DPI manufacturing arises from three intersecting constraints. First, the blend-to-fill handoff has a validated hold window — typically 8 hours after QA release — beyond which the blend may degrade or require re-qualification. Second, changeover times between potency tiers are asymmetric and can consume an entire shift: a high-potency to non-potent changeover takes roughly twice as long as the reverse, driven by the depth of cleaning validation required. Third, the production pipeline is a hybrid of batch stages (micronization, blending) and continuous-flow stages (blister forming, device assembly, capsule filling, packaging), each with its own timing physics and machine constraints.
AeroPulm runs about 120 people at a 4,500 m² facility, producing three product classes across seven production stages, scheduled by a three-person planning team. The plant operates a standard five-day workweek with two shifts Monday through Thursday and one shift Friday.
Process overview
flowchart LR
M["Micronization"] --> B["Blending"]
M -.-> BF["Blister FFS"]
B --> BF
B -.-> CF["Capsule Fill"]
BF --> DA["Device Assembly"]
DA --> P["Pouch"]
CF --> P
P --> C["Carton"]
Seven production stages across two batch stages (micronization, blending) and five flow stages (blister FFS, device assembly, capsule fill, pouch, carton). Solid arrows trace the primary blister-based route; dotted arrows show skip-routing paths.
Note: Class B (high-dose API-only) skips blending — micronized API is routed directly from micronization to blister FFS. Class C (capsule-based) skips blister FFS and device assembly — blend goes directly from blending to capsule fill.
Scheduling challenges and how Schantt handles them
This guide assumes demand is driven by a monthly production plan with target quantities per product class, loaded into Schantt as schedule jobs with a requested quantity and earliest available date. If your primary driver differs — for example, make-to-order with customer deadlines — the same modeling applies; adjust the job release dates to match your order book.
Schantt optimizes total production time by scheduling forward from a start date. It explores job sequences and machine assignments to minimize the span from the first job start to the last job completion. This guide assumes a two-week scheduling horizon, though the same model works for longer or shorter windows.
Two scheduling modes are available. Auto mode optimizes both the job sequence and machine assignments together, suitable for building a baseline plan from scratch. Semi-Auto mode keeps the job order fixed while the system optimizes machine assignments, useful when the planner needs to impose a preferred sequence.
What Schantt handles well
- Sequence-dependent changeovers on multi-machine stages — Device assembly cells and blister FFS lines use product-specific tooling; Schantt models directional per-machine changeover times per product-class pair, with different durations for each direction.
- Hybrid batch-and-flow routing within a single product class — DPI routes mix batch stages (micronization, blending) and flow stages (blister FFS, device assembly, packaging); Schantt supports mixed-stage pipelines in per-class routing.
- Per-class routing with stage skipping — High-dose API-only products skip blending; capsule-based products use capsule filling instead of blister forming and assembly. Schantt models per-class routing, omitting skipped stages automatically.
- Multi-machine stages with capability-restricted eligibility — Potency-tier segregation means high-potency blending must run on a contained blender. Schantt expresses eligibility by configuring rate entries only on the machines that can handle each class.
- Calendar-aware availability with shift patterns and exceptions — The facility runs on defined shift patterns with scheduled maintenance and holidays; Schantt models shift calendars per machine and team-wide exceptions.
- Auto-mode campaign optimization to reduce changeovers — Instead of manually grouping SKUs by device platform, Schantt's Auto mode optimizes the job sequence to naturally cluster similar product classes, minimizing the number of long changeovers.
How Schantt handles each challenge
1. Blend-to-fill hold window management.
- After blending, each batch must be filled into blisters or capsules within a validated 8-hour window following QA release; exceeding the window risks blend degradation and batch discard. The QA release itself takes 2–4 hours, consuming a portion of that window.
- Schantt models the blend handoff as a fixed transfer time from the Blending stage to the downstream filling stage — a conservative 4-hour transfer plus a 3-hour QA buffer, totalling 7 hours. This keeps the scheduled gap inside the 8-hour window. The planner reviews the resulting Gantt to confirm each blend-to-fill interval respects the hold; if the gap approaches or exceeds 8 hours, the planner can tighten it by resequencing jobs or applying an earlier start constraint in Semi-Auto mode.
2. Asymmetric potency-tier changeovers.
- Changeovers from a high-potency product to a non-potent product require deep cleaning and full cleaning validation — roughly twice the duration of the reverse direction. A high-to-non-potent changeover on the contained blender or blister line can consume 10 hours or more.
- Schantt models changeovers as directional per-machine times between product-class pairs. On the Contained Blender CB-1, the high-to-non-potent changeover is set to 600 minutes and the reverse to 300 minutes. The optimizer naturally sequences jobs to favour the shorter direction, clustering same-tier products and reducing the number of long changeovers in the plan.
3. Multi-machine assembly with parallel cells and tooling changes.
- Device assembly runs across two parallel cells (Assembly Cell AC-1 and Assembly Cell AC-2), each capable of 300–600 devices per hour depending on product class. Switching between device platforms requires a tooling changeover of 60 minutes per direction, and the cells share no common tooling pool.
- Schantt treats both assembly cells as parallel machines within the Device Assembly stage. Each cell has its own per-class throughput rate and directional changeover time. In Auto mode, the scheduling algorithm assigns each job to the best available cell and clusters same-platform jobs to minimise tooling changeovers. If the planner knows a specific cell is better suited for a given product, they can enforce the assignment by adding rate entries only on that cell.
4. Divergent product routings across three classes.
- Three product classes follow completely different paths through the seven-stage line. Class A (low-dose blister) passes through all stages. Class B (high-dose API-only) skips blending entirely, routing micronized API directly to blister FFS. Class C (capsule-based) skips blister FFS and device assembly, routing blend directly to capsule fill.
- Schantt models each class's unique routing through per-class stage selection. A class simply lists its stages in order; stages not listed are skipped, producing no Gantt row and no machine assignment for that operation. Bridging transfer times across skipped stages — micronization to blister FFS for Class B, blending to capsule fill for Class C — keep the handoff delays accurate even when interior stages are absent.
5. Hybrid batch-and-flow timing across the pipeline.
- Batch stages (micronization, blending) process a fixed load on a cycle, while flow stages (blister FFS, device assembly, capsule fill, pouch, carton) run at a steady per-unit rate. A batch of 25 kg of blend feeds a flow-stage blister line running at 600 blister strips per hour, and the transition between these two timing regimes must be seamless.
- Schantt types each stage as either batch or flow. For batch stages, the planner enters a batch size and cycle duration; for flow stages, a throughput rate in units per hour. The simulation computes each operation's duration accordingly — batch stages use ceil(quantity / batch size) × cycle duration, flow stages use quantity / throughput. When a downstream flow stage exhausts available material before the next upstream completion, Schantt inserts a wait-material pause visible on the Gantt, so the planner can see exactly where supply gaps occur.
What to model in Schantt
The following five entities form the top-level configuration for a DPI production scenario.
| Entity | Count | Notes |
|---|---|---|
| Stage | 7 | Micronization (batch), Blending (batch), Blister FFS (flow), Device Assembly (flow), Capsule Fill (flow), Pouch (flow), Carton (flow) |
| Machine | 9 | 1 jet mill, 2 blenders, 1 blister FFS line, 2 assembly cells, 1 capsule filler, 1 pouch machine, 1 cartoner |
| Product Class | 3 | Low-dose standard blister (A), High-dose API-only blister (B), Capsule-based single-dose (C) |
| Product | 3 | One representative product per class: Aerovent 50, PulmoKill 40, Budeson 200 |
| Calendar | 1 | Standard Production — 5-day workweek, 2 shifts Mon–Thu (06:00–22:00), 1 shift Fri (06:00–14:00) |
Step-by-step setup
Configure your DPI production model in Schantt by following these dependency-ordered steps.
1. Create the stages in order. Define the seven production stages in their natural sequence: Micronization, Blending, Blister FFS, Device Assembly, Capsule Fill, Pouch, Carton. Set each stage's production type — batch for Micronization and Blending, flow for the remaining five. On each stage's detail page, add the transfer times between successive stages:
Transfer times — main route:
- Micronization → Blending: 30 minutes
- Blending → Blister FFS: 240 minutes (includes 3-hour QA release buffer; serves Class A)
- Blister FFS → Device Assembly: 10 minutes
- Device Assembly → Pouch: 10 minutes
- Pouch → Carton: 10 minutes
Transfer times — skip bridges:
- Micronization → Blister FFS: 120 minutes (bridges skipped Blending for Class B)
- Blending → Capsule Fill: 240 minutes (bridges skipped Blister FFS and Device Assembly for Class C; includes QA buffer)
- Capsule Fill → Pouch: 15 minutes
2. Add machines to each stage. Assign the following machines to their respective stages:
- Micronization: Jet Mill JM-1
- Blending: Contained Blender CB-1, General Blender GB-1
- Blister FFS: Blister Line BL-1
- Device Assembly: Assembly Cell AC-1, Assembly Cell AC-2
- Capsule Fill: Capsule Filler CF-1
- Pouch: Pouch Machine PM-1
- Carton: Cartoner CR-1
3. Create the product classes and define their routings. Create three product classes — Low-dose standard blister (Class A), High-dose API-only blister (Class B), and Capsule-based single-dose (Class C). On each class's detail page, define its routing by selecting the stages it passes through:
- Class A (Aerovent 50): Micronization → Blending → Blister FFS → Device Assembly → Pouch → Carton
- Class B (PulmoKill 40): Micronization → Blister FFS → Device Assembly → Pouch → Carton (skips Blending)
- Class C (Budeson 200): Micronization → Blending → Capsule Fill → Pouch → Carton (skips Blister FFS, Device Assembly)
Leave the partial-transfer toggle off for all routings — each batch is transferred as a complete lot.
4. Add one product per class. Create three products, each as a representative of its class:
- Aerovent 50 (Class A — low-dose standard blister)
- PulmoKill 40 (Class B — high-dose API-only blister)
- Budeson 200 (Class C — capsule-based single-dose)
5. Set capacity parameters and changeovers on each machine. With the product classes already created, open each machine's detail page and enter its per-class capacity parameters:
Jet Mill JM-1 (batch):
- Class A: 90 min cycle, 15 kg batch
- Class B: 120 min cycle, 20 kg batch
- Class C: 90 min cycle, 15 kg batch
- Changeover: 180 min between any two classes (all directions)
Contained Blender CB-1 (batch):
- Class A: 45 min cycle, 25 kg batch
- Class C: 45 min cycle, 25 kg batch
- Note: Class B does not visit this stage.
- Changeover: 600 min from Class A to Class C; 300 min from Class C to Class A
General Blender GB-1 (batch):
- Class C: 40 min cycle, 25 kg batch
- Note: Only Class C routing visits GB-1. Class A uses CB-1 only.
Blister Line BL-1 (flow):
- Class A: 600 blister strips per hour
- Class B: 300 blister strips per hour
- Note: Class C does not visit this stage.
- Changeover: 600 min from Class A to Class B; 300 min from Class B to Class A
Assembly Cell AC-1 (flow):
- Class A: 600 devices per hour
- Class B: 300 devices per hour
- Note: Class C does not visit this stage.
- Changeover: 60 min between Class A and Class B (both directions)
Assembly Cell AC-2 (flow):
- Class A: 600 devices per hour
- Class B: 300 devices per hour
- Changeover: 60 min between Class A and Class B (both directions)
Capsule Filler CF-1 (flow):
- Class C: 2,000 capsules per hour
- Note: Only Class C uses this stage.
Pouch Machine PM-1 (flow):
- Class A: 600 pouches per hour
- Class B: 300 pouches per hour
- Class C: 2,000 pouches per hour
- Changeover: 150 min between Class A and Class B (both directions); 300 min between Class A/B and Class C (both directions)
Cartoner CR-1 (flow):
- Class A: 600 cartons per hour
- Class B: 300 cartons per hour
- Class C: 2,000 cartons per hour
- Changeover: 150 min between Class A and Class B (both directions); 300 min between Class A/B and Class C (both directions)
6. Configure calendars, exceptions, and downtimes (optional). Create the Standard Production calendar with Monday through Thursday as 2-shift working days (06:00–22:00) and Friday as a 1-shift day (06:00–14:00). Add two calendar exceptions — New Year's Day (1 January, non-working) and International Workers' Day (1 May, non-working). Add the year-end factory-wide shutdown (24 December 14:00 through 2 January 06:00). Add Jet Mill JM-1's annual preventive maintenance window (15 July 06:00 through 19 July 22:00).
For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.
Common mistakes
1. Using a single blanket changeover instead of directional per-pair times. A single changeover duration cannot express the asymmetric cleaning validation required between potency tiers — the planner misses the optimizer's ability to favour shorter-direction sequencing. Fix: Enter directional changeover times per product-class pair on each shared machine, with a longer duration for the high-to-non-potent direction and a shorter duration for the reverse.
2. Combining divergent capsule and blister routes into one product class. A single class that tries to cover both blister-based and capsule-based products forces all products through the same stage set, either adding unnecessary stages or omitting required ones. Fix: Create separate product classes for each routing — one for blister-based products (Classes A and B) and one for capsule-based products (Class C) — and define their stage selections independently.
3. Omitting planned maintenance downtimes on assembly cells. Assembly cells AC-1 and AC-2 require periodic calibration and tooling inspection that may not be captured if no machine downtimes are configured. The optimizer then schedules production during a maintenance window, forcing last-minute manual replanning. Fix: Add a machine downtime entry for each assembly cell with the expected calibration block (e.g., one 8-hour window per month per cell) so downtime events appear on the Gantt and the optimizer routes around them.
4. Creating one product class per SKU instead of per routing. Listing each individual SKU as a separate product class multiplies the changeover matrix entries unnecessarily and makes the schedule harder to adjust. Fix: Group SKUs that share the same stage routing into a single product class, then add each SKU as a product under that class. The optimizer respects per-class changeover times regardless of which product within the class is running next.
5. Setting the blend-to-fill transfer time too aggressively. A transfer time that does not account for the QA release buffer may schedule the downstream fill start before the blend has been released, causing a gap on the Gantt that appears to respect the hold window but ignores the release gate. Fix: Include the QA release time (2–4 hours, with 3 hours as a reasonable midpoint) in the bridging transfer time from Blending to the filling stage, and review the resulting Gantt to confirm each blend-to-fill interval stays within the validated 8-hour window.
What a good schedule looks like
The before-and-after comparison below assumes a typical two-week production plan covering all three product classes across the seven-stage line.
Before (manual spreadsheet scheduling):
- Planners manually group jobs by device platform to reduce tooling changes, but the grouping is coarse and often leaves a high-to-non-potent changeover between classes that could have been sequenced in the shorter direction
- Assembly tooling changeover consumes an estimated 6–8 hours per platform switch, adding roughly 24–32 hours of non-productive time per month across the two assembly cells
- Blend-to-fill gaps are estimated with a flat rule of thumb, sometimes scheduling the fill start before QA release or, conversely, leaving idle time that pushes the batch close to the 8-hour hold limit
- The weekly schedule is rebuilt from scratch when a machine breakdown or new priority order arrives, with no way to quickly assess the downstream impact
After (Schantt Auto mode):
- The algorithm groups same-class jobs together automatically, reducing the number of long potency-tier changeovers and favouring the shorter changeover direction in every sequence
- Assembly tooling changeover losses drop by clustering same-platform runs, recovering approximately 24–32 hours per month of productive capacity across the two cells
- Each blend-to-fill handoff appears on the Gantt with a transparent gap representing the transfer time and QA buffer, making it easy to verify the 8-hour hold window
- When a machine downtime or high-priority order appears, re-running the schedule in Auto or Semi-Auto mode produces an updated plan in minutes, with the impact visible on the Gantt immediately
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