Industry Applications (EDGEBIC)

Running Parallel SMT and Assembly Lines

User Solutions TeamUser Solutions Team
|
9 min read

Two SMT lines are only worth two lines if the schedule knows they can run the same job at the same time. EDGEBIC by User Solutions models that three different ways, and choosing the wrong one is the most common configuration mistake in high-mix electronics. This post covers what each mode does, what the engine actually checks, and how to pick.

The Pain: Capacity That Exists on Paper and Not in the Plan

A typical mixed-technology plant has two placement lines, several test stations, a couple of conformal coat chambers, and one or two operations that physically require more than one machine running together.

The scheduling system usually models all of that as a list of independent work centers. So a 16-hour placement job goes on one line for two days while the second line sits idle in the plan, and a supervisor manually splits it every week. Or worse: the plan books both chambers for a synchronized coat pass without ever checking that both are free at the same moment, and the discovery happens when an operator finds one chamber already loaded.

The distinction that fixes this is not "do you support parallel machines". It is which of three quite different behaviors you actually need.

Three Modes, Three Different Answers

ModeWhat it meansCapacity behavior
Independent parallelTwo or more machines run the operation at the same time, sharing the workEvery machine's capacity is checked and consumed
Dependent parallelA secondary machine mirrors the primary's timing exactly, hours scaled by a factorThe mirror is written without a capacity check
True alternateA different machine replaces the primary when it would finish soonerThe chosen machine's own times are used; selection happens before scheduling

The full mechanism, including the resolver and the rollback behavior, is in parallel work centers explained. What follows is how each mode plays out on an electronics floor.

Independent Parallel: Two Lines, Half the Time

This is the mode most people mean when they say parallel.

Take an assembly operation, 200 boards, 16 hours of work. Primary line Assembly-1, alternative Assembly-2 configured as parallel with capacity checked and a factor of 1.0. Both run an 8-hour day shift Monday to Friday. Earliest start Monday 08:00.

The engine searches for a simultaneous slot: a date, shift, and start time where every machine in the group has genuine capacity at the same moment. Monday's day shift shows 8 hours free on each line, so the slot is found.

ScheduleWork centerStartEndHours
S-1Assembly-1Mon 08:00Mon 16:008
S-2Assembly-2Mon 08:00Mon 16:008

The operation completes Monday 16:00 rather than Tuesday 16:00. Both capacity pools are consumed, so neither line looks free to a different job in that window. Throughput on that operation doubles, honestly.

The search is all or nothing. If Assembly-2 is down for maintenance Monday and Tuesday, the group does not let Assembly-1 start alone. The engine walks day by day until it finds a window where every machine has capacity, and starts them together on Wednesday. That is the right behavior even though it looks conservative, because a half-committed parallel operation is a plan the floor has to unpick by hand.

Dependent Parallel: Machines That Must Move Together

Some operations are not a split. They are one operation that physically occupies more than one machine.

A synchronized two-chamber coat and cure pass. A multi-head press that must index together. A test fixture bank driven by one controller. In these cases the secondary machines are not earning their own slot; they are along for the ride.

Dependent parallel handles it by mirroring. The primary machine earns its window through the normal capacity search. The secondary machines then receive schedule rows with identical start and end timestamps, and hours scaled by a factor. A factor of 1.0 means equal work, 0.5 means half, 2.0 means twice.

Consider a synchronized drill or coat operation with 10 hours on the primary across a day shift plus part of the next:

MachineWindowHoursSource
PrimaryMon 08:00 to 16:008Capacity checked
PrimaryTue 08:00 to 10:002Capacity checked
Mirror AMon 08:00 to 16:008Mirrored
Mirror ATue 08:00 to 10:002Mirrored
Mirror BMon 08:00 to 16:008Mirrored
Mirror BTue 08:00 to 10:002Mirrored

Every timestamp matches within each pair. Synchronization is guaranteed by construction rather than by search.

The trade is explicit and you should know it going in: mirrors are registered without a capacity check. The primary earns the slot; the mirrors follow. That means a mirrored machine can be booked in a window where an unrelated job also wants it, and the schedule will not stop you. Reserve dependent parallel for machines that genuinely have no independent life, and do not use it as a shortcut for "these two usually run together".

A worked walkthrough of the synchronized case is in the synchronized multi-spindle example.

True Alternate: Whichever Line Finishes First

The third mode is not simultaneity at all. It is choice.

Three test stations, one primary and two alternates, each with its own run time. The primary is fully booked Monday. Alternate 1 can start Monday. Alternate 2 can start Tuesday.

Before any capacity is allocated, the resolver compares projected completion across the candidates:

CandidateOwn run timeProjected completion
Primary8 hWednesday 10:00
Alternate 16 hMonday 16:00
Alternate 28 hTuesday 16:00

Alternate 1 wins, the step's work center is switched to it, and scheduling proceeds as though it had always been the primary. Note that the alternate's own run time is used rather than the primary's scaled by a factor: a faster station with a better fixture is planned at its real speed.

In a high-mix shop where boards can run on several test stations with different cycle times, this is where lead time quietly comes back. The mode is worth configuring on every operation that genuinely has more than one home.

Choosing the Right Mode

Three questions settle it in most cases.

Can the operation be split across machines and still be correct? If yes, independent parallel. Two SMT lines placing halves of a lot. Two benches building the same harness.

Must the machines start and finish at exactly the same instant because they are one physical process? If yes, dependent parallel, and accept that the mirrors are not capacity-checked.

Is only one machine going to run it, but you do not care which? True alternate.

The mode that gets misused most is dependent parallel, chosen because it always finds a slot. It always finds a slot precisely because it does not check, which is the opposite of what you want from a capacity plan.

All or Nothing, and What Happens When It Fails

Independent parallel scheduling is deliberately committed as a unit, and it is worth seeing the failure case because it explains a schedule that otherwise looks unhelpfully conservative.

Take a three-machine group where the second machine is down Monday and Tuesday.

DayMachine 1Machine 2Machine 3Result
Mondayavailablemaintenanceavailablerejected
Tuesdayavailablemaintenanceavailablerejected
Wednesdayavailableavailableavailableslot found

All three start together Wednesday 08:00. The job is two days later than machine 1 alone could have started, and that is correct: letting machine 1 start alone would produce a plan the floor has to unpick, with two thirds of an operation stranded.

Behind that, every allocation the engine makes during a parallel attempt is paired with an undo action. If the attempt fails partway through, the placements already made are reversed in order and the capacity they consumed is released. A half-committed parallel group never survives into the saved plan, and a retry sees an untouched capacity picture rather than the residue of a failed attempt.

One caution follows from the dependent mode. Because mirrors are registered without a capacity check, a machine that appears only as a dependent mirror should not also be the primary home for unrelated single-machine jobs. The unrelated job will see apparently free capacity in a window a mirror already occupies. Keep mirror-only machines out of the general routing pool and the hazard does not arise.

The Configuration Detail That Silently Breaks Groups

Independent parallel requires a common shift across every machine in the group, and the engine intersects shifts by identity rather than by hours. Two shifts with the same start and end times but separate records are not common.

That single fact accounts for most "no simultaneous capacity found" reports on floors where the machines are obviously free. If a parallel group never schedules, check that every machine in it references the same shift record before looking anywhere else. Shift structure is covered in shifts and calendars explained.

Two other checks are worth running when a group refuses to schedule: whether the machines have enough instances configured for the hours being requested, and whether one of them carries a holiday or downtime rule that removes the window.

Parallel Lines and the Rest of the Plan

Parallel capacity interacts with everything downstream. Halving a placement operation is only worth it if the test step can absorb the earlier arrival, which is where overlapping the operations helps: see overlapping board build and test.

It also interacts with multi-level routings. A board branch running on two lines finishes earlier, which pulls the module join step earlier, which pulls final test earlier. The connection is automatic once the routing graph is right: see scheduling multi-level electronic assemblies.

And it interacts with bottleneck thinking. Doubling capacity on an operation that was never the constraint changes nothing except where the queue sits. Identify the constraint first: production bottleneck identification is the place to start.

Where the shared machine is a process tool and the real cost is the recipe change between lots, see semiconductor scheduling and recipe changeovers. For scheduling practice across electronics manufacturing, see the electronics manufacturing scheduling overview and the electronics manufacturing scheduling software page. For the rest of this series, see EDGEBIC by industry, and for the product, EDGEBIC.

Expert Q&A: Deep Dive

Q: We have two SMT lines with the same feeders. A 200-board job needs 16 hours of placement. What does the schedule look like on one line versus two?

A: On one line, 16 hours of an 8-hour day shift means Monday 08:00 to 16:00 and Tuesday 08:00 to 16:00, finishing Tuesday afternoon. Configured as independent parallel with both lines checked and consumed, the engine looks for a window where both are free at the same start. Both are open Monday: SMT-1 takes 8 hours Monday 08:00 to 16:00 and SMT-2 takes 8 hours in the same window. The operation completes Monday 16:00 rather than Tuesday, and both lines' capacity pools are consumed normally, so neither line looks free to another job. Throughput on that operation doubles and the downstream test step gains a full day.

Q: Our conformal coat and cure has to run as one synchronized pass across two chambers. That is not the same as splitting a job, is it?

A: No, and it is worth configuring differently. Splitting is independent parallel: each machine earns its own slot and consumes its own capacity. Lockstep is dependent parallel, where a secondary machine mirrors the primary's timing exactly and its hours are scaled by a factor. In practice the primary chamber earns the slot through the normal capacity search, and the mirror is written with identical start and end timestamps. A factor of 1.0 means equal work; 0.5 means half. The mirrors are not capacity-checked, which is the trade: you get guaranteed synchronization, and you take on the responsibility of not booking that mirrored chamber for an unrelated job in the same window.

Frequently Asked Questions

Ready to Transform Your Production Scheduling?

User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team

User Solutions Team

Manufacturing Software Experts

User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.

Let's Solve Your Challenges Together