• Editorial Board +
• For Contributors +
• Journal Search +
Journal Search Engine
ISSN : 1598-7248 (Print)
ISSN : 2234-6473 (Online)
Industrial Engineering & Management Systems Vol.19 No.4 pp.803-811
DOI : https://doi.org/10.7232/iems.2020.19.4.803

# An Insertion Procedure to Solve Hybrid Multiobjective Permutation Flowshop Scheduling Problems

Hafed M. Motair*
Distinguished Secondary School - Diwaniya, Ministry of Education, Iraq
*Corresponding Author, E-mail: hafedmotair@gmail.com
April 28, 2020 July 25, 2020 September 10, 2020

## ABSTRACT

This paper present an insertion procedure (IP) which can be used to improve the performance of the multiobjective scheduling problems (MOSPs) algorithms. The proposed procedure use the variable neighborhood search (VNS) combined with insertion method which can be adapted with any MOSP whether it is heuristic or metaheuristic. The aim is to solve 2- machine permutation flowshop scheduling problem (PFSP) and minimize the two objective functions simultaneously: Maximum completion time (makespan) and total completion times ( ∑jCj
) (TCT) in order to find the efficient (non dominated) solutions. The proposed IP combined with two algorithms in the literature, the non dominated sorting genetic algorithm (NSGA-2) and the multi-objective partial enumeration algorithm (MOPE), the objective is to explore more non dominating solution by the use of insertion concept of jobs through all possible positions of considered sequence. To evaluate the algorithms, large set of test instances involving up to 80 jobs were used for our investigation. The results show the efficiency of the proposed IP to improve the performance of considered MOSPs algorithms.

## 1. INTRODUCTION

The main objective of job shop problems is to find a schedule of n jobs ${ s 1 , s 2 , … , s n }$ that can be processed on m machines ${ W 1 , W 2 , … , W m }$ to optimize (minimize) a particular criterion. If the jobs pass between machines in the same order, then the resulting problem is flowshop scheduling problem (FSP), hence the number of possible schedules are “(n!)m”. If we restricte the permutation of jobs for all machines is the same, then the resulting is permutation flowshop scheduling problem (PFSP), and the number of possible schedules are (n!) (Pinedo and Hadavi, 1992).

In this work we study the 2-machine PFSP to minimize two objective functions simultaneously: makspan and total completion times, the aim is to find efficient solutions that minimize these two objective functions simultaneously, the problem denoted: .

In general, a MOSPs can be described as follwos: Given k objective functions is a set of feasible solutions and x is a solution, then a solution xW is dominate a solution yW if and only if these two condition holds:

• 1) $μ i ( x ) ≤ μ i ( y ) , ∀ i , 1 ≤ i ≤ k$

• 2) . A solution xW is efficient solution if there is no solution yW dominate it.

The problem considered in this work is belong to the class of NP-hard problems in strong sence (Kan, 2012), therefore, it may be reasonable to construct an acceptable algorithms with reasonable computational times to solve these problems even if it does not guarantee an optimal solutions.

In this work, we improve two multi-objective PFSPs, the first one is non dominating sorting genetic algorithm (NSGA III) (Deb and Jain, 2013), and the second is partial enomeration heuristic (Arroyo et al., 2011). We propose the IP to improve the performance of the cosidered algorithms. The proposed procedure use the VNS combined with the insertion algorithm to extend the search space of the considered algorithms to more reasonable efficient solution. Hence the proposed algorithmes can be viewed as hybrid algorithms. These algorithme can be seen as complementary tools that can be imparted together to achieve an optimization goal (El-Mihoub et al., 2006).

## 3. PROBLEM CONSTRAINS AND FORMULATION

The general description of the PFSP is given as follows: let ${ s 1 , s 2 , … , s n }$ be a set of n jobs and ${ W 1 , W 2 , … , W m }$ be a set of m machines. In PFSP the jobs are processing through m machines such that the order of processing these jobs is the same on all machines. We can summarize the constrains of the problem as follows:

• 1. The sequence of processing all jobs on each of m machines is same.

• 2. The job can be processed on one machine at the same time, also each one machine can process one job at a time.

• 3. Jobs have no priority and there is no breakdown of any machine during jobs process.

• 4. The processing times is known of all jobs and for every machine.

• 5. The jobs are independents with each other, and the preparative time of each job is zero.

• 6. Machines are continuously available over the processing.

• 7. The processing cannot be interrupted Once the operation starts ntil the job has been released by the machine.

• 8. The setup time included in the processing time.

• 9. jobs are ready state at time zero.

The notations of the problem as follows:

• n: the number of jobs.

• m: the number of machins

• r: the number of objective functions

• t1, j : The processing time of the jobb j in the first machine.

• t2, j : The processing time of the jobb j in the second machine.

• Ci,j : The completion time of the job i in the machine j. We formulate our model as follows:

$C 1 , 1 = t 1 , 1 C i , 1 = C i − 1 , 1 + t i , 1 , 2 ≤ i ≤ n C 1 , j = C 1 , j − 1 + t 1 , j , 2 ≤ j ≤ m C i , j = max [ C i − 1 , j , C i , j − 1 ] + t i , j 2 ≤ i ≤ n , 2 ≤ j ≤ m$

In this work we restrict the study on the 2-machine (m=2) PFSP and the objective is to find the efficient solutions of the proplem.

Let $f 1 = m a x i ( C i , 2 )$ (i.e makspan) and $f 2 = ∑ i C i , 2 ,$, then according to the three field representation, the problem can be written as follows: $F 2 | p e r m | ( f 1 , f 2 )$.

## 4. PROPOSED ALGORITHMS

### 4.1 Standard Algorithms

We combined two multiobjective algorithms with the proposed IP, the first one is a heuristic proposed by (Arroyo and Armentano, 2004) (MOPE) a partial enumeration heuristic and the second is non dominated sorting genitic algorithm (NSGAII) proosed by (Deb et al., 2000).

#### 4.1.1 MOPE Algorithm

The MOPE heuristic is a multiobjective algorithm based on job insertion and using the Pareto dominance concept to choose the partial and complete solutions. The algorithm described as follows:

MOPE Algorithm

• • For h =1 to r do

• • Using the dispatching ruls to order the jobs to obtain the sequence $s j = ( J 1 , … , J )$.

• $s 1 h = ( J 1 ) , S 1 h = { s 1 h }$ set of partial sequences with one job.

• • For M = 2 to n do

• • For all $s j h ∈ S M − 1 h$ do

• • Insert the Mth job $s j h$ in position I and generating a sequence $s j l$ with M jobs

Evaluate:

• • Find the set $S M h$ of efficient partial sequences from the M. $| S M − 1 h |$ generated partial sequences.

• • End phase M. The set $S n h$ contains efficient complete sequences

• • Construct the union $∪ i = 1 r S n i$ and calculate the set of efficient solutions as approximate set of efficient solutions.

#### 4.1.2 MOGA (NSGAII) algorithm.

One of the most popular multiobjective genetic algorithms is NSGAII Algorithm and many engineering applications has been applied to this algorithm (Ghasemi et al., 2020). The main feature of NSGAII is the elitism nondominated sorting procedure. Also crowding distance procedure applied to rank the sorting nondominated solutions. The algorithm described as follows:

Let P0 is parent population generated randomly and sorted based in non domination. Binary tournament selection, crossover and mutation proceduers are used to optain a child population Q0 of size N. The generation is continoued as follows:

• • Rt = Qt ∪ Pt

• • F = fast nondominating sort = $( F 1 , F 2 , … , F 2 )$ non dominated fronts of Rt

• • Until $| P t + 1 | < N$

• •Calculat crowding distance in front $F k$

• $P t + 1 = P t + 1 + F k , F k$ is the kth non dominated front in the pop

• •Sort Pt+1 in descending order using crowding distance procedure values

• •Choose the first N elements of Pt+1.

• • Qt+1 obtained from Pt+1 using mutation, crossover and selection on Pt+1 to obtain Pt+1

• •t = t+1

The order of two solutions i and j with respect to the crowding distance and the rank by using the following operator:

## 5. PROPOSED IP

The proposed IP based on the multiobjective variable neighborhood scheduling and the concept of insersion of jobs through the sequence. This proceduer can be combined (with some implementation) to any MOSP (single machine problem or PFSP) to improve the aproximation set of efficient solutions. We describe the IP in the following steps:

• 1. Generate a set (Q) of initial solutions either using dispatching rules for heuristic algorithms or randomly (or both methods) for population based algorithms.

• 2. Loop the following steps until stopping criterion is reached.

• a. Choose randomly a solution s from Q, reset Q if empty.

• b. Apply randomly (from a set of neighborhoods) a neighborhood Nr to s, the resulting is a solution ś (i.e Nr (s)= ś).

• c. Apply the function INS_FUN(ś) to generate a set of efficient solutions.

• d. Add the efficient solutions obtained by step c to the set M.

• e. Back to step a

• f. Obtain the efficient solutions from all solutions in ES

• 3. Back to step 2 untill the stopping criterion reach.

• 4. If the stopping criterion reach, then stop with the approximate set of efficient solutions.

INS_FUN (ś) function:

• 1. Choose k jobs randomly from ś, the remaining partial sequence has n-k jobs.

• 2. Insert the first job of the chosen jobs on each position of the remaining partial sequence, the resulting is n-k+1 partial sequences each one has n-k+1 jobs and then construct the efficient solutions from these partial sequences.

• 3. Insert the second job of the chosen jobs on each position of the obtained efficient partial sequence, the resulting is partial sequences each one has nk+ 2 jobs, and so on untill obtain the set of complete efficient solutions.

We note that the number of efficient partial sequences increase when the size of sequence is big and we need to save the computation times of the algorithm, so practically we choose the best p efficient partial sequences, this is done by sorting the sums of objective functions values of each partial sequence in increasing order, then choose the p efficient partial sequences for the next step. The value of p is set to 500 according to experimental results (i.e If the number of efficient partial sequences exceed 500, then, we choose only 500 efficient partial sequence for the next step).

We use three kinds of neighborhoods: swap neighborhood, insertion neighborhood and reversion neighborhood. In first kind, two jobs are choosen randomly and do swap between these two jobs. In the second kind choose one job randomly and insert it randomly in another position. In the third kind two jobs are choosen randomly then reverse the partial sequence from the first one to the second. The stopping criterion is the maximum CPU time.

## 6. PROPOSED ALGORITHMS

One of the most accepted results that a local search is very effective in improving the performance of metaheuristics (Wang and Shen, 2007;Zheng and Wang, 2003). In this paper we applied this idea by combining the IS as a local search to MOPE Algorithm, the resulting is MOPE-IP, and with MOGA, the resulting is MOGA- IP.

### 6.1 MOPE-IP Algorithm

We summarize the MOPE-IP algorithm as follows:

• 1. Run the MOPE heuristic and generat the set of efficient solutions ES1

• 2. Use the initial set off efficient solutions to run the IP.

• 3. The resulting is the approximate set of efficient solutions ES2.

• 4. The final approximate set of efficient solutions is the efficient solutions on the union: ES1 ∪ ES2

### 6.2 MOGA-IP Algorithm

• 1. Set H0 =∅, generate initial populations P0 of size N as follows:

• a. Use the IP to generate set of efficient solutions of size k.

• b. If k < N, then generate the remaining solutions randomly.

• c. If k > N, then choose the N best solution of the generated solutions.

• d. If k = N, then use the generated set as initial population.

• 2. P0 is sorted based in non domination. Binary tournament selection, crossover and mutation proceduers are used to optain a child population Q0 of size N. The generation is continoued as follows:

• 3. $R t = Q t ∪ P t ∪ H t$

• 4. F = fast nondominating sort $( F 1 , F 2 , … , F 2 )$ non dominated fronts of Rt

• 5. Use the binary tournament selection procedure to choose two solutions from the front $F 1$ then use these solutions to applied the IP to generate the approximate set of efficient solution t H

• 6. Until $| P t + 1 | < N$

• 7. Calculat crowding distance in $F j$

• 8. $P t + 1 = P t + 1 + F j , F j$ is the jth non dominated front in the pop

• 9. Sort Pt+1 in descending order using crowding distance procedure values

• 10. Choose the first N elements of Pt+1 to obtain Qt+1

• 11. Qt+1 obtained from Pt+1 using selection, crossover and mutation on Pt+1

• 12. t = t+1.

## 7. PERFORMANCE OF THE PROPOSED ALGORITHMS

### 7.1 Test Problems

The proposed algorithms are tested in 140 2-machine FSPs at different levels, the size of problems range from 4 to 10 jobs for small size problems and 20 to 80 jobs for large size problems. The processing times for the FSPs generated randomly and distributed uniformly in the interval [0,100]. The machine is LENOVO, the algorithms coded using Matlab R.2015 and executed on an Intel (R) Core TM (i7) CPU, (2.5) GHz, and (8.00) GB of RAM.

### 7.2 Parameter Setting

The number of iterations (Max Iteration) for MOGA algorithm are setting as follows:

• •For 4-10 jobs problems Max Iteration=150

• •For 20-50 jobs problems Max Iteration=250

• •For 60-80 jobs problems Max Iteration=500

The size of population (N) setting as follows:

• •For 4-10 jobs problems N =50

• •For 20-50 jobs problems N = 100

• •For 60-80 jobs problems N = 100

The probability of crossover and the probability of mutation setting equal to 0.5.

The time for termination condition for IP is set to 5 second. We use to dispatching rules to generate initial solutions for IP which are: SPT shortest processing time) (Framinan et al., 2002), LPT (longest processing time) (Nawaz et al., 1983).

### 7.3 Performance Metric

We use the complete enumeration method (CEM) to calculate the optimal set of efficient solutions. To obtain the approximate set of efficient solutions we use the concept of reference set (RE). It is defined as the efficient solutions on union of the efficient solutions obtained by the considered algorithms. To compare the algorithms we use a Cardinal Measure (Cr) (Arroyo et al., 2011), where Cr = C (RE, A) which is the number of efficient solutions in the intersection set RE ∩ A, where A is the algorithm that needed to measure its performance.

### 7.4 Comparative Results

In this paper, the comparison between proposed algorithms performance as follows: firstly we compare between MOPE and proposed MOPE_IP secondly between MOGA and proposed MOGA_IP and finaly between the proposed algorithms MOPE-IP and MOGA-IP. We use the cardinal measure (Cr) as performance metric which calculate the number of efficient solutions obtained by the considered algorithm that belong to the RF set. The RF set collect the efficient solutions for each considered algorithm, then find the efficient solutions of the collected solutions, this set can be regarded as approximate set of efficient solutions. Table 2 contains the mean values of Cr measure of the two algorithms MOPE and MOPE-IP, it can be seen that the two algorithms can obtain good results for the given PFSP, also the two algorithms obtain the optimal efficient solutions for small size problems (i.e from n = 4 to n = 10 jobs). For the large size problems (i.e from n = 20 to 80 jobs)(see Figure 3), we use the RF set as approximation set of efficient solution, it can be seen that the MOPE-IP obtain a better solutions than MOPE and most solutions obtained by MOPE dominated by the others obtained by MOPE-IP. Table 3 contains the mean values of Cr measure of the two algorithms MOGA and MOGA-IP, it can be seen that the two algorithms can obtain good results-with preference to MOGA-IP- for the given PFSP, also the MOGA-IP algorithm obtain the optimal efficient solutions for small size problems (i.e from n = 4 to n = 10 jobs). For the large size problems (i.e from n = 20 to 80 jobs), (see Figure 4), it can be seen that the performance of MOGA-IP is better than MOGA. From Table 1, Table 2 and Table 3, it can be seen that most solutions obtained by MOGA-IP dominate the solutions of MOGA-IP. According to the results in Table 1 and Table 2, it can be seen that the execution time affected by IP for the two algorithms MOPE-IP and MOGA-IP.

## 8. CONCOLUSIONS AND FUTURE WORK

There are several methods appeared in litereature to develop and improve the performance of metaheuristics algorithms to solve MOSP algorithms by using local search methods, some of them based on the aggregation functions and the others based on the Pareto optimal concept to obtain efficient solutions. In this paper we develop a multiobjective procedure based on the VNS and insersion cocept of jobs through the sequece which proposed by Nawaz et al. (1983) to solve a single objective m machine FSP and developed by Geiger (2008) for multiobjective problems. Our proposed IP adapte the idea of insersion to MOPE algorithms and MOGA algorithms to solve 2-machine PFSP including two objective functions: makespan and totall completion times. For the MOPE-IP algorithm, the MOPE run at first and the algorithm use the obtained efficient solutions as initial set of efficient solutions for IP, this insure the improvements of the final set of efficient solutions. For MOGA-IP algorithm, the IP adapted such that it use the obtained efficient solutions at each iteration as initial efficient solutions, this insure the increasing of the diversity of the population search. To save the computaitional times, the IP runs only three or four times through the algorithm.

Experimental data confirm that the hybrid algorithms give reasonable results compared with the original algorithm, also the proposed IP can improve the performance of the original algorithms. But we note some things:

• 1. Because of the increasing of computational times of the algorithm, we can not take all efficient partial sequences in INS_FUN procedure, we reduce them to (p = 500) if the number exceed 500 efficient partial sequences as mentioned above. So we may lose some complete efficient solutions through this process.

• 2. Also because of computational times, we can not examine all neighborhood solutions of the considered (current solution) in the local search steps of the proposed hybrid algorithms, so to insure the diversity, we choose the neighborhood randomly and we use three kinds of neighborhoods for the current solution.

• 3. According to the two above points, we need to further improving the IP procedure for choosing reasonable best efficient partial sequences.

Further work can be done by applying the proposed IP procedure on other multi-objective algorithms.

## Figure

Graphical representation of MOGA-IP algorithm.

Graphical representation of MOPE-IP algorithm.

Efficient solutions for problem F2| | (Makespan,TCT) produced by the algorithms MOPE and MOPE-IP for instant of size n=30.

Efficient solutions for problem F2| | (Makespan,TCT) produced by the algorithms MOGA and MOGA-IP for instant of size n=30.

## Table

The total number of efficient solutions obtained by the four algorithms MOPE, MOPE-IP, MOGA and MOGA-IP

The values of optimal efficient soltions (opt), Cr measure of MOPE, MOPE-IP and the execution times of the two algorithms (Time1, Time 2)

The values of optimal efficient soltions (opt), Cr measure of MOGA, MOGA-IP and the execution times of the two algorithms (Time1, Time 2).

## REFERENCES

1. Aldowaisan, T. and Allahverdi, A. (2004), New heuristics for m-machine no-wait flowshop to minimize total completion time, Omega, 32(5), 345-352.
2. Arroyo, J. E. C. and Armentano, V. A. (2004), A partial enumeration heuristic for multi-objective flowshop scheduling problems, Journal of the Operational Research Society, Journal of the Operational Research Society, 55(9), 1000-1007.
3. Arroyo, J. E. C. , dos Santos Ottoni, R. , and de Paiva Oliveira, A. (2011), Multi-objective variable neighborhood search algorithms for a single machine scheduling problem with distinct due windows, Electronic Notes in Theoretical Computer Science, 281, 5-19.
4. de Siqueira, E. C. , Souza, M. J. F. , and de Souza, S. R. (2020), An MO‐GVNS algorithm for solving a multiobjective hybrid flow shop scheduling problem, International Transactions in Operational Research, 27(1), 614-650.
5. Deb, K. and Jain, H. (2013), An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints, IEEE Transactions on Evolutionary Computation, 18(4), pp. 577-601.
6. Deb, K. , Agrawal, S. , Pratap, A. , and Meyarivan, T. (2000), A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II, Proceedings of the International Conference on Parallel Problem Solving From Nature, Springer, 849-858.
7. El-Mihoub, T. A. , Hopgood, A. A. , Nolle, L. , and Battersby, A. (2006), Hybrid genetic algorithms: A review, Engineering Letters, 13(2), 124-137.
8. Framinan, J. M. , Leisten, R. , and Ruiz-Usano, R. (2002), Efficient heuristics for flowshop sequencing with the objectives of makespan and flowtime minimisation, European Journal of Operational Research, 141(3), 559-569.
9. Geiger, M. J. (2008), Randomised variable neighbourhood search for multi objective optimisation, arXiv preprint arXiv:0809.0271.
10. Ghasemi, P. and Talebi Brijani, E. (2014), An integrated FAHP-PROMETHEE approach for selecting the best flexible manufacturing system, European Online Journal of Natural and Social Sciences, 3(4), 1137-1150.
11. Ghasemi, P. , Khalili-Damghani, K. , Hafezalkotob, A. , and Raissi, S. (2020), Stochastic optimization model for distribution and evacuation planning (A case study of Tehran earthquake), Socio-Economic Planning Sciences, 71, 100745.
12. Jaszkiewicz, A. (2002), Genetic local search for multi-objective combinatorial optimization, European Journal of Operational Research, 137(1), 50-71.
13. Kan, A. H. G. R. (2012) Machine scheduling problems: classification, complexity and computations. Springer Science & Business Media.
14. Li, B. B. , Wang, L. , and Liu, B. (2008), An effective PSO-based hybrid algorithm for multiobjective permutation flow shop scheduling, IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 38(4), 818-831.
15. Li, J. , Han, Y. , and Wang, C. (2017), A hybrid artificial bee colony algorithm to solve multi-objective hybrid flowshop in cloud computing systems, Proceedings of the International Conference on Cloud Computing and Security, Springer International, Nanjing, 201-213.
16. Li, J. , Sang, H. , Han, Y. , Wang, C. , and Gao, K. (2018), Efficient multi-objective optimization algorithm for hybrid flow shop scheduling problems with setup energy consumptions, Journal of Cleaner Production, 181, 584-598.
17. Li, J. , Tao, X. , Jia, B. , Han, Y. , Liu, C. , Duan, P. , Zheng, Z. , and Sang, H. (2020), Efficient multi-objective algorithm for the lot-streaming hybrid flowshop with variable sub-lots, Swarm and Evolutionary Computation, 52, 100600.
18. Liu, X. and Zhang, D. (2019), An improved SPEA2 algorithm with local search for multi-objective investment decision-making, Applied Sciences, 9(8), 1675.
19. Murata, T. , Ishibuchi, H. , and Tanaka, H. (1996), Multi-objective genetic algorithm and its applications to flowshop scheduling, Computers & Industrial Engineering, 30(4), 957-968.
20. Nagar, A. , Heragu, S. S. , and Haddock, J. (1996), A combined branch-and-bound and genetic algorithm based approach for a flowshop scheduling problem, Annals of Operations Research, 63(3), 397-414.
21. Nawaz, M. , Enscore Jr, E. E. , and Ham, I. (1983), A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem, Omega, 11(1), 91-95.
22. Öztop, H. , Tasgetiren, M. F. , Eliiyi, D. T. Pan, Q. , and Kandiller, L. (2020), An energy-efficient permutation flowshop scheduling problem, Expert Systems with Applications, 150, 113279.
23. Pinedo, M. and Hadavi, K. (1992), Scheduling: Theory, algorithms and systems development, in Operations Research Proceedings 1991, Springer-Verlag Berlin Heidelberg, 35-42.
24. Reddy, B. S. P. and Rao, C. S. P. (2006), A hybrid multi-objective GA for simultaneous scheduling of machines and AGVs in FMS, The International Journal of Advanced Manufacturing Technology, 31(5-6), 602-613.
25. Sadeghi, J. , Sadeghi, S. , and Niaki, S. T. A. (2014), A hybrid vendor managed inventory and redundancy allocation optimization problem in supply chain management: An NSGA-II with tuned parameters, Computers & Operations Research, 41, 53-64.
26. Sindhya, K. , Miettinen, K. , and Deb, K. (2012), A hybrid framework for evolutionary multi-objective optimization, IEEE Transactions on Evolutionary Computation, 17(4), 495-511.
27. Tavakkoli-Moghaddam, R. , Rahimi-Vahed, A. , and Mirzaei, A. H. (2007), A hybrid multi-objective immune algorithm for a flow shop scheduling problem with bi-objectives: Weighted mean completion time and weighted mean tardiness, Information Sciences, 177(22), 5072-5090.
28. Wang, L. and Shen, W. (2007), Process Planning and Scheduling for Distributed Manufacturing, Springer Science & Business Media.
29. Xu, L. , Yeming, J. , and Ming, H. (2016), Solving hybrid flow-shop scheduling based on improved multi-objective artificial bee colony algorithm, Proceedings of the 2nd International Conference on Cloud Computing and Internet of Things (CCIOT), Dalian, China, 43-47.
30. Zheng, D. Z. and Wang, L. (2003), An effective hybrid heuristic for flow shop scheduling, The International Journal of Advanced Manufacturing Technology, 21(1), 38-44.