Minimizing the makespan on a two machine flow-shop with preventive maintenance I. Krimi12 , R. Benmansour1 , S. Hanafi1 , and N. Elhachimi2 1
1
University of Valenciennes and Hainaut Cambr´esis LAMIH, UMR CNRS 8201, 59313 Valenciennes Cedex 9, France. {Said.Hanafi,Rachid.Benmansour}@univ-valenciennes.fr 2 EMI, Rabat Maroc.
[email protected] [email protected]
Introduction
One of the most significant issue in manufacturing systems is production scheduling. Better scheduling system has significant impact on cost reduction, increased productivity, customer satisfaction and overall competitive advantage. The majority of scheduling literatures carries a common assumption that machines are available all the time. However, this availability assumption may not be true in real industry. In order to increase the productivity, machines on production lines should be maintained periodically.In this paper, we study a two-machine flow shop scheduling problem where machines must be maintained periodically Although, this problem is realistic and important, it is relatively less studied. The aim is to minimize the makespan. In the flow-shop scheduling literature, there is a major job feature which is the preemption. In our work, we assume that preemption is not allowed. Liao et al. [3] introduced a new notion which is the unavailability constraint due to preventive maintenance after a fixed number of jobs. They provided a Mixed Integer Programming (MIP) model, two heuristics and also a Branch and Bound method for analyzing heuristic’s performance. Nouri et al.[1] dealt with a non-permutation two-machine flow-shop with learning effect and availability constraints. They propose a MIP and an effective improving heuristic. Hnaien et al. [2] were interested by with the same problem but under the unavailability constraints considered only on one machine. They investigated two mixed-integer programming (MIP) models for this problem. Then we propose a branch and bound algorithm based on a set of new lower bounds and heuristics.
2
MIP formulation
We consider a set of n jobs N = {1, 2, .., n} to be executed on two machines represented by a set K = {1, 2}. First, we mention that each machine can perform only one job at time. Each job must follow the same route. It should be executed on the first machine then on the second one. We assume that preemption is not allowed and also machines are not always available during the scheduling horizon. Our approach consists on splitting the scheduling horizon into batches. Each one is defined as the period between two successive maintenance tasks. We mention that T represents the length of each batch. We present the notations used to define the problem:
n k i Pik T d l M
number of jobs machine index, k = 1, 2 job index, i = 1, .., n processing time of job i on machine k availability period duration of maintenance task batch index big integer value
2
I. Krimi, R. Benmansour, S. Hanafi, and N. Elhachimi
The variables Cmax , Cik represent, respectively, the makespan and the completion time of job i on the machine k. 1 if job i precedes job j on machine k, xijk = 0 otherwise. bilk = zlk =
1 if job i belongs to bach l on machine k, 0 otherwise.
1 if batch l is used on machine k, 0 otherwise.
min Cmax
(1)
s.c. Cik ≥ Pik
∀(i, k) ∈ N × K;
(2) 2
Cik ≥ Pik + Cjk − M xijk
∀(i, j) ∈ N , i 6= j, k ∈ K; 2
(3)
Cjk ≥ Pjk + Cik − M (1 − xijk ) ∀(i, j) ∈ N , i 6= j, k ∈ K;
(4)
Cmax ≥ Ci2
(5)
∀i ∈ N ;
Ci2 − Pi2 ≥ Ci1 ∀i ∈ N ; n X bilk = 1 ∀(i, k) ∈ N × K; l=1 n X
Pik bilk ≤ T zlk
(6) (7)
∀(l, k) ∈ L × K;
(8)
i=1
Cik − Pik ≥ (l − 1)(T + d)bilk
∀(i, l, k) ∈ N × L × K;
Cik ≤ (lT + (l − 1)d)bilk + (1 − bilk )M Cik ≥ 0
∀(i, l, k) ∈ N × L × K;
∀(i, k) ∈ N × K;
(9) (10) (11)
xij ∈ {0, 1}
2
∀(i, j) ∈ N ;
(12)
bilk ∈ {0, 1}
∀(i, l, k) ∈ N × L × K;
(13)
zlk ∈ {0, 1}
∀(l, k) ∈ L × K;
(14)
The objective function (1) is to minimize makespan. Constraints (2) guarantee that completion times of the jobs must be higher than or equal to their corresponding processing times. Constraints (3)-(4) avoid the overlap of jobs. Constraints (5) specify that the makespan is higher than or equal to all completion times of the jobs executed on the second machine. Constraints (6) guarantee that the first operation of a job should be executed on the first machine completely before its executing on the second machine. Constraints (7) assure that a job must be included in exactly one batch. This latter could be different for each machine. Constraints (8) assume that processing times of jobs in a batch do not exceed its length T . Constraints (9 )-(10) define the starting and completion times for each job included in a batch. The completion time was defined as non-negative variables by constraint (11) and also constraints (12 )-(13)-(14)set up the binary variables xijk ,bilk ,zlk . We obtain a MIP model for a permutation scheduling by adding the following constraints : xij1 = xij2 ∀(i, j) ∈ N 2 2.1
Lower bound
we present a lower bound for the problem based on Hnaien et al. [2]: LB =
n X i=1
3
Pn Pi1 + b
i=1
T
Pi1
− 1c · d + min{Pi2 }
(15)
Variable Neighbourhood Search
Variable Neighbourhood Search is a single-solution based meta-heuristic for solving optimization problems proposed by Mladenovic and Hansen [4]. The principal idea is to explore successfully a set
Minimizing the makespan on a two machine flow-shop with preventive maintenance
3
of different neighborhood in order to provide a better solution by moving from one neighborhood to another. The changes of neighborhood are used to escape from local optimum. We use three procedure to generate an initial solution: randomly, by applying SPT and LPT rules. The solution of a permutation schedule is represented by a sequence of jobs. With this representation, we can use three neighborhood structure presented as follows: – Interchange N1 : an interchange neighbor is defined by exchanging two job positions. – Swap N2 : a swap neighbor is defined by exchanging two successive job positions. – Reverse N3 : a reverse neighbor is defined by reversing jobs order between two different positions. The shake procedure can be easily implemented using random moves from a given neighborhood and we mention also that we use a best improvement local search. The stop criteria is fixed at 100 iterations.
4
Computational results
In order to evaluate the performance of our MIP and VNS, several experiments were performed on 15 randomly generated instances for each n. The processing time were generated randomly in [1, 100], the length of batches was T = 100 and the maintenance duration was d = 1. We used CPLEX 12.6 solve and the proposed VNS algorithm was coded in the C language. The test problems were solved on an Intel Core i5 2.7 GHz and 8 Go of RAM table 1 represents the results of the MIP. It is able to solve optimally instances of size up to 35 jobs. Table 1. MIP average results
Table 2. VNS average results
Jobs Cpx Opt CPU Time
Jobs Gap Cpx(%) Gap VNS(%) CPU time
10 15 20 25 30 35
10 20 30 50 100 500
488 950 968 1781 2035 2448
2 15 386 633 1699 1200
0 0 0 12.46 20.78 27.51
0.04 0.06 0.79 2.92 10.34 12.34
3600 3600 3600 3600 3600 3600
table 4 provides the results of VNS. We define the gap as follows: for n > 30 : Gap VNS= N S−CP X Opt Otherwise Gap VNS= Best VCP X Opt
5
Best V N S−LB . LB
Conclusion
In this work, we investigate a two machine flow-shop scheduling problem with a preventive maintenance. We propose a MIP formulation to solve optimally this problem for small instances and we present an efficient and effective VNS designed to solve the big instances.
References 1. B.Nouri, P.Fattahi, and R.Ramezanian. Minimizing total flow time for the non-permutation flow shop scheduling problem with learning effects and availability constraints. Journal of Manufacturing Systems, 2013. 2. F.Hnaien, F.Yalaoui, and A.Mhadhbi. Makespan minimization on a two-machine flowshop with an availability constraint on the first machine. International Journal of Production Economics, 2015. 3. L.Liao and C.Tsai. Heuristic algorithms for two-machine flowshop with availability constraints. Computers Industrial Engineering, 2009. 4. N. Mladenovi´c and P. Hansen. Variable neighborhood search. Computers Operations Research, 1997.