a greedy heuristic and simulated annealing approach for a bicriteria flowshop scheduling problem...

12
Int J Adv Manuf Technol (2012) 60:1087–1098 DOI 10.1007/s00170-011-3650-6 ORIGINAL ARTICLE A greedy heuristic and simulated annealing approach for a bicriteria flowshop scheduling problem with precedence constraints—a practical manufacturing case Samer Hanoun · Saeid Nahavandi Received: 26 September 2010 / Accepted: 15 September 2011 / Published online: 12 October 2011 © Springer-Verlag London Limited 2011 Abstract This paper considers a flowshop scheduling problem with two criteria, where the primary (domi- nant) criterion is the minimization of material waste and the secondary criterion is the minimization of the total tardiness time. The decision maker does not au- thorize trade-offs between the criteria. In view of the nature of this problem, a hierarchical (lexicographical) optimization approach is followed. An effective greedy heuristic is proposed to minimize the material waste and a simulated annealing (SA) algorithm is developed to minimize the total tardiness time, subjective to the constraint computed for the primary criterion. The so- lution accuracy is compared with the optimal solution obtained by complete enumeration for randomly gen- erated problem sets. From the results, it is observed that the greedy heuristic produces the optimal solution and the SA solution does not differ significantly from the optimal solution. Keywords Flowshop scheduling · Lexicographical optimization · Simulated annealing · Multicriteria scheduling 1 Introduction The problem of scheduling for minimizing material waste (cost) exists in many manufacturing domains. Joineries, corrugated board plants, and glass manufac- S. Hanoun (B ) · S. Nahavandi Centre for Intelligent Systems Research, Institute of Technology and Research Innovation, Deakin University, Victoria, Australia e-mail: [email protected] turing are typical examples. In joinery manufacturing, products such as kitchens, bathrooms, and cabinets are produced mainly from two materials. The cost of any product is determined largely by the material used for the front, which is far more expensive than the melamine material used for the sides and the rear. The dominant objective is always to increase the profit by minimizing the waste in the front material. Addition- ally, the second objective is to minimize the tardiness of the jobs. The tardiness could, in theory, be relaxed based on the schedule that provides the maximum cost savings, however, achieving the minimum tardiness is required to satisfy the customers required due dates. This multiobjective nature of the problem requires reaching an acceptable compromise where the quality of a solution has to satisfy the two criteria in the order specified. The multiobjective optimization problem (also called multicriteria) is the problem of finding the vector X =[x 1 , x 2 ,..., x k ] T which will satisfy the following m inequality: g i ( X) 0, i = 1, 2, 3, ...... , m (1) the l equality constraints: h i ( X) = 0, i = 1, 2, 3, ...... , l (2) and optimize the objective vector F ( X) =[ f 1 ( X), f 2 ( X), ...... , f N ( X)] T (3) where X =[x 1 , x 2 ,..., x k ] T is the vector of decision variables and N is the number of objective functions.

Upload: saeid

Post on 23-Aug-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Int J Adv Manuf Technol (2012) 60:1087–1098DOI 10.1007/s00170-011-3650-6

ORIGINAL ARTICLE

A greedy heuristic and simulated annealing approachfor a bicriteria flowshop scheduling problemwith precedence constraints—a practicalmanufacturing case

Samer Hanoun · Saeid Nahavandi

Received: 26 September 2010 / Accepted: 15 September 2011 / Published online: 12 October 2011© Springer-Verlag London Limited 2011

Abstract This paper considers a flowshop schedulingproblem with two criteria, where the primary (domi-nant) criterion is the minimization of material wasteand the secondary criterion is the minimization of thetotal tardiness time. The decision maker does not au-thorize trade-offs between the criteria. In view of thenature of this problem, a hierarchical (lexicographical)optimization approach is followed. An effective greedyheuristic is proposed to minimize the material wasteand a simulated annealing (SA) algorithm is developedto minimize the total tardiness time, subjective to theconstraint computed for the primary criterion. The so-lution accuracy is compared with the optimal solutionobtained by complete enumeration for randomly gen-erated problem sets. From the results, it is observedthat the greedy heuristic produces the optimal solutionand the SA solution does not differ significantly fromthe optimal solution.

Keywords Flowshop scheduling · Lexicographicaloptimization · Simulated annealing · Multicriteriascheduling

1 Introduction

The problem of scheduling for minimizing materialwaste (cost) exists in many manufacturing domains.Joineries, corrugated board plants, and glass manufac-

S. Hanoun (B) · S. NahavandiCentre for Intelligent Systems Research,Institute of Technology and Research Innovation,Deakin University, Victoria, Australiae-mail: [email protected]

turing are typical examples. In joinery manufacturing,products such as kitchens, bathrooms, and cabinets areproduced mainly from two materials. The cost of anyproduct is determined largely by the material usedfor the front, which is far more expensive than themelamine material used for the sides and the rear. Thedominant objective is always to increase the profit byminimizing the waste in the front material. Addition-ally, the second objective is to minimize the tardinessof the jobs. The tardiness could, in theory, be relaxedbased on the schedule that provides the maximum costsavings, however, achieving the minimum tardiness isrequired to satisfy the customers required due dates.This multiobjective nature of the problem requiresreaching an acceptable compromise where the qualityof a solution has to satisfy the two criteria in the orderspecified.

The multiobjective optimization problem (alsocalled multicriteria) is the problem of finding the vectorX = [x1, x2, . . . , xk]T which will satisfy the following minequality:

gi(X) ≥ 0, i = 1, 2, 3, . . . . . . , m (1)

the l equality constraints:

hi(X) = 0, i = 1, 2, 3, . . . . . . , l (2)

and optimize the objective vector

F(X) = [ f1(X), f2(X), . . . . . . , fN(X)]T (3)

where X = [x1, x2, . . . , xk]T is the vector of decisionvariables and N is the number of objective functions.

1088 Int J Adv Manuf Technol (2012) 60:1087–1098

The decision variables can either be all continuouswithin the respective lower and upper bounds (xL andxU ) or a mixture of continuous, binary (i.e., 0 or 1)and integer variables. The inequality and equality con-straints restrict the solution space to be searched forthe optimal solutions and define the feasible regionfor vector X. The number of equality and inequalityconstraints can be none, a few or many dependingon the application. For example, in manufacturing,the inequality constraints, g(x), which can be min ormax (i.e., g(x) ≤ 0 or g(x) ≥ 0), are due to equipment,material, safety and other considerations. Examplesof inequality constraints are the requirement that thepressure in a die casting machine should be below aspecified value to avoid process run-away, failure of thematerial used for fabrication and undesirable defectiveproducts. In chemical engineering, the equality con-straints, h(x) = 0, arise from mass, energy, and momen-tum balances and can be algebraic and/or differentialequations.

There have been tremendous efforts to solve multi-objective flowshop scheduling problems. Evans [1] andFry et al. [2] broadly classify the approaches as: (a) apriori approaches in which the objectives are combinedinto one composite utility function and only one solu-tion (optimum solution) is computed (e.g., Nagar et al.[3]; Sridhar and Rajendran [4]; Framinan et al. [5]); and(b) a posteriori approaches in which a set of efficient (ornon-dominated or Pareto optimal) solutions is devel-oped and presented to the decision maker to choose thebest solution according to the preferences at the time ofdecision making. (e.g., Framinan et al. [5]; T’kindt et al.[6]). The posteriori approach is effective if it is hardto design one composite function to aggregate all theobjectives, it is unknown what the function looks likeor minimizing the utility function is computationallyinaccessible. In such cases, the idea is to develop fromthe set of solutions a subset that contains the optimumsolution and let the decision maker choose; thus follow-ing a generate-f irst-choose-later approach.

The use of these approaches is distinguished basedon the decision maker’s preferences (ordering or rela-tive importance of objectives and goals), and the pre-sentation of the solutions (unique solution or a set ofPareto optima). Marler and Arora [7] surveyed thedifferent methods for combining the criteria into oneutility function for the priori approach. A comprehen-sive literature survey of multicriteria scheduling prob-lems and solutions is given by T’kindt and Billaut [8].

In case no trade-off between the criteria is autho-rized by the decision maker, lexicographical optimiza-tion is applied to minimize the objective functionsin a lexicographic order. The objective functions are

arranged in order of importance and the followingoptimization problems are solved one at a time:

minxεX

Fi(X) (4)

subject to F j(X) ≤ F j(X∗j ),

j = 1, 2, . . . , i − 1, i > 1, i = 1, 2, . . . , k.

Here, i represents a function’s position in the pre-ferred sequence, and F j(X∗

j ) represents the optimumof the jth objective function, found in the jth iteration.Note that, after the first iteration ( j = 1), F j(X∗

j ) is notnecessarily the same as the independent minimum ofF j(X), because new constraints have been introduced.

For a bicriteria optimization, Hoogeveen [9] explainsthat if one performance criterion, say f , is far moreimportant than the other one g, then an obvious ap-proach is to find the optimum value with respect tocriterion f , which is denoted by f ∗, and then choosefrom among the set of optimum schedules for f the onethat performs best on g. In the first stage, the value ofthe more important criterion f is minimized, whereasin the second stage, the second criterion g is minimizedsubject to the additional constraint that f ≤ f ∗. Theresulting bicriteria problem is polynomially solvableonly, if the primary criterion is the minimax type, likeLmax, Tmax or fmax, and the secondary criterion is oneof

∑j C j, Lmax, Tmax or fmax and strongly NP-hard for

∑j w jC j. The computational complexity is still open

to some problems with∑

j U j as the primary criterionand Lmax, Tmax or Emax as the secondary criterion [9].Problems with minisum such as

∑j C j,

∑j T j and

∑j F j

criteria are more difficult to solve and are combinator-ial problems.

The methods and approaches for solving combi-natorial scheduling problems are classified into twogroups: (a) finding the exact optimal solution usingimplicit enumeration methods which are based on ei-ther branch-and-bound or dynamic programming; (2)finding a near optimal solution using heuristic tech-niques. Heuristics are categorized as either construc-tive (e.g., Nawaz et al. [10], Panneerselvam [11]) orimprovement derived from meta-heuristic approaches,such as genetic algorithm and SA (e.g., Reeves [12],Rajendran et al. [13], Noorul Haq et al. [14], and Suman[15]).

Simulated annealing, which was formally introducedfor solving combinatorial optimization problems in1983 by Kirkpatrick et al. [16], has since provenvery effective for obtaining an optimal solution toa single-objective optimization problems and for ob-taining a Pareto set of solutions for a multiobjective

Int J Adv Manuf Technol (2012) 60:1087–1098 1089

optimization problems [17], [18]. SA has been widelyused to solve many scheduling problems, for job shop[19], open shop [20], and flowshop problems [21], [22].A comprehensive review of SA for solving single- andmultiobjective optimization problems is provided bySuman and Kumar [23].

Theoretical research focused for many decadeson solving the m-machine, two-machine and two-jobflowshop problems to minimize the makespan. Meth-ods such as mathematical programming has beenmainly used, while in practice, it has been abandonedbecause of its excessive computational burden andheuristic solution procedures are being developed in-stead. Also, in industry, other objectives such as the to-tal flowtime and the total tardiness are becoming moreimportant for some manufacturers than the makespan.Research in flowshop scheduling should be inspiredmore by real life problems rather than problems en-countered in mathematical abstractions and must bemotivated by what the researchers can achieve ratherthat what is important.

This research is motivated by a real and practicalflowshop industry problem existing in the joinery man-ufacturing domain. The scheduling of jobs is carried outunder the cost reduction and the tardiness objectives.The cost of the product is determined by the amount ofmaterial sheets used in manufacturing. Minimizing theamount of waste in each material sheet can minimizethe number of material sheets required, therefore, in-creasing the profit. This can be achieved by schedulingjobs with similar materials together. For example, givenjobs J1 and J2 requiring 25 and 35 material sheets,respectively. For a savings factor of 5% in schedulingthese two jobs together, then the reduction in cost is$1,500 for a material sheet of price $500. This showsthe amount of profit that can be achieved as well as thepracticality of the problem.

The joinery setup resembles a flowshop model,where the jobs are processed throughout five sequentialstages. Each stage has a single machine. The stagesrequired to process a job depend mainly on the job’stype of operations (i.e., a job may skip some stagesaccording to its technological operations). All jobs areprocessed through the first stage, which determinesthe total material cost. The tardiness of a job dependson its number of operations, processing time of eachoperation, and the processing stages it requires. The

tardiness of a job is determined once its last operationis completed. The decision maker orders the criteria byspecifying a higher priority for the cost reduction crite-rion over the total tardiness time. This influences ourmethodology of the proposed solution as maximizingthe cost reduction criterion must be carried out firstbefore minimizing the total tardiness criterion.

In this paper, we introduce the problem and explainthe formulation in Section 2. Then, in Section 3, wepresent the proposed approach to solve the problem. InSection 4, the experimental results obtained are shownfor the proposed algorithms. Finally, Section 5 presentsthe conclusion.

2 Problem description

The problem addressed in this paper can be describedas follows. Given a set of n jobs to be processedthrough a five-stage flowshop (l = 5). Each stage hasone machine available (i.e., m(l) = 1). All jobs have tooperate through stages 1, 3, and 4 but may not operatethrough stages 2 and 5 depending on their technologicalrequirements (i.e., type of operations). Each job Ji hasni operations, and it is not necessary that ni = l (3 ≤ni ≤ 5). Jobs are manufactured from different materialtypes. Jobs with similar materials can be scheduledtogether in stage 1 to decrease the amount of materialwaste. Every two jobs with the same material typehave a savings factor, which shows the reduction inmaterial that can be achieved when producing the twojobs in sequence in stage 1. Each machine can performonly one operation at a time and the precedence be-tween the operations must be preserved (i.e., operationOij+1 cannot start unless operation Oij has finished).Figure 1 shows a schematic view of the possible routingsfollowed by the jobs depending on the operations eachjob is requiring. It is worth noting that even though ajob may have its own processing route, the job mustvisit the stages in its order of operations. The tardinessof a job is determined based on the completion time ofits last operation and its due date.

It is desired to find the order (schedule) in whichthese n jobs should be processed through the five-stageflowshop to minimize the material waste (maximizethe cost reduction) in stage 1 and minimize the totaltardiness time throughout the five stages. The decision

Fig. 1 Schematic view of thejobs routings in the five-stageflowshop

S1 S5S4S3S2

1090 Int J Adv Manuf Technol (2012) 60:1087–1098

maker does not authorize any trade-offs between theobjectives. In this case, the cost reduction criterion hasa higher priority than the total tardiness time criterion.

The problem of minimizing the material wasteis found in other manufacturing domains such ascorrugated board plants and glass industry. Forexample, in corrugated board plants, corrugated boardis produced from rolls of paper, and cut and slit intosheets of board. Approximately 30 cardboard qualitiesare produced from approximately 25 qualities of paper.Boxes are produced from these cardboard sheets. Themain objective is to schedule the jobs with the samequality of cardboard in order for the slitting and cuttingof that specific quality of cardboard into cardboardsheets is optimized to minimize the material waste.The same objective exists in the glass industry whereproducts have different qualities as well as the usedglass sheets.

In our presented problem, the following assumptionsare made:

– Jobs are available at time zero and no preemptionis allowed (i.e., any started operation has to becompleted without interruptions).

– A machine can perform only one operation at atime of the same type as the stage it belongs to.

– An operation of a job can be performed by only onemachine at a time.

– Once an operation has begun on a machine, it mustnot be interrupted.

– An operation of a job cannot be performed until itspreceding operations are completed.

– Operation processing time and number of opera-tions for each job are known in advance.

– Each operation is processed as early as possible.

The first stage, stage 1, in the flowshop is the oneaffecting the cost of production. Each job i is producedusing two materials (i.e., material Ai and material Bi).The cost of material A is far more expensive than thecost of material B. The profit revenue is determinedmainly by the number of sheets used from material A.

Table 1 Jobs and operation stages

S1 S2 S3 S4 S5

J1 X X X X XJ2 X X XJ3 X X X X

Jobs may have different types for material A, but allhave the same type for material B. Every two jobs, iand k, with the same type for material A have a savingsfactor Sik, which shows the reduction in material thatcan be achieved when producing the two jobs in se-quence, where Sik = Ski. Given the number of materialsheets Xi and Xk and the cost of material sheet Costi

and Costk, the cost savings factor CSik and CSki, whereCSik = CSki, is calculated as:

CSik = Costi ∗ (Xi + Xk) ∗ Sik (5)

CSki = Costk ∗ (Xk + Xi) ∗ Ski (6)

if Ai = Ak; 0 otherwise, where i = 1, . . . , n, k =1, . . . , n.

The total cost savings CS, that must be maximized bysequencing the jobs in stage 1, is defined by

CS =n∑

i=1

i∑

k=1

CSik (7)

For stage 2 to 5, the jobs operate based on the type oftheir operations. A job proceeds directly to the stagethat its current operation requires. In the case thatthe machine in the required stage is busy, then thejob waits until the current machine finishes. Table 1gives an illustrative example of three jobs J1, J2, andJ3, and their operating stages. Figures 2 and 3 showthe overall schedule throughout the five stages, giventhat {J1 − J2 − J3} is the schedule that produces themaximum cost savings in stage 1. It is not necessaryfor the jobs to be scheduled according to the scheduleproduced from stage 1, however, it depends mainly onthe number of operations, types of operations and theprocessing time of the operations in stages 2 to 5. Thisappears when operation S3 of job J2 starts before the

Fig. 2 The schedule of jobsJ1, J2, J3 through thefive-stage flowshop

Job

Time

J1

J2

J3

S1

S1

S1

S2

S2

S3

S3

S4

S3

S4

S4 S5

S5

Int J Adv Manuf Technol (2012) 60:1087–1098 1091

Stage

Time

S1

S2

S3

S4

S5

Fig. 3 The schedule of the five stages for jobs J1, J2, J3

same operation of job J1 because S3 of J1 has to waitfor its preceding operation to finish and stage 3 is idleand not processing any jobs.

The tardiness Ti of job i is determined by the com-pletion time Ci of its last operation. It is calculated as:

Ti = max(0, Ci − di) (8)

where di is the due date of job i.The total tardiness T, that must be minimized, is

calculated as:

T =n∑

i=1

Ti (9)

3 Proposed approach

The proposed approach is based on heuristic solutionsto obviate the inherent computational complexity ofthe problem. The approach consists of two phases; eachacts on solving one of the required criteria. The phasesare carried out in order to satisfy the priority orderingof the criteria.

In phase one, jobs with similar materials are clus-tered into batches and the schedule that maximizesthe total cost savings for each batch is computed us-ing a greedy heuristic. Clustering of jobs into batchesincreases the cost savings as jobs with different mate-rials have zero cost savings (i.e., cost saving betweendifferent batches equals zero). For a set of materi-als M = {M1, M2, . . . , Mk}, the constructed batches areB1, B2, . . . , Bk, each with a computed optimum sched-ule S1, S2, . . . , Sk and corresponding total cost savings

CS1, CS2, . . . , CSk. The global schedule produced byphase one is:

SG = S1 + S2 + · · · + Sk (10)

and its total cost saving is:

CSG =k∑

i=1

CSi (11)

The constructed global schedule preserves that the totalcost savings criterion is always maximized and indepen-dent of the order in which the batches are sequenced.For example, batches B1, B2, B3, with schedules S1 ={1, 3, 5}, S2 = {6, 2}, S3 = {4, 8, 7} and correspondingtotal cost savings CS1 = 120, CS2 = 400, CS3 = 310, theconstructed global schedule SG will always have a totalcost savings CSG = 830 for all possible sequences ofS1, S2, S3. This is achieved as the cost saving betweenthe batches equals zero.

In phase two, the batches are sequenced using asimulated annealing (SA) algorithm to minimize thetotal tardiness time of the constructed global scheduleSG. The batch due date dbatch is considered to be thedue date of the earliest job in the batch and its process-ing time pbatch is the sum of processing times of alljobs in the batch. The reason for choosing dbatch is toimpose a high level of tightness on the SA algorithmfor achieving the global optimum solution.

dbatchi = min(d1, d2, . . . , dnb ), i = 1 . . . k (12)

pbatchi =nb∑

j=1

pj, i = 1 . . . k (13)

1092 Int J Adv Manuf Technol (2012) 60:1087–1098

The tardiness Ti of each job is calculated based on itscompletion time and due date. The completion timeof a job is affected by (1) the position of the job inthe global schedule SG, (2) the completion time of itslast operation, (3) the number and processing time ofeach operation, and (4) the assignment algorithm usedfor allocating the operations to the designated stages.The assignment algorithm assigns the ready operationto its designated stage once the stage is available andapplies a First-in-First-out (FIFO) dispatching rule forresolving the conflicts between waiting operations. TheFIFO rule is preferred over other dispatching rulessuch as shortest processing time (SPT), based on amanufacturing requirement to minimize the idle gapsbetween the job’s operations.

3.1 Greedy heuristic

In this section, the steps of the proposed greedyheuristic to maximize the cost savings for each batchare presented. The algorithm computes a set ofschedules for each batch and the schedule with themaximum cost savings is considered the dominantschedule for the batch.

Step 1 Input the following:

– Number of jobs (nb ) in the batch– The jobs in the batch [Ji, i = 1 . . . nb ]– Cost-saving matrix of the batch [CSi, j, i = 1 . . . nb ,

j = 1 . . . nb ]

Step 2 Initialize the following:

– List of schedules Si, j = 0, i = 1 . . . nb , j = 1 . . . nb

– List of costs Ci = 0, i = 1 . . . nb

Step 3

– /* Case only one job in the batch */if nb = 1 then

S1,1 = J1

proceed to Step 5else

proceed to Step 4end if

Step 4

– /* Case two or more jobs in the batch */for i = 1 to nb do

Si,1 = Ji

Ci = 0current_job = Ji

for k = 1 to nb − 1 do

next_job = Job with maximum cost savingsvalue in row (CScurrent_job) and not currentlyin row (Si)Si,k+1 = next_jobCi = CScurrent_job,next_job

current_job = next_jobend for

end for

Step 5

– return schedule Si that has the maximum Ci, i =1 . . . nb

The proposed greedy algorithm is explained withthe help of a numerical illustration. Consider five jobswith the same material type (i.e., all jobs belong tothe same batch) with their corresponding cost savingsmatrix presented in Table 2. The algorithm computesa set of five schedules, each schedule has one of thegiven jobs as the starting job. Once these schedulesare computed, the schedule that has the maximum costsavings C is considered the best schedule for these jobs.Each schedule is constructed in a greedy manner basedon the cost savings matrix. For example, in iteration i =1, the first computed schedule S1 starts with job J1, S1 ={1}. During iteration k = 1, J2 is added to S1 because J2

is the job with maximum cost savings value in CS1 andnot in S1, S1 = {1 − 2} and C1 = 3,739.68. In iterationk = 2, J4 is added to S1 similar to J2, S1 = {1 − 2 −4} and C1 = 7,479.36. Note that the algorithm avoidschoosing J1 as the job with the maximum cost savingsbecause J1 already exists in S1. This condition preventsany loops from occurring in the produced schedule.In iteration k = 3, J3 satisfies the required conditionleading to S1 = {1 − 2 − 4 − 3} and C1 = 11,419.38. Fi-nally, in iteration k = 4, J5 is the last job which leads toS1 = {1 − 2 − 4 − 3 − 5} and C1 = 13,437.62. Figure 4shows the greedy construction for schedule S1 at everyiteration of the algorithm. In each iteration, the possiblechoices are shown and the job that has the maximumcost savings value and is not in S1 is considered to bethe next job selected.

The algorithm continues to compute the other re-maining schedules (i.e., S2, S3, S4, and S5) and finally

Table 2 The cost savings matrix for a set of five jobs

J1 J2 J3 J4 J5

J1 0 3,739.68 2,626.68 3,635.8 3,005.1J2 3,739.68 0 3,339 3,739.68 1,840.16J3 2,626.68 3,339 0 3,940.02 2,018.24J4 3,635.8 3,739.68 3,940.02 0 3,339J5 3,005.1 1,840.16 2,018.24 3,339 0

Int J Adv Manuf Technol (2012) 60:1087–1098 1093

1

2

45

3

4

35

3739.68

3635.83005.1

2626.68

3739.68

33391840

35

3940.023339

5

2018.24

j = 1

j = 2

j = 3

j = 4

Fig. 4 The greedy construction of schedule S1

returns schedule S3 = {3 − 4 − 2 − 1 − 5}, the one thathas the maximum total cost savings among the com-puted set of schedules. Table 3 presents the detailedsummary of the procedure described above. It is worthnoting that for n jobs, the heuristic constructs n sched-ules and selects among the one that has the maximumcost savings. The complexity of the heuristic is O(n2)

compared with O(n!) for obtaining the optimal sched-ule by enumeration.

3.2 Simulated annealing

SA is a meta-heuristic algorithm based on the basicidea of neighborhoods. It was derived from the anal-ogy between the simulation of the annealing of solidand the strategy of solving combinatorial optimizationproblems [16]. A neighboring solution is derived fromits originator solution by a random move, which re-sults a new slightly different solution. This increasesthe chance of finding an improved solution within aneighborhood more than in less correlated areas ofthe search space. Also, SA overcomes the problemof getting stuck in local minima, by allowing worsesolutions (lesser quality) to be taken some of the time(i.e., allowing some uphill steps). The simplicity of theapproach and its substantial reduction in computationtime [24], [25] has made it a valuable tool for solvingflowshop scheduling problems with the objective ofminimizing the tardiness [26], [27].

In this section the main components of the SA algo-rithm are presented. The implementation details of thealgorithm are described, as well as the procedure fol-lowed for setting the parameters. The initial sequenceof batches (i.e., initial solution) is constructed using

Table 3 Summary of the greedy heuristic algorithm

Iteration Iteration Schedule Costi k Si Ci

1 {1} 01 {1 − 2} 3,739.682 {1 − 2 − 4} 7,479.363 {1 − 2 − 4 − 3} 11,419.384 {1 − 2 − 4 − 3 − 5} 13,437.62

2 {2} 01 {2 − 1} 3,739.682 {2 − 1 − 4} 7,375.483 {2 − 1 − 4 − 3} 11,315.54 {2 − 1 − 4 − 3 − 5} 13,333.74

3 {3} 01 {3 − 4} 3,940.022 {3 − 4 − 2} 7,679.73 {3 − 4 − 2 − 1} 11,419.384 {3 − 4 − 2 − 1 − 5} 14,424.48

4 {4} 01 {4 − 3} 3,940.022 {4 − 3 − 2} 7,279.023 {3 − 4 − 2 − 1} 11,018.74 {4 − 3 − 2 − 1 − 5} 14,023.8

5 {5} 01 {5 − 4} 3,3392 {5 − 4 − 3} 7,279.023 {5 − 4 − 3 − 2} 10,618.024 {5 − 4 − 3 − 2 − 1} 14,357.7

the earliest due date (EDD) rule and the randomlypairwise interchange mechanism is used for obtainingthe neighboring solution. The total tardiness time Tis the cost function applied to each of the obtainedneighboring solutions.

3.2.1 Initial temperature

The selection of an initial temperature value influencesthe behavior of the SA algorithm. The starting tem-perature must be hot enough to allow a move to anyneighborhood state. If this is not done, then the end-ing solution will be the same (or very close) to thestarting solution. Ideally, if the maximum distance (costfunction difference) between one neighbor and anotheris known, then it can be used for determining thestarting temperature. One choice is starting with a toohigh value so as the search can move to any neighbor,however, this transforms the search (at least in the earlystages) into a random search, but effectively, the searchwill act as a SA when the temperature is cool enough.Another choice is starting with a very high temperatureand cooling it rapidly until about 60% of the worstsolutions are being accepted. This forms an accuratestarting temperature and it can now be cooled moreslowly.

1094 Int J Adv Manuf Technol (2012) 60:1087–1098

In our approach, the initial temperature is chosenby experimentation. The range of change, � f0 in thevalue of the objective function with different movesis determined. The initial value of temperature To iscalculated based on the initial acceptance ratio λo, andthe average increase in the objective function, � f0:

To = − � f0

ln(λo)(14)

The following steps describe the algorithm used tocalculate the value of To. Non-improver solutions areaccepted with a probability of about 95% in the primaryiterations (i.e., λo = 0.95).Step 1:

/* Q represents the number of samples */for q = 1 to Q do

repeatGenerate two solutions X1 and X2 at random

until Z (X1) �= Z (X2)

Tqo = −|Z (X1)−Z (X2)|

ln(0.95)

end for

Step 2:

To = 1Q

∑Qq=1 Tq

o

3.2.2 Cooling schedule

The cooling schedule determines the way the tempera-ture is changed. Enough iterations should be allowedat each temperature, so that the system stabilizes atthat temperature; however, the number of iterations ateach temperature to achieve this might be very highcompared with the problem size. As this is impractical,a compromise is required. Either running large numberof iterations at a few temperatures or a small number ofiterations at many temperatures or a balance betweenthe two.

In our approach, the temperature is decremented ina proportional manner:

T(i + 1) = α ∗ T(i) (15)

where α is the cooling factor constant and chosen to be0.98.

3.2.3 Number of iterations

The number of iterations at each temperature is chosenso that the system is sufficiently close to the stationarydistribution at that temperature. Enough number ofiterations at each temperature are carried out to ensurethat all represented states are searched and to enablereaching the global optimum. For our problem, a 150

non-improving iterations are used to terminate the cur-rent temperature level.

3.2.4 Stopping criterion

Various stopping criteria have been developed: (1) to-tal number of iterations and number of iterations tomove at each temperature. (2) A minimum value oftemperature and number of iterations to move at eachtemperature. (3) Number of iterations to move at eachtemperature and a predefined number of iterations toget a better solution.

In our approach, a final temperature value T f equalsto 5 percent of the initial temperature To is used forstopping the algorithm (i.e., T f = 0.05 ∗ To).

3.2.5 SA algorithm

Table 4 summarizes the parameter settings for theSA algorithm. The following steps represent the basicstructure of the SA algorithm.

Step 1: Parameters settings

– Obtain the initial temperature To according to thepreliminary experiment

– Initialize non-improving iterations at each temper-ature (nt = 150), cooling factor α = 0.98 and finaltemperature T f = 0.05 ∗ To

Step 2: Initial solution

– Generate initial sequence σ of batches using theEDD rule (the EDD rule is used based on Johnsonet al. [29] for starting with a good initial seed)

– Construct the global schedule SG for σ

– Assign operations of jobs in SG to stages in theflowshop and compute the total tardiness time τs

Table 4 Settings for the SA algorithm

Parameter Setting

Initial sequence EDD (earliest due date)Neighborhood structure Interchange two randomly

selected batches

Initial temperature To = − � f0

ln(λo), λo = 0.95

Cooling schedule T(i + 1) = α ∗ T(i), α = 0.98Probability of acceptance Pa = exp(−�/T)

Relative percentage deviation � = (τs′ − τs) ∗ 100/τs

in cost functionNumber of iteration 150 non-improving iteration

per temperatureFinal temperature T f = 0.05 ∗ To

Int J Adv Manuf Technol (2012) 60:1087–1098 1095

Step 3:let T = To, σbest = σ , τbest = τs

while T ≥ T f dolet n = 1while n ≤ nt do

- Generate a neighbor sequence σ ′ by randomlyinterchanging two batches in σ

- Construct the global schedule SG for σ ′- Assign operations of jobs in SG to stages in theflowshop and compute τs′

if �(τs′ , τs) < 0 thenσ = σ ′τs = τs′

if �(τs′ , τbest) < 0 thenσbest = σ ′τbest = τs′

n = 1end if

elseGenerate a random number Uif U < exp(�(τs′ , τs)/T) then

σ = σ ′τs = τs′

end ifend ifn = n + 1

end whileT = α ∗ T

end whilereturn σbest

Table 5 Range of processing times in stages 3 to 5 relative to thejob size

Job Size Processing times range (in hours)

Stage 3 Stage 4 Stage 5

Small [0.5, 1] [3, 4] [8, 10]Medium [1, 2] [6, 7] [16, 20]Large [2, 3] [9, 10] [24, 30]

Table 6 Problem no. 1: cost-saving matrix for five jobs

J1 J2 J3 J4 J5

J1 0 373 262 363 300J2 373 0 333 373 184J3 262 333 0 394 201J4 363 373 394 0 333J5 300 184 201 333 0

Table 7 Problem no. 2: Cost-saving matrix for six jobs

J1 J2 J3 J4 J5 J6

J1 0 916 549 1,133 879 961J2 916 0 357 845 1,030 320J3 549 357 0 567 732 288J4 1,133 845 567 0 881 453J5 879 1,030 732 881 0 769J6 961 320 288 453 769 0

Table 8 Problem no. 3: cost-saving matrix for seven jobs

J1 J2 J3 J4 J5 J6 J7

J1 0 149 224 465 191 289 275J2 149 0 144 241 161 239 223J3 224 144 0 339 231 256 149J4 465 241 339 0 437 517 446J5 191 161 231 437 0 229 289J6 289 239 256 517 229 0 353J7 275 223 149 446 289 353 0

Table 9 Problem no. 4: cost-saving matrix for eight jobs

J1 J2 J3 J4 J5 J6 J7 J8

J1 0 377 495 435 406 600 413 304J2 377 0 466 385 556 548 565 652J3 495 466 0 208 295 580 369 365J4 435 385 208 0 263 371 436 365J5 406 556 295 263 0 548 614 440J6 600 548 580 371 548 0 684 574J7 413 565 369 436 614 684 0 478J8 304 652 365 365 440 574 478 0

4 Experimental study

In this section, we address the computational resultsobtained from our proposed greedy heuristic and theSA algorithm developed in this paper. The objectiveis to compare the solution accuracy of the algorithmswith the optimal solution for the addressed problem.The optimal solution is obtained using the completeenumeration method. The data for the set of problems

Table 10 Problem no. 5: cost-saving matrix for nine jobs

J1 J2 J3 J4 J5 J6 J7 J8 J9

J1 0 174 252 242 198 252 365 284 270J2 174 0 165 348 240 110 185 216 121J3 252 165 0 226 145 156 180 270 193J4 242 348 226 0 444 264 453 503 317J5 198 240 145 444 0 261 416 249 185J6 252 110 156 264 261 0 300 210 154J7 365 185 180 453 416 300 0 298 255J8 284 216 270 503 249 210 298 0 191J9 270 121 193 317 185 154 255 191 0

1096 Int J Adv Manuf Technol (2012) 60:1087–1098

Table 11 Problem no. 6: cost-saving matrix for ten jobs

J1 J2 J3 J4 J5 J6 J7 J8 J9 J10

J1 0 143 143 198 275 255 232 356 287 325J2 143 0 99 182 184 95 154 181 171 196J3 143 99 0 202 158 171 232 113 171 98J4 198 182 202 0 284 282 314 223 169 259J5 275 184 158 284 0 240 246 304 309 209J6 255 95 171 282 240 0 202 245 243 193J7 232 154 232 314 246 202 0 299 337 206J8 356 181 113 223 304 245 299 0 245 187J9 287 171 171 169 309 243 337 245 0 276J10 325 196 98 259 209 193 206 187 276 0

used are randomly generated, based on existing rules inthe application domain under consideration. The datageneration rules are summarized as:

1. A job belongs to one of three size categories: small,medium and large; 30% of jobs are small-sized jobs,50% are medium-sized jobs, and 20% are large-sized jobs. A small job consists of 20 to 30 materialsheets, medium jobs consist of 40 to 60 ma-terial sheets, and large jobs consist of 70 to 90material sheet. All jobs have a ratio of 2:3 offront material (material A) to melamine material(material B).

2. Of the jobs, 80% have a stage 5 operation while30% of the jobs have a stage 2 operation.

3. The cost of a front material sheet ranges from $100to $1,000.

4. The savings factor ranges from 5% to 10%, depend-ing mainly on the design and layout of the job.

5. The set of front materials (material A) consists often materials.

6. The processing time of one material sheet in stage 1or 2 is approximately 10 min. For example, a smalljob consisting of 25 sheets would require around250 min in stage 1 while a large job consisting of80 sheets needs around 800 min in stage 1. Theprocessing time of the operations in stages 3 to 5is relative to the job size, design, and layout. Thejob size determines the number of material sheetswhile the design and layout specifies the number ofpieces to cut and the holes to drill on every sheet.

Table 5 shows the range of the processing times ofthe operations in stages 3 to 5 relative to the jobsize. The processing time pi of job i is the sum ofthe processing times of its operations throughoutthe five stages. It is calculated as:

pi =5∑

k=1

Oik (16)

where Oik is the processing time of job i at stage k.

The due dates are generated with different levels oftightness as proposed in [28]. Once the processing timesof all jobs are generated, the total processing time P =∑n

i=1 pi is computed. Then the due date for each job isgenerated from the uniform distribution:[

P(

1 − TF − RDD2

))

, P(

1 − TF + RDD2

))]

(17)

where TF is the average tardiness factor and RDD isthe range of due dates. The settings of TF = 0.6 andRDD = 0.4 are used. Note that these settings producetighter due dates.

The relative percentage deviation (RPD) in the ob-jective value from the optimal is used as the perfor-mance measured and is calculated as:

RPD = Oheuristic − Ooptimal

Ooptimal∗ 100 (18)

Additionally, the mean relative percentage deviation(MRPD) is calculated for each problem set. The greedyheuristic is tested on problem sets consisting of five, six,seven, eight, nine, and ten jobs. These jobs are all clus-tered in one batch (i.e, they all have the same material).Tables 6, 7, 8, 9, 10, and 11 show the cost savings matrixfor a sample of the problem sets. The total cost savingsusing the greedy heuristic and the optimal total costsavings obtained by the complete enumeration methodare presented in Table 12. Results show that the greedyheuristic achieves the optimal solution for the sampleproblem sets presented. The heuristic was tested on atotal number of 150 problem sets consisting of five toten jobs and achieved the optimal solution for everyproblem set.

Table 12 Computational results of the greedy heuristic for the sample problem set

Problem no. Jobs Optimal solution Copt Heuristic solution CHeu

1 5 {3 − 4 − 2 − 1 − 5} 1,440 {3 − 4 − 2 − 1 − 5} 1,4402 6 {6 − 1 − 4 − 5 − 2 − 3} 4,362 {6 − 1 − 4 − 5 − 2 − 3} 4,3623 7 {1 − 4 − 6 − 7 − 5 − 3 − 2} 1,999 {1 − 4 − 6 − 7 − 5 − 3 − 2} 1,9994 8 {3 − 6 − 7 − 5 − 2 − 8 − 4 − 1} 3,886 {3 − 6 − 7 − 5 − 2 − 8 − 4 − 1} 3,8865 9 {3 − 8 − 4 − 7 − 5 − 6 − 1 − 9 − 2} 2,546 {3 − 8 − 4 − 7 − 5 − 6 − 1 − 9 − 2} 2,5466 10 {2 − 10 − 1 − 8 − 5 − 9 − 7 − 4 − 6 − 3} 2,594 {2 − 10 − 1 − 8 − 5 − 9 − 7 − 4 − 6 − 3} 2,594

Int J Adv Manuf Technol (2012) 60:1087–1098 1097

The SA algorithm is tested on problem sets withcombinations of n jobs and b batches. The RPD iscalculated for every problem and the MRPD for everyproblem set to show the percentage of accuracy of theSA solution to the optimal solution. The results aresummarized in Table 13. The SA achieved the optimalsolution for small size problems and produced solutionswithin 0.56% of the optimal solution on the averagewith a maximum deviation of 1.87%. Given the ex-perimental results, the SA produced very high qualitysolutions with low computational complexity based onthe NP-hard nature of the problem.

Table 13 Computational results of the SA algorithm

Problem∑

T RPD MRPD

(n × b) Optimal SA

10 × 5 45 45 020 × 5 226 230 1.7740 × 5 1,386 1,386 0 0.29560 × 5 3,632 3,632 080 × 5 6,094 6,094 0100 × 5 10,186 10,186 010 × 6 43 43 020 × 6 223 223 040 × 6 1,558 1,578 1.28 0.21360 × 6 3,175 3,175 080 × 6 8,997 8,997 0100 × 6 10,584 10,584 010 × 7 25 25 020 × 7 206 208 0.9740 × 7 1,579 1,607 1.77 0.47160 × 7 2,975 2,975 080 × 7 6,071 6,071 0100 × 7 9,605 9,614 0.0910 × 8 40 40 020 × 8 366 366 040 × 8 1,229 1,252 1.87 0.64160 × 8 3,089 3,124 1.1380 × 8 6,030 6,053 0.38100 × 8 9,462 9,506 0.4710 × 9 32 32 020 × 9 192 195 1.5640 × 9 1,211 1,232 1.73 0.72560 × 9 2,736 2,748 0.4480 × 9 5,400 5,400 0100 × 9 10,265 10,329 0.6210 × 10 21 21 020 × 10 198 201 1.5240 × 10 1,118 1,132 1.25 1.0260 × 10 3,358 3,381 0.6880 × 10 4,810 4,872 1.29100 × 10 8,860 8,982 1.38

Average RPD 0.561

5 Conclusions

In this paper, a greedy heuristic and a SA algorithmwere considered to minimize the material cost and thetotal tardiness time. The problem is NP-hard and issignificantly practical for many industrial applications,especially in the joinery manufacturing. The proposedgreedy heuristic achieved the optimal solution for min-imizing the material total cost savings. This is provenby comparing the accuracy of the produced solution tothe optimal solution obtained by the complete enumer-ation method. Additionally, the SA algorithm obtainedsolutions at a significant level of 0.56% from the opti-mal solution. This shows that both algorithms are verypractical for use by industry practitioners based on theirsimplicity and low computations requirements.

In summary, the experimental results presented inthis paper are very encouraging and promising for theapplication of both the greedy heuristic and the SAalgorithm in the joinery manufacturing domain. Forfuture work, the flowshop model will be extended tohandle parallel machines in each stage. This researchmay also be extended in the direction of providing thedecision maker with the set of Pareto-optimal solutionsby optimizing both criteria simultaneously, based ona linear composite objective function, which gives thedecision maker the flexibility of choosing the solutionthat best satisfies his or her preferences.

Acknowledgments The authors are grateful to the refereesfor their constructive suggestions which helped to improve thispaper. This work is supported under the Australian ResearchCouncil grant number LP0991175. The authors want to thankthe industry partner for providing detailed information to theproblem and the joinery manufacturing domain.

References

1. Evans GW (1984) An overview of techniques for solvingmultiobjective mathematical programs. Manage Sci 30:1268–1282

2. Fry TD, Armstrong RD, Lewis H (1999) A frameworkfor single machine multiple objective sequencing research.Omega 17:595–607

3. Nagar A, Heragu SS, Haddock J (1995) A branch and boundapproach for a two-machine flowshop scheduling problem. JOper Res Soc 46:721–734

4. Sridhar J, Rajendran C, (1996) Scheduling in flowshop andcellular manufacturing systems with multiple objectives—agenetic algorithmic approach. Prod Plan Control 7:374–382

5. Framinan JM, Leisten R, Ruiz-Usano R (2002) Efficientheuristics for flowshop sequencing with the objectives ofmakespan and flowtime minimisation. Eur J Oper Res141:559–569

1098 Int J Adv Manuf Technol (2012) 60:1087–1098

6. T’kindt V, Billaut J-C, Proust C (2001) Solving a bicriteriascheduling problem on unrelated parallel machines occurringin the glass bottle industry. Eur J Oper Res 135:42–49

7. Marler RT, Arora JS (2004) Survey of multi-objective op-timization methods for engineering. Struct Multidisc Optim26:369–395

8. T’kindt V, Billaut J-C (2001) Multicriteria scheduling prob-lems: a survey. RAIRO Oper Res 35:143–163

9. Hoogeveen H (2005) Multicriteria scheduling. Eur J OperRes 167:592–623

10. Nawaz M, Enscore E, Ham L (1983) A heuristic for them-machine n-job flowshop sequencing problem. Omega II:91–95

11. Panneerselvam R (2006) Simple heuristic to minimize totaltardiness in a single machine scheduling problem. Int J AdvManuf Tech 30:722–726

12. Reeves CR (1995) A genetic algorithm for flowshop sequenc-ing. Comput Oper Res 22:5–13

13. Rajendran C, Ziegler H (2004) Ant-colony algorithms forpermutation flowshop scheduling to minimize makespan/total flowtime of jobs. Eur J Oper Res 155:426–38

14. Noorul Haq A, Saravanan M, Vivekraj AR, Prasad T (2006)A scatter search algorithm for general flowshop schedulingproblem. Int J Adv Manuf Tech 31:731–736

15. Suman B (2002) Multiobjective simulated annealing—ametaheuristic technique for multiobjective optimization of aconstrained problem. Found Comput Decis Soc 27:171–191

16. Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization bysimulated annealing. Science 20:671–680

17. Eglese RW (1990) Simulated annealing: a tool for operationalresearch. Eur J Oper Res 46:271–281

18. Ehrgott M, Gandibleux X (2000) A survey and annotatedbibliography of multiobjective combinatorial optimization.OR Spektrum 22:425–460

19. Van Laarhoven PJM, Aarts EHL, Lenstra JK (1992) Jobshop scheduling by simulated annealing. Oper Res 40:113–125

20. Liaw CF (1999) Applying simulated annealing to the openshop scheduling problem. IIE T 31:457–465

21. Dipak L, Chakraborty UK (2009) An efficient hybrid heuris-tic for makespan minimization in permutation flow shopscheduling. Int J Adv Manuf Tech 44:559–569

22. Varadharajan TK, Rajendran C (2005) A multi-objectivesimulated-annealing algorithm for scheduling in flowshopsto minimize the makespan and total flowtime of jobs. Eur JOper Res 167:772–795

23. Suman B, Kumar P (2006) A survey of simulated annealingas a tool for single and multiobjective optimization. J OperRes Soc 57:1143–1160

24. Rajasekaran S (1990) On the convergence time of simulatedannealing. University of Pennsylvania Department of Com-puter and Information Science, Technical Report no. MS-CIS-90-89

25. Bertsimas D, Tsitsiklis J (1993) Simulated annealing. Statisti-cal Science 8(1):10–15

26. Ben-Daya M, Al-Fawzan M (1996) A simulated annealing ap-proach for the one-machine mean tardiness scheduling prob-lem. Eur J Oper Res 93:61–67

27. Parthasarathy S, Rajendran C (1997) A simulatedannealing heuristic for scheduling to minimize meanweighted tardiness in a flowshop with sequence-dependentsetup times of jobs—a case study. Prod Plan Control 8:475–483

28. Potts CN, Van Wassenhove LN (1991) Single machine tardi-ness sequencing heuristics. IIE T 23(4):346–354

29. Johnson DS, Aragon CR, Mcgeoch LA, Schevon C (1989)Optimisation by simulated annealing: an experimental valua-tion. Part I, graph partitioning, Oper Res 37:865–891