variable neighbourhood search for dual-resource constrained flexible job shop scheduling
TRANSCRIPT
This article was downloaded by: [Linnaeus University]On: 18 October 2014, At: 04:58Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,37-41 Mortimer Street, London W1T 3JH, UK
International Journal of Production ResearchPublication details, including instructions for authors and subscription information:http://www.tandfonline.com/loi/tprs20
Variable neighbourhood search for dual-resourceconstrained flexible job shop schedulingDeming Leia & Xiuping Guob
a School of Automation, Wuhan University of Technology, Wuhan, PR Chinab School of Economic and Management, Southwest Jiaotong University, Chengdu, PR ChinaPublished online: 28 Oct 2013.
To cite this article: Deming Lei & Xiuping Guo (2014) Variable neighbourhood search for dual-resource constrained flexiblejob shop scheduling, International Journal of Production Research, 52:9, 2519-2529, DOI: 10.1080/00207543.2013.849822
To link to this article: http://dx.doi.org/10.1080/00207543.2013.849822
PLEASE SCROLL DOWN FOR ARTICLE
Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) containedin the publications on our platform. However, Taylor & Francis, our agents, and our licensors make norepresentations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of theContent. Any opinions and views expressed in this publication are the opinions and views of the authors, andare not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon andshould be independently verified with primary sources of information. Taylor and Francis shall not be liable forany losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoeveror howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use ofthe Content.
This article may be used for research, teaching, and private study purposes. Any substantial or systematicreproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in anyform to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions
Variable neighbourhood search for dual-resource constrained flexible job shop scheduling
Deming Leia* and Xiuping Guob
aSchool of Automation, Wuhan University of Technology, Wuhan, PR China; bSchool of Economic and Management, SouthwestJiaotong University, Chengdu, PR China
(Received 23 October 2012; accepted 22 September 2013)
Dual-resource constrained flexible job shop scheduling problem (FJSP) is considered and an effective variableneighbourhood search (VNS) is presented, in which the solution to the problem is indicated as a quadruple string of theordered operations and their resources. Two neighbourhood search procedures are sequentially executed to produce newsolutions for two sub-problems of the problem, respectively. The search of VNS is restarted from a slightly perturbedversion of the current solution of VNS when the determined number of iterations is reached. VNS is tested on someinstances and compared with methods from literature. Computational results show the significant advantage of VNS onthe problem.
Keywords: variable neighbourhood search; dual resource; flexible job shop scheduling
1. Introduction
Many manufacturing systems are always constrained by machine capacity and labour capacity and can be regarded asdual-resource constrained (DRC) systems, which extensively exist in the real-world situations. For example, manyChinese manufacturing companies have to face the increasing wage cost and it is vital to make better use of labourforce; however, in the traditional scheduling problem, workers are assumed to be plentiful and the labour cost is lowerthan the machines, so workers are not considered and the results of traditional scheduling cannot meet the requirementsof companies well, so it is necessary to investigate the DRC scheduling problem.
Generally, DRC scheduling problems are composed of resource assignment problem and operation sequence prob-lem, the former is to assign the required resources to each operation and the latter is to produce the processing sequenceof all jobs on each resource. In the past decades, DRC scheduling has attracted much attention from researchers andmany results have been obtained in parallel machine and shop environments (Xu, Xu, and Xie 2011). Ruiz-Torres andCenteno (2007) considered the parallel machine scheduling with dual-resource constraint and developed a heuristic forthe problem. Chaudhry and Drake (2009) presented a spreadsheet-based genetic algorithm (GA) to minimise total tardi-ness of a set of tasks on parallel machines.
Most of literature discussed DRC scheduling in job shop environment. Elmaraghy, Patel, and Ben Abdallah (1999)presented a GA with a new chromosome representation including different combinations of operations, machines andworkers. Elmaraghy, Patel, and Ben Abdallah (2000) extended the above work for finding the optimal staffing level andmachines and workers assignment. Kher (2000) did a number of experiments to evaluate worker assignment and dis-patching rules in DRC job shop environments which cater to orders from vital customers having very rigid deliveryguidelines. Araz and Salum (2010) presented a multi-criteria real-time scheduling method, which employs artificial neu-ral networks to reduce computational complexity and a fuzzy reference system to cope with multiple criteria. Lang andLi (2011) proposed an algorithm combining grey simulation technology and non-dominated sorting GA II for DRC flex-ible job shop scheduling. Lobo et al. (2013) studied a DRC job shop, in which the objective is to minimise the maxi-mum job lateness, machines are grouped and each worker is assigned to a specific machine group, and proposed adetailed procedure to compute a lower bound of the objective. Mehravaran and Logendran (in press) considered a non-permutation flow shop scheduling with dual resources and proposed a mathematical model and a two-layer structurealgorithm, in which a search algorithm and a three-step heuristic are used, respectively.
The first feature of the previous studies is that DRC scheduling is mainly considered in job shop and only fewpapers discussed DRC scheduling in flexible job shop. The second feature is that in most of the papers, GA is applied
*Corresponding author. Email: [email protected]
© 2013 Taylor & Francis
International Journal of Production Research, 2014Vol. 52, No. 9, 2519–2529, http://dx.doi.org/10.1080/00207543.2013.849822
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
to solve the scheduling problems in DRC shop. The advantage of GA lies in its global optimisation ability and itsdisadvantage is its low local search ability. Variable neighbourhood search (VNS) has been successfully applied to manyproduction scheduling problems (Lei and Guo 2011; Yazdani, Amiri, and Zandieh 2010); to the best of our knowledge,VNS is not applied to DRC scheduling. When VNS is used to solve DRC scheduling, it is easy to design neighbour-hood structures and VNS can explore different neighbourhoods of the current solution, so its implementation is easierthan GA.
In this study, DRCFJSP is considered and an effective VNS with two neighbourhood-search procedures is proposed,in which a quadruple string of the ordered operations and their resources is used to indicate the solution to the problem.For the problem, there are no notable differences on solution space and optimisation difficulty between its two sub-prob-lems, so two sub-problems should be treated equally. To adapt the features of the problem, two neighbourhood searchprocedures are executed sequentially to produce new solutions and each of them is composed of neighbourhood struc-tures of two sub-problems. The restarting of the search is done after the predetermined number of iterations to improvethe convergence performance. VNS is tested on a number of instances and the results are analysed.
The remainder of this paper is organised as follows. We describe the problem in the next section. The proposedVNS for the problem is described in Section 3. Computational experiments and results discussion are done in Section 4.A summary and discussions on future research conclude the paper in the final section.
2. Problem description
DRCFJSP is composed of n jobs Ji(i = 1, 2, …, n), m machines Mk(k = 1, 2, …, m) and w workers Wl(l = 1, 2, …, w).Each job Ji consists of hi operations and can be started at qi = 0, h ¼Pn
i¼1 hi is the total number of operations. Opera-tion oij indicates the jth operation of Ji and is processed on a machine Mk 2 Mij, Mij is the set of all compatiblemachines which can process oij. Each worker can execute the processing on at least one machine, W l is the set ofmachines which worker Wl can operate. With respect to workers, there are two types (Elmaraghy, Patel, and BenAbdallah 1999), the first type of workers is assumed to have the equal efficiency on all machines and the second type isconsidered to have different skills and operate machines with varying efficiency. In this study, the second type ofworkers is considered.
The following assumptions are also considered. (1) Workers may be transferred from one machine to another. (2)Preemption of jobs is not allowed. (3) Machine breakdowns are not considered. (4) Each machine can process only onejob at a time. (5) Processing times are deterministic and known in advance. (6) No loss of productive time occurs whena worker is transferred from one machine to another. (7) Transportation time between facilities is negligible or includedin the processing time. (8) Worker cannot be transferred during his/her processing.
The goal of the problem is to assign appropriate resources for each operation and to sequence the operations onresources in order to optimise the maximum completion time (Elmaraghy, Patel, and Ben Abdallah 2000).
Table 1 shows an illustrative example with four jobs, three machines and two workers. The entries of the table arethe processing times and the entry ‘–’ in the table means that the operation cannot be processed on the correspondingmachine and cannot be operated by the worker. For example, worker W1 cannot operate machine M3, so the columnrelated to W3 is composed of ‘–’, o21 cannot be processed on M2 and the corresponding grids are also entry ‘–’.
3. VNS for DRCFJSP
VNS is based on a procedure of systematic changes of neighbourhoods within the search. It explores different neigh-bourhoods of the current solution and will vary from its current neighbourhood structure to the first one once animprovement has been made. For DRCFJSP, there are two sub-problems and four neighbourhood structures are applied.Because it is not appropriate to choose only one neighbourhood structure as the first structure, so two neighbourhood
Table 1. An illustrative example.
Job
M1 M2 M3
JobM1 M2 M3
W1 W2 W1 W2 W1 W2 W1 W2 W1 W2 W1 W2
J1 o11 3 4 7 6 – – J3 o31 – – 2 2 3 –o12 3 2 3 7 – 2 o32 3 2 3 6 5 –
J2 o21 – – 3 5 – 4 o33 3 5 – – 7 –o22 3 5 2 4 – 3 J4 o41 3 5 – – 4 –
2520 D. Lei and X. Guo
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
search procedures are used and two neighbourhood structures are adopted in each procedure. The restarting of the searchis considered, which is not adopted in most of VNS-based algorithms, to increase the possibility converging to theoptimal solution of the problem.
In this section, we describe the main steps of the proposed VNS in detail.
3.1 Representation of the problem
Task sequencing list (Kacem, Hammadi, and Borne 2002) is used to represent the solution of FJSP. In this paper, thisrepresentation is extended to represent the solution of DRCFJSP and a quadruple string of the ordered operations andtheir processing resources is obtained. For DRCFJSP with n jobs, m machines and w workers, the string is described asfollows.
ððp1; r1;Mu1 ;Wv1Þ; ðp2; r2;Mu2 ;Wv2Þ; � � � ; ðph; rh;Muh ;WvhÞÞ (13)
In the above string, pt 2 {1, 2, …, n}, for element ðpt; rt;Mut ;WvtÞ, (pt, rt) corresponds to operation optrt , Mut and Wvtare the machine and worker allocated to optrt , Mut 2 Mptrt \Wvt . The whole string is composed of the operation partand the resource part. If the assigned resources for each operation are deleted, the remaining part is the operation part.
For element ðpt; rt;Mut ;Wvt Þ, rptrt , sptrt , gut and 1vt indicate, respectively, the beginning time, the completion time ofoptrt , the available time of machine Mut and the available time of worker Wvt .
The string ððp1; r1;Mu1 ;Wv1Þ; ðp2; r2;Mu2 ;Wv2Þ; � � � ; ðph; rh;Muh ;WvhÞÞ is used to build a schedule in the followingway: when t is varied from 1 to h, for element ðpt; rt;Mut ;WvtÞ, operation optrt is allocated in the best available time onmachine Mut and worker Wvt in terms of the following principles:
(1) The processing of optrt may be done in the common interval of the idle times of machine Mut and workerWvt .
(2) For optrt processed by machine Mut and worker Wvt , if rt > 1, then rptrt ¼ sptðrt�1Þ _ gut _ 1vt ; if rt = 1, thenrptrt ¼ gut _ 1vt .
(3) sptrt ¼ rptrt þ pptrtutvt , where pptrtutvt indicates the processing of operation oplrl processed on machine Mut andoperated by worker Wvt .
(4) When worker Wvt finishes the processing of optrt , Wvt is transferred to machine Mul on which oplrl can beoperated by Wvt , and then operates the processing of oplrl , where element ðpl; rl;Mul ;Wvl Þ is the first one meet-ing l > t and Wvt ¼ Wvl .
The possible string is ðð1; 1;M2;W1Þ; ð2; 1;M3;W2Þ; ð3; 1;M2;W2Þ; ð1; 2;M2;W1Þ; ð3; 2;M1;W1Þ; ð4; 1;M1;W2Þ;ð4; 2;M1;W2Þ; ð2; 2;M3;W2ÞÞ for the example shown in Table 1. The building procedure of the schedule is described asfollows.
Initially ηk = 0, k = 1, 2, …, m, 1i = 0, l = 1, 2, …, w.t = 1, the first element (1, 1, M2, W1) is considered, σ11 = η2 ∨ 1i1 = 0, τ11 = σ11 + p112 = 7, both η2 and 1i1 are
equal to 7. t = 2, for element (2, 1, M3, W2), σ21 = 0, τ21 = 4, η3 = 4, 1i2 = 4, worker is transferred to machine M2 forprocessing o31.
t = 3, for element (3, 1, M2, W2), σ31 = η2 ∨ 1i2 = 7, τ31 = 9, η2 = 1i2 = 9.t = 4, for element (1, 2, M2, W1), r4 > 1, so σ12 = τ11 ∨ η2 ∨ 1i1 = 9, τ12 = 12, when time is 7, workerW1 is idle and can process o12; however, M2 still deal with o31 and W1 has to wait, η2 = 1i1 = 12.t = 5, element (3, 2, M1, W1) is considered, σ32 = τ31 ∨ η1 ∨ 1i1 = 12, τ32 = 15, η1 = 1i1 = 15.t = 6, for (4, 1, M1, W2), [0, 12] is the idle time interval of machine M1, W2 is idle in interval [4, 7] and [9, ∞), so
the intersection of the idle times of M1 and W2 is [4, 7] and [9, 12], if σ41 = 4, then τ41 = 7, the processing of o41 canbe finished in the interval [4, 7], that is, operation o41 can be inserted into the idle times of its assigned machine andworker.
t = 7, for element (4, 2, M1, W2), the intersection of the idle times of M1 and W2 is [9, 12], M1 and W2 are availablein this interval, if η1 and 1i2 are set to be 9, σ42 = 9, τ42 = 14 > 12, the processing of o42 cannot finished in the idle time[9, 12], so o42 cannot be inserted into the idle time of M1, W2. o42 becomes the last scheduled operation on M1,σ42 = 15, τ42 = 20, η1 = 1i2 = 20.
t = 8, for element (2, 2, M3, W2), o22 can be inserted into the idle time interval [9, 15], so σ22 = 9, τ22 = 12.Figure 1 shows resource Gantt chart of the obtained schedule, which is made up of machine Gantt chart and worker
Gantt chart. The former is the set of the operation sequence on each machine and the latter consists of the operationsequence used by each worker.
International Journal of Production Research 2521
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
3.2 Neighbourhood structures
The technique of moving from a solution to its neighbourhood one is delineated as neighbourhood structure, whichshould prevent any infeasible solution. In this study, four neighbourhood structures are applied to produce new solutionsof DRCFJSP. Neighbourhood structures Swap and Insert are about operation sequence sub-problem. Two novel neigh-bourhood structures Assign and Change are applied to another sub-problem of DRCFJSP.
3.2.1 Neighbourhood structure Swap
Neighbourhood structure Swap is the extended one of swap operator of Lei (2012). Swap is applied to operation part ofa solution x and to produce a new solution y by exchanging two randomly chosen operations. Some adjustments arealso required to guarantee the feasibility of the new solution.
Neighbourhood structure Swap is described as follows
(1) Store the copy of the solution x, t = 1.(2) Randomly select elements ðpi; ri;Mui ;WviÞ and ðpj; rj;Muj ;WvjÞ (pi ≠ pj) from x and then exchange them.(3) t = t + 1, if t ≤ ts, go to step (2).(4) For solution x, sequentially assign new value of ri for the operation part of all elements and then allocate
resources for each operation according to the copy of x.
where ts is an integer.In the whole procedure of Swap, the resource part is kept invariant.For string ð1; 1;M2;W1Þ; ð2; 1;M3;W2Þ;ð ð3; 1;M2;W2Þ; ð1; 2;M2;W1Þ; ð3; 2;M1;W1Þ; ð4; 1;M1;W2Þ; ð2; 2;M3;W2Þ,
after (3, 1, M2, W2) and (2, 2, M3, W2) is swapped, the following string is obtained,
ðð1; 1;M2;W1Þ; ð2; 1;M3;W2Þ; ð2; 2;M3;W2Þ; ð1; 2;M2;W1Þ; ð3; 2;M1;W1Þ; ð4; 1;M1;W2Þ; ð3; 1;M2;W2ÞÞNew value of ri is assigned for operation part, a new string is generated,
ðð1; 1;M2;W1Þ; ð2; 1;M3;W2Þ; ð2; 2;M3;W2Þ; ð1; 2;M2;W1Þ; ð3; 1;M1;W1Þ; ð4; 1;M1;W2Þ; ð3; 2;M2;W2ÞÞ
1M
2M
3M
41 2,o W
11 1,o W
21 2,o W
31 2,o W 12 1,o W
22 2,o W
32 1,o W 33 2,o W
1W
2W
11 2,o M
21 3,o M 41 1,o M 31 2,o M 22 3,o M 33 1,o M
32 1,o M12 2,o M
0 4
4
4
7
7
7
7
9
9
9
9
12
12
12
12
12
15
15
15
20
20
0
(a)
(b)
Figure 1. Resource Gantt chart (a) machine Gantt chart, (b) worker Gantt chart.
2522 D. Lei and X. Guo
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
Resources are allocated to each operation and a new solution is obtained as follows.
ðð1; 1;M2;W1Þ; ð2; 1;M3;W2Þ; ð2; 2;M3;W2Þ; ð1; 2;M2;W1Þ; ð3; 1;M2;W2Þ; ð4; 1;M1;W2Þ; ð3; 2;M1;W1ÞÞ
3.2.2 Neighbourhood structure Insert
The novel neighbourhood structure Insert is described as follows:
(1) Store the copy of x, t = 1.(2) Randomly choose a element ðpi; ri;Mui ;WviÞ and a new position j (i ≠ j) from x, and then insert the element
into the new position.(3) t = t + 1, if t ≤ ti, go to step (2).(4) For solution x, sequentially assign new value of ri for the operation part of all elements and then allocate
resources for each operation according to the copy of x.
where ti is an integer.
3.2.3 Neighbourhood structure Assign
Assign is applied to reallocate resources for the chosen operations and done in the following way:
(1) t = 1.(2) Randomly choose an element ðpi; ri;Mui ;WviÞ, a machine Mk 2 Mpiri and a worker Wl which can operate
machine Mk; if Mk and Wl can be used for opiri , then assign Mk and Wl to (pi, ri) and obtain a new(pi, ri, Mk, Wl).
(3) t = t + 1, if t ≤ ta, go to step (2); else stop iteration.
where ta is an integer.For the chosen element, it is possible that the selected machine and worker cannot be assigned to operation opiri , so
ta is greater than 1 to guarantee that opiri can be reassigned a new set of machine and worker in most cases.
3.2.4 Neighbourhood structure Change
Change is used to change machine or worker for the chosen operations and described as follows:
(1) t = 1.(2) randomly choose a element ðpi; ri;Mui ;WviÞ and produce a random number s ∈ (0, 1).(3) if s < θ, then stochastically select a machine Mk 2 Mpiri and a worker Wl which can operate Mk; if Mk and
Wl can be used for opiri , then assign Mk and Wl to (pi, ri) and obtain a new (pi, ri, Mk, Wl); else, randomlychoose a worker Wl which can operate machine Mui and obtain a new element ðpi; ri;Mui ;WlÞ:
(4) t = t + 1, if t ≤ tc, go to step (2); else stop iteration.
where θ is a constant, tc is an integer. In this study, ts = ti = ta = tc = 2.For element ðpi; ri;Mui ;WviÞ, the new assignment of machine will change the processing time of opiri , the new
assignment of worker can lead to the diminishing of waiting time for worker, thus, two sub-problems should be treatedequally to obtain the optimal completion time of each job.
3.3 Algorithm description
The detailed description of VNS is shown as follows.
(1) Randomly produce an initial solution x and evaluate it, t = 1, a = 0, b = 0.(2) For solution x, if a = 0, randomly produce a solution y 2 Swap(x); else randomly generate a solution
y 2 Insert(x); if x can be replaced with y, a = 0; else a = 1 – a.(3) For solution x, if b = 0, randomly produce a solution y 2 Assign(x); else randomly generate a solution
y 2 Change(x), if x can be replaced with y, b = 0; else b = 1 – b.(4) If t can be exactly divided by trst, randomly generate a solution x′ 2 Assign(x) and let x′ to be the new current
solution x.(5) t = t + 1, if t < max_it, go to step (2); else terminate the search.
International Journal of Production Research 2523
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
where trst is the predetermined number of iterations, NðxÞ indicates the set of solution obtained using the neighbourhoodstructure N , N can be Swap, Insert, Assign and Change, max_it is maximum number of iterations.
For the solution y 2 NðxÞ, if y has a small objective value than or equal objective to x, x can be replaced with y;otherwise, x cannot be replaced with y. The perturbation of neighbourhood structure is local and gradual, y becomes thenew current solution even if y has the same objective function value as the old current solutionx to accumulate the effectof neighbourhood search.
The search of VNS generally starts from an initial solution and may stagnate in the approximating procedure of theoptimal solution (Hansen and Mladenovíc 2001). The search restarts from the randomly generated neighbourhoodsolution using Assign and the search direction is varied, as a result, the stagnation is avoided and the convergenceperformance of the proposed VNS is improved. Because two sub-problems are treated equally and the excessive usageof a neighbourhood structure is not beneficial to the approximation to the optimal solution, two neighbourhood-searchprocedures are adopted. The above features make the proposed VNS have good performance.
4. Computational experiments
In this study, we do a number of experiments to test the performance of the proposed VNS and all experiments areimplemented by using Microsoft Visual C++ 6.0 on 2.0GRAM 2.2GCPU PC.
4.1 Test instances and lower bound
We use 25 instances MK1-13 (Brandimarte 1993) and DP1-12 (Dauzère-Pérès and Paulli 1997). These instances aredesigned for testing flexible job shop scheduling algorithms. Table 2 shows the detailed information on these instances.We extend them by adding worker–machine information and processing time. Table 3 describes worker–machine infor-mation. Processing time pijuv is decided below: pijuv 2 ½p0ij; p0ij þ dij�, δij 2 [2, 8], p0ij is the processing time of the originalinstance. For simplicity, the extended instances are still called MK1-13 and DP1-12.
Kacem, Hammadi, and Borne (2002) provided a lower bound of makespan for FJSP. We extended the work ofKacem, Hammadi, and Borne (2002)and proposed a lower bound for DRCFJSP in the following way: an earlieststarting time tij is first calculated, ti1 = qi, ti(j+1) = tij + γij, cij ¼ minu;vfpijuvg, where i 2 {1, 2, …, n},1 ≤ j ≤ hi – 1 qi is
the release time and pijuv indicates the processing time of operation oij processed on machine Mu and operated byworker Wv. The values of the earliest starting time are ranked from small to big, Rm is the sum of the m smallest valuesof the earliest start time, Rm ¼Pm
l¼1 til jl , il 2 {1, 2, …, n}, 1� jl � hil . Rw is the sum of the w smallest values of thestart time.
Table 2. Descriptions of the chosen instances.
Instance n m h Description
MK1* 10 6 62 nop 2 [5, 7] meq = 3, proc 2 [1, 7]MK2 10 6 62 nop 2 [5, 7] meq = 6, proc 2 [1, 7]MK3 15 8 150 nop 2 [10, 10] meq = 5, proc 2 [1, 20]MK4 15 8 85 nop 2 [3, 10] meq = 3, proc 2 [1, 10]MK5 15 4 123 nop 2 [5, 10] meq = 2, proc 2 [5, 10]MK6 10 15 150 nop 2 [15, 15] meq = 5, proc 2 [1, 10]MK7 20 5 100 nop 2 [5, 5] meq = 5, proc 2 [1, 20]MK8 20 10 259 nop 2 [10, 15] meq = 2, proc 2 [5, 20]MK9 20 10 259 nop 2 [10, 15] meq = 5, proc 2 [5, 20]MK10 20 15 259 nop 2 [10, 15] meq = 5, proc 2 [5, 20]MK11 30 5 195 nop 2 [5, 8] meq = 2, proc 2 [10, 30]MK12 30 10 237 nop 2 [5, 10] meq = 2, proc 2 [10, 30]MK13 30 10 237 nop 2 [5, 10] meq = 5, proc 2 [10, 30]DP1-DP6 10 5 205 The set of compatible machines is decided by probability p. p = 0.1 for DP1
and DP4, p = 0.3 for DP2 and DP5, p = 0.5 for DP3 and DP6DP7-12 15 8 313 The set of compatible machines is decided by probability p. p = 0.1 for DP7
and DP10, p = 0.3 for DP8 and DP11, p = 0.5 for DP9 and DP12
*nop is the number of operation per job, meq is the maximum number of compatible machines per operation, proc indicates theprocessing time per operation.
2524 D. Lei and X. Guo
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
Table
3.Machine–w
orkerinform
ationof
thechosen
instances.
Instance
wW
l
MK1-2
4W
1¼
fM1;M
3;M
5gW
2¼
fM2;M
4;M
5gW
3¼
fM1;M
4;M
6gW
4¼
fM2;M
3;M
6g:
MK3-4,
DP7-12
6W
1¼
fM1;M
5gW
2¼
fM2;M
4gW
3¼
fM1;M
4;M
6gW
4¼
fM2;M
3;M
6;M
7gW
5¼
fM6;M
7;M
8gW
6¼
fM5;M
8g
MK5
3W
1¼
fM1;M
3;M
4gW
2¼
fM2;M
4gW
3¼
fM1;M
2;M
3g:
MK6,
MK10
8W
1¼
fM1;M
8;M
10gW
2¼
fM2;M
7;M
11g:W
3¼
fM3;M
4;M
6;M
11gW
4¼
fM2;M
9;M
13;M
12gW
5¼
fM6;M
7;M
8;M
15gW
6¼
fM5;M
8;M
10g
W7¼
fM4;M
14;M
9;M
15gW
6¼
fM1;M
3;M
10;M
14g
MK7,11
DP1-6
4W
1¼
fM1;M
3;M
5gW
2¼
fM2;M
4gW
3¼
fM3;M
4gW
4¼
fM1;M
2;M
5g
MK8,9,12
,13
6W
1¼
fM1;M
3;M
5gW
2¼
fM2;M
4;M
9gW
3¼
fM3;M
4;M
8;M
10gW
4¼
fM1;M
7;M
9gW
5¼
fM6;M
7;M
5gW
6¼
fM2;M
8;M
4;M
10g
International Journal of Production Research 2525
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
The lower bound of makespan is then obtained according to the following equation.
Clowmax ¼ max max
iqi þ
Xj
cij
!; ~E
Rm þPi
Pj cij
m
� �; ~E
Rw þPi
Pj cij
w
� � !(14)
where if x is an integer, ~EðxÞ ¼ x; else ~EðxÞ ¼ EðxÞ þ 1, E(x) indicates the integer part of x.As shown in (14), qi +
Pjγij < Ci, so maxiðqi þ
Pj cijÞ < Cmax; for each machine Mu, rumin is the smallest value of
beginning time of all operations on Mu, obviously, rumin þP
iju cij < Cmax, where ∑ijuγij indicates the sum of alloperations oij processed on Mu, then the following inequality is obtained:
Pmu¼1 ðrumin þ
Piju cijÞ ¼Pm
u¼1 rumin þ
Pi
Pj cij < mCmax, obviously, Rm <
Pmu¼1 r
umin, thus, Rm +
Pi
Pjγij < mCmax. The same conclusion also
can be obtained on the third part of lower bound.
4.2 Results and discussions
We measure the relative percentage deviation (RPD) as follows.
RPD ¼ Cmaxða lgÞ � Clowmax
Clowmax
� 100 (15)
where Cmax (a lg) is the best solution obtained by an algorithm and Clowmax is the lower bound.
4.2.1 Parameters selection
VNS has three parameters: θ, trst and max_it, where θ is the parameter of Change. trst and max_it are important parame-ters, which have notable impact on the performance of VNS. To select the appropriate settings for these parameters, weuse three settings of 0.4, 0.5 for θ, 35,000, 40,000, 45,000 for trst, mit, 1.2 × mit and 0.8 × mit for m iter, where forinstances with h 2 (0, 300], mit = 50,000, for other instances, mit = 75,000. There are 18 combinations of three parame-ters and VNS runs on all problems for each combination. Regarding the different combinations of parameters and thecomputational results, the following settings are chosen: θ = 0.4, trst and max_it are set to be 35,000 and 50,000 forinstances with h 2 (0, 300], and 40,000 and 75,000 for other instances.
4.2.2 Comparison of three algorithms
Pezzella, Morganti, and Ciaschetti (2008) presented a GA called PEGA for FJSP. PEGA and our VNS are extended tosolve DRCFJSP in the same way: task sequencing list is extended into the quadruple string. PEGA can be easilyextended. Those rules in the original PEGA still can be used to produce initial population. Crossover and mutation alsocan be directly used or extended; for example, intelligent mutation is extended as follows: an operation selected on themachine or worker with maximum workload is assigned to the machine or worker with minimum workload if possible.
Lei (2012) proposed co-evolutionary genetic algorithm (CGA) for FJSP, which is tested to have the promising per-formance. We extend CGA for solving DRCFJSP in the following way: machine assignment string is extended to bethe resource assignment string; two-point crossover is designed for the resource assignment string: for parents A and B,two positions are randomly chosen, then the resources of each gene of A (B) between the chosen positions are replacedwith the same gene in the copy of B (A); Assign is used as mutation of resource assignment string. The other parts ofCGA are kept invariant.
We compare VNS with CGA and PEGA to test the performance of VNS. Each algorithm randomly runs 20 timesfor each instance. We use three indices ARPD, MRPD and SRPD to compare the performance difference among allalgorithms. MRPD denotes the minimum value of RPD found in 20 runs. Each algorithm can obtain a value of RPD ina run. APRD and SRPD are the average value and standard variance of 20 values of RPD.
For VNS, there are two evaluations of objective function in each iteration, so the total number of objective functionevaluations is 2 × max_it. We did a number of experiments on two GAs and the algorithms with the following parame-ters can yield the best solutions for most of the instances.
CGA: population scale of 100, crossover probability of 0.8 and mutation probability of 0.1.PEGA: population scale of 100, the probability of two crossovers is 0.45, mutation probability for operation
sequencing is 0.05, assignment mutation probability is 0.05 and intelligent mutation probability is 0.08. GA and PEGAhave the same number of objective function evaluations as VNS, so the maximum generation is 2 × max_it/100.
2526 D. Lei and X. Guo
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
Table 5. Results of three algorithms on MRPD.
Instance
MRPD
Instance
MRPD
VNS CGA PEGA VNS CGA PEGA
MK1 7.93 20.63 21.58 DP1 10.46 11.85 15.66MK2 7.84 29.41 33.50 DP2 10.10 11.63 17.89MK3 43.15 38.94 46.45 DP3 9.58 11.59 11.96MK4 24.63 33.34 35.25 DP4 12.02 14.81 18.76MK5 10.97 8.90 14.65 DP5 11.52 13.06 18.43MK6 44.94 62.95 74.25 DP6 10.39 14.49 20.54MK7 17.39 19.56 24.36 DP7 28.03 34.51 30.12MK8 21.46 21.64 27.48 DP8 27.25 32.67 37.79MK9 30.66 36.38 42.76 DP9 28.26 33.26 33.02MK10 38.41 40.42 51.47 DP10 29.64 35.07 34.65MK11 10.55 16.85 13.56 DP11 31.46 37.19 43.00MK12 13.50 12.98 16.54 DP12 31.35 36.14 36.11MK13 23.78 25.15 30.36
Table 4. Results of three algorithms on ARPD.
Instance Clowmax
ARPD
Instance Clowmax
ARPD
VNS CGA PEGA VNS CGA PEGA
MK1 63 17.32 26.34 29.45 DP1 2885 13.47 15.42 20.32MK2 51 22.55 37.85 40.15 DP2 2775 12.92 16.76 21.87MK3 190 48.78 46.68 52.48 DP3 2983 10.64 14.26 15.34MK4 69 32.46 38.98 40.57 DP4 2761 15.32 19.02 21.67MK5 337 12.67 9.73 10.67 DP5 2984 13.20 15.97 22.13MK6 89 49.66 74.95 82.83 DP6 2650 13.80 17.10 23.16MK7 184 24.67 22.82 30.47 DP7 2747 29.25 35.89 32.34MK8 536 22.91 24.77 28.13 DP8 2437 29.47 34.75 40.84MK9 437 35.08 39.72 47.80 DP9 2338 29.18 35.66 35.63MK10 328 42.16 47.47 53.43 DP10 2742 31.13 36.48 37.25MK11 976 12.55 25.22 22.98 DP11 2450 34.25 38.92 44.26MK12 755 15.16 15.66 17.87 DP12 2213 32.63 37.67 39.24MK13 660 26.19 28.36 36.45
Table 6. Results of three algorithms on SRPD.
Instance
SRPD
Instance
SRPD
VNS CGA PEGA VNS CGA PEGA
MK1 3.58 3.49 5.12 DP1 1.23 3.12 5.47MK2 7.65 6.79 9.76 DP2 1.45 3.19 4.23MK3 4.46 4.72 8.55 DP3 0.83 2.20 4.46MK4 5.84 3.34 9.68 DP4 1.74 2.07 3.89MK5 1.08 0.87 7.85 DP5 0.98 2.65 3.81MK6 2.83 6.02 10.64 DP6 1.21 2.63 5.74MK7 3.90 1.85 5.23 DP7 1.13 1.78 4.48MK8 1.69 2.16 4.46 DP8 1.28 2.05 3.86MK9 2.54 1.61 5.25 DP9 1.30 1.98 4.65MK10 3.19 4.04 5.76 DP10 1.34 2.17 3.68MK11 0.88 0.60 3.65 DP11 1.25 2.25 3.81MK12 0.86 1.01 2.05 DP12 0.98 1.79 4.24MK13 1.48 2.61 5.79
International Journal of Production Research 2527
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
The computational results are shown in Tables 4–6 and the computational times are listed in Table 7.From Table 4, it can be found that VNS has better average performance than CGA and PEGA on 23 of 25
instances. ARPD of VNS is less than that of CGA on 22 instances and smaller than that of PEGA on 24 instances.CGA obtains smaller ARPD than VNS on MK3,7. CGA and PEGA obtain similar ARPD for most of instances andARPD of PEGA is less than that of CGA for MK11 and DP7. It can be found from Table 5 that VNS converges betterthan CGA and PEGA. VNS approximates to the best solutions of 22 instances, CGA converge to the best solution ofthree instances and PEGA cannot obtain the best solution of any instances. The results of Table 5 show that the lowerbound obtained using Equation (14) is reasonable because MRPD of the best solution is less than 30 for 19 of 25instances.
As shown in Table 6, VNS and CGA generate the close SRPD for 22 instances and the difference on SPRDbetween them exceeds 2 for the remaining instances. VNS has similar stability with CGA. VNS obtains the similarSRPD with PEGA on 14 instances and better SRPD than PEGA on 12 instances by at least 3. VNS performs better thanPEGA on stability. Thus, it can be concluded that VNS performs better than CGA and PEGA using the less computa-tional times shown in Table 7.
Two-point crossover of CGA and assignment crossover of PEGA always assign machine and work simultaneouslyto the chosen genes and cannot just assign only a machine or work to a gene. Assignment mutation can assign onlymachine or work; however, its probability is low and resource assignment sub-problem cannot be coped with fully.These features lead to the worst performance of two GAs than VNS.
5. Conclusions
In this paper, an effective VNS is proposed to minimise makespan of DRCFJSP, in which the solution of the problem isindicated as a quadruple string of the ordered operations and their resources. VNS is composed of two neighbourhoodsearch procedures and a restarting mechanism. Four neighbourhood structures are used and the effect of them is accu-mulated by replacing the current solution with the new one even if two solutions have the same objective functionvalue. VNS is compared with two GAs to test its promising performance on the considered problem.
We cannot consider some real-life processing constraints such as blocking and breakdown in the problem. In thenear future, we will focus on DRC shop scheduling problems with heterogeneous resources, real-life processingconstraints and tardiness objectives such as number of tardy jobs and apply some meta-heuristics such as artificial beecolony and particle swarm optimization to these problems. Multi-resource shop scheduling problem is also the topic ofour future research.
References
Araz, O. U., and L. Salum. 2010. “A Multi-criteria Adaptive Control Scheme based on Neural Networks and Fuzzy Inference forDRC Manufacturing Systems.” International Journal of Production Research 48 (1): 251–270.
Brandimarte, P. 1993. “Routing and Scheduling in a Flexible Job Shop by Tabu Search.” Annals of Operations Research 41 (1):157–183.
Table 7. Computational times of three algorithms.
Instance
Time/s
Instance
Time/s
VNS CGA PEGA VNS CGA PEGA
MK1 4.28 4.44 4.50 DP1 61.4 68.1 68.9MK2 4.38 4.87 4.86 DP2 62.1 67.9 68.4MK3 31.0 35.2 35.5 DP3 61.6 67.9 68.6MK4 5.39 6.65 7.01 DP4 60.8 66.9 68.2MK5 34.8 37.9 38.8 DP5 60.2 66.3 67.4MK6 22.2 27.5 28.2 DP6 60.8 67.1 68.2MK7 21.9 24.2 25.0 DP7 169 171 176MK8 114 121 125 DP8 164 180 183MK9 117 123 126 DP9 165 181 184MK10 89.5 99.8 102 DP10 164 179 183MK11 71.9 78.2 78.3 DP11 166 182 186MK12 72.1 77.9 78.1 DP12 168 183 185MK13 72.5 77.8 76.9
2528 D. Lei and X. Guo
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014
Chaudhry, L. A., and P. R. Drake. 2009. “Minimizing Total Tardiness for the Machine Scheduling and Worker AssignmentProblems in Identical Parallel Machines using Genetic Algorithms.” International Journal of Advanced Manufacturing Technology42 (5–6): 581–594.
Dauzère-Pérès, S., and J. Paulli. 1997. “An Integrated Approach for Modelling and Solving the General Multiprocessor Job-shopScheduling Problem Using Tabu Search.” Annals of Operations Research 70: 281–306.
ElMaraghy, H., V. Patel, and I. Ben Abdallah. 1999. “A Genetic Algorithm based Approach for Scheduling of Dual-resource Con-strained Manufacturing Systems.” CIRP Annals-Manufacturing Technology 48 (1): 369–372.
ElMaraghy, H., V. Patel, and I. Ben Abdallah. 2000. “Scheduling of Manufacturing Systems under Dual-resource Constraints usingGenetic Algorithms.” Journal of Manufacturing System 19 (1): 186–198.
Hansen, P., and N. Mladenovíc. 2001. “Variable Neighborhood Search: Principles and Applications.” European Journal of Opera-tional Research 130 (3): 449–467.
Kacem, I., S. Hammadi, and P. Borne. 2002. “Pareto-optimality Approach for Flexible Job-shop Scheduling Problems: Hybridizationof Evolutionary Algorithms and Fuzzy Logic.” Mathematics and Computers in Simulation 60: 245–276.
Kher, H. V. 2000. “Examination of Worker Assignment and Dispatching Rules for Managing Vital Customer Priorities in DualResource Constrained Job Shop Scheduling Environments.” Computers and Operations Research 27 (6): 525–537.
Lang, M. T., and H. Li. 2011. “Research on Dual-resource Multi-objective Flexible Job Shop Scheduling under Uncertainty.” InProceedings of 2nd International Conference on Artificial Intelligence, Management Science and Electronic Commerce,Zhengzhou, 1375–1378
Lei, D. M. 2012. “Co-evolutionary Genetic Algorithm for Fuzzy Flexible Job Shop Scheduling.” Applied Soft Computing 12 (8):2237–2245.
Lei, D. M., and X. P. Guo. 2011. “Variable Neighborhood Search for Minimizing Tardiness Objectives on Flow Shop with Batch Pro-cessing Machines.” International Journal of Production Research 49 (2): 519–529.
Lobo, B. J., T. J. Hodgson, R. E. King, K. A. Thoney, and J. R. Wilson. 2013. “An Effective Lower Bound on Lmax in a Worker-constrained Job Shop.” Computers and Operations Research 40 (1): 328–343.
Mehravaran, Y., and R. Logendran. 2013. “Non-permutation Flowshop Scheduling with Dual Resources.” Expert Systems with Appli-cations 40 (13): 5061–5076.
Pezzella, F., G. Morganti, and G. Ciaschetti. 2008. “A Genetic Algorithm for the Flexible Job-shop Scheduling Problem.” Computersand Operations Research 35 (10): 3202–3212.
Ruiz-Torres, A. J., and G. Centeno. 2007. “Scheduling with Flexible Resources in Parallel Workcenters to Minimize MaximumCompletion Time.” Computers and Operations Research 34 (1): 48–69.
Xu, J., X. Xu, and S. Q. Xie. 2011. “Recent Developments in Dual Resource Constrained (DRC) Systems Research.” EuropeanJournal of Operational Research 215 (2): 309–318.
Yazdani, M., M. Amiri, and M. Zandieh. 2010. “Flexible Job-shop Scheduling with Parallel Variable Neighborhood SearchAlgorithm.” Expert Systems with Applications 37 (1): 678–687.
International Journal of Production Research 2529
Dow
nloa
ded
by [
Lin
naeu
s U
nive
rsity
] at
04:
58 1
8 O
ctob
er 2
014