You are on page 1of 22

Process Integration and Optimization for Sustainability (2022) 6:409–430

https://doi.org/10.1007/s41660-022-00222-w

ORIGINAL RESEARCH PAPER

Flexible Job Shop Scheduling for Press Working Industries


with Operation Precedence Constraint
P. J. Pawar1   · K. C. Bhosale2 

Received: 18 June 2021 / Revised: 16 December 2021 / Accepted: 11 January 2022 / Published online: 8 February 2022
© The Author(s), under exclusive licence to Springer Nature Singapore Pte Ltd. 2022
To remain sustainable, the press working industries must be energy efficient, should ensure minimum material waste and
should employ solutions for Industry 4.0 using artificial intelligent techniques. In this work, an attempt is therefore made to
solve the real-life problem of press working industry which is related to flexible job shop scheduling problem considering
sustainability aspect. This is done by minimising the number of hours required to operate the system for a given lot size and
thus making the overall system energy efficient. A mathematical model is developed considering waiting time on machines
along with production time and setup time. To solve this model, discrete version of a one of the well-known metaheuristics
namely artificial bee colony algorithm has been employed. The results show that there is a significant saving in total time
of 10.71% over that by existing practice of the particular industry. It also means that production machines will run 10.71%
less for the given lot size resulting into saving of same amount of energy. Also due to material flow optimisation, the energy
consumed by material handling devices is also less.

Keywords  Flexible job shop scheduling · Integrated production planning and scheduling · Discrete artificial bee colony
(DABC) · Operation precedence constraint · Sustainability

Introduction resources required to cater this demand are made available


such as manpower, material and machines. In the schedul-
Sustainable manufacturing is to manufacture product with ing phase, parts are manufactured on the machines as per
minimum negative impact on environment and through sequence of operations. Usually, a short-time horizon (viz.
minimum use of natural resources. In press tool industries, a day to a week) is considered in the scheduling phase. The
this issue is mainly concerned with minimisation of energy demand quantity of a long-time planning horizon (viz. years,
and material waste. In this work, energy minimisation in month) is subdivided into small planning horizons (viz.
press working operation is achieved through integrating pro- month, weeks, days). These small sublots are then manu-
duction planning with flexible job shop scheduling. In the factured on the manufacturing machines. Different sublots of
manufacturing industries, the demand of the parts reaches to different parts can be manufactured in the production plan-
the industry well in advance. The feasibility of completion ning horizon. As shown in the Fig. 1, in the production plan-
of the demand of the parts is then verified by the production ning phase, the demand (dj) of parts (j = 1,…,J) is subdivided
planning department. Usually, a long-time horizon is con- into weeks 1–4, weeks as D1, D2, D3 and D4.
sidered for the planning phase (viz. a month or a year). The In the classical job scheduling problem (JSP), a number
of parts are allocated to number of machines by the prede-
fined sequence of operations on these machines. The rout-
* P. J. Pawar ing of the parts is fixed and known in advance. However,
pjpawar@kkwagh.edu.in due to the uncertainty of demand of parts, reliability of the
K. C. Bhosale machines and the capability of the machines to perform
bhosalekailasmech@sanjivani.org.in various operations, the classical JSP environment can be
1 extended to flexible job shop scheduling problem (FJSP)
Department of Production Engineering, K. K. Wagh Institute
of Engineering Education and Research, Nashik, Savitribai in the flexible manufacturing environment (FMS). In FJSP,
Phule Pune University, Pune, Maharashtra, India all parts have flexibility to be manufactured on any of the
2
Department of Mechanical Engineering, Sanjivani College available machine (Bissoli et al., 2020). As shown in Fig. 2,
of Engineering, Kopargaon, Savitribai Phule Pune University, operation (o1) of part (p1) can be manufactured on machines
Pune, Maharashtra, India

13
Vol.:(0123456789)
410 Process Integration and Optimization for Sustainability (2022) 6:409–430

1, 3, 4, 5, 7 and 10. Suppose that operation (o1) is performed during this setup time. A setup time is dependent or inde-
on machine (m3). After finishing the operation (o1), the next pendent on the sequence of the parts which are manufac-
operation (o2) of part (p1) will be performed on machine tured on the machine. In this work, a sequence-independent
(m4). However, operation (o2) of part (p2) is also performed setup time (SIST) (Belabid et al., 2020) for each part is con-
on machine (m4). So, there is waiting for either parts (p1) sidered. There will be waiting for the parts if the machine is
or part (p2) according to the availability of the machine not available for performing operations. The material flow
(m4). The processing time required on each machine can time comprises of processing time, setup time and waiting
be different due to the different manufacturing capacity of time. The selection of the machines for processing of opera-
the machines. Due to this flexibility, the complexity of the tions and routing of the parts will minimise the material
FJSP increases. flow time.
Moreover, in FJSP a part can be manufactured by In FJSP, each part can be manufactured on any of the
different alternate process plans. The optimum process available machines with an operation precedence constraint.
plan is so selected as to minimise the material flow time It can be possible that various parts will be allocated to one
(Chan et  al. 2007). However, complexity of this prob- machine to perform their operations and other machines
lem increases with increasing number of jobs, number of remain idle. This will create a bottleneck in the manufac-
operations to be performed on each job and number of turing system, and the material flow time will increase.
alternate machines available. For example, for a problem Hence, in FJSP, two subproblems, i.e. assignment of parts
having 8 jobs and 4 machines, more than 1­ 08 combina- on the machine and sequence of operations, are important.
tions of alternate process plans are possible (Prakash et al. The proper assignment of parts on the machines helps to
2008). Due to the complexity of this problem, it is hard reduce the bottleneck in the manufacturing system and
to verify the solution of this type of problem by a non- increases the utilisation of all the machines properly. The
deterministic polynomial time machine. Hence, FJSP is proper sequence of operation helps to reduce the material
an NP-hard combinatorial optimisation problem (Buddala handling time.
and Mahapatra, 2019). In this work, a real-world problem of an integrated pro-
The material flow time is dependent on the processing duction planning and scheduling for a press working indus-
time of the part and setup time of the machine. For each try is considered. A mathematical model is formulated to
part, different processing time is required to complete the minimise the material flow time. The optimum solution is
operation on any machine. A setup time is the time interval obtained by implementing “discrete artificial bee colony”
between the finish of the processing of a part and the start (DABC) algorithm. To validate the effectiveness of proposed
of manufacturing of a next part on a machine. The setup approach, a case study based on mathematical model devel-
time is based on the size and shape of the part (Bhosale oped by Mahdavi et al. (2011) is also discussed.
and Pawar, 2020). No part is manufactured on the machine In the next section, the literature review is discussed.

Producon Planning phase

d1 d2 d3 d4 d5 d6 Demand of products

Month
Week 1 Week 2 Week 3 Week 4

Scheduling phase W1 W2 W3 W4

d1 d2 d3 d4 d5 d6
D1 D2 D3 D4

Week 1

Fig. 1  Fulfilment of demand of products

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 411

Fig. 2  Flexible job shop sched-


uling m1 m1

m3 m2 m3 m4

p1 m4 m3 m4 m8

m5 m4 m5 m9
p2

m6 m10
m7

m10

o1 o2 o3 o4

Literature Review considered an application example of ring rolling process


while Baykasoglu et al. (2020) have considered dynamic
Several attempts have been made by earlier researchers to flexible job shop scheduling problem. They formulated the
formulate mathematical models for FJSP, to develop meth- mathematical model with processing time and sequence-
odologies to solve FJSP and to achieve sustainable manu- dependent setup time to minimise makespan. A metaheuris-
facturing in FJSP environment. In the FJSP manufacturing tic based on greedy randomised adaptive search procedure
environment, an operation can be performed on any one (GRASP) was then used to solve proposed FJSP by both the
of the available machines. To manufacture a part, various researchers.
operations are performed on many machines. These opera- In some manufacturing environments like job shop man-
tions are selected from the available alternate process plans, ufacturing, material handling time is also significant and
and the processing time of a product varies from machine hence must be considered in FJSP. Few researchers there-
to machine. Few researchers had considered only process- fore developed mathematical model for FJSP considering
ing time to formulate the mathematical model. Fattahi et al. processing time, setup time and material handling/trans-
(2009) have proposed minimisation of makespan by consid- portation time. Fazlollahtabar and Saidi-Mehrabad (2014)
ering the processing time of the products with overlapping developed a mathematical model to allocate number of
operations for petrochemical industries. Simulated anneal- automated guided vehicles (AGVs) for collision free move-
ing algorithm was then employed to solve FJSP. Ham and ments of AGVs in a job shop manufacturing system. Wang
Cakici (2016) have considered FJSP to minimise the makes- et al. (2017) have considered processing time and transpor-
pan by considering the processing time of the products on tation time with an objective to minimise the makespan.
various machines with parallel batch processing units. In An improved ant colony optimisation (IACO) is then used
above-mentioned applications (such as process industries), to solve proposed FJSP. Rossi and Dini (2007) also solved
the setup time is negligible with respect to process time, FJSP with parallel machines using ant colony optimisation
and hence, considering only processing time for FJSP can to minimise the makespan considering processing time,
be justified. transportation time and sequence-independent setup times
However, to manufacture various products where change- for FJSP. Luo et al. (2020) used improved genetic algorithm
over is required to be performed, as in case of soap manu- for optimisation model for FJSP considering setup time,
facturing industries where the products are of different size, transportation time and processing time.
shape, colour, fragrance, etc., the setup time, which may be However, it is observed that most of the researchers have
usually sequence dependent, must be considered along with not considered the waiting time due to non-availability of
processing time. Some researchers have proposed FJSP con- the machine or tooling for FJSP. In fact in case of FJSP, the
sidering processing time and setup time. Boyer et al. (2021) waiting time for machine or material handling device plays

13
412 Process Integration and Optimization for Sustainability (2022) 6:409–430

a very significant role to minimise the total time. Hence, in any part is completed and next operation of another part is
this work, FJSP model is developed for a real-life application allocated on that machine.
of press working industry considering the waiting time due An objective of this work is to select a machine from
to non-availability of the machines along with processing the available machines to manufacture various parts. The
time, setup time and material handling time. The effect of selected machine must be available to manufacture the part.
non-consideration of waiting is also studied in this research If the machine is not available, then the material flow time
work. will be high. This material flow time depends on process-
The routing flexibility, machine flexibility and sequence- ing time, setup time and waiting time. The constraints are
independent setup time (SIST) increases the complexity of limitation of manufacturing capacity of the machines within
FJSP making it a NP-hard problem. To solve such problem, an available time limit.
one can use optimizers like CPLEX. However, as these opti-
mizers mainly employ heuristics such as branch and bound Mathematical Model Formulation
method, there is always a risk of solution getting trapped into
the local optima. To overcome this issue, several meta-heu- The following parameters are known:
ristics such as genetic algorithm (Al-Hinai and Elmekkawy,
2011), Tabu search (Li et al., 2011), simulated annealing i. The production planning duration
(Jamili et al., 2011), particle swarm optimisation (Teekeng ii. Manufacturing of number of parts
et al., 2016) and ant colony optimisation (Wang et al, 2017) iii. Demand quantity
have been successfully employed by the researchers in the iv. Manufacturing rate
recent past. v. Production capacity
Artificial bee colony algorithm (ABC) is one of the
robust algorithms based on swarm intelligence and found Different notations are used and given below:
to be superior over many other algorithms with respect to
convergence rate, accuracy of solution and success rate. Indices Description
This is mainly due to the fact that ABC algorithm combines k ∈ {1, 2,…K} Time slots,
both, the stochastic selection scheme carried out by onlooker o ∈ {1, 2,…O} Operation number,
bees and greedy selection scheme used by onlookers and m ∈ { 1, 2,..M} Available machines,
employed bees to update the source position. Also the p ∈ { 1, 2,…P} Parts to be manufactured,
neighbour source production mechanism in ABC algorithm Parameters Description
is similar to the mutation process, which is self-adapting. dp Demand quantity,
However, in its basic form, ABC algorithm is used mainly Qpmk Quantity of part p manufacture on
for solving continuous optimisation problems. As FJSP is a machine m in time slot k,
discrete optimisation problem, discrete version of the ABC Tmk Duration of time slot k for
machine m,
is developed and proposed to solve FJSP in this work.
ropm the production rate of machine m
The next section deals with the formulation of a math-
for ­oth operation of ­pth part,
ematical model for flexible job shop scheduling problem
Copm the capacity of machine m for ­oth
(FJSP) with sequence-independent setup time (SIST) in a operation of p­ th part,
press working industry. invpmk Inventory level of part p, on
machine m, in time period k
Tstart opm Start time of ­oth operation of ­pth
Formulation of Mathematical Model part on ­mth machine,
Tsetupo(o+1)pm Setup time of ­oth operation of ­pth
part on ­mth machine
Problem Statement
Toperationopm Operation time of ­oth operation of
­pth part on ­mth machine,
In this work, a flexible job shop scheduling problem (FJSP)
Twait opm Waiting time of ­oth operation of
with sequence-independent setup time (SIST) is presented. ­pth part on ­mth machine,
The duration of production planning is considered as “k” Ttotalopm Total completion time of ­oth
time slots where (k = 1…K). There are “p” parts manu- operation of p­ th part on ­mth
factured with different operations “o” on anyone of “m” machine,
machines where (o = 1,.., O, m = 1,.., M and p = 1,…,P). The E1 Total processing time
production rate of all the machines is known in advance. The E2 Total setup time
sequence-independent setup occurs when the operation of E3 Total waiting time

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 413

Decision Variables   The total demand of the parts must be satisfied within
Xopm Binary variable ­Xopm = 1 if the o­ th the planning horizon. This constraint is given by Eq. (8).
operation of ­pth part is manu-
­ th machine, and
factured on m dp ≥ Qpmk , ∀p, m, k (8)
otherwise zero
Yopm Binary variable ­Yopm = 1 if the o­ th  where Qpmk can be obtained using Eq. (9)
operation of ­pth part is setup on
­mth machine, and otherwise zero Qpmk = ropm [Tmk − ΣTsetupo(i+1)pm .Yopm ]Yopm , ∀o, p, m, k
Zopm Binary variable ­Zopm = 1 if the o­ th (9)
operation of ­pth part is wait-
3) Plant Capacity
ing to be manufactured on m ­ th
machine, and otherwise zero   The quantity of parts manufactured by a machine
(Qpmk) should be less than or equal to the capacity of
The objective function is to minimise material flow time the machine (Copm). The constraint on plant capacity is
as given by Eq. (1). given by Eq. (10).

Min.Z1 = E1 .Xopm + E2 .Yopm + E3 .Zopm , ∀o, p, m (1) ΣQpmk ≤ Copm ∀o, p, m, k (10)

where 4) Part Assignment


∑O ∑M   In each time slot, exactly one part is assigned to the
E1 = dp Toperationopm .Xopm ∀o, p, m (2) machine:
o=1 m=1

M
X
p opm
= 1, ∀o, p, m, k (11)
∑O ∑P ∑
E2 = Tsetupopm .Yopm , ∀o, p, m (3)
o=1 p=1
m=1
5) Operations Precedence Constraints
Tstartopm − Tstarto(o−1)pm ≥ Tprocessopm + Tsetupo(o+1)pm , ∀o = 2, p, m (12)
∑O ∑P ∑M
E3 =
o=1 p=1 m=1
Twaitopm .Yopm , ∀o, p, m (4)
In the next section, working of the discrete artificial bee
The objective function presented in Eq. (1) comprises of colony (DABC) algorithm is presented.
operation time, setup time and waiting time of the machine
to minimise the material flow time. Minimisation of the Discrete Artificial Bee Colony Algorithm (DABC)
material flow time will eventually minimise the energy con- with k‑Means Clustering
sumption also.
The starting time of first part is zero. The starting time for Although several robust and powerful optimisation algo-
the remaining parts on machine is evaluated using Eq. (5): rithms have been developed in the recent past, most of these
algorithms are suitable for solving continuous optimisation
Tstart (o+1)pm = TTotalopm ∀o, p, m (5)
problems. Artificial bee algorithm (Karaboga and Basturk,
where 2008) is also one of such powerful algorithms successfully
applied to solve many real-life complex problems. But in
Ttotalopm = Tstart opm + Toperationopm + Tsetupo(o+1)pm + Twait opm , ∀o, p, m its basic form, it is used to solve continuous optimisation
(6) problems only. However, since the integrated production
Following constraints are considered in this optimisation planning and scheduling problem is of discrete in nature,
model. the discrete version of ABC algorithm is developed and used
in this work. The DABC algorithm consists of three phases,
1) Available Time i.e. employee bee, onlooker bee and scout bee phase as dis-
  The demand of all the parts must be satisfied dur- cussed below.
ing the planning horizon. If the demand is not com-
pleted within the available limit, then a penalty will be Employee Bee Phase
imposed. Hence, completion time of the parts should be
less than or equal to available time as given by Eq. (7). In the employee bee phase, random solutions are generated
which are equal to the number of food sources. For each of
Ttotalopm ≤ Tmk , ∀o, p, m, k (7) this initial solution, objective function and fitness function
value is calculated.
2) Demand of Parts

13
414 Process Integration and Optimization for Sustainability (2022) 6:409–430

Calculation of Fitness Function and Number of Onlooker 3) Mean of data values in each cluster as the new cluster-
Bees centres is evaluated as:
1 ∑N i
In the onlooker bee phase, the nectar amount of each food mi = x , ∀i = l, 2...k (15)
Ni j=1 ij
source is calculated. The nectar amount represents the fitness
function of each solution. The onlooker bee phase represents  where Ni is number of samples of, current-cluster i.
the mutation of the current solution. According to the fitness 4) Repeat steps 2 and 3 until the criterion function E gets
function of the solution, the solution is mutated to search converged.
the new solutions in the vicinity of the current solution. The
better solution is selected by a greedy search method. Scout Bee Phase

K‑Means Clustering Phase The scout bee phase represents the searching of new food
source if the existing food source is exhausted. Similarly,
K-means clustering algorithm is used to group the machines after mutation, if no change in the fitness function value is
having similar attributes so that if the constraint of maxi- observed after some iterations, then new solutions are again
mum processing time on any machine is violated, few of its generated. All these steps are carried out until the termina-
operations can be transferred to other machine in the same tion criteria is fulfilled.
group. As shown in Fig. 3, various clusters are formed from The effectiveness of the proposed approach is demon-
a group of data. In the k-means clustering, initially, k values strated through two application examples discussed in the
are generated as initial cluster centres. The distance between next sections.
each data value and each cluster centre is calculated. Each
data value is assigned to the nearest cluster centre. The aver-
ages of all cluster centres are updated. The square error cri- Application Example 1
terion for clustering is given by Eq. (13).
�k �ni In this example, an integrated production planning and
E=
i=1 j=1
‖xij − ci ‖2 (13) scheduling problem of a sheet metal press working indus-
try is considered. There are 43 parts of 5 companies with
where Xij is the sample j of i-class, mi is the centre of a total of 118 operations to be manufactured on 18 stamp-
i-class and ni is number of samples of i-class. ing press machines. These operations can be performed
Following steps are carried out to perform k-means on any of the available machines of the required tonnage.
clustering: As shown in Appendix Table 7, the part “10,101” can
Let N data values are clustered in many clusters k: be manufactured on any of available machine numbers
1, 2, 3, 4, 10, 14 and 16. The machines have minimum
1) Generate randomly k data values as initial cluster-centres capacity of 30 t and maximum capacity of 150 t. A set of
(ci,.,cn). die and punch is required for performing any stamping
2) Measure the distance between each data value Xi and operation on a machine. After finishing the operation,
each cluster centre, and then assign each data value to next operation of the part is performed after changing
the nearest cluster. Formula for calculating distance the set of die and punch. All the machines are capable
between each data value Xi and each cluster-centre is F. to manufacture some operations of all the parts by tak-

∑d ( )2 ing changeover. Appendix Table 7 shows part name, tool
(14) description, cycle time for operation of a part, weekly
( )
d xi , ci = xi − ci , ∀𝜄
j=1
demand for the parts, processing time for operation of

Fig. 3  Clustering algorithm

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 415

a part and number of available machines for perform- ∏43 ��∏7 � �


j=1 o=1
moj + 1 =
ing operations of a part, part number, machine capacity (7 + 1) × ((7 × 7 × 7)
and available alternate machines. As shown in Appendix +1) × (7 + 1) × (7 + 1) × ((7 × 5 × 5 × 5 × 7)
Table 7, there are 43 parts of different 5 companies are +1) × ((7 × 5 × 5 × 5 × 7)
manufactured on 18 different stamping press machines. +1) × ((4 × 7 × 5 × 3 × 7 × 7 × 7) + 1) × (4 + 1) × ((7 × 7 × 7)
The part number is coded as follows: +1) × ((7 × 5 × 5 × 5 × 7)
+1) × ((5 × 7 × 7 × 7 × 5)
• First digit indicates the name of company. So, first digit +1) × ((5 × 7 × 7 × 5 × 7 × 7) + 1) × (7 + 1) × ((5 × 7 × 7 × 7 × 7 × 7 × 5)
is between 1 and 5. +1) × ((5 × 7 × 7 × 7 × 7 × 7 × 5) + 1) × (7 + 1) × ((7 × 7)
• Second and third digit indicates part number. +1) × ((7 × 7) + 1) × (7 + 1) × ((7 × 7)
• Fourth and fifth digit indicates operation numbers of the +1) × ((7 × 7) + 1) × ((7 × 7)
part. +1) × (7 + 1) × (7 + 1) × (7 + 1) × ((7 × 7)
• The description of part number 10101 is shown Fig. 4. +1) × ((7 × 7) + 1) × (7 + 1) × ((7 × 7 × 7 × 7 × 7) + 1) × ((5 × 4 × 7)
As shown in Fig. 4, part number 10101 indicates the first +1) × ((5 × 7 × 7) + 1) × (7 + 1) × ((5 × 4)
operation of first part of first company. +1) × ((5 × 5 × 7) + 1) × (7 + 1) × ((7 × 5 × 5 × 7)
+1) × ((5 × 5 × 5 × 7 × 7)
In FJSP, any one operation can be manufactured on any of +1) × ((5 × 5) + 1) × ((5 × 5 × 5 × 7 × 7) + 1) × ((7 × 7)
the available machine. In the machine assignment phase, it may +1) × ((7 × 7) + 1) × (5 + 1)
be possible that, many operations are allocated to one machine, = 3.69685 × 1093 solutions.
and remaining machines may remain idle. This will increase
the bottleneck in the manufacturing system and increases the Some of the solutions may not be feasible due to con-
material flow time. The minimum total completion time will straint of machine availability time and operation precedence
also minimise the material flow time. To calculate this total constraint. The flow chart of DABC algorithm to solve this
completion time, the values of processing time and setup time problem is shown in Fig. 6.
are given in Appendix Table 7. The sequence of operations The steps of DABC algorithm are discussed below.
performed on part 1310-Idam Bracket (new) is shown in Fig. 5.
In this problem, a random process plan is selected and Step 1. Determination of Algorithm Parameters
according to the process plan, parts are allocated to the
machines for processing of operations. In this problem, 43 The algorithm-specific parameters for discrete ABC algo-
parts having 118 operations are manufactured on 18 differ- rithm are:
ent stamping press machines. The flexibility of selection of
machines is complex and can be calculated. Let “j” be total (i) Number of employed bees
number of parts having “oj” operations to be processed on (ii) Number of onlooker bees
“m” machines. Therefore, the number of possible solutions (iii) Number of scout bees
can be calculated by (Bhosale and Pawar, 2019): (iv) Mutation probability
(v) Population size
j
{( oj ) }
∏ ∏
NumberofPossiblesolutions = moj + 1 The tuning of the parameters is a crucial task. The DABC
j=1 o=1
algorithm parameters are set by performing various trails as
(16) presented in Table 1.
The illustration for the example given in Table 1 is as Based on several trials runs, the following values of algo-
follows: rithm-specific parameters are set:

• Number of employed bees: 20


• Number of onlooker bees: 41
1 0 1 0 1
• Number of scout bees: 5
• Number of iterations = 100
Company Operaon
Part Number
Name number Step 2. Initialisation of Population

Since there are total 118 operations, to represent a particular


Fig. 4  Description of part number operation a random number is generated between 1 and 118

13
416 Process Integration and Optimization for Sustainability (2022) 6:409–430

as mentioned by “Sr. No.” in Appendix Table 7. The sample


sequence of operations is presented below:

Sequence of randomly generated numbers


11,75,88,14,69,66,17,30,72,82,76,2,95,78,15,112,110,102,74,83,58,90,20,41,101,43,
18,39,106,16,60,49,54,87,114,27,118,23,79,94,28,33,4,42,96,35,38,7,47,91,99,13,8,
80,70,63,51,36,25,52,89,53,98,71,12,1,31,92,21,103,26,97,24,67,56,64,57,37,84,45,
48,50,40,65,81,19,34,10,5,100,32,107,46,111,73,113,68,62,22,116,55,59,93,29,115,
61,44,6,85,86,77,3,105,117,104,109,108,9

These randomly generated numbers represent the serial while serial number “75” represents part number “21,001”.
numbers which are given in Appendix Table 7. For exam- All the part numbers corresponding to serial numbers are
ple, serial number “11” represents part number “10,505”, presented below:

Part numbers corresponding to serial numbers

10505,21001,30301,10603,20502,20401,10701,11003,20701,30103,21002,10201,30602,
21102,10604,40204,40202,30901,20901,30104,11507,30303,10704,11204,30804,11206,
10702,11202,30905,10605,11701,11405,11503,30203,50101,10903,50301,10707,21201,
30601,11001,11101,10203,11205,30603,11103,11201,10501,11403,30401,30802,10602,
10502,30101,20601,20201,11407,11104,10901,11501,30302,11502,30801,20602,10601,
10101,11004,30501,10705,30902,10902,30701,10801,20402,11505,20202,11506,11105,
30105,11401,11404,11406,11203,20301,30102,10703,11102,10504,10301,30803,11005,
40101,11402,40203,20801,40205,20501,20102,10706,50201,11504,11601,30502,11002,
50102,20101,11301,10401,30201,30202,21101,10202,30904,50202,30903,40201,40102,
10503

However, due to operation-precedence constraint by the computer program taking into account the oper-
(Eq. 13), part number “10,505” cannot be manufactured ation-precedence constraint. Hence, code “10,500”
before part number “10,501”. To reduce the computa- is used instead of part numbers “10,501”, “10,502”,
tional efforts, during swap operation, only part numbers “10,503”, etc. The solution is therefore represented as
are considered. The operation number is then assigned given below.

Operation-precedence constraint
10500,21000,30300,10600,20500,20400,10700,11000,20700,30100,21000,10200,30600,
21100,10600,40200,40200,30900,20900,30100,11500,30300,10700,11200,30800,11200,
10700,11200,30900,10600,11700,11400,11500,30200,50100,10900,50300,10700,21200,
30600,11000,11100,10200,11200,30600,11100,11200,10500,11400,30400,30800,10600,
10500,30100,20600,20200,11400,11100,10900,11500,30300,11500,30800,20600,10600,
10100,11000,30500,10700,30900,10900,30700,10800,20400,11500,20200,11500,11100,
30100,11400,11400,11400,11200,20300,30100,10700,11100,10500,10300,30800,11000,
40100,11400,40200,20800,40200,20500,20100,10700,50200,11500,11600,30500,11000,
50100,20100,11300,10400,30200,30200,21100,10200,30900,50200,30900,40200,40100,
10500

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 417

Fig. 5  Sequence of operations
of part 1310- Idam Bracket. a
Cropping, b channel forming, c
I–U forming, d II–U forming, e
slot pie and vertical sizing, f lug
forming, and g flange flattening

(a) Cropping (b) Channel Forming

(C) I – U Forming (d) II- U forming

(e)Slot pie & vertical sizing (f) Lug forming

(g) Flange flattening

Table 1  Determination of algorithm parameters


As shown above, number “10,500” means operation “00”
Number of Number of Number of Number of Objective
of fifth part of company 1 is manufactured. The objective
employed onlooker scout bees iterations function
function is considered to minimise the material flow time. bees bees value
For the sequence of 118 operations, the material flow time
is calculated. The constraint of available time is considered 20 30 3 50 8700
as 8640 min. A static penalty of ₹ 100 per minute for the 20 30 3 75 8644
violation of the constraint is added in the objective function 20 30 3 100 8890
of the solution if the total completion time is more than the 20 40 5 50 8632
available time. The combined objective function is obtained 20 40 5 75 9012
as per Eq. (17). 20 40 5 100 8500
30 30 3 50 8766
m
∑ 30 30 3 75 8699
Z = Z1 + P × Cm (17) 30 30 3 100 8802
1
30 40 5 50 8732
where P is static penalty assigned only if the constraint 30 40 5 75 8624
is violated, Cm is the amount of constraint violation, m is 30 40 5 100 8654

13
418 Process Integration and Optimization for Sustainability (2022) 6:409–430

Fig. 6  Flow chart of DABC


Number of initial solutions as many as number of food sources are
algorithm for FJSP in press
generated randomly. Each solution (food source) represents the
working industry Initialization of sequence of operations and machines required to manufacture all 43
population parts from 5 companies. The number of employed bees (usually
equal to the number of food sources), number of onlooker bees and
scout bees is also determined.

Every employed bee is assigned to one food source. The richness of


the food source is evaluated which represents the fitness value of
Employed bee phase solution in terms of total material flow time. The employed bees (by
probability) communicate the information about the richness and
distance of its food source by performing the waggle dance.

The number of onlooker bees that follows the employed bees is


Onlooker bee phase based on richness (fitness values) of food of the source to which the
employed bee is assigned. The new food sources, as many as
number of onlooker bees assigned to particular food source, are
discovered in the vicinity of that food source. This is actually done
by performing swap operation (mutation) on each solution. In this
phase, the solutions with new sequence of operations are generated

The fitness values (material flow time) of each newly generated


solution is evaluated. If the fitness value of the fit solution (from
Update food source
the newly generated solutions in onlooker bee phase) is better than
position
that of existing solution (food source), the new solution will
replace existing solution and the food source position is updated.
The solution is thus improved. This operation is carried out for all
current food sources and positions of food sources updated.

The scout bee represents the randomly generated solution. The


fitness value of the scout bee solution is evaluated and if it is better
Scout bee phase
than that of worst solution in the updated population then the scout
bee solution will replace that worst solution. The number of worst
solutions are as many as number of scout bees.

In order to fulfil the demand, the total time on any machine should
not exceed 144 Hrs. If the updated solution is not feasible (i.e. total
Feasibility check time on its one or more machines exceeds 144 Hrs.), k-means
convergence clustering algorithm is used to identify the suitable machine from
alternatives available to replace non-feasible machines.

Iterate until convergence

number of constraints, and Z1 is the objective function given Step 4. Mutation Phase
by Eq. (1).
In the mutation phase, new solutions are searched in
Step 3. Onlooker Bee Phase the neighbourhood of the current solution. As shown in
Table 2, for food source 1, 6 onlooker bees are assigned.
The number of onlooker bees is calculated depending upon Hence, this solution is mutated 6 times. Thus, 6 new
the fitness function value of each solution. A number of solutions will be obtained. The solution having better
onlooker bees are calculated according to the fitness func- fitness function value will be stored as better solution by
tion value of each solution. The number of onlooker bees a greedy search method. The swap operation is presented
assigned to a particular employed bee is shown in Table 2. in Fig. 7.
As shown in Table 2, solution 1 has maximum fitness func- The precedence constraint is applied on the equation
tion value (i.e. minimum value of Z), and hence, maximum obtained by mutation operation. The operation numbers
number of onlooker bees are allocated to solution 1. are added in the part number, and machines are selected

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 419

from the list of available machines. As presented below,


“10,501(9)” means first operation of fifth part of company
1 is manufactured on machine 9.

Operation number and machine numbers


10501(9),21001(3),30301(12),10601(6),20501(2),20401(2),10701(18),11001(8),20701(4),30
101(1),21002(6),10201(18),30601(11),21101(14),10602(7),40201(12),40202(11),
30901(9),20901(12),30102(10),11501(8),30302(14),10702(5),11201(12),30801(1),
11202(14),10703(7),11203(1),30902(9),10603(11),11701(2),11401(12),11502(13),
30201(11),50101(1),10901(16),50301(12),10704(15),21201(10),30602(8),11002(12),
11101(9),10202(1),11204(7),30603(18),11102(10),11205(5),10502(7),11402(3),30401(7),30
802(8),10604(7),10503(7),30103(3),20601(13),20201(3),11403(2),11103(14),
10902(14),11503(18),30303(16),11504(16),30803(11),20602(16),10605(10),10101(1),
11003(8),30501(12),10705(14),30903(9),10903(4),30701(4),10801(4),20402(9),11505(1),20
202(16),11506(14),11104(10),30104(3),11404(4),11405(14),11406(2),11206(4),
20301(2),30105(10),10706(1),11105(8),10504(11),10301(14),30804(18),11004(11),
40101(7),11407(12),40203(12),20801(10),40204(5),20502(8),20101(10),10707(1),
50201(1),11507(11),11601(10),30502(4),11005(14),50102(7),20102(4),11301(2),
10401(1),30202(1),30203(9),21102(8),10203(7),30904(4),50202(2),30905(18),40205(4),
40102(12),10505(1)

If there is no improvement observed in the solutions by where WC is the cost due to waiting time. Other nota-
employee bee and onlooker bee phase, then, new random tions are same as those mentioned by Mahdavi et al.
solutions are generated in the scout bee phase. All this (2011)
procedure is carried out until the termination criteria is
reached. Constraints

1) Each part type should be processed just under a particu-


Application Example 2 lar process plan.
pi
To study the effect of non-consideration of waiting time on the

w(ip) = 1 ∀i (19)
performance of FJSP, application example presented by Mah- p=1
davi et al. (2011) is considered. Mahdavi et al. (2011) proposed
minimisation of the total cost which includes operation cost,
setup cost, material handling cost and robot cost. However, the
cost due to waiting time is not considered in their model. In
this work, the FJSP model is therefore reformulated by adding Table 2  Number of onlooker Sol. no Z No. of
the waiting cost as given by Eq. (18). The proposed model is bees assigned to the employed onlooker
then solved using discrete artificial bee colony algorithm. bees bees

1 11,740 6
pi S N pi S
∑N ∑ (ip)
∑ ∑ ∑ ∑ ∑(ip) M

di OCjs(ip) .Xjs(ip) + SCjs(ip). .Xjs
i=1 p=1 s(ip) =1 j∈jips i=1 p=1 s(ip) =1 j=1
(ip) 2 15,000 5
N
∑ pi

S
(ip) M H E
∑ ∑∑∑
3 18,840 4
+ di (MHhjes(ip) + RCjs(ip) ) 4 19,320 4
i=1 p=1 s(ip) =1 j=1 h=1 e=1
5 19,920 4
N pi S
(ip) M
.(Yjhes(ip) ) +
∑ ∑ ∑ ∑
Wcjs(ip) 6 16,080 5
i=1 p=1 s(ip) =1 j=1 7 20,580 4
(18) 8 15,360 5
9 16,980 4
10 23,040 3

13
420 Process Integration and Optimization for Sustainability (2022) 6:409–430

Fig. 7  Swap operation. a Before


swap operation and b after swap
operation

2) Make sure that at most one machine should be selected tjsr ≥ 0 ∀s(ip) , j (24)
to perform operation.
(ip)

S(ip) 7) Once a machine is selected for operation s(ip), then all


∑ the material handling operation h corresponding to (sj)
M.kj ≤ Xjs(ip) ∀j (20)
s(ip) =1 have to be performed.

3) This constraint guarantees that the operations allocated


Xjs(ip) = vjhs(ip) ∀j , h, s(ip) (25)
to any machine cannot exceed the machine’s capacity.
8) This constraint ensures that, once a machine is selected
N
∑ pi s(ip)
∑ ∑ for operation s(ip), then all the material handling opera-
di tjs(ip) .Xjs(ip) ≤ Tj kj Cj ∀j (21) tion h corresponding to (sj) have to be performed.
i=1 p=1 s=1
N pi s(ip) M
4) The remaining time on each machine should be greater
∑ ∑∑∑ ∑
Xjs(ip) ≥ kj ∀j (26)
or equal to the time required by the next operation s(ip) i=1 p=1 s=1 j=1 e∈Ejs(ip)
to be assigned to this machine.
9) If machine j is selected, then at least one operation has
di .tjs(ip) .Xjs(ip) ≤ tjsr
(ip)
∀s(ip) , j (22) to be allocated to that machine.
N pi s(ip)
5) Each operation s(ip) of the selected process plan is ∑ ∑∑
Xjs(ip) ≥ kj ∀j (27)
assigned to only one of the available machines. i=1 p=1 s=1

Xjs(ip) = w(ip) ∀s(ip)
(23)
j∈j s(ip) There exist N part types (i = 1,..., N), which can be
sequenced in N! ways and set of machines labelled
6) The remaining time on any machine after any assign-
(j = 1,..., M) where the demand di of a given part type i
ment of operation should be more or equal to zero:

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 421

is assumed to be uniform over the planning period. Each for part type 1 can be completed on any of the machines
part type can be processed under the different process j ∈ ­j111 = {2,3}, while operation s = 2 can be completed on
plans (p = 1,..., pi). The operations of a process plan pi any of the machines j ∈ ­j112 = {1,4,5,6} and operation s = 1
are represented by the indices S = 1,..., S(ip). All together from process plan 2 of part type 1 can be completed on any
M × S(ip) combinations of machine-operation allocation of the machines j ∈ ­j121 = {1,3,4}.
are possible for one of the part type sequences. Hence, In Appendix Table 8, the values of demand, operation
for N! part type sequences the total number of possible cost, material handling cost, robot cost and operation time
allocation N! M × S(ip). However some of these alloca- are given. The setup cost of machine 1 is $225, machine 2
tions are not possible because they are not able to satisfy is $250, machine 3 is $150, machine 4 is $275, machine 5 is
system constraints. $800 and machine 6 is $150.
For example, as shown in Appendix Table 8, the first part Appendix Table 8 shows that, all products have one or
type has two different process plans (p1 = 2) and (p2 = 2), more process plan and each process plan have one or more
(p3 = 1), (p4 = 2). There is j = 1, 2,..., 6 machines, each with operations. It is assumed that the details regarding num-
a capacity of 480 s during the planning period. The capabili- ber of jobs to be produced, their processing time and the
ties of the machines to perform the operations of the part number of operations to be performed on each product are
types are illustrated too. For example, part type i = 1 has already available in advance. In this problem, the flexibility
p1 = 2 process plans. Under process plan p = 1, this part type of selecting a process plan and then allocating an operation
has ­s(11) = 2 operations with the indices s ∈ {1,2}, whereas to a machine is available. Four products with one or more
under process plan p = 2, it has ­s(11) = 3 operations, with operations are to be manufactured on six machines. The flex-
indices s ∈ {1,2,3}. Operation s = 1 of process plan p = 1 ibility makes this problem complex and needs to evaluate:

Table 3  Comparison of optimal solution with industry solution


Sequence of operations

Sequence of operations of parts on machines after optimi- 20,501(18),20,201(14),50,201(16),30,201(8),10,501(17),10,901(2),40,201(7),


sation 20,101(1),30,801(16),21,001(1),30,101(10),30,501(8),50,202(2),11,201(12),
30,901(12),30,902(12),30,301(11),11,501(9),21,101(3),11,001(6),20,401(3),
20,701(18),11,401(9),30,802(12),50,301(8),30,803(8),10,601(9),11,002(7),
11,701(10),21,102(13),50,101(3),11,101(9),11,102(2),30,102(4),10,201(3),
11,402(13),10,902(4),30,601(11),10,101(16),40,202(12),20,202(16),30,903(8),
11,601(2),11,003(12),30,602(12),10,701(14),50,102(9),10,602(7),10,502(11),
10,603(12),11,103(18),40,101(11),10,202(3),11,502(17),11,403(1),10,203(17),
11,503(10),11,504(10),11,202(1),10,702(9),30,202(4),11,203(1),30,701(18),
30,804(18),10,703(8),40,203(7),11,505(3),11,404(16),11,004(7),30,103(2),
20,801(16),10,503(9),11,405(18),11,104(4),10,704(15),10,604(7),30,203(13),
40,204(8),11,406(2),10,705(10),20,301(1),30,302(14),11,105(7),10,706(4),
11,506(4),10,301(18),10,903(16),10,401(1),30,104(3),30,105(3),10,707(18),
21,201(2),40,205(16),21,002(13),11,204(8),20,601(5),10,605(4),20,602(14),
30,904(1),30,401(12),11,407(9),11,301(2),11,005(14),10,504(11),40,102(9),
20,402(5),30,502(2),10,801(1),20,901(12),11,205(8),20,102(14),30,905(4),
11,206(18),30,603(6),30,303(10),20,502(7),10,505(2),11,507(11)
Sequence of operations of parts before optimisation 10,701(20),11,001(1),10,201(2),50,201(2),11,201(7),20,401(12),11,401(11),
11,202(6),30,901(3),30,801(3),10,601(4),30,902(7),30,101(9),10,702(3),30,301(3),
20,402(20),50,101(13),20,601(14),11,501(12),20,101(9),11,601(9),11,002(16),
10,501(4),11,203(1),30,401(18),30,102(11),11,101(9),40,101(3),30,601(16),
11,502(9),40,201(20),11,102(7),30,201(4),10,301(14),50,202(7),10,202(8),
11,503(4),21,101(3),30,701(7),10,703(3),10,602(9),10,704(11),10,801(12),
11,301(16),10,603(3),21,102(8),21,201(11),40,102(10),30,202(10),10,901(16),
20,102(7),30,602(9),50,102(20),21,001(8),11,402(2),11,504(10),20,301(4),
11,505(2),30,302(3),11,403(20),11,204(2),10,502(10),11,506(9),30,303(9),
20,501(19),50,301(14),20,502(1),30,103(13),11,003(14),10,902(14),30,802(7),
10,705(11),10,203(12),30,803(3),30,104(8),10,706(12),11,103(1),11,404(18),
11,205(5),10,604(4),30,804(11),20,701(7),30,903(16),40,202(9),10,503(8),
30,904(16),10,504(2),11,104(7),30,203(2),30,501(10),20,201(14),30,905(18),
10,101(2),11,405(2),11,105(3),11,004(12),10,505(18),40,203(1),30,603(11),
20,901(20),30,105(8),11,206(7),40,204(1),11,406(14),20,602(5),20,202(16),
11,701(2),40,205(4),21,002(10),11,507(1),10,401(11),10,605(14),11,407(14),
30,502(18),11,005(7),10,707(14),20,801(10),10,903(7)

13
422 Process Integration and Optimization for Sustainability (2022) 6:409–430

Table 4  Material handling time Machine 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


between the machines
1 0 2 4 6 8 10 12 14 16 16 15 13 11 10 8 7 6 6
2 2 0 2 4 6 8 10 12 14 14 13 11 10 8 7 6 6 6
3 4 2 0 2 4 6 8 10 12 12 11 10 8 7 6 6 6 7
4 6 4 2 0 2 4 6 8 10 10 10 8 7 6 6 6 7 8
5 8 6 4 2 0 2 4 6 8 8 8 7 6 6 6 7 8 10
6 10 8 6 4 2 0 2 4 6 7 7 6 6 6 7 8 10 11
7 12 10 8 6 4 2 0 2 4 5 6 6 6 7 8 10 11 13
8 14 12 10 8 6 4 2 0 2 4 6 6 7 8 10 11 13 15
9 16 14 12 10 8 6 4 2 0 2 4 5 7 8 10 12 14 16
10 16 14 12 10 8 7 5 4 2 0 2 4 6 8 10 12 14 16
11 15 13 11 10 8 7 6 6 4 2 0 2 4 6 8 10 12 14
12 13 11 10 8 7 6 6 6 5 4 2 0 2 4 6 8 10 12
13 11 10 8 7 6 6 6 7 7 6 4 2 0 2 4 6 8 10
14 10 8 7 6 6 6 7 8 8 8 6 4 2 0 2 4 6 8
15 8 7 6 6 6 7 8 10 10 10 8 6 4 2 0 2 4 6
16 7 6 6 6 7 8 10 11 12 12 10 8 6 4 2 0 2 4
17 6 6 6 7 8 10 11 13 14 14 12 10 8 6 4 2 0 2
18 6 6 7 8 10 11 13 15 16 16 14 12 10 8 6 4 2 0

∏4 ��∏3 machine number “18”, and “20,201(14)” means an operation


� �
M + 1 = ((2 × 4) + 1) × ((3 × 2 × 2) + 1) × 
i=1 s=1
“20,201” is processed on machine “14”. The optimum material
((3 × 3) + 1) × ((1 × 1 × 2) + 1) ×  flow time is calculated by using Eq. (1), and it is 7500 min. For
((2 × 3) + 1) × ((1 × 3 × 1) + 1) × ((3 × 4) + 1). the same demand, the company used traditional solution, and
 = 1.28 × ­106 Solutions. the time required before implementation is 8400 min. Thus,
there is saving of 10.71% by using DABC algorithm.
The results of optimisation by DABC algorithm are
Computational Results tested for 100 independent runs. The best objective func-
tion value obtained is 7609 min, the worst objective function
The results obtained by using DABC algorithm for the two value is 8600 min and the average objective function value
application examples are presented in this section. is 7887 min which gives standard deviation of 0.11. This
shows the robustness of the discrete ABC to solve integrated
Computational Results for Application Example 1 production planning and scheduling problems.
The material handling time is calculated for the same
The result of an objective function is determined by CPLEX sequence of operations by using data of Table 4. The mate-
software. The CPLEX software gives the optimum value of rial handling time between the machines is shown in Table 4.
7500 min. The optimum solution obtained by CPLEX soft- The comparison of optimal solution with industry solu-
ware is compared with the proposed DABC algorithm. This tion is shown in Table 5. The solution obtained by DABC
optimum solution provides sequence of operations of the parts gives optimum material flow time as 7500 min which com-
and the machine on which a particular operation should be prises of processing time of 7260 min, setup time of 240 min
performed and is presented in Table 3. As shown in Table 3, and waiting time of 0 (min), whereas for the solution of
“20,501(18)” means the operation “20,501” is processed on industry, processing time of 7260 min, setup time of 240 and

Table 5  Results of optimisation Methodology Processing Setup Waiting Total material Actual material
using different methodologies time (min.) time time (min.) flow time (min.) handling time
(min.) (min.)

DABC (proposed) 7260 240 0 7500 533


CPLEX software 7260 240 0 7500 595
Existing industry practice 7260 240 900 8400 557

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 423

Table 6  Calculation for cost of Methodology Material Wattage of material Price per kilo Cost of energy for
energy handling time handling equipment watt-hour material handling
(hrs.) (kW) in (Rs.) equipment

DABC (proposed) 8.88 5 8.85 393


CPLEX software 9.92 5 8.85 438
Existing industry practice 9.28 5 8.85 410

also there is a waiting time of 900 min. Hence, the material A k-means clustering algorithm is used to converge the algo-
flow time of industry solution is 8400 min. rithm in lesser time. The number of iterations required to
The optimum solutions obtained by using proposed converge the solution for DABC algorithm with k-means
DABC algorithm, CPLEX software and existing industry clustering are around 73–77 iterations, whereas for DABC
practice are shown in Table 5. As shown in Table 5, the algorithm without k-means clustering are 93–96 iterations.
material handling time required is 533 min, 595 min and This shows the feasibility of proposed methodology for
573 min for the solution obtained by DABC, CPLEX and implementation and solves the FJSP in lesser time.
industry, respectively. As shown in Table 5, although the
processing time and setup time are the same for the solu- Computational Results for Application Example 2
tions obtained by CPLEX and DABC algorithm, actual
material handling time is less for the solution obtained by The results of optimisation for application example 2 are
DABC algorithm as compared to CPLEX software. The data presented in Appendix Table 9. The Gantt’s chart for the
obtained from Table 5 is used to calculate the cost of energy optimum solution of Mahdavi et  al. (2011) is shown in
required for the press tool and material handling equipment Fig. 9. As shown in Fig. 9, there is waiting time of 195 min
and presented in Table 6. The data in Table 6 shows that on machine 4 for second operation of part 3 which is indi-
there is 10.4% saving of cost of energy for the solution cated by P(3)-2. Similarly, there is waiting time of 180 min
obtained by DABC as compared to the CPLEX software. on machine 6 for second operation of part 4 which is shown
Appendix Figure 10 shows the Gantt’s chart of optimum by P(4)-2.
material flow time. Figure 8 shows the convergence graph The steps of DABC algorithm are applied to solve this
of the DABC algorithm. problem, and the results of optimisation by using chaotic
The FJSP is solved with CPLEX Studio IDE 12.9.0 on ant swarm simulation-based optimisation (­ CAS2O) method
Intel, core-i3, 3110 M, CPU @ 2.4 GHz, 4 GB memory. (Mahdavi et al., 2011) are compared to those obtained using
This problem involved 874 variables and 214 constraints. proposed DABC algorithm as shown in Appendix Table 10.
The total time required is 30.11 s to solve this problem for The computational platform to solve this model is Intel PC,
DABC algorithm and using visual basic platform is 27.5 s, core-i3, 3110 M, CPU @ 2.4 GHz, 4 GB memory. The total
while for CPLEX software, it is 30.11 s. time required to solve this problem for DABC algorithm
The result of example 1 is optimized with CPLEX optimi- using visual basic platform is 11.78 s. The sequence of
sation studio 12.9.0 and also verified with DABC algorithm. operation is given by 1(1) {3, 1} which indicates that for
part 1, process plan 1 is selected, and first operation is per-
formed on machine 3, and the second operation is performed

Fig. 8  Convergence graph of the DABC algorithm for application


example 1 Fig. 9  Gantt’s chart for application example 2

13
424 Process Integration and Optimization for Sustainability (2022) 6:409–430

on machine 1. The optimum process plan obtained by pro- in industries to solve such problems, and hence, the results
posed methodology is 1(1){3,1}, 2(1){1,6}, 3(1){3,4} and of DABC are also compared with those obtained by using
4(2){4,6}. The operation cost is $1530, robot cost is $1650, CPLEX software, and it is observed that the DABC algo-
material handling cost is $1046, setup cost is $800 and cost rithm outperformed the result obtained by using CPLEX
due to waiting time is $375 which is assumed and equal to software showing the significant improvement of about
total operation cost. Hence, the total cost for the optimum 10.71%.
solution is $5401 as compared to $7139 which is given by To validate the effectiveness of the proposed approach,
one of the process plans of Mahdavi et al. (2011). Thus, another example based on the mathematical model devel-
by implementing the proposed methodology, there is about oped by Mahdavi et al. (2011) is considered. Mahdavi et al.
24.34% reduction in the total cost. (2011) solve the model using chaotic ant swarm simulation-
based optimisation, however, without considering the waiting
cost. Since the waiting cost forms an essential component
Conclusions of integrated production planning and scheduling problem,
the model is reformulated considering cost due to waiting
In this work, an integrated production planning and schedul- time. The result of optimisation shows that DABC algorithm
ing approach in flexible job shop scheduling problem (FJSP) outperformed chaotic ant swarm simulation-based optimisa-
environment is implemented through a real-life problem tion showing a significant improvement of about 24%. This
of a sheet metal press working industry. A mathematical is mainly due to the fact that there is significant reduction in
model is developed to minimise the material flow time waiting cost from $1783 (by using chaotic ant swarm simula-
which comprises of processing time, setup time and waiting tion-based optimisation) to $375 (by using DABC algorithm).
time. The DABC algorithm is used to optimise the material The results obtained for the two examples considered in this
flow time. The results obtained by using DABC algorithm work clearly indicate that the DABC algorithm is very suit-
shows a significant reduction of 10.71% for material flow able for solving the discrete NP hard problem of integrated
time (and thereby reduction in energy consumption by the production planning and scheduling in FJSP environment.
same amount) over those obtained by using existing indus- Thus, the proposed approach will certainly take the press
try practice. CPLEX is most commonly employed software tool industries a step ahead towards achieving a goal of sus-
tainability (Tables 7, 8, 9, 10) (Fig. 10).

Appendix

(Tables 7, 8, 9, 10) (Fig. 10) 

Table 7  Weekly demand, machine capacity and available machines for the parts.
Sr. no Part no Operation Weekly processing Machine capacity Available alternate machines
time + setup time (min)
1 10,101 Dimpling 1440 50 to 75 T m1 m2 m3 m4 m10 m14 m16

2 10,201 Blanking 840 50 to 75 T m1 m2 m3 m4 m10 m14 m18


3 10,202 I Forming 840 30 to 75 T m1 m2 m3 m4 m10 m14 m16
4 10,203 II Forming 480 100 to 150 T m5 m6 m7 m8 m9 m13 m17
5 10,301 Blanking 900 50 to 75 T m1 m2 m3 m4 m10 m14 m18
6 10,401 Blanking 600 50 to 75 T m1 m2 m3 m4 m10 m14 m16
7 10,501 Blanking 1020 100 to 150 T m5 m6 m7 m8 m9 m13 m17
8 10,502 Forming 840 150 T m7 m8 m9 m11 m12
9 10,503 Coining 840 150 T m7 m8 m9 m11 m12
10 10,504 Re-coining 720 150 T m7 m8 m9 m11 m12
11 10,505 Hole pie 840 30 to 100 T m1 m2 m3 m4 m10 m14 m18
12 10,601 Blanking 1260 100 to 150 T m5 m6 m7 m8 m9 m13 m17
13 10,602 Forming 720 150 T m7 m8 m9 m11 m12
14 10,603 Coining 840 150 T m7 m8 m9 m11 m12
15 10,604 Re-coining 840 150 T m7 m8 m9 m11 m12
16 10,605 Hole pie 720 30 to 100 T m1 m2 m3 m4 m10 m14 m16

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 425

Sr. no Part no Operation Weekly processing Machine capacity Available alternate machines
time + setup time (min)
1 10,101 Dimpling 1440 50 to 75 T m1 m2 m3 m4 m10 m14 m16
17 10,701 Cropping 480 75 T m3 m14 m16 m18
18 10,702 Channel forming 540 100 to 150 T m5 m6 m7 m8 m9 m13 m17
19 10,703 Ist U forming 480 150 T m7 m8 m9 m11 m12
20 10,704 U forming 540 200 T m15 m17 m19
21 10,705 Vertical Sizing + Slot Pie 780 30 to 75 T m1 m2 m3 m4 m10 m14 m18
22 10,706 Lug forming 480 30 to 75 T m1 m2 m3 m4 m10 m14 m16
23 10,707 Flange flatting 780 30 to 75 T m1 m2 m3 m4 m10 m14 m18
24 10,801 Blanking and forming 360 50 T m1 m2 m4 m10
25 10,901 Blanking 600 50 to 75 T m1 m2 m3 m4 m10 m14 m16
26 10,902 Forming 360 50 to 75 T m1 m2 m3 m4 m10 m14 m18
27 10,903 Lug Forming 300 30 to 75 T m1 m2 m3 m4 m10 m14 m16
28 11,001 Blanking 480 100 to 150 T m5 m6 m7 m8 m9 m13 m17
29 11,002 Forming 480 150 T m7 m8 m9 m11 m12
30 11,003 Coining 480 150 T m7 m8 m9 m11 m12
31 11,004 Re-coining 360 150 T m7 m8 m9 m11 m12
32 11,005 Hole pie 420 30 to 100 T m1 m2 m3 m4 m10 m14 m18
33 11,101 Blanking 540 150 T m7 m8 m9 m11 m12
34 11,102 Window pie 420 30 to 75 T m1 m2 m3 m4 m10 m14 m16
35 11,103 12 relief hole pie 420 30 to 75 T m1 m2 m3 m4 m10 m14 m18
36 11,104 18 hole + MSL logo 420 30 to 75 T m1 m2 m3 m4 m10 m14 m16
37 11,105 Forming 360 150 T m7 m8 m9 m11 m12
38 11,201 Blanking 540 150 T m7 m8 m9 m11 m12
39 11,202 Window pie 420 30 to 75 T m1 m2 m3 m4 m10 m14 m18
40 11,203 12 relief Hole pie 420 30 to 75 T m1 m2 m3 m4 m10 m14 m16
41 11,204 Forming 360 150 T m7 m8 m9 m11 m12
42 11,205 Planishing 300 100 to 150 T m5 m6 m7 m8 m9 m13 m17
43 11,206 3 hole pie 300 30 to 75 T m1 m2 m3 m4 m10 m14 m18
44 11,301 Blanking 420 50 to 75 T m1 m2 m3 m4 m10 m14 m16
45 11,401 Blanking 360 150 T m7 m8 m9 m11 m12
46 11,402 3 hole + 6 window pie 420 75 to 100 T m3 m6 m13 m14 m16 m18 m17
47 11,403 24 relief hole 480 50 to 100 T m1 m2 m3 m4 m10 m14 m18
48 11,404 Embossing 420 50 to 100 T m1 m2 m3 m4 m10 m14 m16
49 11,405 Id cutting + 3 notch 300 50 to 100 T m1 m2 m3 m4 m10 m14 m18
50 11,406 16 hole + MSL 360 50 to 100 T m1 m2 m3 m4 m10 m14 m16
51 11,407 Forming 480 150 T m7 m8 m9 m11 m12
52 11,501 Blanking 360 150 T m7 m8 m9 m11 m12
53 11,502 3 hole + 6 window pie 420 75 to 100 T m3 m6 m13 m14 m16 m18 m17
54 11,503 24 relief hole 480 50 to 100 T m1 m2 m3 m4 m10 m14 m18

55 11,504 Embossing 420 50 to 100 T m1 m2 m3 m4 m10 m14 m16


56 11,505 Draw 420 50 to 100 T m1 m2 m3 m4 m10 m14 m18
57 11,506 Id cutting + 3 notch 300 50 to 100 T m1 m2 m3 m4 m10 m14 m16
58 11,507 Forming 480 150 T m7 m8 m9 m11 m12
59 11,601 Dimpling 300 50 to 75 T m1 m2 m3 m4 m10 m14 m18
60 11,701 Blanking 480 50 to 75 T m1 m2 m3 m4 m10 m14 m16
61 20,101 Blanking 2520 30 to 75 T m1 m2 m3 m4 m10 m14 m18
62 20,102 Forming 780 50 to 75 T m1 m2 m3 m4 m10 m14 m16
63 20,201 Blanking 2520 30 to 75 T m1 m2 m3 m4 m10 m14 m18
64 20,202 Forming 780 50 to 75 T m1 m2 m3 m4 m10 m14 m16
65 20,301 Cropping and forming 1260 50 to 75 T m1 m2 m3 m4 m10 m14 m18
66 20,401 Blanking 1140 50 to 150 T m1 m2 m3 m4 m10 m14 m16
67 20,402 Forming 420 100 to 150 T m5 m6 m7 m8 m9 m13 m17
68 20,501 Blanking 1140 50 to 150 T m1 m2 m3 m4 m10 m14 m18
69 20,502 Forming 420 100 to 150 T m5 m6 m7 m8 m9 m13 m17
70 20,601 Blanking 1860 100 to 150 T m5 m6 m7 m8 m9 m13 m17

13
426 Process Integration and Optimization for Sustainability (2022) 6:409–430

Table 7  (continued)
Sr. no Part no Operation Weekly processing Machine capacity Available alternate machines
time + setup time (min)
1 10,101 Dimpling 1440 50 to 75 T m1 m2 m3 m4 m10 m14 m16

71 20,602 Forming 1380 30 to 75 T m1 m2 m3 m4 m10 m14 m16


72 20,701 Blanking 1560 30 to 75 T m1 m2 m3 m4 m10 m14 m18
73 20,801 Forming 660 30 to 75 T m1 m2 m3 m4 m10 m14 m16
74 20,901 Blanking 420 150 T m7 m8 m9 m11 m12
75 21,001 Blanking 600 30 to 75 T m1 m2 m3 m4 m10 m14 m18
76 21,002 Forming 240 100 to 150 T m5 m6 m7 m8 m9 m13 m17
77 21,101 Blanking 600 30 to 75 T m1 m2 m3 m4 m10 m14 m16
78 21,102 Forming 240 100 to 150 T m5 m6 m7 m8 m9 m13 m17
79 21,201 Slot pie 240 30 to 75 T m1 m2 m3 m4 m10 m14 m18
80 30,101 Blanking 2160 155 to 75 T m1 m2 m3 m4 m10 m14 m16
81 30,102 I Draw 1260 156 to 75 T m1 m2 m3 m4 m10 m14 m18
82 30,103 II Draw 1260 157 to 75 T m1 m2 m3 m4 m10 m14 m16
83 30,104 I D cutting 1080 159 to 75 T m1 m2 m3 m4 m10 m14 m18
84 30,105 O D Trimming 1740 160 to 75 T m1 m2 m3 m4 m10 m14 m16
85 30,201 Blanking 1320 150 T m7 m8 m9 m11 m12
86 30,202 Hole pie 1320 30 T m1 m2 m4 m10
87 30,203 Forming 1320 100 to 150 T m5 m6 m7 m8 m9 m13 m17
88 30,301 Blanking 1980 150 T m7 m8 m9 m11 m12
89 30,302 Hole pie 1620 30 to 75 T m1 m2 m3 m4 m10 m14 m18
90 30,303 Forming 1980 50 T to 75 T m1 m2 m3 m4 m10 m14 m16
91 30,401 Fearing 900 150 T m7 m8 m9 m11 m12
92 30,501 Blanking 660 150 T and 200 T m7 m8 m9 m11 m12
93 30,502 Clinching 360 50 T m1 m2 m4 m10
94 30,601 Blanking 960 150 T and 200 T m7 m8 m9 m11 m12
95 30,602 Forming 780 150 T and 200 T m7 m8 m9 m11 m12
96 30,603 Hole pie 780 75 to 150 T m3 m6 m13 m14 m16 m18 m17
97 30,701 Blanking 480 146 to 75 T m1 m2 m3 m4 m10 m14 m18
98 30,801 Blanking 780 30 to 75 T m1 m2 m3 m4 m10 m14 m16
99 30,802 I Forming 600 150 T m7 m8 m9 m11 m12
100 30,803 II Forming 600 150 T m7 m8 m9 m11 m12
101 30,804 I D cutting 600 30 to 75 T m1 m2 m3 m4 m10 m14 m18
102 30,901 Blanking 600 150 T m7 m8 m9 m11 m12
103 30,902 I Forming 420 150 T m7 m8 m9 m11 m12
104 30,903 II Forming 420 150 T m7 m8 m9 m11 m12
105 30,904 I D cutting 360 30 to 75 T m1 m2 m3 m4 m10 m14 m16
106 30,905 Od trimming 420 30 to 75 T m1 m2 m3 m4 m10 m14 m18
107 40,101 Trimming 1680 150 T m7 m8 m9 m11 m12

108 40,102 Planishing 1680 150 to 200 T m7 m8 m9 m11 m12


109 40,201 Blanking 1860 200 T m7 m8 m9 m11 m12
110 40,202 Rib embossing 1080 150 T m7 m8 m9 m11 m12
111 40,203 Sheaving 1080 150 T m7 m8 m9 m11 m12
112 40,204 Bending 1260 50 to 150 T m5 m6 m7 m8 m9 m13 m17
113 40,205 Clinching 1260 50 to 75 T m1 m2 m3 m4 m10 m14 m16
114 50,101 Blanking 480 50 to 75 T m1 m2 m3 m4 m10 m14 m18
115 50,102 Forming 240 100 to 150 T m5 m6 m7 m8 m9 m13 m17
116 50,201 Blanking 540 50 to 75 T m1 m2 m3 m4 m10 m14 m16
117 50,202 Forming 600 50 to 75 T m1 m2 m3 m4 m10 m14 m18
118 50,301 Blanking 480 150 to 200 T m7 m8 m9 m11 m12

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 427

Table 8  Values of demand, operation cost, robot cost, operation time, material handling cost (Mahdavi et al. 2011).
Part-type (i) j 1 2 3 4
Demand di 30 35 25 45
Process plan (p) 1 2 1 2 1 1 2
Operation (s) 1 2 1 2 3 1 2 1 2 3 1 2 1 2 3 1 2

Operation cost 1 120 180 360 210 140 275 495 495
2 180 245 315 270 225
3 270 330 360 280 275 125 360
4 390 150 300 455 385 350 75 90 360
5 330 330 385 420 360 585
6 180 175 175 360 315
Robot cost 1 180 270 540 315 210 275 495 495
2 240 315 450 360 315
3 210 240 270 210 175 75 225
4 780 210 600 910 770 700 75 90 315
5 330 330 385 420 585 945
6 240 245 200 450 360
Operation time 1 120 210 420 245 105 225 405 405
2 150 245 405 360 360
3 150 300 240 595 225 225 720
4 570 300 420 595 630 385 75 180 270
5 270 270 315 385 675 810
6 240 280 250 315 180
Material handling cost 1 132 252 75 87.5 157.5 85 243 108
2 105 231 85.5 157.5 81
3 51 48 135 161 70 95 373.5
4 132 111 75 115.5 150.5 84 32.3 193.5 306
5 216 48 80.5 77 184.5 409.5
6 96 147 32.5 185 333

13
428 Process Integration and Optimization for Sustainability (2022) 6:409–430

Table 9  Optimum process plan Part 1 Part 2 Part3 Part 4 Operation Comple- Waiting time
for the case study of Mahdavi time (a) tion time (c = b-a)
et al. (2011) Process 1 1 1 2 (b)
plan
Operations 1 2 1 2 1 2 1 2

S M1 150 0 365 365 0


P 120 245
W 245 0
F 365 245
S M2 0 0 0
P
W
F
S M3 0 0 375 375 0
P 150 225
W 0 150
F 150 375
S M4 375 0 255 450 195
P 75 180
W 180 0
F 450 180
S M5 0 0 0
P
W
F
S M6 360 180 460 640 180
P 280 180
W 180 0
F 640 360
Total 1455 1830 375

Table 10  Optimum solutions for case study of Mahdavi et al. (2011)


Sr. no Sequence of opera- Opera- Robot cost ($) Material Setup cost ($) Con- Waiting cost ($) Total cost ($)
tion tion cost handling straint
($) cost ($) violation

DABC 1(1){3,1}, 2(1) 1530 1650 1046 800 0 375 5401


{1,6}, 3(1){3,4},
4(2){4,6}
Chaotic ant swarm 1(1){2,1}, 2(1) 1535 1635 1136 1050 0 1783 7139
simulation-based {1,6}, 3(1){3,3},
optimisation Mah- 4(2){4,4}
davi et al. (2011)

13
Process Integration and Optimization for Sustainability (2022) 6:409–430 429

Fig. 10  Gantt’s chart of material flow time

Acknowledgements  The authors are grateful to management of S. M. system by real coded genetic algorithm (RCGA). Flex Serv Manuf
Auto Stampings Pvt. Ltd., Nasik, (M.S.) India, for their support and J 31:381–423
cooperation to get real industrial data. Bhosale KC, Pawar PJ (2020) Production planning and scheduling
problem of continuous parallel lines with demand uncertainty and
Data Availability  Not applicable. different production capacities. J Comput Des Eng 7(6):761–774
Bissoli D C, Zufferey N, Amaral A R S (2020) Lexicographic optimiza-
tion‐based clustering search metaheuristic for the multi-objective
Code Availability  Not applicable.
flexible job shop scheduling problem, Intl. Trans. in Op. Res.
doi:https://​doi.​org/​10.​1111/​itor.​12745.
Declarations  Boyer V, Vallikavungal J, Rodríguez X C, Salazar-Aguilar M A (2021)
The generalized flexible job shop scheduling problem, Comput
Ethics Approval  Plagiarism is checked, and it is found within the limit. Ind Eng 160.
Buddala R, Mahapatra SS (2019) An integrated approach for schedul-
Consent to Participate  Not applicable. ing flexible job-shop using teaching–learning-based optimization
method. J Ind Eng Int 15:181–192
Consent for Publication  Both authors have given consent for publica- Chan, F T S, Tiwari, M K, Dashora Y (2007) Selection of best alter-
tion. native process plan in automated manufacturing environment :
an approach based on particle swarm optimization, swarm intel-
ligence: focus on ant and particle swarm optimization, Book
edited by: Felix T. S. Chan and Manoj Kumar Tiwari, ISBN 978-
3-902613-09-7, pp. 532, December 2007, Itech Education and
References Publishing, Vienna, Austria.
Fattahi P, Jolai F, Arkat J (2009) Flexible job shop scheduling with
Al-Hinai N, Elmekkawy TY (2011) Robust and stable flexible job overlapping in operations. Appl Math Model 33:3076–3087
shop scheduling with random machine breakdowns using a hybrid Fazlollahtabar H, Saidi-Mehrabad M (2014) Delay optimization in a
genetic algorithm. Int J Prod Econ 132(2):279–291 multiple AGV system. Int J Swarm Intel Evol Comput 3:109
Baykasoglu A, Madenoglu FS, Hamzaday A (2020) Greedy rand- Ham AM, Cakici E (2016) Flexible job shop scheduling problem with
omized adaptive search for dynamic flexible job-shop Scheduling. parallel batch processing machines: MIP and CP approaches.
J Manuf Syst 56:425–451 Comput Ind Eng 102:160–165
Belabid J, Said A, Karam A (2020) Solving permutation flow shop Jamili A, Shafia MA, Tavakkoli-Moghaddam R (2011) A hybrid algo-
scheduling problem with sequence-independent setup time, J Appl rithm based on particle swarm optimization and simulated anneal-
Math Comput 2020: Article ID-7132469. ing for a periodic job shop scheduling problem. Int J Adv Manuf
Bhosale KC, Pawar PJ (2019) Material flow optimisation of produc- Technol 54(1–4):309–322
tion planning and scheduling problem in flexible manufacturing

13
430 Process Integration and Optimization for Sustainability (2022) 6:409–430

Karaboga D, Basturk B (2008) On the performance of artificial bee Publisher's Note Springer Nature remains neutral with regard to
colony (ABC) algorithm. Appl Soft Comput 8(1):687–697 jurisdictional claims in published maps and institutional affiliations.
Li J, Pan Q, Suganthan PN, Chua TJ (2011) A hybrid Tabu search
algorithm with an efficient neighborhood structure for the flex-
ible job shop scheduling problem. Int J Adv Manuf Technol
52(5–8):683–697 P. J. Pawar  is a Professor and Head of Production Engineering Depart-
Luo X, Qian Q, Fu YF (2020) Improved genetic algorithm for solv- ment of K.K. Wagh Institute of Engineering Education and Research,
ing flexible job shop scheduling problem, Procedia Comput. Sci Nasik. He has over 25 years of teaching and research experience. His
166:480–485 research interests include advanced manufacturing processes and
Mahdavi I, Shirazi B, Sahebjamnia N (2011) Development of a simu- optimisation techniques. He received his Bachelor’s degree in Produc-
lation-based optimisation for controlling operation allocation and tion Engineering from Savitribai Phule Pune University, his master’s
material handling equipment selection in FMS. Int J Prod Res degree in Mechanical Engineering from Shivaji University and PhD
49(23):6981–7005 from Sardar Vallabhbhai National Institute of Technology, Surat, India.
Prakash A, Khilwani N, Tiwari MK, Cohen Y (2008) Modified immune To his credit, he has more than 50 publications in reputed journals and
algorithm for job selection and operation allocation problem in he has also authored two books.
flexible manufacturing systems. Adv Eng Softw 39(3):219–232
Rossi A, Dini G (2007) Flexible job-shop scheduling with routing flex- K. C. Bhosale  is currently working as Associate Professor at Sanjivani
ibility and separable setup times using ant colony optimisation College of Engineering, Kopargaon. He received his Bachelor’s degree
method. Robot Comput Integr Manuf 23:503–516 from Dr. Babasaheb Ambedkar Marathwada University, Aurangabad,
Teekeng W, Thammano A, Unkaw P, Kiatwuthiamorn J (2016) A new his Master’s degree from Savitribai Phule Pune University, Pune
algorithm for flexible job-shop scheduling problem based on par- and Ph. D. from K.K. Wagh Institute of Engineering Education and
ticle swarm optimization. Artif Life Robot 21(1):1–6 Research, Nasik, Savitribai Phule Pune University, Pune, Maharashtra,
Wang L, Jingcao C, Ming L, Zhihu L (2017) Flexible job shop schedul- India. He has 9 years of Industrial experience and 14 years teaching
ing problem using an improved ant colony optimization, Sci. Pro- experience. His research interest includes Production planning and
gram 2017: Article ID-9016303 scheduling.

13

You might also like