Work insight: Developing a sequence-planning algorithm to solve a real-world problem
In our daily working lives, our overall goal is to find solutions to complex problems in one of the most challenging business environments: the metals industry. Researchers and software developers at SMS digital spend weeks and months looking for a near-perfect algorithm to make plants work in a more efficient and resource-saving way that always takes into account customers’ individual requirements. In this article, senior data scientist Dr. Ivan Bleskov explains what it takes to develop a unique solution to a production planning problem, thus helping plant operators to make huge savings.
Metallurgy – the backbone of modern civilization – is the world’s most important industry and one of its most complex. We are living in the era of the fourth industrial revolution, or Industry 4.0, which gives us wide access to unique, never-before-seen technologies, the most important of which, in terms of metallurgy, are the Internet of Things, big data, artificial intelligence, cloud and quantum computing, augmented reality and digital twins, and additive manufacturing, among others. For businesses, Industry 4.0 enables the vertical integration of processes that include development, production, and service.
Metallurgy meets software
SMS group is a world leader in the innovative development and production of metallurgical machinery. Relying on its solid expertise and 150 years of experience in metallurgical engineering, coupled with advanced digital technologies, SMS group has gone from being just a machine supplier to a lifetime service provider for our customers. This means that SMS group takes responsibility for ensuring that our equipment works in the most efficient and optimal manner possible. One of the ways in which we do this is to provide effective software solutions that satisfy modern industrial requirements. That is why we at SMS digital, as a software company and member of the SMS group family, fill a natural niche at the nexus of two worlds: metallurgy and software development.
Metallurgical production is an intrinsically highly complex field. In such an environment, developing software is not only about programming: to provide software solutions tailored to customers' needs, we must work on the interfaces between different domains. Alongside a profound knowledge of metallurgy and metals technology, an understanding of materials science and physics is needed to appreciate what is happening with the material in any given metallurgical unit along the production route, and how these processes and treatments define the mechanical and physical properties of the end product. All parts of every machine are fitted with many different sensors and cameras that collect data from each production step and process. Some challenges require the use of data science tools to dive deeper into the ocean of data and apply machine-learning algorithms based on historical data to solve problems when there is no theoretical approach. Solving optimization problems and developing production planning algorithms may require a more in-depth knowledge of mathematics and other related subjects, for example mathematical optimization, scheduling theory, and operations research. Combining complex fields such as metallurgy and software development opens up unique opportunities for solving these challenging tasks. At SMS digital, we work in interdisciplinary teams and offer internal as well as external opportunities for continuing training and education to fill any gaps in the knowledge that data scientists and software developers always need when working on complex metallurgical issues.
Scheduling algorithms to reduce the carbon footprint
Metallurgy is a high-output, resource-intensive industry. Today, integrated steel mills produce around 1.4 billion metric tons of crude steel annually, accounting for 90 percent of the steel industry's CO2 emissions. Not only that, metallurgical machinery runs almost 24/7 in tough operating conditions: extreme temperatures, high speeds, and tremendous weights. That is why the automation and optimization of metallurgical production is of paramount importance. Implementing optimization and scheduling algorithms helps to harmonize production and make the machines work more efficiently. This allows our customers to reduce their resource and energy consumption while at the same time minimizing the world’s carbon footprint. Consequently, ambitious climate targets can be met while maximizing profit. The focus of my work in the MES (Manufacturing Execution System) team is to develop such optimization algorithms for production planning and scheduling.
Developing an algorithm for optimized production planning
In our use case, a customer from the United States has two casters working in parallel and a single hot rolling mill located downstream. Slabs are cast on one of the casters and then passed through the rolling mill. The challenge lies in scheduling and balancing the workload of multiple parallel casters. The production planning algorithm must make clever decisions on how to assign slabs to casters and sequence them on individual casters, while taking into account strict constraints regarding thickness, width, steel grade, etc. Other requirements that must be considered include, for example, the supply of material in batches ('heats') of the same steel grade, continuously adjustable casting widths, and different types of costly setups when there are two consecutive slabs of different steel grades. In such cases, the rest of the liquid steel from the previous heat must be poured off as scrap. Another type of setup is required when the width difference between two consecutive slabs (even of the same grade) is too great. Here too, the rest of the heat must be scrapped, the casting process stopped, and the caster readjusted for the necessary width. The aim of the algorithm is to find such a slab casting sequence that minimizes the total production-related overhead costs (due to the scrapping of unassigned material) for a given order portfolio. The overhead costs are determined by the deviation between the realized production capacity and the ideal utilization of available production units.
Illustrative example of a single continuous caster scheduling
Every design and construction project represents a unique use case
Companies in the industry always want quick solutions, but their problems are typically far from easy to solve. In addition, every plant has a unique design and there is no one-size-fits-all solution on the market. The mere scheduling of a single caster is a difficult mathematical problem. Therefore, most available solutions focus on setups using a single caster, which makes further development necessary. It is always better, though, to invest enough time in gaining an in-depth understanding of the customer's needs as well as in researching scientific literature to find sources and publications that at least cover a similar topic. It is more effective than starting to develop a new algorithm from scratch as this can take much longer.
The intrinsic combinatorial complexity of the problem (of single or multiple casters) means there is no general way of solving it. Therefore, heuristic approaches need to be developed. Only a few publications available in scientific literature address the model involving multiple parallel casters. The main idea is this: once the distribution and scheduling of slabs between casters has taken place, each slab on each caster is evaluated using the carefully designed objective function that characterizes its position among the other slabs. Based on the evaluation, a local search mechanism is executed that iteratively tries to swap a pair of the ‘worst’ slabs between casters. If the overall objective function value is improved, the exchange is performed. Otherwise, a different subsequent pair of ‘bad’ slabs is checked. I have been using these ideas as a basis for developing the improved heuristic algorithm that, for example, should take account of the constraints imposed by upstream and downstream production processes.
Outlook
The algorithm created is a heuristic solution, i.e., it is not 100% precise. Very few (if any) practical optimization and scheduling problems in metallurgical production planning can be solved explicitly using ‘traditional’ computing within reasonable time frames. That is why the next most interesting challenge for me (with a background in theoretical physics) would be to utilize the benefits of 'quantum supremacy’ and implement and use quantum optimization algorithms to substantially reduce the time required to obtain significantly better solutions to combinatorial optimization problems of this kind.