Published on

BA111. Dynamic Buffers and Backward Scheduling: How to Reconfigure the Factory Around Due Dates

BA111. Dynamic Buffers and Backward Scheduling: How to Reconfigure the Factory Around Due Dates

Monday, 7:00 AM. Exactly one hour before the giant factory would begin its roar for the week. The air in the production management office on the second floor was heavy and cold. The smell of dust that had settled all weekend and the sweet scent of instant coffee had tangled together until it felt hard to breathe.

The production planning part leader was rubbing his bloodshot eyes in front of dual monitors, with an Excel schedule file of dozens of rows open. The screen was packed with 50 target orders he had selected overnight from three months of order backlog to meet the next due dates. Staring at the schedule plan he had organized in Excel, he said:

"All right, Factory 1 runs at full capacity again this week. Assign all 50 selected orders by machine and pack them in at maximum utilization. Run the macro as is, print the work orders, and hand them out to the floor supervisors. Issue all raw materials according to the release plan and lay them beside the machines. If a spindle rests for even one minute, we have a problem."

Just as the part leader's finger was about to press the familiar [Print] button in the Excel file.

"Take your hand off that mouse, right now." The team leader's cold voice, from the office doorway, cut through the morning air.

"Team leader. The backlog has no end. We need to get materials onto the floor quickly according to the schedule..."

"The company has finally, with great difficulty, introduced the EXA engine. And yet you still intend to cling to Excel and run the machines with the old inertia of Push production? We have already been trained to use the EXA engine. Do you still not understand that the old Excel formulas that fill machines to 100% and spread chunks of metal across the floor are what wrecked this factory with arterial sclerosis for the last 15 years?"

He blocked the monitor and closed the Excel window.

"Starting today, the rules change. We are done matching machine utilization in Excel and scattering scraps of paper across the shop floor. Do not treat EXA as some mere data repository. Push the data for those selected 50 orders into EXA's scheduling engine immediately. Before we issue Excel-based instructions by feel, make those orders fight fiercely inside the engine's 'Sandbox' and prove for themselves the most perfect flow and the optimal production schedule."

Overwhelmed by the team leader's force, the part leader swallowed dryly. Instead of the Excel file that had been closed, he brought up the EXA system with its deep black background. He transferred the 50 target orders into the engine's sandbox and pressed the [Generate Schedule] button. This was the engine's starting point for finding the optimal production schedule. The engine generates a schedule, simulates it by itself, evaluates the adequacy of the current schedule, and proposes whether policy changes are needed. That is because schedule generation fundamentally depends on the company's production policy and the setting values of key processes.

It was the first moment when the invisible, cold intelligence, the EXA scheduling engine, finally began to push out the old human inertia and seize the factory's breathing.


Let us turn the viewpoint for a moment and step directly into the inside, the Abyss, of the EXA engine, which is invisible to human eyes.

Fifty orders pour into the center of the engine's memory. The system does not think in rough bundles like humans do. The engine first snatches order #18, the K-Motors special shaft, and begins dismantling the BOM(Bill of Materials) data as if separating bone from flesh.

  • [BOM Level 0] Finished product: K-Motors special shaft (required due date: next Friday, 5:00 PM)
  • [BOM Level 1] Subcomponents: forged steel main body, special bearing, connecting flange.

The scheduling engine logic does not Push by saying, as past systems did, "Start the first process today, immediately." The engine's gaze is fixed strictly on the cliff in the future, the Drum called Friday 5:00 PM (the due date). From there, Backward Scheduling, eating back through time in reverse, began.

[Timeline Backtracking Development]

  • [Shipping inspection: 4 hours] -> must be completed by Friday, 1:00 PM.
  • [Grinding process: 8 hours] -> must be completed by Thursday, 5:00 PM.
  • [Heat treatment process: 24 hours] : must be completed by Wednesday, 9:00 AM. (Factory-wide bottleneck, Constraint)
  • [Roughing/finishing machining: 16 hours] : must be completed by Monday, 5:00 PM.

The engine tightly wove together each process's pure Run Time, Setup Time, and Queue Time, then calculated the 'Standard Buffer' aligned with the operating calendar. A total of 52 working hours. In other words, 6.5 business days were derived.

A scheduler of the past would have stopped the calculation here and output the date 6.5 days before the due date as the material release date.

But the true terror and greatness of the EXA scheduler begins here. To the Exa engine, this 6.5-day 'Standard Buffer' is not the truth. It is only a very naive and hopeful 'Prior' made from historical averages.

Now the system pulls the trigger on the 'Bayesian Auto Tuner' algorithm, the heart of EXA and the so-called Game Changer. This heavy Bayesian inference engine, too burdensome to run during real-time shop-floor control because of server load, awakens once a week during the 'weekly scheduling' stage, monopolizing all resources.

This 'Auto Tuner' is not a one-dimensional task of merely increasing or decreasing buffer length. EXA's MCMC model digs into the blood-stained historical performance data in the server background, then calculates, proposes, and updates the fundamental 'Parameter' values that make up the factory itself.

As MCMC swept through past production record data with hundreds of thousands of Random Walks, shocking truths invisible to human eyes emerged as probability distributions.

  • [Readjustment of item-process machining time and setup time] The K-Motors special shaft had a strange Fat-tail Risk distribution: when rainy-season humidity exceeded 80%, the defect rate from deformation after heat treatment soared from an average of 2% to a staggering 15%. EXA's Auto Tuner caught this 'tail of uncertainty' and immediately updated the item's 'defect rate and setup time parameters' upward.
  • [Dynamic tuning of optimal transfer batch and lead time] When heavy forged steel was moved in transfer batches of 1,000 units according to old habit, the Queue Time and transfer time parameters had previously been treated as fixed values (2 hours). But inference proved that in reality, combined with the bottleneck phenomenon, they were consuming an average of 5.5 hours. Auto Tuner immediately proposed the optimal transfer batch size and corrected the queue time parameter in real time.

By fusing the parameters updated by this Auto Tuner, the Bayesian engine drew the most realistic and cruel 'Posterior' curve.

As a result, the 'prior probability buffer' that naively seemed sufficient at 6.5 days was revealed to be an illusion. The 'real buffer' for 99% due-date compliance probability derived by MCMC, that is, the 'Dynamic Buffer', expanded massively to no less than 9 business days.

But here the system faces a huge 'Temporal Paradox'. The workable starting point is 'Monday, 08:00 AM.' Only 40 working hours (5 business days) remain until the Friday due date. But to complete this part, the minimum guaranteed by MCMC is 9 business days (72 working hours).

According to the Backward logic, the material release Rope for this order should already have been released last Wednesday. But real time does not flow into the past. The machine cannot be turned on by going back to last Wednesday.

At this moment, a trigger fires in the heart of the EXA engine. IF Release_Date < Current_Time THEN Switch_to_Forward_Scheduling

Having hit the wall of the past through backward calculation, the system immediately and violently reverses the calculation direction for order #18 toward the future. It forcibly fixes the starting point at '(Monday 08:00)' and switches to Forward Scheduling, pushing the remaining 9 business days' worth of parameters forward.

  • Push 72 working hours forward from Monday 08:00.
  • [Machining] -> [Heat treatment] -> [Grinding] -> [Inspection]
  • Derived realistic expected completion date: next Tuesday, 2:00 PM.

Inside the chipset, the engine delivers its cold verdict. "Even if the machine runs perfectly without rest, order #18 is physically expected, with near certainty, to be at least 3 business days late." The system forcibly mutated this order's label into warning red, Super Red.

But the tragedy does not end here. A factory is not a single lonely line. As order #18 is pushed out by Forward Scheduling, the time when this part occupies 'Heat Treatment Machine 3,' the factory's absolute Bottleneck, becomes fixed for this Wednesday morning. But the large orders #12 and #33, which had been scheduled normally through Backward scheduling, were also reserved to enter Heat Treatment Machine 3 at exactly Wednesday morning.

Inside the database, tens of tons of virtual metal masses collided head-on at the narrow entrance to the heat treatment furnace.

The engine immediately calculated the 'Constraint Planned Load'. As of Wednesday 9:00 AM, the Capacity of Heat Treatment Machine 3 is 100%. But as three orders rush in at once, the demanded load is no less than 142.5%.

Here, the risk weight pre-updated by the Auto Tuner calculation quietly intervenes and delivers the finishing blow. "Order #12 has a probabilistic Fat-tail in which heat treatment time doubles when a defect occurs." The engine overlaid this risk parameter onto the bottleneck load.

Final constraint planned load: 168.2%.

The engine's long, heavy calculation ended. The sandbox mercilessly vomited this hellish simulation result onto the human dashboard.


Only 4.5 seconds. (It took slightly longer than usual because MCMC computation was included.) When the first simulation result appeared on the screen, the entire dashboard was dyed a deep blood-red. Gitae's face turned white.

[ First Simulation Evaluation Result (Push & Overload) ]

  • Due Date Hit Rate: 54.2% (critical collapse. Many orders, including order #18, confirmed delayed)
  • Constraint Load: 168.2% (Heat Treatment Machine 3 paralyzed. The machine stops and the floor bursts)
  • T/Cu (Throughput per unit): $110 / Hour (about half the optimal level. Large, toxic inventory occupying the bottleneck)

"Team leader! This is insane! Orders that ran out of time during backward scheduling switched to forward scheduling and all got pushed back. On top of that, things are tangled in front of the bottleneck on Wednesday, and the load rate hits 168%! Even running at 100% full capacity is not enough. How are we supposed to get this out!"

Minjae, who had been silently watching the monitor from behind, turned Gitae's chair around.

"This is the horrific chain collision that happens on the real factory floor when you shout in your head, 'Just shove everything in first!' The Bayesian Auto Tuner pulled in all the historical defect data and queue time parameters and showed us the future hell in advance."

He pointed at the screen. "Machine capacity is not infinite. If you push in 168%, you do not get 168% out. The machine collapses, people run around in confusion, and shipment output converges toward 0%. Now, we begin surgery on this blood-red cutting board."

Minjae opened the Parameter adjustment window.

"First. We forcibly lower the 'target planned load rate' parameter of Heat Treatment Machine 3 from 100% to 85%."

"What? With 168% piling up, you want to run the machine 15% less?"

"That remaining 15% is 'Protective Capacity', an empty space deliberately left doing nothing. If the sales team suddenly rushes in and tries to pull a due date forward unreasonably, or if a defect explodes in inspection and the crisis index soars, the factory dies instantly unless there is empty space to absorb that impact. 100% utilization is a drug."

"Second. Apply the optimization rule proposed by the EXA engine." When Gitae activated the system's [Auto Tune] button, the engine immediately overturned the priority order of the orders.

Watching the screen, Gitae tilted his head. "Huh? Team leader, why is the system doing this? It pushed back order #33, whose original due date is more urgent, and pulled order #12, whose due date is still a week away, to the very front of the bottleneck equipment. Under identical conditions, why did the engine change the priorities on its own? Isn't this an error?"

Minjae smiled and pointed to the indicator at the bottom right of the screen. "It is not an error. That is exactly the result of the engine reranking by 'T/Cu(Throughput per Constraint unit)'."

"T per Cu... you mean throughput per unit of constraint process?" "Exactly. No matter how urgent the due date is, if the 'cash generation capability' earned by occupying Heat Treatment Machine 3, our company's lifeline, for one hour is low, it gets pushed back. Order #33 is toxic inventory: large in size but with no margin. When conditions overlap, the system calculates which order should ride the bottleneck first so that money accumulates in the company's vault fastest, then lines them up again."

"Ah..." Gitae let out an exclamation. "And as the Auto Tuner recommended, break the huge metal masses of order #33's transfer batch size ruthlessly from 1,000 units down into units of 50. Make them flexible, like small grains of sand that can slip into gaps."

Gitae's hands grew busy. He set the protective capacity to 85%, accepted the T/Cu priority adjusted by the engine, split the transfer batch, and pressed the [Second Simulation Run] button again.

The engine spun fiercely again. This time, the Bayesian engine cheered. "The transfer batch has been reduced to 50. This means that even if a welding defect occurs, the mass of fat-tail risk discarded at once has shrunk dramatically!" As MCMC updated the posterior probability again, the tail of the probability distribution stabilized. Then the size of the dynamic buffer required by the finite-capacity Exa Scheduling Engine slimmed down sharply. The volumes that had been colliding head-on at 168% in front of the bottleneck, now split into units of 50, began flowing through the gaps in orderly fashion like traffic lights at an intersection.

Only 1.5 seconds. The newly rendered second simulation dashboard was almost unrealistically calm.

[ Second Simulation Evaluation Result (Tuned) ]

  • Due Date Hit Rate: 98.8% (even order #18, which had been confirmed delayed, narrowly makes it through fragmented gaps)
  • Constraint Planned Load: 84.5% (perfectly securing the targeted 15% protective capacity)
  • T/Cu: $225 / Hour (profitability maximization achieved)

Part leader Gitae swept his eyes over the screen with a moved expression. "Even though the load rate dropped to 84%, the money earned per hour doubled and all due dates are met... We let the machine rest, but efficiency went up... Team leader! I will press the Commit button right away!"

"Stop." Minjae's hand covered Gitae's wrist on the mouse. "The mathematical simulation is over. Open the Gantt Chart."

[Phase 4: Auto Tuner's Warning and the Architect's Confirmation]

The screen changed, and the 50 orders were split into hundreds of rectangular blocks, so-called 'Pucks', packed tightly onto each equipment timeline. It was a mathematical work of art, fitted together perfectly like Tetris.

But something strange caught Gitae's eye. It was the gap between the Pucks arranged on the Main CNC Machine 3 line. "Team leader. Here, right after the cast iron machining Puck (order #22), the titanium ultra-precision machining Puck (order #45) should normally be attached... but the system forcibly opened a 2-hour White Space in the middle and pushed order #45 back. Did I set the parameters wrong?"

As Gitae, flustered, tried to move the mouse, Minjae placed a firm hand on his shoulder with a weighty smile. "Part leader Gitae. That is the difference between scraps of Excel and the Exa system. The engine did not make an error. The engine caught 'our fatal error'."

"What? An error?" "Open the BOM master data. At some point in the past, while someone was typing in Excel, the Setup Time for order #45 (titanium) was entered as only 10 minutes. A perfect human error."

Minjae pointed to the empty space on the Gantt chart. "After cutting cast iron, fine vibration heat remains in the spindle, and debris mixes into the cutting fluid tank. If you mount titanium worth millions of won in that state without cooling and cleaning the machine, chips cling and cause 100% scratch defects. The physical setup time is not 10 minutes. It needs at least 2 hours."

Gitae slapped his forehead as if realizing it. "Ah... that's right. Then how did the engine leave that spot empty for 2 hours even though the setup time was written as 10 minutes?"

"That is the skill of the Bayesian Auto Tuner." Minjae's eyes shone. "As Auto Tuner gathered historical performance data with MCMC, it found a strange pattern. It discovered that 'whenever order #45 (titanium) was inserted specifically right after work on order #22 (cast iron), the defect rate exploded, or floor operators stopped the machine on their own and delayed the work.' The system did not blindly trust the master data number (10 minutes). It learned the actual behavior pattern on the floor and forcibly inserted a 2-hour Buffer into the timeline by itself."

"That gives me chills..." Gitae swallowed dryly. "So the machine defused the bomb we missed." "Let us correct the setup time in the master data separately later. For now, we accept this perfect timeline proposed by the EXA engine as is."

The cold skeleton of data (ExaScheduling Engine), the Bayesian Auto Tuner that goes beyond the neural network of probability and even corrects errors by itself, and the architect's intuition that interprets the result were the ultimate manufacturing masterpiece, perfectly orchestrated on a single Gantt canvas.

"Part leader Gitae. Now, pull the trigger of history."

[Phase 5: Commit and the Beginning of the Great Flow]

With a heavy heart, Gitae clicked the [Commit Weekly Schedule] button at the upper right of the dashboard.

Click. At that moment, the perfectly tuned data that had endured hundreds of thousands of simulations in the sandbox rode the transaction of the live database and was forcefully applied over the actual operating environment. The 'absolute time' in which the fate of 50 orders and hundreds of Pucks had to move was fixed like stone.


[Epilogue: The Committed Schedule, and the Empty Factory One Month Later]

One Monday at 8:00 AM, exactly one month after the schedule had been committed and the system had begun perfectly controlling the shop floor.

The heavy bell announcing the start of weekly work rang through the factory.

Monday mornings of the past were battlefields. In the days when Gitae ignorantly threw orders into the floor by Push, as soon as it became 8:00 AM, the giant shutter door of the warehouse screamed open, and four forklifts endlessly carried out hundreds of tons of metal masses. Pallets piled up like mountains in every aisle, making it hard for even one person to pass, and supervisors clutched radios at their waists, fighting with curses mixed in as they shouted, "Who blocked the front of my materials?" Everyone was sweating and running around busily, but no goods were actually leaving for the shipping area. That was not 'production'. It was 'Chaos'.

But today, one month later, the factory's morning scene was eerily unfamiliar and quiet.

In front of the material warehouse. A forklift was waiting, but chunks of metal were not pouring out insanely as they had in the past. When the warehouse clerk scanned a barcode with a PDA, the Exa system was firmly locking the gate.

"Beeep- [Release denied: Release Date not yet reached. Material issue Lock maintained]"

This merciless iron rule was firmly trapping dozens of orders that did not need to be released today inside the warehouse (Choking). The warehouse's automatic door only let out the quantities whose release time had arrived today, and even then only the transfer batch quantities of '50 units' precisely split by the system, sliding them gently onto the floor like grains of sand.

Before Minjae and Gitae, who had gone down to the first-floor shop floor, an unbelievable, wondrous scene was unfolding, finally settled after a month of bone-cutting control.

When the mountain-like WIP obstacles completely disappeared, the vast epoxy-gray floor of the entire 1,000-pyeong factory came into view for the first time in 15 years. In the open space, operators no longer wandered through tangled piles of materials searching for drawings, or stood around waiting for forklifts to pass.

The small chunks of metal that had passed through the system's strict control and entered the floor were loaded onto AGVs as soon as they were cut in the first press process, without even a moment to pile up beside the machine, and moved ceaselessly to the next process. It was not a huge stagnant pond rotting in place, but a clear and overwhelming 'rapid Flow' itself, rushing down a narrow, steep valley.

On one side of the floor, five non-constraint machines (general milling machines) stood quietly stopped with their power off. In the past, a supervisor unable to stand the sight of an idle machine would have mounted any chunk of metal on it and spun it to build up 'fake performance'. But now, no one blamed those machines. Operators watched the dashboard while drinking coffee, or calmly wiped their Tools for the next setup.

That is because machines resting did not mean the factory was idle. It was the most elegant proof that every process was controlling Flow in perfect harmony with the speed of the most fearsome bottleneck, the heat treatment furnace.

And when the appointed time came, Main CNC Machine 3 finished cast iron machining and stopped operating for exactly 2 hours, matching the empty space the system had opened by itself. Operators hummed as they replaced cutting fluid and wiped chips from the spindle. The Exa dashboard, on the shop floor's large monitor with its dark 1E1E1E background, was monitoring this 2-hour machine silence and the empty 15% protective capacity in calm Green as 'part of the perfect plan.'

Part leader Gitae looked across the empty floor and murmured in a trembling voice. "Team leader... compared to one month ago, there is so much more time when machines are stopped, but the speed of finished goods pouring out of the final assembly line is 1.5 times faster than usual. The aisles are empty, but the money earned per hour has doubled. There are no raised voices on the floor, and no one is running. It is so quiet... now it feels almost wondrous."

Minjae gave a weighty smile. "The true greatness of scheduling is not in turning spindles 100 times and making the floor a battlefield. It is in the truth grasped by the vast brain of the Bayesian Auto Tuner and the architect's intuition that catches errors negotiating fiercely, then 'opening the warehouse door at the most perfect timing(Choking the Release)'. If we control only that perfectly, the floor becomes this huge, quiet river by itself and flows into the sea called the shipping area."

Because this overwhelming and meticulous skeleton of scheduling had been established.

Even if, one Wednesday afternoon, the sales manager screams unreasonably to pull in a schedule (Case 1). Even if a night-shift operator tries a trick to process a green order first, gets blocked by a transaction rollback, and curses (Case 2). Even if, on Friday morning, a defect explodes in the inspection room and P-Aero's crisis index soars to 130% (Case 3).

The spine of this giant factory never breaks. Because from the beginning, there is no pile of metal garbage blocking the path on the shop floor, and the pre-reserved '15% protective capacity' and the vast empty Buffer zone have become the ultimate shield that fully absorbs the impact no matter what bombardment falls.

Somewhere, the gigantic data gears in an invisible server room were silently pulling the Rope at the most perfect timing to the market's Drum, laughing at humanity's old Push inertia.

The old history of manufacturing came fully to an end, and the era of true Flow, Pull, created by the ensemble of human intuition and the cold system (Exa), raised its grand anchor.

Bayesian EXAWin-Rate Forecaster

Precisely predict sales success by real-time Bayesian updates of subtle signals from every negotiation. With EXAWin, sales evolves from intuition into the ultimate data science.

Comments0

Deep Dive

More in Bayesian

Explore Archive
BA024. The Evolution of EXAWin Bayesian Engine: The Day Data Tuned Its Own Parameters
Bayesian
Auto-Tuner
EXA Intel

BA024. The Evolution of EXAWin Bayesian Engine: The Day Data Tuned Its Own Parameters

The EXA Bayesian Engine calculated win probabilities, but its precision depended on manually configured initial parameters. When 100 historical deals accumulated, the engine was ready to evolve on its own. Grid Search, MCMC Ensemble Sampling, and Cross-Validation — three mathematical pillars working in concert to find optimal parameters. Told as a story.

ANALYSIS
BA025. Finding the Optimal Boundary — The Math of Grid Search and Youden's J
Bayesian
Auto-Tuner
EXA Intel

BA025. Finding the Optimal Boundary — The Math of Grid Search and Youden's J

How do you find the 'optimal' among 3,240 parameter combinations? Grid Search performs an exhaustive scan, and Youden's J Index finds the balance point between Sensitivity and Specificity. The mathematical principles behind data-driven tuning of sales stage weights (T) and signal sensitivity (k) — the first pillar of Auto-Tuner — explained with business context.

ANALYSIS
BA026. Consensus of the Particles — The Math of MCMC Ensembles and Cross-Validation
Bayesian
Auto-Tuner
EXA Intel

BA026. Consensus of the Particles — The Math of MCMC Ensembles and Cross-Validation

If Grid Search found the 'tallest hill,' the MCMC Ensemble Sampler is the process by which 256 explorers reach consensus that 'the height is correct.' The mathematical principles behind Emcee's affine-invariant walkers, R̂ convergence diagnostics, HDI 95% credible intervals, 5-Fold cross-validation, and Signal Lift analysis — explained with business context.

ANALYSIS
BA111. Dynamic Buffers and Backward Scheduling: How to Reconfigure the Factory Around Due Dates | EXA Enterprise