Expert Systems With Applications 128 (2019) 81–83
Contents lists available at ScienceDirect
Expert Systems With Applications journal homepage: www.elsevier.com/locate/eswa
Discussion
Note on “A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints” Ammar A. Qamhan∗, Ibrahim M. Alharkan1 Department of Industrial Engineering, King Saud University, Riyadh 11451, Saudi Arabia
a r t i c l e
i n f o
Article history: Received 18 September 2018 Revised 17 March 2019 Accepted 17 March 2019 Available online 19 March 2019 Keywords: Scheduling Parallel Machines Resource constraints MILP
a b s t r a c t In the paper, “A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints” by Xiao-long Zheng and Ling Wang, published in a 2016 volume of Expert Systems With Applications, the authors present a mixed integer linear programming model (MILP) as a solution. This model is stated incorrectly, as it solves the problem of unrelated parallel machine scheduling without the additional resource constraint, which is not the given condition. A counterexample is provided in this note to demonstrate that the solution provided by the given MILP model not feasible for the considered problem. An adjustment on the MILP was developed to find an optimal solution for the problem addressed. The validation of the new MILP is verified. © 2019 Elsevier Ltd. All rights reserved.
1. Introduction In 2016, Expert Systems with Applications published the paper “A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints” by Xiao-long Zheng and Ling Wang. The authors sought to minimize the maximum completion time of an unrelated parallel machine scheduling problem with additional resource constraints (Zheng & Wang, 2016). A mixed integer linear programming model (MILP) was proposed in their work, but the MLIP model does not solve the problem it addresses. This note provides a counterexample to prove this assertion. Based on the same numerical illustration given as an example by Zheng and Wang (2016), we arbitrarily supposed that all the binary variables of yi,j,t = 0 and then tested the adequacy of the MILP model. The results confirmed that all the equations in the MLIP model are satisfied by i j t yi, j,t = 0. Because i j t yi, j,t = 0, the process time of all the jobs are skewed to the left, as shown in Fig. 1. The original MILP model can obtain solutions in which i j t yi, j,t = 0, with respect to optimality this is preferable to all optimal solutions in general, however, with respect to feasibility this is infeasible because it can ∗
Corresponding author. E-mail addresses:
[email protected] (A.A. Qamhan), imalhark@ksu. edu.sa (I.M. Alharkan). 1 Postal address: P.O. Box 800, Riyadh 11421, Kingdom of Saudi Arabia. https://doi.org/10.1016/j.eswa.2019.03.033 0957-4174/© 2019 Elsevier Ltd. All rights reserved.
process jobs without the allocating resource. In addition, the eventual solution as presented in Fig. 1 is definitely not feasible for the problem addressed. 2. Proposed modification To find the optimal solution for the problem considered in the study by Zheng and Wang (2016), a new MILP model was developed. The notations of this MILP are presented in Table 1. The MILP model can be formulated as follows:
min Cmax = max { fi , i = 1, 2, . . . , n} m
n
(1)
xi jk = 1,
∀j ∈ n
(2)
xi jk ≤ 1,
∀i ∈ n
(3)
k=1 (i=0,i= j ) m
n
k=1 ( j=1,i= j ) m
( j=1 )
x0 jk = 1,
∀k ∈ m
(4)
82
A.A. Qamhan and I.M. Alharkan / Expert Systems With Applications 128 (2019) 81–83 Table 2 Processing time.
M1 M2 M3
yikT ∈ {0, 1}, ti , f i ≥ 0,
J1
J2
J3
J4
J5
J6
1 3 4
2 5 3
3 6 4
3 2 4
4 3 5
8 6 5
∀i ∈ n, ∀k ∈ m, ∀t ∈ T
∀i ∈ n
(15) (16)
Fig. 1. Infeasible schedule for the example.
n
xh jk ≥ x jik ,
∀i, j ∈ n, i = j, ∀k ∈ m
(5)
(h = 0 )
(h = i, h = j )
f0 = 0
(6)
f i = si +
m n
pik x jik ,
∀i ∈ n
(7)
k=1 j=0
f q − si + M
m
xqik − 1
∀i ∈ n
≤ 0,
(8)
k=1 m T
yikt = fi − si ,
∀i ∈ n
(9)
k=1 t=0 T
y jkt ≤ M
n
xi jk ,
fi − 1 ≥ t
m
yikt ,
∀i ∈ n, ∀t ∈ T
k=1
si ≤ t
∀ j ∈ n, ∀k ∈ m
(10)
i=0
t=0
m
yikt + M
1−
k=1 n m
yikt ≤ R,
m
(11)
yikt
,
∀i ∈ n, ∀t ∈ T
(12)
k=1
The objective function (1) minimizes the maximum completion time. Constraint set (2) ensures that each job is assigned precisely to only one machine. Constraint set (3) guarantees the successors of each job are equal to or less than one. Constraint set (4) ensures that at least one job succeeds the dummy job for each machine. Constraint set (5) guarantees that a partial sequence of each job is properly linked in the machine. Constraint set (6) fixes the dummy job as the first job in the schedule. Constraint set (7) calculates the completion time of each job. Constraint set (8) guarantees that a job cannot start before its predecessor job. Constraint set (9) guarantees that the number of units of resource for each job in the proper machine exactly equals its processing time. Constraint set (10) guarantees that all units of resource for each job are allocated to the proper machine. Constraint set (11) guarantees that all units of resource for each job are allocated before its completion time. Constraint set (12) guarantees that all units of resource for each job are allocated after its starting time. Constraint set (13) imposes the condition that the total amount of resource assigned to a job at any point in the time horizon is less than or equal to the available amount of that resource. Constraints (14)–(16) define the feasible scope of decision variables. The proposed MILP was solved using CPLEX solver on GAMS Optimizer version 24.1.2. To validate our proposed MILP we used the same illustrated example as Zheng and Wang (2016). We use an instance with 6 jobs (n = 6), 3 machines (m = 3) and 2 as the total amount of resource available (R = 2). The processing times for each job, on each machine, are listed in Table 2. The schedule in Fig. 2 is an optimal schedule for the given instance, obtained by solving the proposed MILP using a CPLEX solver. Credit authorship contribution statement
∀t ∈ T
(13)
i=0 k=1
xi jk ∈ {0, 1}, i = 0, 1, . . . , n;
∀ j ∈ n, ∀k ∈ m
(14)
Ammar A. Qamhan: Conceptualization, Formal analysis, Software, Validation, Writing - original draft, Writing - review & editing. Ibrahim M. Alharkan: Conceptualization, Formal analysis, Supervision, Writing - review & editing.
Table 1 MILP model notations. Indices i, j the index of job, i, j = 1, 2, …, n k the index of machines, k = 1, 2, …, m t the index o f time, t = 1, 2, . . . , T “a large enough number ” Parameters processing time of job i on machine j pij R Available amount of resource M A large number enough Decision variables a binary variable and xik = 1, if job i precedes job j in machine k otherwise xik = 0 xijk a binary variable and zikt = 1, if job i being processed in machine k at time t otherwise zikt = 0 yikt the starting time of job i si the finishing time of job i fi
A.A. Qamhan and I.M. Alharkan / Expert Systems With Applications 128 (2019) 81–83
83
Fig. 2. Optimal schedule for the example.
Acknowledgments
Reference
The authors would like to acknowledge the support provided by the Deanship of Scientific Research at King Saud University, through the Research Centre at the College of Engineering. The authors would also like to thank the Researchers Support and Services Unit of King Saud University for their technical support.
Zheng, X., & Wang, L. (2016). A two-stage adaptive fruit fly optimization algorithm for unrelated parallel machine scheduling problem with additional resource constraints. Expert Systems with Applications, 65, 28–39.