Keywords

1 Introduction

Today in the steel sector there are very few monopoly companies and most of them must compete in the national and international global market. The product price is, therefore, determined by competition, and the only way to increase the profit is to reduce production and commercial costs. Companies that are not capable to update their strategies and their organizational processes, face the risk to lose competitiveness. On the other hand, the steel sector is facing the challenge of digitalization [1], which opens new possibilities for implementing advanced approaches, including the ones based on Artificial Intelligence (AI) in any aspects of production management and control and offers new opportunities and tools to increase productivity.

A way to increase company productivity is to create proper scheduling for components on available machines so that each order is completed on time, maximizing resources use and minimizing the average due date.

Most scheduling problems are considered to be Non-deterministic Polynomial-Time Hard (NP-hard) [4], i.e. the computational times of all known solving algorithms exponentially increase with problem size. Thus, affordable procedures to find an optimal solution are not available. Production scheduling in the steel industry is recognized as one of the most difficult and complex industrial scheduling problems [6]. It involves several production steps, each of which needs multiple resources, such as materials, machineries, transport systems (e.g. cranes, forklifts), and needs to fulfil critical production constraints. Furthermore, the production process can be affected by unpredicted events, such as breakdowns, orders cancellations. Such events can compromise the initial scheduling plan. Two main approaches are usually adopted to deal with production scheduling problems: deterministic scheduling and dynamic scheduling.

Classical deterministic approaches dominated the manufacturing scene since long time and are still used. In these approaches all the parameters of the systems, such as number of jobs, machines processing time, and many others parameters are known in advance. However, deterministic approaches are not suitable to face unforeseen events, such as breakdowns, special maintenance operations or delays in the arrival of raw materials, that can affect the schedule, by preventing fulfilment of the desired goals. In this context, the problem of scheduling in the presence of unforeseen events is called dynamic scheduling [19], and three main approaches are generally applied [2, 13], namely proactive scheduling, reactive scheduling and hybrid scheduling.

This paper presents three complementary approaches for improving flexibility of production scheduling in flat steel production highlighting strengths and limitations of each method to face the different challenges of the scheduling in steel production processes. The proposed methods have different scopes and modelling aspects: an auction-based Multi-Agent System (MAS) is used to deal with uncertainties of the production, a Multi-Objective Mixed-Integer Linear Programming (MOMILP)-based approach supports global optimal resources scheduling under steady conditions, a Continuous Flow Model (CFM) approach faces long-term production scheduling.

The paper is organized as follows. Section 2 presents a survey on production scheduling in flat steel industries. Section 3 briefly describes the real industrial use case. In Sect. 4 the proposed methods for flexible production scheduling are presented. Numerical simulation results are presented and discussed in Sect. 5. Finally, Sect. 6 proposes some concluding remarks and hints for future work.

2 Background on Production Scheduling in Flat Steel Industry

The optimization of production using efficient scheduling strategies has received ever increasing attention over time in the steel sector and is one of the most investigated optimization problems. Concerning flat production, literature presents some studies regarding production scheduling. For instance, in [14] the Hot Strip Mill (HSM) production scheduling problem is formulated as a Prize Collecting Traveling Salesman Problem (PCTSP) model and solved through a Tabu Search (TS) approach. In [26] the production scheduling problem in a Cold Rolling Mill (CRM) is formulated in two parts, a coil-merging optimization and batch planning model. The former problem is solved through a discrete differential evolution approach, while the latter one is faced through a hybrid heuristic approach. A scheduling approach for continuous galvanizing lines based on TS is presented in [24], while [22] presents two hybrid strategies based on heuristic and metaheuristic facing the HSM scheduling. All these approaches concern deterministic scheduling and thus they neglect practical problems ranging from unexpected machine faults and breakdowns, job cancellations, lack of quality for a coil along the process, date and priority changings among other common events. Therefore, dynamic scheduling approaches are necessary.

A comprehensive literature review about scheduling in the steel industries under uncertainties is proposed in [13]. According to this study, major contributions are related to the primary steelmaking process and only few papers focused on forming processes, especially the cold rolling of strip. In this context, [3] and [20] propose a reactive scheduling approach based on Multi-Agent Systems (MAS) to solve the problem of the integrated dynamic scheduling of continuous caster and HSM. A reactive scheduling approach based on brokers in MAS for the dynamic resource allocation of a cold rolling process is presented in [11]. Other examples of reactive scheduling approaches can be found in [8, 23, 25] which exploit different heuristics and metaheuristics techniques. In [9] a proactive scheduling of coils at the CRM is presented, which optimizes the rolling forces through a robust optimization problem solved by Particle Swarm Optimization (PSO). In [18] a proactive planning system optimizing the routing of steel coils among different processing lines applying a multi-objective evolutionary algorithm is proposed, the Strength Pareto Evolutionary Algorithm 2 (SPEA2), in order to satisfy as set of Key Performance Indices (KPIs) defined on the basis of customer orders and on production constraints. A proactive scheduling for steel plates production is presented in [17], where Bayesian network models forecast the probability distributions of production loads and production times, while [5] presents a reactive approach covering the whole production chain from primary steelmaking to CRM. The rescheduling problem is formulated as a mixed-integer programming model considering the original objective, the deviation from the initial scheduling and the equilibrium of production capacity, which is solved through a discrete differential evolution algorithm.

3 Use Case Description

Steel is cold rolled to produce flat products such as deep-drawing sheet, packaging steel and stainless-steel flats. The most widespread process is the Cold Rolling (CR) of strip, which exploits hot rolled strips as raw material and outputs flat products in different shapes. In particular, the industrial process addressed in this work is the CR process of Rasselstein (RAS), a company located in Andernach, Germany, which is schematically depicted in Fig. 1.

Fig. 1.
figure 1

Cold rolling process scheme.

The first step of the production chain is the pickling process, where the scale that has formed on the surface of the hot rolled strips is removed using chemicals. Afterwards, semi-finished products are cold rolled. Being metal at room temperature, it is less malleable than metal above its recrystallization temperature. Therefore, CR is more labor-intensive and expensive than Hot Rolling (HR). CR produces a smoother surface with higher dimensional accuracy and, due to the work hardening effect, greater strength as well. In order to eliminate work hardening after CR, heat treatment by annealing, e.g. batch-based or continuous-based, is frequently applied. A degreasing process is usually carried out before annealing, to remove substances from the surface of cold rolled strips such as mineral or vegetable oils that come from mechanical processing and cleaning. After annealing, two types of coating processes are carried out, i.e. tinning and chromium plating, which provide corrosion resistance, or increase strip surface hardness. This production step is then followed by other typical treatments, such as tension levelling, side trimming, cutting, welding, recoiling, etc.

In the present work, the scheduling problem from pickling to coating stages is covered. Each process step is composed by the following facilities: first stage holds 1 pickling line (P1), the second stage holds 2 CR lines (CR1 and CR2), the third stage holds 2 degreasing lines (D1 and D2), the fourth stage holds 2 Batch Annealing lines (BA1 and BA2) and 3 Continuous Annealing lines (CA1, CA2 and CA3), the fifth stage holds 3 Temper Rolling lines (TR1, TR2 and TR3), and the sixth stage holds 5 coating lines (C1, C2, C3, C4 and C5). The lines are characterized by different speed and functionality, processing quantity and quality and setup times. Intermediate buffers are used for supporting continuous production, where output products of the previous process stage are stored, and serve as inputs for the next processing step. The stocks of semi-finished products have different capacities.

The target is to produce a flexible scheduling maximizing the overall plant utilization, meeting the monthly planned production volume by considering order priorities as well as quality, production constraints and machines breakdowns.

4 Approaches to Flexible Production Scheduling

4.1 Multi-objective Mixed-Integer Linear Programming-Based Approach

The first approach combines Multi-Objective Optimization (MOO) techniques with Mixed-Integer Linear Programming (MILP) formulation to provide a preliminary global optimal resources scheduling under static conditions, i.e. based on production orders and not considering unexpected events. MILP techniques are used to solve different types of industrial problems, including energy and by-products management [15, 16], production planning [7] and scheduling. Their importance lies in both their wide application and the availability of effective general-purpose techniques for finding optimal solutions.

The proposed approach is based on the lexicographic method [10], which is an a priori method, used when a preference exists among the objective functions, and a Pareto front is not needed because trade-off information is not required. Let \(f_{1} \left( x \right) = c_{1}^{T} x\), …, \(f_{M} \left( x \right) = c_{M}^{T} x\) be the objective functions expressed in order of importance, i.e. \(f_{1} \left( x \right)\), is the most important and \(f_{M} \left( x \right)\) is the least important. The method solves a sequence of Single-Objective Optimisation (SOO) problems in the following form:

$$ \left\{ {\begin{array}{*{20}c} {min\,f_{\omega } \left( x \right) = c_{\omega }^{T} x} \\ {A_{eq} x = 0,{ }Ax \le 0{ }} \\ {\begin{array}{*{20}c} {x_{i}^{{\left( {L_{i} } \right)}} \le x_{i} \le x_{i}^{{\left( {U_{i} } \right)}} \,i = 1, \ldots ,N^{\prime}, x_{j} \in Z\,for\,some\,j } \\ {f_{k} \left( x \right) \le { }f_{k}^{*} \;\,k = 1, \ldots ,\omega - 1} \\ \end{array} } \\ \end{array} } \right. $$
(1)

where \(c_{\omega }^{T} x\) is the cost function of a \(N\)-component vector argument \(x = \left( {x_{1} , \ldots ,x_{N} } \right)\), \(A_{eq} x = 0\) are the equality constraints, \(Ax \le 0\) are the inequality constraints, \(x_{i}^{\left( L \right)}\) and \(x_{i}^{\left( U \right)}\) are lower and upper bounds of the \(i\)-th component \(x_{i}\), \(x_{j}\) are integer variables, and \(f_{k}^{*}\) is the optimal value of the problem with \(\omega = k\).

Furthermore, an iterative strategy that allows producing a scheduling of a selected number of jobs over a specific timeframe has been implemented. In this way, the algorithm is iteratively run with updated plant information. At each iteration a number of jobs is selected in order to be processed. A job is considered as a group of coils belonging to the same order, and this group is processed as a unique block from start to end of its production. Modelling jobs instead of single semi-finished products allows the mathematical optimization solver managing problem variables in an easier way, by avoiding computational overloading and long optimization times. Several aspects of the production plant are taken into account as reported in Table 1.

Table 1. Description of MILP objective functions and constraints.

The variables used to model the problem, describe starting and finishing times of each job, assignments of jobs to machines and storages, and it is possible to define the scheduling in a precise way. The method is original and aims at improving common simplified centralized methods that are usually adopted in the steel sector [12].

4.2 Auction-Based Multi-agent Approach

Auction-based multi-agent scheduling system was selected as a convenient alternative to the problem providing enough feasibility and flexibility when uncertainty regarding resource availability is relevant. In this way a negotiation platform is setup using the Extensible Messaging and Presence Protocol (XMPP) protocol where different agents representing both the relevant production plants and the coils being produced, as well as some auxiliary agents (logger, launcher and browser agents) exchange information in real time. The adopted architecture enables distributing negotiations where the platform can be operated inside one container, virtual system or computer while agents can operate at different systems connected through TCP protocol. Indeed, to avoid inter-lock mechanisms an asynchronous dialog was implemented.

Figure 2 presents the implemented sequence diagram for an agent representing a Continuous Annealing plant, where some of the innovative components have been introduced. First of all, multi-optimization objectives are allowed, where an equilibrium between benefits for plants and for coils need to be find incrementally. Coils belonging to different production orders become equipped with the recommended routing as well as with operating characteristics and a virtual budget, allowing them to bid to the different auction processes at the different resources, according to their status. The auction is a multistep system including counterbidding was implemented. The bidding also includes intelligence as the coil agent ask for context costs to the browser agent and it is sensitive to the urgency depending on the deadline and the number of failed auctions already experienced, using a rule-based approach. Additional complexity is implemented by integrating inner logistics rules in the scoring process of coils bidding for available production slots throughout a subagent mechanism, where the plant agent is in charge of recruiting transport and warehouse resources for the operation before launching the auction itself (pre-auction phase), where different costs for inner logistics are considered, such effect was highlighted in blue in Fig. 2.

Fig. 2.
figure 2

Sequence diagram adopted by the continuous annealing agent in auction state.

The maximization of the benefit at each resource agent is balanced with the objective of the coil agent to find appropriate slot at the lowest virtual cost. As far as such negotiation can be easily parallelized, it becomes robust against scalability requirements.

4.3 Decomposition Approach Based on Continuous Flow Model

For long-term planning it is reasonable to simplify the formulation of the planning problem. Therefore, a manufacturing system can be represented approximately by a time continuous or time discrete dynamic model. Let us for instance consider an M stages process as shown in Fig. 3.

The following model applies to the first storage:

$$ y_{ij,k + 1} = y_{ij,k} + d_{i,k} - r_{i,1,k} u_{i,1,k} $$
(2)

and to all others:

$$ y_{ij,k + 1} = y_{ij,k} + r_{ij,k} u_{ij,,k} - r_{ij + 1,k} u_{ij + 1,k} $$
(3)

where \(y_{ij,k}\) is the amount of product i stored in the storage j at the time step k and \(r_{ij,k}\) is the processing rate of product i on machines j and \(u\) is the proportion of product i in the total production on machines j. For the upper and lower limit of production on the machine j applies: \(0 \le \sum\nolimits_{i} {u_{ij,k} \le \overline{u}_{j,k} } \,\,{\text{and }}u_{ij,k} \ge 0\) and for the storage the following limits apply \(\underline {y}_{j,k} \le \sum\nolimits_{i} {y_{ij,k} } \le \overline{y}_{j,k}\).

Fig. 3.
figure 3

M Stages manufacturing system for N products consisting of M machines and M + 1 storages.

The continuous scheduling problem as formulated above is an optimal control problem with state constraints, and this can then be calculated in a rendering horizontal scheme [21]. The performance of the optimization problem is as:

$$ \mathop {\min }\limits_{{u_{ij,k} }} \sum\nolimits_{k = 0}^{n} {J_{demand} \left( {u_{ij,k} } \right) + J_{maschine,cost} \left( {u_{ij,k} } \right) + J_{use} \left( {u_{ij,k} } \right) + J_{store} \left( {u_{ij,k} } \right) + J_{change} \left( {u_{ij,k} } \right)} $$
(4)

where \(J_{demand} \left( {u_{ij,k} } \right) = \sum\nolimits_{i = 1}^{N} {c_{demand,i} \left\| {d_{i,k} - u_{ij,k} } \right\|_{2} }\) ensure that at the end of the process the prescribed production rate per product or production quantity \(J_{demand} \left( {y_{ij,k} } \right) = \sum\nolimits_{i = 1}^{N} {c_{demand,i} \left\| {d_{i,k} - y_{ij,k} } \right\|_{2} }\) is achieved. The production costs and other quality parameters per product \(i\) on the machine \(j\) can be taken into account as \(J_{maschine,cost} \left( {u_{ij,k} } \right) = \sum\nolimits_{ij = } {c_{maschine,ij,k} u_{ij,k} }\). If more than one production route for a product is possible or if the full capacity of the machines is not necessary for the production, the use of a machine \(J_{use} \left( {u_{ij,k} } \right) = \sum\nolimits_{ij = } {c_{use,ij,k} \left| {u_{ij,k} } \right|} \) can be penalized over the 1 norm to achieve a sparse solution, i.e. the machines that are not in use are stopped. The deviation from the preset storage level can be considered as \(J_{store} \left( {u_{ij,k} } \right) = \sum\nolimits_{j} {c_{ij, + } } \,\max \left( {\sum\nolimits_{i}^{N} {y_{ij,k} - \overline{y}_{j,k} ,0} } \right) + c_{ij, - } {\text{max}}\left( {\underline {y}_{j,k} - \sum\nolimits_{i} {y_{ij,k} } } \right)\) The variation in storage level is proportional to tardiness or earliness. If the storage level is above a soft limit, the product arrives later (tardiness); if it is below a soft limit the product arrives earlier (earliness). Furthermore, a frequent change between the products can be dampened or prevented by the following \(J_{change} \left( {u_{ij,k} } \right) = \sum\nolimits_{ij} {c_{ij,k} \left| {u_{ij,k} - u_{ij,k - 1} } \right|} \).

5 Results and Discussions

5.1 Multi-objective Mixed-Integer Linear Programming-Based Approach

The designed MOMILP-based approach is implemented through the PuLP library of Python objective-oriented programming language. The library allows modelling linear programming problems and is supported by different optimization solvers. In particular, the solver used for the simulations is GUROBI, as it shows the best performances among the tested ones. Furthermore, Gantt charts are used for the graphical representations of the scheduling, which are built through Plotly (a library for Python based on Dash framework).

In the simulation experiment, the global scheduling of 704 jobs each of which composed of 3 coils with a weight of 10 tons has to be accomplished in a daily timeframe. Jobs are selected according to their due date and are equally distributed among the production stages. Since a job can be batch or continuous annealed, its routing path is randomly selected. Furthermore, machines average processing times are considered for the simulation, machines setup times between subsequent jobs are assumed to be negligible, the minimum process-related idle time for each job is about 24 h, and stocks weight limits are taken into account.

The scheduling problem is solved in 5 iterations so that the solver can handle more jobs in the selected timeframe. For each iteration, 141 jobs are handled by the MILP algorithm. The time limit for the solver has been set to 5 min for each sub-problem.

The Gantt chart of the simulation results is shown in Fig. 4 (the legend shows only few jobs due to the high number). At the end of the simulation, 120 jobs are completed at the Coating stage in less than 18 h with an improvement of about 33% and 25%, respectively, on the daily production volume rate and completion time observed in the real use case respectively. The solution found by the optimizer is not far from being optimal (an average gap of 7.55% from the best bound for the first sub-problem and of 35.25% of average gap from the best bound for the second sub-problem at each iteration, the gap can be reduced by increasing the solver time).

5.2 Agent-Based Approach

The interest for this approach is to carry out the best solution depending on status and availability of individual resources by considering local demand and specific conditions and constraints imposed by the process and the inner logistics. The results are presented in a Gantt oriented dashboard, including the performance as shown in Fig. 5. In this way operators are able to realize how the proposed sequencing is distributed through time. The information is processed from the log agent as it collects all the evidences, making it possible post mortem analysis to check how the rules and strategies worked, in order to learn short term and long term logic. As far as scheduling is carried out in real time, the system is intrinsically flexible to any issue happening either at plant level or coil level due to quality losses, where relocation of coils inside orders is handled smoothly, avoiding the full rescheduling.

Fig. 4.
figure 4

Gantt chart of the simulation results.

Fig. 5.
figure 5

Agent based system showing several auction processes and their performance.

5.3 Continuous Flow Model-Based Approach

For simulation of the CFM approach, let us consider a 2 steps process as shown in Fig. 6, in which two different products, Product 1 and Product 2, are to be manufactured.

Fig. 6.
figure 6

A two-stage process for two products.

The process chain consists of a raw material storage unit Storage 0, a first machine 1, followed by a storage unit and then a second machine 2 and a finished product storage unit Storage 2. The processing time for product 1 on machine 1 is 7 min and for product 2 it is 4 min. Machine 2 needs 3 min for product 1 and 8 min for product 2. The production time is inversely proportional to the production rate. Furthermore, it is assumed that each product weights 20 tons per item. The aim is to produce 1200 tons, i.e., 60 items per product as quickly as possible. The next step is to investigate how a production stop for product 1 on machine 1 and 2 affects production. In this case it is assumed that the production of product 1 on machine 2 will be stopped in intervals of 1 to 3 h and on machine 1 in intervals of 5 to 7 h. The results are shown in Fig. 7. As soon as the production of product 1 on machine 2 fails, the quantity produced on machine 1 is temporarily stored in the storage 1. If the production of product 1 in machine 2 fails, the full production capacity of machine 1 is used for product 2 and the surplus production of machine 2 cannot yet be processed in the storage 1 between storage and later. Thus, the model shows the expected behavior.

Fig. 7.
figure 7

Simulation results if the product 2 is not produced on machine 1 in the time interval 1 to 3 h and on machine 1 in the time interval 5 to 7 h.

6 Conclusions

In the present work, three different approaches have been presented in order to deal with the production scheduling problem of an industrial cold rolling use case with the aim of improving the flexibility of production scheduling. Comparing different approaches, it is not possible to strictly compare each method as each one is suited for a specific scope. Nevertheless, it can be realized that each method and algorithm has its own specific strengths and limitations as shown in Table 2.

The MOMILP is very useful and reliable in situations where the normal production flow is not affected by disturbances. It allows maximizing the capacity utilization providing nearly optimal solution of the scheduling problem. Nevertheless, it presents difficulties in handling dynamic situations as well as the complexity and the size of the problem may affect its solution time. The MAS enables short term local optimal decision-making process granting consideration for detailed production rules as per resource. It shows its flexibility in dynamic contexts, however it can provide suboptimal decisions from the global perspective. It requires close connection to the production resources, to be aware of unavailability of resources as well as process end-ups for coils. The CFM approach has the lowest modelling precision referring to the planning granularity and cannot handle individual coils and/or orders, but it is robust and fast providing results with the highest forecasting ability (e.g. 1 month).

To sum up, the proposed approaches are more complementary than competing. Therefore, a hybrid approach seems feasible and very promising, as it can combine the benefits of the single approaches while overcoming their drawbacks. So doing, the robustness and the flexibility of the production scheduling can be improved. On the other hand, the maintainability of the final solution needs to be carefully considered for its real industrial deployment. Future work will be focused both on development and testing of the hybrid approach and on addressing practical aspects related to make the system usable in a real industrial context.

Table 2. Summary of methods characteristics (Rankings 1 = poor to 5 = very good)