1-s2 0-S0307904X09002789-main

13
Parallel machines scheduling to minimize job tardiness and machine deteriorating cost with deteriorating jobs Mohammad Mahdavi Mazdeh, Farzad Zaerpour, Abalfazl Zareei * , Ali Hajinezhad Department of Industrial Engineering, Iran University of Science and Technology, Tehran, Iran article info Article history: Received 21 December 2008 Received in revised form 22 August 2009 Accepted 25 August 2009 Available online 29 August 2009 Keywords: Scheduling and sequencing Parallel machines Machine deterioration Job deterioration Multi-objectives integer programming abstract This paper studies the parallel machines bi-criteria scheduling problem (PMBSP) in a dete- riorating system. Sequencing and scheduling problems (SSP) have seldom considered the two phenomena concurrently. This paper discusses the parallel machines scheduling prob- lem with the effects of machine and job deterioration. By the machine deterioration effect, we mean that each machine deteriorates at a different rate. This deterioration is considered in terms of cost which depends on the production rate, the machine’s operating character- istics and the kind of work done by each machine. Moreover, job processing times are increasing functions of their starting times and follow a simple linear deterioration. The objective functions are minimizing total tardiness and machine deteriorating cost. The problem of total tardiness on identical parallel machines is NP-hard, thus the problem with machine deteriorating cost as an additional term is also NP-hard. We propose the LP-metric method to show the importance of our proposed multi-objective problem. A metaheuristic algorithm is developed to locate optimal or near optimal solutions based on a Tabu search mechanism. Numerical examples are presented to show the efficiency of this model. Ó 2009 Elsevier Inc. All rights reserved. 1. Introduction In most machine scheduling problems with different objective functions, it is assumed that machines are available all the time. This assumption is not reasonable in reality because there are many situations such as periodical repair, preventive maintenance, or accidental breakdown in which machines may not be available. In a real world application, each machine works with variable efficiency and depreciates because of usage and age at a random rate. 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 defined by a function of their starting times and positions in the sequence. For exam- ple, a drop in the temperature of an ingot, while waiting to enter the rolling machine, requires the ingot to be reheated before rolling or the time required to control a fire will be increased, if there is a delay in the fire-fighting efforts. Scheduling in this manner is known as the deteriorating job scheduling problem. It was first introduced by Browne and Yechiali [1]. Since then, deteriorating job scheduling problems have been widely discussed. Ruat et al. [2] considered the problem of scheduling a given number of jobs on a single machine with time deteriorating job values and capacity constraints while the objective function is to maximize total revenue. Gawiejnowicz et al. [3] considered a single machine time-dependent scheduling prob- lem. They introduced two scenarios for a given sequence of job deterioration and formulated a greedy polynomial time approximation algorithm for each scenario. 0307-904X/$ - see front matter Ó 2009 Elsevier Inc. All rights reserved. doi:10.1016/j.apm.2009.08.023 * Corresponding author. E-mail addresses: [email protected], [email protected] (A. Zareei). Applied Mathematical Modelling 34 (2010) 1498–1510 Contents lists available at ScienceDirect Applied Mathematical Modelling journal homepage: www.elsevier.com/locate/apm

Transcript of 1-s2 0-S0307904X09002789-main

Applied Mathematical Modelling 34 (2010) 1498–1510

Contents lists available at ScienceDirect

Applied Mathematical Modelling

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

Parallel machines scheduling to minimize job tardinessand machine deteriorating cost with deteriorating jobs

Mohammad Mahdavi Mazdeh, Farzad Zaerpour, Abalfazl Zareei *, Ali HajinezhadDepartment of Industrial Engineering, Iran University of Science and Technology, Tehran, Iran

a r t i c l e i n f o

Article history:Received 21 December 2008Received in revised form 22 August 2009Accepted 25 August 2009Available online 29 August 2009

Keywords:Scheduling and sequencingParallel machinesMachine deteriorationJob deteriorationMulti-objectives integer programming

0307-904X/$ - see front matter � 2009 Elsevier Incdoi:10.1016/j.apm.2009.08.023

* Corresponding author.E-mail addresses: [email protected], ab

a b s t r a c t

This paper studies the parallel machines bi-criteria scheduling problem (PMBSP) in a dete-riorating system. Sequencing and scheduling problems (SSP) have seldom considered thetwo phenomena concurrently. This paper discusses the parallel machines scheduling prob-lem with the effects of machine and job deterioration. By the machine deterioration effect,we mean that each machine deteriorates at a different rate. This deterioration is consideredin terms of cost which depends on the production rate, the machine’s operating character-istics and the kind of work done by each machine. Moreover, job processing times areincreasing functions of their starting times and follow a simple linear deterioration. Theobjective functions are minimizing total tardiness and machine deteriorating cost. Theproblem of total tardiness on identical parallel machines is NP-hard, thus the problem withmachine deteriorating cost as an additional term is also NP-hard. We propose the LP-metricmethod to show the importance of our proposed multi-objective problem. A metaheuristicalgorithm is developed to locate optimal or near optimal solutions based on a Tabu searchmechanism. Numerical examples are presented to show the efficiency of this model.

� 2009 Elsevier Inc. All rights reserved.

1. Introduction

In most machine scheduling problems with different objective functions, it is assumed that machines are available all thetime. This assumption is not reasonable in reality because there are many situations such as periodical repair, preventivemaintenance, or accidental breakdown in which machines may not be available.

In a real world application, each machine works with variable efficiency and depreciates because of usage and age at arandom rate. 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 defined by a function of their starting times and positions in the sequence. For exam-ple, a drop in the temperature of an ingot, while waiting to enter the rolling machine, requires the ingot to be reheated beforerolling or the time required to control a fire will be increased, if there is a delay in the fire-fighting efforts. Scheduling in thismanner is known as the deteriorating job scheduling problem. It was first introduced by Browne and Yechiali [1]. Since then,deteriorating job scheduling problems have been widely discussed. Ruat et al. [2] considered the problem of scheduling agiven number of jobs on a single machine with time deteriorating job values and capacity constraints while the objectivefunction is to maximize total revenue. Gawiejnowicz et al. [3] considered a single machine time-dependent scheduling prob-lem. They introduced two scenarios for a given sequence of job deterioration and formulated a greedy polynomial timeapproximation algorithm for each scenario.

. All rights reserved.

[email protected] (A. Zareei).

M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510 1499

Wang [4] introduced the single-machine scheduling problem with the effects of learning and deterioration. He showedthat even in presence of the learning effect and deteriorating jobs, the single-machine makespan and sum of completiontimes minimization problems remain polynomially solvable by the SPT rule. Xu et al. [5] investigated a parallel machinescheduling problem with almost periodic maintenance activities in which they proposed a 2T0/T-approximation algorithmto solve the Pm, MS[T,T0]kCmax problem.

Oron [6] considered a single machine scheduling problem with simple linear deterioration. He proved several propertieson the structure of an optimal schedule, and introduces two efficient heuristics for solving the problem. Wang and Xia [7]considered the scheduling problems under decreasing linear deterioration. They proved that an optimal schedule can be ob-tained by Johnson’s rule for the two-machine flowshop scheduling problem to minimize the makespan. Jeng and Lin [8] stud-ied a scheduling problem of minimizing the total completion time on a single machine where the processing time of a job is astep function of its starting time and a due date that is common to all jobs. They showed that this problem is NP-hard. Theydeveloped a lower bound and two elimination rules to design a branch-and-bound algorithm to derive optimal solutionsfrom a practical aspect.

Unlike job deterioration, there are only a few studies that have considered machine deterioration. Amia and Nagraj [9]considered machine deterioration as a function of job’s engineering-determined parameters such as the job feed rate, drillingor cutting speed, chip removal rate, cooling efficiency for the type of cut, etc. They state that basically, each job, based on thecomplexity and speed of its operations, may be viewed as placing a certain amount of ‘‘stress” on the machine and the ma-chine breaks down when the total stress exceeds the threshold value. They also proved that job sequencing has an importantrole in minimizing the expected makespan in a deteriorating flexible machine when it processes multiple jobs, each contrib-uting to machine deterioration at a different rate.

Lam and Yeh [10] stated that a machine may continuously deteriorate due to cumulative wear, fatigue, corrosion and soon. Due to the inevitable deterioration, manufacturing systems may not remain in a condition in which goods of acceptablequality can be produced. They investigated five maintenance policies for systems whose degrees of deterioration can beidentified only through inspection. Their objective is to determine an optimal inspection such that the expected long run costrate is minimized.

Grall et al. [11] considered a system subject to a random deterioration and monitored through perfect inspection. Whenthe system condition exceeds its failure level L, it passes into its failed state and a corrective replacement is immediatelycarried out.

One of the familiar objective functions in parallel machine scheduling is the minimizing of weighted tardiness penalties.Bilge et al. [12] used a Tabu search method to schedule parallel machines with total weighted tardiness penalties.

YI and Wang [13] introduced a model for scheduling grouped jobs on identical parallel machines. In their model a set-uptime is incurred when one-machine changes from processing one type of component to a different type of component. Theobjective function here is to minimize the total earliness–tardiness penalties. Radhakrishnan et al. [14] emphasized the just-in-time (JIT) production philosophy, and used simulated annealing for parallel machine scheduling with earliness–tardinesspenalties and sequence dependant set-up times (PETNDDSP).

Lee et al. [15] proposed an algorithm to minimize the number of tardy jobs. Park et al. [16] investigated the problem ofscheduling jobs on identical parallel machines to minimize the sum of weighted tardiness. They suggested an extension ofthe ATS (Apparent Tardiness cost with Setup) rule.

While the body of literature in this area is huge, to the best of our knowledge there is not any paper that addresses theobjective functions which are considered in this paper. The most similar study to our work belongs to Cao et al. [17]. Theysuggested a model to minimize the sum of machine holding cost and job tardiness cost without considering the effect of jobdeterioration. They have showed that the problem is NP-hard and have suggested a heuristic algorithm to locate optimal ornear optimal solutions based on a Tabu search to control the search process in the solution’s neighborhood for jobs sched-uled on specific machines.

In this paper, the parallel machine scheduling problem and the effect of deterioration are considered concurrently. Thisdeterioration is considered in terms of cost which is a function of production rate, machine’s operating characteristics andthe kind of work done by each machine. Moreover, job processing times are increasing functions of their starting times andfollow a simple linear deterioration.

The rest of this paper is structured as follows: In Section 2, we define the problem and introduce the objective functions indetail. Next, the mathematical formulation for the model is developed. In Section 3, the Lp-metric method is proposed toshow the importance of considering these two objectives, simultaneously. In Section 4, we describe an approach in orderto consider the two objectives as a single objective and a numerical example is used to prove the accuracy of the model witha single objective. In Section 5, a heuristic algorithm is developed to locate optimal or near optimal solutions based on a Tabusearch mechanism. In Section 6, numerical examples are presented to show the efficiency of this model. Finally, Section 7includes the conclusion and further research suggestions.

2. Problem description

Let there be N independent jobs, J1, J2, . . . , Jn on a number of parallel machines selected from a set of M potential machines.Each job Ji has a processing time pi and a due datedi. All jobs are available at time zero and no preemption is allowed. Each

1500 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

machine is supposed to deteriorate at a different rate. This deterioration is a function of production rate, machine’s operatingcharacteristics and the kind of work accomplished by each machine and considered in terms of cost. Furthermore, we as-sume that jobs deteriorate while waiting to be processed.

The job scheduling problem to minimize weighted tardiness in parallel machines is NP-hard in the strong sense [18,17],then the combinational problem in which the objective functions are minimizing the total tardiness and machine deterio-rating cost will also be NP-hard.

The notation and other assumptions we used in mathematical formulation is given below.Assumptions:

� Each machine has the ability for processing each job.� Job processing time may be different if processed by a different machine.� Job processing time is described by a function of the starting time and fixed part of the processing time of the job

(pjm = ajm + bjsjm).� The growth rate of the processing time (bi) is independent of machine.� Jobs deterioration are independent of machines deterioration.� The job is available at time zero.� The jobs are independent of each other.� No job preemption is allowed.

2.1. Objective functions

In this paper, a multi-objective integer programming model is proposed with total tardiness and machine deterioratingcost as the first and the second objective, respectively. The most important question in such a problem is how we canconsider the effect of machine deterioration in the model. According to the machine’s operating characteristics and thekind of work done by each machine, each machine deteriorates at a different rate. Over time, machine condition crossesa threshold and maintenance activities (e.g. preventive maintenance task) must be done. Each maintenance activity has acost. So, we introduce machine deterioration as an objective and consider its effect in terms of cost. A question that mayarise here is what the difference between machine deterioration cost and the holding cost defined in Cao et al. [17] is. If amachine is selected to process the jobs, holding cost will be occurred. But there is no relation between this cost, the kindof work and the amount of work done by the machine. Suppose the following matrix presents the costs relating to eachmachine

c11 c12 � � � c1n

c21 c22 � � � c2n

� � �� � �� � �

cm1 c22 � � � cmn

2666666664

3777777775: ð1Þ

Since in holding cost the kind of work and the amount of work done by each machine are not considered, the cost in everycolumn is equal

c1i ¼ c2i ¼ � � � ¼ cmi; i ¼ 1;2; . . . ;n: ð2Þ

But when deterioration cost is considered, we face a matrix of costs where the kind of work and the amount of work done byeach machine affects it and Eq. (2) is no longer valid.

On the other hand, each delay on delivering products can affect total tardiness. Jobs may also deteriorate while waiting tobe processed. By the job deterioration effect, we mean that job processing time is defined by a function of its starting timeand position in the sequence. (pjm = ajm + bjsjm).

2.2. Input parameters

Before entering the mathematical formulation, we introduce the following notation:N total number of jobs to be scheduledM total number of machines availablei, j2I = {0,1, . . . ,N} designate the job, where job 0 is a dummy job, which is always at the first position on a machinedi due date of job iCi completion time of job ipim processing time of job i on machine m, i 2 I = {0,1, . . . ,N}, m 2M = {0,1, . . . ,M}Sim starting time of job i on machine m, i 2 I = {0,1, . . . ,N}, m 2M = {0,1, . . . ,M}aim fixed part of the processing time for job i on machine m, i 2 I = {0,1, . . . ,N}, m 2M = {0,1, . . . ,M}

M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510 1501

Cjm machine deteriorating costbi the growth rate of the processing time of job i on machine m, i 2 I = {0,1, . . . ,N}

2.3. Decision variables�

xijm ¼1 if job j immediately follows job i in sequence on machine m;

0 otherwise;

yjm ¼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. Cjm is a function of machine’soperating characteristics and the kind of work done by each machine. The mathematical formulation is presented below:

2.4. Mathematical formulation

N

Min Z1 ¼Xi¼1

Ti; ð3Þ

Min Z2 ¼XM

m¼1

XN

j¼1

Cjmyjm; ð4Þ

XN

j¼1

x0jm 6 1 m ¼ 1;2; . . . ;M; ð5Þ

XN

i¼0;i – j

XM

m¼1

xijm ¼ 1 j ¼ 1;2; . . . ;N; ð6Þ

XN

j¼1;i – j

xijm 6 yim i ¼ 1;2; . . . ;N; m ¼ 1;2; . . . ;M; ð7Þ

XN

i¼0;i – j

xijm ¼ yjm j ¼ 1;2; . . . ;N; m ¼ 1;2; . . . ;M; ð8Þ

XM

m¼1

yim ¼ 1 i ¼ 1;2; . . . ;N; ð9Þ

Cj P Sjm þ Pjm j ¼ 1;2; . . . ;N; m ¼ 1;2; . . . ;M; ð10ÞPjm þMð1� YjmÞP ajm þ bj � Sjm j ¼ 1;2; . . . ;N; m ¼ 1;2; . . . ;M ð11ÞSjm þMð1� xijmÞP CiC0 ¼ 0; j ¼ 1;2; . . . ;N; i – j; i ¼ 0;1;2; . . . ;N; m ¼ 1;2; . . . ;M; ð12ÞS0m ¼ 0 m ¼ 1;2; . . . ;M; ð13ÞTi P Ci � di i ¼ 1;2; . . . ;N; ð14ÞCi; Sim; Ti P 0;xijm; yim 2 f0;1g:

In the above model, Eqs. (1) and (2) are the objective functions, namely minimizing total tardiness and minimizing machinedeteriorating cost.

More precisely, Eq. (1) states that, if Ci � di > 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 jobscheduling scheme, it is possible to schedule only one job on a machine, in this situation a dummy job (i = 0) helps us todefine Xijm. 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 jobsare assigned over M machines and if job i is immediately followed by j on machine m then both jobs i and j belong to machinem. Eq. (9) states that each job is assigned to exactly one machine. Eq. (10) relates the processing time of each job to its starttime and completion time. Eq. (11) expresses the relation between the processing time of each job, its start time and fixedpart of the processing time. On the other hand, this equation bounds the amount of processing time. Eq. (12) expresses thatthe job starting time is at least equal to the completion time of the preceding job. Eq. (13) states that the starting time of thedummy job on each machine is equal to zero. Eq. (14) expresses the relation between the completion time of each job, its duedate and tardiness variable.

1502 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

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 deterioratingcost as the first and the second objectives respectively. Minimizing total tardiness is one of the objectives often discussedin 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 first shown through the LP-metric method and thensuitable 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-objectiveproblem. According to this method, a multi-objective problem is solved for each objective function separately and then asingle objective is formulated which aims to minimize the sum of normalized differences between each objective and itsoptimal value. For our proposed model assume that two objective functions are named as OB1 and OB2. According to theLP-metric method, PMBSP should be solved for each of these two objective functions separately. If the optimal values forthese two problems are OB�1 and OB�2 the LP-metric objective function can be formulated as follows:

Min w1 �OB1 � OB�1

OB�1þw2 �

OB2 � OB�2OB�2

� �: ð15Þ

Here, w1 and w2 are the weights of the objective functions which are given by the decision maker. We used LINGO� [19] tosolve our proposed model.

3.1. Experimental results

In this section, the efficiency of the model is tested through four numerical examples. Therefore, three models are definedas follows:

1. Model 1: consists of the first 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 (w1,w2) are considered equal to 1 and the LP-metric objective function is subjected to all of the constraints of themodel (Eqs. (5)–(14)).

OB1= First objective function of the model

Fig. 1. Results for tardiness.

OB�1¼ Best objective value found for model1

OB2= Second objective function of the model

OB�2¼ Best objective value found for model2

The results of the first objective function for these models in the examples are shown in Fig. 1. The results of the secondobjective function for these models in the examples are shown in Fig. 2. The best results for the first objective are obtainedvia model 1, but in this model the worst results for the second objective are obtained. On the other hand, the best results for

Fig. 2. Results for machine deteriorating cost.

M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510 1503

the second objective are obtained via model 2, but in this model the worst results for the first objective are obtained. In otherwords, considering merely one objective may sacrifice the other. Comparison of results shows that the LP-metric model andconsidering 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 objectivefunction as follows:

Table 1Weight

Job N

wi

Table 2Due dat

Job N

di

Min TC ¼XN

i¼1

wiTi þXM

m¼1

XN

j¼1

Cjmyjm: ð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 optimalsolution of the model leads to a job scheduling scheme balancing machine deteriorating cost and job weighted tardiness inthe manufacturing system. For solving the example problem, data are given in Tables 1–5. Table 1 presents job tardinesspenalty weights, wi, for the example problem. Tables 2 and 3 give the common data of due dates and fixed 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).

s (wi).

o. 1 2 3 4 5 6 7 8

1 1 2 2 2 1 2 2

es (di).

o. 1 2 3 4 5 6 7 8

15 20 25 35 40 50 55 60

Table 3Fixed part of the processing times (aim).

Job No. ai1 ai2 ai3

1 9 10 112 12 13 143 15 16 184 15 16 185 20 22 236 24 25 287 30 33 358 36 37 39

Table 4The growth rate of the processing time (bi).

Job No. 1 2 3 4 5 6 7 8

bi 0.25 0.25 0.5 0.6 0.65 0.72 0.75 0.82

Table 5Machines deteriorating cost.

Job No. Cj1 Cj2 Cj3

1 2 1.5 2.52 3 3 3.53 4 4.5 54 4 4.5 55 5 5.5 66 6.5 7 7.57 8 8 8.58 9 8.5 10

Table 6Optimal solutions.

Objective value Job scheduling scheme

172.1305 M1:4 ? 7 ? 2M2:3 ? 8M3:1 ? 5 ? 6

Fig. 3. Job scheduling scheme.

1504 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

The solution to this example problem for the proposed model leads to a job scheduling scheme balancing the machinedeteriorating cost and the job weighted tardiness. A small change in job weighted tardiness or machine deteriorating costcan lead to a completely different job scheduling scheme.

M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510 1505

5. The Tabu search solution methodology

The heuristic algorithm for PMBSP problem presented in this section is based on the Tabu search metaheuristic which isone of the most frequently used methods in combinatorial optimization [20]. To our knowledge, direct solution methods forsolving 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 importanteffect on the efficiency of the search procedure. Following, a method of finding an initial solution for the PMBSP problem isillustrated.

First, jobs are assigned to the machines using the following linear programming (LP) model:

MinXM

m¼1

XN

j¼1

Cjmyjm

S:t:XM

m¼1

yjm ¼ 1:

ð17Þ

Second, the assigned jobs are scheduled according to the earliest due date (EDD) rule [21]. The LP model can be efficientlysolved 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 thispaper, 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 changingjob 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 samemachine.

5.3. Step and iteration

The search process in a Tabu search algorithm explores the neighborhood of the previous local optimum found in thesearch process in order to find a new local optimum. The attempts to find new local optimum are called iterations and afterfinding a new local optimum the search goes to the next step and the attempts to find the new local optimum based on theneighborhood of this local optimum. Therefore, steps represent the local optimums in which the search process for a newlocal optimum is performed in their neighborhood.

5.4. Tabu lists

Variable xijm is equal to 1 if job j immediately follows job i on machine m. This variable is defined for arc (i, j,m). The Tabulist 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 listfor number of times determined by the Tabu list size, TL, unless the move passes the aspiration criterion. The TL should bedetermined 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 givencriterion, 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

1506 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

X ¼

x11 x12 � � x1m

x21 � �� � �� � �

xj1 � � � xjm

26666664

37777775;

1 <¼ Xjm <¼MmaxðmÞ j ¼ 1;2; . . . ;N; m ¼ 1;2; . . . ;M;

Xjm ¼ integer ðsequence of job j on machine mÞ job j assigned to machine m0 otherwise:

Set X = Initial Solution1:

ftemp = MX* = Xf(X*) = f(X)

For Each MachineSwap in MachineSwapsX = MachineSwapIf f(X) < f(X*) then Goto1If f(X) > ftemp then

addTabu(MachineSwap)else

ftemp = f(X)end if

next Machine Swap

For Each JobSwap in JobSwapsX = JobSwapIf f(X) < f(X*) then Goto1If f(X) > ftemp then

addTabu(JobSwap)else

ftemp = f(X)end if

next JobSwap

For Each JobInsertation in JobInsertationsX = JobInsertationIf f(X) < f(X*) then Goto1If f(X) > ftemp thenaddTabu(JobInsertation)elseftemp = f(X)end if

next JobInsertationend

*M is a long integer

6. Computational experiments

In this section, the Tabu search algorithm is tested first 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 briefly discussed. Finally the Tabu algorithmis 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 wasset 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

Table 7Search result of Example 1.

Initial solution TL Total cost Steps needed Iterations needed Best scheduling scheme

M1:4 ? 5 ? 6 M1:4 ? 5 ? 6M2:1 ? 7 ? 8 10 177.79 3 92 M2:1 ? 2 ? 8M3: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) 1498–1510 1507

and 2 give the initial solution and TL. Column 3 presents the best objective value found by the heuristic algorithm. Columns 4and 5 present the steps and iterations needed to reach the best objective value in the search process. The best schedulingscheme 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 8Input 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

wi 1 1 2 2 2 1 2 2 1 1 2 3 3 1 3 2 1 2 2 3di 20 25 25 30 40 50 55 60 65 65 70 80 95 100 115 115 120 120 130 130ai1 5 6 6 7 7 8 8 8 9 10 11 11 11 12 14 14 15 15 15 16ai1 4 4 5 6 7 8 8 8 9 10 10 10 10 11 13 13 14 14 14 15ai3 6 7 7 9 9 9 9 9 10 11 12 12 12 14 15 15 17 17 17 18ai4 5 6 6 7 7 8 8 8 9 10 11 11 11 12 14 14 15 15 15 16bi 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.86Ci1 4 6 6 7 7 8 8 8 9 10 9 9 10 12 13 12 12 16 15 14Ci2 5 4 7 6 5 5 7 9 10 11 10 10 11 13 11 11 14 13 14 15Ci3 7 7 4 8 9 9 9 10 11 8 8 12 14 15 10 17 18 18 13 17Ci4 6 8 5 5 8 7 5 7 7 9 11 11 13 10 12 14 15 15 16 16

Table 9Search 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 ? 17M2:2 ? 5 ? 6 ? 16 ? 18 M2:5 ? 2 ? 3 ? 6 ? 18 ? 16M3:3 ? 10 ? 11 ? 15 ? 19 M3:10 ? 11 ? 15 ? 19M4:4 ? 7 ? 8 ? 9 ? 14 M4:7 ? 4 ? 8 ? 9 ? 14

1508 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

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 bestobjective value found by the heuristic algorithm. Columns 4 and 5 present the steps and iterations needed to reach the bestobjective 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. Thisshows the number of local optimums found in the search process. Fig. 6 shows the number of iterations in each step ofthe search process and as it can be seen in some of the steps in the search process, the number of iterations is large. Thisis because of the fact that the search process has fallen in an optimum point in which by searching the neighborhoods basedon 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 brieflydiscussed here. The problem size is 40 jobs � 5 machines. Figs. 8 and 9 shows the objective function value evolution based onthe number of iterations and steps, respectively. The problem is solved with TL = 600 for 3000 search iterations and 500steps. The search process reaches the best solution with objective value TC = 2212.88 at iteration 20753.

Fig. 7. Objective value evolution based on the number of step (Example 2, TL = 50).

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 10Comparison 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.0497 � 2 248.79/15 s 248.285/11 m 0.0028 � 2 532.81/24 s 493.273/1 h 0.087 � 3 86.76/30 s 79.24/1.5 h 0.0958 � 3 177.79/41 s 172.13/3 h 0.03

Table 11Comparison 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) 1498–1510 1509

Remarks

� In this section, five medium example problems are solved using lingo software and the proposed Tabu search. Theamounts of total cost and the solving time for the two methods are shown in Table 10. The time Lingo takes to solvethe 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 five medium examples are shown and we can compare them with each other.

1510 M.M. Mazdeh et al. / Applied Mathematical Modelling 34 (2010) 1498–1510

*Error = jGlobal optimum–Local optimumj � Global optimum�MAPE ¼

PError� 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 machinedeteriorating cost with job deterioration. Production systems, because of machines, are subject to deterioration with usageand age. Machine deteriorating cost is a function of production rate, machine’s operating characteristics and the kind of workdone 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, wemean that job processing times are defined by a function of their starting times and position in the sequence. The proposedmodel is vital as a decision support tool in a practice and helps companies to achieve a job scheduling scheme balancing themachine deteriorating cost and the job weighted tardiness. A heuristic algorithm is developed to locate the optimal or nearoptimal solutions based on a Tabu search mechanism. Numerical examples are presented to show the efficiency of thismodel.

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 methodologiescan affect the efficiency of the search process. The methodology used has considerable effects on the search process. Thequestion that which neighborhood generation methodology is best to use cannot be taken into view through this paperand needs to be considered separately.

References

[1] S. Browne, U. Yechiali, Scheduling deteriorating jobs on a single processor, Oper. Res. 38 (1990) 495–498.[2] S. Ruat, S. Swami, N.D. Gupta, Scheduling a capacitated single machine with time deteriorating job values, Product. Econ. 114 (2008) 769–780.[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) 2150–2166.[4] J. Wang, Single-machine scheduling problems with the effects of learning and deterioration, Omega 35 (2007) 397–402.[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) 1344–1349.[6] D. Oron, Single machine scheduling with simple linear deterioration to minimize total absolute deviation of completion times, Comput. Oper. Res. 35

(2008) 2071–2078.[7] J. Wang, Z. Xia, Scheduling jobs under decreasing linear deterioration, Inform. Pro. Lett. 94 (2005) 63–69.[8] A. Jeng, B. Lin, Minimizing the total completion time in single-machine scheduling with step-deteriorating jobs, Comput. Oper. Res. 32 (2005) 521–536.[9] A.K. Chakravarty, N. Balakrislman, Job sequencing rules for minimizing the expected makespan in flexible 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) 31–92.[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) 397–414.[13] Y. YI, D.W. Wang, Soft computing for scheduling with batch set up times earliness–tardiness penalties on parallel machine, J. Int. Man. 14 (2003) 311–

322.[14] S. Radhakrishnan, J. Ventura, Simulated annealing for parallel machine scheduling with earliness–tardiness penalties and sequence-dependent set-up

times, Int. J. Prod. Res. 38 (2000) 2233–2252.[15] C.Y. Lee, R. Uzsoy, L. Martin-Vega, Efficient algorithms for scheduling semiconductor burn in operations, Oper. Res. 40 (1992) 764–775.[16] Y. Park, S. Kim, Y. Lee, Scheduling jobs on parallel machines applying neural network heuristic rules, Comput. Ind. Eng. 38 (2000) 189–202.[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)

1995–2012.[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 User’s 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.