2014 Volume 54 Issue 11 Pages 2588-2597
In the process of steelmaking and continuous casting production, an optimized ladle schedule will greatly reduce energy consumption and improve production. The ladle scheduling problem can be modeled as vehicle routing problem with time windows (VRPTW) and extra constraints. The main extra constraint is that components of the ladle, at the right time, have to be repaired no later than serving certain number of heats. The objective of ladle scheduling problem is minimizing the number of serving ladles and reducing the waiting time between serving two adjacent heats. According to the serving process of ladles, a mathematical model is established to solve this specific problem. In this paper, a three-step heuristic algorithm with time complexity of O(n2) is proposed, which is based on characteristics of the model and some preliminary experiments. The algorithm has been tested by several practical instances from a steel plant in China. Comparing with the schedules used in actual production, the computational results show that our algorithm optimizes the ladle schedules and solves the problem in less than 1 second, which proves the algorithm’s efficiency.
In steelmaking-continuous casting production processes, ladle scheduling is an important problem for a steel plant to improve production and reduce energy consumption. A ladle begins to serve the molten steel at a converter or an electric furnace and finishes serving at a continuous caster (see Fig. 1), which is also called a heat. A heat begins with a ladle being filled with molten steel by a converter or an electric furnace. After the refining process, the molten steel will be poured into a continuous caster before the heat ends. The time for slag tipping is included in the heat because the time is certain for all heats. For the same reason, the transmission time before and after a heat can also be added. The fixed beginning time and end time of these heats in the production schedule are arranged in advance. The minimum number of ladles has to be arranged to serve all of heats with certain time windows in the production schedule (see Fig. 2). Therefore, the problem is translated into a vehicle routing problem with time window (VRPTW). In the production schedule, each ladle works as a vehicle and each heat can be taken as a task with time windows. A path has to be arranged for each ladle to serve several heats.
Steelmaking continuous production process.
An example for ladle scheduling.
However, there are some extra constrains in this problem. According to the whole production process, three kinds of ladle components must be repaired after serving different certain number of heats and before serving the next one. It takes various length of time for a staff to replace or repair them. In details, the sliding sand of a ladle must be repaired each time after the ladle has serviced a heat. The slider of a ladle must be repaired after the ladle continuously services at most 4 heats. The nozzle of a ladle must be repaired after the ladle continuously services at most 8 heats. Hereinafter, we call the above three repairing operations of a ladle as operation a, operation b, and operation c, respectively. Each component has to be decided to be repaired or not. A good strategy is greatly helpful to make full use of ladles and reduce the number of ladles. Therefore, ladle scheduling can be transformed into the vehicle routing problem with time window and adjustment time (VRPTW-AT), which is presented for the first time by Tan et al.1) During the whole production process, reducing the number of ladles will help the steel plant cut down the cost. Besides, when a ladle is waiting to serve the next heat, it needs to be heated with burning gas in order to keep warm (see Fig. 1), which may waste plenty of gas. Under this circumstance, the objective is serving all these heats with the minimum number of ladles and minimal total time which all the heats and intervals occupy the ladles.
Vehicle routing problem with time window (VRPTW) has been researched in-depth. A variety of theories and algorithms were presented. For example, taboo search algorithm, ant colony algorithm and scatter search algorithm for VRPTW are discussed.2,3,4,5) However, they do not mention the repair requirement between two customers or tasks. In addition, most of the studies concerning ladles focus on improving material for heat preservation to prevent ladles from losing heat.6,7) To the best of our knowledge, only two papers proposed approaches for ladle scheduling problem. Wang et al. report a simulation system for ladle scheduling based on ladle matching priority rules.8) Tan et al. present the VRPTW-AT model for ladle scheduling for the first time.1) They proposed a scatter search algorithm to solve the problem successfully. Their experimental results show that the algorithm is efficient.1) However, there are some drawbacks in the algorithm. On one hand, they didn’t adjust repair time and the order of the component to be repaired positively. On the other hand, the time and space complexity of the algorithm are so high that it is hard to apply in steel plant and practical production.
In order to overcome these two drawbacks, we improve the mathematical model and design a fast heuristic algorithm based on characteristics of this kind of problem. Comparing with practical results and those of Tan’s algorithm for the same tapping schedule, our algorithm is more efficient. The following sections of this paper are organized as the followings. Problem description and mathematical model are described in Section 2. Section 3 is devoted to description of the solution procedure and three-step algorithm for the problem. Experimental design, computational results and discussions are presented in Section 4. Finally, conclusions are given in Section 5.
According to the definition of heat in Section 1, each heat must be served by only one ladle from the beginning to the end. After a ladle finishes serving a heat, the empty ladle has to be moved to a mending workshop to repair the certain components. When the repair is finished, it will be heated to keep in high temperature. The heating process will not stop until the ladle begins to serve another heat again. This work flow of a ladle has been illustrated in Fig. 1. There are more details in this process8) but this part of information is enough for our mathematical model. The objective for ladle scheduling is to reduce the number of ladles used in the production process and the interval time between adjacent heats served by the same ladle. The less ladles mean the less cost. The less interval time means the less energy consumption.
In ladle scheduling problems, we need to arrange the path of each ladle and the categories of component to be repaired. In order to describe a solution of the problem, we define solution set L = {L1, L2, ···, Lm} where Lk is the path of ladle k(k = 1,2, ···, m). A path should record heats serving order and repairing operations order, thus we can define Lk = {lk(1), Rk(1), lk(2), Rk(2), ···, lk(nk – 1), Rk(nk – 1), lk(nk)}, where lk(i) is the ith (i = 1,2, ···, nk) heat in the path of ladle k, and
As shown in Fig. 3, the rectangle with lk(i) is a heat serial number and the rectangle with Rk(j) and a, b or c is the repair operation between two adjacent heats served by a certain ladle.
The solution of ladle paths.
Except for the common constraints of VRPTW, there are some extra constraints in VRPTW-AT:
(1) A type of ladle can serve several certain kinds of molten steel;
(2) The ladle can not serve more than one heat at the same time;
(3) After a ladle serving several heats, according to the number of the heats the ladle has served, some components have to be repaired. Different components can serve different numbers of heats and it takes different time to be repaired.
The first constraint can be neglected because in the steel plant, the similar kinds of steel will always be arranged in one tapping schedule, which means these heats of molten steel can share ladles. If they can not share a same kind of ladles, we can divide production plan into several sub-production plans according to the kinds of serving ladles. Each sub production plan will be solved by our method respectively.
2.2. Mathematical ModelThe mathematical model is based on Tan’s model.1) We have improved it by simplifying the model and skipping the factors that may not affect the results of the problem. The model has the following parameters*:
N = {1,2, ..., n} The set of heats in production schedule, they are in ascending order of heats beginning time. (iii)
M = {1,2, ..., m} The set of available ladles. (iii)
i The serial number of heats, i = 1,2, ..., n. (iii)
k The serial number of ladle paths, k = 1,2, ..., m. (iii)
nk The number of heats in ladle path k. (ii)
si The start time of heat i. (iii)
ei The end time of heat i. (iii)
ci Cast number of heat i. (iii)
fi The serial number of a converter or an electric furnace corresponding to heats i. (iii)
Bki Repair time of ladle k after serving heat i. (ii)
pa Operation time of adding sliding sand. (iii)
pb Operation time of replacing a slide plate. (iii)
pc Operation time of replacing a sliding gate nozzle. (iii)
da The maximum number of heats continuously serviced between repairing operations of blowing sand in one ladle path. (iii)
db The maximum number of heats continuously serviced between repairing operations of replacing slide plate in one ladle path. (iii)
dc The maximum number of heats continuously serviced between repairing operations of replacing nozzle in one ladle path. (iii)
xijk If heat i is the jth heat in ladle path k, xijk = 1, else xijk = 0. (i)
Hence, we could establish following mathematical model for ladle scheduling.
(1) |
(2) |
(3) |
(4) |
(5) |
(6) |
(7) |
(8) |
(9) |
(10) |
According to the objective of the problem, minimizing the number of used ladles is the most essential goal. In order to achieve the goal, we should reduce time conflicts among heats at the same time. During the whole process, the maximum number of heats conflicts at the same time is the minimum required number of ladles. It can be fulfilled by scatting heats in all ladle paths appropriately. It also means to expand interval between adjacent heats and reduce variance among them. However, the second goal is to reduce length of intervals. We can calculate total interval(I) by I =
The target of the problem.
In order to solve this contradictory, we have to formulate various strategies in different steps to overcome it. Inspired by the push-forward insertion heuristic,9) we put forward a new strategy and complete different heuristic functions to insert all heats in three processes to solve this problem.
Inserting and reinserting are main methods of the algorithm. In order to operate the data more efficiently, we have designed the following data structure. In the ladle path array, each record includes a ladle’s available status flag and a path pointer. The available status flag records whether the ladle stops serving or not. In a ladle path, each record includes a member to describe the served heat number (line 1 in Fig. 5), 3 members to respectively describe whether the certain component of the ladle has been repaired before serving this heat (line 2–4 in Fig. 5) and 3 members to respectively describe the number of heats that have been served by the ladle after the certain component has been repaired (line 5–7 in Fig. 5). By using this structure, it is more convenient to calculate the relevant values. And, it is also more efficient to search, add and delete a heat. Figure 5 is an example of data structure. All components in the figure as shown have just been mentioned. The length of each array is changeable because we can not decide it in advance.
An example of data structure.
First of all, we need to sort the heats in ascending order according to their beginning time. Then we can begin to insert all heats one by one with the following strategy:
Where, curHeat means the serial number of a heat that is being inserted in this loop and LastFirstHeat means the first heat’s serial number of the last added ladle.In the strategy, firstly, there is no ladle path and hence we need to add a ladle with its first heat (heat 0 in Fig. 6). Secondly, each heat may have multiple choices of ladle paths to join thus we need to evaluate the score of each choice. Finally we can select the best one with the best score (minimum value) and add a heat to the path (see the process of adding heat 6 in Fig. 6). However, there may be no choice for the heat (the minimum value of score is positive infinity). In this case, another ladle has to be added (heat 1, 2 or 3 in Fig. 6). Besides, we should record the first heat of the last added ladle, which is useful in forward-reinsert process (section 3.4).
An example of forward-insert process.
In order to achieve the goal, we design an evaluation function. When heat j is to be added, we assume that the ladle set is L = {L1, L2, ···, Lm} and in each ladle path Lk = {lk(1), Rk(1), lk(2), Rk(2), ···, lk(nk – 1), Rk(nk – 1), lk(nk)}. If heat j adds into the ladle path i, Li = {li(1), Ri(1), li(2), Ri(2), ···, li(ni), Ri(ni), li(ni + 1)}. The score Si can be calculated by
(12) |
In the first case (see expression 11a), the interval between the end time of the ladle path and the beginning time of heat j is longer than the least time for all components to be repaired. Moreover, end time of the path is earliest among all paths. If we use other ladles to serve this heat, it will waste more time during the interval. For example, in Fig. 7, we have two choices to add heat 6. In Fig. 7(a), heat 6 is added to L3(i = 3, j = 6) while in Fig. 7(b), heat 6 is added to L4(i = 4, j = 6). Apparently, the situation in Fig. 7(a) is better because when heat 7 has been added, we can find that Fig. 7(a) has an extra chance to repair component b in L4. In order to discard other choices, we define zero as its value.
The superiority of the strategy in the first case.
In next three cases (11b, 11c and 11d), we need to check whether end time of the last heat in a path is earlier than beginning time of the next adding heat. Besides, the components that have to be repaired will need extra time. Therefore,
In the second case (11b) and the third case (11c)
In the second case (see expression 11b), there are some extra constrains. If heat j has been added in path i and the next heat, heat j + 1, can create the interval (Inhmax) long enough for all components to be repaired after it is added to the path with earlier end time (enhmax) compared to the end time of path i (exclude heat j). Under this circumstance, even though the value of
The superiority of the strategy in the second case.
In the third case (see expression 11c), firstly, we have to decide
(1) Choose components that have to be repaired, add them into Ri(ni);
(2) Calculate the interval still remained by
(3) Find all Cv which conform
(4) Record v0 among v if
(5)
After that, heat j, as well as li(ni + 1), and Ri(ni) can be added to Li.
There are two parts in Si of the third case.
In the fourth case (see expression 11d), because
We can calculate Sk = min{Si}, i = 1,2, ···, m. Heat j can be decided to add to the ladle path k if Sk is not infinity. Otherwise, a new ladle should be added. After each heat is distributed to one of the ladle path, the forward-insert process is completed. In this step, we have achieved two main goals of the task. One is to minimize the quantity of ladle. The other is to delay the ladle’s service start time. It is fulfilled by optimizing the heat serving order to make full use of the interval time to repair different types of components. The effect of forward-insert process can be seen in Fig. 9. Based on the formulation of the algorithm, it is hard to reduce any more ladles, because all ladles are added when there is no available path for a heat to insert. If we attempt to reduce more ladles, we must improve the expression (11).
The comparison between before and after the optimization.
The forward-insert process can greatly reduce the number of ladles and the total length of interval time in the front half of the ladle schedule. However, the heats will be quite loose in the later half (In Fig. 9, the heats arrangement haven’t been compressed). Therefore the next goal is to arrange for the ladle to stop serving as early as possible. The main contribution of this process is to search all chances that a ladle might stop serving remainder heats.
First of all, we need to resort the heats in descending order according to the end time but we still use the heat serial number in forward-insert process. For convenience, we describe the heat number by h(i), i = 0,1, ···, m – 1 where i is the serial number in the descending order of the end time. In this process, each heat will be added to the path with following algorithm.
When heat h(i) is to be added, the algorithm should attempt to search for the path with the latest start time. If the path is found, heat h(i) will be added to this path (see the process of adding heat h(4) in Fig. 10). If there is no path available, adding a new ladle with this heat and pushing the heat into the heat stack (see the process of adding heat h(3) in the first half of Fig. 10). In this way, we can know how many ladles are necessary before the time of the end heat via seeing the top the two stacks in the Section 3.4 (more details of the stacks will be described in Section 3.4). For example, in Fig. 10, 4 ladles are necessary before time: 15016. In this process, we don’t need to concern about component repair because we just try to find the earliest possible time to stop each ladle to serve remaining heats. In other words, if ladle i with the latest heat h(j), the ith ladle can not be stopped earlier than the end time of h(j). We can prove it by using math induction and reduction to absurdity easily.
An example of backward-insert process.
Proof:
(1) When i = 1, h(j) is the first heat added to ladle path 1. Apparently, path 1 can not stop earlier than the end time of h(1) because it is the last heat in continuous steelmaking process. Therefore, the proposition is established.
(2) Assume that when i = 1,2, ···, k, the proposition is established and when i = k + 1 the statement is false, which means path i = k + 1 with last heat h(j0) can be stopped earlier. Then
Based on (1) and (2) we can proof this proposition.
End proof.
3.4. The Forward-reinsert ProcessBased on the results of forward-insert and backward-insert, we can begin to optimize the later half. We will use all heats and the path data in the forward-insert process and the two stacks in the backward-insert process. This is the algorithm:
Firstly, all the heats added after the first heat of the last ladle should be removed (Fig. 11(a)). Then we can begin to reinsert the heats remained. Before a heat is to be added, the algorithm should attempt to stop a ladle’s serving when there is possibility for the plan to stop the path thus it is necessary to check the relationship between possible the least number of ladles and the number of current ladles. The program gains this information via comparing the value of top element of the stack and the current condition. For example, in the second half of Fig. 11(a), current heat is 17, which is in the front of the heat stack top: 21 (or the top of the two stacks should be popped), and there are 7 ladles at present, which is more than 6 necessary ladles, at the top of the ladle stack. Therefore, it is possible to stop a ladle. If it is impossible, current heat should be added by strategy in Section 3.2. Otherwise, the program should do following process. A priority queue will save all the paths that can be stopped in ascending score (in the second half of Fig. 11(a)). We also design a function for score evaluating.
(13) |
An example of forward-reinsert process.
After all the paths have been inserted in the priority queue according to the score, we should ensure the choice is available (the choice will not lead to unavoidable time conflictions among later heats that is to be inserted) thus a test should be done: all remaining heats will be inserted with the algorithm in Section 3.2 (see the first half of Fig. 11(b)). When we use the algorithm in Section 3.2 in this process, we should be concerned about two main differences. One is the heat should not be added to the stopped path. The other is the heat can only be added to the existing path and adding extra ladles is forbidden. When adding extra ladle is needed, it means a crash has happened. If there is a crash, this path-stop choice should be abandoned. We should recover the site before the test and then begin to test the next choice (see the first half of Fig. 11(b), delete all heats with dash edge including the gray one). Otherwise, we should recover the site except current heat (in Fig. 11(b), delete all heats with dashed edge excluding the gray one) and begin next loop for the next heat. When all the path-stop choices are unavailable (the priority queue is empty), the current heat has to be added by using the strategy in Section 3.2. All of these processes can be seen in Fig. 12. As Fig. 12 shown, when heat 0 to i have been decided, heat i + 1 is to be checked. There are 4 paths that can be stopped (L1, L2, L5, L6) with ascending order according to the scores. In Fig. 12(a), there is a crash when L2 is stopped and heat j1 is added. Hence, heat i + 1 to j1 should be cleared and enable L2. And then L5 is disabled. There is no clash of adding remaining heats. In this situation, we should clear heat i + 2 to j2(n) and begin to check heat i + 2. In Fig. 12(b), all possible stopped paths will lead to clashes after the remaining heats have been added. Under this circumstance, none of extra paths should be disabled and add i + 1 with the strategy in Section 3.2.
Description of forward-reinsert process.
In the forward-insert process, the time for calculating the heuristic value (see expression 11) should be considerate firstly. When Si is computed, the third case spends more time than the other cases. Calculating
In the backward-insert process, the algorithm will spend O(m) to find the path for each heat to be added. There are n heats in total. So the time complexity is O(mn).
In the forward-reinsert process, the main strategy of inserting heats is similar to the first process but it needs to check the ladle which is available to be stopped. In this part, the worst situation is that all ladle path should be checked before a ladle is to be added, which will spend O(mn). Besides if the result of the second process doesn’t work in this process, every heat needs to spend O(mn). So the total time complexity is O(mn2).
Combining the three processes, we can calculate the total complexity at worst situation by O(mn + n log n) + O(mn) + O(mn2) = O(mn2). m is the number of the ladle, which is related to the production ability. When n is large enough (a long production schedule), compare to log n, m can be seen as constant. So, we can assert that the total complexity at worst situation is O(n2). According to the data structure and the algorithm, the space complexity is O(n).
In this section, we will apply our algorithm on three practical data sets to observe its optimal effect.
4.1.1. The Input of the ExperimentsIn this study, we test our algorithm on three practical instances obtained from a steel-plant in China. There are 2 basic oxygen furnaces, 2 LF refine furnaces, 2 continuous casters and 3 repair workshops in the factory. The tapping schedule S1, S2 and S3 consist of 49, 67 and 79 heats respectively, which is completely the same with Tan’s dataset. We also compare the results with those of scatter search algorithm designed by Tan. The algorithm is implemented in C++ language. The experiment was done on the computer with Intel Core i5 CPU, 4 GB interval storage and 64 bit Windows 7 operation system. The followings are the parameters setting that used in the study: pa = 2 min, pb = 12 min, pc = 18 min, da = 1, db = 5, dc = 8. Tan also choose these values in her experiment according to the steel plant.
4.1.2. The Experimental Results and AnalysisAccording to Table 1 and Fig. 13, we can easily find that the effect of 3-Step Algorithm is better than Scatter Search’s to solve this problem. It can be summarized in 3 aspects:
plan | heat | algorithm | interval (min) | CPU (s) | ladle |
---|---|---|---|---|---|
1 | 49 | 3-Step | 3851 | 0.015 | 8 |
SS | 3851 | 57.23 | 8 | ||
practical | 5039 | 9 | |||
2 | 67 | 3-Step | 8407 | 0.015 | 10 |
SS | 8476 | 171.63 | 10 | ||
practical | 8732 | 13 | |||
3 | 79 | 3-Step | 9184 | 0.031 | 10 |
SS | 9285 | 509.55 | 10 | ||
practical | 11813 | 10 |
Statistics of the performance of 3-Step and Scatter Search algorithm.
(1) Optimization effect is better. Both algorithms can reduce the same ladles in the same tapping schedule but the 3-Step Algorithm can reduce more interval time.
(2) The efficiency of algorithm is higher. SS needs to spend several minutes to solve the problem. However, 3-Step just needs several milliseconds.
(3) In terms of stability, 3-Step is a nonrandom algorithm. So its result is changeless. SS is an algorithm based on random so its solution is random. But Tan didn’t give statistical analysis of the results so its stability is unsure.
4.2. Experiments for Simulation DataBased on practical data sets and some optimization strategies8) used in practical ladle scheduling, we get several simulation data sets from our simulation program. Our algorithm had also been applied to solve these instances. We can analyze the performance of 3-Step algorithm under different circumstances more comprehensively. The experiment environment is the same as the environment in Section 4.1.
4.2.1. Simulation Data GenerationThe various production processes and different types of molten steel will affect the length of heats. There is one or two production processes in each dataset thus we can easily distinguish the heat of each production process by its length. We classify them by production processes. In order to reduce the number of variable, one group is selected for simulation. We assume that the length of heats in this group normally distributed because the probability of heats arriving on time follows normal distribution. The average and standard deviation of the sample, with the range (4000, 6000), in this group is 4653 and 379 respectively. Apparently, the scale of the part that can be optimized is different when densities of heats in a certain time are not the same. Hence, we should study them with different densities which can be decided by the length of interval between two adjacent heats served by one ladle. Three levels of densities are set: dense, medium, sparse. The density can be calculated by Th/(T·L), where Th is the total time of all heats, which can be calculated by
After 100 simulation data sets for each density and the number of heats had been generated, we applied our algorithm on these data sets and obtained the statistic result (see Table 2). “The number of ladles” is the number of ladles we used in simulation data set. “Density” is the average density of 100 data sets. “CPU(s)” is the average time the algorithm spends. “Ladle (%)” is the ladle successful optimization rate. In Section 3.3, we can know we have to use no less than the ladles used in the schedule created via the algorithm, thus we record the percentage of the data set that the number of ladles has been optimized or can not be optimized, which are considered to be successfully optimized. “Interval(%)” is the average interval optimization rate, which can be calculated by
number of heats | number of ladles | item | density | ||
---|---|---|---|---|---|
dense | medium | sparse | |||
50 | 10 | density | 0.601 | 0.384 | 0.142 |
CPU(s) | 0.031 | 0.029 | 0.024 | ||
ladle(%) | >99 | >98 | >99 | ||
interval(%) | >79 | >75 | >84 | ||
100 | 15 | density | 0.592 | 0.362 | 0.114 |
CPU(s) | 0.321 | 0.22 | 0.192 | ||
ladle(%) | >99 | >99 | >99 | ||
interval(%) | >72 | >85 | >88 | ||
500 | 15 | density | 0.618 | 0.375 | 0.139 |
CPU(s) | 15.173 | 18.941 | 15.668 | ||
ladle(%) | >99 | >97 | >94 | ||
interval(%) | >92 | >64 | >68 |
In the results, we can easily find that the optimization effect is significant. Both ladles and intervals are greatly optimized at all density. If the number of heats is no more than 100 (a ladle schedule for one day), the length of response time can be accepted by user.
This study presents a fast heuristic algorithm based on VRPTW model for the ladle scheduling problem, which is a very important problem in the steelmaking and continuous casting process. The problem and the model are quite different from various previous vehicle routing problems because it needs to minimize the ladle number and the interval time of adjacent heats in each path. That is also the main target of the problem. According to the notable characteristic of the problem and based on the thought of branch and bound, we use different strategy in each step to optimize the problem gradually instead of searching in breadth-first search or other high time complexity search algorithm. Comparing to previous algorithm, it has three superiorities. First is optimization result. Second is computational speed. Third is stability. Therefore, the algorithm is more reliable and stronger than the previous ones. In simulation experiment, the results show its good performance under any circumstance. It may help the steel plants to improve the production efficiency, reduce energy consumption and building a steelmaking automatic system. In addition, the thought can be used to solve similar problem in other fields.
This article has been finished in Northeastern University. We would like to express our gratitude to our supervisor Prof. Shi-Xin Liu for his help and suggestion and Dr. Yuan-Yuan Tan for providing all materials in her study in NEU. They have greatly inspired us. Besides, the article is revised in Tsinghua University. I would like to thank my supervisor Prof. Yan-da Li and Dr. Xiao-wo Wang for their valuable comments and experiment environment support in THU. The research is financially supported by National Natural Science Foundation of China (71171038, 61333006).