ISIJ International
Online ISSN : 1347-5460
Print ISSN : 0915-1559
ISSN-L : 0915-1559
Regular Article
Mixed Integer Linear Programming and Solution for the Multi-tank Train Stowage Planning Problem of Coils in Steel Industry
Fei YangLixin Tang Yuan YuanKun Li
Author information
JOURNAL OPEN ACCESS FULL-TEXT HTML

2014 Volume 54 Issue 3 Pages 634-643

Details
Abstract

We consider a multi-tank train stowage planning problem of coil (TSPP) where the given coils are assigned into the tanks of the train. Different from stowage problems in previous studies, this problem has its characteristics such as the multi-tank transportation mode, the minimum load restriction of each tank and the rigorous balance constraints. We formulate the problem as a novel mixed integer linear programming model which objectives are to maximize the total weight of loaded coils and to minimize the differences of stack positions of the coils in each tank. The NP-hardness of the problem and intractableness of optimally solving the model motivate us to develop an improved tabu search algorithm to solve it approximately. The algorithm is initiated by a two-stage heuristic where a multi-exchange neighborhood is designed to further improve the initial solutions. And then K-cycle move is used regarded as a diversification strategy in tabu search. Computational results using real data from a specialty steel manufacturer show that for small problems, which can be solved optimally by the model, the proposed algorithm can generate close-to-optimal solutions. For large practical problems the algorithm can obtain good solutions within a shorter time compared with the upper bound.

1. Introduction

For steel industry, product cost mainly consists of raw material cost, manufacturing cost and logistics cost. Due to the increase of raw material price and the difficulties on reducing manufacturing cost, how to reduce the logistics cost becomes a main way to enhance enterprise competitiveness. The effective logistics operation management is a good way to reduce the logistics cost. The logistics operations include transportation, storage and material handling. Reasonable transportation can improve the customer satisfaction effectively and reduce the transportation logistics cost greatly. Generally speaking, there are three primary transportation modes for delivering steel products in steel industry: ship transportation which is suitable for long-distance transport, train transportation mainly for domestic transport, and truck transportation utilized as a short-haul transport. For an inland steel company, the train transportation plays an important role in logistics operations. For example, the steel plant under our consideration has the annual production throughput of about 300 million tons and more than 20 percent of the steel products (steel coils) are transported by train.

The train transportation of the steel products is as shown in Fig. 1. The stability of each tank of the train has to be maintained. To keep stability of each tank of the train and to reduce the numbers of crane operation, an effective train stowage plan is critical.

Fig. 1.

The train transportation of the steel coils.

For each arriving train, the steel company needs to make a loading plan. The plan is made in two phases. The first phase is to select steel coils to be loaded onto the train considering the destinations of the train, order priorities, quantities and due dates of customer orders and the positions of the coils in storage yard, called the train consolidation planning problem (TCPP), and these selected coils are called the activated coils. The second phase is to decide that how many tanks should be loaded in and how many activated coils should be loaded in which positions of tanks, considering the constraints such as the balance of coils of each tank and the stowage requirement, called the train stowage planning problem (TSPP). In addition, not all the activated coils should be necessarily loaded into the tanks due to the strict balance constraints. In this paper, we study the second-phase problem, the train stowage planning problem (TSPP) arising in the logistics system of a steel company.

In current practice, a rough stowage plan is made manually based on the planner’s experiences. Due to the large problem size and the complicated practical restrictions, it is difficult for the planners to solve it effectively. Such a manual plan often results in the need for a large number of shuffles at destination ports and lower loading rate. More effective stowage planning method is needed.

There has been little research on the train stowage planning problem for steel products. Our literature survey only found one previous study on the ship stowage planning problem of coil. Umeda et al.1) studied a ship stowage planning problem of steel products including coils in 2001. The problem was considered as a three-dimensional allocation problem and solved using simulated annealing. In determining the positions of the stowed products, the weight balance of the ship, the loading ratio and the work efficiency of stowing were considered. The ship considered in the study had fixed slots for stowing the products. In our paper, the coils are loaded on only one layer into several tanks of the train, and the exact positions of the coils are determined by the weight and number of loaded coils, and the stowage requirements and the balance constraints are more rigorous.

Almost all the researches of stowage planning problem focus on container ship and we haven’t found any study of coil stowage planning problem for train yet. For example, Avriel et al.2) studied a stowage planning problem to minimize the number of container shifts needed for unloading them at destination port in 1998. Some constraints such as stability of the ship were not considered. Ambrosino et al.3) addressed a stowage planning problem considering constraints such as container dimensions, weight and destinations as well as the balance of the ship in 2004. The objective was to minimize the total stowage time according to the positions of stowed containers on board. The problem was formulated as a binary integer programming model and solved using a three stage approach. Through preprocessing and prestowage in the first stages, the search space was reduced. By further relaxing some constraints the reduced model was then solved in the final stage. In 2006 Imai et al.4) determined the container stowage and loading plans of a ship considering stacking configurations of containers in yard to maximize the ship stability and minimize the number of container shuffles during the loading process. A genetic algorithm was proposed to solve the problem and to obtain a set of non-dominated solutions. Álvarez5) proposed an approach using the tabu search and multi-start techniques to generate vessel loading plans in reach-stacker based terminals, considering the vessel stowage requirements and the container stacking information in the yard as inputs in 2006.

There are significant differences between the stowage planning of coils and those of containers as follows.

1) The configuration of transporter is different between train and containership. The transporter of train includes many tanks which could be added or reduced flexibly and that of containership is a whole big cabin including upper deck and lower deck.

2) Containers are of standard sizes and the containers of the same size are stacked one on top of another on the ship. Steel coils, on the other hand, have different weight, diameters and widths. Due to the cylindrical shape, the coils cannot be stowed in the same way as containers.

3) In TSPP, the constraints for balance of tanks are more rigorous. For example, in a tank, the weight difference between left group and right group must be not more than 1 ton.

4) For each tank of a train, the positions for loaded coils are allocated according to the number of loaded coils for this tank, which is distinctly different from the fixed position of containership.

5) TSPP allows one or more coils to be left, that is to say, TSPP is a selective problem for loading coils whereas all of the containers must be loaded into the containership.

6) Underload is not allowed for train which is different from containership. There exists a lower limit of loaded weight for each tank in order to economize transportation cost whereas the containership must take the satisfaction of customers into consideration primarily.

More recently, Tang et al.6) studied the item shuffling problems arising in the logistics system of steel production in 2012. An item shuffling problem in their paper was to optimize shuffling operations needed in retrieving a sequence of steel items from a warehouse served by crane. There were two types of such problems, plate shuffling problem (PSP) and coil shuffling problem (CSP), considering the item shapes. The problem PSP was modeled as a container storage location assignment problem according to reducing the shuffling numbers. In our paper, the shuffling is also considered by selecting coils with the same stack number into a tank.

The rest of this paper is organized as follows. In the next section the stowage planning problem is described in detail. In section 3 we formulated the TSPP as a mixed integer linear programming (MILP) model to maximize the objectives by considering some practical issues. Due to the complex loading constraints, an improved tabu search (TS) algorithm is developed in Section 4 to obtain a good stowage plan, with the initial solution obtained by a two-stage heuristic. Computational results are shown in Section 5 to demonstrate the effectiveness of the TS algorithm. Section 6 concludes the paper.

2. Problem Description

Given a set of steel coils to be loaded onto a train, the problem is to determine the number of the loading tanks of the train and the location of each coil on the train, considering the sizes of the coils, the stability of the train and the convenience of crane operation. Not all the activated coils should be loaded onto the train according to the strict loading requirement.

For the train transportation, the stack yard is just like a production buffer for the former process. Figure 2 indicates the sketch map of the train stack yard and the operation area.

Fig. 2.

The sketch map of train transportation stack yard.

The train loading depot is shown in Fig. 2. It is not an open yard for stacking hot rolling coils. The symmetrical stack includes two same sections A and B, in column A1 to AE about 12-17 coils can be laid based on the dimension of the coils and 6-8 coils in column AF to AH. The tanks cannot be towed out of yard by loco only if the loading weight of each tank is larger than a limitative quantity. There are two traveling cranes for operating the import and export coils. And a coil upended is used for turning coils when stowed into the tank such as Fig. 3. A denotes the state of the coil in stack yard, and B denotes the state of the coil in the tank.

Fig. 3.

The turning state of the loaded coils.

In train stowage planning problem of coil (TSPP), the loading requirements are strict. In order to satisfy the requirements of railway administration, the loading constraints are required as follows:

1) The total weight of loading coils is not more than a maximal value.

2) There is a limitative weight of the coil loaded in the middle position of each tank.

3) The weight difference between left group and right group is not more than a fixed value as shown in Fig. 4.

Fig. 4.

Loading positions of different number of coils.

4) The weight difference between the coils of the same line in the vertical direction of the tank should be less than a maximal value. For example, in case (c) of Fig. 4, the weight differences between the upper and the lower coils, such as coil 1 and coil 2, coil 5 and coil 6, are not more than a maximal value respectively, in case (d), the weight difference between coil 1 and coil 2, coil 3 and coil 4, coil 5 and coil 6, coil 7 and coil 8 are not more than the same maximal value respectively.

Two objectives are considered in TSPP.

1) Maximize the loading of the train

According to the loading requirement above, the more the coils are loaded into the train the better the stowage plan is. Not all the activated coils need to be loaded onto the train, but underload is not allowed for the train. There exists a limit of loaded weight for each tank in order to economize transportation cost.

2) Minimize the transportation distances of cranes for loading coils

As the number of tanks can be preprocessed before the process of loading, the problem is to assign which coils to be loaded into the which tank. The coils are loaded in two layers in the stack yard, and in the same tank the loaded coils from the same stack may avoid shuffles. We regard the situation that the coils loaded in same tank have near stack positions as a better stowage planning. For example, in Table 1, eight coils will be loaded into the tanks. A better stowage planning considering the transportation of crane is that coil 1 to coil 4 are loaded into tank 1, and the other four coils are loaded into tank 2 (suppose it is satisfied with all loading constraints). The section is expressed as the first letter of the stack position, and the column is expressed by the second letter of the stack position. According to the layout of loading depot, we consider two kinds of punished costs for reducing the distance of crane in objective function. The first one is the times of section differences for loaded coils in a tank denoted by s j 1 , j denotes tank number. If the coils loaded in tank j are from the same section, s j 1 =0 , we can obtain s 1 1 =0 and s 2 1 =0 in the example. The second one is the times of section and column differences for loaded coils in a tank denoted by s j 2 . It is defined by the anterior two letter of stack position. If the coils loaded in tank j are from the same section but not the same column, s j 2 =1 . For coil 1 to coil 4, the anterior two letters of their stack positions are same, then we can get s 1 2 =0 , and the second letters of stack position of coil 5 is 3, which is different from that of coil 6 and coil 7, then we can get the times of section and column differences of coil 5 is 2, the calculation for the other three coils in tank 2 can be obtained in the same way, then s 2 2 =2+2+2+2=8 .

Table 1. An example of eight coils with their stack position.
TankCoil numberStack positionTankCoil numberStack position
11AD0325B305
12AD0426B505
13AD0527B501
14AD0628B301

The TSPP is to determine the locations of a given set of steel coils with the same destination in the tanks of the train, considering the coil information and the loading requirements, and to optimize a combination of the above objectives.

3. Model

The TSPP has some complex constraints and multiple objectives which are very different from the container stowage planning problem studied in the previous literatures, and a MILP model is proposed. The objective function is to maximize the total weight of loaded coils and minimize the total times of different section and column of each two coils in tanks. In order to express this model detailedly, the position information of the tank is defined as Fig. 5. Usually, the number of loading coils in each tank will not exceed 9.

Fig. 5.

The position information of a tank.

Known parameters:

C The set of activated coils, C = {1, 2, …, n}, where n is the number of coils.

J The set of tanks, J = {1, 2, …, m}, where m is the number of tanks.

Wi The weight of coil i, iC.

K The set of positions of tank.

S j 1  The times of section differences for loaded coils in tank j, jJ.

S j 2  The times of section and column differences for loaded coils in tank j, jJ.

Tj The loading capacity of tank j, jJ.

P The underload weight of the tank.

B1 The maximal counterbalance between the left and right coil groups.

B2 The maximal counterbalance between upper and lower coils in the same coil groups, it exists only if the number of loading coils in a tank is more than five.

B3 The maximal weight of the middle coil in tank, it exists only if the number of loading coils in a tank is odd number, and we suppose that the last position is for the middle coil in tank.

zi The coefficient of objective function, i=1, 2, 3, 4.

S i 1 i 2  The total times of section differences and section-column differences for coil i1 and coil i2, S i 1 i 2 = z 1 s i 1 i 2 1 + z 2 s i 1 i 2 2 , where   

s i 1 i 2 1 ={ 1    if coil  i 1  and coil  i 2  are belong     to a different section 0   otherwise
  
s i 1 i 2 2 ={ 1    if coil  i 1  and coil  i 2  are the same section     but in different column 0   otherwise

Decision variables:   

x ij k ={ 1    if coil i is assigned to position k of tank j 0   otherwise
  
y i 1 i 2 j ={ 1    if coils  i 1  and coils  i 2  are assigned to tank j 0   otherwise
  
v j ={ 1    if tank j is used 0   otherwise
  
q j ={ 1         if the number of loaded coils is more than 5 in tank j 0      otherwise 
  
h j ={ 1if the number of loaded coils is more than 7 in tank j 0      otherwise 

Integer programming model:   

Maxmize  iC jJ kK z 3 x ij k W i - jJ i 1 C i 2 C z 4 y i 1 i 2 j S i 1 i 2 (1)

Subject to   

x ij k {0,1}      iC, jJ,kK (2)
  
iC x ij 9 W i B 3     jJ (3)
  
v j P iC kK x ij k W i v j T j     jJ (4)
  
k=1 4 iC x ij k W i - k=5 8 iC x ij k W i B 1       jJ (5)
  
k=1 4 iC x ij k W i - k=5 8 iC x ij k W i - B 1       jJ (6)
  
iC x ij 1 W i - iC x ij 2 W i B 2 +(1- q j )M     jJM is a large natural number (7)
  
iC x ij 1 W i - iC x ij 2 W i - B 2 -(1- q j )M     jJM is a large natural number (8)
  
iC x ij 3 W i - iC x ij 4 W i B 2 +(1- h j )M     jJM is a large natural number (9)
  
iC x ij 3 W i - iC x ij 4 W i - B 2 -(1- h j )M     jJM is a large natural number (10)
  
iC x ij 5 W i - iC x ij 6 W i B 2 +(1- q j )M     jJM is a large natural number (11)
  
iC x ij 5 W i - iC x ij 6 W i - B 2 -(1- q j )M     jJM is a large natural number (12)
  
iC x ij 7 W i - iC x ij 8 W i B 2 +(1- h j )M     jJM is a large natural number (13)
  
iC x ij 7 W i - iC x ij 8 W i - B 2 -(1- h j )M     jJM is a large natural number (14)
  
iC x ij k 1     jJ,  kK (15)
  
jJ kK x ij k 1     iC (16)
  
( kK x i 1 j k + kK x i 2 j k -1 ) /2 y i 1 i 2 j ( kK x i 1 j k + kK x i 2 j k ) /2 jJ,  i 1 , i 2 C (17)
  
M(1- q j )6- iC kK x ij k jJM is a large natural number (18)
  
M(1- h j )8- iC kK x ij k jJM is a  large natural number (19)
  
v j iC kK x ij k     jJ (20)

There are two terms in the objective function including the weight of loaded coils and the total times of different section and column of loaded coils in the same tank. Constraint (2) is the value range of x ij k . Constraint (3) is the loading requirement of middle coil. Constraint (4) ensures that the loading weight of each tank is satisfied with the requirement. Constraints (5) to (14) explain the restriction of the counterbalance in two coil groups and the counterbalance between the coils in same group. Constraints (15) and (16) are the assignment constraints, which ensure that each coil is stowed only in one location and each location has at most one coil. Constraints (17) to (20) are the relations of decision variables.

4. Improved Tabu Search Heuristic for TSPP

The NP-hardness of the problem and intractableness of optimally solving the model motivate us to develop an improved tabu search algorithm to solve it approximately. Nowadays, there are many meta-heuristic algorithms to act as combinational optimization methodologies. However, Tabu search was proposed by Glover7) (1986) and by Hansen8) (1986). And it has been proven to be one of the most effective local search techniques to find near-optimal solutions and can avoid being trapped at a local optimum for various scheduling problems in previous works such as Nowicki and Smutnicki9) (1998), Barbarosoglu and Ozgur10) (1999), and Watsona et al.11) (2006), Norman12) (1999), Grabowski and Wodecki13) (2004). The TSPP under our consideration is to determine which coils are loaded onto which locations on the train and is similar to those in scheduling problems, which motivate us to adopt TS to solve our problems. This algorithm is based on a neighborhood or local search technique and its principle is to make the recent moves tabu to avoid falling into local optimum.

The main components of TS include initial solution, neighborhood, tabu list, stop criteria, speedup strategies. Each of the components is described as follows.

4.1. Initial Solution

This initial solution is a base solution for TS algorithm and the quality of final solution depends on it to a great extent. For the TSPP, to load more activated coils into the tanks is most important. According to the know-how of the planners in practice, we propose an effective two-stage heuristic to obtain an initial solution aiming for reducing the number of the coils left unloaded.

4.1.1. Two-stage Heuristic for Obtaining the Initial Solution

In heuristic, the obtained solution is a feasible solution and all the constraints must be satisfied. Simulating the operation process by the planners in practice, in the first stage of the heuristic the activated coils are assigned to tanks with the following rule. Suppose there are S stack of the activated coils, and the activated coils in each stack are sequenced in cross-order on the weight of coils. We can obtain sequences C s ={ C 1 s , C n s s , C 2 s , C n s -1 s , ...,  C ( n s +1)/2 s } , s = 1, 2, …, S, for n is an odd number, and C s ={ C 1 s , C n s s , C 2 s , C n s -1 s , ...,  C n s /2 s } , for n is an even number, where C 1 s and C n s s mean the coil with maximum weight and the coil with minimum weight in stack s. Then we can obtain the final sequence of the activated coils C = {C1, C2, …, CS}. Mj coils are selected from sequence C to tank j sequentially, and the sum of weights of these Mj coils must satisfy the constraint (4). We can get the initial value of Mj (it is the number of the assigned coils for tank j, jJ). Then these coils are assigned to exact positions in tanks according to the following rule. In each tank the coils are loaded from left and right sides to the middle of the tank, then the coils are swapped in the same tank until the constraints (3), (5) to (14) are all satisfied. If any constraint is not satisfied, the corresponding value of Mj is set 0.

In the second stage of the heuristic, we need to reduce the number of the coils left unloaded, and three situations are discussed as follows. WL is the total weight of the coils left unloaded, and the value of WL is expected to be reduced considering the objective function of maximizing the weight of loaded coils.

(1) WL = 0

It denotes that all coils have already been assigned to the tanks with their positions, and it is the current final initial solution for TS algorithm.

(2) WLP

If WL > Tj, it means that the number of the coils left unloaded is enough to be loaded at least one tank, where jL and L is the set of empty tank, LJ.

This situation may be caused by some constraints because of the improper sequence set C and we can use some adjustment steps as follows to solve it.

Step1 Swap the orders of two coils in set CL, where CL is the set of the coils left unloaded, CLC. According to the sequence set CL, assign the coils left unloaded to the empty tank. Assign Mj coils of set CL which subject to the constraint (4) to tank j and arrange the coils with their positions in tanks as the same way of the first stage. After fifty iterations, if WLP, then go to step 2, otherwise stops.

Step2 Swap two coils one of which belongs to set CL and the other one is a member of set CY, where CY is the set of assigned coils, CYC, CLCY = ϕ, then judge whether the coils left unloaded can be assigned to the empty tanks with required constraints until 0 < WL < P or WL = 0.

After the adjustment of two steps, if WL = 0, it means that all coils have already been assigned to the tanks and the current solution is the final initial solution for TS algorithm, WLP implies some activated coils and empty tanks are left finally according to the constraints of the model.

(3) 0 < WL < P

In the second stage for solving this situation, the usual swap operation cannot resolve it because the part of the neighborhood cannot be searched according to some constraints. The following steps are used to solve this problem.

Step1 Sort the number of set CL in non-descending order with coil weight.

Step2 Sort the tank j in non-descending order with value of k K j x ij k W i , where jJ\L .

Step3 Apply pair-swap to enlarge the scale of neighborhood search. Figure 6 is an example of pair-swap neighborhood for five coils. As shown in the pair swap 1 of Fig. 6, while coil 1 is swapped with coil 2, coil 3 is swapped with coil 4.

Fig. 6.

The pair-swap neighborhood for five coils.

Analyzing the character of pair-swap neighborhood, we can get the scale of neighborhood N(x) and the complexity of pair-swap neighborhood is O(n4).   

N(x)=(n-1)(n-2) C 2 +(n-2)(n-3) C 2 +(n-3)(n-4) C 2 +...+3 (21)

The number of items in formula (21) is n-3, where n ≥ 4 and the last item is equal to 3. Although the scale of pair-swap neighborhood is very large, the number of loaded coils in a tank is not more than nine, and then the search time of pair-swap neighborhood is acceptable.

4.1.2. Framework of Heuristic Algorithm

For this two-stage heuristic algorithm, the main work is to increase the number of the loaded coils in the second stage in order to solve the difficulty in TS algorithm. The pair-swap operator is very effective to enlarge the search space and obtain a better initial solution at the respect of the number of loaded coils, and the search performance of TS algorithm can also be improved based on this initial solution. Figure 7 is the flow chart of two-stage heuristic algorithm.

Fig. 7.

Framework of two-stage heuristic algorithm.

4.2. Neighborhood Structure of TS

Neighborhood definition is a critical issue in the design of many algorithms, and it is important for the tabu search in particular. Large neighborhoods generally lead to better local optimal solutions and search accuracy. On the other hand, they also increase the time required to explore the neighborhood at each iteration. Consequently, a larger neighborhood does not necessarily produce a more effective heuristic unless one can explore it in a very efficient manner.

In our algorithm we use two kinds of moves to construct correlative neighborhoods and introduce them as follows.

Swap move: this kind of move includes two instances. (1) One is the commutation of the coils in set CY, (2) the other is the commutation between the coil in set CY and the coil in set CL. Take Fig. 8 as an example, Yi denotes the ith unloaded coil, L k j expresses that the coil is loaded into kth position of jth tank.

Fig. 8.

Two instances of swap move.

K-chains move: this move is a procedure that includes chains of k commutations. The commutation used in move is swap operator, that is to say, if k=1, it becomes simple swap move. The neighborhood size of this move increases exponentially along with the size of k, and the computational time needed to explore this large neighborhood also increases rapidly following it. In order to control the computational time effectively, we build a cycle of length k=2, just as shown in Fig. 9. In this problem, one K-chains move is related to commutation of three coils belonging to two or three tanks, and, moreover, one of them may be an unloaded coil in previous move. (a) of Fig. 9 is the commutation of the loaded coils, and (b) is the commutation with one coil in the set of unloaded coils.

Fig. 9.

Example of 2-chains move application.

4.3. Tabu List and Stopping Criteria

The size of the tabu list which may be fixed or variable is a very important parameter of tabu search algorithm. It may be fixed to some values, which means that the tabu list contains a fixed number of prohibited moves. Another kind of tabu list is variable that stochastically adapts to the change of the iterated number in a known bound. This dynamic change is a peculiar disturbance for avoiding the algorithm gets in local minimums. The key is how to confirm the bound of list. In this paper the variable list is adopted to try to produce better results.

In this problem, the tabu list records the assignments of coils and tanks. This prevents the reversal of the assignment status as long as they remain in the list.

The selection of tabu object is based on two distinct neighborhood structures. For swap move, the tabu objects are the numbers, corresponding tanks and positions of two coils. The tabu objects of k-chains move are all the corresponding information of three coils.

There are two common stopping criteria used to terminate the search procedure: 1) the maximum number of iterations (tmax) has been reached, 2) the maximum number of continuous iterations without improvement ( t max ' ) on the value of the objective function has been reached.

4.4. Diversification Strategy

Besides the standard tabu search feature, additional improving strategies are used to make the tabu search more effective.

In the proposed tabu search algorithm, if the number of continuous iterations without improvement is equal to the given number tD, the special disturbance is used to mend current solution in order to jump out of local optima. For the convenience of describing the problem, we introduce an imaginary tank as the set of unloaded coils. This kind of disturbance is a k-cycle commutation between some coils in different tanks and the imaginary tank, and k is the number of tank related to change. It is important that the commutations happen between different tanks ensuring the effect of the disturbance. Figure 10 expresses the disturbance of k=3 used in search. Some special areas cannot be explored because of the restriction with some constraints and this disturbance can enlarge the search space effectively.

Fig. 10.

Example of 3-cycle change application.

5. Computational Results

In order to test the performance of the TS algorithm for the train stowage planning problem of coil, we collect the practical data including the tank information and the consolidation planning from transportation department of a practical steel company. For comparison, we solve the model by CPLEX to get the optimal solution and the upper bound (UB) for small problems and for large problems, and we also obtain an upper bound (PUB) of TSPP by relaxing the constraints of stowage requirement to formulate the problem as a knapsack problem. The performance of the improved TS algorithm is proved by comparing with the optimal solution and the upper bound for small-scale problems and comparing with the proposed upper bound for large-scale problems.

The experiments are programmed in visual C++ 6.0 and run on a PC with P4-3.40 GHz CPU and 1 G memory.

5.1. The Upper Bound

In small scale problem, the proposed MILP model can be solved by CPLEX. The improved TS algorithm can be compared by the solutions obtained by CPLEX. However, as the problem scale increases, the computing time for solving the model is increasing rapidly so that up to big-scale problem instances the model cannot be solved within a reasonable time. So we propose an upper bound (PUB) of TSPP to be compared with our TS algorithm as follows.

By relaxing the constraints of stowage requirements, TSPP can be formulated as a knapsack problem. N denotes the total numbers of section and column of the activated coils in the stack yard. The train is supposed to have only one tank, and the number of loading position on the train is n.   

Maxmize  iC jJ kK z 3 x ij k W i - z 4 N (22)

Subject to   

x ij k {0,1}      iC, jJ,kK (23)
  
P iC kK x ij k W i T j     jJ (24)
  
iC x ij k 1     jJ,  kK (25)
  
jJ kK x ij k 1     iC (26)

The activated coils to be loaded onto the train are sequenced according to the non-increasing order of the weight of coils, and we can obtain the set of activated coils, C' = {1, 2, …, n}, where n is the number of coils. It is obvious that jJ i 1 C i 2 C y i 1 i 2 j S i 1 i 2 N , and - z 4 jJ i 1 C i 2 C y i 1 i 2 j S i 1 i 2 - z 4 N . So the proposed upper bound is the upper bound of TSPP. The activated coils are loaded into the train until weight of the loaded coils subjects to the constraint P iC kK x ij k W i T j . If the activated coils are all loaded onto the train, the upper bound PUB equals to z 3 iC' W i - z 4 N . If not all the activated coils are loaded onto the train, the upper bound PUB equals to iC' jJ kK z 3 x ij k W i + W n - z 4 N . The upper bound can be computed in O(nlogn) time.

5.2. Parameter Setup

The values of the parameters of MILP model are set based on the know-how of the planners and the regulations of train transportation. But the performance of the proposed algorithm does not depend on the values of the parameters. The maximal value of Wi is 27.5 ton, Tj=61, P=51, B1=1, B2=0.5, B3=13, the weight coefficients of the object function are z1=0.4, z2=0.6, z3=2, z4=1.

The parameters of algorithm affect the result of computation intensively because it is as delicate as in GA algorithm or SA algorithm. A mass of experiments are done to obtain the appropriate parameters. In this research, the tabu list length is Tlist = rand (5, 9), the maximal iteration number is tmax=200, the maximal number of iterations without improvement is t max ' =60, the number of continuous iterations without improvement is tD=20. It should be noted that, when the value of tD reaches 20, it is reset to 0, and the value of t max ' remains unchanged.

5.3. Experiment Data

All of the experiment data are collected from a transportation department of an iron and steel enterprise. Four instance scales including 5 to 10 coils, 10 to 20 coils, 20 to 50 coils and 50 to 100 coils are tested according the number of activated coils, and each consolidation planning gives the corresponding tank number. In order to indicate the effective of pair-swap neighbourhood in two-stage heuristic, we also take the test with ten different instances.

5.4. Numerical Experiments

We first test the effectiveness of using pair-swap neighbourhood in two-stage heuristic. In Table 2, ten instances are performed to indicate the validity of pair-swap neighborhood. n denotes the number of the activated coils, m denotes the number of loaded tanks, LCN denotes the number of loaded coils in tanks. The experiment results indicate that six instances of them obtain better solution in aspect of the number of loaded coils by pair-swap neighborhood, moreover, the increment of loaded coils number is increasing in evidence along with the change of instance size.

Table 2. The validity of pair-swap neighborhood.
nmLCN with Pair-swapLCN without Pair-swap
10042222
10052221
10073030
10083939
10093736
100104040
100114846
200167775
200199392
200229894

The comparison of solutions obtained by the propose TS with and without the k-cycle change is shown in Table 3. Ten instances are performed to indicate the validity of k-cycle change. LW denotes the value of total weight of the loaded coils in tanks. The experiment results indicate that the loading weight of the train is improved with the k-cycle change.

Table 3. The validity of k-cycle change.
nmLCN without k-cycle changeLCN with k-cycle changeLW without k-cycle changeLW with k-cycle change
10042222222.04222.04
10052224278.56296.75
10073030397.11397.11
10083938444.63451.08
10093737505.08512.32
100104042542.90563.18
100114848610.61611.34
200167777897.85897.85
2001993941056.291069.28
20022981021207.771221.57

The comparison of solutions obtained by CPLEX and our heuristics is shown in Table 4. The initial solutions obtained without pair-swap neighborhood are shown as IS. ISP indicates the initial solutions of heuristic with pair-swap neighborhood. Obj is the objective value obtained by CPLEX or our heuristics. Gap denotes the gap between the solutions obtained by heuristics and those obtained by CPLEX. The value of Gap is calculated by the formula as follows:   

Gap ( % ) = CPLEX-Obj CPLEX ×100%
CPLEX denotes the optimal solution or the upper bound obtained by CPLEX. From Table 4, we can conclude that initial solutions generated in ISP are better than IS. The gap increases along with the change of instance size, however, the average gap of ISP is smaller than that of IS. This means that the two-stage heuristic with pair-swap neighborhood can obtain a better initial solution. The average gaps of IS and ISP are 7.61% and 4.28%.
Table 4. The comparison between CPLEX and our heuristics.
nmCPLEXISISP
ObjObjGap (%)ObjGap (%)
5*195.2394.640.6295.230
10*2203.18195.443.81203.180
173334.23317.924.88323.413.24
246579.66525.989.26528.318.86
337821.36799.126.47799.124.30
398927.36901.752.76901.752.76
419899.14843.766.16867.593.51
4210109910534.1910534.19
4811127811837.4312293.83
79161897158316.5517587.33
95192736241711.6625915.3
100251981163417.5218228.03
*  cases can obtain the optimal solutions by CPLEX

Table 5. The comparison of the solutions obtained by manual operation and by the tabu search.
nmIS (by manual operation)Tabu search
loading rate (%)Time (s)loading rate (%)Time (s)
5195.73120098.280.53
7296.11120099.721.21
10296.17120099.493.99
14396.23120099.824.50
20496.95120099.674.23
30896.26120099.895.27
401096.03120099.598.64
501296.31120099.1518.71
Average96.22120099.455.89

The heuristic is proposed according to the know-how of the planners in practice, and the practical data of the manual operation is difficult to calculate. So we use the solutions obtained by heuristic IS to indicate the solutions obtained by manual operation roughly. The average loading rate and average loading time obtained by manual operation are about 96.22% and 1200 seconds, and those obtained by tabu search are about 99.45% and 5.89 seconds. Time denotes the time of obtaining solution. loading rate denotes the loading rate of the train. Comparing to the solutions obtained by planners, the average computing time of the tabu search is decreased significantly and the loading rate of the train is increased by 3.23%. The value of loading rate is calculated by the formula as follows:   

loading rate ( % ) = loading weight  loading capacity of train ×100%

We use CPLEX to obtain the optimal solution or best found solution to compare with our results obtained by the tabu search algorithm. Time is the time of obtaining optimal solution for CPLEX and the tabu search heuristic. For small-scale problems, we evaluate the effectiveness of our tabu search algorithm by comparing with the solution obtained by the standard software CPLEX in Tables 6 and 7. The computation time of the standard software is limited to 60 min. If the cases of CPLEX have ended in the calculation time limitation, it means that the optimal solutions are obtained by it. And the optimal solutions are compared with the solutions obtained by the proposed tabu search. Otherwise, the upper bounds obtained by CPLEX are compared with the solutions obtained by the proposed tabu search.

Table 6. The experiment results of coil number from 5 to 10.
nmCPLEXTabu search
ObjUBGap (%)Time (s)ObjGap (%)Time (s)
5*195.2395.2305.495.2300.53
6*298.1698.1606.6198.1601.01
7*298.1698.1606.6198.1601.21
8*299.1499.1409.0299.1402.02
9*2102.24102.24012.03102.2403.52
10*2203.18203.18015.05203.1803.99
Average116.02116.0209.12116.0202.05
*  cases can obtain the optimal solutions by CPLEX

Table 7. The experiment results of coil number from 10 to 20.
nmCPLEXTabu search
ObjUBGap (%)Time (s)ObjGap (%)Time (s)
11*3213.82213.82028.81213.8204.23
133214.58287.3625.303600268.326.624.21
143299.30322.747.263600303.236.054.50
173311.30334.236.863600323.413.244.51
193323.26341.175.253600334.312.014.67
204244.10476.6248.793600448.265.954.23
Average267.73329.3215.583005315.233.984.39
*  cases can obtain the optimal solutions by CPLEX

For large-scale problems, the problem cannot be solved by CPLEX, and the proposed upper bounds PUB are compared with the solutions obtained by the improved TS algorithm in Tables 8 to 9.

Table 8. The experiment results of coil number from 20 to 50.
nmPUBTabu search
ObjGap (%)Time (s)
235551.65522.445.304.50
246589.66572.802.864.51
256604.41565.314.673.99
266592.76542.478.484.62
287724.71693.334.334.65
308878.49850.733.165.27
328892.47864.553.135.26
338911.70890.632.315.22
369917.44888.713.1510.20
3891018.36948.706.8413.24
40101021.94987.113.418.64
43111112.561021.528.1814.4
45111243.741201.153.4216.23
48121286.541207.126.1718.11
50121310.301240.875.3018.71
Average910.45866.504.719.17
Table 9. The experiment results of coil number from 50 to 100.
nmPUBTabu search
ObjGap (%)Time (s)
60151537.011446.635.8820.61
70181775.431618.308.8521.3
80181839.251718.316.5821.9
90202113.772006.585.0722.78
100202365.152175.238.0324.25
Average1926.121793.016.8822.17

For the small-scale instances denoted in Table 6, CPLEX and our algorithm can obtain optimal solutions in a short time, but our algorithm cost less time. In Table 7, CPLEX cannot obtain the optimal solutions in a reasonable time, and the solutions obtained by our algorithm are compared by the upper bound UB obtained by CPLEX. For the large-scale instances denoted in Tables 8 and 9, our algorithm gets better solutions than those obtained by the upper bounds PUB by relaxing the constraints of stowage requirements. The average Gap between the solutions of our algorithm and the upper bound PUB is less than 10%. On the other hand, the time that our algorithm used is less than 60 seconds. Therefore, our algorithm can solve TSPP effectively in practical loading process.

6. Conclusion

A multi-tank train stowage planning problem is studied in this paper, which is formulated to be a novel MILP model. A two-stage heuristic algorithm according to the know-how of the planners in practice is proposed to obtain an initial solution for tabu search algorithm. Considering the characteristics of the problem, the tabu search algorithm with different neighbourhoods and diversification strategy are proposed. The solutions obtained by our algorithm are compared with the optimal solutions and the upper bound obtained by CPLEX in small-scale problems, and compared with the proposed upper bound of the problem in large-scale problems. The computational results show that our algorithm can obtain near-optimum solutions in small scale problems and is more effective than CPLEX in large scale problems in both the quality of solutions and the computing time. In practice, the train stowage plan is made manually based on the planner’s know-how. The loading rate is lower by 3.23% than our algorithm and the loading time is longer, and the second objective of our model is not considered by the planners, which will cause several unnecessary operations of cranes. The research in this paper can be used to direct the loading operation in practice effectively.

Acknowledgement

This research is partly supported by State Key Program of National Natural Science Foundation of China (Grant No. 71032004) and the Foundation for Innovative Research Groups of the National Natural Science Foundation of China (Grant No. 71321001) and State Key Laboratory of Synthetical Automation for Process Industries Fundamental Research Funds (Grant No. 2013ZCX04-01).

References
 
© 2014 by The Iron and Steel Institute of Japan
feedback
Top