The manufacturing scheduling challenge
Generating an optimal schedule is essential for production management, having a significant impact on the efficiency and productivity of the whole operation and, hence, on top and bottom line. Yet, building a high-quality schedule has been known to be one of the most complex and challenging business tasks. Numerous algorithms have been proposed to automatically generate production schedules that optimize a mix of quality goals set by the user as measured by holistic (macro) KPI metrics of the overall schedule, such as percentage of due-date compliance, throughput, or machine utilization. However, creating production schedules that are both mathematically optimal and fully practical in execution has been an elusive goal for decades. Over many years I have witnessed multiple scenarios when managers, upon reviewing a Gantt chart of a supposedly “optimal” schedule for the coming week, would need to introduce local/micro changes, even though they knew they were potentially compromising the goal mix or bending business rules that they themselves had set, because it was obvious that what the chart said was mathematically optimal wasn’t necessarily practically optimal.
By integrating AI optimization algorithms with unsupervised machine learning, Plataine’s new Practimum-Optimum™ algorithm (patent pending) responds to a long overdue clear market need to practicalize schedule optimization. We can now provide what we are calling the Practimum-Optimum™ schedules that are both optimal and practical.
The root cause of weaknesses in current scheduling algorithms
“I have got a business to run, and I do not mind overriding my own objectives or breaking my rules.”
I still recall the scenario when I first heard this statement from Eugene, an executive of a large organization, during a demonstration of a schedule optimization software app. Terry, a sales engineer, started the demo by loading a large demand set of work orders selected by Eugene to be scheduled for the coming week. With one click, the software produced a very impressive schedule, aligned with Eugene’s pre-stated business goals for the overall schedule. It included excellent scores for KPIs such as due date compliance, machine utilization, throughput, and the like, and reported a great weighted Z score for the overall schedule quality metric. Eugene’s first reaction was very positive, admitting that he rarely sees such an optimal combination of his various business goals. Subsequently, as he looked deeper into individual assignments, Eugene realized that a work order from a very important customer was left out of this week’s schedule, meaning that it would miss its due date. He asked Terry to add that work order to the schedule and make the necessary changes to the other work orders. After Terry made the change, the schedule’s overall quality Z score decreased, and Terry brought this to Eugene’s attention, saying that he was contradicting his own pre-set optimization objectives. Eugene, muttering something politely, continued reviewing the schedule and kept asking Terry for additional local changes, such as adding time buffers at the end of some tasks in case their actual execution time would take longer than planned. Terry kept commenting quietly that the overall Z score was deteriorating. At some point Eugene banged on the desk and said: “I have got a business to run, and I do not mind overriding my own objectives or breaking my rules”.
When mathematics bumps into real life
The first time I came across a similar scenario years ago, my initial reaction as a mathematician was to ask: “Just formulate for me the considerations behind your desired local changes, i.e., micro-level objectives. I will integrate them into the mathematical model, and the algorithm will then produce for you the ‘right’ optimal schedule the first time around.” The only problem with such a logical request is that the user cannot fully identify his or her ‘desires’ ahead of time. This is illustrated by the answer I often heard: “when I see it (the schedule), I‘ll know it”. In other words, the number and variety of potential local changes in the schedule is just too large to be enumerated ahead of time, and the user spots them only when a schedule is presented. Moreover, when we did manage to make some progress in mathematical modelling of such local changes and asked the user to characterize the circumstances under which a certain change applies, the most frequent expression we heard in a long reply was “well, it depends on …, but it also depends on …!”
Related research in consumer behavior
Researchers of consumer behavior examined extensively the way consumers make choices and set, construct, reveal and reverse their preference framework, and to what extent they are rational and consistent. It seems to be widely accepted that actual preferences at choice time are context-dependent and sometimes unstable. Most of these works deal with consumer behavior. What we have seen above is similar context-dependent subjective judgement behavior by businesspeople, sensibly rationalizing their decisions using factory-specific knowledge. Such behavior that seems to show inconsistency or ‘preference reversals’ is not a broken thing that need to be fixed or can be fixed. It is part of real-life and makes perfect business sense as the decision maker is trying to balance conflicts between macro-level and micro-level objectives.
This leads to the conclusion that for some business problems, we can only get imprecise or incomplete statements from users of the actual optimization problem they face. In such a case, what is mathematically optimal is not necessarily practically optimal. For such problems, once a schedule is generated by a mathematical algorithm that aims at optimizing a holistic Z score and presented to its user, it is likely that the user will make local changes in individual assignments to address practical objectives related to specific customer priorities or executability considerations. And these changes do make perfect business sense even when they imply lower scores in the overall schedule metrics. Thus, a practical schedule optimization software must include support for integrating subjective judgment changes in a mathematically ‘optimal‘ schedule.
Practimum-Optimum™ algorithm: The essence
Over the years, as I continued to witness similar scenarios, more-often-than-not, I implemented several ad-hoc ways to support the user in integrating subjective judgment changes in the output schedule of the optimization software. Nevertheless, I kept looking for a more fundamental solution of this important need. Plataine’s new Practimum-Optimum™ algorithm (patent-pending) responds to this market need by integrating search algorithms with unsupervised machine learning algorithms to practicalize schedule optimization aiming at facilitating and expediting convergence to what we are now calling Practimum-Optimum™ schedules. As the name indicates, we are not looking for ‘good enough’ schedules. Rather we are looking to integrate micro changes in a holistically optimal schedule in a way that will minimize degradation to macro-level quality scores.
As for the machine learning, we are not referring here to statistical learning of individual parameters such as time duration of tasks based on actual execution times – this has been done long ago. Rather we are talking about machine self-learning of deep structures in the schedule’s universe, including clusters of schedules with similar goal values but not necessarily the same Gantt charts; patterns in demand sets; trade-offs between competing goals; and best values that are attainable by each individual KPI score – values that establish what we call the manufacturing performance envelope (similar to the concept of flight/performance envelope of an aircraft).
It should also be noted that the availability of historic schedules is not mandatory, although they are used when available. All that is initially required – before deploying the solution for first time use – is information about the products and their manufacturing steps; the machines and their capabilities; the ‘general’ nature of demand sets; and the business rules. Using this information, the algorithm automatically creates a large set of schedules for a rich variety of situations and teaches itself the above-mentioned deep insights about the schedule’s universe. Over time, as the algorithm is being used and real-life Practimum-Optimum™ schedules are generated, it continually adapts its ‘insights’ into the schedule’s universe and improves its performance.
Practimum-Optimum™ algorithm: Building a schedule
For any given demand set submitted by the user, say on a Friday afternoon for next week’s schedule, the Practimum-Optimum™ algorithm starts by presenting the user with an Initial Best Schedule (IBS) that optimizes the macro goals while taking into consideration a variety of micro-level factors it has already learned. The IBS also includes an ‘executive summary’ calling the user’s attention to important points about the IBS schedule.
As the user reviews the IBS and wishes to make further local changes, all she/ he has to do is state WHAT they wish to achieve, for example to add into the schedule WO17, and the algorithm will decide HOW to make room for it in on the busy Gantt chart and make the necessary adjustments with minimal degradation to the macro quality scores.
The figure below shows radar charts for the values of macro goals (machine utilization, makespan, etc..) in a nicely homogenous cluster of 116 schedules most of which having very close values of their macro goals. Yet, when you examine the placement of assignments on the Gantt board you see many different variations between the 116 schedules. Such clusters are one by-product of the machine learning process, and they enable the Practimum- Optimum™ algorithm to implement micro changes requested by the user with minimal degradation to the macro goals. (The thick lines of the polygons are actually formed by tens of thin lines of the 116 individual schedules which are so close they overlap to form a thick line).
The end result is a schedule that is both optimal and practical. The resulting schedule is published to all relevant human users and to all the AI-based intelligent Digital Assistants that accompany them.
Practimum-Optimum™ algorithm: Schedule execution
Starting on Monday morning of the following week, Plataine’s Digital Assistants continually track and monitor events as they take place – planned or unplanned – and using Plataine’s AI-based Context & Actions engine, present alerts or recommend actions for different personas on the production floor. (More on this in an upcoming article).
Early cases run by the Practimum-Optimum™ algorithm are very encouraging revealing that the results of the self-learning algorithm greatly amplify the search optimization algorithm. We believe that the Practimum-Optimum™ approach represents a paradigm shift in developing schedule optimization applications and that it is applicable to additional business decision needs beyond scheduling, such as capacity planning, material optimization, tools management and the like.
To continue the conversation, get in touch with your local Plataine Digital Transformation Specialist today.