Heuristic Algorithm for Type II Two-sided Assembly Line Rebalancing Problem with Multi-objective

In practical production, the balance of the assembly lines is always destroyed by many factors, e.g., demand fluctuations, disruptions caused by workstation breakdowns or shutdowns, and changes of the work force. Therefore, this paper addresses the type II rebalancing problem for the two-sided assembly lines (TALRBP-II), which are widely utilized to assemble large-size high-volume products. As we all know that TALBP-II (two-sided assembly line balancing problem type-II) is NP-hard, TALRBP-II is its extension and much more complex. In order to solve this problem, a mathematical model with the objectives of minimizing cycle time and rebalancing cost is proposed. Constraint programming (CP) method is applied to optimize the model and a workstation-oriented heuristic algorithm is designed to solve the problem. An example is presented to illustrate the procedure of the proposed algorithm, and the best solution obtained verify the efficiency of the proposed algorithm.


Introduction
Two-sided assembly line (TAL, Figure 1) is a typical production organization form and is widely used in assembling large-sized high-volume products, such as cars, trucks, buses, shovel loader. In the TAL, operators work in parallel on the two sides (left-side (L) and rightside (R)) of the conveyor belt, and a pair of stations (e.g. stations 3 and 4) on the two sides is called as a matedstation or a workstation, and each one is called a companion for the other. TAL balancing problem (TALBP) is one of the most important problems in the field of production planning and management. TALBP is assigning tasks to workstation to optimize one or more objectives with some constraints [1]. TALBPs have received more attention in the literature since Bartholdi [2]. According to the different of objective, TALBP can be categorized into three types [3]: the type I is mainly to minimize the number of stations with a given cycle time, type II is looking for the minimum cycle time with a predetermined number of stations, while type III focus on optimizing smoothness and efficiency of an AL. Especially, TALBP type-II (TALBP-II) is of major importance for the reconfiguration of the ALs [4]. However, many factors are ignored, such as rebalancing cost. In addition, as mentioned in [5], in industrial practices, it is hardly ever to build a new AL to meet all the need arising from changes of production and the majority of AL balance is conducted for reconfiguration instead of first time installation, i.e. rebalancing problem.
Actually, assembly line rebalancing problem (ALRBP) has been mentioned by numerous researchers since Schofield [6], however, related theories and methods research are considerably limited. Gamberini et al. [7][8], Makssoud et al. [9] and Sancı and Azizoğlu [10] proposed heuristic algorithms to deal with the singlemodel and one-sided ALRBP. Altemeier et al. [11], Grangeon et al. [12] and Yang et al. [13] did research on the mixed-model ALRBP. Zha and Yu [14] and Celik et al. [15] focused on U-lines rebalancing problem. Zhang et al. [16] presented a modified non-dominated sorting genetic algorithm II (MNSGA-II) for a real-life multiobjective two-sided assembly line rebalancing problem (MTALRBP) with modifications of production demand, line's structure and production process. The objectives are to minimize the cycle time and rebalancing costs synchronously. Obviously, there are only one work deals with TALRBP.
In this paper, a workstation-oriented heuristic algorithm is proposed to tackle the TALRBP-II with multi-objectives, including minimizing cycle time and rebalancing cost. The rest of this paper is organized as follows. In Section 2, a mathematical formulation for TALRBP-II is presented. The proposed algorithm is proposed in Section 3, Section 4 is the numerical (j,k): A station of workstation j and its operation direction k, k=1indicates the left side and k=2 indicates the right side.
xijk 0 : 1, if task i is assigned to station (j,k) in the initial balancing; 0, otherwise.
yij 0 : 1, if task i is assigned to workstation j in the initial balancing; 0, otherwise. AL: Set of tasks that must be performed on the left side of the line, AL⊂I.
AR: Set of tasks that must be performed on the right side of the line, AR⊂I.
AE: Set of tasks that can be performed on either side of the line, AE⊂I. C(i): Set of tasks whose operation directions are opposite to task i's operation direction, C(i)= AL, i⊂AR； C(i)=AR, i ⊂AL；C(i)=Φ, i ⊂AE.
yij: 1, if task i is assigned to workstation j; 0, otherwise. ti s : Start time of task i. ti f ：Finish time of task i, ti f = ti s + ti. ct: Cycle time zip: Indicator variable. zip=1, if task i is assigned earlier than task p in the same station; zip =0, if task p is assigned earlier than task i in the same station.

Mathematics model
Min ct Min ( ) Eqs. (1) and (2) are objective functions, represent minimizing cycle time and the rebalancing cost, i.e., the number of reassigned tasks, respectively. Eqs. (3) ~ (5) indicate that the constraints of tasks cannot be split, precedence relationship, and cycle time. Eqs. (6) ~ (8) are constraints specific to the two-sided assembly line, indicating that the start time of task i is decided by the maximum value between the completion time of the last immediate predecessors task h on its mated station and the previous task p on the station itself, i.e., ti s ≥ max{th f , tp f }. Eqs. (9)~(13) define each variable.

Multi-objective programming
Constraint programming (CP) [17] is one of classical multi-objective decision (MOD) methods. Compared with other MOD methods, it has the advantages of obtaining Pareto solution sets efficiently, lessening restriction of additional parameters and avoiding uniform dimensions. The principle is selecting one of the multiple objectives as the only objective and the other objectives are considered as constraints. In this paper,   (14) ε R is the maximum rebalancing cost accpeted on the AL, Step 1. Set the initial cycle time ct =Tct.
Step 3. Get the solutions set SUj of transferred tasks for j: (1) Identify the set TTj of tasks that can transfer into j, and the set TOj of tasks that can transfer out of j without violating the precedence constraints.
Step 4. Screen solutions set ： select the solutions with the cycle time and idle time constraints to get the possible solutions set PSj.
①The cycle time constraint means the operation time of tasks which contain inevitable wait time(IWT), could not be greater than Tct, as shown in Eq. (15). Sjk represents the set of tasks assigned to station (j, k).
For a task i, the inevitable wait time (IWT) is the maximum value of zero and the difference between the processing time of the task and the total operation time of its matched tasks. It can defined as follows: , 0 max (16) MTi represents the matched tasks of task i, which can be processed with task i synchronously, i.e., they are not predecessor or successor of task i and can be assigned to different direction from task i. ② The idle time constraint means the idle time contained in the possible solution of j must be less than the maximum idle time allowed by the assembly line (MIDAL). It can be calculated by the formulation: (17) Step 5. Rank all the possible solutions in PS.
In order to rank all the possible solutions, we first given an evaluation function CL: ③ The first level rule always has a higher priority than the second level rule.
Note: The mentioned number of moved tasks here not just refer to current workstation, but involved all the workstations which have already been assigned tasks currently. It is obvious that the less number of transferred tasks of current workstation does not mean that the final total number of moved tasks will be less.
Step 6. Select the first possible solution r in the order of the possible solutions got in the step 5.
Step 7. Assign tasks of r according to the single workstation tasks assignment procedure (SWTA) and get the completion time of j.
Step 8. If the completion time of j ≤ Tct, save it as a feasible solution for j, and go to Step 9, otherwise, Remove it from PS, PS=PS-{r}, go to Step 6.
Step10. If all the tasks are assigned, terminate and record ct as a solution value. Otherwise, set ct =ct+θ, and go to Step 2.

Procedure of SWTA
Step1. Categorize the tasks of workstation j into three set IL, IR, NT, according to their initial position. The IL represents the tasks that be assigned to the left station of j in the initial balanced line, while the IR is the opposite. The NT stands for the new tasks moved into j.
Step2. If NT is not empty, go to step 3. Otherwise, go to step 4.
Step3. Tasks pre-assignment: if the task is not E (L or R) type, assign it to set IL or IR, respectively; otherwise, rank the E type tasks according to their operation time and compute the completion time of each side which includes the inevitable wait time. Record them as LLT and RRT, separately. Then assign the E-type tasks as the order to the smaller side in turn, and if the LLT=RRT, assign the task to the L side. Repeat it unless the E type tasks have been assigned completely. Step4. Update information of tasks on current workstation, and get the potential tasks exchange solutions (PTES) between the left and right side of the workstation according to the number of exchange tasks in the descending order.
Step5. Select the first solution h of PTES.
Step6. Mark the tasks of left station as L, the tasks of right station as R.
Step7. Get the assignment sequence of tasks according to the weights and the related rules.
Weight 1: processing time of task * (the number of its immediate successors on current workstation +1). Rank all the remaining tasks according weight 1 in the descending order.
Weight 2: task ID. Rank all the remaining tasks according weight 2 in ascending order Weight 3: the number of mated tasks.Rank all the remaining tasks according weight 3 in ascending order.
Step8. Assign tasks sequentially, and calculate the completion time of j and the generated idle time between tasks after a task is assigned each time. If the completion time is greater than Tct, delete solution h from PTES, PTES= PTES-{h}, go to step 5; otherwise, go to step 9.
Step9. If the idle time generated exceeds MITALAP and MITCWAP, delete solution h from PTES, PTES= PTES-{h}, go to step 5; otherwise go to step 8.
MITALAP is the expression of the maximum idle time allowed by the assembly line at present, it can be obtained by the difference between MIDAL and the total idle time contained in the previous workstations.
MITCWAP means the maximum idle time allowed by current workstation at present and can be computed as following: (19) wj: the set of tasks assigned to workstation j.
Step10. If tasks contained in solution h have been assigned completely, stop and save it as a feasible solution for workstation j.

Numerical example
This section presents a numerical example to explain and verify the effectiveness of the proposed algorithm. For this purpose, the example of P24 [18] is considered. Figure 2 is the precedence diagram of tasks in P24 and the Figure 3 is an initial solution of P24 obtained by Hoffman algorithm [19], of which the cycle time is fixed with 22 units of times. The target CT is 18. The proposed algorithm is programmed in C# and executed on a PC with Intel Core(TM) i5, 3.20GHz, 8 G RAM. One of the iterations of the procedure (i.e., one workstation) is given below. (1) divide all the tasks into two groups: group-1 contains the tasks on the current workstation, i.e., {1,2,3,4,5,6,7,8,10,11}; the other rest tasks belong to group-2.
(2) Get and record the tasks which can move into / out workstation 1 from this two group, separately. At last, tasks which can be moved into are  Note: the potential tasks exchange solutions only contain the transferred tasks; {0} means no tasks transfer; all the solutions have been already sequenced as their priority, so we just need execute them in turn in the next step.
(3) Choose the final executed solution. In our case, we choose the second solution ({7}, which means transfer task 7 from right to left).
(4) Remark the types of tasks according to the side to which they are assigned at percent. In our case, tasks have been assigned to the left station are {1,2,5,7}, so remarked them as L type, while {3,4,6,8} are remarked as R type.
Note, there are no tasks moved into, so we do not need assign the moved into tasks simply.
(5) Get the allocation sequence of tasks according to the weights and their rules, and allocate them sequentially until the last one is allocated.
Use weights one by one according to the order. At first, we get the value of weight 1 of all tasks involved on this workstation, and then rank them in the descending order, as shown in Table 1. Table 1. Weight 1 of tasks for the first workstation.

Order
Weight 1 Task ID  1  21  2,3  2  8  5  3  5  4  4  4  7  5 3 1,6,8 It is clear that, tasks could not get their unique order just using weight 1, so we need weight 2. The result is showed in Table 2. And then we can allocate them as this order, the procedure is depicted in Figure 4. We should note that, at the process of allocating tasks to workstation, if the order violates the precedence relation among tasks, it should change. Table 2. The unique order of tasks for the first workstation.

Order
Weight 1 Tasks ID  1  21  2  2  21  3  3  8  5  4  5  4  5  4  7  6  3  1  7  3  6  8 3 8 The Do the above process to the other workstations successively and the final rebalance solution is showed in Figure 5. The task adjustment is shown in Table 3 and the total rebalancing cost is 11(α,β are assumed be 1 and 2).