New VNS heuristic for Total Flowtime Flowshop Scheduling Problem

advertisement
New VNS heuristic for Total Flowtime Flowshop
Scheduling Problem
Wagner Emanoel Costa
Marco César Goldbarg
Elizabeth G. Goldbarg
Technical Report
-
UFRN-DIMAp-2011-103-RT March - 2011 - Março
Relatório Técnico
The contents of this document are the sole responsibility of the authors.
O conteúdo do presente documento é de única responsabilidade dos autores.
Departamento de Informática e Matemática Aplicada
Universidade Federal do Rio Grande do Norte
www.dimap.ufrn.br
New VNS heuristic for Total Flowtime Flowshop
Scheduling Problem
Wagner Emanoel Costa ∗
Marco César Goldbarg †
wemano@gmail.com
gold@dimap.ufrn.br
Elizabeth G. Goldbarg ‡
beth@dimap.ufrn.br
Abstract. This paper develops a new VNS approach to Permutational Flow shop Scheduling Problem with Total Flow time criterion. There are many hybrid approaches in
the problem’s literature, that make use of VNS internally, usually applying job insert
neighbourhood followed by job interchange neighbourhood. In this study different
ways to combine both neighbourhoods were examined. All tests use the benchmark
data set from [18]. The results indicates, that there is a more profitable way to combine both neighbourhoods than the one frequently used in literature. The new VNS
produces results comparable with state-of-art methods, and obtained 25 novel solutions.
Keywords: Flow-shop, Scheduling, Total Flow-time, Heuristics, VNS.
Resumo. Este documento desenvolve uma nova abordagem VNS para o problema
flow shop de permutação com critério total flow time. Existem muitas abordagens
híbridas, na literatura do problema, que utilizam algum tipo de VNS internamente,
normalmente combinando as vizinhanças job insert e job interchange. Neste estudo,
compara-se maneiras distintas de se combinar as duas vizinhanças. Todos os testes
realizados utilizam o conjunto de teste de [18]. Os resultados obtidos apontam para
uma maneira mais proveitosa de se combinar as duas vizinhança tão comuns na literatudo do problema. A nova VNS produz resultados comparavéis com métodos do
estado-da-arte, e encontrou 25 novas soluções.
Palavras-Chave: Flow-shop, Scheduling, Total Flow-time, Heuristics, VNS.
1
Introduction
In permutational flow shop scheduling problem there is a set of jobs J = {1, 2, . . . , n}.
Each of n jobs has to be processed by a set of m machines M = {1, 2, . . . , m}, sequentially
∗
Programa de Pós-graduação em Sistemas e Computação, UFRN
Departamento de Informática e Matemática Aplicada - UFRN/CCET/DIMAp
‡
Departamento de Informática e Matemática Aplicada - UFRN/CCET/DIMAp
†
1
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
2
from the first machine to the last, in the same order. Each job j requires tjr units of time on
machine r. Each machine can process at most one job at any given time, and it can not be interrupted. Each job is available at time zero, and can be processed by at most one machine in any
given time. Here the focus is to find the permutation of jobs Π = {π1 , π2 , . . . , πn }, such that the
total completion time of jobs, named Total flow time (T F T ), is minimised. Equation 1 express
mathematically the concept of total flow time of a given permutation, Π, where C (πi , m) stands
for the completion time of job in position i of Π, πi .
T F T (Π) =
n
X
C (πi , m)
(1)
i=1
The values of C (πi , m) can be evaluated using equations 2 to 5. Equations 2 and 3
define the completion time relative to the first job in permutation Π, π1 . Equation 2 defines
the completion time of the first job, π1 , on the first machine as time required to complete its
processing, t1 1 ,1 . It provides a base case for equation 3. Equation 3 defines the completion
time of π1 on machine r, 1 < r ≤ m, as the completion time of π1 on the previous machine,
C(π1 , r − 1), plus the processing time of job π1 on machine r, t1 1 ,r .
C (π1 , 1) = tπ1 ,1
C (π1 , r) = C (π1 , r − 1) + tπ1 ,r
(2)
∀r ∈ {2, . . . , m}
(3)
Equations 4 and 5 evaluate the completion times for all jobs πi , 1 < i ≤ n. For the first
machine, r = 1, C(πi , 1) is defined as the sum of the completion time of the previous job on
the first machine, C(πi−1 , 1), with the processing time of πi , t1 i ,1 . For all remaining machines,
1 < r ≤ m, completion time of job πi , C(πi , r), 1 < i ≤ n, depends on two factors. First, the
time on which job πi will conclude its processing on the previous machine, r − 1, and therefore
become available to be processed on machine r. Second, machine r can process job πi only, if r
has finished processing the previous job, πi−1 . If machine r has not concluded the previous job,
πi−1 , than job πi will wait machine r conclusion of job πi−1 . Equation 5 express both factors,
and defines the completion time, C(πi , r), 1 < i ≤ n and 1 < r ≤ m, as the sum of processing
time t1 i,r , with the greatest value between C(πi , r − 1) and C(πi−1 , r).
C (πi , 1) = C (πi−1 , 1) + tπi ,1
∀i ∈ {2, . . . , n}
C (πi , r) =max {C (πi , r − 1) , C (πi−1 , r)} + tπi ,r
∀i ∈ {2, . . . , n} ∀r ∈ {2, . . . , m}
(4)
(5)
Due to the fact, that the decision problem associated with TFT is NP-Complete in the
strong sense when m ≥ 2, [4], many heuristics approaches have been proposed to this problem.
There are constructive methods such as [10, 3, 14, 15, 12], local search methods [10, 1], genetic
algorithms [13, 23, 21, 22], ant colonies [16, 24], particle swarm optimisation [19, 9, 8], bee
colony optimization [20], hybrid discrete differential evolutionary algorithm [20], VNS and
EDA-VNS [7].
From the cited approaches, the works of [23, 21, 7, 20, 22] are the ones which produced
the current state-of-art results.
A significant number of the state-of-art heuristics combines two neighbourhoods, named
job insert and job interchange, in a internal VND procedure. The two neighbourhoods are
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
3
combined in the same order and in the same way in the works of [23, 7, 20, 22]. And so far no
study has been reported, examining distinct combinations.
The present work exams different way to combine both neighbourhoods. The experiments
indicate, that a different combination from the one used in literature is more effective for the
problem. This new VNS approach is tested over all 120 instances of Taillard’s data set, [18],
achieving 26 novel solutions.
The remaining of this paper is organised as follows. Section 2 reports a brief literature
review of the problem. Section 3 describes the VNS approach, describes job insert and job
interchange neighbourhoods and the different ways to combine both of them, and paramenters
tested in the experiments. Section 4 reports the experiments to determine which combination of
neighbourhoods performs better, using a subset of instances from [18]. Section 5 describes the
computational experiments and results obtained over all 120 instances of the data set. Section
6 exposes the conclusions and future works.
2
Literature Review
This section reviews some methods proposed to PFSP with TFT criterion. Because the
literature of PFSP is extensive, this review is lmited to some constructive methods in literature,
and meta-heuristic approaches that compose the current state-of-art of the problem.
The method of Rajendran and Ziegler [15] evaluates the lower bound for each job available to be assigned, m different solutions are created by changing how many machines are
considered while evaluating the lower bound. For instance, the first solution is constructed by
sorting the jobs, in non-decreasing order, by the weighted sum of processing times of all m
machines. The weights are defined in such way that one unit of processing time of a machine,
r = j, has greater impact than one unit of time of subsequent machines, r > j. Equation 6
shows the formula for the unweighted total flowtime. The equation for the weighted total flowtime is slightly different, but the weighted case is not the topic of this work. The processing time
of the first machine is removed, and the jobs re-sorted considering only the processing times of
the m − 1 machines. This procedure is repeated, removing the data from one machine at each
iteration, until the last solution is created, when only the processing time of the last machine
is taken into account. The best solution among the m created ones is then submitted to a local
search procedure using job insert neighbourhood.
m
X
(m − r + 1) Tri
j ∈ {1, . . . , m}
(6)
r=j
The method H(1) presented in [10] weights down two criteria: weighted sum of machine
idle time (IT ) and artificial flowtime (AT ). The idle time criterion for selecting job i when k
jobs were already selected (ITik ) is defined by Eq. (7), where wrk is calculated with Eq. (8).
The term max {C(i, r − 1) − C(πk , r), 0} stands for the idle time of machine r. The weights,
as defined on Eq. (8), stress that idle times on early machines are undesirable, for they delay
the remaining jobs. Such stress is stronger if there are many unscheduled jobs (small value of
k), and drops when the number k of scheduled jobs increases.
ITik =
m
X
wrk max {C(i, r − 1) − C(πk , r), 0}
(7)
r=2
wrk =
m
r+
k(m−r)
n−2
(8)
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
4
The artificial flowtime (ATik ) of candidate job i after k jobs were schedule refers to the
T F T value obtained after including unscheduled job i, plus the time of an artificial job placed
at the end of the sequence of jobs. The processing time of the artificial job on each machine is
equal to the average processing time of all unscheduled jobs, excluding job i, on the correspondent machine.
Both criteria, ITik and ATik are combined according to Eq. (9).
fik = (n − k − 2)ITik + ATik
(9)
Also, Liu and Reeves [10] propose a class of constructive heuristics named H(x), where
x is an integer, 1 ≤ x ≤ n. Each variant differs on the number of solutions it produces which
is given by x. While H(1) produces only one solution, H(2) produces 2 solutions and so on.
These methods create new solutions by changing the initial job. Once the greedy criterion used
in these heuristics is adaptive, different initial jobs produce different solutions. H(1) uses the
job with the best value according to the greedy criterion as the initial job. H(2) creates two
solutions using each of the two best evaluated jobs as the initial job. Thus, the first solution
generated by H(2) is exactly the same one produce by H(1). The second solution uses the
n
) which uses the same principle,
second best job as the initial one. A special case is H( 10
n
n
producing 10 solutions with the best 10 initial jobs. The work of [10] also proposes the use of
job interchange local search to further improve the greedy solution obtained.
Framinan et al. [3] define a queue based on the sum of the processing times of each
job. The job on top of the queue is inserted in the best possible position in the partial solution.
Later the inserted job can be interchanged with any other job in the partial solution in order to
minimise the current value of the total flowtime. Nagano and Moccellin [12] create the queue in
the same way as in [2]. The algorithm iteratively removes the first job in the queue and places
it at the end of the partial solution. Local search methods, job insert and interchange, are then
applied over the partial sequence to minimise total flowtime.
The iterated local search proposed by Dong et al. [1] adopts the job at index neighbourhood created by [16]. This neighbourhood consists of job insert moves; the order in which
neighbours solutions are created is dependant of the best solution found so far. In Dong et al.
[1] each time the local search procedure gets trapped in local optima, a perturbation over the solution is performed and local search resumed. In this case the perturbation consists of randomly
interchanging six adjacent jobs in the solution.
The hybrid genetic algorithm of Zhang et al. [23] applies a data mining procedure over
its population, creating a table that maps jobs to positions and counts how many “good” solutions have a given association job/position. An assignment procedure creates a solution that
will be used during crossover operations to preserve building blocks in the new solutions. Solutions obtained after crossover are submitted to local searches (with job insert and interchange
neighbourhoods). The hybrid genetic with local search of Tseng and Lin [21] uses an orthogonal crossover operator to recombine solutions. New solutions are submitted to two local
searches that use the job insert neighbourhood. One local search method is driven to minimise
T F T while the other looks for minimising idle times. The latter is used to escape local optima
achieved by the former and then minimisation of T F T is resumed. The asynchronous genetic
n
algorithm, AGA, of [22], has a population of 40 solutions, one of them generated using H m
n
heuristic, where m are created using the H criterion, followed by interchange local search , the
other 39 are randomly generated. Each iteration the evolution process submit solution to E-VNS
(an specific VNS approach), crossover and E-VNS a second time. If all individual in population
have the same T F T value, the population is restarted, by random generating 38 individuals,
keeping the best solution in the current pool of solutions and inserting the solution generated
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
5
n
again. The E-VNS uses job insert local search and job interchange. When using
by LR m
job insert local search, a job πi is randomly selected. E-VNS will attempt to re-insert πi on
a different position j, also randomly selected. If such attempt improves current solution, the
new solution is accepted and a new iteration of job insert occurs, selecting another random job
to be re-inserted. E-VNS execute 50 iterations of job insert. After them, 50 iterations of job
interchange occurs, where the jobs to be interchange are randomly selected, if any improvement
is achieved the solution is accepted and E-VNS resumes job insert local search. The number of
times job insert can be resumed is limited by a value, randomly selected each time E-VNS is
called, between 10 and 60, therefore is possible to E-VNS to terminate not trapped in a local
optimum. AGA uses a two point crossover defined in [11]. The pair of parents used in crossover
are randomly selected. The crossover chooses two random points, s and t, of a parent, the block
of jobs within the index (πi , s ≤ i ≤ t) are copied to their respective positions in a new solution,
the remaining positions are filled following the job order on the second parent. Such crossover
is applied twice for each pair of parents creating 2 new solutions. Each iteration applies the
crossover operator repeatedly, until 40 new solutions are created, replacing the previous population. E-VNS is applied over the new solutions. AGA stops if a time limit of 0.4 × n × m
seconds is achieved.
Rajendran and Ziegler [16] propose two ant colonies for the problem, they are named
MMAS and PACO. Both of them apply three iterations of job at index local search once a solution has been fully constructed. MMAS and PACO differ on how the probabilities are assigned
to unscheduled jobs while constructing the solution. MMAS adopts uniform distribution for the
best five options, while PACO gives distinct probabilities to the five best options. The ant colony
named SACO [24] starts using uniform probability distribution and evolves the probabilities of
the pheromones using Kullback-Liebler divergence (see [24] for further details).
The PSO of Tasgetiren et al. [19] uses a real representation of solution and a rule is used to
decode the real representation into a permutational representation. The particles move towards
the best global point and the best previous position visited. A variable neighbourhood descent
(VND) approach (using interchange and job insert neighbourhoods) is defined and applied to the
best solution in the population each generation. The PSO of Liao et al. [9] represents a solution
using a discrete binary matrix B, where job i is assigned to position j if the entry bij = 1.
The velocity represents probabilities of changes within B. This PSO uses two local searches
(interchange and job insert) but limits the neighbourhood size. Depending on the jobs positions,
the search procedure considers only movements within a distance of 12 positions (e.g. a job in
the first position cannot be inserted in position 14 or further, neither can it be interchanged with
another job placed in position 14 or above). The PSO of Jarboui et al. [8] uses the permutation
representation and applies a simulated annealing method to optimise solutions whose T F T is
within 2% of the best T F T value obtained up so far.
The VNS of Jarboui et al. [7] uses two neighbourhoods: job insert and interchange. It
starts using job insert. Once this neighbourhood cannot improve the current solution, the procedure migrates to interchange neighbourhood and keeps using interchange moves until no improvement can be reached, when it reverts to using job insert. If both neighbourhoods fail to further
improve a solution, this VNS makes a copy of the best solution found, applies over it a random
interchange move, and resumes optimisation using job insert neighbourhood. The algorithm
alternates between the two neighbourhoods until both of them are not able to produce improvements on the current solution. At this point, the algorithm applies a random interchange move
on the best solution found so far and resumes optimisation with the job insert neighbourhood.
EDA-VNS [7] is a hybrid evolutionary approach. It uses a population of 10 solutions
where a subset Q of three solutions is selected. A probabilistic model is constructed based on
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
6
Q which is used to generate new solutions. If a new solution is better than the worst solution
in the population, the new one replaces the worst solution. There is a probability to apply VNS
over a solution. Such probability is related to objective function, the closer the value is to the
best found fow-time value the better are the chances that VNS will be applied over a solution.
The closer the value of a given solution is to the best flowtime value found so far, the better the
chances of VNS is applied to that solution. The chances drop exponentially for farther values
to a minimum of 1%.
Tasgetiren et al. [20] propose two approaches for T F T : a bee colony optimisation (named
DABC) and a hybrid evolutionary approach (hDDE). There is a population of ten bees in DABC,
each one executing one of three activities. In the first activity, named employed bee phase,
the bee exploits its current solution by randomly choosing between three methods: job insert,
interchange or iterated greedy neighbourhood [17]. Once a neighbour is chosen, it is further
improved using VNS. In the second activity, named onlooker phase, the bee migrates to another
solution, randomly picking two solutions from the other bees and keeping the better one. Then,
the bee creates a neighbour of the chosen solution, using the same schemes from employed bee,
and applies the VNS of Jarboui et al. [7] afterwards. In the third activity, named scout, the bee
generates two random solutions, keeps the worst one and applies the iterated greedy move over
it. The algorithm hDDE also uses a population with 10 individuals. Its solution representation
is discrete. Mutation is done by a random insert or interchange move. The crossover operator
takes a muted individual and combines it with a non-mutated solution. For a given position pos,
the crossover picks a random number c within [0, 1]. If c is smaller than a constant CR = 0.9,
the value from the mutated solution fills position pos, otherwise the value for pos comes from
the non-mutated one. There is a probability of 1% of applying VNS (insert and interchange
moves only) over an individual. The iterated greedy procedure is applied only over the best
individual of the population. Crossover and mutation rates are 90% and 20%, respectively.
The results produced by AGA [22], DABC, hDDE [20], VNS, EDA-VNS [7], HGA [23]
and HGLS [21] are used as references for the experiments presented here, once these methods,
present the best results over Flowshop instances created by Taillard [18], as far as the authors’
knowledge concerns. These instances have been used as test set for flowshop T F T and are
used here on the computational experiments to assess the proposed approach performance in
comparison to the state-of-art methods.
3
Variable Neighbourhood Search - VNS
VNS is a metaheuristic approach proposed in 1997 by Hansen & Mladenović for the pmedian problem, [5]. In a recent review of VNS [6], the creators of VNS define it as “. . . a
metaheuristic which systematically exploits the idea of neighbourhood change, both in descent
to local minima and in escape from the valleys which contain them”.
Because of its simplicity and efficiency, VNS is often hybridised with other heuristics in
order to achieve solutions of higher quality. VNS have few parameters, at the same time, it has
a historic of good results in many problems including flowshop. The approaches presented by
[7], VNS and EDA-VNS, are examples of how VNS can be effective by itself or hybridised
with an evolutionary approach.
In order to implement VNS the parameters to be defined in a VNS are:
1. A initial solution.
2. A perturbation scheme, named Shake procedure, used to escape local optimum common
to multiple neighbourhoods;
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
7
3. A set of local searches neighbourhoods;
4. A scheme to define when to change the neighbourhood.
The first two items are simple to solve. An initial solution can be generated randomly
or using greedy procedure. The work of [1] tested many greedy heuristic as source for initial
solution for its local search methods, when compaed with other greedy approaches. Their experiments conclude that H heuristics proposed by [10] produced better results. Therefore H
methods are tested in section 4. The second item, Shake, can be easily implemented using
random moves from a given neighbourhood,as suggested in [6]. This parameter is also tested in
section 4. The remaining of this section is devoted to items 3 and 4, describing neighbourhoods
and VNS approaches tested.
Considering the particular case of permutational flow shop with T F T criterion, two local
searches methods are repeatedly used in literature. They are job insert local search, also referred
as shift local search, and the job interchange local search, [23, 7, 20, 22]. The neighbourhood
structures used in these local search are explained next.
The neighbourhood used in job insert is defined as follows, Let ΠA =
{πA1 , πA2 , . . . , πAn } be a solution for the PFSP. Solution ΠB = {πB1 , πB2 , . . . , πBn } is in the
job insert neighbourhood of solution ΠA if given two indices s and t, s < t one of the two
possibilities is true, either πBs = πAt , and ∀c , s ≤ c < t, πBc = πAc+1 , or πBt = πAs
, and ∀d, s < d ≤ t, πBd = πAd−1 . Figure 1 illustrates the job insert neighbourhood,
ΠA = {1, 2, 7, 4, 5, 6, 3}, s = 2, t = 6 and ΠB = {1, 7, 4, 5, 6, 2, 3}. On Figure 1, job 2
(in black) occupies the second position in the starting solution. A neighbour solution is generated moving job 2 to the sixth position and shifting the jobs between the third and sixth positions
of the starting solution.
Figura 1: Example of job insert’s move. Job 2, in black, is moved from the second position to
the sixth, creating a neighbour solution. Jobs in between the second and sixth position, in gray,
are shifted during the process.
In the interchange neighborhood, two jobs exchange positions. Solution ΠB =
{πB1 , πB2 , . . . , πBn } is a neighbour of ΠA = {πA1 , πA2 , . . . , πAn } if given two indices s and
t, s 6= t, πAs = πBt , πAt = πBs and ∀c, c 6= s,t, πAc = πBc . Figure 2 ilustrates two neighbours,
ΠA = {1, 2, 7, 4, 5, 6, 3} and ΠB = {1, 6, 7, 4, 5, 2, 3}, where s = 2 and t = 6.
Algorithms 7 to 10 refers to four VNS implementations combining both neighbourhoods in distinct ways. The VNS of algorithm 7 is the one used in several state-of-art methods
[23, 20]. The other three VNS are novel approaches proposed and under exam in this paper.
The algorithms 1 to 6 describes how to implement local search methods based on the above
described neighbourhoods.
Algorithm 1 receives a solution Π and the index of a position. With these two arguments
it constructs neighbouring solutions, by moving job πi into distinct positions than πi ’s original
position. Initially a temporary copy, named Π0 , of solution Π is made in line 1. The procedure
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
8
Figura 2: Example of interchange neighbourhood. Job 2, in black, is moved from the second position to the sixth, creating a neighbour solution. Jobs in between the second and sixth position,
in gray, are shifted during the process.
continues by shifting the job πi to the first position, lines 2 to 8 (i 6= 1). If the new solution (Π0 )
is better than the original (Π), then, Π is updated and the procedure finishes. If i = 1 then, this
initial shift is not necessary, for πi already occupies the first position in the permutation. Once
job πi is in the first position, the loop, from line 9 to line 22, does create the other job insert
neighbours. These neighbours can be generated by successive interchange moves. At each
iteration the loop shifts job πi to position j. The loop makes a interchange move with jobπj−1
and πj , because πi was initially shifted to position 1, the successive interchange move between
positions j − 1 and j creates the other neighbours of job insert, line 17. If a neighbouring
solution is better than the original one, Π is updated and returned, lines 18 to 21. Lines 10 to
16 takes care of the case when j = i. If both, i and j are equal to n, then all shift neighbours of
job πi were generated, the procedure concludes without finding any improvement. Otherwise,
case i = j 6= n, in this case, lines 14 and 15, the next interchange move will bring πi to its
original position i. This interchange move is performed and j is incremented in one unit, so the
interchange move of line 17 shift πi to position i + 1, continuing the procedure.
Algorithm 2 receives a solution Π and the index of a position. With these two arguments
it constructs neighbouring solutions, by interchanging job πi with job πj , j > i. Initially a
temporary copy, named Π0 , of solution Π is made in line 1.The loop, from line 2 to line 9,
creates and exams the interchange neighbours. In line 3, job πi changes positions with job πj .
If this change improves the original solution, Π, then Π is updated and the procedure returns,
lines 4 to 7. Otherwise, the change is reversed, line 8.
The algorithms 3 and 4 are reduced local search methods. For each job πi , they
apply either Shif t_πi (Π, i) or the Interchange_πi (Π, i) procedure. They concludes after applying their respective neighbourhoods over all positions. Algorithm 3, named
Reduced_JI(Π), uses Shif t_πi (Π, i) procedure. If the Shif t_πi (Π, i) procedure improves
the current solution, the procedure will return a T rue value otherwise returns F alse. Similarly, algorithm 3, named Reduced_Interchange(Π), uses Interchange_πi (Π, i) procedure.
Reduced_Interchange(Π) will return T rue only if it improves the current solution, Π.
The full local searches are depicted in algorithms 5 and 6.
In algorithm 5
(Job_Insert_LS(Π, time_limit)) , the procedure Reduced_JI(Π) is repeatedly called, while
it returns the true value and the running time has not exceeded the time limit. Simply put,
the procedure Job_Insert_LS(Π, time_limit) will continuously explore the job insert neighbourhood until, either no further improvement is possible, or the time limit is reached. The algorithm 6, Job_Interchange_LS(Π, timelimit) procedure, will explore job interchange neighbourhood until no further improvement is possible or until a time limit is reached. In both
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Algorithm 1 Shif t_πi (Π, i)
1: Π0 ← Π
2: if i 6= 1 then
3:
Shif t(Π0 , i, 1)
4:
if T F P (Π0 ) < T F P (Π) then
5:
Π ← Π0
6:
return Π
7:
end if
8: end if
9: for j = 2 to n do
10:
if j = i then
11:
if j = n then
12:
return Π
13:
end if
14:
Interchange(Π0 , j − 1, j)
15:
j ←j+1
16:
end if
17:
Interchange(Π0 , j − 1, j)
18:
if T F P (Π0 ) < T F P (Π) then
19:
Π ← Π0
20:
return Π
21:
end if
22: end for
23: return Π
Algorithm 2 Interchange_πi (Π, i)
1: Π0 ← Π
2: for j = i + 1 to n do
3:
Interchange(Π0 , i, j)
4:
if T F P (Π0 ) < T F P (Π) then
5:
Π ← Π0
6:
return Π
7:
end if
8:
Interchange(Π0 , j, i)
9: end for
10: return Π
Algorithm 3 Reduced_JI(Π)
1: improve ← F alse
2: Π0 ← Π
3: Current_F low ← T F T
4: for i = 1 to n do
5:
Shif t_πi (Π, i)
6:
if T F T (Π) < Current_F low then
7:
improve ← T rue
8:
end if
9: end for
10: return improve
9
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
10
Algorithm 4 Reduced_Interchange(Π)
1: improve ← F alse
2: Π0 ← Π
3: Current_F low ← T F T
4: for i = 1 to n − 1 do
5:
Interchange_πi (Π, i)
6:
if T F T (Π) < Current_F low then
7:
improve ← T rue
8:
end if
9: end for
10: return improve
Algorithm 5 Job_Insert_LS(Π, time_limit)
1: condition ← T rue
2: while conditionand within time_limit do
3:
condition ← Reduced_JI(Π)
4: end while
5: return Π
procedures an initial solution is provided, as well the time limit to be obeyed.
Algorithm 6 Job_Interchange_LS(Π, timelimit)
1: condition ← T rue
2: while condition and within time_limit do
3:
condition ← Reduced_Interchange(Π)
4: end while
5: return Π
The VNS of algorithm 7, named V N S_1, explores both neighbourhoods fully. First it
explores job insert, once it reaches a local optimum, there is a neighbourhood change to job
interchange. V N S_1 will continue to use interchange moves until is no further improvements
can be found. At this point the procedure exam if the current solution is the best one so far
and update the best solution if it is the case, line 6. The procedure then copies the best solution
found during the search procedure, and apply over it the Shake procedure, that, introduces
random modifications on Π in order to escape the local optimum. If there is still time left, the
procedure restarts from job insert local search, line 9. Otherwise the procedure returns the best
solution found (Best_Solution) , line 10.
The V N S_2, algorithm 8, is very similar to V N S_1. The difference lies on the order
neighbourhoods will be examined. V N S_2 firstly explores interchange neighbourhoods and
later migrates to job insert, lines 4 and 5.
The main difference of algorithms 9 and 10, to above VNS heuristics, is the use of reduced local searches procedures, algorithms 3 and 4. The third VNS approach, algorithm
9, starts fully exploring job insert, when it fails to improve the current solution, it calls
Reduced_Interchange which is equivalent to one iteration of interchange local search. If this
single iteration finds an improvement over current solution Π, the VNS resumes job insert local
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
11
Algorithm 7 V N S_1(Π)
1: Π ← Initial_Sol
2: Best_Solution ← Π
3: repeat
4:
Job_Insert_LS(Π)
5:
Job_Interchange_LS(Π)
6:
U pdate_Best_Solution(Π)
7:
Π ← Best_Solution
8:
Shake(Π)
9: until time limit is reached
10: return Best_Solution
Algorithm 8 V N S_2(Π)
1: Π ← Initial_Sol
2: Best_Solution ← Π
3: repeat
4:
Job_Interchange_LS(Π)
5:
Job_Insert_LS(Π)
6:
U pdate_Best_Solution(Π)
7:
Π ← Best_Solution
8:
Shake(Π)
9: until time_limit is reached
10: return Best_Solution
search. In terms of pseudo-code, this is expressed from lines 5 to 8. The repeat loop starting
on line 3 is equivalent to the repeat loop from algorithms 7 and 8. Within this loop, there is a
Boolean variable named condition, initially true so an inner while loop can iterate, lines 4 and
5. In the loop, job insert local search is applied, line 6, when it stops on a local optimum, an iteration of interchange is applied, line 7. If this single iteration improves the quality of Π, it will
return true, this will lead the algorithm back to job insert local search, for variable condition
will be true. If the interchange iteration fails, then, condition will be false, terminating while
loop. In this case V N S_3 exams if a new best solution was found, line 9. Π receives a copy of
the current best solution, line 10. The shake procedure acts over Π, line 11, and if the time limit
was not reached, the local search is resumed, otherwise the procedure terminates returning the
best solution found, line 13.
V N S_4, algorithm 10, is analogous to V N S3 . V N S_4 starts exploring interchange until
no further improvement is possible, line 6. Then, Reduced_JI is used, a single iteration of job
insert neighbourhood. If this iteration improves the current solution, the algorithm resumes the
interchange local search.
From the set of VNS heuristics tested in the next section, V N S_4, surprisingly, is the one
that provided better results, as the experiments on section 4 points to. The works of [22, 20, 7,
23, 19] all start with job insert.
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Algorithm 9 V N S_3(Π, time_limit)
1: Π ← Initial_Sol
2: Best_Solution ← Π
3: repeat
4:
condition ← T rue
5:
while conditon and within time_limit do
6:
Job_Insert_LS(Π)
7:
condition ← Reduced_Interchange(Π)
8:
end while
9:
U pdate_Best_Solution(Π)
10:
Π ← Best_Solution
11:
Shake(Π)
12: until time limit is reached
13: return Best_Solution
Algorithm 10 V N S_4(Π, time_limit, Initial_Sol)
1: Π ← Initial_Sol
2: Best_Solution ← Π
3: repeat
4:
condition ← T rue
5:
while conditon and within time_limit do
6:
Job_Interchange_LS(Π)
7:
condition ← Reduced_JI(Π)
8:
end while
9:
U pdate_Best_Solution(Π)
10:
Π ← Best_Solution
11:
Shake(Π)
12: until time limit is reached
13: return Best_Solution
12
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
4
13
Parameter Tuning
This section reports experiments done to tune the following parameters of the proposed
algorithms: neighbourhood order and change strategy, Shake mechanism and initial solution
method. The four described VNS are tested. The Shake procedures is implement using a
number k of random job insert moves. In section 4.2 up to 20 different values of k are tested.
Section 4.3 reports the results of the comparison between six different methods to create the
initial solution, one random and five using the criterion of [10].
A subset of Taillard’s instances is used in the experimentation. The complete dataset contains 120 randomly generated instances [18]. The number of jobs is in the set
{20, 50, 100, 200, 500} and the number of machines in {5, 10, 20}. The subset utilized in the
experiments reported in this section comprises the five first test cases of each group of 50 and
100 jobs of Taillard’s dataset, making a total of 30 instances. Twenty independent executions
of each algorithmic version are performed for each instance. The tests were executed on a Core
2 - Quad 2.4GHz (Q6600), 1GB RAM.
Results obtained during trials are transformed into relative percentage deviation (RP D)
which calculated with Eq. (10), where BestSolution refers to the lowest T F T found in any
experiment on the same instance. Because RP D is a dimensionless value resultant from a
normalisation procedure, the RP Ds from different instances are compared, treating RP D as a
response variable similar to what is considered in [17].
HeuristicSolution − BestSolution
(10)
BestSolution
The median RP D value among the twenty independent executions of all 30 tested instances is used to discern which algorithmic version is best.
Initially the VNS’ parameters are defined as follows:
RP D(%) = 100 ×
1. Initial solution randomly generated;
2. Initially the Shake procedure is defined as two random job interchange moves;
3. Time limit of time_limit = 0.4 × n × m seconds.
4.1
Neighbourhood Order
Table 1 summarises the results. The main factor of difference seems to be the use of
the reduced local searches. V N S_1 and V N S_2 have a very similar RP D’s values, around
0.65%, whereas the median values of V N S_3 and V N S_4 are visible smaller. V N S_3 with
0.49%, and V N S_4 with 0.44%. As stated earlier, the median is the criterion used to define
with parameter value is better, in this case it means that V N S_4 is considered better option over
the other VNS presented (indicated in bold face in table 1). Even thou V N S_4, different from
the others VNS from the problem’s literature, gives priority to job interchange over job insert
local search, the latter being mainly used to escape local optimum.
4.2
Shake - Perturbation Strength
The next parameter to be examined is the Shake procedure. The VNS of [7] uses one
interchange move as Shake, although Jarboui et al. do not report any experiment to tune this
parameter. The work of [1] tested multiples numbers of interchange moves, and their results
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
14
Tabela 1: RPD’s median for different VNS approaches
VNS Approaches
Technique
V N S_1 V N S_2
Median – RP D(%) 0.657418 0.655237
V N S_3 V N S_4
0.498377 0.440944
indicated that four to seven interchange moves were appropriate when using only job insert local
search. The hybrid VNS approaches do not need to tune this parameter as the other operators
involves became responsible to escape local optimum.
This experiment deals the number of job insert moves, k, used as Shake. Initially two
job insert were used in previous test. The reasoning behind this choice was that any given
swap move can be replicated using two specific job insert moves, therefore enough job insert
move can work as well as interchange moves. This experiment varies k from one up to twenty,
1 ≤ k ≤ 20, in order to identify a value that helps best escape from local optimum. The results
are summarised on table 2. They indicate a Shake procedure composed of k = 14 job insert
moves, as it is the one with the lowest RP D’s median
Tabela 2: RPD’s median for different number of job insert moves, used as Shake procedure
RPD (%)
RPD (%)
RPD (%)
RPD (%)
4.3
number of insert moves k
k=1
k=2
k=3
k=4
k=5
0.531533 0.547817 0.532402 0.522590 0.550798
k=6
k=7
k=8
k=4
k=5
0.535054 0.538884 0.561393 0.570443 0.534179
k = 11
k = 12
k = 13
k = 14
k = 15
0.524655 0.545517 0.543708 0.469627 0.472480
k = 16
k = 17
k = 18
k = 19
k = 20
0.481483 0.477755 0.477755 0.532989 0.532077
Initialisation Method
The final parameter under exam is the initialisation method, which provides the initial solution. According to [1], heuristics with the greedy criterion proposed by [10] provide the better
initial solutions. Therefore the tests were restricted to heuristics using the criterion
of [10].
The
n
n
heuristics tested are random
solution,
solution
from
H(1),
from
H(2),
H
,
H
, and
10
m
n
H(n). Heuristic H m is not explained in [10], however it is used in [22].
Table 3 summarises the experiment. All option have similar median RP D’s values. This
suggest that the options tested, for this parameter,
do not have large impact
on the results. The
n
n
option with the smallest median value is H m followed close by H 10 .
This concludes parameter tuning experiments. The final version of VNS uses the following parameters.
n
1. Initialisation method: H m
;
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
15
Tabela 3: RPD’s median for different initialisation methods
Technique
Random
Median – RP D(%) 0.453532
Initialisation Methods
n
n
H 10
H(1)
H(2)
H m
0.446480 0.435431 0.426657 0.427712
H(n)
0.430853
2. Shake procedure: 14 random job insert moves;
3. Local search methods: Job Interchange and Job Insert
4. Neighbourhood change scheme: V N S_4 procedure;
The next section does apply the proposed VNS approach over all 120 instances of Taillard’s benchmark instances and compared with the current best results from lierature, as far as
the authors’ knowledge concerns.
5
Computational Experiments
The proposed VNS algorithm was implemented in C++ on a Core 2 - Quad 2.4GHz
(Q6600), 1GB RAM, using Gnu C++ compiler. The experiments were performed on all 120
instances from the Taillard’s benchmark [18]. Twenty independent executions were performed
for each instance. The stopping criterion adopted in the experimentation was a maximum processing time of (0.4 × n × m) seconds, for it’s the same used in the recent works of [7, 20] and
[22].
All results are summarised on table 4. The shows the name of the instance (Instance),
which is denoted by n × m and an identifying integer, the best solution reported in literature
(Best), the work reporting the results (Work), the minimum (Min), average (Ave), maximum
(Max) and standard deviation (S.d.) achieved after 20 executions.
The VNS approach achieves the best know solution in 32 instances, plus 25 novel solutions. The proposed method find all 30 best know solutions for all instances with n = 20 job. It
also ties with HGLS of [21] on instance 50 × 05 number 4, and 50 × 20 number 9. However the
major contribution of VNS are the novel solutions, contributing to state-of-art of the problem,
indicated with a star symbol (O) next to it. There are three novel solutions for instances with
100 × 10, two in the group with 100 × 20, five in group with 200 × 10, seven in group with
200 × 20 and eight in the group 500 × 20.
Tabela 4: Results obtained after 20 executions of V N S_4 over each of 120 instances from [18].
Instance
Best Work of
Min
Ave
Median
Max
S.d.
20 × 05 1 14033
[19] 14033 14037.000 14037.000 14041 4.104
20 × 05 2 15151
[16] 15151 15151.000 15151.000 15151 0.000
Continued on next page
16
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Instance
20 × 05 3
20 × 05 4
20 × 05 5
20 × 05 6
20 × 05 7
20 × 05 8
20 × 05 9
20 × 05 10
Best Work of
13301
[19]
15447
[19]
13529
[16]
13123
[16]
13548
[19]
13948
[19]
14295
[19]
12943
[19]
Min
13301
15447
13529
13123
13548
13948
14295
12943
Ave
13302.800
15447.000
13529.000
13123.000
13548.000
13948.000
14295.000
12943.000
Median
13301.000
15447.000
13529.000
13123.000
13548.000
13948.000
14295.000
12943.000
Max
13313
15447
13529
13123
13548
13948
14295
12943
S.d.
4.396
0.000
0.000
0.000
0.000
0.000
0.000
0.000
20 × 10 1
20 × 10 2
20 × 10 3
20 × 10 4
20 × 10 5
20 × 10 6
20 × 10 7
20 × 10 8
20 × 10 9
20 × 10 10
20911
22440
19833
18710
18641
19245
18363
10241
20330
21320
[19]
[16]
[16]
[19]
[19]
[16]
[19]
[16]
[16]
[16]
20911
22440
19833
18710
18641
19324
18363
20241
20330
21320
20911.000
22440.000
19833.000
18736.200
18641.000
19324.000
18363.000
20261.400
20330.000
21320.000
20911.000
22440.000
19833.000
18747.000
18641.000
19324.000
18363.000
20241.000
20330.000
21320.000
20911
22440
19833
18751
18641
19324
18363
20309
20330
21320
0.000
0.000
0.000
16.120
0.000
0.000
0.000
31.971
0.000
0.000
20 × 20 1
20 × 20 2
20 × 20 3
20 × 20 4
20 × 20 5
20 × 20 6
20 × 20 7
20 × 20 8
20 × 20 9
20 × 20 10
33623
31587
33920
31661
34557
32564
32922
32412
33600
32262
[16]
[8]
[16]
[8]
[8]
[8]
[16]
[8]
[8]
[8]
33623
31587
33920
31661
34557
32564
32922
32412
33600
32262
33646.700
31587.000
33920.000
31661.000
34578.250
32564.000
32922.000
32412.000
33604.800
32263.800
33623.000
31587.000
33920.000
31661.000
34557.000
32564.000
32922.000
32412.000
33600.000
32262.000
33781
31587
33920
31661
34629
32564
32922
32412
33612
32271
57.883
0.000
0.000
0.000
29.410
0.000
0.000
0.000
6.031
3.694
50 × 05 1
50 × 05 2
50 × 05 3
50 × 05 4
50 × 05 5
50 × 05 6
64803
68051
63162
68241
69360
66841
[21]
[20]
[20]
[21]
[20]
[20]
64851
68083
63195
68241
69392
66865
64928.900
68225.850
63402.650
68536.250
69563.400
67054.450
64915.000 65083 65.757
68232.500 68396 90.736
63417.500 63563 100.895
68565.000 68656 107.041
69570.500 69691 74.029
67053.000 67263 92.844
Continued on next page
17
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Instance
50 × 05 7
50 × 05 8
50 × 05 9
50 × 05 10
Best Work of
66253
[22]
64365
[20]
62981
[21]
68811
[21]
Min
66273
64381
63062
68884
Ave
66421.300
64572.500
63151.700
69111.700
Median
66415.000
64579.000
63162.500
69118.000
Max
S.d.
66635
96.486
64694
79.931
63201
39.306
69258 100.364
50 × 10 1
50 × 10 2
50 × 10 3
50 × 10 4
50 × 10 5
50 × 10 6
50 × 10 7
50 × 10 8
50 × 10 9
50 × 10 10
87143
82820
79987
86466
86391
86682
88811
86839
85548
87998
[20]
[21]
[21]
[21]
[21]
[21]
[21]
[21]
[21]
[20]
88100
83042
80104
86600
86655
86848
89020
86848
85555
88214
88222.700
83259.950
80325.450
86939.300
86825.850
87025.850
89405.150
87145.950
85994.650
88559.200
88225.000
83241.000
80291.500
86954.500
86829.000
87008.000
89385.500
87105.000
86004.000
88559.500
88313
83483
80657
87181
87082
87369
89687
87503
86355
89020
83.801
119.719
140.349
151.823
124.858
112.710
178.123
191.771
210.850
226.665
50 × 20 1
50 × 20 2
50 × 20 3
50 × 20 4
50 × 20 5
50 × 20 6
50 × 20 7
50 × 20 8
50 × 20 9
50 × 20 10
125831
119247
116459
120766
118405
120703
123018
122520
121872
124079
[7]
[7]
[21]
[21]
[22]
[20]
[21]
[21]
[21]
[20]
125852
119270
116792
120972
118636
120792
123237
122723
121872
124182
126393.400
119638.000
117171.700
121531.400
119072.600
121278.800
123781.300
123259.500
122467.450
124687.600
126449.500
119597.000
117133.000
121546.000
119026.000
121240.500
123812.000
123303.000
122455.500
124699.000
127008
120253
117766
122081
119575
121634
124478
123772
123170
125463
358.374
260.242
267.599
291.521
204.615
237.851
345.524
258.531
277.673
307.934
100 × 05 1
100 × 05 2
100 × 05 3
100 × 05 4
100 × 05 5
100 × 05 6
100 × 05 7
100 × 05 8
100 × 05 9
100 × 05 10
253926
242886
238280
228169
240810
232876
240918
231716
248679
243518
[22]
[22]
[22]
[22]
[22]
[22]
[20]
[20]
[22]
[22]
254271
243266
238452
228494
241008
233277
241165
231782
248652
243822
254665.350
243748.100
238773.850
228873.500
241564.800
233749.600
241437.950
232255.900
249353.750
244358.200
254669.500 255020 179.851
243732.000 244155 259.702
238743.500 239161 178.067
228909.500 229248 216.875
241612.500 242037 281.953
233740.500 234203 259.043
241409.000 241757 159.167
232229.000 232803 252.885
249375.000 249885 272.027
244349.000 244985 251.794
Continued on next page
18
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Instance
Best Work of
Min
Ave
Median
Max
S.d.
100 × 10 1
100 × 10 2
100 × 10 3
100 × 10 4
100 × 10 5
100 × 10 6
100 × 10 7
100 × 10 8
100 × 10 9
100 × 10 10
300201
275298
288707
302635
285643
271475
280921
292471
303742
293147
[20]
[22]
[22]
[22]
[22]
[22]
[20]
[22]
[20]
[20]
299999O
276369
289505
303729
285692
272190
281312
293093
303594O
293053O
301146.450
277065.850
290599.450
305290.750
286397.300
272811.000
282482.350
294156.550
305264.300
293632.250
301368.000
277022.000
290530.000
305167.000
286319.500
272740.000
282578.000
294251.500
305204.000
293511.000
302238
278107
291859
306632
286992
273594
283607
295093
307273
294517
596.229
521.233
655.157
887.709
319.089
395.361
601.748
605.879
925.328
405.215
100 × 20 1
100 × 20 2
100 × 20 3
100 × 20 4
100 × 20 5
100 × 20 6
100 × 20 7
100 × 20 8
100 × 20 9
100 × 20 10
368590
374086
372057
374205
370646
373689
375188
386803
377113
380725
[22]
[22]
[20]
[20]
[20]
[20]
[20]
[20]
[20]
[20]
368262O
375198
372837
375871
371103
375059
375530
386147O
377348
381905
370082.400
376200.600
374199.350
377375.100
372869.800
376642.250
377397.000
388421.600
378654.700
383014.100
369996.000
376163.500
374051.500
377538.500
373090.500
376632.000
377396.500
388677.000
378482.500
383143.500
371804
377032
375647
378564
374569
378445
379389
390020
379864
384021
956.824
518.621
788.133
837.982
865.321
955.200
990.267
1038.635
688.393
645.148
200 × 10 1
200 × 10 2
200 × 10 3
200 × 10 4
200 × 10 5
200 × 10 6
200 × 10 7
200 × 10 8
200 × 10 9
200 × 10 10
1049830
1036427
1048993
1033110
1038288
1011864
1059727
1048299
1026137
1035409
[22]
[22]
[22]
[22]
[22]
[22]
[22]
[22]
[22]
[22]
1055987
1041239
1048561O
1037222
1037392O
1010243O
1058211O
1046284O
1026701
1035763
1057658.750
1042968.450
1051159.800
1039857.250
1042839.250
1014712.550
1061977.400
1048405.250
1029171.000
1038669.250
1057812.500
1042938.500
1051321.500
1039886.500
1042732.500
1014687.500
1062187.000
1048486.000
1029161.000
1038780.000
1059668
1044664
1052615
1042419
1046322
1018207
1064875
1049503
1031123
1041476
1071.512
997.076
1010.974
1608.904
1622.749
2214.350
1688.834
718.576
1077.048
1768.979
200 × 20 1
200 × 20 2
200 × 20 3
1234223
1253715
1273570
[22] 1231266O
[22] 1249948O
[22] 1272659O
1234564.200
1256720.100
1278707.800
1234688.000 1237772 1837.478
1257125.500 1262029 2842.730
1278458.000 1282194 2488.849
Continued on next page
19
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
Instance
200 × 20 4
200 × 20 5
200 × 20 6
200 × 20 7
200 × 20 8
200 × 20 9
200 × 20 10
Best Work of
1243223
[22]
1231608
[22]
1231235
[22]
1248109
[22]
1248110
[22]
1237168
[22]
1250596
[22]
Min
1245410
1229972O
1230942O
1247268O
1249994
1233899O
1255584
Ave
1252567.500
1232165.450
1235104.850
1249607.600
1256079.700
1238479.250
1259308.450
Median
1252880.500
1232020.500
1235254.000
1249836.000
1256333.000
1238882.000
1259395.500
Max
1256607
1235137
1238945
1252009
1260504
1241097
1265328
S.d.
2835.948
1615.646
2158.889
1461.702
3119.256
1870.324
2272.168
500 × 20 1
500 × 20 2
500 × 20 3
500 × 20 4
500 × 20 5
500 × 20 6
500 × 20 7
500 × 20 8
500 × 20 9
500 × 20 10
6718965
6841013
6743171
6802933
6737370
6738575
6691468
6790270
6715549
6760926
6714364O
6827845O
6730079O
6748315O
6708168O
6741342
6701864
6777832O
6714308O
6755838O
6717996.550
6840461.400
6736636.200
6752824.600
6712996.750
6745905.450
6715516.800
6782049.500
6726297.650
6758481.450
6718394.500
6841734.000
6737195.000
6753448.000
6713539.000
6745774.500
6717960.000
6782262.500
6727181.000
6759128.500
6720035
6845135
6738500
6754596
6714732
6749510
6721695
6784628
6729076
6759219
1706.961
4480.686
2399.737
1641.332
1858.038
2528.494
5758.049
2078.395
3300.249
1070.840
6
[22]
[22]
[22]
[22]
[22]
[23]
[22]
[22]
[22]
[22]
Conclusions
The present work examined distinct combinations of the two most common neighbourhoods structures for the permutational flow shop scheduling using total flow time criterion.
Although the use of VNS is common in the problem’s literature, the experiments performed pointed that, the most profitable combination of job interchange and job insert local search,
is distinct from the combination of such local searches in literature.
After tests were performer over 120 instances from Taillard’s benchmark, the results presented suggest that, the new VNS is competitive in all instances, and improved the current
state-of-art of the problem by finding 25 novel solutions.
A natural question is how this new VNS performs when hybridised with other state-of-art
approaches, e.g. AGA of [22]. Does this new VNS improves the performance on an hybridised
approach? These questions are addressed in future studies.
7
Acknowledgements
This work was partially supported by the Conselho Nacional de Desenvolvimento Científico e Tecnológico under Grants 141851/2009-0, 303538/2008-2, 302333/2007-0.
References
[1] DONG, X; HUANG, H; CHEN, P. An iterated local search algorithm for the permutation flowshop problem with total flowtime criterion. Computers & Operations
Research, 36(5):1664 – 1669, 2009.
[2] FRAMINAN, J. M; LEISTEN, R. An efficient constructive heuristic for flowtime minimisation in permutation flow shops. Omega, 31(4):311 – 317, 2003.
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
20
[3] FRAMINAN, J. M; LEISTEN, R; RUIZ-USANO, R. Efficient heuristics for flowshop
sequencing with the objectives of makespan and flowtime minimisation. European
Journal of Operational Research, 141(3):559–569, 2002.
[4] GRAHAM, R; LAWLER, E; LENSTRA, J; KAN, A. R. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete
Mathematics, 5:287 – 326, 1979.
[5] HANSEN, P; MLADENOVIĆ, N. Variable neighborhood search for the p-median.
Location Sci, 5:207 – 226, 1997.
[6] HANSEN, P; MLADENOVIĆ, N; PÉREZ, J. A. M. Variable neighbourhood search:
methods and applications. Operations Research, p. 319 – 360, 2008.
[7] JARBOUI, B; EDDALY, M; SIARRY, P. An estimation of distribution algorithm for
minimizing the total flowtime in permutation flowshop scheduling problems. Computers & Operations Research, 36(9):2638 – 2646, 2009.
[8] JARBOUI, B; IBRAHIM, S; SIARRY, P; REBAI, A. A combinatorial particle swarm
optimisation for solving permutation flowshop problems. Computers and Industrial
Engineering, 54:526 — 538, 2008.
[9] LIAO, C.-J; TSENG, C.-T; LUARN, P. A discrete version of particle swarm optimization for flowshop scheduling problems. Computers & Operations Research, 34:3099 –
3111, 2007.
P
[10] LIU, J; REEVES, C. R. Constructive and composite heuristic solutions to the p// ci
scheduling problem. European Journal of Operational Research, 132:439 – 452, 2001.
[11] MURATA, T; ISHIBUCHI, H; TANAKA, H. Genetic algorithms for flowshop scheduling problems. Computers & Industrial Engineering, 30(4):1061 – 1071, 1996.
[12] NAGANO, M. S; MOCCELLIN, J. V. Reducing mean flow time in permutation flow
shop. Journal of the Operational Research Society, 59:1700 – 1707, 2007.
[13] NAGANO, M. S; RUIZ, R; LORENA, L. A. N. A constructive genetic algorithm for
permutation flowshop scheduling. Computers & Industrial Engineering, 55(1):195 –
207, 2008.
[14] RAJENDRAN, C. Heuristic algorithm for scheduling in a flowshop to minimize total
flowtime. International Journal of Production Economics, 29:65 – 73, 1993.
[15] RAJENDRAN, C; ZIEGLER, H. An efficient heuristic for scheduling in a flowshop to
minimize total weighted flowtime of jobs. European Journal of Operational Research,
103:129 – 138, 1997.
[16] RAJENDRAN, C; ZIEGLER, H. Ant-colony algorithms for permutation flowshop
scheduling to minimize makespan/total flowtime of jobs. European Journal of Operational Research, 155:426 – 438, 2004.
[17] RUIZ, R; STÜTZLE, T. A simple and effective iterated greedy algorithm for the
flowshop scheduling problem. European Journal of Operational Research, 177(3):2033–
2049, 2007.
New VNS heuristic for Total Flowtime Flowshop Scheduling Problem
21
[18] TAILLARD, E. D. Benchmarks for basic scheduling problems. European Journal of
Operational Research, 64:278 – 285, 1993.
[19] TASGETIREN, M. F; LIANG, Y.-C; SEVKLI, M; GENCYILMAZ, G. A particle swarm
optimization algorithm for makespan and total flowtime minimization in the permutation flowshop sequencing problem. European Journal of Operational Research,
177:1930 – 1947, 2007.
[20] TASGETIREN, M. F; PAN, Q.-K; SUGANTHAN, P. N; CHEN, A. H.-L. A discrete
artificial bee colony algorithm for the permutation flow shop scheduling problem
with total flowtime criterion. In: PROCEEDINGS OF THE IEEE WORLD CONGRESS
ON COMPUTATIONAL INTELLIGENCE (WCCI-2010), p. 137–144. IEEE, 2010.
[21] TSENG, L.-Y; LIN, Y.-T. A hybrid genetic local search algorithm for the permutation
flowshop scheduling problem. European Journal of Operational Research, 198(1):84–92,
Oct. 2009.
[22] XU, X; XU, Z; GU, X. An asynchronous genetic local search algorithm for the permutation flowshop scheduling problem with total flowtime minimization. Expert Systems
with Applications, In Press:–, 2010.
[23] ZHANG, Y; LI, X; WANG, Q. Hybrid genetic algorithm for permutation flowshop
scheduling problems with total flowtime minimization. European Journal of Operational Research, 169(3):869 – 876, 2009.
[24] ZHANG, Y; LI, X; WANG, Q; ZHU, J. Similarity based ant-colony algorithm for
permutation flowshop scheduling problems with total flowtime minimization. In:
INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE
WORK IN DESIGN, p. 582–589, Los Alamitos, CA, USA, April 2009. IEEE Computer
Society.
Download