
M365.FM a Microsoft MVP Podcast by Mirko Peters
Constraint-Based Scheduling: The Architecture That Makes Production Plans Real
Your ERP says the customer order ships on Friday. The work order is released. The routing looks correct. Capacity appears available. Everything looks fine in the planning report. Then Monday morning arrives. A critical five-axis machining center goes down. One order is already in production. Another is waiting for material. A third could theoretically move to another machine — but only if the shared fixture is available, the correct program is approved, and a qualified operator is working that shift. The ERP plan still says Friday. But a date in ERP does not automatically mean the factory can physically deliver it. In this episode, we explore constraint-based production scheduling and the difference between a production plan that describes what the business wants and a finite production schedule that reflects what the factory can actually execute. Using a hypothetical precision-machining plant, we follow production demand from ERP through routings, machines, tooling, fixtures, labor, material, quality, MES, maintenance, and shop-floor events — and examine how a scheduling engine can combine these constraints into an achievable production schedule. WHEN THE PRODUCTION PLAN MEETS THE PHYSICAL FACTORY Production planning often begins with demand. Customers need products. Orders have quantities. Orders have due dates. ERP translates that demand into work orders, material requirements, routings, and broad capacity requirements. That is essential. But it is not the same as answering the question production needs answered every day: What can we actually run next? A production plan may reserve eight hours in a machining work center. The physical factory needs to know which machine will provide those eight hours. Is that machine available? Can it produce this exact part revision? Does it have the correct tooling? Is the fixture available? Has the material been released? Is the required operator qualification available during the planned setup? Will the order finish early enough to reach the next production step? Constraint-based scheduling takes the demand the business wants fulfilled and tests it against the conditions that actually exist in production. PRODUCTION PLAN VS. PRODUCTION SCHEDULE Production planning and production scheduling are closely related, but they answer different questions. A production plan focuses on demand, dates, quantities, materials, and broad capacity requirements. A production schedule goes deeper. It assigns an operation to a real resource, at a real time, in a real sequence. This distinction becomes especially important when planning systems use infinite capacity. An infinite-capacity plan can place more work into a time period than the physical factory can execute. Two urgent orders can both appear to require the same machine at the same time. On paper, both remain urgent. On the factory floor, one spindle can still run only one operation at a time. Finite capacity scheduling forces the conflict into the open. It accounts for resource calendars, maintenance, setup time, fixtures, tooling and other limitations rather than assuming the work center can absorb whatever demand is assigned to it. FINITE CAPACITY DOESN’T CREATE CAPACITY This is an important distinction. Finite capacity scheduling does not magically create another machine. It does not make material arrive earlier. It does not qualify another operator. It does not repair equipment. Instead, it exposes conflicts before production discovers them through delays, expediting, overtime, and customer escalations. Suppose two customer orders require the same five-axis machine. Both are urgent. Both have tight delivery dates. An infinite plan can put both into the same capacity bucket. A finite schedule must make a decision. One goes first. The other follows. Or one moves to an approved alternative. Or one becomes late. That can make the production schedule look worse than the ERP plan. But the schedule did not create the problem. The physical constraint already existed. The schedule simply made it visible. WHAT IS A PRODUCTION CONSTRAINT? A constraint is a condition that must be respected when production work is placed into time. Some constraints are hard. They cannot simply be ignored because an order is urgent. A machine cannot perform an operation if it lacks the required capability. A fixture cannot be attached to two machines simultaneously. Material on quality hold cannot be consumed. An operator without the required certification cannot perform a controlled setup. A maintenance window removes usable machine capacity. An operation cannot start before the required previous operation has produced the necessary output. Other constraints are soft. They represent preferences or business objectives. You may prefer fewer setups. You may want to minimize overtime. You may want to reduce Work in Progress. You may prioritize contractual customer dates. You may want to keep a bottleneck continuously productive. A useful scheduling principle is therefore: Feasibility first. Optimization second. First determine what production can physically and operationally execute. Then determine which feasible option best supports the business objectives. DUE DATE IS NOT THE SAME AS PRIORITY Production scheduling becomes especially interesting when several orders compete for the same resources. A due date tells you when something should finish. It does not automatically tell you the best sequence. An urgent order might require a long setup. Another order might already have material staged and use the machine's current setup. A third order might need to finish immediately because it must reach a batch process before a cutoff. Simply sorting the production queue by due date ignores these relationships. Constraint-based scheduling evaluates the complete production context. That makes priorities explicit instead of leaving them to whoever calls the planner first. ROUTINGS AND OPERATION DEPENDENCIES A production order is not a single block of work. It moves through operations. In the example explored in this episode, a machined housing needs five-axis milling, followed by heat treatment, inspection, and assembly. Those operations depend on each other. If milling finishes late, the problem does not necessarily remain in machining. The order may miss the next heat-treatment batch. That delay can move inspection. Inspection can move assembly. Assembly can move the final delivery date. This is why constraint-based scheduling needs to understand operation dependencies, not just individual machine utilization. The schedule needs to model the flow of production. MATERIAL AVAILABILITY IS MORE THAN INVENTORY A planning system might show that material exists. But can production actually consume it? Those are different questions. Material might physically be inside the factory while still waiting for incoming inspection. It may be allocated to another production order. It may be quarantined. It may require a customer-specific certificate. It may belong to the correct material grade but the wrong approved lot. A useful scheduling question is therefore not simply: “Do we have material?” It is: “Can this operation consume this approved material at this planned time?” If the answer is no, the operation is not ready — even if the machine is available. The episode shows how material and quality gates become time-based production constraints rather than simple inventory attributes. MACHINE CAPABILITY VS. MACHINE AVAILABILITY Another machine may have open capacity. That does not automatically make it an alternative. The resource must be capable of performing the operation. It may need the correct working envelope. Tolerance capability may matter. A specific controller or approved program may be required. Customer approval may restrict the operation to particular machines. Different machines that belong to the same ERP work center may therefore provide completely different executable capacity. Spare time does not create capability. This becomes critical after a machine breakdown. The scheduler cannot simply search for another empty slot. It needs to search for another valid production path. MACHINE STATE AND TRUSTWORTHY AVAILABILITY Machine data creates another challenge. Modern manufacturing equipment can produce enormous numbers of signals. Running. Idle. Stopped. Setup. Fault. Temperature changes. Vibration changes. Cycle completion. Door states. Warnings. But the production scheduler does not need every PLC signal. It needs an operational interpretation of those signals. A brief stop may require no planning response. A confirmed outage that removes several hours from a bottleneck resource probably does. The scheduling architecture therefore needs to transform raw shop-floor events into trusted capacity decisions. Real-time manufacturing does not mean every sensor event should instantly rebuild the production schedule. It means the right event reaches the scheduling decision loop before the decision window closes. Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-fm-a-microsoft-mvp-podcast-by-mirko-peters--6704921/support .






