10
Single machine scheduling with controllable processing times to minimize total tardiness and earliness Vahid Kayvanfar, Iraj Mahdavi , GH.M. Komaki Department of Industrial Engineering, Mazandaran University of Science and Technology, Babol, Iran article info Article history: Available online 10 September 2011 Keywords: Tardiness and earliness Dispatching rules Controllable processing times Just-in-time approach Heuristic algorithms abstract In most deterministic scheduling problems job processing times are considered as invariable and known in advance. Single machine scheduling problem with controllable processing times with no inserted idle time is presented in this study. Job processing times are controllable to some extent that they can be reduced or increased, up to a certain limit, at a cost proportional to the reduction or increase. In this study, our objective is determining a set of compression/expansion of processing times in addition to a sequence of jobs simultaneously, so that total tardiness and earliness are minimized. A mathematical model is proposed firstly and afterward a net benefit compression–net benefit expansion (NBC–NBE) heu- ristic is presented so as to acquire a set of amounts of compression and expansion of jobs processing times in a given sequence. Three heuristic techniques in small problems and in medium-to-large instances two meta-heuristic approaches, as effective local search methods, as well as these heuristics are employed to solve test examples. The single machine total tardiness problem (SMTTP) is already NP-hard, so the considered problem is NP-hard obviously. The computational experiments demonstrate that our proposed heuristic is efficient approach for such just-in-time (JIT) problem, especially equipped with competent heuristics. Ó 2011 Elsevier Ltd. All rights reserved. 1. Introduction Owing to the extensive acceptance of just-in-time (JIT) philoso- phy in recent years, the due date requirements have been studied widely in scheduling problems, especially those with earliness– tardiness penalties. Actually, JIT philosophy seeks to identify and eliminate waste components as over production, waiting time, transportation, processing, inventory, movement and defective products (Wang, 2006). In JIT environment, jobs which are com- pleted before their due dates may cause earliness penalties such as deterioration of perishable goods, opportunity costs and holding costs for finished goods whiles jobs which are tardy incur a tardi- ness penalty such as lost sales, backlogging cost and loss of good- will. Obviously, an ideal schedule is one in which all jobs are completed exactly on their due dates. Since, neither earliness nor tardiness is desirable, because one can represent manufacturer concerns and the other one may represent the customer concerns, it motivated us to present a model in which both earliness and tar- diness are minimized. In practice, manufacturers usually schedule jobs in two steps. In the first step, job processing times are regarded as constant, and a job processing permutation is calculated according to some objectives. In the second step, job processing times are usually compressed, such that the tardiness could be eliminated (Xu, Feng, & Jun, 2010). In this paper, we assume that the normal processing time of jobs can be reduced or increased to a predefined limit, i.e., can be continuously controlled and no machine idle time is al- lowed. The latter assumption is appropriate for many production settings (for some specific examples, see Korman (1994) and Landis (1993)). Indeed, no machine idle time assumption corresponds to a form of production setting in which the cost of machine idleness is higher than the earliness cost or the capacity of the facility as opposed to its demand is limited, in order that the machine must be kept running. The controllable processing time means that each job can process in a shorter or longer time depends on its efficacy on objective function by reducing or increasing the available resources such as equipment, energy, financial budget, subcontracting, overtime, fuel or human resources. When the processing times of jobs are controllable, se- lected processing times affect both the manufacturing cost and the scheduling performance. Applicable examples of controllable processing times in sched- uling environments can be seen in some contexts such as chemical industries and metallurgy. As an instance, in chemical industry, the processing time of a job is reduced using catalyzer or increase by an inhibitor. An inhibitor is any agent that interferes with the 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2011.08.019 Corresponding author. Tel.: +98 111 2197584; fax: +98 111 2190118. E-mail addresses: [email protected] (V. Kayvanfar), irajarash@rediffmail. com (I. Mahdavi), [email protected] (GH.M. Komaki). Computers & Industrial Engineering 65 (2013) 166–175 Contents lists available at SciVerse ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Single machine scheduling with controllable processing times to minimize total tardiness and earliness

  • Upload
    ghm

  • View
    215

  • Download
    2

Embed Size (px)

Citation preview

Computers & Industrial Engineering 65 (2013) 166–175

Contents lists available at SciVerse ScienceDirect

Computers & Industrial Engineering

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

Single machine scheduling with controllable processing times to minimizetotal tardiness and earliness

Vahid Kayvanfar, Iraj Mahdavi ⇑, GH.M. KomakiDepartment of Industrial Engineering, Mazandaran University of Science and Technology, Babol, Iran

a r t i c l e i n f o a b s t r a c t

Article history:Available online 10 September 2011

Keywords:Tardiness and earlinessDispatching rulesControllable processing timesJust-in-time approachHeuristic algorithms

0360-8352/$ - see front matter � 2011 Elsevier Ltd. Adoi:10.1016/j.cie.2011.08.019

⇑ Corresponding author. Tel.: +98 111 2197584; faxE-mail addresses: [email protected] (V. Kay

com (I. Mahdavi), [email protected] (G

In most deterministic scheduling problems job processing times are considered as invariable and knownin advance. Single machine scheduling problem with controllable processing times with no inserted idletime is presented in this study. Job processing times are controllable to some extent that they can bereduced or increased, up to a certain limit, at a cost proportional to the reduction or increase. In thisstudy, our objective is determining a set of compression/expansion of processing times in addition to asequence of jobs simultaneously, so that total tardiness and earliness are minimized. A mathematicalmodel is proposed firstly and afterward a net benefit compression–net benefit expansion (NBC–NBE) heu-ristic is presented so as to acquire a set of amounts of compression and expansion of jobs processingtimes in a given sequence. Three heuristic techniques in small problems and in medium-to-largeinstances two meta-heuristic approaches, as effective local search methods, as well as these heuristicsare employed to solve test examples. The single machine total tardiness problem (SMTTP) is alreadyNP-hard, so the considered problem is NP-hard obviously. The computational experiments demonstratethat our proposed heuristic is efficient approach for such just-in-time (JIT) problem, especially equippedwith competent heuristics.

� 2011 Elsevier Ltd. All rights reserved.

1. Introduction

Owing to the extensive acceptance of just-in-time (JIT) philoso-phy in recent years, the due date requirements have been studiedwidely in scheduling problems, especially those with earliness–tardiness penalties. Actually, JIT philosophy seeks to identify andeliminate waste components as over production, waiting time,transportation, processing, inventory, movement and defectiveproducts (Wang, 2006). In JIT environment, jobs which are com-pleted before their due dates may cause earliness penalties suchas deterioration of perishable goods, opportunity costs and holdingcosts for finished goods whiles jobs which are tardy incur a tardi-ness penalty such as lost sales, backlogging cost and loss of good-will. Obviously, an ideal schedule is one in which all jobs arecompleted exactly on their due dates. Since, neither earliness nortardiness is desirable, because one can represent manufacturerconcerns and the other one may represent the customer concerns,it motivated us to present a model in which both earliness and tar-diness are minimized.

In practice, manufacturers usually schedule jobs in two steps. Inthe first step, job processing times are regarded as constant, and a

ll rights reserved.

: +98 111 2190118.vanfar), [email protected]. Komaki).

job processing permutation is calculated according to someobjectives. In the second step, job processing times are usuallycompressed, such that the tardiness could be eliminated (Xu, Feng,& Jun, 2010). In this paper, we assume that the normal processingtime of jobs can be reduced or increased to a predefined limit, i.e.,can be continuously controlled and no machine idle time is al-lowed. The latter assumption is appropriate for many productionsettings (for some specific examples, see Korman (1994) andLandis (1993)). Indeed, no machine idle time assumptioncorresponds to a form of production setting in which the cost ofmachine idleness is higher than the earliness cost or the capacityof the facility as opposed to its demand is limited, in order thatthe machine must be kept running. The controllable processingtime means that each job can process in a shorter or longer timedepends on its efficacy on objective function by reducing orincreasing the available resources such as equipment, energy,financial budget, subcontracting, overtime, fuel or humanresources. When the processing times of jobs are controllable, se-lected processing times affect both the manufacturing cost andthe scheduling performance.

Applicable examples of controllable processing times in sched-uling environments can be seen in some contexts such as chemicalindustries and metallurgy. As an instance, in chemical industry, theprocessing time of a job is reduced using catalyzer or increase byan inhibitor. An inhibitor is any agent that interferes with the

V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175 167

activity of an enzyme. Enzyme inhibitors are molecules that bindto enzymes and decrease their activity. Actually, inhibitor is a sub-stance that decreases the rate of an enzyme catalyzed or otherchemical reaction. In other words, these molecules interact insome way with the enzyme to prevent it from working in the nor-mal manner. More applications of such a substance could be foundin Wang et al. (2003) and Sørensen et al. (2004). A well-known caseto a controllable processing time is the CNC machining operationsin manufacturing environments. We can control the processingtime of a job by setting the cutting speed and/or the feed rate onthe machine. For example, in turning operation as you increasethe cutting speed and the feed rate, the processing time of theoperation is decreased. In such a condition, the compression costis occurred (actually increased) due to increased tooling costs(Gurel & Akturk, 2007). Our goal in this research is determining aset of amounts of compression/expansion of processing times inaddition to a sequence of jobs concurrently, in order that totalweighted earliness and tardiness penalties and compression/expansion cost of jobs are minimized.

This paper is divided into seven sections: In Section 2, relatedliterature survey is described. Section 3 states problem descriptioncontaining a mathematical model. In Section 4, we propound aheuristic algorithm in order to minimize total earliness and tardi-ness on a single machine, simultaneously. Some heuristics forobtaining the initial sequence on single machine based on dis-patching rules regarding JIT approach is described in Section 5. Sec-tion 6, demonstrates the computational results and finally, Section7 includes conclusions.

2. Related literature

Tardiness and earliness scheduling problems so called early/tar-dy problems on a single machine have been considered by manyresearches so far. Lenstra, Rinnooy Kan, and Brucker (1977)showed the non-preemptive single machine scheduling problemconcerning earliness and tardiness penalties, which is widely stud-ied in recent years, is an NP-hard problem. Baker and Scudder(1990) studied a survey of sequencing with earliness and tardinesspenalties. Yano and Kim (1991) addressed the single machinescheduling problems with the objective of minimizing sum ofweighted tardiness and earliness penalties in which optimal andheuristic procedures for the special case of weights that are pro-portional to the processing times the respective jobs developed.Some papers took into account the single machine problem whenall jobs have a common due date. They considered distinct duedates for jobs whiles idle time was not allowed to be inserted intoa schedule (Abdul-Razaq & Potts, 1988; Ow & Morton, 1989;Sundararaghavan & Ahmed, 1984). Almeida and Centeno (1998)studied the single machine early/tardy job scheduling problem(SMETP) with the objective of determining the best processing se-quences for a set of jobs to minimize total costs. Valente and Alves(2005a) presented a dispatch rule and a greedy procedure for thesingle machine earliness/tardiness scheduling problem with noidle time and they compared their results with the best of theexisting dispatch rules thitherto. They also considered the use ofdominance rules to improve the solutions obtained by their heuris-tics. Also, Valente and Alves (2005b) considered single machineearliness/tardiness scheduling problem with different release datesand no unforced idle time. Their problem was decomposed intoweighted earliness and weighted tardiness subproblems. Hoogev-een (2005) made a review on early/tardy scheduling problem. Hepaid a special attention to such an area in context of surveyingmulticriteria scheduling. Józefowska (2007) showed the most con-sequences of JIT approach. He surveyed the models and algorithmsin context of both tardiness and earliness. Valente (2008) pre-

sented a beam search heuristics for the single machine early/tardyscheduling problem with job-independent penalties, and no ma-chine idle time. The employed heuristics included priority and de-tailed classic beam search algorithms, as well as filtered andrecovering procedures. Valente and Alves (2008) considered thesingle machine scheduling problem with quadratic earliness andtardiness costs with no machine idle time. They proposed severaldispatching heuristics and analyzed their performance on a widerange of instances. Also, some exact algorithms and heuristicmethods were proposed in this context. Of them, Davis and Kanet(1993), Hendel and Sourd (2006), Bülbül, Kaminsky, and Yano(2007) and Sourd and Kedad-Sidhoum (2003, 2008). Recently,Alvarez-Valdes, Crespo, Tamarit, and Villa (2010) proposed twoquadratic integer programming models for solving both cases ofunrestricted and restricted due dates with the objective ofminimizing the total weighted earliness and tardiness but with acommon due date.

There is a remarkable relation between early/tardy schedulingproblems and controllable processing times concept, since by con-trolling the process time of jobs, earliness and tardiness could be de-creased and consequently the scheduling environment approachestoward JIT philosophy. Controllable processing times and its effecton sequencing and operational performance have been receivingan increasing attention in the scheduling environment in last dec-ade. Most of the earlier studies on controllable processing times ad-dress the single machine environment because of complexity ofworking on other machine environment. One of the first researcheson controllable processing time scheduling problems has studied byVickson (1980) with goal of minimizing the total flow time and thetotal processing cost incurred due to job processing time compres-sion. Researches on scheduling problem with controllable process-ing times and linear cost functions up to 1990 are surveyed byNowicki and Zdrzalka (1990). Panwalkar and Rajagopalan (1992)considered the static single machine sequencing problem with acommon due date for all jobs in which jobs have controllable pro-cessing times with linear costs. Zdrzalka (1991) deals with the prob-lem of scheduling jobs on a single machine in which each job has arelease date, a delivery time and a controllable processing time, hav-ing its own associated linearly varying cost and propose an approx-imation algorithm for minimizing the overall schedule cost. Also,Chen, Lu, and Tang (1997) regarded the single machine schedulingproblem in which both job processing times and release dates arecontrollable parameters and they may vary within given intervals.Alidaee and Ahmadian (1993) surveyed this environment with lin-ear compression cost functions to minimize: (1) the total compres-sion cost and the total flow time; and (2) the total compression costand the weighted sum of earliness and tardiness penalties. Biskupand Cheng (1999) considered single machine earliness–tardinessscheduling problem with controllable processing times where jobprocessing times were compressible as a linear cost function. Theirobjective was finding an optimal permutation of the jobs, an opti-mal due date as well as the optimal processing times so that costfunction, consists of earliness, tardiness, completion time and com-pressing costs be minimized. Kayan and Akturk (2005) determinedthe upper and lower bounds for the processing time of each job un-der controllable machining conditions for a bi-criteria schedulingproblem on a single CNC machine. Shabtay and Steiner (2007) havedone a complete survey on scheduling with controllable processingtimes up to 2007. Atan and Akturk (2008) considered single CNCmachine scheduling problem with controllable processing timeswith the objective of maximizing the total profit that is composedof the revenue generated by the set of scheduled jobs minus thesum of total weighted earliness and weighted tardiness, toolingand machining costs. They also proposed a number of ranking rulesand scheduling algorithms in an employed four-stage heuristicalgorithm to determine the processing times for each job and a

168 V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175

final schedule for the accepted jobs simultaneously, in order to max-imize the overall profit.

To the best of author’s knowledge, no outstanding research incontext of early/tardy scheduling problem under key assumptionsof controllable processing time, no inserted idle time and no allow-able preemption job is found in which a deterministic heuristic fordetermining a set of compression/expansion job processing timeshas been proposed so that both total earliness and tardiness criteriabe minimized. Although, Tseng, Liao, and Huang (2009) consideredjust total tardiness criterion and presented a heuristic to obtain theset of optimal amounts of compression for a given sequence. How-ever, as pointed out earlier, Atan and Akturk (2008) suggested aheuristic to determine the processing times for each job in contextof early/tardy scheduling problem with controllable processingtimes, but with the objective of maximizing the total profit.

3. Early/tardy scheduling problem with controllable processingtimes

The focus of this paper is to study the single machine early/tar-dy scheduling problem (SMETP) in which job processing times iscontrollable. Due to approaching to such a goal, a mathematicalmodel is proposed. Defining the following notations will be neces-sary since they will be used throughout the paper:

3.1. Notation

Jj

job j (j = 1, 2, 3, . . . ,n) J[i] job placed in the ith position in a sequence pj normal processing time of job j p0j crash (minimum allowable) processing time of job j

p00j

expansion (maximum allowable) processing time of jobj

cj

unit cost of compression of job j c0j unit cost of expansion of job j

xj

amount of compression of job j, 0 6 xj 6mj

x0j

amount of expansion of job j;0 6 x0j 6 m0j mj maximum amount of compression of job j;mj ¼ pj � p0j m0j maximum amount of expansion of job j;m0j ¼ p00j � pj

tj

start time of job j dj due date of job j Cj completion time of job j Tj tardiness of job j, Tj = max {0,Cj � dj} Ej earliness of job j, Ej = max {0,dj � Cj} n number of jobs N number of iterations p�j actual processing time of job j (reduces status)

p��j

actual processing time of job j (increased status)

p

a processing sequence of jobs M an arbitrary big positive number C(p) total cost of related sequence p aj earliness penalties for job j in sequence p bj tardiness penalties for job j in sequence p

The aforementioned notations are intelligible, but there aresome points which must be stated. Of them, a single machineand n jobs are available at time zero simultaneously and the nota-ble point is that each job can only be compressed or expanded ornone of them. Also, if a job is processed at its normal processingtimes, it undergoes no additional costs. The presented problem,i.e., the single machine earliness–tardiness scheduling problem(SMETP), is NP-hard since the single machine total tardiness prob-lem (SMTTP) is already NP-hard (Du & Leung, 1990).

3.2. The mathematical model

The objective function and constraints will explain one by oneas follows:

min CðpÞ ¼minXn

j¼1

ajEj þ bjTj þ cjxj þ c0jx0j

� � !ð1Þ

The objective function calculates sum of weighted earliness andtardiness as well as compression and expansion cost of jobs pro-cessing times.

Subject to

Myjk þ tj � tk þ xk � x0k P pk; j ¼ 1;2; . . . ;n; j 6 kð2Þ

Mð1� yjkÞ þ tk � tj þ xj � x0j P pj; j ¼ 1;2; . . . ;n; j 6 k ð3Þ

Constraints (2) and (3) simultaneously and jointly guarantee thatonly one job can be processed at any instance in time. Actually,these precedence constraints express that start time of the job j isgreater than or equal to the completion time of the job k or vice ver-sa, i.e., job k is latter in sequence rather than job j. One of these con-strains is superfluous at any situation and the other one is active.

tj þ pj � xj þ x0j � dj 6 Tj; j ¼ 1;2; . . . ;n ð4Þdj � tj � pj þ xj � x0j 6 Ej; j ¼ 1;2; . . . ;n ð5Þ

These constraints define the earliness and tardiness of job jwhich both of them must be minimized.

pj � p0j P xj; j ¼ 1;2; . . . ;n ð6Þp00j � pj P x0j; j ¼ 1;2; . . . ;n ð7Þ

In Eqs. (6) and (7) the amount of compression and expansion foreach job is limited.

Mkj P xj; j ¼ 1;2; . . . ;n ð8ÞMð1� kjÞP x0j; j ¼ 1;2; . . . ;n ð9Þ

Constraints (8) and (9) state that only one of the variables xj and x0jcan be positive simultaneously. As could be implied, these con-straints are redundant, since both expansion and compression arepenalized in the objective function, and they always appeartogether in conjunction with the processing times in the constraints,so an optimization procedure would never set both of them at a po-sitive value. But in order to emphasize the fact that only one ofexpansion and compression is performed, they are kept in the model.

Tj P 0; Ej P 0; xj P 0; x0j P 0; tj P 0; kj ¼ 0 or 1

xj; x0j : int; j ¼ 1;2; . . . ;nð10Þ

Constraint (10) shows non-negativity of variables together withbeing binary of kj. Also, the variables xj and x0j are integer. The fol-lowing constraint is self-explained:

yjk ¼1; if job j proceeds job

k in process sequence0; O:W:

8><>: ; j; k ¼ 1;2; . . . ;n; j < k

ð11Þ

4. The proposed net benefit compression/net benefit expansion

The proposed algorithm is expansion of net benefit compression(NBC) algorithm (Tseng et al., 2009). The main idea of NBC algorithmis actually similar to marginal cost analysis used in PERT/CPM withtime/cost trade-off (Hillier & Lieberman, 2001). Our proposed algo-rithm profits the net benefit compression/expansion (NBC–NBE). Ittries to diminish the objective function by compressing or

V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175 169

expanding the jobs processing time. The logic of our algorithm isbased on calculating the difference between decreased total tardi-ness and the cost of compression and decreased total earlinessand the cost of expansion of a job which is exerted by reducing orincreasing of processing time of a job by one time unit. Now, eachjob depending on its tardiness or earliness may compress or expandif this compression or expansion will be economical. On the otherhand, if the compression or expansion cost is lesser than its benefits(decreased tardiness or earliness), that job will compress or expand.By this means, the total objective function value will decreased.

At the outset, let’s define the main components and variables ofthe proposed algorithm.

NBC ½i� ¼Xj2A

bj � c½i� �Xj2A0

aj ; A ¼ fj...j P i&Tj > 0g; A0 ¼ fj..

.j

P i&j R Ag ð12Þ

NBE½i� ¼Xj2B

aj � c½i� �Xj2B0

bj ; B ¼ fj...j P i&Ej > 0g; B0 ¼ fj..

.j

P i&j R Bg ð13Þ

First component in Eqs. (12) and (13) means benefit of compressionand expansion, respectively. In other words, by one unit decrease orincrease in the processing time of job i, objective function will im-prove equal to

Pbj (j 2 A) or

Paj(j 2 B), respectively. The last com-

ponent of Eqs. (12) and (13) are equivalent of costs in eachdecreasing or increasing status, that’s to say, a cost of

Paj (j 2 A0)

orP

bj (j 2 B0) is imposed to system by one time decrease or in-crease in the processing time of job i, respectively.

Two variables for determining whether a given job can be com-press or expand are defined as follows:

Q ½i� ¼1; if p�½i� � p0½i� > 0

0; if p�½i� � p0½i� ¼ 0

(ð14Þ

Q 0½i� ¼1; if p00½i� � p��½i� > 0

0; if p00½i� � p��½i� ¼ 0

(ð15Þ

The steps of our NBC–NBE heuristic algorithm are stated as follows:

(1) Set x½i� ¼ x0½i� ¼ 0; p��½i� ¼ p�½i� ¼ p½i�, and calculate T[i], E[i], "i = 1,2, . . . ,n for a given job sequence p.

(2) Calculate NBC[i], NBE[i]; " i = 1,2, . . . ,n. If Q[i] = 0, set NBC[i] = 0and if Q 0½i� ¼ 0, set NBE[i] = 0. If there is no job with NBC[i] > 0and NBE[i] > 0, go to step 4.

(3) Select max{NBE[i], NBC[i]}; " i = 1,2, . . . ,n and call the selectedjob J[k]. If two values of NBCs or NBEs are the same, there maybe occur three states:(3.1) NBC (if both selected jobs have tardiness)

i. For both selected jobs, compute V ¼P

j2Abj��

Pj2A0ajÞ.

ii. Select the job with max {V} and decrease itsprocessing time.

(3.2) NBE (if both selected jobs have earliness)i. For both selected jobs, compute W ¼

Pj2Baj�

�P

j2B0bjÞ.ii. Select the job with max {W} and increase its pro-

cessing time.

(3.3) NBC–NBE (if one of the selected job has tardiness andanother one has earliness)i. Calculate V for the tardy and W for the early job

with respect to the same job.

ii. Select the job with the maximum value and then dothe related action (compress for selecting the tardyjob or expand for the early one). If these values areequal for both jobs, select the job which has morelatter tardy jobs in sequence (with respect to thesame job) and do the related action, i.e., compressfor selecting the tardy job or expand for the earlyone (for the sake of priority of decreasing tardinessversus earliness).

Now, update the real processing time of J[k] by p�½k� ¼ p�½k� � 1(compressing status) or p��½k� ¼ p��½k� þ 1 (expansion status), the objec-tive function value, Z, and T[l], E[l] for all l P k. Return to step 2.

(4) Calculate x[i] and x0½i� byx½i� ¼ p½i� � p�½i�x0½i� ¼ p��½i� � p½i�

�; 8 i ¼ 1;2; . . . ;n.

Stop.

Step 1, is self-explained. Step 2 computes NBC and NBE values forall jobs and afterward specifies whether a given job can further becompressed or expanded. In next step, the job with maximum NBC/NBE is selected and its processing time will be reduced/increasedby one time unit. Three statuses may be occurred, if two values bemaximum simultaneously. Subsequently, actual processing timesof selected job and objective function as well as earliness and tardi-ness for all latter jobs in sequence are calculated. Steps 2 and 3 repeatuntil no NBC or NBE is positive. Finally, in step 4 the final amount ofcompression or expansion is determined by the presented equations.

Since this algorithm is deterministic and the initial sequencehas a serious effect on the final solution, we employ three differentheuristic algorithms in order to obtain the initial sequence on asingle machine with ‘‘minimizing total tardiness and earliness’’ cri-terion in which no machine idle time is allowed.

5. The initial sequence on single machine using heuristictechniques

In this section, we employ three heuristic techniques based ondispatching rules in order to obtain the initial sequence on a singlemachine with respect to JIT approach in which no preemptive joband no idle time is allowed.

Using dispatching rules are very common in scheduling envi-ronments because of their ease of use, low time complexity andpredictability of speed in arriving at a solution. A dispatching rulearranges jobs by means of some parameters, such as the outstand-ing processing times of the job on other machines or the time re-quired for job processing on a machine. This is another reasonfor its highly usage. Mainly, dispatching heuristics compute a pri-ority or importance rating for each unscheduled job wheneverthe machine becomes on hand, and the job with the largest priorityvalue is then chosen to process. These rules occasionally are theonly heuristic approach competent of generating a solution withinlogical computational times for large size problems or may be usedby other heuristics techniques such as generating the initialsequence required by local search or a meta-heuristic algorithm(Valente & Moreira, 2009). Earliest due date (EDD) or shortest pro-cessing time (SPT) are some common examples of dispatching rulein scheduling environment.

5.1. Greedy randomized dispatching rule

Since dispatching rule techniques are deterministic, one policyfor improving the performance of such techniques may be ran-domly generation. According to Valente and Moreira (2009) eachtime a job is to be chosen, that selection is randomized, conse-quently a different job from the one with the largest priority valuecan be picked to process. This randomized selection is usually

170 V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175

carried out in a greedy mode, in order that jobs with larger prior-ities have a higher probability of being chosen.

In this subsection, we employ the greedy randomized dispatch-ing rule with improvement steps proposed by Valente and Moreira(2009) which states in terms of following steps:

1. Generate initial ETP sequence and calculate its objective func-tion value (ofv). Set Sbest and ofbest to the ETP sequence and itsobjective function, respectively.

2. Set iter_no_improve = 0.3. While iter_no_improve < max_iter_no_improve:

3.1. Apply Proc. 1 and set the obtained sequence and objectivefunction S and ofv; respectively.

3.2. If ofv < ofbest, set Sbest = S, ofbest = ofv and iter_no_improve = 0.Otherwise, set iter_no_improve = iter_no_improve + 1.

4. Apply 3SW improvement procedure to the best schedule foundSbest. Set Sbest and ofbest to the sequence and ofv, respectively, ofthe schedule obtained after the application of the improvementprocedure.

5. Return Sbest and its objective function ofbest.

Where 3SW (3-swap) improvement procedure is chosen since itwas suggested among the simple improvement procedures in Va-lente and Alves (2008) such as adjacent pairwise interchange(API) and largest cost insertion (LCI). As stop criterion, we have se-lected the number of iterations without improvement in the bestsolution found. So, when the number of consecutive iterationswithout improvement in the best schedule found (iter_no_improve)reaches the maximum user-defined value max_iter_no_improve,the algorithm stops. Since we have used the 3SW improvementin this algorithm, the value of max_iter_no_improve is set to5n0.305 among all proposed functions in Valente and Moreira(2009) according to our experiments. Proc. 1 is actually the greedyrandomized construction of a schedule for single machine whichperforms as follows:

Procedure 1:

1. Set S = ; and U = {1,2, . . . ,n}.2. While U – ;:

2.1. Calculate the priority value gj for all jobs j 2 U.2.2. Create candidate list (CL) of unscheduled jobs that will be

considered to be scheduled in the next position.2.3. Calculate the score scj for all jobs in CL.2.4. Calculate the biased score bscj for all jobs in CL.2.5. Calculate the probability probj of selecting each job in

CL.Probj ¼ bscj=P

j2CLbscj

2.6. Randomly select the next job to be scheduled from thejobs in CL according to the probabilities probj.

2.7. Add the selected job to set S and remove it from set U.3. Return the S.

There are several strategies that can be applied in the proposedgreedy algorithm. First of all, in step 2.2, the candidate list eithercan be all unscheduled jobs (ALL) or a subset of unscheduled jobs(RCL). In this study, we take into account all unscheduled jobs ascandidate jobs. In step 2.3, to calculate the job score we use va-lue-biased (VB) stochastic sampling approach which is proposedby Cicirello and Smith (2005). In this technique, each job score isregarded equal to its priority value, i.e. scj = gj, in which gj can bedefined by Eq. (16) proposed by Ow and Morton (1989) based onan early/tardy dispatch priority rule.

gðjÞ ¼bj=pj; sj < 0

�aj=pj þ aj=pj þ bj=pj

� �exp �sj=k�p

� �; 0 6 sj 6 k�p

�aj=pj; sj > k�p

8><>: ð16Þ

where sj = dj � t � pj is the slack of job j, pj is processing time of jobj; �p is average processing time of the jobs in the problem, t is earliestmachine available time, k is the experimental integer, aj and bj areearliness and tardiness penalties, respectively and g(j) is the localpriority value assigned to job j. For choosing the appropriate k, somenotes have to be regarded, such as reflecting the average number ofjobs by the selection of k which may clash in the future when asequencing decision is to be made. Also, when due date of the jobsapproach to each other and lead times of jobs are not very long, k isbetter to select large and when due dates are smoothly distributed,k should be small.

Indeed, we use the ALL_VB_3SW approach in this study whichrepresents three used policies in this method. Since we employVB approach in step 2.3, the exponential bias function is used inthis study, since this function could handle the negative score val-ues that can emerge when the VB approach is used. The biasedscore of job j, bscj, is set equal to exp-basescj where exp-base is de-fined by user as base of exponential expression. According to ourexperimental results and reported values by Valente and Moreira(2009) 1 + 0.1 n�0.33 is assigned to exp-base in this research. Formore detailed information about all aforementioned steps, onemay refer to Valente and Moreira (2009).

5.2. The early/tardy dispatch priority rule

This method which is proposed by Ow and Morton (1989) em-ploys an early/tardy dispatch priority rule and is actually appliedfor choosing the next job in sequence, whenever a single machineis available and there are some jobs waiting to be preceded. Byusing Eq. (16) priority of each job could be calculated, but sinceOw and Morton (1989) in their computational study showed thatthe schedule produced by this method, is far from optimal, weuse the improved dispatch priority rule based on the early/tardydispatch priority rule for dissolving this problem presented by Li(1997) for selecting the next unscheduled job.

According to this new rule, all jobs are divided to two catego-ries: scheduled and unscheduled jobs. Assume J is the current par-tial schedule of m jobs and S is the set of k unscheduled jobs. Foreach job j 2 S, job j is scheduled as the first job following J and thenthe early/tardy dispatch priority rule is used to schedule the otherjobs in S following J. Now, for each j 2 S, a corresponding scheduleof all jobs, namely (m + k) jobs will be obtained and the total earlyand tardy cost of this schedule is assigned to job j as its cost value.Now, select job i 2 S with the smallest cost value to schedule next.Since this procedure uses a set of small neighborhood operatorsand changes the operator when gets stuck in local optima, OPd isdefined so as to make the neighborhoods based on this policy. Infact, OPd denotes pairwise interchange of jobs i and j with d jobsbetween them, i.e., d = 0,1,2, . . . ,n � 2. Obviously, OP0 representsthe adjacent pairwise interchange. So, it’s clear that OPj producesa larger neighborhood than OPj+1, j = 0,1,2, . . . ,n � 3.

Li (1997) stated that when number of jobs in the problem ismore than 500, this improved dispatch rule may be computation-ally expensive; therefore it’s better to use directly the early/tardydispatch rule.

This improved dispatch priority rule can be stated in terms ofthe following step-by-step procedure:

(1) If number of jobs is less than 500, use the new dispatch pri-ority rule (the improved one) to obtain an initial schedule asthe seed; otherwise, use the early/tardy dispatch priorityrule to get this goal. Let OPd with d = 0 be the initial operator.Set the stopping criterion.

(2) Start with first or last job in the seed, apply the current oper-ator to produce a neighborhood of the seed, and calculatethe total early and tardy cost for each schedule in the

Table 1Input data for a five job problem.

J 1 2 3 4 5

Pj 5 6 3 4 8P0j 4 4 2 3 6

P00j 6 7 4 6 10

dj 12 15 7 6 20cj 0.05 0.1 0.1 0.2 0.15c0j 0.1 0.05 0.1 0.1 0.2

aj 1 1 1 2.5 1.25bj 1 0.5 1.5 1 1

V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175 171

neighborhood. If one of the schedules in the neighborhoodhas a lower total early and tardy cost than the seed, go tostep 3. Otherwise, if stopping criterion is met, stop; if not,update the operator by d = d + 1 (if d < k) or d = 0 if d = k (kis an empirical integer parameter) and go to step 2 (try tomove out of local optima).

(3) Select one of the schedules in the neighborhood which hasthe lower total early and tardy cost than the seed. Put thisschedule as the new seed and go to step 2.

5.3. The Hybrid NEH-E/T dispatch priority rule

This algorithm is combination of proposed algorithms by Li(1997) which is described in previous subsection and Nawaz, En-score, and Ham (1983) in which Li’s algorithm is firstly appliedto obtain initial sequence and NEH algorithm is then employedso as to improve the quality of job sequence regarding ‘‘minimizingtotal earliness and tardiness’’ criterion. The steps of this hybridalgorithm which is called HNET are as below:

1. Apply the dispatch rule proposed by Li (1997) and set theobtained sequence SGL.

2. Set k = 2. Pick the two first jobs from SGL and find the best pos-sible sequence for these two jobs.

3. Set k = k + 1 and pick the kth job in the SGL. Insert it into k pos-sible positions of the best partial sequence found so far. Pick thebest k-job partial sequence among these k sequences based on‘‘minimizing total tardiness and earliness’’ criterion. Now, inserteach job (except the kth job of SGL) into k � 1 possible positionsand choose the best partial sequence among generatedsequences.

4. If k = n, stop; otherwise go to step 2.

It is notable that in step 3 the modification in NEH’s algorithmsuggested by Laha and Sarin (2009) has been applied.

By obtaining the initial sequence on single machine using thesethree aforementioned techniques, we equip our NBC–NBE heuristicwith them, i.e., first of all these methods acquire the initial se-quence regarding ‘‘minimizing total earliness and tardiness’’ crite-rion and afterward NBC–NBE tries to attain a set of amount ofcompression/expansion of jobs processing times which these hy-brid algorithms are called GNBC–NBE, DNBC–NBE and HNBC–NBE,respectively. Solving an example to show the performance ofNBC–NBE heuristic could help to better understanding.

Example. Consider a problem with five jobs with an initialsequence p = J4 � J3 � J1 � J2 � J5. The input parameters are givenin Table 1.

Step 1. Set x½i� ¼ x0½i� ¼ 0; p��½i� ¼ p�½i� ¼ p½i�. By specifying the se-quence, all tardiness and earliness will be determined.

[J]

1 2 3 4 5

T[j]

0 0 0 3 6 E[j] 2 0 0 0 0

Z0 ¼ 2ð2:5Þ þ 3ð0:5Þ þ 6ð1Þ ¼ 12:5

Step 2. Compute all the NBCs and NBEs:

NBC½1� ¼ 1:5� 0:2� 4:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC½2� ¼ 1:5� 0:1� 2 < 0 NBE½2� ¼ 0� 0:1� 4 < 0NBC½3� ¼ 1:5� 0:05� 1 ¼ 0:45 NBE½3� ¼ 0� 0:1� 2:5 < 0NBC½4� ¼ 1:5� 0:1� 0 ¼ 1:4 NBE½4� ¼ 0� 0:05� 1:5 < 0NBC½5� ¼ 1:5� 0:15� 0 ¼ 0:85 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. Select the maximum value between all above values. So, J[4]

is selected for decreasing its processing time.

[J]

1 2 3 4 5

P�½i�

4 3 5 5 8

T[j]

0 0 0 2 5 E[j] 2 0 0 0 0

P�½4� ¼ 6� 1 ¼ 5 > P0½4� ¼ 4) Q ½4�–0

Z ¼ 2ð2:5Þ þ 2ð0:5Þ þ 5ð1Þ þ 1ð0:1Þ ¼ 11:1 ¼ 12:5� 1:4

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1:5� 0:2� 4:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC ½2� ¼ 1:5� 0:1� 2 < 0 NBE½2� ¼ 0� 0:1� 4 < 0NBC ½3� ¼ 1:5� 0:05� 1 ¼ 0:45 NBE½3� ¼ 0� 0:1� 2:5 < 0NBC ½4� ¼ 1:5� 0:1� 0 ¼ 1:4 NBE½4� ¼ 0� 0:05� 1:5 < 0NBC ½5� ¼ 1:5� 0:15� 0 ¼ 0:85 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. J[4] is again selected for decreasing its processing time(compressing).

[J]

1 2 3 4 5

P�½i�

4 3 5 4 8

T[j]

0 0 0 1 4 E[j] 2 0 0 0 0

P�½4� ¼ 5� 1 ¼ 4 ¼ P0½4� ) Q ½4� ¼ 0

Z ¼ 2ð2:5Þ þ 1ð0:5Þ þ 4ð1Þ þ 2ð0:1Þ ¼ 9:7 ¼ 11:1� 1:4

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1:5� 0:2� 4:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC ½2� ¼ 1:5� 0:1� 2 < 0 NBE½2� ¼ 0� 0:1� 4 < 0NBC ½3� ¼ 1:5� 0:05� 1 ¼ 0:45 NBE½3� ¼ 0� 0:1� 2:5 < 0NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 1:5� 0:15� 0 ¼ 0:85 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. J[5] is selected in this step for decreasing its processing time.

[J]

1 2 3 4 5

P�½i�

4 3 5 4 7

T[j]

0 0 0 1 3 E[j] 2 0 0 0 0

172 V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175

P�½5� ¼ 8� 1 ¼ 7 > P0½5� ¼ 6) Q ½5�–0

Z ¼ 2ð2:5Þ þ 1ð0:5Þ þ 3ð1Þ þ 2ð0:1Þ þ 1ð0:15Þ ¼ 8:85 ¼ 9:7� 0:85

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1:5� 0:2� 4:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC ½2� ¼ 1:5� 0:1� 2 < 0 NBE½2� ¼ 0� 0:1� 4 < 0NBC ½3� ¼ 1:5� 0:05� 1 ¼ 0:45 NBE½3� ¼ 0� 0:1� 2:5 < 0NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 1:5� 0:15� 0 ¼ 0:85 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. J[5] is again selected for increasing its processing time.

[J]

1 2 3 4 5

P�½i�

4 3 5 4 6

T[j]

0 0 0 1 2 E[j] 2 0 0 0 0

P�½5� ¼ 7� 1 ¼ 6 ¼ P0½5� ¼ 6) Q ½5� ¼ 0

Z ¼ 2ð2:5Þ þ 1ð0:5Þ þ 2ð1Þ þ 2ð0:1Þ þ 2ð0:15Þ ¼ 8 ¼ 8:85� 0:85

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1:5� 0:2� 4:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC ½2� ¼ 1:5� 0:1� 2 < 0 NBE½2� ¼ 0� 0:1� 4 < 0NBC ½3� ¼ 1:5� 0:05� 1 ¼ 0:45 NBE½3� ¼ 0� 0:1� 2:5 < 0NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 0( Q ½5� ¼ 0 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. J[3] is selected for decreasing its processing time.

[J]

1 2 3 4 5

P�½i�

4 3 4 4 6

T[j]

0 0 0 0 1 E[j] 2 0 1 0 0

P�½3� ¼ 5� 1 ¼ 4 ¼ P0½3� ) Q ½3� ¼ 0

Z ¼ 2ð2:5Þ þ 1ð1Þ þ 1ð1Þ þ 2ð0:1Þ þ 2ð0:15Þ þ 1ð0:05Þ ¼ 7:55

¼ 8� 0:45

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1� 0:2� 5:5 < 0 NBE½1� ¼ 3:5� 0:1� 3 ¼ 0:4NBC ½2� ¼ 1� 0:1� 3 < 0 NBE½2� ¼ 1� 0:1� 3 < 0NBC ½3� ¼ 0( Q ½3� ¼ 0 NBE½3� ¼ 1� 0:1� 1:5 < 0

NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 0( Q ½5� ¼ 0 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. This time J[1] is selected for increasing its processing time.

[J]

1 2 3 4 5

P��½i�

5 3 4 4 6

T[j]

0 1 0 1 2 E[j] 1 0 0 0 0

P��½1� ¼ 4þ 1 ¼ 5 < P00½1� ) Q 0½1�–0

Z ¼ 1ð2:5Þ þ 1ð1:5Þ þ 1ð0:5Þ þ 2ð1Þ þ 2ð0:1Þ þ 2ð0:15Þ þ 1ð0:05Þþ 1ð0:1Þ

¼ 7:15 ¼ 7:55� 0:4

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 3� 0:2� 3:5 < 0 NBE½1� ¼ 2:5� 0:1� 4 < 0NBC ½2� ¼ 3� 0:1� 1 ¼ 1:9 NBE½2� ¼ 0� 0:1� 4 < 0NBC ½3� ¼ 0( Q ½3� ¼ 0 NBE½3� ¼ 0� 0:1� 2:5 < 0

NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 0( Q ½5� ¼ 0 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. J[2] is selected for decreasing its processing time.

[J]

1 2 3 4 5

P�½i�

5 2 4 4 6

T[j]

0 0 0 0 1 E[j] 1 0 1 0 0

P�½2� ¼ 3� 1 ¼ 2 ¼ P0½2� ) Q ½2� ¼ 0

Z ¼ 1ð2:5Þ þ 1ð1Þ þ 1ð1Þ þ 2ð0:1Þ þ 2ð0:15Þ þ 1ð0:05Þþ 1ð0:1Þ þ 1ð0:1Þ ¼ 5:25 ¼ 7:15� 1:9

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 1� 0:2� 5:5 < 0 NBE½1� ¼ 3:5� 0:1� 3 ¼ 0:4NBC ½2� ¼ 0( Q ½2� ¼ 0 NBE½2� ¼ 1� 0:1� 3 < 0

NBC ½3� ¼ 0( Q ½3� ¼ 0 NBE½3� ¼ 1� 0:1� 1:5 < 0

NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 0( Q ½5� ¼ 0 NBE½5� ¼ 0� 0:2� 1 < 0

Step 3. Now J[1] is selected for increasing its processing time.

[J]

1 2 3 4 5

P�½i�

6 2 4 4 6

T[j]

0 1 0 1 2 E[j] 0 0 0 0 0

P��½1� ¼ 5þ 1 ¼ 6 ¼ P00½1� ) Q 0½1� ¼ 0

Z ¼ 1ð1:5Þ þ 1ð0:5Þ þ 2ð1Þ þ 2ð0:1Þ þ 2ð0:15Þ þ 1ð0:05Þþ 2ð0:1Þ þ 1ð0:1Þ ¼ 4:85 ¼ 5:25� 0:4

Step 2. Compute all the NBCs and NBEs:

NBC ½1� ¼ 3� 0:2� 3:5 < 0 NBE½1� ¼ 0( Q 0½1� ¼ 0

NBC ½2� ¼ 0( Q ½2� ¼ 0 NBE½2� ¼ 0� 0:1� 4 < 0

NBC ½3� ¼ 0( Q ½3� ¼ 0 NBE½3� ¼ 0� 0:1� 2:5 < 0

NBC ½4� ¼ 0( Q ½4� ¼ 0 NBE½4� ¼ 0� 0:05� 1:5 < 0

NBC ½5� ¼ 0( Q ½5� ¼ 0 NBE½5� ¼ 0� 0:2� 1 < 0

Since there is no job with NBC > 0 or NBE > 0, we proceed to step4. Step 4. Compute all the final amounts of compression and exten-sion of jobs:

Z� ¼ 4:85

ðx½1�; x½2�; x½3�; x½4�; x½5�Þ ¼ ð0;1;1;2;2Þ

x0½1�; x0½2�; x

0½3�; x

0½4�; x

0½5�

� �¼ ð2;0;0;0;0Þ

8>>><>>>:

Table 2Data set distribution.

Input variables Distribution

Number of jobs (n) 7, 15, 30, 50, 100 and 200normal processing time (pj) � DU(3, 25)

crash processing time p0j� �

� DU(0.5 � pi, pi)

expansion processing time p00j� �

� DU(pi,1.5 � pi)

Due dates (dj) � DU[max (0,P(1 � 3q/2)), P(1 + q/2)]unit cost of compression (cj) � U(0.1, 2.5)

unit cost of expansion c0j� �

� U(0.1, 2.5)

Earliness penalty (aj) � U(0.5, 2.5)Tardiness penalty (bj) � U(0.5, 4.5)

Table 3Computational result for small size problems (n = 7).

q Lingo GNBC–NBE DNBC–NBE HNBC–NBE

MCPUtime

MCPUtime

PREavg MCPUtime

PREavg MCPUtime

PREavg

0.2 1520.36 0.028 16.61 0.022 11.34 0.027 23.630.4 697.06 0.025 19.86 0.022 29.14 0.021 24.620.6 507.96 0.029 36.11 0.030 23.87 0.025 19.590.8 1184.02 0.024 7.15 0.023 17.84 0.029 15.741.0 362.08 0.024 14.85 0.023 18.87 0.030 11.49

Mean 854.30 0.026 18.92 0.024 20.21 0.026 19.02

Table 4Computational result for medium-to-large size problems.

N q SA GA GNB

MCPU time RPDavg MCPU time RPDavg MCP

15 0.2 0.050 29.68 68.71 7.43 0.030.4 0.072 46.19 70.02 9.86 0.020.6 0.102 44.01 70.63 3.59 0.010.8 0.045 41.61 69.87 3.02 0.011.0 0.076 93.18 69.64 11.38 0.01

Mean 0.069 50.93 69.77 7.06 0.02

30 0.2 0.084 18.26 133.36 2.35 0.030.4 0.068 15.77 182.04 0.48 0.020.6 0.058 48.40 158.91 10.22 0.020.8 0.057 65.38 134.84 7.03 0.021.0 0.063 17.77 121.87 4.21 0.02

Mean 0.066 33.12 146.20 4.86 0.02

50 0.2 0.106 10.62 233.60 1.73 0.060.4 0.088 19.93 217.05 4.16 0.040.6 0.087 41.60 201.29 4.17 0.040.8 0.089 82.21 200.52 50.25 0.041.0 0.089 27.58 191.50 2.22 0.04

Mean 0.092 36.39 208.79 12.51 0.04

100 0.2 0.395 7.69 457.58 3.57 0.340.4 0.339 22.34 432.00 11.90 0.230.6 0.252 45.16 516.29 19.44 0.130.8 0.292 69.99 507.93 15.30 0.171.0 0.303 32.33 461.70 10.96 0.21

Mean 0.316 35.50 475.10 12.23 0.21

200 0.2 3.071 39.62 3720.45 14.25 2.920.4 2.409 42.22 3466.51 10.50 1.810.6 2.244 99.11 3568.15 39.97 1.490.8 2.235 143.19 3686.20 29.62 1.481.0 2.539 89.49 3802.24 23.59 1.61

Mean 2.500 82.72 3648.71 23.59 1.86

Mean of all 0.608 47.73 909.716 12.05 0.43

V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175 173

6. Computational results

In order to demonstrate the performance of our proposed heu-ristic we test three categories of sample examples. Table 2 showshow these problems are generated.

Where in due dates calculations, P ¼Pn

j¼1pj and q is a parame-ter. When q is large, the due date are scattered between 0 andP(1 + q/2), whiles if q = 0, all jobs have a common due date. In thispaper, q has the values 0.2, 0.4, 0.6, 0.8 and 1.0. For each size prob-lem, five q values are considered, where for any q we generate 10problems with aforementioned data, i.e., there are totally 50 gener-ated instances for each size problem. All test problems are imple-mented in MATLAB 7.11.0 and run on a PC with a 3.4 GHz Intel�

Core™ i7-2600 processor and 4 GB RAM memory.First of all, we solve our mathematical model for small size in-

stance (n = 7) by lingo which can be solved optimally. In this groupof problems, we employ three heuristic approaches to obtain theinitial sequence based on dispatching rules. As pointed out earlier,we equip our NBC–NBE heuristic with these techniques calledGNBC–NBE, DNBC–NBE and HNBC–NBE to acquire a closer sequenceto JIT approach on a single machine. For medium-to-large sizeproblems, we apply standard simulated annealing (SA) (Ben-Daya& Al-Fawzan, 1996) and genetic algorithm (GA) (Etiler, Toklu, Atak,& Wilson, 2004) as local search and renowned meta-heuristics inplace of the mathematical model in addition to the three heuristicapproaches. It’s noticeable that the employed SA in this paper isexactly that in Ben-Daya and Al-Fawzan (1996), i.e., generating

C–NBE DNBC–NBE HNBC–NBE

U time RPDavg MCPU time RPDavg MCPU time RPDavg

0 2.30 0.041 13.07 0.045 1.354 24.16 0.032 29.04 0.033 4.487 40.80 0.035 86.58 0.028 11.074 6.78 0.027 15.11 0.025 3.826 22.10 0.028 16.53 0.027 13.21

0 19.23 0.033 32.07 0.032 6.79

4 6.31 0.140 3.30 0.143 2.588 9.61 0.112 5.33 0.116 0.861 29.94 0.103 31.76 0.115 8.233 20.67 0.112 50.70 0.118 1.134 13.25 0.120 15.38 0.119 2.84

6 15.96 0.117 21.29 0.122 3.13

2 3.25 0.409 5.52 0.454 1.393 27.14 0.422 20.65 0.472 0.447 26.05 0.440 31.47 0.480 1.815 82.56 0.445 113.98 0.490 32.947 18.38 0.448 16.34 0.504 0.12

9 31.48 0.433 37.59 0.480 7.34

2 7.86 3.178 16.68 3.482 0.000 26.67 3.176 40.90 3.525 0.004 40.89 3.276 57.42 3.584 0.005 44.30 3.411 50.42 3.713 17.895 32.89 3.348 46.94 3.585 0.17

9 30.52 3.278 42.47 3.578 3.61

7 28.16 32.894 34.54 36.659 19.717 38.24 33.950 43.20 37.456 8.934 73.60 35.756 88.43 39.429 3.873 75.60 35.707 88.51 38.601 16.716 74.02 35.585 97.03 38.996 33.67

7 57.92 34.778 70.34 38.228 16.58

6 31.021 7.728 40.753 8.488 7.489

Fig. 1. Average RPD variation of different methods for medium-to-large problems.

174 V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175

initial sequence, cooling schedule, using pairwise interchangemechanism in order to generate neighborhoods and stop criterion.Also, in our GA implementation, generating initial population, typeof crossover (linear order crossover (LOX)) and mutation operator(shift mutation) and finally termination criterion (100 non-improving successive iterations) is employed according to Etileret al. (2004).

Indeed, we substitute our model by these meta-heuristics aswell as NBC-NBE where these techniques search the best possiblesequence and the NBC–NBE gives a set of amounts of compres-sion/expansion of jobs. Since HNBC–NBE and DNBC–NBE are deter-ministic when input data are given, we run it only one trial in eachproblem, but in GNBC–NBE as well as SA and GA, due to probabilis-tic property of these methods, each problem has run five times, soas to guarantee constancy of these local search techniques.

Since in small size problems the optimum solution could befound, the percentage relative error (PRE) is used in this categoryof instances as the performance measure whiles the relative per-centage deviation (RPD) is employed in medium-to-large instancesin order to compare the efficiency of heuristic and meta-heuristicmethods in respect of each other for all cases.

PRE ¼ Algsol � OO

� 100 ð17Þ

where Algsol is the objective value obtained by selected heuristic andO is the optimum value obtained by lingo. With little changes, RPDis defined as follows:

RPD ¼ Algsol �Minsol

Minsol� 100 ð18Þ

where Algsol is the objective value obtained by the selected heuristicand Minsol is the best solution obtained for each instance. Obviously,lower values of PRE and RPD are preferable. The computational re-sults for small and medium-to-large size instances are shown in Ta-bles 3 and 4.

Where MCPU Time is mean of CPU Time for all q in each size ofproblems and is calculated to second.

As can be seen in small problems, GNBC–NBE yields better solu-tion in respect of two other methods. However, there’s not a tangi-ble difference between all three methods, maybe owing to smallfeasible solution space. Also, all three heuristic methods runs theproblems in a very few computational times which are incompara-ble with respect to lingo. In medium-to-large size problems, HNBC–NBE outperforms all algorithms in average with 7.489% RPD whilesSA have the worst quality among all others. DNBC–NBE and SA havea tangible difference with other algorithms whiles GA performanceis close to HNBC–NBE. However, GA spends a large time with respectto other methods. In medium-to-large instances, by increase thenumber of jobs, fluctuations of RPD in HNBC–NBE is negligible (lessthan 5%), except 200 jobs. Although in latter case, HNBC–NBE yieldsthe best solution with regard to other techniques, in average. Fig. 1

shows the deviation of all algorithms performance for medium-to-large size instances in terms of average RPD.

Totally, according to the computational results it can be said ourproposed NBC–NBE heuristic is an efficient method for solving suchJIT problem in both small and medium-to-large size problems,especially equipped with heuristics for obtaining initial sequence.

7. Conclusions

In this paper, we study the single machine earliness–tardinessproblem (SMETP) regarding controllable processing times. Theaim of this study is to minimize the total earliness and tardinesson a single machine simultaneously. In this way, a net benefit com-pression–net benefit expansion (NBC–NBE) heuristic is presented toobtain a set of amount of compression/expansion of processingtimes of jobs. Since our proposed heuristic is sensitive to initial se-quence of jobs, we employ three heuristic approaches based on dis-patching rules for generating the initial sequence, namely, (1)Greedy randomized dispatching rule, (2) improved dispatch prior-ity rule based on early/tardy dispatch priority rule and (3) Thehybrid NEH-E/T dispatch priority rule. Actually, we equip ourNBC–NBE with these heuristics, called GNBC–NBE, DNBC–NBE andHNBC–NBE respectively, in which these techniques search the bestsequence based on minimizing total earliness and tardiness and ourNBC–NBE gives a set of amounts of compression/expansion of pro-cessing times of jobs. Also, a mathematical model is derived whichhas been solved optimally by lingo in small size problems. For med-ium-to-large size instances, we apply standard simulated annealing(SA) and genetic algorithm (GA) as well-known and efficient localsearch methods and near optimal solution in addition to threeaforementioned heuristics instead of the mathematical model. Inthis group of problems these meta-heuristics have a role similarto three used heuristics. In order to compare these methods, weuse percentage relative error (PRE) in small category and relativepercentage deviation (RPD) in medium-to-large size instances asperformance measures. To the best of author’s knowledge, no out-standing research in context of early/tardy scheduling problem un-der key assumptions of controllable processing time, no insertedidle time and no allowable preemption job is found in which adeterministic heuristic for determining a set of compression/expan-sion job processing times has been proposed so that both total ear-liness and tardiness criteria be minimized.

The experimental results demonstrate that our proposed NBC–NBE heuristic can solve such JIT problem with satisfactory conse-quences, especially equipped with heuristics in order to obtain ini-tial sequence. According to the computational results, HNBC–NBEoutperforms all other algorithms in terms of average RPD.

References

Abdul-Razaq, T., & Potts, C. (1988). Dynamic programming state-space relaxationfor single-machine scheduling. Journal of the Operational Research Society, 39,141–152.

Alidaee, B., & Ahmadian, A. (1993). Two parallel machine sequencing problemsinvolving controllable job processing times. European Journal of OperationalResearch, 70, 335–341.

Almeida, M. T., & Centeno, M. (1998). A composite heuristic for the single machineearly/tardy job scheduling problem. Computers & Operations Research, 25(7-8),625–635.

Alvarez-Valdes, R., Crespo, E., Tamarit, J., & Villa, F. (2010). Minimizing weightedearliness–tardiness on a single machine with a common due date usingquadratic models. TOP, 1–14.

Atan, M. O., & Akturk, M. S. (2008). Single CNC machine scheduling withcontrollable processing times and multiple due dates. International Journal ofProduction Research, 46, 6087–6111.

Baker, K. R., & Scudder, G. D. (1990). Sequencing with earliness and tardinesspenalties: A review. Operations Research, 38, 22–36.

Ben-Daya, M., & Al-Fawzan, M. (1996). A simulated annealing approach for the one-machine mean tardiness scheduling problem. European Journal of OperationalResearch, 93, 61–67.

V. Kayvanfar et al. / Computers & Industrial Engineering 65 (2013) 166–175 175

Biskup, D., & Cheng, T. C. E. (1999). Single-machine scheduling with controllableprocessing times and earliness, tardiness and completion time penalties.Engineering Optimization, 31, 329–336.

Bülbül, K., Kaminsky, P., & Yano, C. (2007). Preemption in single machine earliness/tardiness scheduling. Journal of Scheduling, 10, 271–292.

Chen, Z. L., Lu, Q., & Tang, G. (1997). Single machine scheduling with discretelycontrollable processing times. Operation Research Letters, 21, 69–76.

Cicirello, V. A., & Smith, S. F. (2005). Enhancing stochastic search performance byvalue-biased randomization of heuristics. Journal of Heuristics, 11, 5–34.

Davis, J. S., & Kanet, J. J. (1993). Single-machine scheduling with early and tardycompletion costs. Naval Research Logistics, 40, 85–101.

Du, J., & Leung, J. Y. T. (1990). Minimizing total tardiness on one machine is NP-hard.Mathematics of Operations Research, 15, 483–495.

Etiler, O., Toklu, B., Atak, M., & Wilson, J. (2004). A genetic algorithm for flow shopscheduling problems. Journal of the Operational Research Society, 55, 830–835.

Gurel, S., & Akturk, M. S. (2007). Scheduling parallel CNC machines with time/costtrade-off considerations. Computers & Operations Research, 34, 2774–2789.

Hendel, Y., & Sourd, F. (2006). Efficient neighborhood search for the one-machineearliness–tardiness scheduling problem. European Journal of OperationalResearch, 173, 108–119.

Hillier, F. S., & Lieberman, G. J. (2001). Introduction to operations research (7th ed.).New York: McGraw-Hill.

Hoogeveen, H. (2005). Multicriteria scheduling. European Journal of OperationalResearch, 167(3), 592–623.

Józefowska, J. (2007). Just-in-time scheduling. Berlin: Springer.Kayan, R. K., & Akturk, M. S. (2005). A new bounding mechanism for the CNC

machine scheduling problems with controllable processing times. EuropeanJournal of Operational Research, 167, 624–643.

Korman, K. (1994). A pressing matter. Video, 46–50.Laha, D., & Sarin, S. C. (2009). A heuristic to minimize total flow time in permutation

flow shop. Omega, 37(3), 734–739.Landis, K. (1993). Group technology and cellular manufacturing in the Westvaco Los

Angeles VH department. Project report in IOM 581, School of Business,University of Southern California, USA.

Lenstra, J. K., Rinnooy Kan, A. H., & Brucker, G. P. (1977). Complexity of machinescheduling problems. Annals of Discrete Mathematics, 1, 343–362.

Li, G. (1997). Single machine earliness and tardiness scheduling. European Journal ofOperational Research, 96, 546–558.

Nawaz, M., Enscore, E. E., & Ham, I. (1983). A heuristic algorithm for the m-machine,n-job flow-shop sequencing problem. Omega, 11, 91–95.

Nowicki, E., & Zdrzalka, S. (1990). A survey of results for sequencing problems withcontrollable processing times. Discrete Applied Mathematics, 26, 271–287.

Ow, P. S., & Morton, T. E. (1989). The single machine early/tardy problem.Management Science, 35, 177–191.

Panwalkar, S. S., & Rajagopalan, R. (1992). Single-machine sequencing withcontrollable processing times. European Journal of Operational Research, 59,298–302.

Shabtay, D., & Steiner, G. (2007). A survey of scheduling with controllableprocessing times. Discrete Applied Mathematics, 155, 1643–1666.

Sørensen, J. F., Kragh, K. M., Sibbesen, O., Delcour, J., Goesaert, H., Svensson, B., et al.(2004). Potential role of glycosidase inhibitors in industrial biotechnologicalapplications. Biochimica et Biophysica Acta (BBA)-Proteins & Proteomics, 1696(2),275–287.

Sourd, F., & Kedad-Sidhoum, S. (2003). The one machine problem with earliness andtardiness penalties. Journal of Scheduling, 6, 533–549.

Sourd, F., & Kedad-Sidhoum, S. (2008). A faster branch-and-bound algorithm for theFig. 9. The average and best costs of all chromosomes according to iterations.Earliness–tardiness scheduling problem. Journal of Scheduling, 11, 49–58.

Sundararaghavan, P. S., & Ahmed, M. U. (1984). Minimizing the sum of absolutelateness in single-machine scheduling. Naval Research Logistics Quarterly, 31,325–333.

Tseng, C. T., Liao, C. J., & Huang, K. L. (2009). Minimizing total tardiness on a singlemachine with controllable processing times. Computers & Operations Research,36, 1852–1858.

Valente, J. M. S., & Alves, R. A. F. S. (2008). Heuristics for the single machinescheduling problem with quadratic earliness and tardiness penalties. Computers& Operational Research, 35, 3696–3713.

Valente, J. M. S. (2008). Beam search heuristics for the single machine early/tardyscheduling problem with no machine idle time. Computers & IndustrialEngineering, 55(3), 663–675.

Valente, J. M. S., & Alves, R. A. F. S. (2005a). Improved heuristics for the early/tardyscheduling problem with no idle time. Computers & Operations Research, 32(3),557–569.

Valente, J. M. S., & Alves, R. A. F. S. (2005b). An exact approach to early/tardyscheduling with release dates. Computers & Operations Research, 32(11),2905–2917.

Valente, J., & Moreira, M. (2009). Greedy randomised dispatching heuristics for thesingle machinescheduling problem with quadratic earliness and tardinesspenalties. The International Journal of Advanced Manufacturing Technology, 44(9),995–1009.

Vickson, R. G. (1980). Two single machine sequencing problems involvingcontrollable job processing times. AIIE Transactions, 12, 258–262.

Wang, A., Huang, Y., Taunk, P., Magnin, D. R., Ghosh, K., & Robertson, J. G. (2003).Application of robotics to steady state enzyme kinetics: analysis of tight-binding inhibitors of dipeptidyl peptidase IV. Analytical Biochemistry, 321(2),157–166.

Wang, J. B. (2006). Single machine scheduling with common due date andcontrollable processing times. Applied Mathematics and Computation, 174,1245–1254.

Xu, K., Feng, Z., & Jun, K. (2010). A tabu-search algorithm for scheduling jobs withcontrollable processing times on a single machine to meet due-dates. Computers& Operations Research, 37(11), 1924–1938.

Yano, C. A., & Kim, Y. D. (1991). Algorithms for a class of single-machine weightedtardiness and earliness problems. European Journal of Operational Research, 52,167–178.

Zdrzalka, S. (1991). Scheduling jobs on a single machine with release dates, deliverytimes and controllable processing times: Worst case analysis. OperationsResearch Letters, 10, 519–523.