a greedy heuristic and simulated annealing approach for a bicriteria flowshop scheduling problem...
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