**Engineering**

Vol.06 No.13(2014), Article ID:52144,8 pages

10.4236/eng.2014.613081

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

Kazuko Morizawa

Graduate School of Engineering, Osaka Prefecture University, Osaka, Japan

Email: morizawa@eis.osakafu-u.ac.jp

Copyright © 2014 by author and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

Received 11 September 2014; 31 October 2014; accepted 23 November 2014

ABSTRACT

This paper proposes a heuristic algorithm, called list-based squeezing branch and bound algo- rithm, for solving a machine-fixed, machining-assembly flowshop scheduling problem to minimize makespan. The machine-fixed, machining-assembly flowshop consists of some parallel two-ma- chine flow lines at a machining stage and one robot at an assembly stage. Since an optimal sche- dule 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%.

**Keywords:**

Scheduling, Heuristic, Branch and Bound Algorithm, Machining-Assembly Flowshop, Makespan

1. Introduction

Recently manufacturers face to more competitive situation, because of shorten product life cycles and diversifi- cation 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 parallel, two-machine flow lines at the machining stage and one assembly robot at the assembly stage. Each of 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 flow- shop 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 algo- rithm with a limited computation time of one hour. Numerical experiments solving one hundred instances gen- erated randomly for each problem size are implemented to demonstrate that the proposed heuristic method can efficiently provide near-optimal schedules with high accuracy.

2. Scheduling Model

This paper deals with a machine-fixed MAFS model with the following conditions:

・ A machining stage consists of parallel flow lines with two non-identical machines, named, , , and an assembly stage consists of one robot (See Figure 1).

・ Each of jobs has 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.

・ Machining time of th parts of job, , , , 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.

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,. Therefore, it is sufficient to consider only one assembly schedule given by FCFS rule for each permutation/non-permutation schedule at the machining stage.

Figure 1. Scheduling model.

3. Heuristic Algorithm

3.1. 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 are selected up to according to the minimum lower bound rule and are searched in parallel. is defined as, and (the root node is set as le- vel 0). The notation stands for the number of nodes whose lower bounds are less than or equal to for, where is the minimum lower bound obtained at level and is a pre-specified parameter to control the size of so that. Any node whose lower bound is larger than the value of is not selected as a parent node for next branching. Variety of the function specifies a squeezing pattern like (constant squeezing); - (linear squeezing,); - (calm squeezing, ,); - (rapid squeezing, ,).

After parent nodes are selected at branching level, child nodes are generated from parent nodes because the number of unscheduled jobs is just for each parent node (in per- mutation 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, e.g., it is at most for branching if is proportional to N. To reduce the time complexity of the squeezing B & B, the LSQ selects some jobs from among the set of unsche- duled 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. If the job sequence of the job-list is close to an op- timal 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 for branching.

This branching procedure is called “list-based squeezing” and the B & B-based parallel search algorithm us- ing 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. 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 permuta- tion schedule obtained in the first phase. In both phases, the LSQ is implemented iteratively.

3.2. Job-List

A job-list used in the LSQ is an initial schedule for searching better schedules. In the LSQ, the job-list is ob- tained 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 me- thods are proposed for obtaining a job-list for permutation scheduling to the MAFS problem.

1) Find a machining flow line which satisfies and construct the ar- tificial two-machine flowshop problem with nominal processing times of from the orig-

inal 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 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 kinds of approximate permutation schedules for the original problem are obtained.

3) Find a machining flow line which satisfies for each,. 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 prob- lem, an approximate permutation schedule for the original problem is obtained.

4) For each, , generate at most 2L kinds of approximate permutation schedules by sequenc-

ing at the first position and followed by, , (is introduced for calculate-

ing a lower bound and in this case it consists of (N-1) jobs except for. 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 sche- dules generated by the above four heuristic methods and set the schedule as the job-list for permutation sche- duling, denoted by, , ,.

The job-lists for non-permutation scheduling are obtained as follows:

1) Consider parallel two-machine flow lines at the machining stage. By applying Johnson’s algorithm to each line, kinds of schedules are obtained for flow line, , resulting in a job-list, , , ,.

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-permu- tation scheduling phase. Select first unscheduled jobs according to each of these job-lists and generate at most (at least) child nodes by branching the selected jobs.

3.3. Branching Rules

In the permutation scheduling phase of the proposed algorithm, the ordinary branching rule which generate nodes for the th job in a schedule at branching level, , 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 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 th job in a schedule on machining flow line at branching level, , where,. 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, where completion time of the last job is the lat- est among machining flow lines in the current best schedule. Then fix the schedules on the machining flow lines except for as the current best one and generate nodes for the rth job in a schedule on machining flow line at branching level,. We call this branching rule “bottleneck line search”.

These two kinds of branching rules for non-permutation scheduling are illustrated in Figure 2(a) and Figure 2(b), respectively.

(a)(b)

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 (, , , , , , ,).

3.4. 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 for this MAFS problem [5] . The lower bound is calculated by applying by a tight lower bound for problem [7] to kinds of the artificial three-machine flowshop problems with nominal processing times of,.

(1)

where

Note that, , , and for. Notations used in the above equations are as follows:

: set of unscheduled jobs at machining flow line,.

: a schedule consists of all jobs in,.

: a schedule consists of all jobs in except for,.

: completion time at machine under a partial schedule (corresponds to in this scheme),.

: makespan of for the nominal two-machine flowshop problem with a pair of nominal processing times of (,).

: a schedule consists of all jobs in that minimize. is easily obtained by applying Johnson’s algorithm to the artificial two-machine flowshop problem with nominal processing times (,) for all jobs in.

: total processing time of all jobs in on (stands for)..

where, denotes the processing time of job which is sequenced at the first position in.

.

.

3.5. 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, and,. Set and.

Step 2: Find a schedule with minimum makespan from among the schedules generated by using four heuris- tics described in 3.2. Set the job sequence of the schedule as the job-list for permutation scheduling,.

Step 3: Set and.

Step 4: Generate child nodes from 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 (, if) unscheduled jobs for each parent node according to the job-list and generate child nodes from the parent nodes. Set.

Step 6: Calculate the lower bound for each child node by using Equation (1). If there exists nodes whose lower bounds are larger than, remove them from the search tree.

Step 7: If, then select the incumbent best schedule from among the current nodes re- presenting the corresponding schedules and go to Step 10.

Step 8: Determine the number of nodes to be selected, that is.

Step 9: Select the 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.

Step 10: Set the incumbent best schedule as and the makespan of as. If, then go to Step 11. Otherwise, go to Step 12.

Step 11: Set and. Renew the job-list, , by the job sequence of the incumbent best schedule. Return to Step 3.

Step 12: Set the job sequence of the schedule obtained by applying Johnson’s algorithm for each machining flow line 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 machin- ing flow lines in and set the line number.

Step 14: Set, , and.

Step 15: If, then go to Step 17.

Step 16: Select first (, if) jobs which are unscheduled at machining flow line for each parent node according to the job-list. Generate child nodes from each parent node. Set. Go to Step 18.

Step 17: Generate a child node for each parent node by sequencing the job sequenced at the th position in immediately after the partial schedule for machining flow line of the parent node. Set.

Step 18: Calculate the lower bound for each child node. If there exists nodes whose lower bounds are larger than, remove them from the search tree.

Step 19: If, then select the best schedule as from among the current nodes repre- senting the corresponding schedules and go to Step 22. Otherwise, set. If, then set and.

Step 20: Determine the number of nodes to be selected.

Step 21: Select the nodes in nondecreasing order of lower bound from among the nodes at the cur- rent branching level as next parent nodes and return to Step 15.

Step 22: Set the makespan of the schedule as. If, then go to Step 23. Otherwise, go to Step 24.

Step 23: Set and. Renew the job-list, , , by the job sequence of the incumbent best schedule. Return to Step 14.

Step 24: The schedule 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 non- permutation 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’.

Step 16’: Select first (, if) jobs which are unscheduled at machining flow line l for each parent node according to and,. Generate at most (at least) child nodes from each parent node. Set. Go to Step 18.

4. Numerical Experiments

4.1. Experimental Conditions

To evaluate the performance of the proposed algorithm, numerical experiments are implemented under the fol- lowing conditions.

One hundred instances are generated for each combination of 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 squeez- ing pattern is adopted as, , according to the results of preliminary experiment and the value of is specified as. The following four kinds of the proposed algorithm with different set- tings, 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.

・ LSQ(a): The LSQ with = 0.00 and “all line search” for non-permutation scheduling;

・ LSQ(b): The LSQ with = 0.00 and “bottleneck line search” for non-permutation scheduling;

・ LSQ(c): The LSQ with = 0.05 and “all line search” for non-permutation scheduling;

・ LSQ(d): The LSQ with = 0.05 and “bottleneck line search” for non-permutation scheduling.

All algorithms are coded in C-language and run it on a personal computer with CPU of Phenom II X6 3.20 GHz.

4.2. 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

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).

(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 “ (%)” 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 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. 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 and the maximum relative error is 6.37% for. 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.

5. Conclusion

In this paper, a branch-and-bound-based heuristic algorithm, called “list-based squeezing branch and bound al- gorithm (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%.

References

- Sun, X., Morizawa, K. and Nagasawa, H. (2003) Powerful Heuristics to Minimize Makespan in Fixed, 3-Machine, As- sembly-Type Flowshop Scheduling. European Journal of Operational Research, 146, 498-516. http://dx.doi.org/10.1016/S0377-2217(02)00245-X
- Johnson, S.M. (1956) An Optimal Two- and Three-Stage Production Scheduling with Setup Time Included. Naval Re- search Logistics Quarterly, 1, 61-68. http://dx.doi.org/10.1002/nav.3800010110
- Lee, C.-Y., Cheng, T.C.E. and Lin, B.M.T. (1993) Minimizing the Makespan in the 3-Machine Assembly-Type Flow- shop Scheduling Problem. Management Science, 39, 616-625. http://dx.doi.org/10.1287/mnsc.39.5.616
- Potts, C.N., Sevast’janov, S.V., Strysevich, V.A., Van Wassenhove, L.N. and Zwaneveld, C.M. (1995) The Two-Stage Assembly Scheduling Problem: Complexity and Approximation. Operations Research, 43, 346-355. http://dx.doi.org/10.1287/opre.43.2.346
- Miyake, Y., Morizawa, K. and Nagasawa, H. (2002) A Branch-and-Bound Algorithm for Minimizing Makespan in a Machine-Fixed, Machining-Assembly Flowshop with Parallel Flowshop Lines. Journal of Japan Industrial Management Association, 53, 292-301.
- Nagasawa, H. and Morizawa, K. (2002) Heuristic Scheduling in Machining-Assembly Flowshop with Parallel Two- Machine Flow Lines at Machining Stage. Journal of Japan Industrial Management Association, 53, 37-46.
- Morizawa, K., Sun, X. and Nagasawa, H. (1998) Squeezing Branch and Bound Algorithm and Its Application to an N/M/F/F Max Problem. Proceedings of 1998 Japan USA Symposium on Flexible Automation, Otsu, 12-15 July 1998, 913-916.
- Morizawa, K., Sun, X. and Nagasawa, H. (2003) Squeezing Branch and Bound Algorithm for the Machine-Fixed, Ma- chining-Assembly Flowshop Scheduling Problem. International Journal of Manufacturing Technology and Management, 5, 20-27. http://dx.doi.org/10.1504/IJMTM.2003.002526
- Dannenbring, G.D. (1977) An Evaluation of Flowshop Sequencing Heuristics. Management Science, 23, 1174-1182. http://dx.doi.org/10.1287/mnsc.23.11.1174