Académique Documents
Professionnel Documents
Culture Documents
y
jm
1 if job j assigned to machine m;
0 otherwise:
Each machine deteriorates at a different rate. This deterioration is described in terms of cost. C
jm
is a function of machines
operating characteristics and the kind of work done by each machine. The mathematical formulation is presented below:
2.4. Mathematical formulation
Min Z1
X
N
i1
T
i
; 3
Min Z2
X
M
m1
X
N
j1
C
jm
y
jm
; 4
X
N
j1
x
0jm
6 1 m 1; 2; . . . ; M; 5
X
N
i0;i j
X
M
m1
x
ijm
1 j 1; 2; . . . ; N; 6
X
N
j1;i j
x
ijm
6 y
im
i 1; 2; . . . ; N; m 1; 2; . . . ; M; 7
X
N
i0;i j
x
ijm
y
jm
j 1; 2; . . . ; N; m 1; 2; . . . ; M; 8
X
M
m1
y
im
1 i 1; 2; . . . ; N; 9
C
j
PS
jm
P
jm
j 1; 2; . . . ; N; m 1; 2; . . . ; M; 10
P
jm
M1 Y
jm
Pa
jm
b
j
S
jm
j 1; 2; . . . ; N; m 1; 2; . . . ; M 11
S
jm
M1 x
ijm
PC
i
C
0
0; j 1; 2; . . . ; N; i j; i 0; 1; 2; . . . ; N; m 1; 2; . . . ; M; 12
S
0m
0 m 1; 2; . . . ; M; 13
T
i
PC
i
d
i
i 1; 2; . . . ; N; 14
C
i
; S
im
; T
i
P0;
x
ijm
; y
im
2 f0; 1g:
In the above model, Eqs. (1) and (2) are the objective functions, namely minimizing total tardiness and minimizing machine
deteriorating cost.
More precisely, Eq. (1) states that, if C
i
d
i
> 0 then delivering job i has been delayed and it causes tardiness. Otherwise,
no tardiness is assumed. Eq. (2) states that if a job is processed on one machine, machine deteriorating cost will happen. Eq.
(5) ensures that for each machine selected to assign jobs, only one real job follows the dummy job 0. Sometimes, in a job
scheduling scheme, it is possible to schedule only one job on a machine, in this situation a dummy job (i = 0) helps us to
dene X
ijm
. Also sometimes to minimize objective functions, no job is scheduled on one machine, in this situation no job fol-
lows the dummy job 0 and Eq. (5) is equal to zero. Eq. (6) determines that if a job is assigned to a machine, it will be imme-
diately preceded by one job and a job must be processed only at one position on a machine. Eqs. (7) and (8) state that N jobs
are assigned over M machines and if job i is immediately followed by j on machine m then both jobs i and j belong to machine
m. Eq. (9) states that each job is assigned to exactly one machine. Eq. (10) relates the processing time of each job to its start
time and completion time. Eq. (11) expresses the relation between the processing time of each job, its start time and xed
part of the processing time. On the other hand, this equation bounds the amount of processing time. Eq. (12) expresses that
the job starting time is at least equal to the completion time of the preceding job. Eq. (13) states that the starting time of the
dummy job on each machine is equal to zero. Eq. (14) expresses the relation between the completion time of each job, its due
date and tardiness variable.
M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510 1501
3. LP-metric method
In multi-objective problems, the decision making often involves two factors, determining and addressing the objectives.
In this paper, a multi-objective integer programming model is considered with total tardiness and machine deteriorating
cost as the rst and the second objectives respectively. Minimizing total tardiness is one of the objectives often discussed
in scheduling problems, but according to our knowledge minimizing machine deteriorating cost is not considered in any pa-
per. In this paper, the importance of considering these two objectives is rst shown through the LP-metric method and then
suitable weights will be used to simultaneously optimize these two objectives as an objective function,. We propose the LP-
metric method which is one of the famous MCDM methods for showing the importance of our proposed multi-objective
problem. According to this method, a multi-objective problem is solved for each objective function separately and then a
single objective is formulated which aims to minimize the sum of normalized differences between each objective and its
optimal value. For our proposed model assume that two objective functions are named as OB1 and OB2. According to the
LP-metric method, PMBSP should be solved for each of these two objective functions separately. If the optimal values for
these two problems are OB
1
and OB
2
the LP-metric objective function can be formulated as follows:
Min w
1
OB
1
OB
1
OB
1
w
2
OB
2
OB
2
OB
2
: 15
Here, w
1
and w
2
are the weights of the objective functions which are given by the decision maker. We used LINGO [19] to
solve our proposed model.
3.1. Experimental results
In this section, the efciency of the model is tested through four numerical examples. Therefore, three models are dened
as follows:
1. Model 1: consists of the rst objective function and its related constraints (Eqs. (5)(14)).
2. Model 2: consists of the second objective function and its related constraints (Eqs. (5)(9)).
3. LP-metric model: The objective function of this model is calculated by Eq. (15), in which weights of the objective func-
tions (w
1
, w
2
) are considered equal to 1 and the LP-metric objective function is subjected to all of the constraints of the
model (Eqs. (5)(14)).
OB
1=
First objective function of the model OB
1
Best objective value found for model
1
OB
2=
Second objective function of the model OB
2
Best objective value found for model
2
The results of the rst objective function for these models in the examples are shown in Fig. 1. The results of the second
objective function for these models in the examples are shown in Fig. 2. The best results for the rst objective are obtained
via model 1, but in this model the worst results for the second objective are obtained. On the other hand, the best results for
Fig. 1. Results for tardiness.
1502 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510
the second objective are obtained via model 2, but in this model the worst results for the rst objective are obtained. In other
words, considering merely one objective may sacrice the other. Comparison of results shows that the LP-metric model and
considering a multi-objective problem makes a tradeoff between these two objectives.
4. Addressing the objectives
In this section we establish a weighted objective function to include these two objective functions in a single objective
function as follows:
Min TC
X
N
i1
w
i
T
i
X
M
m1
X
N
j1
C
jm
y
jm
: 16
Using this objective function and considering PMBSP constraints, we have a single objective integer programming model,
which can be solved by linear programming solvers.
4.1. Numerical example
In this section, an example problem is solved using optimization software LINGO [19]. It demonstrates that the optimal
solution of the model leads to a job scheduling scheme balancing machine deteriorating cost and job weighted tardiness in
the manufacturing system. For solving the example problem, data are given in Tables 15. Table 1 presents job tardiness
penalty weights, w
i
, for the example problem. Tables 2 and 3 give the common data of due dates and xed part of the pro-
cessing times. Data for the growth rate of the processing times and machine deteriorating costs are given in Tables 4 and 5.
Table 6 summarizes the optimal solution to the example problem (see Fig. 3).
Fig. 2. Results for machine deteriorating cost.
Table 1
Weights (w
i
).
Job No. 1 2 3 4 5 6 7 8
w
i
1 1 2 2 2 1 2 2
Table 2
Due dates (d
i
).
Job No. 1 2 3 4 5 6 7 8
d
i
15 20 25 35 40 50 55 60
M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510 1503
The solution to this example problem for the proposed model leads to a job scheduling scheme balancing the machine
deteriorating cost and the job weighted tardiness. A small change in job weighted tardiness or machine deteriorating cost
can lead to a completely different job scheduling scheme.
Table 3
Fixed part of the processing times (a
im
).
Job No. a
i1
a
i2
a
i3
1 9 10 11
2 12 13 14
3 15 16 18
4 15 16 18
5 20 22 23
6 24 25 28
7 30 33 35
8 36 37 39
Table 4
The growth rate of the processing time (b
i
).
Job No. 1 2 3 4 5 6 7 8
b
i
0.25 0.25 0.5 0.6 0.65 0.72 0.75 0.82
Table 5
Machines deteriorating cost.
Job No. C
j1
C
j2
C
j3
1 2 1.5 2.5
2 3 3 3.5
3 4 4.5 5
4 4 4.5 5
5 5 5.5 6
6 6.5 7 7.5
7 8 8 8.5
8 9 8.5 10
Table 6
Optimal solutions.
Objective value Job scheduling scheme
172.1305 M1:4 ?7 ?2
M2:3 ?8
M3:1 ?5 ?6
Fig. 3. Job scheduling scheme.
1504 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510
5. The Tabu search solution methodology
The heuristic algorithm for PMBSP problem presented in this section is based on the Tabu search metaheuristic which is
one of the most frequently used methods in combinatorial optimization [20]. To our knowledge, direct solution methods for
solving the PMBSP, such as an integer programming method can solve small problems with up to 8 jobs and 3 machines.
Following, several concepts of Tabu search methodologies designed for the PMBSP problem are presented.
5.1. Starting solution methodology
A Tabu search procedure is started with an initial solution. Selection of an appropriate initial solution has an important
effect on the efciency of the search procedure. Following, a method of nding an initial solution for the PMBSP problem is
illustrated.
First, jobs are assigned to the machines using the following linear programming (LP) model:
Min
X
M
m1
X
N
j1
C
jm
y
jm
S:t:
X
M
m1
y
jm
1:
17
Second, the assigned jobs are scheduled according to the earliest due date (EDD) rule [21]. The LP model can be efciently
solved using optimization software such as LINGO and then an initial solution will be obtained by applying the EDD rule.
5.2. Neighborhood generation
Neighborhood generation results from a move strategy which determines the manner the neighbors are generated. In this
paper, the neighborhood generation methodology presented in Cao et al. [17] is utilized. They used three types of moves, i.e.
Machine Swap (MS), Job Insertion (JI) and Job Swap (JS). Machine Swap declares exchanging two machines without changing
job sequences. Job Insertion is related to placing one job immediately after another job subsequent to identifying two par-
ticular jobs loaded on different machines. Job Swap is concerned with exchanging positions of two different jobs on the same
machine.
5.3. Step and iteration
The search process in a Tabu search algorithm explores the neighborhood of the previous local optimum found in the
search process in order to nd a new local optimum. The attempts to nd new local optimum are called iterations and after
nding a new local optimum the search goes to the next step and the attempts to nd the new local optimum based on the
neighborhood of this local optimum. Therefore, steps represent the local optimums in which the search process for a new
local optimum is performed in their neighborhood.
5.4. Tabu lists
Variable x
ijm
is equal to 1 if job j immediately follows job i on machine m. This variable is dened for arc (i, j, m). The Tabu
list consists of different arcs in which any move that generates a value 1 for the related variable of these arcs is prohibited.
Therefore the Tabu list prevents cycling and guides the search through unexplored regions. The arc remains in the Tabu list
for number of times determined by the Tabu list size, TL, unless the move passes the aspiration criterion. The TL should be
determined before starting the search process.
5.5. Aspiration criterion
If a certain move is labeled as Tabu while the corresponding objective function value in model PMBSP passes the given
criterion, then the move will be performed.
5.6. Stopping condition
The search process will stop if a predetermined number of either iterations or steps are reached. These numbers are deter-
mined before starting the search process. In this paper, both stopping conditions are used.
5.7. The Tabu search algorithm
Mmax(m) = Job count assigned to machine m
M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510 1505
X
x
11
x
12
x
1m
x
21
x
j1
x
jm
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5
;
1 < X
jm
< Mmaxm j 1; 2; . . . ; N; m 1; 2; . . . ; M;
X
jm
integer sequence of job j on machine m job j assigned to machine m
0 otherwise:
Set X = Initial Solution
1:
ftemp = M
X
*
= X
f(X
*
) = f(X)
For Each MachineSwap in MachineSwaps
X = MachineSwap
If f(X) < f(X
*
) then Goto1
If f(X) > ftemp then
addTabu(MachineSwap)
else
ftemp = f(X)
end if
next Machine Swap
For Each JobSwap in JobSwaps
X = JobSwap
If f(X) < f(X
*
) then Goto1
If f(X) > ftemp then
addTabu(JobSwap)
else
ftemp = f(X)
end if
next JobSwap
For Each JobInsertation in JobInsertations
X = JobInsertation
If f(X) < f(X
*
) then Goto1
If f(X) > ftemp then
addTabu(JobInsertation)
else
ftemp = f(X)
end if
next JobInsertation
end
*
M is a long integer
6. Computational experiments
In this section, the Tabu search algorithm is tested rst on the problem presented in Section 3, and then a medium prob-
lem is considered. Features of a medium problem with 20 jobs 4 machines are briey discussed. Finally the Tabu algorithm
is used to solve a larger problem. All experiments were performed on a Pentium 4, 1.86 GHz 1GB RAM personal computer.
The algorithm was coded in VBA.
6.1. Example 1. Illustrative example
The search process results are summarized in Table 7. The number of iterations and steps of the Tabu search process was
set to 600 and 30, respectively. Tabu list size is set to be equal to 10. The search results are presented in Table 7. Columns 1
1506 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510
and 2 give the initial solution and TL. Column 3 presents the best objective value found by the heuristic algorithm. Columns 4
and 5 present the steps and iterations needed to reach the best objective value in the search process. The best scheduling
scheme resulted from the search process is described in column 6.
Figs. 4 and 5 show the objective function value evolution based on the number of iterations and steps, respectively,
reached in the search process.
Table 7
Search result of Example 1.
Initial solution TL Total cost Steps needed Iterations needed Best scheduling scheme
M1:4 ?5 ?6 M1:4 ?5 ?6
M2:1 ?7 ?8 10 177.79 3 92 M2:1 ?2 ?8
M3:3 ?2 M3:3 ?7
Fig. 4. Objective value evolution based on the number of iteration (Example 3, TL = 30,000).
Fig. 5. Objective value evolution based on the number of step (Example 3, TL = 30,000).
Fig. 6. Objective value evolution based on the number of iteration (Example 2, TL = 50).
M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510 1507
6.2. Example 2. Medium example
In this section, the Tabu search algorithm is tested on a medium size problem i.e. 20 jobs 4 machines. The related infor-
mation of the example is shown in Table 8.
The search results are presented in Table 9. Columns 1 and 2 give the initial solution and TL. Column 3 presents the best
objective value found by the heuristic algorithm. Columns 4 and 5 present the steps and iterations needed to reach the best
objective value in the search process. The best scheduling scheme resulted from the search process is described in column 6.
Fig. 7 shows the objective function value evolution based on the number of steps reached in the search process. This
shows the number of local optimums found in the search process. Fig. 6 shows the number of iterations in each step of
the search process and as it can be seen in some of the steps in the search process, the number of iterations is large. This
is because of the fact that the search process has fallen in an optimum point in which by searching the neighborhoods based
on the Tabu algorithm no other optimum point is found.
6.3. Example 3. A larger size problem
The heuristic algorithm is also tested on several larger size problems. the features of one of these problems will be briey
discussed here. The problem size is 40 jobs 5 machines. Figs. 8 and 9 shows the objective function value evolution based on
the number of iterations and steps, respectively. The problem is solved with TL = 600 for 3000 search iterations and 500
steps. The search process reaches the best solution with objective value TC = 2212.88 at iteration 20753.
Table 8
Input data of Example 2.
Job No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
w
i
1 1 2 2 2 1 2 2 1 1 2 3 3 1 3 2 1 2 2 3
d
i
20 25 25 30 40 50 55 60 65 65 70 80 95 100 115 115 120 120 130 130
a
i1
5 6 6 7 7 8 8 8 9 10 11 11 11 12 14 14 15 15 15 16
a
i1
4 4 5 6 7 8 8 8 9 10 10 10 10 11 13 13 14 14 14 15
a
i3
6 7 7 9 9 9 9 9 10 11 12 12 12 14 15 15 17 17 17 18
a
i4
5 6 6 7 7 8 8 8 9 10 11 11 11 12 14 14 15 15 15 16
b
i
0.2 0.2 0.2 0.5 0.5 0.5 0.65 0.65 0.65 0.7 0.7 0.7 0.8 0.8 0.8 0.82 0.85 0.85 0.86 0.86
C
i1
4 6 6 7 7 8 8 8 9 10 9 9 10 12 13 12 12 16 15 14
C
i2
5 4 7 6 5 5 7 9 10 11 10 10 11 13 11 11 14 13 14 15
C
i3
7 7 4 8 9 9 9 10 11 8 8 12 14 15 10 17 18 18 13 17
C
i4
6 8 5 5 8 7 5 7 7 9 11 11 13 10 12 14 15 15 16 16
Table 9
Search result of Example 2.
Initial solution TL Total cost Steps needed Iterations needed Best scheduling scheme
M1:1 ?12 ?13 ?17 ?20 50 875.39 21 5308 M1:13 ?1 ?20 ?17
M2:2 ?5 ?6 ?16 ?18 M2:5 ?2 ?3 ?6 ?18 ?16
M3:3 ?10 ?11 ?15 ?19 M3:10 ?11 ?15 ?19
M4:4 ?7 ?8 ?9 ?14 M4:7 ?4 ?8 ?9 ?14
Fig. 7. Objective value evolution based on the number of step (Example 2, TL = 50).
1508 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510
Remarks
In this section, ve medium example problems are solved using lingo software and the proposed Tabu search. The
amounts of total cost and the solving time for the two methods are shown in Table 10. The time Lingo takes to solve
the problem is clearly more than the time the proposed Tabu search process takes. Results for the two methods are com-
pared, and the mean absolute percent error (MAPE
*
) is calculated less than 5.5%. In Table 11, the average runtime of dif-
ferent tools in solving ve medium examples are shown and we can compare them with each other.
Fig. 8. Objective value evolution based on the number of iteration (Example 3, TL = 30,000).
Fig. 9. Objective value evolution based on the number of step (Example 3, TL = 30,000).
Table 10
Comparison of Tabu search and Lingo results (TC) and runtime.
(Jobs machines) Tabu search Lingo Error
*
6 2 117.97/10 s 112.477/3 m 0.049
7 2 248.79/15 s 248.285/11 m 0.002
8 2 532.81/24 s 493.273/1 h 0.08
7 3 86.76/30 s 79.24/1.5 h 0.095
8 3 177.79/41 s 172.13/3 h 0.03
Table 11
Comparison of Tabu search and Lingo solution average runtime.
Tabu search Lingo
Average runtime 24 s More than 1 h
M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510 1509
*
Error = jGlobal optimumLocal optimumj Global optimum
MAPE
P
Error N 100
7. Conclusion and future research
In this paper, a model was developed for scheduling bi-criteria parallel machines to minimize job tardiness and machine
deteriorating cost with job deterioration. Production systems, because of machines, are subject to deterioration with usage
and age. Machine deteriorating cost is a function of production rate, machines operating characteristics and the kind of work
done by each machine. Minimizing this factor, along with job weighted tardiness cost, helps to schedule in a real world con-
dition. On the other hand, jobs also may deteriorate while waiting to be processed. By the effect of job deterioration, we
mean that job processing times are dened by a function of their starting times and position in the sequence. The proposed
model is vital as a decision support tool in a practice and helps companies to achieve a job scheduling scheme balancing the
machine deteriorating cost and the job weighted tardiness. A heuristic algorithm is developed to locate the optimal or near
optimal solutions based on a Tabu search mechanism. Numerical examples are presented to show the efciency of this
model.
In the Tabu search process, we used only one type of the three different neighborhood generation methodologies; Ma-
chine Swap (MS), Job Insertion (JI), and Job Swap (JS). It is obvious that changing the neighborhood generation methodologies
can affect the efciency of the search process. The methodology used has considerable effects on the search process. The
question that which neighborhood generation methodology is best to use cannot be taken into view through this paper
and needs to be considered separately.
References
[1] S. Browne, U. Yechiali, Scheduling deteriorating jobs on a single processor, Oper. Res. 38 (1990) 495498.
[2] S. Ruat, S. Swami, N.D. Gupta, Scheduling a capacitated single machine with time deteriorating job values, Product. Econ. 114 (2008) 769780.
[3] S. Gawiejnowicz, W. Kurc, L. Pankowska, Analysis of a time-dependent scheduling problem by signatures of deterioration rate sequences, Discrete
Appl. Math. 154 (2006) 21502166.
[4] J. Wang, Single-machine scheduling problems with the effects of learning and deterioration, Omega 35 (2007) 397402.
[5] D. Xu, K. Sun, H. Li, Parallel machine scheduling with almost periodic maintenance and non-preemptive jobs to minimize makespan, Comput. Oper.
Res. 35 (2008) 13441349.
[6] D. Oron, Single machine scheduling with simple linear deterioration to minimize total absolute deviation of completion times, Comput. Oper. Res. 35
(2008) 20712078.
[7] J. Wang, Z. Xia, Scheduling jobs under decreasing linear deterioration, Inform. Pro. Lett. 94 (2005) 6369.
[8] A. Jeng, B. Lin, Minimizing the total completion time in single-machine scheduling with step-deteriorating jobs, Comput. Oper. Res. 32 (2005) 521536.
[9] A.K. Chakravarty, N. Balakrislman, Job sequencing rules for minimizing the expected makespan in exible machines, Eur. J. Oper. Res. 96 (1996) 274
288.
[10] C.T. Lam, R.H. Yeh, Optimal maintenance policies for systems under various maintenance strategies, IEEE Trans. Reliab. (1993) 3192.
[11] A. Grall, C. Berenguer, L. Dieulle, A condition-based maintenance policy for stochastically deteriorating systems, Reliab. Eng. Syst. Safe. 76 (2002) 167
180.
[12] U. Bilge, F. Kirac, M. Kurtulan, P. Pekgun, A Tabu search algorithm for parallel machine total tardiness problem, Comput. Oper. Res. 31 (2004) 397414.
[13] Y. YI, D.W. Wang, Soft computing for scheduling with batch set up times earlinesstardiness penalties on parallel machine, J. Int. Man. 14 (2003) 311
322.
[14] S. Radhakrishnan, J. Ventura, Simulated annealing for parallel machine scheduling with earlinesstardiness penalties and sequence-dependent set-up
times, Int. J. Prod. Res. 38 (2000) 22332252.
[15] C.Y. Lee, R. Uzsoy, L. Martin-Vega, Efcient algorithms for scheduling semiconductor burn in operations, Oper. Res. 40 (1992) 764775.
[16] Y. Park, S. Kim, Y. Lee, Scheduling jobs on parallel machines applying neural network heuristic rules, Comput. Ind. Eng. 38 (2000) 189202.
[17] D. Cao, M. Chen, G. Wan, Parallel machine selection and job scheduling to minimize machine cost and job tardiness, Comput. Oper. Res. 32 (2005)
19952012.
[18] M. Pfund, W. Fowler J, A. Gadkari, Y. Chen, Scheduling jobs on parallel machines with setup times and ready times, Comput. Ind. Eng. 54 (2008) 764
782.
[19] Lingo Users Guide, LINDO Systems Inc., Chicago, 1999.
[20] F. Glover, M. Laguna, Tabu Search, Kluwer Academic Publishers, Boston, 1997.
[21] D. Sule, Industrial Scheduling, PWS Pub. Co., Boston, 1997.
1510 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 14981510