How to rise production scheduling up to a higher level?
Imagine a planner in a small factory, say in the metal industry, with 5 saws, 4 benders, 3 robots and 100 types of pipes for processing. This equipment is operated by 3 workers. Each of the machines has certain working parameters, e.g. one saw can saw pipes with a maximum thickness of 10 cm, but it is not suitable for sawing steel, and another saw can saw steel, but only up to 5 cm thickness. Similarly, bending machines and robots have different parameters. One operator cannot operate 2 machines at the same time, but there are tasks for which 2 operators are needed at the same time. And the composition of pipes - each is made of a different type of material, has a different length and diameter, cross section and wall thickness.
And now this planner has to schedule the execution of orders from, say, 20 customers. Each order is, of course, different - one concerns the production of 10 chairs from bent pipes, but the other 5 different motorcycle gmoles. Deadlines are also different - some are specified, e.g. not later than 5th August, but in other cases the customer expects to be given an approximate completion time, because he needs to plan further work in his factory.
When excel is not enough
And then the planner opens his excel sheet and plans.... It is not easy, many would give up, but he made it! No one knows if the plan is optimal and maximizes the efficiency of the factory because no one can wade through these intricate tables and schedules. Good thing there is a plan! Operators get it, lead times are sent to customers and the machines starts its operations.
After 2 hours one of the saws breaks down and needs to be repaired. It blocks the execution of several orders as scheduled, so the whole factory need to stop for 8 hours until the repair is completed. The next day it turns out that one of the chairs produced is crooked and needs to be produced again - but no one had factored this into the plan. According to the plan, the chair was supposed to be straight. The planner either has to re-plan everything or put the production of this chair at the end of all the orders, which will extend the waiting time of the customer who was promised a deadline.
On the third day one of the operators fell ill and the plan was thrown into disarray again - it has to be re-arranged. And on the fourth day a new very lucrative order comes in from a customer with a very short lead time, which will affect the lead time of all other planned orders if the factory accepts it. All these cause that deadlines for customers cannot be met and machines and materials are not effectively used.
This is a real life use case which we try to solve in project ExtraCash, which we realise in cooperation with EFPF - a federated smart factory ecosystem. It is all about production scheduling and re-scheduling in near-real time, so that the efficiency ratios of the machine park (like OEE), were the highest and the customers were the happiest, which influence profitability of the factory. Many companies, especially SMEs which cannot afford high capex, lack affordable tools – planning is done once a day, delays are compensated with buffers, inquiries are processed by employees, changes in the schedule are reported to the customers manually.
The software which we develop, stores all the data about the machine park, materials and recipes for particular tasks and using the advanced mathematical methods derived from the field of operations research, is able to schedule the production in the most optimal way. The software also collects information about realisation of the production directly from the machines (eg. how much time it takes to produce a piece, how many faulty pieces were manufactured, if any breakdowns appears) and is able to re-schedule everything in a very short time if any random or non-predicted earlier events appear. As the production scheduling cycle says: first plan, then observe the realisation, react if needed and re-plan.
We make use of some methods that are used for solving problems of the job-shop scheduling. Job-shop scheduling is an optimization problem of the discrete production in computer science and operations research. It is a simplification of the real life cases, however there are many variances of the problem that makes the scientific attitude closer to the reality. In order to solve the problem, you need to use some algorithms similarly to everything what computer does. If you do not find exact algorithm, you need to look for some heuristics or other types of algorithms that approximates the best solution. In our soft we decided to use the greedy algorithms which, in order to determine the solution at each step, makes the most promising partial solution at that time. In other words, a greedy algorithm does not evaluate whether it makes sense to perform a given action in subsequent steps, it makes a locally optimal decision - it makes the choice that seems best at the moment, continuing to solve the sub-problem resulting from the decision.
Benefits of the project
Thanks to the high processing power of computers, each re-scheduling can be done in near-real time – it means that the delay of what the application record and process compared to the reality is very short, a few seconds or even shorter. As a result, every random event, such as a breakdown of a machine or an unsatisfactory quality check, can immediately influence the schedule, taking into account all resources and priorities. Such short reaction time is impossible to achieve without help of a great software.
While designing our software, we remember who are their users – the application we develop needs to be easy to run by the white-collar workers, that are planning and following the factory activities and are making decisions on the management level in an office, as well as by the operators of the machines, which are present on the shop floor, wore protection gloves and glasses and are heavily exposed to harsh shop floor conditions such as noise, fumes or heat. That is why we take care about visualisation and simplicity of our solutions. You can follow what is happening on the shop floor using Gantt chart and change the schedule by drag and drop. Our steering panels are designed in a way that enables the operator to click buttons even in gloves and glasses. The application needs to be easy to deploy without spending much time and a huge capex.
Finally, thanks to the ExtraCash project, the customers of manufacturers will gain insight into their orders realisation. Our application will enable the manufacturer to inform the clients about the status orders both by dispatching alerts when the estimate lead time changes and by allowing the clients to directly query the status via a web app, so they can adapt their plans.
Although the production schedules seems to be uncomplicated tables, believe that there are many calculations and optimization decisions behind it, if you want to make them well. The more complex the machinery and the more discrete the production, the more effort is required to prepare a schedule of a factory work. At some point a planner and excel are not enough - more complex algorithms and higher computing power are needed to maximize factory efficiency. We can’t wait August this year, when we will present our solution to the world. It will be available on the EFPF portal for everybody interested.
The project ExtraCash has received funding within the FSTP mechanism of the EFPF project founded from the European Union’s Horizon 2020 research and innovation programme under grant agreement # 825075.