0% found this document useful (0 votes)
140 views

Mixed-Integer Linear Programming and Constraint Programming Formulations For Solving Distributed Flexible Job Shop Scheduling Problem

Uploaded by

lei li
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
140 views

Mixed-Integer Linear Programming and Constraint Programming Formulations For Solving Distributed Flexible Job Shop Scheduling Problem

Uploaded by

lei li
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Computers & Industrial Engineering 142 (2020) 106347

Contents lists available at ScienceDirect

Computers & Industrial Engineering


journal homepage: www.elsevier.com/locate/caie

Mixed-integer linear programming and constraint programming T


formulations for solving distributed flexible job shop scheduling problem
Leilei Menga,b, Chaoyong Zhangb, , Yaping Renc, Biao Zhanga, Chang Lvb

a
School of Computer Science, Liaocheng University, Liaocheng 252059, China
b
State Key Lab of Digital Manufacturing Equipment and Technology, Huazhong University of Science and Technology, Wuhan 430074,China
c
School of Intelligent Systems Science and Engineering, Jinan University (Zhuhai Campus), Zhuhai 519070, China

ARTICLE INFO ABSTRACT

Keywords: This paper intends to address the distributed flexible job shop scheduling problem (DFJSP) with minimizing
Distributed flexible job shop scheduling maximum completion time (makespan). In order to solve this problem, we propose four mixed integer linear
problem programming (MILP) models as well as a constraint programming (CP) model, among which four MILP models
Mixed integer linear programming are formulated based on four different modeling ideas. MILP models are effective in solving small-scaled pro-
Constraint programming
blems to optimality. DFJSP is NP-hard, therefore, we propose an efficient constraint programming (CP) model
Makespan
based on interval decision variables and domain filtering algorithms. Numerical experiments are conducted to
evaluate the performance of the proposed MILP models and CP model. The results show that the sequence-based
MILP model is the most efficient one, and the proposed CP model is effective in finding good quality solutions for
the both the small-sized and large-sized instances. The CP model incomparably outperforms the state-of-the-art
algorithms and obtains new best solutions for 11 benchmark problems. Moreover, the best MILP model and CP
model have proved the optimality of 62 best-known solutions.

1. Introduction because mathematical models could solve the relatively small-sized


problems to optimality and further help mine the inherent information
In recent years, with increasingly decentral and global economy, a of the scheduling problem. Moreover, the optimal solutions can be used
multi-factory environment becomes more and more important. as the reference standard to develop approximate methods (Li, Sang,
Therefore, the production scheduling in multi-factory production en- Han, Wang, & Gao, 2018). Therefore, in this paper, we formulate four
vironment, referred to as the distributed scheduling problem, has re- MILP models for solving DFJSP based on four modeling ideas, namely,
ceived more and more concerns (Li et al., 2019; Pan, Gao, Wang, Liang, sequence-based idea, position- based idea, time-indexed idea and ad-
& Li, 2019; Ruiz, Pan, & Naderi, 2019). Among all types of distributed jacent sequence-based idea.
scheduling problems, the distributed flexible job shop scheduling pro- Due to inherent NP hardness of DFJSP, the MILP model is not ef-
blem (DFJSP) represents a multi-factory environment, in which each fective to solve the relatively large-sized problems. Since constraint
factory is a flexible job shop (Nouiri, Bekrar, Jemai, Niar, & Ammari, programming (CP) shows good performances on scheduling problem
2018; Sun, Lin, Li, & Gen, 2019; Wu, Liu, & Zhao, 2018). Each job must with makespan objective, we develop a CP formulation to solve DFJSP
be allocated to exactly one factory (De Giovanni & Pezzella, 2010). effectively. CP performs well at exploring feasible solutions in short
Obviously, in DFJSP, three sub-problems must be solved: (1) de- computational times and hence allow to find good quality solutions.
termining the most suitable factory for each job (factory selection This is because CP is adapt at expressing complex relationships in terms
problem), (2) determining the machine selection of all operations in of global constraints. Moreover, effective domain filtering algorithms
each factory (machine selection problem) and (3) determining the op- are used for solving these constraints in CP. Compared to other exact
eration sequence on each machine in all factories (sequencing pro- methods such as mathematical programming (MP), CP requires much
blem). Obviously, DFJSP is a more difficult NP-hard problem than the less number of decision variables and constraints. The effectiveness of
traditional FJSP with only one factory. the CP method has been proven over many combinatorial problems
When studying a scheduling problem especially a new one, it is very such as parallel machine scheduling (Gedik, Kalathia, Egilmez, & Kirac,
important to formulate a feasible mathematical model for it. This is 2018; Gedik, Rainwater, Nachtmann, & Pohl, 2016), production


Corresponding author.
E-mail address: [email protected] (C. Zhang).

https://doi.org/10.1016/j.cie.2020.106347
Received 5 September 2019; Received in revised form 22 December 2019; Accepted 7 February 2020
Available online 11 February 2020
0360-8352/ © 2020 Published by Elsevier Ltd.
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

scheduling (Novara, Novas, & Henning, 2016), and assembly line bal- (2010) developed an improved genetic algorithm (IGA), in which the
ancing problems (Bukchin & Raviv, 2018). Moreover, it has been chromosome representation, referred to as SGP, models only two DFJSP
proved that CP method is effective for solving both small-sized and decisions (namely assignment problem and sequencing problem) and
large-sized problems (Gedik et al., 2016, 2018). Compared with the the routing problem is determined by a heuristic rule. Moreover, a new
existing research, the contributions of this work can be concluded as local search method based on critical factory was proposed, and it was
follows: further implemented in references (Lu, Wu, Tan, Peng, & Chen, 2015;
Wu, Lin, Lin, & Chen, 2017). Lu et al. (2015) proposed a GA embedded
(1) To the best of our knowledge, this work is the first attempt to solve with a concise chromosome representation (GA_JS), in which the
DFJSP with exact algorithms namely MILP model and CP model. chromosome representation, referred to as SJS, presents DFJSP solu-
(2) Four different MILP models based on four different modeling ideas tions only by job sequences. The three sub-problems were determined
are proposed and evaluated. Due to inherent NP hardness of DFJSP, by three heuristic rules in the decoding process. Chang and Liu (2017)
the MILP models is not effective to solve the relatively large-sized developed a hybrid genetic algorithm (HGA), in which the chromosome
problems. Thus, a CP model is proposed to solve DFJSP. representation, referred to as SCL, can explicitly decide all the three
(3) The MILP models and CP model are compared with state-of-the-art sub-problems. In SCL encoding, each gene is a float number, the integer
algorithms for solving DFJSP. The experimental results show that part and decimal part of which represent the operation sequence and
the MILP models and CP model explore the optimal solutions for 62 the machine-factory respectively. Wu et al. (2017) analysed the existing
benchmark problem instances, for which the optimal solutions were chromosome representations and decoding methods, and proposed a
previously unknown/unproven. The determination of optimal so- GA with a chromosome representation (called SOP), in which only the
lution is very meaningful for designing approximate methods. sequencing problem is decided. The other two DJFSP sub-problems
(4) The CP model is very effective and outperforms all the state-of-the- were determined by two heuristic rules in the decoding respectively.
art algorithms. Moreover, due to the simplicity of the CP formula- More recently, Lin, Lee, and Wu (2019) proposed two incomplete
tion and the ease of using the currently available solver IBM CP chromosome representations (SG1 and SG2) and four GAs for solving
Optimizer, CP method is very suitable for practitioners to imple- DFJSP with considering machine maintenance. Moreover, an effective
ment in practice. methodology for generating new chromosomes (called shadow chro-
mosomes) from good quality solutions was proposed to improve the
The rest of this paper is organized as follows: Section 2 presents the performance of the proposed GAs. The experimental results showed
literature review of DFJSP. Then, in Section 3, we formulate four MILP that the GA with SG2 encoding scheme and the method for generating
models based on different modeling ideas. Section 4 introduces the CP shadow chromosomes outperformed the other three GAs and two ex-
formulation. Section 5 shows the experimental results. Finally, con- isting state-of-the-art algorithms.
clusion and future study are given in Section 6. Ziaee (2014) proposed a fast-constructive heuristic algorithm for
solving DFJSP. The computational results showed that the heuristic was
2. Literature review more computationally efficient than IGA, while the latter outperformed
the former in terms of best solution. Wu, Guo, Li, and Wang (2018)
The literature review of this paper is divided into three parts, among proposed an improved differential evolution simulated annealing al-
which the first one reviews the related researches about DFJSP, the gorithm to solve DFJSP with minimizing the earliness/tardiness and the
second one presents the related studies about MILP modeling for total cost simultaneously. Other meta-heuristic algorithms such as
scheduling problems and the last one shows the related studies about chemical reaction optimization (CRO) algorithm (Marzouki, Driss, &
constraint programming approach for scheduling problems. Ghédira, 2018), artificial bee colony algorithm (ABC) (Wu et al., 2018),
and particle swarm optimization (PSO) algorithm (Huang & Yao, 2012)
2.1. Literature review about DFJSP have been also tried to solve DFJSP.
Obviously, existing research about DFJSP mainly focuses on meta-
In order to minimize makespan of distributed job shop scheduling heuristic and heuristic algorithms, especially GA. They are approximate
problem (DJSP), Jia, Nee, Fuh, and Zhang (2003) proposed a modified methods and cannot guarantee the optimal solutions even for small-
genetic algorithm (MGA), in which the encoding of chromosome was sized problems. Moreover, the performances of meta-heuristic algo-
designed straightforward based on classic job-shop problems without rithms depend heavily on encoding and decoding rules. For a meta-
considering the machine flexibility. For dealing with DJSP, Naderi and heuristic algorithm, different encoding and decoding rules will show
Azab (2014) proposed two different MILP models on the basis of se- great difference on performance. If they are not well designed, the
quence-based and position-based modeling ideas at the first time. The meta-heuristic algorithms may perform very poorly. Therefore, exact
two MILP models could solve small-sized problems to optimality with algorithms and other easily implemented algorithms are worthy of re-
using CPLEX, and the results showed the sequence-based MILP model search. In this paper, we propose to use two exact methods namely
was effective for solving DJSP (Naderi & Azab, 2014). MILP method and CP method to solve DFJSP, and explore their ad-
As far as we know, Chan, Chung, and Chan (2005) firstly in- vantages and disadvantages for dealing with DFJSP with minimizing
vestigated the DFJSP. A genetic algorithm with dominant genes makespan.
(GADG) was proposed to solve DFJSP. In addition, a new chromosome
encoding (called SCH) was proposed, where genes specify all the 2.2. Literature review about MILP modeling of scheduling problems
scheduling information namely job, operation, machine and factory.
Thus, the encoding can determine all the three sub-problems of DFJSP. In recent years, with the rapid development of computer perfor-
Besides, in GADG, one crossover operator, two mutation operators, mance as well as the advent of several efficient optimization softwares
elitist strategy, and similarity checking were designed contrapuntally. (e.g., CPLEX and GUROBI), an increasing number of research has been
Then, Chan, Chung, Chan, Finke, and Tiwari (2006), Chan, Chung, and paying attention to MILP modeling for scheduling problems (Ren et al.,
Chan (2006) extended the proposed GADG to solve the DFJSP with 2020, 2017). The MILP models used for scheduling problems can be
considering machine maintenance. Moreover, based on GADG, Chung, classified into four major categories. These categories are position-
Chan, and Chan (2009) proposed a modified GADG with an improved based modeling idea (Wagner, 1959), sequence-based modeling idea
local search method to decide the job sequence and machine main- (Manne, 1960), time-indexed modeling idea (Brandimarte, 1993) and
tenance. adjacent sequence-based modeling idea (Mousakhani, 2013). The main
For optimizing makespan of DFJSP, De Giovanni and Pezzella difference between these models lies in the definition of the variables

2
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

used to determine the sequencing problem. Position-based modeling (2011) proposed four MILP models for open shop scheduling to mini-
method divides a machine into several processing positions according mize total tardiness. For dealing with DJSP, Naderi and Azab (2014)
to the time sequence, and introduces variables for deciding whether an proposed two MILP models based on position-based and adjacent se-
operation is assigned to a position of a machine. With regard to se- quence-based modeling methods respectively. Besides, Naderi, Khalili,
quence-based modeling idea, it defines decision variables that de- and Khamseh (2013) proposed two MILP models for no-wait flowshop
termine the precedence relationship between two different operations scheduling with parallel machines on the basis of sequence-based and
(adjacent or non-adjacent) on the same machine. Time-indexed mod- adjacent sequence-based ideas respectively. Based on sequence-based
eling idea divides the total processing time into processing periods and position-based ideas, Rocha, Ravetti, Mateus, and Pardalos (2008)
according to a certain time interval, and binary decision variables that developed two MILP models to solve UPM-SDST. Based on time-indexed
determine whether a certain time period on one machine is used to and adjacent sequence-based modeling methods, Matta (2009) pro-
process some operation are introduced. The adjacent sequence-based posed two MILP models for flexible open shop problem. Based on the
modeling idea introduces the decision variables that determine the four modeling ideas, Meng, Zhang, Shao, Zhang, et al. (2019) for-
precedence relationship between two adjacent operations on the same mulated several new MILP models for HFSP-UPM and its extended
machine. problems with considering sequence-dependent setup times, no-wait
Based on sequence-based modeling idea, a MILP model was firstly and blocking constraints.
proposed by Özgüven, Özbakır, and Yavuz (2010) for FJSP, and then Based on different modeling ideas, different decision variables and
improved MILP models were developed in reference (Roshanaei, Azab, constraints will be introduced. The performance of mathematical model
& ElMaraghy, 2013). Demir and Kürşat İşleyen (2013) compared the is mainly determined by the numbers of binary decision variables,
MILP model proposed by Özgüven et al. (2010) with four non-linear constraints and continuous decision variables (Jin, Tang, Zhang, Shao,
models. The experimental results showed that the linear model out- & Tian, 2016; Naderi & Azab, 2014; Pan, 1997). Therefore, the per-
performed the four non-linear models. Also based on sequence-based formances of MILP models based on different modeling ideas may differ
idea, Shen, Dauzère-Pérès, and Neufeld (2018) developed a MILP model greatly.
for solving FJSP with sequence-dependent setup times (SDST), and
Naderi, Ghomi, Aminnayeri, and Zandieh (2011) proposed a MILP 2.3. Literature review about constraint programming (CP) approach for
model for solving flexible open shop scheduling problem. scheduling problems
On the basis of position-based modeling idea, Fattahi, Saidi
Mehrabad, and Jolai (2007) established a MILP model for FJSP with In recent years, with the advent of robust solvers such as IBM CP
minimizing makespan for the first time, in which two binary decision Optimizer and Gurobi, constraint programming has been widely ap-
variables were used. Then, an improved MILP model with only one plied to a variety of scheduling problems, which can be attributed to
binary decision variable and less constraints was proposed (Roshanaei many reasons. Firstly, compared with MP, CP allows declarative, flex-
et al., 2013). Zhang, Tang, Wu, and Wang (2017) proposed a MILP for ible and compact formulations, which make adding new constraints to
FJSP with minimizing energy consumption, and Meng, Zhang, Shao, the scheduling much more convenient and straightforward. Especially,
and Ren (2019) proposed six more efficient MILP models. For solving CP has competitive advantage of representing complex constraints such
hybrid flow shop scheduling problem with unrelated parallel machines as if-then and nonlinearity without reformulation over MP, which
(HFSP-UPM) with minimizing energy consumption, Meng, Zhang, Shao, makes it perform well for finding feasible solutions with good quality.
Ren, and Ren (2019) formulated five MILP models with different de- Secondly, most meta-heuristic algorithms include several optional
cision variables. In order to solve multi-objective HFSP-UPM with si- parameters, and a fine tuning of parameters must be done to get best
multaneously minimizing makespan and energy consumption, Zhang performance. However, CP belongs to a category of off-the-rack and
et al. (2019) proposed a multi-objective MILP model based on weight does not need much fine tuning. For a practitioner, he only needs to
coefficient method. Taking worker flexibility into consideration, Meng, provide a description of the studied problem (Ham & Cakici, 2016).
Zhang, Zhang, and Ren (2019) formulated two MILP models based on Thirdly, CP can solve large problems effectively. It has been proved that
different modeling ideas. CP is very effective in solving many discrete optimization problems.
Based on time-indexed modeling method, Wu and Chien (2008) CP method has been widely used to solve parallel machine sche-
formulated a MILP model for semiconductor final test scheduling pro- duling problem. For minimizing the processing cost of unrelated par-
blem, which is an extension of classical FJSP with considering machine- allel machine scheduling problem (UPM) with deadlines and release
dependent setup times and other limited resource constraints. Also dates, Jain and Grossmann (2001) proposed a hybrid MILP/CP model
based on this idea, Gicquel, Hege, Minoux, and van Canneyt (2012) based on decomposition method, and compared it with pure MILP
proposed a MILP for HFSP with limited-wait constraints. model, pure CP model and combined MILP-CP model. The results
Based on adjacent sequence-based modeling method, Mousakhani showed that the hybrid MILP/CP model performed very efficiently and
(2013) proposed a MILP model for FJSP with minimizing total tardi- outperformed all the other models. Edis and Oguz (2012) proposed a
ness. Also based on this idea, Vallada and Ruiz (2011) developed a hybrid MP/CP model for solving UPM with flexible resources. For sol-
MILP model for unrelated parallel machine scheduling problem with ving UPM-SDST, Gedik et al. (2018) proposed an effective CP model,
sequence dependent setup times (UPM-SDST) with minimizing make- which explored the optimal solutions for 283 benchmark problem in-
span, Naderi, Zandieh, and Shirazi (2009) proposed a MILP model for stances. With regard to UPM-SDST with job availability intervals, Gedik
solving HFSP with total weighted tardiness minimization, Keskinturk, et al. (2016) proposed a combined CP/MP model based on logic-based
Yildirim, and Barut (2012) developed a MILP model for UPM-SDST with Benders algorithms to schedule jobs on unrelated parallel machines in a
optimizing load balancing, and Ruiz, Şerifoğlu, and Urlings (2008) fixed planning horizon. For solving the UPM with a resource constraint
proposed a MILP model for solving realistic HFSP with some jobs (UPMR), Fleszar and Hindi (2018) proposed a CP model, a MILP model
skipping stages. for two-machine UPMR and a two-stage heuristic based on the hybrid of
Based on position-based, sequence-based and time-indexed mod- MILP model and CP model. Experimental results showed that the hybrid
eling methods, Pan (1997) proposed different mathematical models of algorithm combining two-stage heuristic and a CP model outperformed
job shop scheduling problem (JSP) and flow shop scheduling problem the previously proposed methods and found good solutions for much
(FSP). Also based on these three modeling ideas, Demir and Kürşat larger instances.
İşleyen (2013) analyzed and compared different (linear and non-linear) With regard to other scheduling problems, Ku and Beck (2016)
mathematical models of flexible job shop (FJSP). Similarly, based on proposed a CP model for solving job shop scheduling problem (JSP)
these three ideas, Naderi, Fatemi Ghomi, Aminnayeri, and Zandieh with minimizing makespan. For solving the same problem, Oliveira and

3
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

Ribeiro (2015) proposed two different CP models based on different included in Model 1.
modeling ideas and compared them with MILP model. For solving FJSP
with parallel batch processing machines (FJSP-PBM), Ham and Cakici 3.3.2. Constraint sets
(2016) developed a CP model and compared it with MILP models. In Model 1, the following constraint sets (1)–(7) are needed.
Novara et al. (2016) developed a CP model for scheduling problems in
multiproduct multistage batch plants. Kelbel and Hanzálek (2011) gave Zi, f = 1, i I
an application of CP in production scheduling. Bukchin and Raviv f F (1)
(2018) applied the CP method to solve various assembly line balancing
Zi, f = Xi, j, f , k , i I, j Ji , f F
problems. With regard to minimizing total tardiness of multi-level job k K i, j , f (2)
scheduling in a flexible job shop environment, Na and Park (2014)
proposed a MILP model and used CP method as a compared algorithm. Bi, j + (pti, j, f , k Xi, j, f , k ) Bi, j + 1, i I, j JJi
Öztürk, Tunalı, Hnich, and Örnek (2015) studied a problem of balan- f F k Ki, j, f (3)
cing and cyclic scheduling of flexible mixed model assembly lines with
parallel stations, and proposed a novel CP model with considering Bi, j + pti, j, f , k Xi, j, f , k Bi , j + M (3 Yi, j, i , j Xi, j, f , k Xi , j , f , k )
problem specific symmetry breaking constraints. In order to minimize i I, i I, i < i , j Ji , j Ji , f F, k K i, j , f Ki ,j ,f (4)
makespan of flexible job shop scheduling problem with lot streaming
and lot sizing of the variable sublots, Bożek and Werner (2018) pro- Bi , j + pti , j , f , k Xi , j , f , k Bi, j + M (2 + Yi, j, i , j Xi, j, f , k Xi , j , f , k )
posed a MILP model and a CP model to solve it.
i I, i I, i < i , j Ji , j Ji , f F , k Ki, j, f Ki , j ,f (5)

3. MILP models Cmax Bi, ni + (pti,n ,f ,k Xi,n ,f ,k ),


i i i I
f F k Ki, ni, f (6)
3.1. Notations
Bi, j 0, i I, j Ji (7)
The notations and decision variables used in this paper are given in
where constraint set (1) represents that each job can be assigned to only
Table 1.
one factory. Constraint set (2) restricts that the operations of the same
job must be processed in the same factory. In addition, constraint set (2)
3.2. Problem definition also restricts that one operation is assigned to only one machine.
Constraint set (3) enforces that the operations of the same job must
The DFJSP can be described as follows: there are a set of in- follow the predefined processing sequence. Constraint sets (4)–(5) en-
dependent jobs I = {1, 2, ···,n} to be processed in a set of factories sure the nonoverlap of the operations assigned to the same machine.
F = {1, ...,rf } . Each factory stands for a flexible job shop problem (FJSP). Constraint set (6) defines the makespan. Constraint set (7) defines that
Each job i includes ni operations {Oi,1, Oi,2 , ...,Oi, ni} and has its own the decision variables are nonnegative.
processing route. Each operation Oi, j can be processed by a predefined
subset of candidate machines in a factory Ki, j, f Kf . Moreover, all the
3.4. Model 2 (position-based model)
operations of the same job must be processed in the same factory.
Moreover, some assumptions are given as follows:
Model 2 is based on position-based modeling idea, and it is inspired

• All the factories, jobs, and machines are available at time zero.
by the MILP model for DJSP (Naderi & Azab, 2014) and the MILP model

• In every factory, a machine can process at most one operation at a


for FJSP (Fattahi et al., 2007). Model 2 introduces the position decision
variable Xi, j, f , k, p to determine the machine selection and sequencing
time.
• For each operation, no preemption is allowed.
problems.

• All the processing data is deterministic and known in advance.


• Each operation is assigned to exactly one eligible factory and one 3.4.1. Decision variable
For Model 2, five decision variables namely Xi, j, f , k, p , Zi, f , Sf , k, p , Bi, j
machine of this factory.
• For modeling DFJSP more easily, the transportation time Tr is i, f
and Cmax are needed.
included in the processing time of last operation pti, ni, f , k .
3.4.2. Constraint sets
The objective in this paper is to minimize makespan by reasonably Constraint sets (1), and (7)–(16) are needed in Model 2.
solving the three subproblems namely factory selection problem, ma- Zi, f = Xi, j, f , k, p , i I, j Ji , f F
chine selection problem and sequencing problem. The objective is given k Ki, j, f p Pf , k (8)
as below, min Cmax
Bi, j + (pti, j, f , k Xi, j, f , k, p ) Bi, j + 1, i I, j JJi
3.3. Model 1 (sequence- based model) f F k Ki, j, f p Pf , k (9)

Model 1 is based on sequence-based modeling idea, and it is inspired Xi, j, f , k, p Xi , j , f , k , p + 1 , f F, k Kf , p PPf , k


by the MILP model for FJSP (Roshanaei et al., 2013). To solve se- i I j Ji i I j Ji (10)
quencing problem, Model 1 introduces precedence decision variable
Xi, j, f , k, p 1, f F, k Kf , p Pf , k
Yi, j, i , j , which determines the precedence relationship between two op-
i I j Ji (11)
erations (adjacent or non-adjacent) on the same machine (sequencing
problem). Xi, j, f , k is introduced to determine the machine selection of all Sf , k, p + 1 Sf , k, p + (pti, j, f , k Xi, j, f , k, p), f F, k Kf , p PPf , k
operations (machine selection problem), and Zi, f is introduced to decide i I j Ji
the factory selection of all jobs (factory selection problem). (12)

3.3.1. Decision variable Sf , k, p Bi, j M (1 Xi, j, f , k, p), i I, j Ji , f F, k K i, j , f , p Pf , k


Five decision variables namely Xi, j, f , k , Yi, j, i , j , Zi, f , and Cmax are (13)

4
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

Table 1
Notations and decision variables.
Notations

i, i indexes for jobs


n total number of jobs
I set for jobs, where I = {1, 2, ···,n}
j, j index for operations
ni number of operations of job i
nmax maximum number of operations for all jobs
Ji set for the operations of job i , where Ji = {1, 2, ···,ni}
JJi set for partial operations of job i , where Ji = {1, 2, ···,ni 1}
k, k indexes for machines
Oi,j the j-th operation of job i
f index for factory
rf number of factory
F set of factories, where F = {1, ...,r f }
mf number of machines in factory f
mi, j,f number of machines in factory f eligible for processing Oi,j
Kf set for machines in factory f , where Kf = {1, 2, ···,mf }
K i, j, f set for machines in factory f that are eligible to process Oi,j
xi, j,f ,k binary constant that is equal to 1 if operation Oi,j can be assigned to machine k in factory f , otherwise it is equal to 0
pti,j, f , k processing time for operation Oi,j processed by machine k in factory f
M a large positive number
p index for position
pf , k number of positions of machine k in factory f , where pf , k = xi, j, f , k
i I j Ji
Pf ,k set of positions of machine k in factory f , where Pf ,k = {1, 2, ···,pf ,k }
PPf , k set of partial positions for machine k in factory f , where PPf , k = {1, 2, ···,pf , k 1}
t index for discrete time
tmax max planned time in consideration, which should be decided in advance
T the planning horizon, where T = {1, ...,tmax }
Tri,f time for traveling job i from factory f to the final warehouse (shipping destination)

Binary decision variables


Xi, j, f , k 1, if operation Oi, j is assigned on machine k of factory f
Xi, j, f , k =
0, otherwise
Xi, j, f , k, p 1, if operation Oi, j is assigned to position p of machine k in factory f
Xi, j, f , k, p =
0, otherwise
Yi, j,i , j 1, if operation Oi,j is processed before operation Oi , j
Yi, j,i , j = ,i<i
0, otherwise
Yi, j,f ,k ,t 1, if at time t , operation Oi, j is processed on machine k in factory f
Yi, j,f ,k ,t =
0, otherwise
Yi ,j , i, j, f , k Yi ,j , i, j, f , k =

1, if operation Oi, j is processed immediately after operation Oi , j on machine k


in factory f
0, otherwise
Ai, j,f ,k ,t 1, if operation Oi, j begins processed on machine k in factory f at time t
Ai, j,f ,k ,t =
0, otherwise
Zi, f 1, if job i is assigned to factory f
Zi, f =
0, otherwise

Continuous decision variables


Bi, j continuous decision variable, which defines the starting time of operation Oi,j
Sf , k, p continuous decision variable, which defines the starting time of position p of machine k in factory f
Cmax makespan

Sf , k, p Bi, j + M (1 Xi, j, f , k, p), i I, j J, f F, k K i, j , f , p Pf , k operation. Constraint set (12) does the same as what constraint sets
(14) (4)–(5) together do and ensures the nonoverlap of the operations as-
signed to the same machine. Constraint sets (13)–(14) represent the
Cmax Bi, ni + (pti,n , f ,k Xi,n ,f ,k,p),
i i i I relationship between variables Sf , k, p and Bi, j . Constraint set (15) de-
f F k Ki, ni, f p Pf , k (15) termines the makespan and constraint set (16) defines the decision
variable Sf , k, p .
Sf , k, p 0, f F, k Kf , p Pf , k (16)
where constraint sets (8) and (9) do the same as what constraint sets (2) 3.5. Model 3 (time-indexed model)
and (3) do respectively. Constraint set (10) forces that the positions of
each machine in each factory must be assigned to operations in se- Model 3 is based on time-indexed modeling idea, and it is inspired
quential order. Constraint set (11) indicates that each position of each by the MILP model for OSP (Matta, 2009) and the MILP model for HFSP
machine in each factory can be allocated at no more than one (Schulz, Neufeld, & Buscher, 2019). This model introduces two time-

5
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

indexed binary decision variables namely Yi, j, f , k, t and Ai, j, f , k, t to de- Yi, j, i , j , f , k = Yi , j , i, j, f , k , i {0 I }, j Ji , f F, k
termine machine selection problem and sequencing problem. For this i {0 I } j Ji i {0 I } j Ji

model, the max planned time t max should be decided reasonably in K i, j , f (26)
advance. This is the number of decision variables and the number of
constraints of Model 3 are heavenly dependent on t max . Yi, j, i , j , f , k 1, i {0 I }, j Ji , f F, k K i, j , f
i {0 I } j Ji (27)
3.5.1. Decision variable
Bi, j + Yi , j , i, j, f , k pti, j, f , k Bi, j + 1, i I, j JJi
Five decision variables namely Yi, j, f , k, t , Zi, f , Ai, j, f , k, t , Bi, j and Cmax are
f F k Ki ,j , f i {0 I } j Ji
needed in Model 3.
(28)
3.5.2. Constraint sets Bi, j Bi , j + (Yi ,j , i,j, f ,k pti ,j ,f ,k) M 1 ( Yi , j , i, j, f , k
Constraint sets (1) and (17)–(23) are needed in Model 3. f F k K i, j , f f F k Kf

Ai, j, f , k, t = Zi, f , i I, j Ji , f F ), i I, j Ji , i {0 I }, j Ji (29)


k K i, i, f t T (17)
Cmax Bi, ni + (Yi , j , i, ni, f , k pti, ni, f , k ), i I
Bi, j + (pti, j, f , k Ai, j, f , k, t ) B i, j + 1 , i I, j JJi f F k Ki , j , f i {0 I } j Ji (30)
f F k Ki, j, f t T (18) B0, j = 0, j J0 (31)
Yi, j, f , k, t = Ai, j, f , k, t pti, j, f , k, i I, j Ji , f F, k Ki , j, f where constraint set (25) has the same effect as constraint set (2).
t T t T (19) Constraint set (26) shows that if an operation is assigned to a machine
in a factory, it has both the successor and predecessor on the same
Yi, j, f , k, t Yi, j, f , k, t 1 Ai, j, f , k, t , i I, j Ji , f F, k Ki, j, f , t machine. Constraint set (27) ensures that each operation has at most
{2, ...,t max } (20) one succeeding operation. Constraint set (28) does the same as what
constraint set (3) does. Constraint set (29) ensures the nonoverlap of the
Yi, j, f , k,1 = Ai, j, f , k,1 , i I, j Ji , f F, k Ki, j, f (21) operations assigned to the same machine. Constraint set (30) de-
termines the makespan, and constraint set (31) defines that the op-
Bi, j = Ai, j, f , k, t t , i I, j Ji erations of dummy job begin at time 0.
f F t T k K i, j , f (22)
3.7. Lower bounds
Yi, j, f , k, t 1, f F, k Kf , t T
i I j Ji (23) For DFJSP, De Giovanni and Pezzella (2010) proposed a lower
bound, which is calculated as,
Cmax Bi, ni + (pti,n , f ,k Ai,n ,f ,k,t ),
i i i I
f F k Ki, ni, f t T (24) Cmax LB = max{min { min {pti, j, f , k }} }
i I f F
j Ji
k Ki, j, f
(32)
where constraint sets (17) and (18) do the same as what constraint sets
Moreover, the makespan Cmax is no less than the sum of maximum
(2) and (3) do respectively. Constraint set (19) indicates that if the
machine load of all factories and minimum transportation time of all
machine is selected to process a certain operation, the total time taken
jobs from all factories, therefore, the following equation holds,
to machine the operation must equal to its processing time on the
machine. Constraint sets (20)–(21) describe the relationships among Cmax max { {Xi, j, f , k pti, j, f , k }}
decision variables Yi, j, f , k, t and Ai, j, f , k, t , and they enforces no interruption f F , k Kf
i I j J (33)
for each operation. Constraint set (22) shows the relationship between
Bi, j and Ai, j, f , k, t . Constraint set (23) ensures that each machine can at Cmax max
f F , k Kf
{ {Xi, j, f , k, p pti, j, f , k} }
most process one operation at the same time, and constraint set (24) i I j J p Pf , k (34)
determines the makespan.
Cmax max { {Ai, j, f , k, t pti, j, f , k }}
f F , k Kf
i I j J t T (35)
3.6. Model 4 (adjacent sequence-based model)
Cmax max { {Yi ,j ,i, j,f ,k pti,j,f ,k}}
Model 4 is based on adjacent sequence-based modeling idea, and it
f F , k Kf
i {0 I } j Ji i I j Ji (36)
is inspired by the MILP model for DJSP (Naderi & Azab, 2014) and the
Experiments show that by adding the above lower bound can im-
MILP model for FJSP (Mousakhani, 2013). This model defines the ad-
prove the convergence efficiency of the MILP model, therefore, the final
jacent precedence decision variable Yi , j , i, j, f , k , which decades the pre-
MILP models used to solve DFJSP are coupled with these lower bounds.
cedence relationship between two adjacent operations on the same
In detail, the final Model 1 is coupled with constraint sets (32)–(33), the
machine. Moreover, a dummy job 0 must be added to aid with defining
final Model 2 is coupled with constraint sets (32) and (34), the final
and identifying the first job to be processed on a machine.
Model 3 is coupled with constraint sets (32) and (35), and the final
Model 4 is coupled with constraint sets (32) and (36).
3.6.1. Decision variable
Four decision variables namely Yi , j , i, j, f , k , Zi, f , Bi, j and Cmax are 4. CP model
needed in Model 4.
Constraint programming is an exact solution method and well-
3.6.2. Constraint sets known for its strength to find good quality feasible solutions for large-
Model 4 is subjected to constraint sets (1), (7), and (25)–(31). sized combinatorial optimization problems within reasonable time. In
order to convey information between constraints and variables, CP
Yi , j , i, j, f , k = Zi, f , i I, j Ji , f F works by using constraint propagation (filtering) method. Each global
i {0 I } j Ji k K i , j , f (25) constraint is associated with a propagation algorithm that is used to

6
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

remove the values of variables from their domains in order to prevent endBeforeStart (opsi, j, opsi, j + 1): i I, j {1, ...,ni 1} (39)
constraints from being infeasible (Gedik et al., 2016). In CP, new de-
cision variables named interval decision variable and sequence decision presenceOf (modesopId2) × f2
variable are two popularly used variables. k2 Ki, j, f2

An interval variable represents for a time interval, during which a = presenceOf (modesopId1) × f1
task takes place and whose position in time is unknown. Moreover, it k1 Ki, j , f1

has several attributes such as start, end and processing times. In this : Oi, j opId1, Oi, j opId2, i I, j Ji , j Ji , f1 F , f2 F (40)
study, we utilize interval decision variables to represent the start and
end time of operations on their corresponding machines. The interval Cmax endOf (modesopId ): i I , Oi, ni opId, f F (41)
variables can be optional; that is to say, it can or cannot be present in
the final solution schedule. If an interval variable is present in the final where constraint set (37) ensures that each operation is assigned to
solution, it must be processed and numerical values must be assigned to exactly one factory and one of its eligible machines. In detail, the
its start, end and processing times respectively. If otherwise, then the function alternative (.) is used to ensure that just one of the optional
domain of the interval variable is left empty (IBM, 2014). interval variables ModesopId, f , k, pt with the same opId will be present in
With regard to a sequence decision variable, it represents for an the final scheduling solution. Constraint set (38) assures the non-
ordering over a set of interval variables. For example, if a sequence is overlapping of the operations assigned to the same machine. To be
defined over a set of interval variables {A1, A2, A3, A4}, a sequence specific, the function noOverlap (.) enforces that all the optional interval
solution can be (A1, A3, A4, A2). Moreover, each interval variable in a variables ModesopId, f , k, pt associated with sequence variable mchsk do not
sequence is associated with an attribute that reflects one of its prop- overlap with each other. Constraint set (39) forces the precedence re-
erties or a combination of properties that can be employed for se- lation between the operations of the same job. Constraint set (40) en-
quencing decisions. To avoid overlapping, related constraints must be sures that the operations of the same job must be assigned to the same
added to the interval variables belonging to the sequence (IBM, 2014). factory. Constraint set (41) states that the makespan is no less than the
Here we show the CP model of DFJSP coded in IBM CPLEX Studio sum of the completion of each job and its corresponding transportation
IDE 12.7.1. The followings represent the used parameters, decision time.
variables and related functions in the CP model. As far as we know,
there is no standardization in defining variables, related functions and 5. Experimental results
constraints in the CP community. In different solvers such as CPLEX, OR
Tools and Gecode, features of the same meaning may use different This section evaluates the performance of the four MILP models and
names. Therefore, a CP model coded in one solver may not be run CP model. To compare the four MILP models, 20 instances adapted
successfully in another one (Gedik, Kirac, Bennet Milburn, & Rainwater, from MFJS01-10 (Fattahi et al., 2007) and MK01-MK10 (Brandimarte,
2017). The following model can further be understood by referring 1993) are used. Each one of the 20 instances has been obtained by
to the appendix, which shows the detailed CP model code in IBM supposing that all the factories share the same characteristics and by
CPLEX Studio IDE 12.7.1. replicating the data describing the related flexible job shop for each
factory. Cases with only two factories are considered. Moreover, to
compare the best MILP model, the CP model with state-of-the-art al-
Parameters: gorithms for solving DFJSP, three experiments involving 23 instances
The step of an operation in all the operations of all jobs.
(rdata) with 2–4 factories from reference (De Giovanni & Pezzella,
opId
OpsopId, i,j It refers to operation Oi,j . 2010) are conducted. All the MILP models and CP model are coded in
ModesopId, f , k, pt It refers to eligible factories, corresponding machines and OPL language of IBM CPLEX Studio IDE 12.7.1 on a desktop Dell Vostro
processing times of operation Oi,j . OpsopId, i,j corresponds to no 3900 with 3.20 GHz Intel Corei5-4460 Duo processor and 8 GB of RAM
less than one ModesopId, f , k, pt with the same opId due to the memory. The MILP models and CP model are solved by IBM CPLEX
flexible factories and machines. Solver and IBM CP Solver respectively.
Decision variables: The default method of IBM CPLEX Solver for solving MILP is the
opsi,j interval object of OpsopId, i,j . branch-and-cut method, which is the combination of cutting plane and
modesopId (optional) optional interval object of ModesopId, f , k, pt . branch-and-bound methods. The default method of IBM CP Solver for
mchsk sequence decision variable, which includes a set of interval solving CP model works by using constraint propagation (filtering)
variables modesopId that can be assigned to machine k .
method. The timelimit of all the MILP models and CP model for all
Cmax makespan
instances are set to 600 s. The RelativeOptimalityTolerance and
Functions: OptimalityTolerance of MILP and CP models is set to 0 to guarantee to
This function returns the presence status(Boolean type) of an
presenceOf (.)
obtain optimal solution. For CP model, the RestartFailLimit parameter is
interval variable. If an interval variable is present then 1 is
returned; otherwise, 0 is returned. an important factor, which determines when the search in the CP tree
endOf (.) This function returns the end time of an interval variable if it is needs to be restarted (Gedik et al., 2018). By try and trail, we set Re-
present; otherwise, 0 is returned by default. startFailLimit to 1000.
endBeforeStart (.) This function constrains that if predecessor and successor of an
interval variable is present, then the successor cannot start
before the end of the predecessor. 5.1. Comparisons of different MILP models
alternative (.) alternative (ops, modes ) formulates the alternative constraint
between interval variable ops and optional interval variable The four MILP models are compared from two aspects namely size
modes . complexity and computational complexity. With regard to the com-
This function is used to constraint the non-overlapping of the
noOverlap (.)
parison of size complexity, three norms namely the number of binary
intervals present in a sequence variable. For example, a set of
interval variables {a1, ...,an} are present in a sequence. Then,
variables (NBVs), the number of continuous variables (NCVs), and the
whenever both interval variables ai and aj , i! = j , ai must end number of constraints (NCs) are used. As to the computational com-
before the start of aj or aj must end before the start of ai . plexity, comparison norms such as the final solution value (CS), the
CPU time and gap value are utilized, among which the gap value re-
alternative (opsi, j , modesopId ): Oi . j opId, i I, j Ji (37) presents the average optimality gap of the obtained solution within
timelimit. Gap can be calculated as |CS − BS|/|CS|%. Thereinto, BS is
noOverlap (mchsk ): k K (38) the obtained lower bound within the timelimit by the MILP model.

7
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

Table 2
Size complexity of the four proposed MILP models.
Inst. Model 1 Model 2 Model 3 Model 4

NBVs NCs NCVs NBVs NCs NCVs NBVs NCs NCVs NBVs NCs NCVs

MFJS01 127 370 16 380 1060 82 54,292 32,224 16 526 478 17


MFJS02 149 448 16 472 1290 94 62,566 37,072 16 644 508 17
MFJS03 203 675 19 716 1859 115 77,004 44,325 19 924 659 20
MFJS04 254 898 22 946 2392 134 112,238 63,374 22 1186 824 23
MFJS05 257 874 22 924 2340 132 92,634 52,450 22 1160 820 23
MFJS06 312 1117 25 1176 2909 149 154,024 85,975 25 1440 999 26
MFJS07 458 1765 33 1892 4501 189 240,568 131,427 16 2220 1551 34
MFJS08 519 1931 37 2034 4860 209 265,242 145,346 37 2396 1882 38
MFJS09 719 2831 45 2948 6850 251 317,674 171,640 45 3378 2632 46
MFJS10 847 3407 49 3540 8119 273 426,072 228,759 49 4006 3057 50
MK01 1140 4946 56 5266 11,633 286 14,280 8067 56 5740 3811 57
MK02 1890 17,333 59 19,248 40,609 539 20,012 11,077 59 40,042 4657 60
MK03 8492 49,013 151 51,888 107,926 1053 200,274 103,704 151 53,710 25,122 152
MK04 2095 8681 91 9094 19,866 435 28,238 15,648 91 9800 9306 92
MK05 3734 16,125 107 16,876 35,574 469 73,154 38,364 107 17,610 12,534 108
MK06 8875 50,273 151 55,020 114,513 1131 139,180 72,893 151 57,002 25,285 152
MK07 4549 31,005 101 32,350 67,297 667 91,732 47,815 101 33,494 11,687 102
MK08 6400 25,916 226 26,428 56,259 870 387,728 201,861 226 27,738 53,123 227
MK09 15,296 15,296 241 79,920 165,571 1453 972,064 496,687 241 82,366 61,309 242
MK10 19,168 101,841 241 106,504 219,617 1673 1,578,104 804,031 241 109,392 61,755 242

Values in bold indicate that they are the best.

Table 3
Computational complexity of the four proposed MILP models.
Inst. LB Model 1 Model 2 Model 3 Model 4

CS Time Gap CS Time Gap tmax CS Time Gap CS Time Gap

MFJS01 403 403 0.06 0 403 0.34 0 410 – 600 – 403 0.14 0
MFJS02 396 396 0.03 0 396 0.66 0 400 – 600 – 396 0.17 0
MFJS03 396 396 0.16 0 396 7.15 0 400 – 600 – 396 0.66 0
MFJS04 496 496 0.25 0 496 7.58 0 500 – 600 – 496 0.56 0
MFJS05 414 414 0.22 0 414 10.30 0 420 – 600 – 414 0.38 0
MFJS06 614 614 0.19 0 614 10.45 0 620 – 600 – 614 0.89 0
MFJS07 764 764 0.55 0 764 144.36 0 770 – 600 – 764 56.18 0
MFJS08 764 764 0.44 0 764 167.03 0 770 – 600 – 764 4.57 0
MFJS09 764 764 3.68 0 789* 600 3.17 770 – 600 – 764 111.31 0
MFJS10 944 944 4.10 0 1222* 600 22.75 950 – 600 – 944 180.26 0
MK01 22 24 8.97 0 60 600 63.33 30 24 388.83 0 29 600 24.13
MK02 18 19 162.60 0 – 600 – 20 19 485.85 0 – 600 –
MK03 63 105* 600 2.86 – 600 – 110 – 600 – – 600 –
MK04 35 39 513.57 0 – 600 – 40 – 600 – 199 600 81.91
MK05 59 93* 600 7.53 – 600 – 100 – 600 – – 600 –
MK06 33 67* 600 46.27 – 600 – 70 – 600 – – 600 –
MK07 44 75* 600 8.00 – 600 – 80 – 600 – – 600 –
MK08 162 278* 600 5.76 – 600 – 300 – 600 – – 600 –
MK09 130 379* 600 59.90 – 600 – 400 – 600 – – 600 –
MK10 113 503* 600 77.53 – 600 – 550 – 600 – – 600 –
Mean – – –

–No feasible solution is found within 600 s.


Values in bold indicate that they are the best.
In this paper, tmax of Model 3 is determined by referring the CS of Model 1.
* Feasible but not optimum solution.

Obviously, a solution with the gap value of 0 is optimal. CS is the ob- for sequencing in other models. Model 3 is based on the time-indexed
tained solution within the timelimit. The size complexity and compu- modeling idea, and Yi, j, f , k, t and Ai, j, f , k, t are directly proportional to the
tational complexity of the four proposed MILP models for solving 20 time horizon and instance size, especially the latter. For example, al-
instances are given in Tables 2 and 3. though the size of MK01 is much bigger than MFJS01, the NBVs of the
former is much less than the latter. This is because the time horizon of
MFJS01 is 410, which is much bigger than 30 of MK01.
5.1.1. Size complexity comparison With regard to NCs, Model 1 is the least one for MFJS01-02, MK04
As shown in Table 2, Model 1 has much less NBVs than the other and MK08-09. Model 4 has the least NCs for MFJS03- MFJS10, MK01-
models and Model 3 has much more NBVs than the other models. MFJS03, MK05- MFJS07 and MK10. Like NBVs, the NCs of Model 3
Moreover, the order of the least to most of NBVs is Model 1, Model 2, depends most on the time horizon. Model 3 has the most NCs with
Model 4 and Model 3. This is because Model 1 is based on sequence- regard to instances namely MFJS01- MFJS10 and MK05- MK10 with
based modeling idea, which defines the precedence decision variable relatively large time horizon.
Yi, j, i , j (i < i ) with much less binary variables than the decision variables

8
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

When it comes to NCVs, Model 1 and Model 3 have the least NCVs. et al., 2017). Tables 4–6 show the comparison results of 23 instances of
This is because they only have two continuous decision variables 2–4 factories respectively. In Tables 4–6, the CPU time (T) of IGA is on a
namely Bi, j and Cmax . Model 2 needs the most NCVs because it possesses 2.0 GHz Intel Core2 processor with 2.0 GB of RAM memory in C ++
three continuous decision variables namely Sf , k, p , Bi, j and Cmax . (De Giovanni & Pezzella, 2010). The CPU times of GA_JS and GA_OP are
on a 3.0 GHz AMD Athlon (TM) II ×4640 processor with 4.0 GB of
RAM memory in C ++ (Wu et al., 2017). RPE in Tables 4–6 represents
5.1.2. Computational complexity comparison
for the relative percent error of the best makespan (MK) to the lower
Table 3 shows the computational complexity of the four proposed
bound (LB). AV denotes the average makespan of several repetitions. In
MILP models. As can be seen from Table 3, Model 1 performs best in
Tables 4–6, the solution with “*” denotes that it is better than the
terms of CS, CPU time and gap value, which can attribute to its least
current best solution. The solution in bold is the best one among all
NBVs. This is because NBVs is the most important influencing factor for
algorithms. In Tables 4–5, for CP model, the MK in parentheses corre-
MILP models. In detail, Model 1 can solve 13 instances out of 20 to
sponds to the T(s) in parentheses. The MK in parentheses is the earliest
optimality with gap = 0. Model 2 can solve 8 small instances namely
good solution that CP model can obtain, and the T(s) in parentheses is
MFJS01-08 to optimality with gap = 0 within 600 s. With regard to
the earliest time for obtaining the earliest good solution. For example,
MFJS09-MFJS10 and MK01, Model 2 can only obtain feasible solutions
with regard to la06 in Table 4, CP model can obtain improved solution
within 600 s. For MK02-MK10, no feasible solutions can be obtained by
of 413 with 35.9 s, and it can obtain the earliest ‘improved solution of
Model 2. For Model 3, it cannot find any feasible solutions for small
420 with 3.8 s. Between 3.8 s and 35.9 s, CP model improves solution of
instances namely MFJS01- MFJS10. This is because these instances are
420 to 413. With regard to la11 in Table 4, CP model can obtain so-
with big time horizon, and the NBVs and NCs are very big for Model 3.
lution of 545 within 600 s, and it can obtain earliest 545 with 12.2 s.
Model 3 can solve relatively large-sized instances namely MK01-MK02
Between 12.2 s and 600 s, CP model cannot improve the solution of
to optimality and outperforms Model 2 and Model 4, which can be
545.
attributed to the small time horizon of MK01- MK02. For Model 4, it can
solve MFJS01-MFJS10 to optimality within 600 s, and obtain feasible
solution 29 for MK01, 199 for MK04 within 600 s. For MK02-MK03 and
5.2.1. Comparison of MILP model with the state-of-the- art algorithms
MK05-MK10, no feasible solution can be found by Model 4. In terms of
Tables 4–6 show the results of the best MILP Model 1 for all the 23
CS, CPU time and gap value, Model 4 performs better than Model 2.
instances. In Table 4, for la01-la05, la16-la20 mt06 and mt10, Model 1
This may be because Model 4 has smaller NCs and NCVs than Model 2.
could obtain the best (optimal) solution more efficiently than all the
Above all, Model 1 outperforms Models 2–4 in terms of CS, Time
meta-heuristic algorithms. For la10, Model 1 can obtain the optimal
and Gap, and it is most suitable for solving DFJSP. Model 4 outperforms
solution of 443 with 27.6 s, which is smaller than that of IGA and bigger
Model 2. The performance of Model 3 is hugely dependent on the time
than that of GA_JS and GA_OP. For la06, Model 1 can obtain very good
horizon of the problem.
solution of 418, which is better than 445 of IGA, 421 of GA_JS and 424
of GA_OP. For la07, in terms of MK, Model 1 performs better than IGA
5.2. Comparisons of the MILP model and CP model with state-of-the- art and GA_JS, and performs the same with GA_OP. For la09, Model 1
algorithms obtains the solution of 449, which is better than 469 for IGA, but worse
than 447 for GA_JS and 444 for GA_OP. For other instances namely
In this section, we evaluate the performance of the best MILP model, la11-la15 and mt20, the comparison results are obviously shown in
that is Model 1, and CP model. We compare Model 1 and CP model with Table 4.
three state-of-the-art algorithms for solving DFJSP, namely IGA (De For the instances with 3 factories in Table 5, in terms of MK, Model
Giovanni & Pezzella, 2010), GA_JS (Lu et al., 2015) and GA_OP (Wu 1 performs no worse than all the existing algorithms for all the instances

Table 4
Comparison results of 2-factory DFJSP.
Inst. LB IGA GA_JS GA_OP CP model Model 1

MK AV T(s) RPE MK AV T(s) RPE MK AV T(s) RPE MK T(s) RPE MK T(s) RPE

la01 413 413 413 12 0 413 413 7.1 0 413 413 4.7 0 413 0.1 0 413 3.2 0
la02 394 394 394 11.2 0 394 394 6.6 0 394 394 4.7 0 394 0.1 0 394 1.3 0
la03 349 349 349 10.8 0 349 349 7 0 349 349 5.2 0 349 0.1 0 349 4.9 0
la04 369 369 369 11.4 0 369 369 6.4 0 369 369 5 0 369 0.1 0 369 1.0 0
la05 380 380 380 8 0 380 380 6.6 0 380 380 5 0 380 0.1 0 380 0.9 0
la06 413 445 449.6 45.8 7.7 421 435.8 25.8 1.9 424 432.7 23.9 2.7 413*(420*) 35.9(3.8) 0(1.7) 418* 600 1.2
la07 376 412 419.2 50.2 9.6 396 408.5 26.3 5.3 390 403.6 24.6 3.7 386*(389*) 177.2(25.2) 2.7(3.5) 390 600 3.7
la08 369 420 427.8 53.8 13.8 406 417.4 26.4 10 397 411.7 23.7 7.6 391*(396*) 82.8(11.9) 6.0(7.3) 399 600 8.1
la09 382 469 474.6 45.2 22.8 447 459 27 17 444 455.7 24.1 16.2 436*(443*) 351.5(10.4) 14.1(16.0) 449 600 17.5
la10 443 445 448.6 45 0.5 443 444.1 24.9 0 443 443.2 21.9 0 443 0.1 0 443 27.6 0
la11 413 570 571.6 126 38 548 557.1 64.6 32.7 541 549.9 62.5 31 545(5 4 5) 600(12.2) 32.0 567 600 37.3
la12 408 504 508 116 23.5 483 492.5 65.5 18.4 474 482.3 63.9 16.2 469*(473*) 600(35.8) 15.0(15.9) 485 600 18.9
la13 382 542 552.2 125.4 41.9 530 538.4 66.1 38.7 529 538.1 62.3 38.5 525*(528*) 600(26.6) 37.4(38.2) 545 600 42.7
la14 443 570 576 122.2 28.7 545 557.3 63.3 23 544 553.7 63 22.8 542*(5 4 4) 600(12.9) 22.3(22.8) 545 600 23.0
la15 378 584 588.8 119.6 54.5 554 568.7 63.6 46.6 554 566.6 63.1 46.6 555(5 5 5) 600(42.6) 46.8(46.8) 577 600 52.6
la16 717 717 717 140.2 0 717 717 53.3 0 717 717 47.8 0 717 0.1 0 717 1.9 0
la17 646 646 646 112.6 0 646 646 52 0 646 646 48.7 0 646 0.1 0 646 1.9 0
la18 663 663 663 132.4 0 663 663 53.9 0 663 663 48.7 0 663 0.1 0 663 2.7 0
la19 617 617 617.2 147.2 0 617 622.1 58.4 0 617 617.5 57.9 0 617 0.3 0 617 5.8 0
la20 756 756 756 99.8 0 756 756 53.9 0 756 756 48.3 0 756 0.2 0 756 2.4 0
mt06 47 47 47 2 0 47 47 3.4 0 47 47 2.4 0 47 0.1 0 47 0.1 0
mt10 655 655 655 173 0 655 655 54 0 655 655 49.6 0 655 0.1 0 655 2.4 0
mt20 387 560 566 121.2 44.7 530 547.7 59.5 37 525 534.4 61.4 35.7 523*(523*) 600(39.6) 35.1(35.1) 533 600 37.7
Ave. 79.6 12.4 38.1 10.0 35.8 9.6 184.7(9.7) 9.2(9.5) 263.3 10.6

9
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

Table 5
Comparison results of 3-factory DFJSP.
Inst. LB IGA GA_JS GA_OP CP model Model 1

MK AV T(s) RPE MK AV T(s) RPE MK AV T(s) RPE MK T(s) RPE MK T(s) RPE

la01 413 413 413 4.6 0 413 413 4.5 0 413 413 3 0 413 0.1 0 413 0.9 0
la02 394 394 394 3.6 0 394 394 4.4 0 394 394 3 0 394 0.1 0 394 0.6 0
la03 349 349 349 3.8 0 349 349 4.6 0 349 349 3.1 0 349 0.1 0 349 0.7 0
la04 369 369 369 3.8 0 369 369 4.4 0 369 369 3 0 369 0.1 0 369 1.0 0
la05 380 380 380 2.6 0 380 380 4.4 0 380 380 2.9 0 380 0.1 0 380 0.5 0
la06 413 413 413 17.4 0 413 413 10.3 0 413 413 7.9 0 413 0.1 0 413 11.3 0
la07 376 376 376 18.2 0 376 376 11.2 0 376 376 9.1 0 376 0.1 0 376 10.5 0
la08 369 369 369 19.6 0 369 369 10.6 0 369 369 8.7 0 369 0.2 0 369 23.1 0
la09 382 382 387.4 17.8 0 382 382 12.8 0 382 382 11 0 382 0.6 0 382 26.0 0
la10 443 443 443 17 0 443 443 10.7 0 443 443 8.4 0 443 0.1 0 443 4.1 0
la11 413 425 436.8 50.6 2.9 413 419.3 31.2 0 413 418 28.9 0 413 1.5 0 413 86.7 0
la12 408 408 408 44.6 0 408 408 23.5 0 408 408 22.1 0 408 0.2 0 408 45.8 0
la13 382 419 430.2 45.8 9.7 396 407.6 31.9 3.7 395 408.4 29.6 3.4 382* 3.4 0 390* 600 2.1
la14 443 443 448.8 48.8 0 443 443 23.5 0 443 443 23.1 0 443 5.4 0 443 106.7 0
la15 378 451 456 42.2 19.3 413 423.7 32.6 9.3 417 430 30.5 10.3 388*(415*) 600(2.3) 2.6(9.8) 416* 600 10.1
la16 717 717 717 36 0 717 717 26.4 0 717 717 21.1 0 717 0.2 0 717 2.1 0
la17 646 646 646 31.6 0 646 646 25.1 0 646 646 21.1 0 646 0.1 0 646 1.7 0
la18 663 663 663 36.8 0 663 663 26.1 0 663 663 20.6 0 663 0.2 0 663 2.7 0
la19 617 617 617 62.4 0 617 617 25.8 0 617 617 20.2 0 617 0.3 0 617 4.3 0
la20 756 756 756 34.2 0 756 756 25.2 0 756 756 20.8 0 756 0.2 0 756 3.2 0
mt06 47 47 47 1 0 47 47 2.7 0 47 47 1.8 0 47 0.1 0 47 0.1 0
mt10 655 655 655 50 0 655 655 25.8 0 655 655 21.8 0 655 0.1 0 655 2.8 0
mt20 387 439 442.6 48.2 13.4 407 415.8 33 5.2 397 412.7 29.5 2.6 387* 7.5 0 399 600 3.1
Ave. 27.9 2.0 17.9 0.8 15.3 0.7

except for mt20. For la13, Model 1 outperforms IGA, GA_JS, and 5.2.2. Comparison of CP model with the state-of-the- art algorithms
GA_OP, and obtains the best solution of 390 within 600 s. For mt20, As can be seen in Tables 4–6, except for la11 and la15, CP model can
Model 1 outperforms IGA and GA_JS, and obtains relatively good so- obtain no worse MK and RPE for all instances than IGA, GA_JS and
lution of 399 within 600 s. For la15, Model 1 obtains the best solution GA_OP. For the difficult instances, namely la06-la09, la12- la14 and
of 416. For the instances with 4 factories in Table 6, Model 1 can ef- mt20 with two factories in Table 4, CP model improves the best solu-
ficiently obtain the best and optimal solutions for all instances. tion. For la06, CP model can obtain good solution of 420 with very
Above all, although the MILP model is time-consuming for some short time of 3.8 s and the optimal solution of 413 with 35.9 s. For la07,
large-sized and hard instances, it can efficiently obtains the best or the CP model can obtain good solution of 389 with 25.2 s and the optimal
optimal solutions for small-sized and easy instances. More importantly, solution of 386 with 177.2 s. For la08, CP model can quickly obtain the
Model 1 can always obtain the same solution for all the instances with good solution of 396 with 11.9 s and the optimal solution of 391 with
the same time, and no repetitious solving is needed. 82.8 s. With regard to la09, CP model can archive good solution of 443

Table 6
Comparison results of 4-factory DFJSP.
Inst. LB IGA GA_JS GA_OP CP model Model 1

MK AV T(s) RPE MK AV T(s) RPE MK AV T(s) RPE MK T(s) RPE MK T(s) RPE

la01 413 413 413 1.8 0 413 413 4.4 0 413 413 2.4 0 413 0.1 0 413 0.4 0
la02 394 394 394 1.8 0 394 394 4.3 0 394 394 2.4 0 394 0.1 0 394 0.5 0
la03 349 349 349 2.2 0 349 349 4.4 0 349 349 2.4 0 349 0.1 0 349 0.6 0
la04 369 369 369 2 0 369 369 4.3 0 369 369 2.4 0 369 0.1 0 369 0.7 0
la05 380 380 380 1 0 380 380 4.4 0 380 380 2.4 0 380 0.1 0 380 0.7 0
la06 413 413 413 9 0 413 413 7.9 0 413 413 5.5 0 413 0.1 0 413 7.0 0
la07 376 376 376 9.6 0 376 376 8.3 0 376 376 5.7 0 376 0.2 0 376 4.0 0
la08 369 369 369 12.6 0 369 369 8.2 0 369 369 5.7 0 369 0.2 0 369 6.1 0
la09 382 382 382 11.6 0 382 382 8.4 0 382 382 5.7 0 382 0.2 0 382 13.2 0
la10 443 443 443 7.8 0 443 443 7.9 0 443 443 5.4 0 443 0.1 0 443 5.8 0
la11 413 413 413 29.6 0 413 413 15.7 0 413 413 13.4 0 413 0.3 0 413 38.7 0
la12 408 408 408 26.6 0 408 408 15.9 0 408 408 11.9 0 408 0.2 0 408 38.6 0
la13 382 382 382 27.6 0 382 382 17.6 0 382 382 15.6 0 382 0.3 0 382 18.9 0
la14 443 443 443 29.8 0 443 443 15.2 0 443 443 12.2 0 443 0.2 0 443 42.4 0
la15 378 378 397 28.8 5.0 378 381.9 20.3 0 378 385.8 17.9 0 378 0.8 0 378 104.2 0
la16 717 717 717 20.2 0 717 717 16.2 0 717 717 12.4 0 717 0.2 0 717 3.2 0
la17 646 646 646 16.4 0 646 646 15.2 0 646 646 12.2 0 646 0.1 0 646 2.9 0
la18 663 663 663 24.4 0 663 663 17.3 0 663 663 12.6 0 663 0.1 0 663 2.9 0
la19 617 617 617 33 0 617 617 16.1 0 617 617 11.3 0 617 0.2 0 617 2.6 0
la20 756 756 756 18 0 756 756 15.4 0 756 756 11.8 0 756 0.1 0 756 2.8 0
mt06 47 47 47 0.2 0 47 47 2.4 0 47 47 1.7 0 47 0.2 0 47 0.2 0
mt10 655 655 655 31.2 0 655 655 17.1 0 655 655 13.3 0 655 0.1 0 655 2.6 0
mt20 387 387 388.4 27 0 387 387 17.1 0 387 387 15.7 0 387 0.2 0 387 67.3 0
Ave. 16.2 0.2 11.5 0 8.8 0 0.2 0 15.9 0

10
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

with 10.4 s; moreover, optimal solution of 436 are obtained with state-of-art algorithms. More importantly, the proposed MILP model
351.5 s. For la11, CP model can obtain the second-best solution of 545 and CP model improve 11 best known solutions for the benchmark
with short time of 12.2 s. For la12, CP model obtains improved solution instances and prove the optimality of 62 best-known solutions. Most
of 473 with 35.8 s. Moreover, much better solution of 469 is archived importantly, the MILP model and CP model can always obtain the same
by running CP model with 600.0 s. For la13, CP model effectively ob- solution for all the instances with the same time, and no repeat is
tains improved solution of 528 with 26.6 s and much better solution of needed. While meta-heuristic algorithms cannot assure the same solu-
525 with 600.0 s. For la14, CP model obtains the current best solution tion of each repeat even for the relatively small-sized instances.
of 544 with 12.9 s and improved solution of 542 within 600.0 s. For As we can see from the comparison results, CP model outperforms
la15, CP model can obtain very good solution of 555 with 42.6 s. For all the other existing algorithms in terms of both solution quality and
other easy instances, CP model can solve them to optimality more ef- efficiency. Moreover, due to the simplicity of the CP formulation and
ficiently than the IGA, GA_JS and GA_OP. the ease of using the currently available solver IBM CP Optimizer, CP
When it comes to the instances with 3 and 4 factories, CP model also method is very suitable for practitioners to implement and use in
ranks first for all instances in terms of MK and RPE for all instances. For practice.
the instances with 3 factories in Table 5, CP model can solve 22 out of In the future research, we will extend the four modeling ideas to
23 instances to optimality efficiently. For the difficult instance la15, CP other distributed scheduling problems and formulate efficient MILP
model obtains much better solution of 415 and 388 with 2.3 s and models for them. The MILP models and CP model proposed in this paper
600.0 s respectively. For all the 23 instances with 4 factories in Table 6, can be easily modified to solve DFJSP with other objectives such total
CP model solves them to optimality much more efficiently with mean flowtime and earliness/tardiness. Moreover, we will try to formulate
time of 0.2 s than all the other algorithms. MILP/CP hybrid model based on decomposition methods such as logic-
In summary, CP model improves 11 best known solutions for the based benders decomposition (Gedik et al., 2016), and further merge
benchmark instances and proves the optimality of 62 best-known so- the strengths of MILP and CP methods.
lutions. Obviously, CP outperforms all the other algorithms. Moreover,
the same as MILP model, CP model can always obtain the same solution CRediT authorship contribution statement
for all the instances with the same time, and no repetitious solving is
needed. While meta-heuristic algorithms cannot assure the same solu- Leilei Meng: Conceptualization, Methodology, Software, Writing -
tion of each repeat even for the relatively small-sized instances. original draft. Chaoyong Zhang: Supervision, Writing - review &
editing, Funding acquisition. Yaping Ren: Investigation. Biao Zhang:
6. Conclusions and future study Formal analysis. Chang Lv: Software.

As far as we know, this paper is the first to formulate MILP models Acknowledgements
for DFJSP and is the first to implement CP method to DFJSP. For solving
DFJSP, we formulate four MILP models based on four different mod- This work was supported by Project of International Cooperation
eling ideas. Due to the NP-hard characteristic of DFJSP, we proposed a and Exchanges NSFC (No. 51861165202), the Key Research and
CP model to solve large-sized instances more effectively. We compare Development Program of Guangdong Province (No. 2019B090921001),
all the MILP models and the CP model with the existing algorithms. and the National Natural Science Foundation of China (No. 51575211,
Experimental results show that the sequence-based model is the most 51705263, 51805330). We are grateful to the editor and anonymous
efficient for solving DFJSP. Moreover, the CP model outperforms the referees for their constructive comments to improve this paper.

Appendix A

CP model coded in IBM CPLEX Studio IDE 12.7.1.

using CP;
int nbJobs = …;
int nbMchs = …;
int nbFactor = …;
range Jobs = 1..nbJobs;
range Mchs = 1..nbMchs;
range Factors = 1..nbFactor;
tuple Operation {
int opId; // The step of an operation in all the operations of all jobs.
int jobId; // Job id
int pos; // Position in job
};
tuple Mode {
int opId; // The step of an operation in all the operations of all jobs.
int fId; // Factory id
int mch; // Machine
int pt; // Processing time
};
{Operation} Ops = …;
{Mode} Modes = …;
// Position of last operation of job j
int jlast[j in Jobs] = max(o in Ops: o.jobId==j) o.pos;
dvar interval ops [Ops];
dvar interval modes[md in Modes] optional size md.pt;
dvar sequence mchs[m in Mchs] in all(md in Modes: md.mch == m) modes[md];
dexpr int makespan;
execute {
cp.param.TimeLimit = 600;

11
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

CP model coded in IBM CPLEX Studio IDE 12.7.1.

cp.param.RestartFailLimit = 1000;
cp.param.RelativeOptimalityTolerance = 0;
cp.param.OptimalityTolerance = 0;
}
minimize makespan;
subject to {
forall (o in Ops)
alternative(ops[o], all(md in Modes: md.opId==o. opId &&md.fId < =nbFactor) modes[md]);
forall (m in Mchs)
noOverlap(mchs[m]);
forall (j in Jobs, o1 in Ops, o2 in Ops: o1.jobId==j && o2.jobId==j && o2.pos==1 + o1.pos)
endBeforeStart(ops[o1],ops[o2]);
forall(j in Jobs, o1 in Ops, o2 in Ops: o1.jobId==j&& o2.jobId==j&& o2.pos==o1.pos + 1)
sum(md1 in Modes:o1.id==md1.opId)presenceOf(modes[md1])*md1.fId
==
sum(md2 in Modes:o2.id==md2.opId)presenceOf(modes[md2])*md2.fId;
makespan > =max(j in Jobs, o in Ops: o.pos==jlast[j]) endOf(ops[o]);
}
execute {
writeln(“makespan ”,makespan);
for (var m in Modes)
{
if (modes[m].present)
writeln(m.opId+“ ” + m.fId + “ ” + m.mch + “ ” + modes[m].start + “ ” + modes[m].end);
}
}

Appendix B. Supplementary material

Supplementary data to this article can be found online at https://doi.org/10.1016/j.cie.2020.106347.

References solution approach for a complex hybrid flow-shop scheduling problem with limited-
wait constraints. Computers & Operations Research, 39(3), 629–636.
Ham, A. M., & Cakici, E. (2016). Flexible job shop scheduling problem with parallel batch
Bożek, A., & Werner, F. (2018). Flexible job shop scheduling with lot streaming and sublot processing machines: MIP and CP approaches. Computers & Industrial Engineering, 102,
size optimisation. International Journal of Production Research, 56(19), 6391–6411. 160–165.
Brandimarte, P. (1993). Routing and scheduling in a flexible job shop by tabu search. Huang, Y. J., & Yao, X. F. (2012). Planning and scheduling of multiple flexible-shops
Annals of Operations Research, 41(3), 157–183. based on analytical target cascading and particle swarm optimization. Journal of
Bukchin, Y., & Raviv, T. (2018). Constraint programming for solving various assembly Central South University(Science and Technology), 43(01), 151–158.
line balancing problems. Omega, 78, 57–68. IBM (2014). IBM ILOG CPLEX Optimization Studio 12.6.
Chan, F. T. S., Chung, S. H., & Chan, P. L. Y. (2006). Application of genetic algorithms Jain, V., & Grossmann, I. E. (2001). Algorithms for hybrid MILP/CP models for a class of
with dominant genes in a distributed scheduling problem in flexible manufacturing optimization problems. INFORMS Journal on Computing, 13(4), 258–276.
systems. International Journal of Production Research, 44(3), 523–543. Jia, H. Z., Nee, A. Y. C., Fuh, J. Y. H., & Zhang, Y. F. (2003). A modified genetic algorithm
Chan, F. T. S., Chung, S. H., Chan, L. Y., Finke, G., & Tiwari, M. K. (2006). Solving for distributed scheduling problems. Journal of Intelligent Manufacturing, 14(3–4),
distributed FMS scheduling problems subject to maintenance: Genetic algorithms 351–362.
approach. Robotics and Computer-Integrated Manufacturing, 22(5–6), 493–504. Jin, L., Tang, Q., Zhang, C., Shao, X., & Tian, G. (2016). More MILP models for integrated
Chan, F., Chung, S., & Chan, P. (2005). An adaptive genetic algorithm with dominated process planning and scheduling. International Journal of Production Research, 54(14),
genes for distributed scheduling problems. Expert Systems with Applications, 29(2), 4387–4402.
364–371. Kelbel, J., & Hanzálek, Z. (2011). Solving production scheduling with earliness/tardiness
Chang, H., & Liu, T. (2017). Optimisation of distributed manufacturing flexible job shop penalties by constraint programming. Journal of Intelligent Manufacturing, 22(4),
scheduling by using hybrid genetic algorithms. Journal of Intelligent Manufacturing, 553–562.
28(8), 1973–1986. Keskinturk, T., Yildirim, M. B., & Barut, M. (2012). An ant colony optimization algorithm
Chung, S. H., Chan, F. T. S., & Chan, H. K. (2009). A modified genetic algorithm approach for load balancing in parallel machines with sequence-dependent setup times.
for scheduling of perfect maintenance in distributed production scheduling. Computers & Operations Research, 39(6), 1225–1235.
Engineering Applications of Artificial Intelligence, 22(7), 1005–1014. Ku, W., & Beck, J. C. (2016). Mixed Integer Programming models for job shop scheduling:
De Giovanni, L., & Pezzella, F. (2010). An Improved Genetic Algorithm for the Distributed A computational analysis. Computers & Operations Research, 73, 165–173.
and Flexible Job-shop Scheduling problem. European Journal of Operational Research, Li, J., Bai, S., Duan, P., Sang, H., Han, Y., & Zheng, Z. (2019). An improved artificial bee
200(2), 395–408. colony algorithm for addressing distributed flow shop with distance coefficient in a
Demir, Y., & Kürşat İşleyen, S. (2013). Evaluation of mathematical models for flexible job- prefabricated system. International Journal of Production Research, 1–21.
shop scheduling problems. Applied Mathematical Modelling, 37(3), 977–988. Li, J., Sang, H., Han, Y., Wang, C., & Gao, K. (2018). Efficient multi-objective optimization
Edis, E. B., & Oguz, C. (2012). Parallel machine scheduling with flexible resources. algorithm for hybrid flow shop scheduling problems with setup energy consumptions.
Computers & Industrial Engineering, 63(2), 433–447. Journal of Cleaner Production, 181, 584–598.
Fattahi, P., Saidi Mehrabad, M., & Jolai, F. (2007). Mathematical modeling and heuristic Lin, C., Lee, I., & Wu, M. (2019). Merits of using chromosome representations and shadow
approaches to flexible job shop scheduling problems. Journal of Intelligent chromosomes in genetic algorithms for solving scheduling problems. Robotics and
Manufacturing, 18(3), 331–342. Computer-Integrated Manufacturing, 58, 196–207.
Fleszar, K., & Hindi, K. S. (2018). Algorithms for the unrelated parallel machine sche- Lu, P., Wu, M., Tan, H., Peng, Y., & Chen, C. (2015). A genetic algorithm embedded with a
duling problem with a resource constraint. European Journal of Operational Research, concise chromosome representation for distributed and flexible job-shop scheduling
271(3), 839–848. problems. Journal of Intelligent Manufacturing, 29(1), 19–34.
Gedik, R., Kalathia, D., Egilmez, G., & Kirac, E. (2018). A constraint programming ap- Manne, A. S. (1960). On the Job-Shop Scheduling Problem. Operations Research, 8(2),
proach for solving unrelated parallel machine scheduling problem. Computers & 219–223.
Industrial Engineering, 121, 139–149. Marzouki, B., Driss, O. B., & Ghédira, K. (2018). Solving distributed and flexible job shop
Gedik, R., Kirac, E., Bennet Milburn, A., & Rainwater, C. (2017). A constraint program- scheduling problem using a chemical reaction optimization metaheuristic. Procedia
ming approach for the team orienteering problem with time windows. Computers & Computer Science, 126, 1424–1433.
Industrial Engineering, 107, 178–195. Matta, M. E. (2009). A genetic algorithm for the proportionate multiprocessor open shop.
Gedik, R., Rainwater, C., Nachtmann, H., & Pohl, E. A. (2016). Analysis of a parallel Computers & Operations Research, 36(9), 2601–2618.
machine scheduling problem with sequence dependent setup times and job avail- Meng, L., Zhang, C., Shao, X., & Ren, Y. (2019a). MILP models for energy-aware flexible
ability intervals. European Journal of Operational Research, 251(2), 640–650. job shop scheduling problem. Journal of Cleaner Production, 210, 710–723.
Gicquel, C., Hege, L., Minoux, M., & van Canneyt, W. (2012). A discrete time exact Meng, L., Zhang, C., Shao, X., Ren, Y., & Ren, C. (2019b). Mathematical modelling and

12
L. Meng, et al. Computers & Industrial Engineering 142 (2020) 106347

optimisation of energy-conscious hybrid flow shop scheduling problem with un- Ren, Y., Yu, D., Zhang, C., Tian, G., Meng, L., & Zhou, X. (2017). An improved gravita-
related parallel machines. International Journal of Production Research, 4(57), tional search algorithm for profit-oriented partial disassembly line balancing pro-
1119–1145. blem. International Journal of Production Research, 55(24), 7302–7316.
Meng, L., Zhang, C., Shao, X., Zhang, B., Ren, Y., & Lin, W. (2019c). More MILP models for Ren, Y., Meng, L., Zhang, C., Zhao, F., Saif, U., Huang, A., ... Sutherland, J. W. (2020). An
hybrid flow shop scheduling problem and its extended problems. International Journal efficient metaheuristics for a sequence-dependent disassembly planning. Journal of
of Production Research, 1–22. Cleaner Production, 245, 118644.
Meng, L., Zhang, C., Zhang, B., & Ren, Y. (2019d). Mathematical modeling and optimi- Rocha, P. L., Ravetti, M. G., Mateus, G. R., & Pardalos, P. M. (2008). Exact algorithms for
zation of energy-conscious flexible job shop scheduling problem with worker flex- a scheduling problem with unrelated parallel machines and sequence and machine-
ibility. IEEE Access, 7(1), 68043–68059. dependent setup times. Computers & Operations Research, 35(4), 1250–1264.
Mousakhani, M. (2013). Sequence-dependent setup time flexible job shop scheduling Roshanaei, V., Azab, A., & ElMaraghy, H. (2013). Mathematical modelling and a meta-
problem to minimise total tardiness. International Journal of Production Research, heuristic for flexible job shop scheduling. International Journal of Production Research,
51(12), 3476–3487. 51(20), 6247–6274.
Na, H., & Park, J. (2014). Multi-level job scheduling in a flexible job shop environment. Ruiz, R., Pan, Q., & Naderi, B. (2019). Iterated Greedy methods for the distributed per-
International Journal of Production Research, 52(13), 3877–3887. mutation flowshop scheduling problem. Omega, 83, 213–222.
Naderi, B., & Azab, A. (2014). Modeling and heuristics for scheduling of distributed job Ruiz, R., Şerifoğlu, F. S., & Urlings, T. (2008). Modeling realistic hybrid flexible flowshop
shops. Expert Systems with Applications, 41(17), 7754–7763. scheduling problems. Computers and Operations Research, 35(4), 1151–1175.
Naderi, B., Fatemi Ghomi, S. M. T., Aminnayeri, M., & Zandieh, M. (2011a). A study on Schulz, S., Neufeld, J. S., & Buscher, U. (2019). A multi-objective iterated local search
open shop scheduling to minimise total tardiness. International Journal of Production algorithm for comprehensive energy-aware hybrid flow shop scheduling. Journal of
Research, 49(15), 4657–4678. Cleaner Production, 224, 421–434.
Naderi, B., Ghomi, S. M. T. F., Aminnayeri, M., & Zandieh, M. (2011b). Scheduling open Shen, L., Dauzère-Pérès, S., & Neufeld, J. S. (2018). Solving the flexible job shop sche-
shops with parallel machines to minimize total completion time. Journal of duling problem with sequence-dependent setup times. European Journal of Operational
Computational & Applied Mathematics, 235(5), 1275–1287. Research, 265(2), 503–516.
Naderi, B., Khalili, M., & Khamseh, A. A. (2013). Mathematical models and a hunting Sun, L., Lin, L., Li, H., & Gen, M. (2019). Large scale flexible scheduling optimization by a
search algorithm for the no-wait flowshop scheduling with parallel machines. distributed evolutionary algorithm. Computers & Industrial Engineering, 128, 894–904.
International Journal of Production Research, 52(9), 2667–2681. Vallada, E., & Ruiz, R. (2011). A genetic algorithm for the unrelated parallel machine
Naderi, B., Zandieh, M., & Shirazi, M. A. H. A. (2009). Modeling and scheduling a case of scheduling problem with sequence dependent setup times. European Journal of
flexible flowshops: Total weighted tardiness minimization. Computers & Industrial Operational Research, 211(3), 612–622.
Engineering, 57(4), 1258–1267. Wagner, H. M. (1959). An integer linear-programming model for machine scheduling.
Nouiri, M., Bekrar, A., Jemai, A., Niar, S., & Ammari, A. C. (2018). An effective and Naval Research Logistics Quarterly, 6(2), 131–140.
distributed particle swarm optimization algorithm for flexible job-shop scheduling Wu, J., & Chien, C. (2008). Modeling semiconductor testing job scheduling and dynamic
problem. Journal of Intelligent Manufacturing, 29(3), 603–615. testing machine configuration. Expert Systems with Applications, 35(1–2), 485–496.
Novara, F. M., Novas, J. M., & Henning, G. P. (2016). A novel constraint programming Wu, M., Lin, C., Lin, C., & Chen, C. (2017). Effects of different chromosome representa-
model for large-scale scheduling problems in multiproduct multistage batch plants: tions in developing genetic algorithms to solve DFJS scheduling problems. Computers
Limited resources and campaign-based operation. Computers & Chemical Engineering, & Operations Research, 80, 101–112.
93, 101–117. Wu, R., Guo, S. S., Li, Y. B., & Wang, L. (2018). An improved artificial bee colony algo-
Oliveira, R. M. E. S., & Ribeiro, M. S. F. O. (2015). Comparing mixed & integer pro- rithm for distributed and flexible job-shop scheduling problem. Control and Decision,
gramming vs. constraint programming by solving job-shop scheduling problems. 1–11.
Independent Journal of Management & Production, 6(1). Wu, X., Liu, X., & Zhao, N. (2018). An improved differential evolution algorithm for
Özgüven, C., Özbakır, L., & Yavuz, Y. (2010). Mathematical models for job-shop sche- solving a distributed assembly flexible job shop scheduling problem. Memetic
duling problems with routing and process plan flexibility. Applied Mathematical Computing, 6, 1–21.
Modelling, 34(6), 1539–1548. Zhang, B., Pan, Q., Gao, L., Meng, L., Li, X., & Peng, K. (2019). A three-stage multi-
Öztürk, C., Tunalı, S., Hnich, B., & Örnek, A. (2015). Cyclic scheduling of flexible mixed objective approach based on decomposition for an energy-efficient hybrid flow shop
model assembly lines with parallel stations. Journal of Manufacturing Systems, 36, scheduling problem. IEEE Transactions on Systems, Man, and Cybernetics: Systems,
147–158. 1–16.
Pan, C. (1997). A study of integer programming formulations for scheduling problems. Zhang, L., Tang, Q., Wu, Z., & Wang, F. (2017). Mathematical modeling and evolutionary
International Journal of Systems Science, 28(1), 33–41. generation of rule sets for energy-efficient flexible job shops. Energy, 138, 210–227.
Pan, Q., Gao, L., Wang, L., Liang, J., & Li, X. (2019). Effective heuristics and metaheur- Ziaee, M. (2014). A heuristic algorithm for the distributed and flexible job-shop sche-
istics to minimize total flowtime for the distributed permutation flowshop problem. duling problem. The Journal of Supercomputing, 67(1), 69–83.
Expert Systems with Applications, 124, 309–324.

13

You might also like