Abstract
Steelmaking-refining-Continuous Casting (SCC) is a key process in iron and steel production. SCC scheduling is to determine an optimal schedule for the SCC process, which is a worldwide and important problem. High-quality SCC scheduling methods will help to allocate production resources effectively and increase the productivity. However, dynamic events (e.g. machine breakdown) may happen in the realistic SCC process, which will make the SCC schedule inexecutable or not optimal. In this case, SCC rescheduling is essential in order to obtain a new optimal schedule suitable for the current production environments. The SCC rescheduling can be modeled as hybrid flowshop rescheduling. In this paper, an Improved Imperialist Competitive Algorithm (IICA) is proposed to address the SCC rescheduling. In the proposed IICA, an empire initialization is first devised for constructing an initial population with diversity and certain quality. Moreover, multiswap-based local search and imperialist competition are designed to improve the exploitation ability of the IICA, while revolution and restart strategy are devised to enhance the exploration ability of the IICA. Comparison experiments with three kinds of ICA have shown the efficiency of the IICA.
Keywords
Introduction
Iron and steel production supplies important materials for many industries. It has special characteristics such as high temperature, high weight, and high energy consumption. 1 Steelmaking-refining-Continuous Casting (SCC) 2 is the bottleneck of the iron and steel production process,3,4 therefore, scheduling the SCC process, that is, SCC scheduling, is a key and complicated problem. The SCC scheduling is NP-hard,1,5 and can be modeled as hybrid flowshop scheduling.4,6 With respect to the hybrid flowshop scheduling, researchers can refer to Ribas et al., 7 Meng et al., 8 and Zhang et al. 9 Powerful SCC scheduling methods will help to allocate production resources efficiently and improve the productivity.
Unfortunately, a number of dynamic events (e.g. machine breakdown, new order arrival, order cancellation) may happen in the realistic SCC process, 10 which will make original SCC scheduling plans infeasible or not optimal. In this case, SCC rescheduling is essential to construct a new optimal schedule, which is suitable for current production environments. The SCC rescheduling can be modeled as hybrid flowshop rescheduling.11–13 That is, the SCC rescheduling can be thought as the realistic application of the hybrid flowshop rescheduling.
Compared with fruitful research on the SCC scheduling, less attempts have been made on the SCC rescheduling.11,14 Existing SCC rescheduling methods includes heuristics, 15 Lagrangian relaxation,14,16 and metaheuristics. Among the existing metaheuristics-based methods, Tang et al. 10 designed a differential evolution with incremental mechanism, while Long et al. 17 developed a hybrid algorithm which combined genetic algorithm and variable neighborhood search, where continuous caster breakdown was considered as the dynamic event. Li et al. 11 presented a hybrid fruit fly optimization algorithm, where processing times in the continuous casting stage were considered to be controllable. Peng et al. 12 devised an improved artificial bee colony.
Imperialist Competitive Algorithm (ICA) is a recent and effective metaheuristic, 18 which has been employed to successfully address many NP-hard problems, such as assembly flowshop scheduling, 19 energy-efficient flexible job shop scheduling, 20 and distributed shop scheduling. 21 The ICA begins with an initial population of solutions (named countries). Countries are classified as imperialists or colonies. Each colony is assigned to exactly an imperialist. Each imperialist attempts to assimilate its colonies and also tries to possess more colonies from other imperialists. 22 The basic ICA cannot be implemented directly to address the SCC rescheduling, since it is originally presented for continuous optimization problems. In this paper, an improved ICA is designed to solve the SCC rescheduling, named IICA.
The remainder of this paper is organized as follows. Section “SCC rescheduling problem” describes the SCC rescheduling problem. Section “Introduction of Basic ICA” describes the basic ICA. Section “Improved imperialist competitive algorithm” illustrates the details of the proposed IICA. Section “Experiment results” lists experiment comparison results. Finally, section “Conclusions” concludes this paper.
SCC rescheduling problem
In general, the SCC process contains three sequential production phases, i.e., steelmaking stage, refining stage, and continuous casting stage. In some cases, several refining stages may be contained in the SCC process, called multirefining. Each production stage has its own responsibility. More specifically, in the steelmaking stage, hot molten iron is transferred into molten steel and undesired impurity ingredients are lowered to certain levels. This is achieved by the machine named converter. The refining stage has the responsibility of further eliminating the impurity ingredients, and adding the required alloy ingredients. This is produced by the machine named refining furnace. In the continuous casting stage, liquid steel is casted into solid slabs, which is achieved by the machine named continuous caster. In the steelmaking and refining stage stages, charge is the basic production unit, while in the continuous casting stage, cast is the basic production unit.4,5
Figure 1 illustrates the SCC process simply. As can be seen from Figure 1, the SCC process contains steelmaking stage, three refining stages, and continuous casting stage, where each stage contains three machines.

Illustration of a SCC process. 12
The real-world SCC process executes the production according to the original schedule which is determined before the production. However, at some time (say RT), some dynamic events happen, for example, machine breakdown, new order arrival or order cancellation. In this paper, machine breakdown (converter breakdown and refining furnace breakdown) is considered as the dynamic event. Under the circumstances, the original SCC schedule may become inexecutable, infeasible, or not optimal, which makes the SCC rescheduling essential. The SCC rescheduling may become is to reschedule the SCC process at RT (called rescheduling time) and regenerate a new optimal schedule with optimal values in efficiency objectives and system instability objectives, and it specifies that, for each unfinished charge, its starting times, completion times and machine allocation in each stage. 12 Meanwhile, the new optimal schedule must satisfy current production environments and a number of production constraints, for example, for each charge, the next operation can begin only after the preceding operation has finished and the charge has been transferred to the machine; for two consecutive charges processed by a machine, the next charge can begin only after the preceding charge has finished. 4 More specifically, four efficiency objectives and two system instability objectives are considered, and the six objectives are weighted as the objective function in this paper, which is the same as Peng et al. 12 The corresponding mathematical model is somewhat similar to that in Peng et al., 12 the difference between them is that, the processing times of the continuous casting stage are constant in this paper, while those are controllable in Peng et al. 12
Introduction of Basic ICA
The basic ICA begins with empire initialization, which generates an initial population of N solutions (named countries). Among the N countries, the NImp best countries (named imperialists) are utilized to construct the empires (each imperialist corresponds to each empire), while the remaining N-NImp countries serve as colonies of the NImp empires. That is, an imperialist and its corresponding colonies together form an empire, while each colony belongs to and only belongs to an empire, and an empire may contain several colonies. The number of colonies allocated to imperialist i is determined by the fitness of the imperialist, denoted as NCi. The fitter the imperialist i is, the bigger NCi is. Then NCi colonies are selected randomly for imperialist i. When the Empire initialization is finished, a cycle of Assimilation-Exchange of imperialist and colony-Imperialist competition-Elimination of powerless imperialists continues until stopping conditions are reached. 18 More specifically, the basic ICA is displayed as follows.
Improved imperialist competitive algorithm
The section introduces the details of the designed IICA. First, encoding and decoding is shown. Then, empire initialization, multiswap-based local search, assimilation, revolution, exchange of imperialist and colony, imperialist competition, and restart strategy, are illustrated sequentially. Finally, the framework of the IICA is described.
Encoding and decoding
Charge permutation is employed as the encoding. More specifically, the encoding method of Peng et al. 12 is utilized in the IICA. After the encoding method is decided, a decoding method should be determined, which will decode a solution to a schedule. The decoding method in Peng et al. 12 is modified for the IICA. The modification is that, the steps relevant to controllable processing times are removed. More specifically, the decoding method of the IICA includes forward decoding and backward decoding. The forward decoding is the same as that of Peng et al., 12 while the backward decoding is some different, where the difference is mainly that, the charge left-shifting strategy and processing time adding strategy in Peng et al. 12 are not implemented in the IICA.
Empire initialization
An initial population with certain quality may be beneficial to enhance the performance of the IICA. In this paper, an empire initialization is specially devised for obtaining a population with diversity and certain quality. Let Nh denote the number of countries obtained by heuristic instead of random generation, the empire initialization can be given as follows.
Step 1. Generate two countries C1 and C2 by sequencing charges in non-decreasing order based on the starting times at refining and continuous casting stage, respectively.
Step 2. Set i = 3.
Step 3. If i≤Nh, randomly initialize country Ci to be C1 and C2 with equal probability, and then execute multiswap or Insert operator to Ci with equal probability, go to Step 4; Otherwise, go to Step 5.
Step 4. Set i = i+1, and go to Step 3.
Step 5. Generate the remaining N-Nh countries randomly.
Step 6. Sort all the countries, and select the NImp best countries to be the imperialists, which correspond to NImp empires. The number of colonies allocated to the j th empire (say NCj) is determined by Formula (1).
where α is a positive real number 23 and set to be 1.5 in this paper.
Step 7. For each imperialist (say j), select NCj countries randomly and allocate them as colonies of the empire j.
Multiswap-based local search
To improve the exploitation ability of the IICA, a multiswap-based local search is developed to further improve the imperialists. Let Q be the allowed maximum number, the multiswap-based local search is illustrated as follows.
Step 1. Set i = 1.
Step 2. Set q = 1.
Step 3. If q≤Q, execute a multiswap operator to the imperialist Ii, if the obtained solution is better than Ii, update Ii; Otherwise, go to Step 5.
Step 4. Set q=q+1, go to Step 3.
Step 5. Set i=i+1, if i≤NImp, go to Step 2; Otherwise, stop.
Assimilation
The assimilation is to improve each colony by moving toward its corresponding imperialist. Let NIk denote the number of successive iterations that colony Ck has not been improved, the assimilation is devised as follows.
Step 1. For each colony Ck (k = 1,2,…,N-NImp), execute Partially Mapped Crossover (PMX) to Ck and its corresponding imperialist, then two new solutions are obtained, denoted as P1 and P2.
Step 2. Select randomly a solution from P1 and P2 with equal probability, say Pt (t = 1 or 2).
Step 3. If Pt is better than Ck, update Ck by Pt, and set NIk = 0; Otherwise, go to Step 4.
Step 4. If f(Pt)=f(Ck), update Ck by Pt, set NIk = NIk+1, where f(Pt) and f(Ck) denote the objective value of Pt and Ck respectively; Otherwise, go to Step 5.
Step 5. Set NIk = NIk+1, accept Pt as Ck with the probability
Revolution
In the basic ICA, revolution is not contained. Revolution was initially devised by Shokrollahpour et al., 19 that is, in each iteration, some of the weakest colonies are selected and replaced with new solutions, randomly, where replacement rate is called revolution rate. In this paper, revolution is specially designed. Let Rr denote the revolution rate, ls denote the size of local search, the steps of the revolution are as follows.
Step 1. For each imperialist Ii (i = 1,2,…,NImp), a number rn is generated randomly in [0,1], if rn < Rr, go to Step 1.1; Otherwise, set i = i+1. Step 1.1. Generate randomly ls solutions (Say S1, S2,…, Sls). For each solution Sp (p = 1,2,…,ls), set Sp = Ii, and execute multiswap to Sk. Step 1.2. If the best one of the new ls solutions is better than Ij, update Ij.
Step 2. For colony Ck (k = 1,…,N−NImp), a number rn is generated randomly in [0,1], if rn < Rr, go to Step 2.1; Otherwise, set k = k+1. Step 2.1. Generate randomly ls solutions (Say S1, S2,…, Sls). For each solution Sq (q = 1,2,…,ls), set Sq = Ck, and execute multiswap to Sq. Step 2.2. If the best one of the new ls solutions (denoted as Sr) is better than Ck, update Ck by Sr, and set NIk=0; Otherwise, go to Step 2.3. Step 2.3. If f(Sr)=f(Ck), update Ck by Sr, where f(Sr) and f(Ck) denote the objective value of Sr and Ck, respectively, and set NIk=NIk+1; Otherwise, go to Step 2.4. Step 2.4. Set NIk = NIk+1, accept Sr as Ck with the probability
Exchange imperialist and colony
For each empire (say j), if the best one among its colonies (say colony Ck) is better than imperialist Ij, exchange Ij and Ck. The operator is to make sure that the imperialist is better than the colonies in the empire, which can further guide the evolution of its corresponding colonies to more promise area.
Imperialist competition
In the basic ICA, the imperialist competition is executed in each iteration. However, we believe that it is not necessary to employ the imperialist competition in each iteration. This is because, a colony may not be improved in one iteration, however, it may be a promising solution and can be further improved in the following several iterations. Therefore, an imperialist competition is devised in this paper, that is, execute the imperialist competition for R iterations instead of one iteration. Let Iter be the iteration number, the steps of the imperialist competition can be listed as follows.
Step 1. If Iter is multiples of R, that is, Iter%R = 0, go to Step 2; Otherwise, stop.
Step 2. If the weakest empire (say j) has lost all of its colonies, select an imperialist randomly (say p), allocate imperialist Ij to Ip as a colony, stop; Otherwise, go to Step 3.
Step 3. Select randomly one colony from empire j, select an imperialist randomly (say p), allocate the colony to Ip.
Step 4. If empire j has lost all of its colonies, allocate the imperialist Ij to Ip as a colony.
Restart strategy
In the evolutionary process of the IICA, some colony may encounter such a situation that has not been improved during the last several successive iterations. This may mean that the colony has been trapped in the local optimum. To escape the local optimum, a restart strategy is devised in this paper. Let NImax be the allowed number of successive iterations that a colony has not been improved, LS be the size of local search, the restart strategy is illustrated as follows:
Step 1. For colony Ck (k = 1,…,N−NImp), if NIk > NImax, go to Step 2; Otherwise, stop.
Step 2. Construct randomly LS solutions (Say S1, S2,…, SLS), and for each solution Sp (p = 1,2,…, LS), set Sp to be the best solution found so far Gb, execute several multiswap to Sp.
Step 3. Find the best one among the obtained LS solutions (denoted by Sb), set Ck = Sb. If Sb is better than Gb, update Gb.
Framework of the proposed IICA
Let N and NImp be the number of countries and imperialists, respectively, Rr be the revolution rate, NImax be the allowed number of successive non-improving iterations, R be the parameter in the imperialist competition, Gb be the best solution found so far, and Iter be the iteration number. The framework of the IICA is stated as follows.
Experiment results
The main concern of applying the metaheuristics to solve the combinatorial optimization problems is the solution quality. In this paper, to show the effectiveness of the presented IICA, three kinds of ICA in the literature are employed for comparison. The three kinds of ICA are listed as follows, (1) the basic ICA 18 (ICA), (2) an improved ICA devised by Shokrollahpour et al. 19 (ICAS), and (3) hybrid ICA proposed by Ghasemishabankareh et al. 24 (HICA). Note that the PMX operator is employed for the ICA and HICA, since the corresponding assimilation operation is not suitable for the SCC rescheduling. More specifically, for each colony, execute the PMX to it and its corresponding imperialist, which generates two solutions, select randomly a solution from the two solutions with equal probability. In the ICAS, two assimilation operations are tested, that is, (1) assimilation operation 1: the same assimilation operator employed for the ICA and HICA stated above; and (2) assimilation operation 2: the assimilation operation in the corresponding reference. Moreover, for the ICAS utilizing each assimilation operation, two revolution cases are tested, that is (1) revolution strategy 1: the 20% worst colonies are implemented the revolution; and (2) revolution strategy 2: the 30% worst colonies are implemented the revolution. That is, four versions of ICAS are tested in this paper, which are named ICAS1, ICAS2, ICAS3, ICAS4, respectively. Specifically, the ICAS1 is equipped with assimilation operation 1 and revolution strategy 1, while the ICAS2 is equipped with assimilation operation 1 and revolution strategy 2. The ICAS3 is equipped with assimilation operation 2 and revolution strategy 1, while ICAS4 is equipped with assimilation operation 2 and revolution strategy 2.
We code the above seven compared algorithms (i.e. IICA, ICA, HICA, ICAS1, ICAS2, ICAS3, and ICAS4) in C++, and run them on a 2.13 GHZ computer with 2G RAM using Windows 7 Operation System. The elapsed CPU time is set to be termination condition. Three termination conditions are used in this paper, that is, 10, 20, and 30 s. For each termination condition, each compared algorithm is run 10 times independently, the average result of the ten runs is calculated, and further served as the performance of the algorithm. Relative percentage increase (RPI) is calculated for comparing these algorithms, which is calculated by Formula (2).
where fca denotes the average objective function value of IICA, ICA, ICAS, or HICA, and flb denotes the best one among fca (ca denotes IICA, ICA, ICAS, HICA).
Test instances
Thirty test instances are randomly generated based on the test instance generation method in Pan et al., 4 and are further used to compare the above algorithms. More specifically, the SCC process contains steelmaking stage, refining stage, and continuous casting stage. The three stages contain three converts, five refining furnaces, and four continuous casters, respectively. Each continuous caster produces 3 to 4 casts in each workday, where each cast processes 8 to 12 charges. The processing time of each charge in the steelmaking stage is 38, while the processing times of each charge in the refining stage and continuous casting stage are in [36,50] and [38,44], respectively. The transferring time between the steelmaking stage and refining stage is in [10,15], which is the same as that between the refining stage and continuous casting stage.
With respect to the dynamic event, machine breakdown is considered, for each test instance, two machine breakdown cases are generated randomly, that is (1) converter breakdown: (i) breakdown converter: a converter is selected randomly (say c); (ii) rescheduling time, the rescheduling time is equal to RT1+RT2, where RT1 is 10% of the completion time on the converter c, and RT2 is the starting time of the first charge processed on the converter c; (iii) breakdown duration: breakdown duration is equal to 6% of the machine completion time of the converter c. (2) refining furnace breakdown: (i) breakdown refining furnace: a refining furnace is selected randomly (say rf); (ii) rescheduling time, the rescheduling time is equal to RT3+RT4, where RT3 is 30% of the completion time of the refining furnace rf, and RT4 is the starting time of the first charge processed on the refining furnace rf; (iii) breakdown duration: breakdown duration is equal to 6% of the machine completion time of the refining furnace rf.
Therefore, under each termination condition, for each machine breakdown case of each test instance, each compared algorithm is run 10 times independently, the average result of the 10 runs is calculated, and RPI can be further calculated. Then two RPIs can be obtained for two machine breakdown cases of each test instance. The average value of two RPIs is employed as the average RPI of each compared algorithm.
Comparison results
In this section, the IICA is compared with the ICA, HICA, ICAS1, ICAS2, ICAS3, and ICAS4. In the IICA, the main parameters stated in section “Framework of the proposed IICA,” that is N, NImp, Rr, NImax, and R are set to be 80, 6, 0.3, 500, and 20, respectively. To make the comparison fair, the same termination condition is used, that is, allowed CPU time. CPU time 10 s is employed first. Table 1 lists the average RPI comparison results of the seven algorithms when CPU time = 10 s. From Table 1, it can be noticed that the IICA and HICA perform better than ICA, ICAS1, ICAS2, ICAS3, and ICAS4, and the IICA is worse than the HICA. More specifically, the average RPIs of IICA and HICA are 1.56% and 0.65%, respectively, while the average RPIs of the ICA, ICAS1, ICAS2, ICAS3, and ICAS4 are 25.13%, 27.17%, 26.72%, 32.06%, and 32.06%, respectively.
The average RPI values when CPU time = 10 s.
Moreover, the termination condition is set to be longer CPU time, that is, 20 s. Table 2 gives the corresponding average RPI comparison values of these compared algorithms. Table 2 shows that the IICA performs better than other algorithms, that is, the HICA, ICA, ICAS1, ICAS2, ICAS3, and ICAS4. Precisely, the average RPI of IICA is 0.69%, while the average RPIs of the ICA, HICA, ICAS1, ICAS2, ICAS3, and ICAS4 are 22.69%, 1.03%, 24.61%, 23.94%, 33.30%, and 33.30%, respectively.
The average RPI values when under CPU time = 20 s.
Finally, CPU time 30 s is used as the termination condition. Table 3 describes the corresponding average RPI comparison values. According to Table 3, it can be noticed that the IICA also performs best among the seven algorithms. The average RPIs of the IICA, ICA, HICA, ICAS1, ICAS2, ICAS3, and ICAS4 are 0.58%, 27.04%, 1.19%, 22.75%, 21.64%, 34.10%, and 34.10%, respectively.
The average RPI values when CPU time = 30 s.
According to the comparison results under three levels of CPU time, one can find that the IICA and HICA always outperform the remaining algorithms. Moreover, under shorter CPU time (i.e. 10 s), the performance of the IICA is worse than that of the HICA, while under longer CPU time (i.e. 20 and 30 s), the IICA outperforms the HICA. In conclusion, the above experimental results and analysis have shown that the IICA is an effective method for addressing the SCC rescheduling problem.
Conclusions
In the paper, we present an improved ICA for the SCC rescheduling, which can be recognized as the realistic application of the hybrid flowshop rescheduling. An empire initialization is devised to construct the initial countries with diversity and certain quality. Meanwhile, multiswap-based local search and imperialist competition are designed to enhance the intensification of the IICA. Moreover, revolution and restart strategy are devised to improve the diversification. In the future work, the IICA can be further enhanced by designing more effective operators based on problem characteristics or attempting to combining with other techniques.25,26 Meanwhile, the IICA can be employed for addressing other production scheduling problems, for example, welding shop scheduling,27,28 energy-efficient scheduling,29,30 distributed scheduling,31–33 integrated process planning and scheduling. 34 Furthermore, the existing rescheduling methods for the hybrid flowshop can be modified and adopted for the SCC rescheduling.
Footnotes
Authors’ Note
Kunkun Peng is also affiliated with State Key Laboratory of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology, Wuhan, China.
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This project is supported by National Natural Science Foundation of China (Grant No. 51705177, 51905199, 61773269).
