An improved imperialist competitive algorithm for hybrid flowshop rescheduling in steelmaking-refining-continuous casting process

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.


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][12][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 metaheuristicsbased 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.
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 N Imp best countries (named imperialists) are utilized to construct the empires (each imperialist corresponds to each empire), while the remaining N-N Imp countries serve as colonies of the N Imp 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 NC i . The fitter the imperialist i is, the bigger NC i is. Then NC i 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 N h 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 C 1 and C 2 by sequencing charges in non-decreasing order based on the starting times at refining and continuous casting stage, respectively.
Step 3. If i4N h , randomly initialize country C i to be C 1 and C 2 with equal probability, and then execute multiswap or Insert operator to C i 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-N h countries randomly.
Step 6. Sort all the countries, and select the N Imp best countries to be the imperialists, which correspond to Framework of the basic ICA //Empire initialization Generate N countries, select N Imp best countries as imperialists to construct the empires, and allocate the remaining N-N Imp countries to the N Imp empires as colonies. while termination condition has not been met //Assimilation For each colony, improve it by moving towards its relevant imperialist. //Exchange imperialist and colony For each imperialist, if the best one among its relevant colonies is better than it, exchange the best colony and the imperialist. //Imperialist competition Select one of the weakest colonies of the weakest empire, make a competition among all the empires to select an imperialist, the selected imperialist will possess the colony. //Elimination of powerless imperialists For each imperialist, the imperialist collapses if it lost all the colonies. end while N Imp empires. The number of colonies allocated to the j th empire (say NC j ) is determined by Formula (1).
where a is a positive real number 23 and set to be 1.5 in this paper.
Step 7. For each imperialist (say j), select NC j 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 3. If q4Q, execute a multiswap operator to the imperialist I i , if the obtained solution is better than I i , update I i ; Otherwise, go to Step 5.

Assimilation
The assimilation is to improve each colony by moving toward its corresponding imperialist. Let NI k denote the number of successive iterations that colony C k has not been improved, the assimilation is devised as follows.
Step 1. For each colony C k (k = 1,2,.,N-N Imp ), execute Partially Mapped Crossover (PMX) to C k and its corresponding imperialist, then two new solutions are obtained, denoted as P 1 and P 2 .
Step 2. Select randomly a solution from P 1 and P 2 with equal probability, say P t (t = 1 or 2).
Step 3. If P t is better than C k , update C k by P t , and set NI k = 0; Otherwise, go to Step 4.
Step 4. If f(P t )=f(C k ), update C k by P t , set NI k = NI k + 1, where f(P t ) and f(C k ) denote the objective value of P t and C k respectively; Otherwise, go to Step 5.
Step 5. Set NI k = NI k + 1, accept P t as C k with the Á T, M and S denote the number of charges and stages respectively, PT ps denotes the processing time of charge p at the sth stage, T is set to be 0.4.

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.2. If the best one of the new ls solutions is better than I j , update I j .
Step 2.2. If the best one of the new ls solutions (denoted as S r ) is better than C k , update C k by S r , and set NI k =0; Otherwise, go to Step 2.3.
Step 2.3. If f(S r )=f(C k ), update C k by S r , where f(S r ) and f(C k ) denote the objective value of S r and C k , respectively, and set NI k =NI k + 1; Otherwise, go to Step 2.4.
Step 2.4. Set NI k = NI k + 1, accept S r as C k with the probability exp À f S r ð ÞÀf

Exchange imperialist and colony
For each empire (say j), if the best one among its colonies (say colony C k ) is better than imperialist I j , exchange I j and C k . 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 I j to I p 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 I p .
Step 4. If empire j has lost all of its colonies, allocate the imperialist I j to I p 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 NI max 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 C k (k = 1,.,N2N Imp ), if NI k . NI max , go to Step 2; Otherwise, stop.
Step 2. Construct randomly LS solutions (Say S 1 , S 2 ,., S LS ), and for each solution S p (p = 1,2,., LS), set S p to be the best solution found so far G b , execute several multiswap to S p .
Step 3. Find the best one among the obtained LS solutions (denoted by S b ), set C k = S b . If S b is better than G b , update G b .

Framework of the proposed IICA
Let N and N Imp be the number of countries and imperialists, respectively, Rr be the revolution rate, NI max be the allowed number of successive non-improving iterations, R be the parameter in the imperialist competition, G b 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 (ICA S ), 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 ICA S , 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 ICA S 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 ICA S are tested in this paper, which are named ICA S1 , ICA S2 , ICA S3 , ICA S4 , respectively. Specifically, the ICA S1 is equipped with assimilation operation 1 and revolution strategy 1, while the ICA S2 is equipped with assimilation operation 1 and revolution strategy 2. The ICA S3 is equipped with assimilation operation 2 and revolution strategy 1, while ICA S4 is equipped with assimilation operation 2 and revolution strategy 2.
We code the above seven compared algorithms (i.e. IICA, ICA, HICA, ICA S1 , ICA S2 , ICA S3 , and ICA S4 ) 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 f ca denotes the average objective function value of IICA, ICA, ICA S , or HICA, and f lb denotes the best one among f ca (ca denotes IICA, ICA, ICA S , 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.  [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 RT 1 + RT 2 , where RT 1 is 10% of the completion time on the converter c, and RT 2 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 RT 3 + RT 4 , where RT 3 is 30% of the completion time of the refining furnace rf, and RT 4 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, ICA S1 , ICA S2 , ICA S3 , and ICA S4 . In the IICA, the main parameters stated in section ''Framework of the proposed IICA,'' that is N, N Imp , Rr, NI max , 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, ICA S1 , ICA S2 , ICA S3 , and ICA S4 , 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, ICA S1 , ICA S2 , ICA S3 , and ICA S4 are 25.13%, 27.17%, 26.72%, 32.06%, and 32.06%, respectively.
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, ICA S1 , ICA S2 , ICA S3 , and ICA S4 . Precisely, the average RPI of IICA is 0.69%, while the average RPIs Framework of the IICA Step 1. Set Iter = 1.
Step 2. Empire initialization. Generate N h countries by the heuristic presented in section ''Empire initialization,'' and generate N-N h countries randomly. Select N Imp best countries as imperialists to construct the empires, and allocate randomly the remaining N-N Imp countries to the N Imp imperialists as colonies according to Formula (1). If an imperialist (Say I i ) has not been allocated any colony, select an imperialist randomly (Say I j ) and allocate I i to I j as a colony. Find the best one among the N countries, utilize it to initialize G b .
Step 3. Multiswap-based local search. For each imperialist, execute a multiswap operator to it, if a better solution can be obtained, utilize it to replace the imperialist, continue the step until a predefined number is reached. If the updated imperialist is better than G b , update G b .
Step 4. Assimilation. For each colony, execute PMX to the colony and its corresponding imperialist, then two new solutions are obtained, selected one from the two solutions, and further determine whether it can be accepted as the colony.
Step 5. Exchange imperialist and colony. For each empire, if the best one among its colonies is better than the imperialist, exchange the colony and the imperialist. If a solution better than G b is found, update G b .
Step 6. Revolution. For each imperialist, execute the revolution strategy described in section ''Revolution.'' For each colony, execute the revolution strategy described in section ''Revolution.'' Step 7. Exchange imperialist and colony. For each empire, if the best one among its colonies is better than the imperialist, exchange the colony and the imperialist. If a solution better than G b is found, update G b by the solution.
Step 8. Imperialist competition. If Iter is multiples of R, select randomly one colony of the weakest empire (say j), select an imperialist randomly (say p), allocate the colony to imperialist I p . If empire j has lost all of its colonies, allocate the imperialist I j to I p as a colony.
Step 9. Restart strategy. For each colony, if it has not been improved during the last NI max iterations, construct LS solutions, which are copies of G b . Execute several multiswap to each solution. Utilize the best one of the obtained LS solutions update the colony. If a solution better than G b is found, update G b by the solution.
Step 10. Set Iter = Iter + l. If the termination condition (e.g. allowed elapsed CPU time) has been met, return G b . Otherwise go to Step 3.
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.

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.