A Branch-and-Bound Based Heuristic Algorithm for Minimizing Makespan in Machining-Assembly Flowshop Scheduling

This paper proposes a heuristic algorithm, called list-based squeezing branch and bound algorithm, for solving a machine-fixed, machining-assembly flowshop scheduling problem to minimize makespan. The machine-fixed, machining-assembly flowshop consists of some parallel two-machine flow lines at a machining stage and one robot at an assembly stage. Since an optimal schedule for this problem is not always a permutation schedule, the proposed algorithm first finds a promising permutation schedule, and then searches better non-permutation schedules near the promising permutation schedule in an enumerative manner by elaborating a branching procedure in a branch and bound algorithm. The results of numerical experiments show that the proposed algorithm can efficiently provide an optimal or a near-optimal schedule with high accuracy such as mean relative error being less than 0.2% and the maximum relative error being at most 3%.


Introduction
Recently manufacturers face to more competitive situation, because of shorten product life cycles and diversification of products.Flexible Manufacturing Cell (FMC) has attracted a lot of attention as a production system to cope with a multi-product, small-lot production efficiently in such a situation.The FMC usually consists of two stages: A machining stage with some parallel machines (or flow lines) and an assembly stage with a few robots.Sun et al. [1] formulate the scheduling problem for minimizing makespan in an FMC as Machining-Assembly Flowshop Scheduling (shortly MAFS) problem to minimize makespan, and divide into two cases: A machine-fixed case and a machine-unfixed case.This paper deals with the machine-fixed MAFS problem with L ( ) parallel, two-machine flow lines at the machining stage and one assembly robot at the assembly stage.Each of L component parts of any job is processed on a prespecified two-machine flow line at the machining stage, and these parts are assembled on an assembly robot at the assembly stage after all component parts have been completed.Although two-stage flowshop scheduling problems with one machine at each stage to minimize makespan can be solved efficiently by Johnson's algorithm [2], the machine-fixed, MAFS problem is strongly NP-complete, even when the machining stage consists of two parallel machines [3] [4].In case of MAFS with two-lines consisting of two machines at the machining stage, a branch and bound algorithm (shortly B & B) [5] and a heuristic method [6] have been proposed to solve a small-sized and a large-sized problem, respectively.
This paper proposes a kind of hybrid heuristic algorithms, incorporating a local search procedure into the squeezing B & B [7] [8].The performance of the proposed method is compared with a branch and bound algorithm with a limited computation time of one hour.Numerical experiments solving one hundred instances generated randomly for each problem size are implemented to demonstrate that the proposed heuristic method can efficiently provide near-optimal schedules with high accuracy.

Scheduling Model
This paper deals with a machine-fixed MAFS model with the following conditions: • A machining stage consists of L ( ) parallel flow lines with two non-identical machines, named , and an assembly stage consists of one robot 2 M (See Figure 1).• Each of N jobs has L parts and these parts are processed on the pre-specified lines at the machining stage and assembled on a robot at the assembly stage.• Any assembly operation for each job cannot be started until machining operations for all parts of each job have been completed.
, and assembly time,  , are all given constant.• Setup time is independent of job sequence and included in each processing time.
• Transfer time between machines is negligible.
• All jobs are ready at time zero, and no job can be split or preempted.
• No machine can process more than one operation at a time, and all machines are always available during a scheduling period.The scheduling criterion is to minimize makespan max F .It has proved that the best permutation schedule is not always optimal to this scheduling problem [5].But, fortunately, it can be shown that FCFS (First Come First Served) rule provides an optimal assembly schedule to minimize makespan under a set of given schedules for machining flow line l s , 1, 2, , l L =  .Therefore, it is sufficient to consider only one assembly schedule given by FCFS rule for each permutation/non-permutation schedule at the machining stage.

Basic Concept
Since the MAFS problem treated in this paper is NP-complete, we propose an efficient heuristic method, called "List-Based Squeezing Branch and Bound Algorithm (LSQ)".The LSQ is a B & B-based local search algorithm elaborated for improving the efficiency of the squeezing B & B [7] [8] for the large-sized problems.
The squeezing B & B is a heuristic method which aims at obtaining a near-optimal schedule as close to the optimum as possible within a given computation time.In the squeezing B & B, parent nodes to be branched at branching level v are selected up to ( ) NN v according to the minimum lower bound rule and are searched in parallel.

( )
( ) ( ) NN v parent nodes because the number of unscheduled jobs is just N v − for each parent node (in permutation scheduling phase).From among these child nodes, ( ) nodes are selected as next parent nodes for further expansion of the search tree in the same way as the above.
The procedure is terminated when the branching process reaches the bottom level of the search tree, and then the best schedule is selected from among the schedules obtained at the bottom level as the solution by the squeezing B & B.
Since the squeezing B & B does not implement any backtracking, the time complexity of the squeezing B & B can be controlled by the ( ) NL v , e.g., it is at most ( ) NL v is proportional to N. To reduce the time complexity of the squeezing B & B, the LSQ selects some jobs from among the set of unscheduled jobs for generating child nodes from each parent node according to a "job-list".The number of jobs to be selected in this procedure is pre-specified as ( ) X N v < − .If the job sequence of the job-list is close to an optimal schedule, it can be expected that the restriction of unscheduled jobs to be branched by this method does not deteriorate the effectiveness of the proposed method and the time complexity of it is reduced to This branching procedure is called "list-based squeezing" and the B & B-based parallel search algorithm using the list-based squeezing is called list-based squeezing Branch and Bound algorithm (LSQ).In the same way as the squeezing B & B, the basic procedure of the LSQ is terminated when the branching process reaches the bottom level of the search tree, and then the best schedule obtained at the bottom level is selected as the solution.The quality of the solution can be improved by implementing the LSQ iteratively according to the new job-list which is renewed by the current best schedule with a better value of the performance measure than that of the current job-list.
Since the job-list in the LSQ is corresponding to an initial solution in a general local search procedure, the LSQ can be also considered as a kind of local search algorithms which searches neighborhood of an initial schedule in an enumerative manner according to the lower bound like a branch and bound algorithm and the size of neighborhood is restricted by the value of X .Therefore, the LSQ can be widely applied to any scheduling problems likewise a local search procedure.
For the MAFS problem of this paper, the LSQ is applied as a two-phase heuristic search algorithm.In the first phase, a promising permutation schedule is searched according to a job-list and then better non-permutation schedules are searched according to both some job-lists for non-permutation scheduling and the best permutation schedule obtained in the first phase.In both phases, the LSQ is implemented iteratively.

Job-List
A job-list used in the LSQ is an initial schedule for searching better schedules.In the LSQ, the job-list is obtained first by using any promising heuristic method and the neighborhood is searched in an enumerative man-ner by employing a restricted branching procedure according to the job-list.The following four heuristic methods are proposed for obtaining a job-list for permutation scheduling to the MAFS problem.
1) Find a machining flow line l * which satisfies and construct the artificial two-machine flowshop problem with nominal processing times of ( ) ( ) from the original MAFS problem.By applying Johnson's algorithm [2] to the artificial two-machine problem, an approximate permutation schedule for the original problem is obtained.
2) Construct L kinds of artificial three-machine flowshop problems with nominal processing times of ( ) , ,  , from the original MAFS problem.By applying Rapid Access procedure (RA) [9] to each of the artificial three-machine flowshop problem, at most L kinds of approximate permutation sche- dules for the original problem are obtained.
3) Find a machining flow line i l * which satisfies Construct an artificial three-machine flowshop problem with nominal processing times of ( ) from the original MAFS problem.By applying the RA procedure to the artificial three-machine flowshop problem, an approximate permutation schedule for the original problem is obtained.
 , generate at most 2L kinds of approximate permutation schedules by sequenc- ing i J at the first position and followed by is introduced for calculateing a lower bound ( ) LB s and in this case it consists of (N-1) jobs except for i J .The details are described in Subsection 3.4).
Select a schedule with the minimum makespan for the original MAFS problem from among the set of schedules generated by the above four heuristic methods and set the schedule as the job-list for permutation scheduling, denoted by [ ] L N .The job-lists for non-permutation scheduling are obtained as follows: 1) Consider L parallel two-machine flow lines at the machining stage.By applying Johnson's algorithm to each line, L kinds of schedules Johnson l s are obtained for flow line l , 2) Adopt the best permutation schedule obtained in the first phase to a job-list for non-permutation scheduling, resulting in a job-list . These two kinds of job-lists are used for selecting some unscheduled jobs to be branched in the non-permutation scheduling phase.Select first X unscheduled jobs according to each of these job-lists and generate at most 2X (at least X ) child nodes by branching the selected jobs.

Branching Rules
In the permutation scheduling phase of the proposed algorithm, the ordinary branching rule which generate nodes for the r th job in a schedule at branching level r , 1, 2, , r N =  , is adopted.On the other hand, to search non-permutation schedules effectively, we adopt a branching rule for non-permutation scheduling proposed by Miyake et al. [5].Since the jobs sequenced at the r th position on machining flow lines in a non-permutation schedule are not always the same, the branching rule generates nodes at each branching level by considering a schedule only for one of machining flow lines step by step.Concretely speaking, it generates nodes for the r th job in a schedule on machining flow line l at branching level ( )  .We call this branching rule "all line search".
Furthermore, another branching rule is also proposed for more effective non-permutation scheduling.In this branching rule, find first a bottleneck machining flow line max l , where completion time of the last job is the lat- est among L machining flow lines in the current best schedule.Then fix the schedules on the machining flow lines except for max l as the current best one and generate nodes for the rth job in a schedule on machining flow line max l at branching level  .We call this branching rule "bottleneck line search".
These two kinds of branching rules for non-permutation scheduling are illustrated in , , , L i J J J J = ).

Lower Bound
Since the LSQ selects parent nodes to be branched according to the minimum lower bound rule, introducing the tight lower bound is important for getting a better performance.It is, however, very hard to define a tight lower bound directly for the MAFS problem, because a set of unscheduled jobs for each machining flow line is not always the same as these of the other lines in the non-permutation scheduling phase.Therefore, we adopt the following lower bound of a partial schedule , , L s s =  for MAFS problem [5].The lower bound is calculated by applying by a tight lower bound for max N M F F problem [7] to L kinds of the artificial three-machine flowshop problems with nominal processing times of ( ) , , ( ) l s j : a schedule consists of all jobs in ( ) ( ) ( ) ( ) ( )

Algorithm
The basic algorithm of the LSQ with bottleneck line search for the non-permutation scheduling for this MAFS problem is presented as follows: Step 1: Select a squeezing pattern and specify the values of α , X and ( ) and max F * = ∞ .
Step 2: Find a schedule with minimum makespan from among the schedules generated by using four heuristics described in 3.2.Set the job sequence of the schedule as the job-list for permutation scheduling [ ] Step 4: Generate N child nodes from ( ) NN v parent nodes by sequencing each unscheduled job for the parent node at the first position (Note that the current parent node is the root node).Go to Step 6.
Step 5: Select first Step 10: Set the incumbent best schedule as p s and the makespan of p s as max [ ]  , by the job sequence of the incumbent best schedule s * .Return to Step 3.  Step 12: Set the job sequence of the schedule obtained by applying Johnson's algorithm for each machining flow line l as the job-list for non-permutation scheduling  , and job sequence of the best permutation schedule as  .Step13: Find a machining flow line of which completion time of the last job is the latest among L machin- ing flow lines in , , , L s s s s * * * * =  and set the line number max l .
Step 14: Set ) jobs which are unscheduled at machining flow line l for each parent node according to the job-list Step 17: Generate a child node for each parent node by sequencing the job sequenced at the r th position in l s * immediately after the partial schedule for machining flow line l of the parent node.Set Step 18: Calculate the lower bound for each child node.If there exists nodes whose lower bounds are larger Step 20: Determine the number of nodes to be selected ( ) Step 21: Select the ( ) NN v nodes in nondecreasing order of lower bound from among the nodes at the current branching level as next parent nodes and return to Step 15. Step  , by the job sequence of the incumbent best schedule s * .Return to Step 14.
Step 24: The schedule s * is the solution by the proposed LSQ.In this algorithm, the Steps 1-11 present the permutation scheduling procedure and Steps 12-24 present the nonpermutation scheduling procedure.
For the case that all lines search is adopted in the non-permutation scheduling phase, Steps 13, 15 and 17 are removed from the above algorithm and Step 16 is replaced by the following Step 16'.

Experimental Conditions
To evaluate the performance of the proposed algorithm, numerical experiments are implemented under the following conditions.
One hundred instances are generated for each combination of ( ) 10,15, 20,30 N = and ( ) , and are solved through the proposed algorithm and the branch and bound algorithm with a limited computation time of one hour proposed by Miyake et al. [5].Machining times and assembly time for each job are integers generated randomly from a uniform distribution with the range of [1,100].In the proposed algorithm, the constant squeezing pattern is adopted as , according to the results of preliminary experiment and the value of X is specified as 5 X = .The following four kinds of the proposed algorithm with different settings, called LSQ(a)-(d), are implemented to solve each instance and the best schedule obtained by these four kinds of LSQ is selected as a solution by the proposed method.
All algorithms are coded in C-language and run it on a personal computer with CPU of Phenom II X6 3.20 GHz.

Results
Results of numerical experiments are summarized in Table 1 and Tables 2-4, where "ta(%)" denotes the total average relative error in makespan of the schedule obtained by each heuristic method compared with the optimal  (or best) schedule.The "best" schedule means the best of all schedules obtained by all heuristic algorithms and the one-hour-truncated branch and bound algorithm, and this term is used when the branch and bound algorithm cannot provide the "optimal" schedule within one hour.The notation " na (%)" stands for the average relative error calculated for the set of non-optimal (or non-best) schedules, "m(%)" denotes the maximum relative error for each method and "p(%)" means the fraction of instances solved (or instances for which the "best" schedules are obtained) by each method.
Table 1 shows the results of the proposed method and LSQ(a)-(d) for ( ) ( ) , 10, 2 N L = and (30, 5).As shown in Table 1, the LSQ(a) derives the best performance in terms of "ta" among the LSQ(a)-(d), though the value of "m" is higher than the others in case of ( ) ( ) , 10, 2 N L = .The performance of the proposed method, however, is superior to LSQ(a) in all terms of "ta", "na", "m" and "p".This fact indicates that the LSQ(a)-(d) do not work well individually but work well cooperatively.
Tables 2-4 show the experimental results of the proposed method and the one-hour-truncated branch and bound algorithm [5] for L = 2, 3, 5, respectively.In these tables, "LSQ" denotes the proposed method and "B & B" denotes the one-hour-truncated branch and bound algorithm, respectively.From Tables 2-4, we find that the performance of "B & B" deteriorates as the problem size increases, i.e., the fraction of instances solved by B & B is 48% for ( ) ( ) , 30,5 N L = and the maximum relative error is 6.37% for ( ) ( ) , 30,3 N L = .On the other hand, the proposed heuristic can steadily provide near-optimal schedules with high accuracy.Although the values of p, the fraction of instances solved by the proposed method, is from 77% to 96%, the maximum relative error is at most 2.98% and the total average relative errors are less than 0.2%.The average computation time to solve an instance by the proposed method is at most 40 seconds even for the case of ( ) ( ) , 30,5 N L = .

Conclusion
In this paper, a branch-and-bound-based heuristic algorithm, called "list-based squeezing branch and bound algorithm (LSQ)" is proposed for solving a machine-fixed, machining-assembly flowshop (MAFS) scheduling problem with L parallel two-machine flow lines at the machining stage and one assembly robot at the assembly stage.Since an optimal schedule to minimize makespan for this MAFS problem is not always a permutation schedule, two-phase search is implemented by using the LSQ.The first phase provides a promising permutation schedule and the second phase searches better non-permutation schedules near the permutation schedule.Results of numerical experiments show that the proposed LSQ efficiently provides optimal or near-optimal schedules with total average relative error is less than 0.2% and the maximum relative error is at most 3%.

Figure 2 .
Figure 2. Example of branching trees generated in non-permuation scheduling phase.(a)In case of all line search; (b) In case of bottleneck line search ( 2 L = , 4 N = , 2 X = ,

3 v
= .Notations used in the above equations are as follows: ( ) l J s : set of unscheduled jobs at machining flow line l , 1, 2, , l L =  .l s : a schedule consists of all jobs in ( ) makespan of l s for the nominal two-machine flowshop problem with a pair of nominal processing luv * is easily obtained by applying Johnson's algorithm to the artificial two-machine flowshop problem with nominal processing times ( the processing time of job which is sequenced at the first position in 3 lu s * .

6 :
unscheduled jobs for each parent node according to the job-list and generate X ⋅ ( )NN v child nodes from the Calculate the lower bound for each child node by using Equation (1).If there exists nodes whose lower bounds are larger than ( from the search tree.Step 7: If v N = , then select the incumbent best schedule from among the current schedules and go to Step 10.Step 8: Determine the number of nodes to be selected, that is ( )NN v .Step 9: Select the ( ) NN v nodes in non-decreasing order of lower bound from among the nodes at the current branching level v as next parent nodes and return to Step 5.
from the search tree.Step 19: If v LN = , then select the best schedule as n s from among the current jobs which are unscheduled at machining flow line l for each parent node according to 22: Set the makespan of the schedule n s as max

Table 1 .
Experimental results of LSQ(a)-(d) and the proposed method.

Table 2 .
Experimental results of the proposed method and the one-hour-truncated B & B (L = 2).

Table 3 .
Experimental results of the proposed method and the one-hour-truncated B & B (L = 3).

Table 4 .
Experimental results of the proposed method and the one-hour-truncated B & B (L = 5).