Heuristics for production scheduling problem with machining and assembly operations

Article history: Received 30 June 2011 Received in revised form September, 01, 2011 Accepted 01 September 2011 Available online 11 September 2011 This work deals with production scheduling problem in an assembly flow shop, having parts machining followed by their subsequent assembly operations. Limited heuristics available on the problem, are based on unrealistic assumption that every part is processed on all machines. In this paper, two heuristics NEH_BB and Disjunctive are proposed to solve assembly flow shop scheduling problem where every part may not be processed on each machine. Exhaustive computational experiments are conducted with 60 trials each. The methods are found to be applicable to large size problems. The objective functions used for comparison are makespan and computational time. Disjunctive method takes very less computational time as compared to NEH_BB and hence claimed to be the better among available approaches for finding solution in assembly flow shop problems. © 2012 Growing Science Ltd. All rights reserved


Introduction
A production scheduling problem deals with processing j jobs or parts on w machines and determining the sequence and timing of each operation on each machine such that some given performance criterion is maximized or minimized.Most of the production scheduling problem in the literature considers only machining operations in job shop or flow shop manufacturing system.However, manufacturing systems, where several products are produced and each product is made from several parts and/or subassemblies that require a series of machining operations in first stage and assembly operations at later stage are common in many industries.Here, the tasks required to complete a product (final assembly) consist of both machining and assembly operations.A final assembly or sub assembly may have to wait not only for a machine but also for its mating part.This joint consideration increases the complexity of assembly shop scheduling problems when compared to scheduling in the general shop.Because of the computational complexity and the fact that the generation of optimal schedules more likely requires excessive computational time, independent of the methodology, the pursuit of `pure' optimal scheduling methods is impractical.This means that the primary challenge faced by researchers is to develop efficient solution methodologies that generate near-optimal solutions.This work is an attempt to solve scheduling problem of such systems.
Majority of production shop scheduling problems falls into two classes i.e. flow shop and job shop scheduling.In flow shops, operations on the jobs are processed in fixed order on a set of machines arranged, sequentially.On the other hand, the job shop problem involves a set of jobs with no clear flow pattern and the job visits a set of machines in any order (Pinedo, 2002).The production scheduling problem for these two classes with machining and assembly operations are accordingly named as assembly job shop problem (AJSP) and assembly flow shop problem(AFSP).
In AJSP, the operations of a part are carried out serially on one set of machines by following the precedence relationship, while those of another part belonging to the same assembly may be carried out in parallel on another set of machines.The performance of the system is affected mainly by product structure complexity (single-level, multi-level assembly), dispatching rule and scheduling method.Fry et al. (1989) and Philipoon et al. (1991) investigated the performance of some dispatching rules to minimise mean flow time or mean tardiness.Doctor et al. (1993) developed a heuristic algorithm to solve the model.The capability of the algorithm was limited to assembly jobs with no more than three levels of assemblies.McCoy and Egbelu (1998) and Park and Kim (1999) modeled the problem using mathematical programming approach.They developed the heuristic solution procedures considering two-level assembly product structure.Moon-Won and Kim (2000) developed mixed integer linear programming model and a branch and bound algorithm.Results of computational experiments using two-level product structure on randomly generated test problems showed that the B&B algorithm found optimal solutions of problems of moderate sizes in a reasonable amount of computation time.Extensive simulation study for assembly job shops with different levels of shop utilization, product structure up to three-level and job due-date settings, has been carried out (Thaigrajan, 2005).It evaluates all the dispatching rules under consideration with respect to a number of measures of performance.Lu et al. (2011) considered single level product structure and experimented on the application of order review/release (ORR) combined with dispatching rules in optimizing due date and flow time related performance measures.It shows incorporation of ORR control into the existing control of dispatching rules is highly important for better performance of assembly job shop control.Pereira and Santoro (2011) proposed a new heuristic method named integrative scheduling simulation, which was proposed based on the use of sequencing rules.It investigates the effect of product structure, scheduling method and sequencing rules on the system performance.
Most of the available literature on AFSP considers the situation, where each part of a product is first processed concurrently on each of m independently operating machines; these machines constitute the first stage of the problem.In the second stage, an assembly machine assembles the m prepared parts to form the product.Lee et al. (1993) considered n products, each product being assembled only from two types of parts.An approximate solution is obtained by using three modified Johnson heuristics and branch and bound method.The same approach is adopted by Potts et al. (1995) for assembly of personal computers.Hariri and Potts (1997) developed the problem with computational experience.Koulamas and Kyparisis (2001) and Hatami et al. (2010) introduced an intermediate transportation stage in between the machining and assembly stage.Hatami et al. (2010) also considered sequence dependent set up time and transfer time.Xi et al. (2003) proposed a series of heuristic algorithms to find the optimal solution for problem similar to Lee et al. (1993).Tozkapan et al. (2003) developed a branch and bound procedure with an objective of minimizing the total weighted flowtime.The problems with respect to maximum lateness, mean completion time and weighted sum of makespan are addressed by Allahverdi and Fawaz (2006;2007;2008;2009).Torabzadeh and Zandeih (2010) found cloud theory based simulated annealing algorithm performing better than simulated annealing algorithm of Allahverdi and Fawaz (2008).However, little work on AFSP deals with situation closer to industrial application, where all parts are processed serially through the same set of machines in the first stage and machines in the next stage assemble all these parts into a final product.Park and Kim (1999) introduced mathematical model and suggested heuristic solution procedure to solve two-level assembly problem with one machine each in three stages namely machining, subassembly and assembly.Yokoyama (2001) developed an integrated scheduling model and obtained a solution using a branch and bound method.Effectiveness of method is demonstrated by performing computational experiments up to ten products, total 150 parts, three machines in the first stage and one machine each in later subassembly and assembly stage.This model is further extended for computations on maximum 25 products and total 625 parts considering two machines in the first stage and one in the second stage (Yokoyama & Santos, 2005).Similar work, considering setup time with four machines in the first stage and one machine in the second stage is also reported (Yokoyama, 2008).
This indicates limited research is available on this most realistic area of AFSP, where each part is processed on multiple machines in the first stage.Moreover, heuristics available assume part to be processed on every machine and deals with maximum four machines in the machining stage.Also, the methods used to find solution are applicable to moderate size problems.It is, therefore, necessary to search for other heuristic capable of finding better solution for problems of any size in AFSP.Therefore, in this work, scheduling model for this area of AFSP is developed, with some parts having no operations on one or more machine.Two different heuristics are proposed for large size problems.The objective is to find sequence of parts on each machine so as to minimize the completion time (makespan) of all products.
The AFSP is formulated in next section.Section 3 presents algorithms for three heuristics to find solution.Preliminary experiments are demonstrated in section 4 and results are discussed.The algorithms are validated by performing computational experiments in section 5, followed by conclusions.

Problem formulation
In AFSP, as shown in Fig. 1, several products 1, 2 are manufactured on multiple machines w.Few parts as J 12, J 13 are assembled in the sub-assembly, and remaining parts and the sub-assembly are assembled to form final product.

Fig. 1. Assembly flow shop
Common assumptions made and notations used are as follows, 1.Each part can be processed at the most on one machine at a time.
2. Each machine can process only one part at a time.
3. No pre-emption is allowed, i.e. the processing of a part on a machine cannot be interrupted.4. All parts are independent and are available for processing at zero time. 5.The set up times of parts and assemblies are negligible and therefore are ignored.6.The machines are continuously available.7. In-process inventory is allowed.If next machine in a sequence needed by a part is not available, it waits and joins the queue at that machine.8.Each machine processes parts in the same order, i.e., if part j hi is processed on a machine before part j hi+1 , then it is true for all machines.9. Processing of any part for a sub-assembly must be done after processing of all parts for the previous sub-assembly is completed.Similarly, processing of any part for a product is done after processing of all parts of the previous product is completed.10.All parts may or may not require all machines.
11. Transit time is zero.It means a part processing starts on a machine w j+1 as soon as it leaves machine w j .Notations: h = product number H = total number of products J hi = name of i th part for product h J h = number of parts for the product h J = total number of parts for all products w j = machine number W = total number of machines for machining and assembly P(j hi ,w j ) = processing time of part J hi on machine w j O k = operation number makespan_h = completion time for product h makespan = completion time for all products STWS(J hi , w j ) = Start time of operation on machine w j for part J hi FTWS(J hi , w j ) = Finish time of operation on machine w j for part J hi Consider assembly flow shop where H is the number of total products and J is the number of total parts.Each product h is made up of several parts.These parts are processed on machines in the technological sequence.Further, they form sub-assembly and assembly on the last machines as shown in Fig. 1.In this work, first the order of the parts for each product giving minimum completion time is decided.
Then the order of products (with a predefined order of parts) which gives minimum completion time is found out.To decide the order of the parts for each product giving minimum completion time, several combinations for sequence of parts are obtained.For every combination, completion time for each product is calculated using Eqs.(1-7).
The start time of the first operation of the first part in sequence is assumed to be zero as stated in Eq.
(1).The finish time of the operation of the part is calculated using Eq. ( 2).
The same sets of equations are used to determine start time and finish time for all products.The start time of first operation is assumed zero for the product which is first in order and is calculated using Eq. ( 4) for the rest of operations.Completion time for all products is calculated using Eq. ( 8).

Proposed heuristics
Heuristics used in this work are named as Total Enumeration, NEH_BB and Disjunctive.The sequence of parts to be processed is decided on the basis of makespan of possible alternatives in the first two heuristics.In Disjunctive, it is based on the processing time of parts on the first machine and availability of machine and part for subsequent operations.Furthermore, Total enumeration heuristic calculates makespan for all possible alternatives.NEH_BB determines lower and upper bound values of makespan at every step and the solution giving least makespan is further branched off.The detailed procedures for these heuristics are described in this section.

Total enumeration heuristic
The solution is obtained using the procedure given below, 1. Determine all possible sequences of parts for product h, which is equal to J h !; 2. Calculate the makespan_h for each sequence and determine the sequence which gives minimum makespan_h for product h; 3. Repeat step 1 and 2 for remaining products to decide sequence of their parts which is considered fixed for further procedure; 4. Determine all possible sequences (H!) of products; 5. Calculate the makespan for every sequence obtained in step 4 and determine the one which gives minimum makespan.

NEH_BB heuristic
Here, branch and bound heuristic is combined with well known NEH heuristics (Nawaz et al., 1983) for flow shop.The procedure is divided in two phases.In the first phase, the sequence of parts for minimum makespan_h is decided for every individual product and in the second phase, the sequence of product is decided for minimum makespan.
Phase I -Decide sequence of parts 1.Calculate total processing time of each part of product h for all operations till assembly; 2. Form an initial set of parts by arranging them in descending order of processing time calculated in step 1 (Nawaz & Ham, 1983) where the set refers to order of parts processed; 3. Determine subsequent sets by interchanging (branching) the part at first position of initial set with parts at rest positions; Thus number of sets formed including the initial one is J h .4. Calculate the makespan_h for all sets obtained in step 3; The set with minimum value of makespan_h is identified and the part at first position is decided.5.The set obtained in step 4 becomes initial set to decide the part at second position.6.Further branching is done by interchanging the part at the second position of the set obtained in step 4 with parts at subsequent remaining positions.(Thus J h -1sets are formed) 7. Repeat step 4 and decide part at second position and continue the same procedure till part at J h -1 position is decided which gives sequence of parts for minimum makespan_h; 8. Repeat steps 2-7 for remaining products to decide their sequence of parts with minimum makespan_h; 9.This sequence of parts for each product is considered fixed for further procedure in phase -II.
Phase II -Decide sequence of products 10.Order of products in the initial set is kept same as given in the problem.11.Steps 3 to 7 are followed by considering the products instead of parts and by considering the same sequence of parts obtained in step 9 (in phase -I), decide the sequence of products for minimum makespan.The flow chart for the heuristic is shown in Fig 3.

Disjunctive heuristic
Here, the number of stages depends on the number of machines rather than the number of parts.Hence, graph theory, as shown in Fig. 2, becomes operative.In this heuristic, the order of parts to be processed (referred as operations in the Fig. 2) on each machine is decided.As the operations which are not connected with each other are compared, the heuristic is named as disjunctive.In first phase, the sequence of operations on different machines is decided for every individual product.In second phase, the sequence of product is decided for minimum makespan.

Phase I -Decide sequence of operations on machines for each product
1. Set of operations on every machines are identified for product h and bottleneck machine BN(h) is identified.2. Every set obtained in step 1 for machine before BN(h) is arranged in ascending order of processing time and others are arranged in descending order of processing time.3. Thus sequence of the parts for product h is decided on first machine.

Fig. 3. Flow chart for NEH_BB method
4. The order of parts on subsequent machine is decided on the basis of availability of the part and also availability of machine.However, preference is given to the order obtained in step 2 for that machine.It gives sequence of parts S_M_h to be processed on every machine.5. Repeat the steps 1-4 for remaining products to decide their S_M_h; 6. S_M_h for every individual product is considered fixed for further procedure in phase -II.
Phase II -Decide sequence of products 7. Sequence of products is decided by using branch and bound method as used in phase II of NEH_BB heuristic for minimum makespan.
The flow chart for the heuristic is shown in Fig 4.

Preliminary experimentation
In order to make the procedure of different heuristic clear, preliminary experiments on proposed approaches are conducted on a simple numerical example.

Numerical example
The numerical example by Yokoyama (2001) with the number of products H=3 and the number of machines W=5 is taken.Processing times for machining and assembly operations on respective machine are shown in Table 1.A precedence relationship among operations of numerical example is shown in Fig. 2. The data is processed by the computational program coded in MATLAB.Computations are executed on a system with 2.19G Intel(R) core (TM) 2 Duo CPU and 2GB RAM under the Windows XP-2002 operating environment.Results obtained from computational program for the numerical example are shown in Table 2 under problem '01' indicating minimum makespan, order of products and time taken for three heuristics.
The results are also demonstrated on Gantt charts drawn for each of the heuristics as shown in Fig 5.The processing times are generated randomly (0, 20) for problem '03' and '04'.

Observations
A scrutiny of experimental results, given in Table 2, lead to following observations.1.It is the first attempt to solve AFSP where the parts may not have operation on all machines.
Hence, no data is available in literature for comparison.2. Total enumeration heuristic is not applicable for problem '03' owing to more number of permutations due to increase in parts per product.The computation time of Total enumeration heuristic grows exponentially for more than seven number of product or number of part per product.3. Makespan obtained by Total enumeration heuristic is better (near optimal), except for the problem '02' where Disjunctive heuristic gives the best solution.This is because, the problem '02' is created by removing few of machining operations from problem '01' and different way of Disjunctive method to allocate operations.In Disjunctive, the allocation of operation on the next machine is decided by the preference of operations on that machine and completion of preceding operation.In other two methods, the allocation of operation on the next machine is decided by completion of preceding operation.4. Makespan of NEH_BB and Total enumeration approaches are closer to each other while disjunctive approach gives more makespan.5. Computation time depends on number of iterations.It is found to be least with Disjunctive heuristic.

Experimentation results and discussion
In order to show validity of proposed methods, several computational experiments are made with a larger scale.In view of limitations of Total Enumeration heuristic in handling large size problems, further experimentation is conducted using NEH_BB and Disjunctive heuristics.Fractional factorial experimental design using L4 orthogonal array (Phadke, 1989) was employed.The three factors at two different levels to vary problem size are number of products, parts per product and number of machines, as shown in the Table 3.
The values of MMV% obtained for different instances of the same problem size are then averaged for each heuristic and indicated by average of MMV%.Average MMV% indicates that NEH_BB approach yields better solution in majority of problems except problem D. In problem D where problem size is large with highest number of parts, NEH_BB approach considers comparatively less percentage of total permutations and hence Disjunctive approach gives better solution.Table 4 also indicates mean relative percentage increase in computation time.
The result shows that computation time in NEH_BB is very high as compared to disjunctive approach.To determine the effect of each factor of problem size on the computation time, averages of all the values of CPU time for each level of factors are calculated.The plots of relative change in this average CPU time for each factor levels are shown in Fig. 6.The number of products seems to have significant effect, while number of machines has least effect on the computation time.The computing time in NEH_BB is affected more with J h , as number of iterations needed is proportional to J h to decide sequence of parts.

Table 4
Relative performance of two heuristics for large size problems with respect to the best heuristic Although both heuristics are found suitable for finding solution for large size problems, yet, Disjunctive approach is proposed to be preferred due to less CPU time.

Conclusions and future scope
The production scheduling model for assembly flow shop considering both machining and assembly operations, with some parts having no operations on one or more machine, has been studied with an objective to obtain near optimal solution for scheduling on the basis of completion time (makespan) of all products.Two approaches NEH_BB and Disjunctive are proposed and conclusions are as under.1. NEH_BB is an extension of well established NEH approach by introducing branch and bound heuristic to obtain sequence of parts.Disjunctive performs sorting of operations to obtain sequence of parts.Both heuristics performs branch and bound iterations to obtain sequence of products.2. Both NEH_BB and Disjunctive proposed heuristics found to be capable of providing solution for large scale problems, former giving better solution in majority of situations.3. NEH_BB heuristic is found to give better solution except the situation where problem size is large.For large problem size, percentage of total permutations considered for analysis by NEH_BB heuristic is comparatively less and therefore Disjunctive approach gives comparatively better solution.4. The computation time of the NEH_BB heuristic is disproportionately high and practically not recommended for obtaining initial solution.
as shown in Fig.2, is used for operation based representation of problem, where set of vertices {O 1 ,O 2 ,O 3 ...} stands for operations.Direction of arrow shows precedence relationship among the operations.Accordingly, processing operation i.e. machining or assembly is identified and assigned a number.Two dummy operations are added at the beginning and at the end.Required data related to processing time, part number, work station number etc. are assigned to each operation.

Fig. 4
Fig. 4 Flow chart for disjunctive method

Fig. 6
Fig. 6 Relative change in average CPU time for number of products, parts per product and number of machines

Table 2
Preliminary experimental results of three heuristic procedures

Table 4 .
The number of parts ranges from 100 to 400.Further, five instances of each basic problem are created by varying processing time.These dataset of instances can be made available.Processing times for machining and assembly operations are generated with random number (0, 20) and (10, 30), respectively.Each instance is then replicated thrice.Hence, total 60 experimental trails are conducted on NEH_BB and Disjunctive heuristics each.The results of both the heuristics for problems A, B, C, and D are shown in Table4along with problem size, total number of parts and number of operations.The makespan values for three replicates of same instance are averaged and percentage difference of mean makespan value (MMV%) of each instance is obtained using Eq.(9), relative to the best solution for that instance.