1 Introduction

During the entire iron and steel production, the products are made at a high temperature, resulting in high energy consumption. The SCC procedure is a crucial process in this regard. Production scheduling is the core technology for energy-saving and consumption. Non-optimized schedules may cause longer waiting times between operations (i.e., waiting time) for charges, leading to a drop in the temperature of the molten steel. If the molten steel temperature drops below the targeted temperature of continuous casting, the ladle must be returned to the refining furnace for reheating, which significantly increases energy consumption.

In recent years, various SCC scheduling approaches have been proposed, mainly focus on four directions: mathematical methods including linear programming methods [1, 2] and Lagrangian relaxation methods [3,4,5,6], artificial intelligence methods [7,8,9], heuristic methods [10, 11], and hybrid approaches that combine artificial intelligence and mathematical programming [12, 13].

In mathematical methods, a nonlinear mathematical model based on the just-in-time (JIT) idea is presented to solve machine conflicts. The proposed model is then converted into a linear programming model that can be solved by standard software packages [14]. A mixed-integer programming model is proposed to minimize the total completion time for the SCC process with two parallel machines at each stage [15]. A hybrid two-phase algorithm for the SCC products proposed based on the scatter search method and mathematical programming [16]. For the SCC rescheduling problem, a time-index model and an effective Lagrangian relaxation approach with machine capacity relaxation are introduced [5].

Regarding artificial intelligence methods for SCC scheduling problems, the common methods include auction-based approach [17], ant colony optimization methods [7, 18], stochastic programming approaches [19], bee colony algorithm [9], and hybrid differential evolution algorithm [20].

The SCC production process involves multiple furnaces, constraints, processes, and parallel machines [21]. As a result, it is challenging to achieve a “one-stage” operation. The scheduling for SCC production process includes both equipment variables (discrete) and time variables (continuous), where the time variables depend on the equipment variables. Due to non-conflicting constraints, it is difficult to accurately describe these conditions in a single step. As a result, researchers are forced to use a “two-stage” optimal strategy, in which equipment variables are found first, followed by time variables. This approach sacrifices efficiency and may slow down the solution process. To minimize the makespan, multistage man–machine cooperated scheduling methods are proposed [22]. Heuristic methods are effective methods in solving multistage problems. A Lagrangian heuristic algorithm is proposed to address the rescheduling optimization scheduling challenges in SCC process [23]. Two-stage or three-stage heuristic optimization strategies are proposed to solve a multi-objective nonlinear programming model or a steel plant [24].

The paper aims to achieve “one-stage” optimization by incorporating the unique process characteristics of SCC into the CSA. CSA, a recent swarm-intelligence-based optimization algorithm, is simple to implement due to the fewer control parameters. The approach presented leads to a higher computation speed, thus increasing productivity.

CSA has been shown to be superior to known algorithms in many fields, including particle swarm optimization (PSO) and genetic algorithm (GA) for multi-model objective functions [17]. CSA has been widely applied to a variety of optimization problems, such as function optimization [25, 26] and combinatorial optimization problems [27, 28]. For scheduling problems in particular, CSA has been successfully used in permutation flow shop scheduling ([29,30,31], flexible manufacturing system scheduling [32], hybrid flow shop scheduling [33], parallel machine scheduling [34], resource-constrained project scheduling [35], multi-objective scheduling [36], and short-term hydrothermal scheduling [37]. For more developments and on further developments of CSA, one can refer to [38] and [39]. Although CSA has been widely used in scheduling problems, there is little research on applying CSA to SCC production scheduling problems.

The basic CSA was introduced to the production scheduling of SCC for the first time in [8] and obtained promising results. However, its computation speed is not fast enough to meet the on-site scheduling requirement.

This paper presents a novel approach that incorporates scheduling constraints into CSA. Firstly, we consider minimizing TWT as the optimization objective. Then, we build an optimization model of SCC scheduling and introduce a novel SCC scheduling strategy by incorporating scheduling constraints into CSA. We compare the proposed algorithm with the basic CSA [8] and a two-stage optimization algorithm [1]. The experimental results show that the CICSA is more effective in reducing the waiting time and improving the scheduling speed.

The remainder of this paper is organized as follows. Section 2 provides a detailed description of the scheduling problem for SCC production. The mathematical model of SCC production scheduling is presented in Sect. 3.1. Section 3.2 introduces the method for embedding the constraints into a CSA. In Sect. 4, we analyze the computational results and compare them with the performances of methods proposed in [8] and [1] to illustrate the superiority of the CICSA. Finally, Sect. 5 concludes the paper.

2 Problem description

2.1 Scheduling problem description

Steelmaking, refining, and continuous casting scheduling process are shown in Fig. 1. Due to the different varieties of steel products, some ladles undergo single refining, while others require duplicated or triple refining, constituting a multi-channel production process. Additionally, each process contains multiple parallel machines. During the process, if different charges are scheduled on the same machines, it can lead to operating time conflicts and fail to meet other process constraints. Therefore, SCC process characterized by being a complex flow shop scheduling problem featuring multi-furnace and machine composition, multi-process integration and schedule constraints.

Fig. 1
figure 1

The process of SCC at Baosteel

2.2 Scheduling model

2.2.1 Optimization and constraints

The optimization objective is that the TWT is as small as possible in order to avoid a drop of the temperature of the molten steel.

The constraints (C1–C4) are as follows:

C1

Constraints for no job conflict. This means that for two adjacent charges processed on the same machine, the next one can only start after the preceding charge has been completed.

C2

Constraint on casting on time, which requires casting to be performed in accordance with the time given on-site as much as possible.

C3

Constraints on operation order of the charge, which stipulates that each charge must be processed according to its production process path.

C4

The uniqueness constraint of the charge, which requires each charge to be processed on one of the similar machines.

2.2.2 Optimization model of scheduling

First, the symbols used in the model are described as follows to facilitate the description of the model.

\(i\):

The cast number, \(i = 1,2, \cdots ,N\)

\(i^{\prime }\):

Any cast number, \(i^{\prime } = 1,2, \cdots ,N\)

\(N_{i}\):

The charge number in cast \(i\)

\(j\):

The serial number of the charge in cast \(i\), \(j = 1,2, \cdots ,N_{i}\)

\(j^{\prime}\):

The serial number of the charge in cast \(i^{\prime }\), \(j = 1,2, \cdots ,N_{{i^{\prime}}}\)

\(L_{ij}\):

The \(j{\text{ - th}}\) charge in the \(i{\text{ - th}}\) cast

\(\vartheta_{ij}\):

The machine number of \(L_{ij}\) to be used

\(\theta\):

The machine index number of \(L_{ij}\) to be used, \(\theta = 1,2, \cdots ,\vartheta_{ij}\)

\(g\):

The machine type, \(g = 1,2,3 \cdots G\), e.g., \(g = 1\) represents converter machine type; \(g = 2\) represents RH refining furnace type,…,\(g = G\) represents caster type

\(M_{g}\):

The number of machines in \(g\)

\(k_{g}\):

The machine index number in \(g\), \(k_{g} = 1,2, \cdots ,M_{g}\)

\(T_{ij} (k_{g\left( \theta \right)} )\):

The ideal starting casting time of the first charge in the \(i{\text{ - th}}\) cast, which is given on site

\(T_{ij} \left( {k_{g(\theta )} ,k_{g(\theta + 1)} } \right)\):

Transportation time of charge \(L_{ij}\) from machine \(k_{g\left( \theta \right)}\) in \(\theta {\text{-th}}\) process to machine \(k_{{g\left( {\theta + 1} \right)}}\) in \((\theta + 1){\text{ - th}}\) process

\(y_{ij} (k_{g(\theta )} {)}\):

The function of \(k_{g(\theta )} ,y_{ij} (k_{g(\theta )} {) = 1}\), denotes that the \(\theta{\text{-th}}\) process of \(L_{ij}\) is processed on the \(k_{g(\theta )} {\text{-th}}\) machine of the \(g\), otherwise \(y_{ij} \left( {k_{g(\theta )} } \right) = 0\)

\(x_{ij} (k_{g(\theta )} {)}\):

The starting time of \(L_{ij}\) on \(k_{g(\theta )} {\text{ - th}}\) machine of the \(g{\text{ - th}}\) process

The proposed model is as follows:

  1. 1.

    Optimization objective

    $$J_{1} = \min \sum\limits_{i = 1}^{N} {\sum\limits_{j = 1}^{{N_{i} }} {\left( {x_{ij} \left( {k_{{g\left( {\theta + 1} \right)}} } \right) - x_{ij} \left( {k_{g\left( \theta \right)} } \right) - T_{ij} \left( {k_{g\left( \theta \right)} } \right) - T_{ij} \left( {k_{g\left( \theta \right)} ,k_{{g\left( {\theta + 1} \right)}} } \right)} \right)} }$$
    (1)
  2. 2.

    Constraints

    $$\left| {\sum\limits_{i,i^\prime ,j,j^\prime ,\theta ,\theta^\prime } {f_{ij} ( \cdot )} } \right| < \varepsilon_{1}$$
    (2)

    where

    $$f_{ij} ( \cdot ) = f\left( {x_{ij} \left( {k_{g(\theta )} } \right),x_{i^\prime j^\prime } \left( {k_{g(\theta^\prime )} } \right)} \right) = T_{ij} \left( {k_{g(\theta )} } \right) - \left| {x_{i^{\prime}j^{\prime}} \left( {k_{g(\theta `)} } \right) - x_{ij} \left( {k_{g(\theta )} } \right)} \right|$$
    (3)

    If \(k_{g(\theta )} = k_{g(\theta ^{\prime})}\), let \(h_{ij} \left( {k_{g(\theta )} } \right) = T_{ij} \left( {k_{g(\theta )} } \right) - \left| {x_{i^\prime j^\prime } \left( {k_{g(\theta )} } \right) - x_{ij} \left( {k_{g(\theta )} } \right)} \right|\), we have,

    $$f_{ij} ( \cdot ) = \left\{ {\begin{array}{*{20}l} {h_{ij} \left( {k_{g(\theta )} } \right),} \hfill & {h_{ij} \left( {k_{g(\theta )} } \right) \ge 0} \hfill \\ 0 \hfill & {{\text{else}}} \hfill \\ \end{array} } \right.$$
    (4)
    $$\left| {\sum\limits_{i = 1}^{3} {\left( {x_{i,1} (G) - T_{i} } \right)} } \right|{ < }\varepsilon_{2}$$
    (5)

    where \(\varepsilon_{1} ,\varepsilon_{2}\) are very small positive numbers.

    $$x_{ij} (k_{{g\left( {\theta + 1} \right)}} ) \ge x_{ij} (k_{g\left( \theta \right)} ) + T_{ij} (k_{g\left( \theta \right)} ){ + }T_{ij} (k_{g\left( \theta \right)} ,k_{{g\left( {\theta + 1} \right)}} )$$
    (6)
    $$\sum\limits_{{k_{g(\theta )} = 1}}^{{\max \{ k_{g(\theta )} \} }} {y_{ij} (k_{g(\theta )} ) = 1 , }\quad \forall g \in \left\{ { 1, 2 , \cdots ,G } \right\}$$
    (7)

    where \(\max \{ k_{g(\theta )} \}\) is the total number of the same type machines.

Equation (1) represents the objective function, which seeks the maximum starting time (max-ST) of the charge on the converter.

Equation (2) defines constraint C1, which ensures that there is no job conflict between two adjacent charges scheduled on the same machine, by minimizing the sum of their conflict time.

Equation (5) defines constraint C2, which minimizes the deviation from the calculated casting time to the ideal casting time.

Equation (6) represents constraint C3, which ensures that for two contiguous and adjacent operations of the same machine, the next operation must only commence after the preceding one has been finished.

Equation (7) represents constraint C4, which stipulates that a charge belonging to the same process can only be assigned to one machine.

3 System design

3.1 The basic CSA

3.1.1 The bionic principle of the algorithm

The cuckoo is a typical bird with brood parasitic behavior. The so-called brood parasitic behavior is a breeding behavior in which cuckoos drop their eggs in the nests of other host birds, and the hosts may hatch and brood the young.

In nature, many flying animals have the typical characteristics of Lévy flight. Based on its excellent performance in searching, Lévy flight has been introduced to optimal search fields and has achieved positive results [40]. Mapping these host nests as the found points in the search space. The good and bad of the nests are equivalent to the size of the fitness of the points. By combining the fitness with Lévy flight and comparing the fitness, we keep the better nest and replace the worst nest, and the final selection of the nest can be chosen as the ideal point after iteration. The process of cuckoo looking for a high-quality nest to complete the parasitic is equivalent to the process of CS random search [40].

3.1.2 Mathematical description and analysis of the algorithm

In order to facilitate the simulation of the way the cuckoo looks for the nest, this paper takes the assumptions in [40] as follows:

  1. (1)

    Each cuckoo lays one egg at a time and dumps it randomly.

  2. (2)

    In a randomly selected group of nests, the best nests with good eggs (the nests mean the solutions) will keep to the next generations.

  3. (3)

    The number of available host nests is fixed, \(Pa \in [0, \, 1]\) means the probability of a host may find an alien egg.

Based on the above rules, in the global search stage, the update equation for finding the location and path of the host nest of CSA is as follows:

$$x_{i}^{{\left( {t + 1} \right)}} = x_{i}^{\left( t \right)} + \alpha \oplus L \left( {u,v} \right),\;i = 1,2, \cdots ,n$$
(8)

where \(x_{i}^{\left( t \right)}\) represents the nest of cuckoo \(i\) in generation \(t\), and \(\alpha > 0\) is the step size, which is related to the scales of the problem, ⊕ means direct sum. \(L\left( {u,v} \right)\) is the step length of random walk as follows:

$$L\left( {u,v} \right) = \frac{u}{{\left| v \right|^{1/\beta } }}$$
(9)

where \(\beta\) is a number in the range \([1, 2 ]\), here we use \(\beta = 1.5\), \(u\) and \(v\) are subject to normal distribution as shown in (10)

$$u \sim N\left( {{0},\sigma_{u}^{2} } \right),v \sim N\left( {{0},\sigma_{v}^{2} } \right)$$
(10)

where

$$\sigma_{u} = \left\{ {\frac{{\tau \left( {1 + \beta } \right)\sin \left( {{{{\uppi }\beta } \mathord{\left/ {\vphantom {{{\uppi }\beta } 2}} \right. } 2}} \right)}}{{\tau \left[ {{{\left( {1 + \beta } \right)} \mathord{\left/ {\vphantom {{\left( {1 + \beta } \right)} 2}} \right. } 2}} \right]\beta 2^{{{{^{{\left( {\beta - {1}} \right)}} } \mathord{\left/ {\vphantom {{^{{\left( {\beta - {1}} \right)}} } 2}} \right. } 2}}} }}} \right\}^{{{1 \mathord{\left/ {\vphantom {1 \beta }} \right. } \beta }}} ,\;\sigma_{v} = 1$$
(11)

where τ is the Gamma function.

In the local search stage, the pseudo-code of updating the nests for the CS can be summarized as follows:

figure a

where \(R \in (0,1)\) is the probability that each variable of each nest is found, the parameter \(P_{a}\) is the probability that the alien bird is found by the host. Then compare \(R\) with \(P_{a}\), see Eq. (12), if \(R < P_{a} ,\;\;K{ = 0}\), keep the nest unchanged; if \(R \ge P_{a} ,K = 1\), update the nest.

$$K = \left\{ {\begin{array}{*{20}l} 0 \hfill & {R < P_{a} } \hfill \\ 1 \hfill & {R \ge P_{a} } \hfill \\ \end{array} } \right.$$
(12)

3.2 The proposed algorithm

3.2.1 Encoding and decoding

To improve the computational speed, we propose the nest encoding based on the sequence of the charges process path Eqs. (6) and (7). The encoding is as follows:

$$B = \left[ {} \right.a_{{{11}}} ,a_{{ {12} }} \cdots a_{{{1} G{ - 1}}} * a_{{ {21}}} ,a_{{ {22}}} \cdots a_{{ {2}G{ - 1}}} * \cdots * a_{{ N {1} }} ,a_{{ N {2}}} \cdots a_{{ N G - {1}}} \left. {} \right]$$
(13)

where \(a_{{i g}} (1 \le i \le N, 1 \le g \le G)\) is any integer of the interval \([1, M_{{ g}} ]\), and \(M_{g}\) is the number of parallel machines in each process. Charge \(i\) is processed on the machine \(a_{ig}\) in process \(g\). For example, \(B = \left[ {1,2 \, 3*2,3 \, 4* \, \cdots *1,3 \, 4} \right]\) represents that the first charge is processed on the first machine in the first process, on the second machine in the second process, on the third machine in the third process; and the second charge is processed on the second machine in the first process, processed on the third machine in the second process, processed on the fourth machine in the third process, and so on. Each coding of the nest is equivalent to a solution to the scheduling problem of SCC.

When decoding, Eq. (13) is converted into the corresponding process machine and charge starting time. The ending time can be obtained using the known machine processing time. Thereby a scheduling plan is generated.

3.2.2 Steps of the algorithm

The process of solving the SCC problem based on CICSA is as follows, and the CICSA algorithm flow chart is shown as Fig. 2.

  1. (1)

    Set up the basic parameters of the algorithm, where \(n\) is the number of nests, take \(P_{a}\) as the probability of the alien eggs being found, the scale factor of step size as \(\alpha\) and the maximum number of iterations as max-ST.

  2. (2)

    Generate nests and initialize the nests randomly; each nest is equivalent to a scheduling plan for the SCC problem. Calculate the objective function of these nests according to the encoding scheme Eqs. (13) and (1). At first, combining Eqs. (4) and (5) into the fitness values \(J\) of the CSA as Eq. (14).

    $$J = J_{1} + J_{2} + J_{3}$$
    (14)

    Then, we convert non-conflict constraints Eq. (4) to \(J_{2}\) as Eq. (15)

    $$J_{2} = \left| {\sum\limits_{i,i^{\prime},j,j^{\prime},\theta ,\theta ^{\prime}} {f_{ij} ( \cdot )} } \right|$$
    (15)

    At last, we convert casting on time constraints Eq. (5) to \(J_{3}\) as the following equation.

    $$J_{3} = \sum\limits_{i = 1}^{3} {\left| {x_{i,1} (G) - T_{i} } \right|}$$
    (16)

    These nests are the competitors of the optimal nest (the current best scheduling program). Keep the best bird's nest according to Eq. (1), and record the corresponding converter's max-ST and conflicting values.

  3. (3)

    Start iteration, update all the other bird's nests except the optimal bird's nest according to Eqs. (8)–(11), then randomly generate the next generation of the nests and evaluate each updated bird's nest according to the Eqs. (1)–(7). If the conflict value is less than the current optimal bird's nest (COBN) and the starting operating time of the converter is larger than the COBN, it should record the bird's nest as the COBN, record the max-ST and the conflicting value on the converter of the current best nest.

  4. (4)

    For each charge in the \(n\) scheduling schemes (\(n\) nests), keep the best nest in step (3), generate a random number \(R\) as the probability of the alien eggs, and compare it with \(P_{a}\). According to Eq. (12), if \(R < P_{a}\), keep the original nest unchanged. Otherwise, change the nest randomly, that is, change to another same type machine of each charge in a scheduling plan. Evaluate each updated bird's nest and make comparison with the current best nest in step (3). If the conflicting value is less than the COBN and the starting time of the converter is larger than the COBN, take the updated bird's nest as the COBN, record the max-ST and the conflicting value of the converter for the new nest.

  5. (5)

    When the max-ST is reached, go to step (6); otherwise, return to step (3) and set \(i = i + 1\).

  6. (6)

    Output the best nest, that is the best scheduling plan.

Fig. 2
figure 2

The CICSA flow chart

4 Experimental results

4.1 Experimental data and results

The proposed algorithm is compared with basic CSA [8] and the two-stage optimized scheduling algorithm (TOSA) [1]. Aiming at the fitness values \(J\) of the CSA as Eq. (14), the CICSA is used to optimize the solution. The algorithm was implemented by using MATLAB software. Table 1 provides the on-site data for three casts including ten charges.

Table 1 Initial data of three cast including ten charge

The start casting time for the first cast is on 7:17, the second cast is on 7:10, the third cast is on 7:25, and other information is also shown in Table 1. Set the parameters of CSA as follows: \(n = 50\), \(max{ - }iternum = {100}\), \(P_{a} = {0}{\text{.2}}\), size \(\alpha = {0}{\text{.1}}\).

Table 2 provides the determined machines, starting time and ending time for ten charges in Table 1, which represents the scheduling production plan. The processing time of each machine and transportation time is also given in Table 2.

Table 2 Machine assignment results of SCC

4.2 Analysis and comparisons

In order to illustrate the advantages and disadvantages of the algorithm (CICSA), we transform Table 2 into a Gantt chart Fig. 3. In Fig. 3, we can obtain a collision-free scheduling scheme that satisfies the on-site starting casting time and the max-ST of the converter, and the running time is 0.28 s. The time is far less than the on-site requirements of the 1-min limit, which shows that the algorithm is feasible and effective for the SCC problem.

Fig. 3
figure 3

Scheduling Gantt chart based on CICSA

In this section, to further verify the superiority of the proposed method, we make a comparison with the proposed algorithm and the other two published algorithms i.e., TOSA [1] and the basic CSA [8, 41] for SCC problems. The Gantt chart based on the TOSA [1] is provided in Fig. 4, and the scheduling Gantt chart based on the basic CSA is shown in Fig. 5. Both Figs. 4 and 5 are simulated under the industrial data provided in Table 1. As shown in Figs. 4 and 5, both algorithms can get a conflict-free and feasible scheduling plan.

Fig. 4
figure 4

Scheduling Gantt chart based on TOSA

Fig. 5
figure 5

Scheduling Gantt chart based on basic CSA

Table 3 provides the experimental data of the total operating time, the total waiting time, and the program's running time of the three algorithms.

Table 3 Comparisons of three algorithms

Figure 6 display histograms of the three index data above. Overall, the max-ST of a converter with the total operation time of TOSA is the same as that of CICSA, and both are superior to the basic CSA, as shown in Fig. 6a. Furthermore, the TOSA have less TWT than the basic CSA and CICSA, as shown in Fig. 6b. This implies that the TOSA have higher machine utilization rates and more reasonable charge arrangements.

Fig. 6
figure 6

a Histogram of operating time. b Histogram of the total waiting time. c Histogram of program running time

Table 3 and Fig. 6c present the program running time for TWT, CSA and CICSA. As illustrated in Fig. 6c, it is evident that the computational time of CICSA is significantly lower than that of TWT and CSA. This is mainly because CICSA can obtain a conflict-free optimal solution in “one stage,” and it has fewer parameters and superior search ability, which simplifies its computational process.

With the increase of the number of machines, the difference in computational time becomes more significant for different algorithms. On-site scheduling often requires obtaining more optimized scheduling plans within a limited time and selecting a plan that is most suitable for the actual site situation. However, it should be noted that the optimal solution calculated may not necessarily be the most practical or suitable solution for the actual site conditions, and sometimes it may be impossible to implement. As a result, even TOSA obtains the best TWT from Table 3, the optimal scheduling plan may not be suitable to the actual on-site scheduling.

Although the TOSA usually has a little less TWT and higher machine utilization than other methods. Table 3 shows that its computational time is much longer, and its computational process is more cumbersome than the other two methods. A shorter computational time means that the optimal solution can be obtained more efficiently and quickly in actual production. Therefore, in the long run, the proposed approach is more valuable than the multistage method for increasing enterprises' actual production and profits. While TOSA may have better performance in some cases, the improved efficiency of the “one-stage” solving algorithm provides a practical solution for on-site scheduling that balances optimization performance and computational speed.

5 Conclusions

The current scheduling methods for SCC often rely on a “two-stage” or “multistage” solution strategy, which may lead to difficulties in quickly generating scheduling plans on site. To address this issue, we established an “one-stage” optimization method, which integrates equipment uniqueness constraints and process sequence constraints into the cuckoo's initialization and generation of bird's nest. The proposed method also incorporates non-conflicting constraints and casting on time constraints in calculating the fitness values for SCC scheduling. These constraints are embedded into the optimization process of the CSA, with the minimum TWT as the optimization objective.

The proposed method provides a faster and more effective way to schedule and produce SCC processes, with the potential to increase actual production volume and improve operational efficiency in the long run. Moreover, the design presented in this paper is not limited to the CSA but can also be applied to other intelligent algorithms with initial coding, such as the genetic algorithm and improved genetic algorithm.

Finally, we validate the feasibility and efficiency of the proposed method through simulations. Contrast simulations with the essential CSA and the TOSA show that the proposed algorithm can obtain the optimal scheduling scheme more quickly and effectively.