Solving the Two-Crane Scheduling Problem in the Pre-Steelmaking Process

: This research is motivated by the practical pre-steelmaking stage in large iron and steel companies, which have steady and heavy demands for the steelmaking production process. Our problem studied the pre-steelmaking stage, which consists of two steps that are needed in each convertor before the steelmaking process. During each step, a necessary transportation must be operated by a crane. In contrast to the classical two-machine ﬂowshop problem during which both machines are ﬁxed, these transporting operations are performed by two mounted, removeable cranes. Our problem is scheduling two-crane operations for the sake of minimizing the last convertors’ completion time (makespan); that is, the last ﬁnish time among the total operation of the two cranes is minimized. This study was concerned with resolving the interference between two cranes by determining the sequence of loading operations and how each crane avoids the other in order to let it complete its next operation ﬁrst. A mixed integer linear programming (MILP) model was developed to represent the problem, and we further present the computational complexity of the problem. The result implies that our problem is very difﬁcult to solve, and it is computationally challenging to solve the model. A special case is provided, which can be optimally solved in polynomial time. Furthermore, an evolutionary algorithm cuckoo search (CS) algorithm was attempted to obtain near-optimal solutions for medium-and large-scale problems. Finally, the efﬁciency and effectiveness of our methods were validated by numerical results in both simulated instances as well as real data from a practical production process.


Introduction
Steel production is a necessary activity as steel is a widely used metallic material in the modern world economy. China's steel industry plays a crucial role in the global economy and has made significant result since the 1990s. In 2012, the World Steel Association reported that for the past 15 years, China's annual steel output has been ranked first globally for every year and has increased to 100 million tons since 1996. The steelmaking process is often regarded as a bottleneck in any integrated steel company.
This study has focused on the pre-steelmaking stage in the steel industry. This stage consists of two steps that are needed before steelmaking. The first step is the transportation of scrap and slag flux in a bunker and dumping it into a convertor, and the second step is molten steel being transported in a ladle and being poured into a convertor. Figure 1 illustrates the pre-steelmaking stage. All of these transporting operations are moved by heavy mounted crane equipment, which are the most important logistical equipment in the pre-steelmaking stage; their work efficiency is a vital factor of improving and making the time required for steelmaking more efficient. For that reason, crane availability is the critical operational bottleneck in this process. In particular, crane scheduling has significantly the time required for steelmaking more efficient. For that reason, crane availability is th critical operational bottleneck in this process. In particular, crane scheduling has signif cantly influenced steelmaking efficiency. By improving crane scheduling, iron and ste companies can increase the convertor utilization, improve productivity, and reduce th production cost. Typical cranes lift bunkers or ladles one at a time. However, various u certain factors and unknown issues must be faced regarding crane scheduling in a pract cal production. For example, in the duration of the crane movement, because of the trac limitation, two neighboring cranes must guarantee safe distance between each othe Cranes may transport bunkers or ladles at an earlier or later point. All of these uncerta factors impact the last scheduled operation.
Therefore, determining the sequence of loading operations is very important for mi imizing the makespan of all convertors; that is, our objective was to minimize the la finish time among all crane operations. Crane scheduling is a necessary activity and plays a very important role in improvin production efficiency and facility utilization and in reducing energy consumption in mod ern heavy industries, especially in steel production. Consequently, the efficiency of cran scheduling is one of the critical attributes for saving energy and improving the overa level of a nation's steel industry. Unlike the traditional machine scheduling for the pr cessing job, which is based on a machine motionless mode, crane scheduling adopts machine moving mode from one position to another. For their horizontal simultaneou transportation along the workshop, the two cranes share a common track so that the cannot pass each other and keep a safe distance. The movement direction of both cran at both sides of their track to the convertor is face-to-face. After they complete the oper tions, they move opposite to the left or right end of the track. The workshop of both cran must overlap and thus, interference constraints have to be taken into account.

Literature Review
The academic literature on the management of crane scheduling is vast. Most relate papers have covered container ports since early 1980s. Interested readers may refer Boysen et al. [1] for a generalized classification of multiple-crane scheduling problems. container ports, various research has mainly focused on the quay crane scheduling pro lem (QCSP) and yard crane scheduling problem (YCSP). We can find some other researc about two-crane scheduling Briskorn [2], and the problem of concern is a sequence of task that has been assigned to each crane. For QCSP, Zhen et al. [3] investigated the schedul of two types of cranes in the container terminal system; they minimized the makespa and for bridge crane scheduling, they minimized the total movement distance in a give planning horizon. However, they handled two scheduling problems using a sequen method; meta-heuristics were proposed to solve them. Cheng et al. [4] researched th Therefore, determining the sequence of loading operations is very important for minimizing the makespan of all convertors; that is, our objective was to minimize the last finish time among all crane operations.
Crane scheduling is a necessary activity and plays a very important role in improving production efficiency and facility utilization and in reducing energy consumption in modern heavy industries, especially in steel production. Consequently, the efficiency of crane scheduling is one of the critical attributes for saving energy and improving the overall level of a nation's steel industry. Unlike the traditional machine scheduling for the processing job, which is based on a machine motionless mode, crane scheduling adopts a machine moving mode from one position to another. For their horizontal simultaneous transportation along the workshop, the two cranes share a common track so that they cannot pass each other and keep a safe distance. The movement direction of both cranes at both sides of their track to the convertor is face-to-face. After they complete the operations, they move opposite to the left or right end of the track. The workshop of both cranes must overlap and thus, interference constraints have to be taken into account.

Literature Review
The academic literature on the management of crane scheduling is vast. Most related papers have covered container ports since early 1980s. Interested readers may refer to Boysen et al. [1] for a generalized classification of multiple-crane scheduling problems. In container ports, various research has mainly focused on the quay crane scheduling problem (QCSP) and yard crane scheduling problem (YCSP). We can find some other research about two-crane scheduling Briskorn [2], and the problem of concern is a sequence of tasks that has been assigned to each crane. For QCSP, Zhen et al. [3] investigated the schedules of two types of cranes in the container terminal system; they minimized the makespan, and for bridge crane scheduling, they minimized the total movement distance in a given planning horizon. However, they handled two scheduling problems using a sequence method; meta-heuristics were proposed to solve them. Cheng et al. [4] researched the multispreader crane scheduling problem where each crane has more modes that are different from traditional crane movement mode. They investigated the computational complexity and proposed a nice approximation algorithm for the problem. Although Ma et al. [5] formulated a two-stage stochastic mix-integer programming model for the QCSP problem in container terminals, they only considered the movement of the cranes from the same direction; this is different from our case study.
In addition, for some integrated crane scheduling and other transportation problems, Galle et al. [6] integrated the YCSP and container relocation problem into container terminals. The authors proposed a heuristic local search scheme for jointly optimizing crane travel time and future relocations. Skaf et al. [7] mainly considered an integrated quay crane and yard truck scheduling problem, and they developed a genetic algorithm to obtain near optimal solution. However, the problem they considered was a single-crane scheduling problem. Kenan et al. [8] investigated the integrated quay crane assignment and scheduling problem with carbon emissions considerations. The authors formulated two models to capture the effects of carbon taxation and carbon cap-and-trade. However, crane routing and moving time were neglected.
The other research concerning the crane scheduling problem mainly focus on shuffling and retrieval activities in warehouses. Polten and Emde [9] studied a single-crane scheduling problem in a shared-storage automatic storage and retrieval system. They reformulated the problem as a special vehicle routing problem that could be optimally solved for large instances. In a steel warehouse, Tang et al. [10] also focused on a single-crane scheduling problem for minimizing crane transportation and shuffling moves. Peng et al. [11] investigated a crane scheduling problem in a slab yard of the iron and steelmaking industry. They presented a mixed integrated programming model for optimizing the storage allocation assignment and crane scheduling. A modified genetic algorithm was proposed to solve the problem. Unfortunately, these aforementioned results are not directly applicable to crane scheduling in the pre-steelmaking stage of the steel industry.
Many research papers have also been published on the use of cranes in industries that are not related to the steelmaking enterprise. The problem we consider focuses on the steelmaking stage in steel industry that is similar to the problem in container ports. However, compared with the problem in container ports, our problem is much more complex. There are two different transporting operations demanded for each convertor over the course of pre-steelmaking: one is crane operation decisions, the other is convertor decisions. Although our problem has a similar structure as Jaehn and Kress [12], their problem did not involve crane operation decisions, which is a main concern in our problem. Moreover, they studied the case where containers enter the block on one side and may leave the block on the other side. However, the presence of crane operation selection decisions in our problem makes our problem much more complex.
As discussed above, even though much research has proposed methods such as metaheuristics [3,10], the approximation algorithm [4] the simulated annealing algorithm [5], the heuristic local search algorithm [6], the genetic algorithm [7,11], and the exact solution approach [9] for solving crane scheduling problem, there are no existing methods that can be directly applicable to crane scheduling in the pre-steelmaking stage of the steel industry. In the production scheduling of steelmaking and continuous casting, Feng and Wang [13] solved a practical problem by using an evolutionary algorithm cuckoo search (CS) algorithm for meeting the practical requirement. Nevertheless, Camacho-Villalón et al. [14] concluded that the CS algorithm is a bit outdated and short of novel, and they said that the stochastic optimization's effect was not improved in CS. Inspired by them, our study is the first attempt to solve our problem using the CS algorithm.
Because a crane needs to accelerate and decelerate at times for the practical production, the cranes do not have a constant speed. It was necessary for us to consider scrap and slag flux/molten steel pick-up or set-down, but this time is quite short compared with the movement time. Furthermore, we assume that the time a crane needs to pick up or set down any bunker/ladle is a multiple p of one time unit, as described in Ref. [15], and it includes the additional time caused by crane acceleration or deceleration. Although comparing the overall processing time for loading or unloading operations by a crane is small, some literatures have ignored the travel time of a crane between two positions. More importantly, we show that the problem of even a two-crane scheduling case is strongly NP-hard.
Because our problem is complicated and abstracted from the practical production, to solve this problem that is abstracted from the practical steelmaking stage, on the one hand, we proposed a mixed integer linear programming (MILP) to be solved for smaller scale problems; on the other hand, we attempted to use the CS algorithm for medium-and largescale problems. The remainder of this paper is organized as follows. First, we formulate the problem setting, distinguishing between the two-crane scheduling problem and the traditional two-machine flowshop problem. Second, we provide a formal description of the problem and formulate it as a mixed integer linear programming model. Third, we demonstrate that our problem is NP-hard, and we further provide a solvable case in polynomial time. Furthermore, a CS algorithm is designed to solve the problem.

Problem Definition and Notation
In actual steelmaking workshops, each convertor is fixed and arranged on its position below the track, and both the scrap heap and some of the ladles on trolley are at the end of the track. Without loss of generality, we assume that the leftmost line is a scrap heap, and the rightmost line is a trolley. We also assume that the capacity of the scrap heap and trolley in the workshop are provided in advance so that the capacity or arriving time constraints do not have to be considered. Thus, for the crane's operation, the left (right) end of the line is set as an access point at s = 0 (s = S + 1). Obviously, a natural decision that is commonly made is to let one crane exclusively serve the scrap heap and the other serve the ladles on the trolley according to a simple rule based on the workers' experience for determining the division of labor. Now, we formally describe the model which establishes particular emphasis on both the positions of convertors and the movements of cranes for the exactness of the study.

Problem Parameters
We define a given set of n convertors J = {1, 2, . . . , n} to be uniquely arranged by its coordinates w j , ∀j ∈ J and operated by only two cranes (see Figure 1). The distance between any two adjacent convertors is d.
For each convertor j ∈ J, the time for the first step performed by one crane p 1j is the duration of a bunker movement, which is composed of continuous operations such as fixing the crane's grip hook at the bunker, lifting it, and moving it to its target convertor j, where the grip hooks are released. Similarly, the time for the second step performed by one crane p 2j is the duration of a ladle movement, which is composed of continuous operations such as fixing the crane's grip hook at the ladle, lifting it, and moving it to its target convertor j, where the grip hooks are released. The time for the crane lifting the empty bunker (ladle) from the current convertor and moving to its access point is defined as the setup time s 1j (s 2j ). Once both of the two-stage operations for a convertor are completed by the crane, the convertor begins processing. The processing time in each convertor is defined as P j .
Let a set of two cranes H = {1, 2} that are on the same tracks cover the region between d. Consider the cranes overhead on the tracks from left to right as being denoted by H 1 and H 2 . A crane must be away from an adjacent crane in order to meet safety requirements. t ij , ∀i, j ∈ J, the waiting time of a crane from convertor w i to convertor w j . M, a very large positive number.

The Decision Variables
x h piqj ∈ {0, 1}, ∀p, q ∈ {1, 2}, ∀i, j ∈ J, ∀h ∈ H if crane h performs convertor j in its qth stage immediately after convertor i in its pth stage, then x h piqj = 1; otherwise, x h piqj = 0. z piqj ∈ {0, 1} if convertor j in its qth stage begins processing later than the finish time of convertor i in its pth stage, then z piqj = 1; otherwise, z piqj = 0. For the same convertor j, we know that z 1j2j = 1 and z 2j1j = 0, ∀j ∈ J.
C qj , ∀q ∈ {1, 2}, ∀j ∈ J, the finish time of convertor j in stage q, operated by crane.
D qj , ∀q ∈ {1, 2}, ∀j ∈ J, the processing finish time of convertor j in stage q. Thus, C h max , ∀h ∈ H, the finish time of crane h, is equal to the last stage finish time performed by h among all of its moves.
W, the makespan, i.e., the earliest time at which all cranes can complete their work, For a given schedule σ and an optimal schedule σ * , let C max (σ) be the value of the makespan and C max (σ * ) be the minimum value of the makespan, respectively.

Problem Formulation
Now we provide a mixed integer linear programming (MILP) model for minimizing the total movement of both cranes; we need to consider non-crossing constraints between them when they are simultaneously moving.
Analysis for the Formulation Constraint (2) calculates the last crane's completion time. One stage q of each convertor j is assigned to one and only one crane h by Constraint (3). Constraint (4) defines the flow balance for one stage of each convertor and each crane. Constraint (5) and (6) determine the finish time for each convertor of some stage and eliminate subtours. For the same convertor j, processing enforcements are given by Constraint (7). To avoid cranes collisions, Constraint (8) and (9) provide more refinements. For example, consider that two convertors i and j are located on the region where two cranes cannot simultaneously work; that is, all stages of the two convertors are at an unsafe distance. The constraints between cranes working on convertors belonging to this extent are avoided because of Constraint (10) forcing the non-simultaneity of the associated convertors. Two stages of the same convertor cannot be simultaneously performed by Constraint (11). If convertors i and j with w i < w j , are performed simultaneously, then z piqj + z qjpi = 0. Assuming that both cranes and convertors are ordered in an increasing order of their relative position, if h 1 < h 2 , and if crane h 1 performs stage q of convertor j and h 2 performs stage p of convertor i, then two-crane crossing happens. However, the case that ∑ h∈H ∑ k∈J x h pkqj − ∑ h∈H ∑ k∈J x h qkpi = 1 cannot be allowed because Constraint (11) establishes the fact of z piqj + z qjpi = 0. Because the maximum value of the left side is equal to 1, M is unnecessary. Constraint (11) is only relevant when z piqj + z qjpi = 0. Hence, this constraint can be also can be substituted as ∑ h∈H ∑ k∈J x h pkqj − ∑ h∈H ∑ k∈J x h qkpi ≤ 1 + z piqj + z qjpi . Constraint (12) defines the finish time of each crane. The time variable associated with the first convertor of each crane is enforced by Constraint (13). Constraint (14)-(16) are non-negativity and binary constraints on the variables.
Because a very large number of integer variables are involved in the model described above, the real problem makes it more complex and consumes considerable computational time. The computation time needed may dramatically increase as the problem size increases, and it is appropriate to explore problem properties in view of the difficulty of finding the optimal schedule in the limited computing time for this practical problem.

Complexity and a Special Case
In this section, we first demonstrate our problem as having astrongly NP-hard nature by reduction. As far as we know, it is usually not very hard to achieve a feasible solution. An illustrative example in the following is introduced with five convertors and two cranes to clarify a potential scheduling result of our problem by using a time-way diagram in Figure 2. The time-way diagram is a special type of Gantt chart that emphasizes the crane movement used by Liu and Jiang [16]. The vertical axis represents positions, and the horizontal axis represents time. Solid lines indicate a crane moving with full bunker or ladle; here, it contains either the lifting up or dropping off bunker or ladle for a convertor, and the horizontal segment indicates that the crane waits at the position of convertor; the thin dotted lower (upper) inclined gray lines show that the crane moves with an empty bunker (ladle). As empty crane movements occur on transporting empty bunkers or (ladles) from the convertor to scrap and slag flux mountains (trolley), if there are adequate buffer positions beside each convertor, we need not consider these empty crane movements. Hence, our problem can be viewed as a two-machine flow shop problem F2||Cmax and can be optimally solved by using Johnson [18] with the O(n log n) method.
Due to the inherent difficulty, an efficient and exact algorithm for the problem under consideration does not exist. Hence, in the next part, we develop a cuckoo search (CS) algorithm based on a myopically optimal solution. Compared with the proposed lower bounds, our main results are solved for by the MILP and CS algorithm for small size problems and for medium-and large-sized problems in the practical application, respectively.  Figure 2. Time-way diagram for the computational example in Table 1.

A Cuckoo Optimization Algorithm for General Case
In this part, we design an evolutionary algorithm cuckoo search (CS) algorithm for our problem. This optimization algorithm is inspired by the life of a bird family called the cuckoo. Birds have the behavior of hovering with a random or nearly random routine in nature, such as in the case of the albatross. Generally, the hover path could be regarded  Table 1. In Table 1, we list the parameters of a simple numerical example. Proof. As mentioned earlier, before the steelmaking processing in the convertor, each convertor requires the same flow process for the crane's operation. It is inevitable for crane waiting to happen between two steps to avoid collision. We construct an instance by viewing the crane as a motionless machine and the convertors as jobs. This constructed instance is equivalent to the traditional two-machine flowshop problem with ready time F2|rj|Cmax, which has been demonstrated as strongly NP-hard by [17]. It immediately follows that the instance is solved if and only if the problem F2|rj|Cmax is solved.

Property 1.
Without avoiding collision considerations, and without empty crane movement, our problem can be regarded as a two-machine flow shop problem.
As empty crane movements occur on transporting empty bunkers or (ladles) from the convertor to scrap and slag flux mountains (trolley), if there are adequate buffer positions beside each convertor, we need not consider these empty crane movements. Hence, our problem can be viewed as a two-machine flow shop problem F2||Cmax and can be optimally solved by using Johnson [18] with the O(n log n) method.
Due to the inherent difficulty, an efficient and exact algorithm for the problem under consideration does not exist. Hence, in the next part, we develop a cuckoo search (CS) algorithm based on a myopically optimal solution. Compared with the proposed lower bounds, our main results are solved for by the MILP and CS algorithm for small size problems and for medium-and large-sized problems in the practical application, respectively.

A Cuckoo Optimization Algorithm for General Case
In this part, we design an evolutionary algorithm cuckoo search (CS) algorithm for our problem. This optimization algorithm is inspired by the life of a bird family called the cuckoo. Birds have the behavior of hovering with a random or nearly random routine in nature, such as in the case of the albatross. Generally, the hover path could be regarded as a random sequence, which considers the probability of the current position to the next position, and it is referred to as the Levy flight ( [19]). The Levy flight is the type of random hover that conforms to a rule of heavy-tailed distribution. As we have introduced the Levy flight, the discovered paths of short distances and deep distances will be effectively combined, which extends the search area, improves the diversity of the population, and efficiently jumps the local optimum.
The CS algorithm was first introduced by Yang and Deb [20] based on the Levy flight researched by Yang [21] and Yang [22]. Then, Rajabioun [23] and Yang [24] used this method for engineering design optimization problems. The CS algorithm is a swarm intelligence algorithm like particle swarm optimization in which the activity of a cuckoo spawn is imitated. Most female cuckoos can spawn but are not able to incubate eggs. So, they will put their eggs in the nests of other birds that are able to incubate the eggs. However, parents can recognize their biological children by the chirp after incubating the eggs. Once the nest hosts find that the chirp of the birdling is different, the birdling will be killed. For survival, they will imitate the chirp of the female bird to cheat them. As time passes, the birdling that can be better imitated and will increase and survive. The Levy flight of the CS algorithm can be expressed as Equation (17) by assuming the location of nests.
x t+1 where x t i is the location of ith nests at the iteration of times t, ⊗ is the dot product, α is the step factor that can be solved by Equation (18), and L(λ) is the vector of the random search produced by the β distribution of the Levy flight, expressed as Equations (19) and (20). (18) where r is a random number ranging from [−1, 1]. x best is the location of the best optimum at present.
where λ is a constant ranging from [1,3]; µ and υ are the random numbers ranging from [−1, 1]; β is the distribution of the Levy flight, which follows as Equations (21) and (22).
where Γ is the gamma function.

CS Algorithm
The processing of the CS algorithm should conform to three rules. Firstly, the number of nests is fixed, and each cuckoo only lays one egg where one nest is chosen to incubate. Secondly, the egg of the local optimum will be retained for the next generation (iteration). Finally, the probability of being found by the nest hosts (female birds) is set to P α . Once the nest host finds the egg, it will be abandoned, and the egg will search for a new nest.

Representation of Variables (Eggs)
In the scheme of the CS algorithm, the minimum objective function is first defined as Equation (23). A constant number of P α ∈ [0, 1] is set.
where x is the vector of independent variables (eggs), x = [x 1 , x 2 , . . . , x n ]. The number of eggs is set to 25. The x was normalized to the range spanning from 0 to 1. In this case, x contains x h piqj and z piqj . Meanwhile, the completion time is recorded for each crane and convertor, respectively.

Initializing the First Variables
Secondly, the number of n vectors of independent variables will be initialized, X = x 1 , x 2 , . . . , x n . Then, the iteration time is set to t = 1. The completion time is set to zero for each crane and convertor.

Constraints Validation
Thirdly, the X is restored from binary (0 and 1), and the two stages of processing the completion time of the convertors are calculated and stored as T = T 1 , T 2 , . . . , T n . X is inputted to the constraints (Equations (2)- (16)). If an element in x n cannot meet the constraints (crane interference and convertor processing requirement), the completion time is set to infinite. Then, the maximum value of the makespan is selected for each T n as C n max . The objective function values of W are solved by Equation (23) choosing the minimum performed time C 1 max , C 2 max , . . . , C n max . The local optimum could be obtained, regarding it as W i and recording it as the global optimum, [W best , x best ].

Interference Treatment
Fourthly, random number vectors s ranging from 0 and 1 are generated. Pa is set to 0.25. The eggs will be randomly moved to a new location if s is greater than P α . The movement equation can be expressed as Equation (24). Here, the new location is chosen for handling the interference, which consists of idle crane waiting and convertor processing with the second stage priority.
where Y is a random number.

Recalculated Current Objective Value
Fifthly, the moved independent variables will be recalculated. For instance, x j was recalculated by Equation (24). Then, X is inputted to the constraints (Equations (2)-(16)) and the objection function W j should be solved by Equation (23). Additionally, the new objective function values will be compared with the global optimum [W best , x best ], and the best value will be retained as a new global optimum.

Levy Flight for Improving the Solution
Sixthly, the Levy flight is applied to change all locations of the eggs. In this process, the parameters λ and β are set to 1.5 and 0.7. Then, r, µ, and υ are randomly generated. The new location of eggs can be solved by Equation (17), X = x 1 , x 2 , . . . , x n , And the new objective function values will be compared with the global optimum. The best value will be retained. If the new value solved by the best optimum location is worse than the best, the best optimum location will be retained. Then, the iteration time is set to t = t + 1.

Termination Criteria
Seventhly, repeat steps 3-6 until the algorithm is up to the maximum iteration or less than the threshold of the termination standard. We set the maximum iteration as 1000. Finally, the best optimum could be outputted.
Furthermore, the values of objective function W should be compared with the constraints as Equations (1)- (16). If it satisfies these conditions, the W will be retained. Otherwise, the W is set to infinite.
The seven step scheme of the CS algorithm can be illustrated in Figure 3.

Computational Study
To test the performances of the MILP model and the proposed CS, we used 24 randomly generated instances as explained below. The distance of any two adjacent convertors d(m) was generated from [5,10] randomly. The crane loaded move velocity v(m/s) and empty move velocity λ (m/s) were randomly generated from [1,5] and [6,10], respectively. Hence, the other parameters p 1j s 1j , p 2j , and s 2j could be calculated in advance. The processing time in each convertor P j (s) was randomly generated from [360,3600]. Although these parameters have arisen from practical problems that we encounter, we have also performed computational experiments on larger problems to test the performance of our MILP and CS algorithm.
The MILP model of the instances were solved by using CPLEX version 11.0 on a PC with a 2.33 GHz Pentium CPU and 1 GB of RAM. With the same configuration, the CS algorithm implemented by using Visual C++ ran on the PC. For some instances, as the MILP failed to obtain an optimal solution, the lower bound LB, as a basis, is derived from the following two bounds (25) and (26). The quality of the result's makespan C max obtained by our methods, is measured by its relative deviation from the LB, (C max − LB)/LB * 100%. The average relative deviations (ARD) and computation times (Avg. CPU) are presented in the upper parts of Tables 2 and 3.
Lower bound LB = max{LB 1 , LB 2 } Considering a set series of problem instances, each instance was characterized by the processing time in each convertor P j , the number of convertors n, the distance between two convertors d, the loaded move velocity v, and the empty move velocity λ. For each instance, the processing time P j (s) in each convertor was randomly generated from [360, 3600], and their positions were randomly selected from the potential positions. The distance of any two adjacent convertors d (m) was randomly generated from [5,10]. The Crane loaded move velocity v(m/s) and empty move velocity λ(m/s) were randomly generated from [1,5] and [6,10]. Thus, as described in Section 2, we can calculate the times for the loaded and empty moves between any two positions.  We first conducted a series of experiments on smaller-scale problems to attempt to obtain an optimal solution using the MILP model, especially with processing time P j (s) being generated from [360, 720]. We solved for 10 problem instances for each problem setting by using the MILP and the proposed CS algorithm, respectively. We set a time limit of 10 h to solve the MILP for each instance. Within this time limit, the best feasible solution was recorded in case an optimal solution was not obtained. We use {•} (the number in the brackets) to indicate the group for which the MILP model did not solve to optimality. To achieve a high stability of the experimental results and test the effect of processing time P j (s) that is related to crane movement time, we doubled the processing time and solved the problem instances again.
From Tables 2 and 3, we can make the following observations: (1) As problem size or crane movement speed increases, the MILP solution time quickly increases. When the number of convertors reaches 20 and crane movement speed slowly reaches 8(s), the MILP model cannot be optimally solved within the 10 h time limit. For most of the smaller instances, MILP can obtain an optimal solution. There is a general trend that the difference between the MILP solution and the lower bound becomes large as the problem size increases, indicating that the LB quality seems to deteriorate as the problem gets larger. This is understandable, as the lower bound uses the longest processing time or average processing time to ignore crane travel times; however, as the problem size increases, the average travel time between two positions increases. (2) The CS approach actually generates optimal solutions for the group of the smallest instances. However, its solution quality shows a clear drop as the problem size increases, demonstrating the advantage of MILP over the CS approach. The MILP model suffers from the problem of a quick increase in computation time when problem size and crane movement speed increases. For small instances with nine convertors and a crane move velocity of 3 m/s, some MILP models cannot be optimally solved within the time limit. This clearly affects the solution quality. Nevertheless, the CS solutions are close to optimal on average for the small problem instances when the model is optimally solved. (3) The CS algorithm solves almost all of the small instances optimally. Regarding the CS algorithm for our problem, it is comparable to the MILP on average, but it is more stable as the problem size increases. While its computation time also increases with the problem size, the solution time taken for problems with the number of convertors reaching 12 is longer than those for the number of convertors reaching 9 with very fast crane velocity, unlike the MILP, which takes the longest to solve problems with processing time in [1800,3600]. This may be because the greater the number of convertors and the more processing time required, the more time cost there is for searching for the scheduling crane.

Conclusions
This paper addresses a practical problem that arises in the steelmaking process for any integrated steel company. The problem is subject to several practical constraints such as the initial position, non-collision, and safety margin of cranes for minimizing the last finish time among all operations of the cranes. A mixed integer linear programming (MILP) model has been developed to optimally solve smaller-scale problems. Because our problem has been demonstrated as an NP-hard problem, we further proposed an evolutionary algorithm cuckoo search (CS) algorithm to solve the larger-scale problems. We have shown that our methods are efficient and can be applied to the practical iron production.
Based on these numerical computational experiments above, we have obtained some preliminary conclusions. The scale of the problem is determined by three aspects: crane velocity, convertor number, and the processing time in each convertor. By changing the crane velocity, convertor number, and processing time in each convertor, respectively, combinations of different problem sizes can be obtained. When the convertor number and processing time in each convertor increase, it is hard for the MILP model to optimally solve in a reasonable time, especially when the convertor number reaches 12. The increase in crane velocity will not only decrease the ARD but will also cause an increasing Avg. CPU time regardless of if the MILP or CS method is used. This may be explained by the fact that as the crane velocity increases, the interference between the cranes will significantly increase.
Further numerical results reveal insights for expanding the production scale, and steel enterprises should adopt the system without increasing crane velocity or number of convertors simultaneously in a longer planning horizon. Our current work can be extended to consider more crane scheduling simultaneously. For further work, there is potential for the extension of the current model and methods. Moreover, other objective functions such as minimizing total weight crane operations will be considered to develop more powerful scheduling techniques.