A new lower bound for the flow shop group scheduling problem

A new lower bound for the flow shop group scheduling problem

Computers & Industrial Engineering 41 (2001) 151±161 www.elsevier.com/locate/dsw A new lower bound for the ¯ow shop group scheduling problem Jeffrey...

93KB Sizes 0 Downloads 53 Views

Computers & Industrial Engineering 41 (2001) 151±161

www.elsevier.com/locate/dsw

A new lower bound for the ¯ow shop group scheduling problem Jeffrey Schaller Department of Business Administration, Eastern Connecticut State University, 83 Windham St., Willimantic, CT 06226-2295, USA Accepted 27 June 2001

Abstract This paper presents a new lower bound that is used to evaluate nodes in a branch and bound procedure for the ¯ow shop group scheduling problem. This lower bound is compared to the one developed by [CIRP Annals, 25 (1976) 419] and tested on small randomly generated problems. A two-phased heuristic procedure is proposed which uses branch and bound in the ®rst phase to develop a family sequence and then uses an interchange procedure in the second phase to develop job within family sequences. The heuristic procedure is tested on larger randomly generated problems. q 2001 Elsevier Science Ltd. All rights reserved. Keywords: Production scheduling; Sequencing; Multiple machine

1. Introduction and problem description Many manufacturers have implemented cellular layouts in order to reduce setup costs, leadtimes, WIP inventory costs, and material handling costs. Manufacturing cells usually consist of a group of machines that are dedicated to produce a speci®c number of part families. A part family is a set of parts that have similar requirements in terms of tooling, setups and operations sequences. Often part families are assigned to a cell based on operations sequences so the cell is a ¯ow shop but the part families produced by the cell require different tooling. These different tooling requirements require that time taken to setup the cell when a new family of parts is to be produced. Since parts are assigned to families based on tooling and setup requirements, there is usually a negligible or minor setup to change from one part to another within a family. Because there is a major setup between part families, there is an advantage to process parts belonging to the same family as a group. This is a key difference between the cell scheduling problem and the traditional ¯ow shop scheduling, problem. In order to address the issue of major setups between families, a job sequence within each family as well as a family E-mail address: [email protected] (J. Schaller). 0360-8352/01/$ - see front matter q 2001 Elsevier Science Ltd. All rights reserved. PII: S0 3 6 0 - 8 3 5 2 ( 0 1 ) 0 0 04 9 - 3

152

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

sequence is developed. Since, this problem is an extension of the traditional ¯owshop scheduling problem, a commonly chosen objective is to ®nd job sequences within each family and a family sequence which results in a minimum makespan (makespan is de®ned as the difference between the completion time of the last job of the last family processed on the last machine and the start time of the ®rst job of the ®rst family processed on the ®rst machine). Most research in the area of ¯ow shop scheduling has concentrated on the development of static permutation schedules. A permutation schedule is a schedule where the order of job processing is the same on all machines. Baker (1974) has shown that permutation schedules are dominant in the two machine case and under certain conditions in the three machine case. Johnson, 1954 developed an algorithm which minimizes the makespan for the two-machine case and was extended to the three-machine case under certain conditions. There is no guarantee that a permutation schedule will be optimal when the shop size is greater than or equal to four. Baker (1990) extends Johnson's algorithm to group scheduling for the two machine ¯ow shop. In this problem, there are several groups of jobs to be scheduled and there is a setup on each machine for each group of jobs. The setup times are sequence independent and two cases are considered: nonanticipatory and anticipatory. First, the jobs within each group are ordered according to Johnson's rule. The algorithm then calculates an initial idle time (I1j) and a ®nal idle time (I2j) for each group …j ˆ group number† based on the ordering of jobs for the group. The initial idle time for each group is calculated by scheduling the group of jobs and then right shifting all the jobs on machine two to avoid inserted idle time. The time until when the setup on the second machine must begin is the initial idle time. The ®nal idle time is the amount of time from when the group is completed on machine one until when the group is completed on machine two. Groups are then sequenced according to the following rule: group i precedes group j if min (I1i, I2j) , min (I1j, I2i). Hitomi and Ham (1976) extended the integer programming model for ¯ow shop scheduling to include group scheduling in a ¯ow-line manufacturing cell. A branch and bound procedure is used to solve the integer program. Each node of the branch and bound tree represents an initial partial sequence. This branch and bound procedure generates optimal permutation sequences but is restricted to small problems due to high requirements for computation time. The procedure has also been used to obtain a lower bound on the makespan of an optimal permutation sequence. The lower bound was then used to evaluate the effectiveness of heuristic procedures (Vakharia and Chang (1990)). In this paper a new lower bound for the makespan of the completion of an initial partial sequence is presented. This lower bound is tighter than the lower bound used in the procedure in Hitomi and Ham (1976). This new lower bound is used in the branch and bound procedure developed in Hitomi and Ham (1976). The new lower bound and the lower bound in Hitomi and Ham (1976) are tested by using the branch and bound procedure on small randomly generated problems. The performance measure used to evaluate the lower bounds is cpu time to optimally solve the problems. A heuristic procedure is proposed for use on larger problems. The heuristic procedure has two phases. In phase one, a branch and bound procedure is used to develop a family sequence. In phase two, an interchange procedure is used to develop job sequences within each family. This heuristic procedure is tested on larger randomly generated problems. The procedure is tested using both lower bounds in phase one. The performance measures used to evaluate the heuristic procedure are: (1) cpu time required to obtain solutions; and (2) makespans of the solutions.

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

153

2. Lower bounds In this section two lower bounds on the makespan of any completion of an initial partial permutation sequence are given. The following notation is used by these lower bounds. i, j, m are the indexes used for families, jobs, and machines. an initial partial family sequence which has r as the last family scheduled. pr 0 the set of families not included in pr. pr s rs a partial job sequence for the family r. s 0rs the set of jobs in family r not included in s rs M number of machines. F number of families. number of jobs in family i. Ni the set of jobs in family i. Ji Setup time of family i on machine m. Sim processing time of job j in family i on machine m. Pijm 0 the total set of jobs that have not been scheduled yet. J rs Cpr sr m the completion time of the initial partial sequence prs rs on machine m. Cpr s 0r0 m the completion time of the setup for family r on machine m for the initial partial sequence pr. MLm …pr srs † a lower bound on the completion time of family r for the initial partial sequence prs rs on machine m. The ®rst lower bound was developed by Hitomi and Ham (1976). Let LBHH (prs rs) be the lower bound on the makespan of any completion of the initial partial sequence prs rs using the method in Hitomi and Ham (1976). This lower bound is calculated as: 8 0 1 !9 Ni M < = X X X @Sim 1 LBHH …pr srs † ˆ Max MLm …pr srs † 1 …1† Pijm A 1 min0 Pijh ; 1#m#M : i;jeJ rs 0 jˆ1 hˆm 1 1 iep r

where MLm …pr srs † ˆ Cpr ;srs m 1

X jes 0rs

Prjm

…2†

The ®rst term in Eq. (1) is a lower bound for the completion of family r on machine m and is equal to the completion time of the last job sequenced on machine m plus the processing times on machine m of the jobs in family r that have not yet been sequenced. The second term is the sum of the processing times and setup times on machine m for the families not yet sequenced. The last term represents the minimum additional time required to complete processing on machine M after processing is completed on machine m. The new lower bound considers, in addition to the elements considered in LBHH, the inserted idle time that must occur for the current family being scheduled. The following additional notation is required to calculate the lower bound for each node. LBS(prs rs) is a lower bound on the makespan of any sequence which has prs r as an initial partial family sequence. MSnm …J 0srs † is the minimum processing time required by any job in the set J 0srs on machines n through

154

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

m 2 1: If the ®rst job of the set J 0srs is to start processing on machine n at time t then the earliest time that the ®rst job of the set J 0srs can start processing on machine m is t 1 MSnm …J 0srs †: (m 2 1 ) X 0 Prjk MSnm …J srs † ˆ min for all n ˆ 1; ¼; M 2 1; and m ˆ n 1 1; ¼; M: 0 jeJ srs

kˆn

…3† MEmn …J 0srs †

J 0srs

is the minimum processing time required by any job in the set on machines m 1 1 0 through n. If the last job of the set J srs ®nishes processing on machine m at time t then the earliest time that the set J 0srs can ®nish processing on machine n is t 1 MEmn …J 0srs †: ( n ) X for all m ˆ 1; ¼; M 2 1; and n ˆ m 1 1; ¼; M: MEmn …J 0srs † ˆ min Prjk 0 jeJ srs

kˆm 1 1

…4† MMmn …J 0srs † is the minimum amount of time required after the ®rst job in the set J 0srs has started on machine m to complete the last job in the set J 0srs on machine n. This value is calculated by using a procedure described in Baker (1995). This procedure provides a lower bound on the makespan for machines m through n. In this procedure, two arti®cial machines are created. The arti®cial machines are created by adding the processing time of each job in the set J 0srs for machines m 1 1 through n 2 1 to each job's processing time on machine m and machine n. Johnson's algorithm is then used to solve the arti®cial problem and the makespan using the arti®cial times is calculated. Let MM 0mn …J 0srs † be the makespan of the arti®cial problem for jobs in the set J 0srs and machines m and n. MMmn …J 0srs † ˆ MM 0mn …J 0srs † 2

X

nX 21

jeJ 0srs kˆm 1 1

Prjk for all

m ˆ 1; ¼; M 2 1;

and

…5†

n ˆ m 1 1; ¼; M: To calculate the lower bound on the makespan for the completion of an initial partial sequence prs rs the following steps are done. Step 1. Let

  0 MSTm …pr srs † ˆ max Cpr ;srs m ; max {MSTn …pr srs † 1 MSnm …J srs †} n,m

for m ˆ 1; ¼; M:

…6†

Step 2. Let

9 8 = < X Prjm ; max {MSTn …pr srs † 1 MMnm …J 0srs †} for m MENm …pr srs † ˆ max MSTm …pr srs † 1 ; : n,m 0 jeJ srs

ˆ 1; ¼; M: …7†

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

155

Step 3

  0 MLm …pr srs † ˆ max MENm …pr srs †; max {MENn …pr srs † 1 MEnm …J srs †} n,m

for

…8†

m ˆ 1; ¼; M: Step 4 LBS …pr srs † ˆ Max

8 <

1#m#M :

MLm …pr srs † 1

X kep 0r

0 @Skm 1

X jeJk

9 = Pkjm A 1 min0 {MEnM …Jk †} ; k ep r 1

…9†

Steps 1±3 calculate a lower bound for the completion time of the current family being scheduled on each machine. Step 1 calculates a lower bound on the time the next job will start on each machine. For machine m this lower bound is equal to the maximum of the completion time of the initial partial sequence prs rs on machine m and the completion time of the initial partial sequence prs rs on machine n plus the processing time of the next job to be scheduled on machines n through m 2 1 for each machine n , m: Since we do not know which job will be scheduled next we use the job belonging to the set of unscheduled jobs in family r …J 0srs † that has the minimum processing time on machines n through m 2 1…MSnm …J 0srs †† for each machine n , m: Step 2 uses the results of step 1 to calculate a lower bound on the completion time of family r for each machine. For machine m the lower bound is equal to the maximum of the lower bound on the starting time for the next job scheduled on machine m (calculated in Step 1) plus the time to process the jobs in family r that have not yet been scheduled on machine m and the lower bound on the starting time for the next job on machine n plus a lower bound on the makespan to process the jobs not yet scheduled in the current family on machines n through m for each machine n , m: Step 3 attempts to strengthen the lower bound calculated for each machine in step 2. It does this by setting the lower bound for machine m equal to the maximum of the lower bound calculated for machine m in step 2 or the lower bound calculated in step 2 for each machine n , m plus the processing time of the job scheduled last in family r on machines n 1 1 through m. Since we do not know which job will be scheduled last in family r we use the job belonging to the set of unscheduled jobs in the family that has the minimum processing time on machines n 1 1 through m…MEnm …J 0srs ††: Step 4 calculates a machine based lower bound for each machine on the makespan for completion of the initial partial sequence prs rs. Step 4 then takes the maximum of these lower bounds. For each machine m the setup time and processing times of the jobs on machine m for each family in the set of unscheduled families is added to the lower bound for the completion of family r on machine m. This represents a lower bound on the time any schedule with an initial schedule prs rs could be completed on machine m. To this time the time to process the last job scheduled on machines m 1 1 through M is added. Since we do not know which job will be scheduled last we take the job among the jobs in the unscheduled families that has the minimum processing times on machines m 1 1 through M. The following theorem states that given an initial partial sequence prs rs, LBS(prs rs) will always be at least as strong as LBHH(prs rs).

156

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

Theorem. Let prs rs be an initial partial sequence. Then LBS …pr srs † $ LBHH(pr srs †. For the proof of Theorem 1 see Appendix A.

3. Optimal branch and bound procedures 3.1. Description of procedures In this section two branch and bound procedures which provide a lower bound on the makespan of an optimal permutation sequence are described. The ®rst procedure was developed by Hitomi and Ham (1976) and extends the procedure used for ¯owshop scheduling to group scheduling. This procedure is referred to as OPTA. Since a sequence of families and sequences of jobs within each family are required, two types of nodes are used: family nodes and job nodes. As branching works down the tree ®rst, a family node is created for each family. Then job nodes are created until a complete job sequence is created for the family represented by the preceding family node. Then family nodes are created for each family that has not been scheduled. Suppose branching is to occur on a family node which represents family r being scheduled, then a job node is created for each job in family r. Suppose branching is to occur on a job node, which represents the scheduling of job s of family r, then a job node for each unscheduled job of family r is created. If all the jobs of family r have already been scheduled then a family node for each unscheduled family is created. To determine if branching is to occur for a node a lower bound on the makespan for the completion of the schedule is calculated using the LBHH lower bound. If the lower bound is less than the incumbent value then branching occurs unless all families and jobs have been scheduled. If all families and jobs have been scheduled then the incumbent value is set equal to the lower bound and the node is fathomed. If the lower bound is greater than or equal, the incumbent value then the node is fathomed. To determine which node to branch on next a best depth strategy is used. With this approach, the nodes on the lowest level of the branch and bound tree are candidates for the next node to branch. The node among these candidates with the best lower bound is chosen. The second procedure is referred to as OPTB. This procedure is the same as OPTA except the LBS lower bound is used to determine whether to fathom a node or not. 3.2. Test of procedures To test the procedures described in this section, multiple problems of various sizes were randomly generated. The details for these data sets are as follows. (1) Thirty problems for each of the following values for number of families (F), number of machines (M), and number of jobs in each family (Ni) were generated (the number of jobs is the same in each family). (a) F ˆ 3; M ˆ 3; Ni ˆ 3; (b) F ˆ 3; M ˆ 4; Ni ˆ 5; (c) F ˆ 4; M ˆ 4; Ni ˆ 4: (2) For each problem, the processing time for a job at each machine was generated randomly using a uniform distribution of parameters [1, 10]. (3) For each problem, the time to set-up for each family at each machine was generated randomly using a uniform distribution with the following three sets of parameter values. (a) [1,20], (b) [1,50], (c) [1,100]. Each procedure was used on each problem and the processing time required to ®nd an optimal solution

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

157

Table 1 Average CPU time in seconds to obtain an optimal solution Problem size

3£3£3 4£4£4 3£4£5

Setup distribution

Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100]

Procedure OPTA

OPTB

0.11 0.12 0.11 61.39 172.09 929.12 155.44 215.09 1046.66

0.05 0.05 0.05 26.16 31.47 68.98 16.74 30.20 88.01

was recorded. Processing was done using a PC with an Intel Pentium processor. The results of this test are shown in Table 1. The ®rst column shows the problem size in terms of number of families, number of machines, and number of jobs per family. Column two shows the setup distribution used for the problem set. Columns three and four show the average CPU time required by each procedure to solve the problems in each problem set. The results in this table show that the procedure OPTB, which uses the new lower bound, was able to solve all the problem sets faster. This indicates the effectiveness of using the tighter lower bound. 4. Heuristic procedures 4.1. Description of procedures In this section a heuristic procedure is described. This procedure has two phases. The ®rst phase uses a branch and bound procedure to ®nd a family sequence. The second phase then uses an interchange procedure to develop job within family sequences for each family. In the branch and bound phase each node in the branch and bound tree represents an initial partial family sequence. A lower bound is calculated for each node. If the lower bound is greater than or equal to the incumbent value the node is fathomed, otherwise a node is created for each family not included in the initial partial sequence. Since the actual completion time on each machine for an initial family sequence is not known the completion time of the last family in the sequence on each machine is replaced by a lower bound on the completion time (MLm(pr)). If a complete family sequence is generated and its lower bound is less than the incumbent value then the incumbent value is updated. It should also be noted that when the branch and bound phase of the procedure terminates the incumbent value is a lower bound on the makespan of an optimal permutation sequence. At the conclusion of this branch and bound procedure a sequence of families exists. To obtain a job sequence within each family the interchange procedure outlined in Appendix A.1 is used. Both lower bounds described in Section 2 are used in the branch and bound phase. The procedure referred to as HEURA uses the LBHH lower bound and the procedure referred to as HEURB uses the LBS lower bound.

158

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

Table 2 Average CPU times in seconds Problem size

6£6£6 8£8£8 10 £ 10 £ 10

Setup distribution

Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100]

Procedure OPTA

OPTB

HEURA

HEURB

1706.53 1740.06 1740.03 1800.00 1800.00 1740.28 1800.00 1800.00 1800.00

1649.69 1740.01 1740.01 1800.00 1740.11 1740.02 1800.00 1800.00 1800.00

0.40 0.39 0.37 2.71 3.25 4.66 80.15 97.61 88.40

0.44 0.45 0.41 6.24 4.12 4.14 51.82 73.63 40.87

4.2. Test of procedures To test the procedures described in this section, multiple problems of various sizes were randomly generated. The problem sizes used in this test were larger than the problem sizes used in the test described in Section 3.2. The details for these data sets are as follows. (1) Thirty problems for each of the following values for number of families (F), number of machines (M), and number of jobs in each family (Ni) were generated (the number of jobs is the same in each family). (a) F ˆ 6; M ˆ 6; Ni ˆ 6; (b) F ˆ 8; M ˆ 8; Ni ˆ 8; (c) F ˆ 10; M ˆ 10; Ni ˆ 10: The distributions used for generating processing times for the jobs and the setup times are the same as the ones used in the test described in Section 3.2. The procedures described in Section 4.1 were used on each problem in each problem set. The CPU time required by each procedure and the makespan of the solution generated by each procedure were recorded for each problem. The optimal procedures described in Section 3.1 were also used on these problem sets. These procedures were terminated after 30 min of processing on a problem if the problem was not solved. The CPU time used and the makespan of the best solution found by each of these procedures was also, recorded for each problem. Lower bounds for the optimal makespan for each problem were also obtained. At the conclusion of the branch and bound phase of the HEURB procedure, the lower bound was recorded for each problem. The OPTA and OPTB procedures were also run for a maximum of 30 min on each problem with a branching strategy that selected the node with the best lower bound. The lower bounds found by these procedures were also recorded for each problem and the largest lower bound found by any of the procedures is used as a basis of comparison for the solutions generated by each of the procedures. Table 2 shows how much CPU time was required on the average by each procedure for each problem set. The ®rst two columns show the problem size and setup distribution of the problem set and columns three±six show the average CPU time in seconds used by each procedure on each problem set. The OPTA and OPTB procedures used considerably more CPU time than the HEURA and HEURB procedures. The HEURA and HEURB procedures used less than 100 s per problem on all problem sets while the OPTA and OPTB procedures used more than 1684 s per problem on every problem set. The

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

159

Table 3 Average% of procedure solution over LB Problem size

6£6£6 8£8£8 10 £ 10 £ 10

Setup distribution

Procedure

Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100]

OPTA

OPTB

HEURA

HEURB

5.63 5.94 6.40 8.63 9.93 8.60 9.79 10.50 9.84

2.15 2.48 2.88 5.71 5.40 5.24 7.53 7.26 6.86

5.97 7.85 9.25 8.16 10.22 11.72 8.53 10.87 11.08

2.19 1.00 0.43 2.86 2.09 1.12 3.97 2.89 1.67

OPTA procedure used the maximum time allowed on every problem in ®ve of the nine problem sets and the OPTB procedure used the maximum time allowed on every problem in four of the nine problem sets. In Table 3 the makespan of the solution found by each procedure is compared to the lower bound for each problem. The ®rst two columns of Table 3 show the problem size and setup distribution of the problem set and columns three±six shows the average percentage the makespans generated by each procedure exceed the lower bound for each problem set. The two procedures that use the new lower bound (OPTB and HEURB) performed better than the procedures that use the lower bound developed in Hitomi and Ham (1976) (OPTA and HEURA) on all problem sets. The makespans generated by OPTA and HEURA were above 5% on all problem sets. The HEURB procedure performed best on eight of the nine problem sets and generated makespans that were within 4% of the lower bounds for all problem sets. On the 6X6X6 problem set with the small setup distribution the OPTB procedure was slightly better (2.15 vs 2.19%). Table 4 compares the makespans of the solutions generated by each procedure to the best makespan Table 4 Average% of procedure solution over best solution found Problem size

Setup distribution

Procedure OPTA

6£6£6 8£8£8 10 £ 10 £ 10

Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100] Small [1, 20] Medium [1, 50] Large [1, 100]

OPTB

HEURA

HEURB

%

No

%

No

%

No

%

No

4.14 5.06 6.07 5.78 7.76 7.42 5.62 7.41 8.05

4 1 6 1 1 1 0 0 0

0.71 1.63 2.56 2.92 3.31 4.10 3.46 4.26 5.12

19 7 7 6 1 3 1 0 1

4.49 6.97 8.91 5.31 8.04 10.51 4.42 7.77 9.27

1 2 1 0 0 0 0 0 0

0.75 0.16 0.11 0.15 0.07 0.03 0.02 0.00 0.01

15 24 25 25 29 28 29 30 29

160

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

found by any of the procedures. There are two columns for each procedure in this table. The ®rst column shows the average percent that the makespans of the solutions found by the procedure were above the best solution found for each problem set. The second column shows the number of times each procedure found the best solution for each problem set. This table also shows that the two procedures that use the new lower bound (OPTB and HEURB) performed better than the procedures that use the lower bound developed in Hitomi and Ham (1976). The HEURB procedure was best on eight of the nine problem sets and had solutions that were within 1% on average of the best solution found for all the problem sets. The HEURB procedure generated the best solution for 234 of the 270 problems (86.7%). None of the other procedures were nearly as consistent. 5. Conclusions In this paper a new lower bound for the ¯ow shop group scheduling problem was presented and tested. It was shown that small problems were solved faster when the new lower bound was used in a branch and bound procedure. A new heuristic procedure ®rst uses branch and bound to develop a family sequence and then uses an interchange procedure to ®nd job within family sequences was also presented. It was shown that if the new lower bound is used in the branch and bound phase of the heuristic procedure that solutions with good makespans could be generated relatively quickly on large problem sizes. This is not the case if the lower bound developed in Hitomi and Ham (1976) is used in the heuristic procedure. One possible future direction is to develop and test a procedure which uses the LBs lower bound and also branches ®rst on families until complete family sequences are generated and then a second phase which branches on jobs within each family is used to develop a ®nal solution. Appendix A Proof of Theorem 1  P 21 Proof. LetPA 0m ˆ max Cpr srs m ; maxn,m {A 0n 1 minjeJ 0srs m kˆn Prik } ; let Bm ˆ jeJ 0srs Prjm ; let Dm ˆ Cpr srs m 1 Bm ; let D 0m ˆ max A 0m 1 Bm ; maxn,m {A 0n 1 MMPmn …J 0srs †} ; max D 0m ; max {F 0n 1 minjeJ 0srs m let F 0m ˆ P kˆn 1 1 Prjk ; Pn,m Ni 1 jˆ1 Pijm ; let Rm ˆ ieG 0r SimP let Em ˆ mini; jeJ 0rs M kˆm 1P 1 Prjk; ; let E 0m ˆ miniep 0r minjeJi M kˆm 1 1 Prjk; ; LBHH …pr srs † ˆ maxmˆ1;¼;M {Dm 1 Rm 1 Em }; and LBS …pr srs † ˆ maxmˆ1;¼;M {F 0m 1 Rm 1 E 0m }: A 0m $ Cpr srs m ) D 0m $ Dm ; since F 0m $ D 0m then F 0m $ Dm E 0m $ Em since p 0r # J 0rs therefore for any m F 0m 1 Rm 1 E 0m $ Dm 1 Rm 1 Em : This ) LBS …pr srs † $ LBHH …pr srs †: A Appendix A.1. Interchange procedure Step 0: Initialization.

J. Schaller / Computers & Industrial Engineering 41 (2001) 151±161

161

0A. Set the initial job sequence for each family equal to the order of the job data for the problem. 0B. Set minmake ˆ the makespan of the initial sequences. 0C. Set found ˆ 0. Step 1. Job interchange. for i: ˆ 1 to F do for k: ˆ 1 to Ni 2 1 do for j: ˆ 2 to Ni do interchange jobs in positions k and j of family i`s sequence; calculate the makespan of the resulting schedule; if makespan , minmake then minmake: ˆ makespan and found: ˆ 1 else reverse the interchange of jobs in positions k and j of family i's sequence; Step 2. If found ˆ 1 then repeat step 1 else stop. References Baker, K. R. (1974). Introduction to sequencing and scheduling, New York: Wiley. Baker, K. R. (1990). Scheduling groups of jobs in the two-machine ¯ow shop. Mathematical and Computer Modelling, 13 (3), 29±36. Baker, K. R., (1995). Elements of sequencing and scheduling. Hitomi, K., & Ham, I. (1976). Operations scheduling for group technology applications. CIRP Annals, 25 (1), 419±422. Johnson, S. M. (1954). Optimal two and three stage production schedules with set-up times. Naval Research Logistics Quarterly, 1 (1), 61±68. Vakharia, A. J., & Chang, Y. L. (1990). A simulated annealing approach to scheduling a manufacturing cell. Naval Research Logistics, 37, 559±577.