Unrelated Parallel Machine Scheduling Using Local ...

55 downloads 0 Views 1MB Size Report
0895-7177(94)00103-O. 0895-7177/94 $7.00 + 0.00. Unrelated Parallel Machine Scheduling. Using Local Search. C. A. GLASS, C. N. POTTS AND P. SHADE.
Matkl.

Corn@.

Pergamon

Modelling Vol. 20, No. 2, pp. 41-52, 1994 Copyright@1994 Elsevier Science Ltd Printed in Great Britain. All rights reserved

0895-7177(94)00103-O

Unrelated

0895-7177/94 $7.00 + 0.00

Parallel Machine Scheduling Using Local Search

C. A. GLASS, C. N. POTTS AND P. SHADE Faculty of Mathematical Studies, University of Southhampton Southhampton, SO9 5NH, U.K. Abstract-Simulated annealing and taboo search are well-established local search methods for obtaining approximate solutions to a variety of combinatorial optimization problems. More recently, genetic algorithms have also been applied. However, there are few studies which compare the relative performance of these different methods on the same problem. In this paper, these techniques are applied to the problem of scheduling jobs on unrelated parallel machines to minimize the maximum completion time. Results of extensive computational tests indicate that the quality of solutions generated by a genetic algorithm is poor. However, a hybrid method in which descent is incorporated into the genetic algorithm is comparable in performance with simulated annealing and taboo search. Keywords-Scheduling, search, Genetic algorithm.

Unrelated parallel machines, Local search, Simulated annealing, Taboo

1. INTRODUCTION This

paper

unrelated

considers parallel

a problem

machines.

in which

Each job

n jobs

are to be scheduled

is to be assigned

without

to one of the machines

preemption

on m

and, at any time,

. . , n) becomes available for processing at time zero and requires a positive integer processing time pzj if it is assigned to machine i The objective is to schedule the jobs so that the maximum completion time, (i = l,...,m). or makespan M, is minimized. Essentially, M represents the total processing time on the most each machine

can process

at most

one job.

Job j (j = 1,.

heavily loaded machine. Karp [l] shows that the problem is NP-hard for the special case of identical machines where the processing time of each job does not depend on the machine to which it is assigned. A branch and bound algorithm is proposed by van de Velde [2]. However, its computational requirements become excessive when there are more than 50 jobs and 5 machines. There has also been much research on the worst-case analysis of heuristics for unrelated parallel machine scheduling [3-91. The best available worst-case performance bounds are for heuristics that are based on linear programming [7,8]. In spite of their theoretical guarantees, Hariri and Potts [4] show that, for randomly generated problems, a simply designed descent (or iterative improvement) algorithm out-performs these linear programming based methods in terms of both solution quality and computation time. Research on local search in scheduling is quite extensive, especially for the flow shop [lo-151 and the job shop [16-231. However, applications to parallel machine scheduling are scarce. Furthermore, there are relatively few computational studies that compare different local search methods on the same scheduling problems. In this paper, we help to fill this gap in the literature by giving an extensive computational comparison of local search methods for unrelated parallel machine scheduling. Our starting point is the descent algorithm of Hariri and Potts [4]. A major disadvantage of descent is that it terminates with a local optimum which may deviate significantly from the true

41

C. A. GLASS et al.

42

optimum. Simulated annealing and taboo search are related techniques which aim to overcome this drawback. Reviews of the methodology and applications of simulated annealing and taboo search are given by Eglese [24] and van Laarhoven and Aarts [25], and by Glover [26-281 and Hertz and de Werra [29], respectively. Another class of local search methods is formed by genetic algorithms, an introduction to which is given by Goldberg [30] and Liepins and Hilliard [31]. We perform extensive computational annealing, taboo search and genetic The remaining

sections

tests to compare algorithms.

of the paper

are organized

the performance

as follows.

of descent,

In Section

2, our application

descent, simulated annealing and taboo search algorithms to unrelated parallel ing is described, while Section 3 gives corresponding applications of a genetic genetic descent algorithm which is a hybrid method. Some of the features and 3 are fixed on the basis of initial experiments. Moreover, simulated and genetic algorithms require numerical values of some parameters to first gives details of experimental design and recommended parameter comparative computational contained in Section 5.

results

are presented

and analyzed.

described in Sections 2 annealing, taboo search be specified. Section 4 settings, and then our

Some concluding

Initialization. Choose an initial feasible solution S to be the current solution and compute its objective function value.

.

Neighbour generation. Select a (feasible) neighbour S’ of the current solution S and compute its objective function value.

.

Acceptance test. Test whether to accept the move from 5’ to S’. If the move is accepted, then S’ replaces S as the current solution; otherwise, S is retained as the current solution.

.

Termination test. Test whether the algorithm should terminate. If it terminates, output an appropriately chosen solution; otherwise, return to the neighbour generation step.

2. NEIGHBOURHOOD 2.1. Structure of Neighbourhood

SEARCH

of

machine schedulalgorithm, and a

.

Figure 1. Outline of a general neighbourhood

simulated

remarks

are

search algorithm.

ALGORITHMS

Search

Before discussing the application of neighbourhood search to our unrelated parallel machine scheduling problem, we give an overview of the approach. Suppose that an objective function is to be minimized over a finite set of feasible solutions. The structure of a neighbourhood search algorithm is shown in Figure 1. A major decision when applying this type of algorithm is the choice of neighbourhood structure. However, there are also other features of the algorithm to be decided upon. In the initialization step, for example, an initial solution may be generated randomly, or by applying a simple heuristic method. Neighbours of the current solution may be selected randomly (with or without The acceptance test, which is usually replacement) or by some systematic search procedure. based on the objective function values for 5’ and S’, either accepts or rejects the move from S to S’ or, in some cases, adopts a ‘wait and see’ approach. In the latter case, several neighbours may be generated before a decision is made on whether the best of them is accepted. Finally, the termination test may allow the algorithm to run either until some convergence condition is satisfied, or until a prespecified limit on computation time or numbers of iterations is met. In some cases, the current solution S at termination is not the best one found during the search. Thus, whenever a superior solution is found, it is stored, so that the best solution generated by the algorithm can be output when the algorithm terminates.

Unrelated Parallel Machine Scheduling 2.2.

Application

First,

of Neighbourhood

43

Search

we discuss our choice of neighbourhood

for the problem

of scheduling

unrelated

parallel

machines. Recall that the objective in our problem is to minimize the makespan. Therefore, the order in which jobs are processed on a machine is immaterial, and a solution is specified by an assignment of jobs to machines. For any solution S, let Ji(S) denote the set of jobs assigned be the corresponding machine load and to machine i (i = 1,. . . ,m), let Pi(S) = cjeJ,(sJp~j We consider two types of neighbours let M(S) = maxi,l,...,m {P,(S)} denote the makespan. solution S. First, for the reassignment neighbourhood, we select any machine i P,(S) = n/r(S), ch oose some job j in Ji(S), and select some machine h (h # i). A S’ of the current solution S is formed by moving job j from machine i to machine h.

of the current for which neighbour

Thus, Jh(S’) = &(S)U{j}, Second, for the interchange

&(S’) = Ji(S)-{j} and Jg(S’) = Jg(S) (g = 1,. . . ,m; g # h; g # i). neighbourhood, we also select any machine i such that Pi(S) = M(S),

choose some job j in Ji(S) and select some machine h (h # i). Additionally, some job k in Jh(S) is chosen. A neighbour S’ is formed by interchanging jobs j and k so that job j moves from machine i to machine h and job k moves from h to i. Therefore, Jh(S’) = Jh(S) U {j} - {k}, Ji(S’) = Jz(S) U {k} - {j} and J,(S’) = Jg(S) (g = 1,. . . ,m; g # h; g # i). We adopt a combined reassignment and interchange neighbourhood which contains all reassignment and interchange neighbours. In neighbourhood search, the chance of reducing the makespan is increased if there is a decrease in the number of machines having total processing time equal to the makespan. Thus, it is useful to associate with any solution S a secondary criterion N(S), which is the number of machines i for which PZ(S) = M(S), and to define the vector V(S) = (M(S), N(S)). For any two solutions S and S’, we write V(S) < V(S’)

if

M(S)

5 M(S’),

or if

M(S)

= M(S’)

and

N(S)

5 N(S’),

in which case V(S) is lexicographically not greater than V(S’). In a similar way, V(S) < V(S’), if V(S) is lexicographically (strictly) smaller than V(S’). In some of our neighbourhood search algorithms, we base our acceptance test on V(S) and V(S’), rather than M(S) and M(S’). We now discuss the computational complexity of evaluating a neighbour S’ of the current solution S. A heap data structure is used to store PI(S), . . . , P,(S), and the frequency of occurrence in S of each machine load is also stored. To compute Ph(S’) and P,(S’) (assuming that S’ is the neighbour obtained from S by reassigning or interchanging jobs between machines h and i) from Ph(S) and Pi(S) and to test whether V(S’) < V(S) (or V(S’) 5 V(S)), or whether M(S’) < M(S) (or M(S’) I M(S)) re q uires constant time. However, to perform the necessary updating of the heap when the move from S to S’ is accepted, and to update the machine load frequencies, requires O(logm) time. This efficient comparison of V(S’) and V(S) and of IM(S’) and M(S) in the acceptance test increases the chances that the neighbourhood search algorithm finds a near-optimal solution using reasonable computational resources. The following subsections describe the structure of our descent, simulated annealing and taboo search algorithms. In descent, a move to a neighbour is accepted if it achieves a reduction in the objective function value. The search proceeds until a local minimum is reached, which is detected when no improvement in the objective function value is possible. Simulated annealing and taboo search algorithms are both variants of descent which attempt to avoid termination at a local minimum, rather than a global minimum. Simulated annealing adopts a probabilistic approach, whereas taboo search is deterministic. In the descent, simulated annealing and taboo search algorithms, an initial solution is obtained by applying the earliest completion time (ECT) h euristic of Ibarra and Kim [6]. At each stage, the ECT heuristic chooses an unscheduled job so that, when it is scheduled on the machine that can complete it earliest, its completion time is as small as possible. This chosen job is then scheduled on the machine that can complete it earliest, and the process is repeated until a complete schedule

C. A. GLASS et al.

44

is obtained. The use of a heuristic solution to initialize a neighbourhood search algorithm is a commonly used device for reducing computation time. The descent, simulated annealing and taboo search algorithms can now be completely specified by the neighbour generation mechanism, and the acceptance and termination tests. 2.3. Descent The descent algorithm which we describe in this section is essentially the method proposed by Hariri and Potts [4]. It provides a benchmark against which to compare our other algorithms. In the neighbour generation step, a systematic search is performed. More precisely, consider a list containing all reassignment neighbours and all interchange neighbours of the current solution S. The neighbour 5” is chosen to be the first entry in the list which has not been selected previously while S is the current solution. The list is not constructed explicitly: knowledge of the mechanism by which the previous neighbour is generated from S, enables generation of the next neighbour. Our acceptance test sets S’ to be the new current solution if V(S’) < V(S); otherwise S is retained as the current solution. It may be viewed as a first decrease (or first improvement) strategy, as opposed to a best decrease (or best improvement) strategy in which the whole neighbourhood is searched before selecting a move to the best neighbour. Finally, the algorithm terminates when V(S) 5 V(S’), for all neighbours S’ of the current solution S, i.e., when the current solution S is a local minimum. 2.4. Simulated

Annealing

The major difference between simulated annealing and descent is in the acceptance rule. In simulated annealing, a neighbour is accepted with a certain probability if its objective function value is worse than that of the current solution. This section describes our implementation of simulated annealing for the problem of scheduling unrelated parallel machines. In accordance with most implementations of simulated annealing, a random generation of neighbours (with replacement) is adopted. Specifically, a random choice is made between generating a reassignment or interchange neighbour; the probability of generating each type of neighbour is 0.5. Having decided on the type, the neighbour S’ is generated by the following procedure. First, a machine i for which P%(S) = M(S) is fixed (if there is a choice, machine i is chosen arbitrarily). Then, a random selection of some job j in Ji(S), of some machine h, where h # i, and, in the case of an interchange neighbour, of some job Ic in Jh(S) yields the required neighbour. The acceptance test in simulated annealing is as follows. Moves which decrease the makespan, or leave it unchanged, are always accepted. Equivalently, we accept S’ as the new current solution if A 5 0, where A = M(S’) - M(S). Furthermore, to allow the search to continue from a local optimum, moves that increase the makespan are accepted with a probability which becomes smaller when the size of this increase is greater. More precisely, S’ is accepted with probability e -A/T if A > 0, where T is a parameter called the temperature which changes during the course of the algorithm. Typically, T is relatively large in the initial stages of the algorithm so that many increases in the objective function are accepted, and then T decreases until it is close to zero in the final stages, at which point the procedure resembles descent. It is necessary to define a cooling schedule which specifies the temperature at each stage of the algorithm. In the scheme of Lundy and Mees [32], a single iteration (the generation and evaluation of one schedule) is performed at each of the K temperatures Tl, . . , TK, which are related by Tk Tk+i = -1 l+PTk where /3 is a constant. Once K, Tl and TK are fixed, the value of fl is given by Ti - TK ' =

(K - ~)T~TK’

Unrelated Parallel Machine Scheduling Initial

experiments

obtained stant

indicate

ature),

geometric

obtained

[33]. Thus,

By implication,

by adopting

schedule

a constant

superior

(for which Tk+l

results

= CyTk, where the con-

are performed

temperature

to those

at each temper-

throughout,

as proposed

by

we adopt the scheme of Lundy and Mees.

the algorithm

we set K so that

tests,

cooling

in the range 0 < cx < 1, and several iterations

and to those

Connolly tional

that the Lundy and Mees scheme produces

by the well-known

CLis chosen

45

terminates

K iterations

when

the computation

are performed.

time is approximately

In our computa-

equal to a specified

time

limit. 2.5.

Taboo

Taboo

Search

search

differs from descent

the best neighbour value.

Taboo

follows.

search

uses a taboo

Unless precautions

after a short sequence

Storing

the time

required

values, rather

taboo

values.

aspiration First,

we give details

parallel

the attribute permutation indicate

function

A(M(S))

=

makespan

M(S)

values A(M) is accepted Having our taboo algorithm:

function

of the taboo

solutions.

the proposal

irrespective

of its taboo

current -

is rejected

solution l),

the taboo algorithm.

the neighbour

The neighbour

M(S)

solution;

move to S’ is rejected.

however,

if V(S)

is to solution

M.

S”

a vector-valued to V) accepted

S’, then we define

from a solution

Thereafter,

we reset A(M(S)) step is identical

whenever

- 1). of

with that in our descent

If S’ is taboo

if V(S’)

a move

the specification

search of the combined

Otherwise,

with

we set initial

= (M(S’),N(S’)

we can complete

test is as follows.

2 V(S),

respect

of S,

with makespan

I n our implementation,

function,

generation

The acceptance

we adopt

(with

move to a solution

S’ of S is found by a systematic

neighbourhood.

then any possible

the new current

list and aspiration

machine

S’, which is a neighbour

Consequently,

2 A(M(S)). < A(M(S)),

in the

of initial experiments

move from a solution

If the best

with makespan

V( S”)

Results

the list to

makespan

list stores the previous

If the solution

status.

and any taboo

unless

[14] for minimizing

S’ from S.

accepted

with V.

the

a move from S to S’ is accepted,

as our attribute.

as follows.

unrelated

list contains

the oldest entry if this causes

= ( M, m) for each possible value of the makespan

and interchange

irrespective

of scheduling

thus, our taboo

Whenever

while generating

from any previously

from S to S’ for which V(S’) search

the

A, which is defined on objective

to that in which the taboo

is motivated

(M(S’),N(S’)

defined

with the aim of reaching

is no worse than the value of the

list:

of Taillard

we use makespan

A, which is compatible

move from any previous

of storing

consequently,

may be lost if the value of its

list which is used in our problem

are reallocated

resulting

it is allowed,

aspiration

saves on

advantage

are taboo;

then the move is eligible for acceptance,

the length

is superior

function

than that

is an entry

solutions,

list. Such a loss can be avoided by allowing the

value of a neighbour

L current

flow-shop problem,

Our aspiration is better

A(M(S)),

of the taboo

L. Following

of jobs that

few iterations.

is taboo.

that this approach

assignment

solutions

a good solution

value of S is added to the list, replacing

longer than

A more subtle

generated

to an aspiration

solution,

is regenerated which contains

for the previous

is that more solutions

taboo

function

values of the previous

become

M(S),

according

Let L denote

machines.

attribute

in the current

for the current

the neighbour

is taboo.

Occasionally,

solution

than complete

function

for which is as

if the value of this attribute

list, rather

solutions,

away from recently

If the objective

function

of whether

a solution

than complete

list to be overridden

function

values in the taboo

is contained

the motivation

solutions

rejected,

a move to

in the objective

a taboo list is constructed

of the current

is normally

of a global optimum.

chosen attribute

is encountered,

it is possible that a previous current

to check whether

is driven further

neighbourhood

function,

To avoid such cycling,

chosen attribute

attribute

attribute the search

are taken,

is taboo, and therefore

in this list.

when a local optimum

list and an aspiration

of moves.

values of some suitably A neighbour

in that,

is made, even though this may cause a deterioration

< V(S),

reassignment and V(S’)

>

then S’ becomes

then a ‘wait and see’ approach

is adopted

C. A. GLASS et al.

46

with S’ becoming a candidate. Under the ‘wait and see’ scheme, once all neighbours of the current solution S have been considered, a move is made from S to the best (with respect to V) candidate neighbour. In the early work in taboo search [34], it is suggested that a move to the best candidate neighbour should always be made, irrespective of whether the move decreases or increase the objective function. This strategy can be view as one of best decrease/smallest increase, However, to save computation time, our test immediately accepts a move to a better neighbour and only searches the complete neighbourhood for the best candidate neighbour when no better neighbour is detected. It can therefore be described as a first decrease/smallest increase strategy. Our termination test is based on a limit on computation time. .

Initialization. Choose an initial population containing s solutions to be the current population. Compute the objective function value for each solution in the population.

.

Evaluation. tion.

.

Reproduction. Create a mating pool by selecting members of the current population. For each selection, a solution is chosen with a probability that is proportional to its fitness.

.

Crossover. Select a pair of elements from the mating pool, neither of which have been chosen previously. Perform a crossover on them with probability P CKl86. If a crossover is not undertaken, the original pair form the input into the mutation step; otherwise, the two offspring are input.

.

Mutation. Perform a mutation on each element of both solutions output from the crossover step with (small) probability Pmut. The resulting solutions are inserted into the new population and their objective function values are computed. If the new population is not complete, return to the crossover step.

.

Termination test. Test whether the algorithm should terminate. If it terminates, output an appropriately chosen solution; otherwise, set the current population to be the new population and return to the evaluation step.

Apply a fitness function to each member of the current popula-

Figure 2. Outline of a standard genetic algorithm.

3. 3.1. Structure

of Genetic

GENETIC

ALGORITHMS

Algorithms

We first provide an overview of the mechanics of genetic algorithms. A prerequisite for applying this type of algorithm is a method to represent any solution as a string, which is usually a finite sequence of characters from a finite alphabet. Also, a fitness function is required, which is a mapping from the solutions to the real numbers with the property that a ‘good’ solutions have a high fitness value. An initial population of solutions is created; in the absence of any problem-specific knowledge, this population is randomly generated. Three types of operations are used to create a new population. First, reproduction, an operation that is motivated by a survival of the fittest philosophy, deletes the weakest members of the population (those with a low fitness or, equivalently, a poor objective function value) and replaces them with replicates of the stronger members to form a mating pool. Second, certain pairs of solutions from the mating pool are selected for crossover. More precisely, two parents combine to produce two offspring, each containing some characteristics of each parent. The hope is that one of the offspring will inherit the desirable features of each parent to produce a good quality solution, while the other offspring which contains the weak features of both parents will be removed later by reproduction. Before placing any offspring or solutions from the mating pool into the new population, a mutation operation is applied to perturb some of these solutions. Although the number of perturbations is usually small, the mutation operator helps to diversify the population. Having formed the new

Unrelated Parallel Machine Scheduling population, the reproduction, crossover and mutation operations are repeated. the fairly standard genetic algorithm described above is outlined in Figure 2. 3.2.

47 The structure of

A Genetic Algorithm

In this section, we explain how a genetic algorithm is applied to our problem of scheduling unrelated parallel machines. In particular, the representation of solutions as strings, the choice of initial population, fitness function, crossover and mutation mechanisms, and termination

test

are discussed. For unrelated parallel machine scheduling, there is a natural representation

of a solution as a

string. Each string is of length n, and the element in position j (j = 1,. . . , n) is the machine to which job j is assigned. Each population in our genetic algorithm has the same size s. To provide a fair comparison with the neighbourhood search algorithms of Section 2 for which the ECT heuristic provides the initial solution, the initial population is seeded with two copies of the ECT solution. The remainder of the population is filled with randomly generated solutions; each element of these strings is randomly selected from the set (1, . . . , m}. The mating pool also has constant size s. At each iteration, members of the current population are selected for the mating pool on the basis of their fitness (function values). Since the probability of selection is proportional to fitness, ‘good’ solutions should be assigned a high fitness, whereas ‘bad’ ones should have a low fitness. Moreover, the difference between these fitness values needs to be carefully chosen. If it is too small, the chance of a better solution surviving to future generations is not appreciably greater than that for poorer solutions. On the other hand, a large differential causes future generations to be swamped with a few relatively good solutions, which results in the population converging quickly to a possibly suboptimal solution. To compute a possible fitness function, we first evaluate the difference between the makespan for the solution 5’ under consideration and for the poorest solution 3 in the current population, to obtain f(S) = M(S) - M(S). S everal other fitness functions which increase the chance that a ‘good’ solution is picked for the mating pool are tested in initial experiments. These include (f(S))2 and maxif - k,O}, where k is set so that the fitness function has a zero value for all but the better solutions in the current population, such as the top ten or those with above average fitness. The function (f(S))2 performs best in initial tests and is therefore adopted as the fitness function in our algorithm. Our algorithm uses a standard two-point crossover to produce two offspring from two parent solutions. Having randomly chosen two points in a string, the sub-strings between the crossover points are interchanged. Figure 3 depicts the crossover operation for an instance with six jobs and three machines. Although the machine assignments of successively numbered jobs are likely to appear in the same crossover segments, it is not clear if this is a disadvantage or whether it can be exploited. Parents 213 2 111

1

213311

311

2

332122

3

312

Offspring

Figure 3. A two-point crossover. If an element of a string is selected for mutation, then the machine assignment of the corresponding job is changed by incrementing it by one, or, in the case that the current assignment is m, by resetting to 1. Mutation is applied with the aim of diversifying the population so that it does not prematurely converge to multiple copies of one solution. Choosing suitable settings for the fitness function and the mutation probability Pmut, allows control over the speed of convergence of the population.

C. A. GLASSetal.

48 We adopt

the usual convention

time limit.

Additionally,

in the current

population

in the final population. that

have the same makespan.

when the algorithm

the computational

in constant

time.

corresponding

pool can be generated constant time,

solutions

is, therefore,

It is possible

to compute

a crossover

operation

into

groups,

]fi]

are stored

requires

O(s(m

each containing

of jobs

intact,

load contributions the machine 3.3.

Descent

The poor performance improvements

the genetic

Our genetic exceptions. function

based

genetic

mating

The time complexity

in

O(sn)

the makespan

of all

for the each

that is obtained

is stored.

of two groups Moreover, O(mfi)

from

the jobs are partitioned

The contribution

algorithm

such hybridization.

to the machine

loads

Each

keeps

crossover

for which the new machine

to compute

the makespan

from

time.

of every population. algorithm

as the genetic

algorithm

of Section

algorithm

of

them.

2.3 to each new solution

of Section

3.2, but with two

we adopt

terminates

3.2

the function

a constant

pool with an equal probability.

the algorithm

that

of authors

of Section

Informally,

experimentation,

for the mating

suggests

A number

and the local search descends

from initial

test is not used:

search.

We modify the genetic

applies the descent

on evidence

in our initial experiments

neighbourhood

to each solution

each solution

termination

To compute

population

time.

by incorporating

algorithm

which selects

secondary

in O(mfi)

It has the same structure

First,

for each member search procedure

step requires

of a new solution

jobs.

exception

is to find the ‘valleys’

descent

that is generated.

[fi]

of the current

of the standard

algorithm

algorithm

+ n)) t ime.

all

Algorithm

have suggested a descent

Once

is evaluated

on a pair of solutions

The mutation

for mutation.

for each group requires

may be achieved

[16,30,35,36] by applying

population

A bisection

is performed

as linked lists.

the makespan

at most

can be computed

A Genetic

population.

crossover

O(s(m

with the possible

load contributions

is stored so

each new population.

in the current

To achieve this saving in computation,

for each group of jobs in each solution all groups

by the algorithm

+ n + logs)).

more efficiently

if m < fi.

found is not

number on O(log s) time, so the complete

Each

of every string is eligible

in the new population

new population

of generating

from the current time.

that strings

since each element

generated

for each solution

to the random

in O(slogs)

time provided

if all solutions

however, requires the use of one random number

pool to select a solution

finds the member

terminates

In some cases, the best solution

currently

complexity

are known, the fitness function Reproduction,

the algorithm

terminates.

makespans

of the mating

test which is based on a computation

test is employed:

Thus, the best solution

it can be output

We now discuss

of using a termination

a secondary

fitness

Second,

the

when a limit on computation

time is met. 4. 4.1.

Experimental

of jobs, sample

was created

of a problem

to compare

To ensure considered problems distribution

was generated

a varied sample and five problems

in the processing each problem

generated sizes.

of the algorithms.

by the number

of machines

times between

with 5, 10,20 and 50 machines,

within

for each of 12 problem

The processing

There

and/or

machines.

A

and 20, 50 and 100 jobs.

size, four different

for each class.

jobs

The main

and the number

classes

are,

of correlation

therefore,

times pij were generated

a total

were 20 test

from a uniform

as follows.

UNCORRELATED: MACHINE

the performance

are its size, as measured

and the degree of correlation of problems

EXPERIENCE

Design

A set of test problems characteristics

COMPUTATIONAL

p,jis an integer from the uniform distribution

CORRELATED: pijis an integer from the uniform

oi is an integer

from the uniform

distribution

[l, loo].

[l,1001.

distribution

[ai + 1, cy + 201, where

Unrelated Parallel Machine Scheduling

pij is an integer

JOB CORRELATED:

an integer

from the uniform

MACHINE

AND

from the uniform

distribution

JOB CORRELATED:

distribution

49

[,$ + 1, ,L$ + 201, where /!?j is

[l, 1001.

pij is an integer

oi@j + 201, where CX~and /Jj are integers

from the uniform distribution from the uniform distribution [l, 201.

[c@

+ 1,

It is in the nature of local search algorithms that they require ‘tuning’ for a specific combinatorial optimization problem. Although the structure of each of our algorithms, which is outlined in Sections 2.1 and 3.1, is determined in advance, some features, such as the fitness function in our genetic algorithm work. Moreover, on the results of a separate set of the other

and the cooling schedule in simulated annealing, require initial computational the setting of numerical values of all parameters for each algorithm is based initial computational tests. All of our initial experiments were performed on 20 test problems with 10 machines and 30 jobs, which were generated as for

problem

sizes.

The parameters

are set independently

of one another

because

of the

prohibitive computational effort in testing combinations. Our computational tests compare the following five algorithms. DA: Descent

algorithm

described

in Section

2.3.

SA: Simulated annealing described in Section 2.4. Initial and final temperatures are Ti = 15 and TK = 0.1. TS: Taboo search described in Section 2.5. The taboo list length is L = 7. GA: Genetic algorithm described in Section 3.2. The population size is s = 100, and crossover and mutation probabilities are P,,,,, = 0.5 and Pmut = 0.005. GD:

Genetic descent described and Pmut = 0.005.

in Section

3.3.

The parameter

values

are s = 20, P,,,,,

= 0.5

Each algorithm was coded in Waterloo C and compiled and run on an IBM 3090 mainframe computer. Two sets of computational tests were undertaken with different limits on computation time. In the first set, a 20 second limit on cpu time per problem was imposed on all algorithms (although this limit is not restrictive in the case of our descent algorithm). By setting the time limit to be independent of problem size, the smaller problems receive a relatively generous computation time allowance, whereas the limit is much more restrictive for larger problems. All algorithms were applied to the full set of 240 test problems. In the second set of tests, algorithms GD, SA and TS were rerun with a limit of 100 seconds of cpu time per problem (algorithms DA and GA were discarded as a result of the runs with a 20 second time limit). It is preferable to evaluate heuristics by comparison with an optimal solution. This approach is not possible here, however, as optimal solutions are unknown for our test problems. Consequently, the best solution value achieved by any algorithm on either run (20 or 100 seconds) is used as a surrogate for the optimal solution value. Our primary performance measure for comparing heuristics is the average (taken over the 20 problems of the same size) relative percentage deviation of the heuristic value from the best known solution value. This is supplemented by a secondary measure; the corresponding maximum relative percentage deviation. The consistency of results across the different correlation classes is also investigated. 4.2.

Computational

Results

We first present an overview of the results of computational tests for algorithms DA, GA, GD, SA and TS when a 20 second time limit is imposed. Average relative percentage deviations of the makespan from the best known solution value (our primary performance measure) are summarized in Table 1. We first observe from Table 1 that the simple descent algorithm DA performs surprisingly well, and it has modest computational requirements (all computation times are less than 1 second). The relative deviation averages no more than 8% for any problem size. However, further analysis

C. A. GLASS et al.

50

Table 1. Average relative percentage deviations Time

for all algorithms

Number of machines, number of jobs:

m, n

limit Algorithm

(sets.)

lo,20

lo,50

50,20

50,50

DA

20

5,20 5,50 5,100 3

3

1

7

4

10,100 20,20 20,50 20,100 3

5

8

3

6

6

6

GA

20

5

6

4

15

12

10

13

21

21

16

19

30

GD

20

0

0

1

0

0

1

0

2

2

0

0

2

SA

20

0

1

1

0

1

2

0

1

3

0

0

0

TS

20

1

1

1

1

1

0

0

0

0

0

0

0

Table 2. Average relative percentage deviations Time

I

for algorithms

50,100

GD, SA and TS.

Number of machines, number of jobs: m, n

limit

Algorithm

(sets.)

5,20 5,50 5,100

lo,20

lo,50

10,100 20,20

20,50 20,100

50,20

50,50

50,100

GD

20

0.0

0.5

0.7

0.4

0.5

1.1

0.4

1.7

2.2

0.0

0.3

1.8

SA

20

0.1

0.7

0.8

0.1

1.4

1.5

0.1

0.7

2.7

0.0

0.1

0.4 0.4

TS

20

0.8

0.6

0.5

0.9

0.5

0.2

0.4

0.4

0.3

0.5

0.3

GD

100

0.0

0.1

0.2

0.1

0.1

0.7

0.2

0.9

1.3

0.0

0.1

1.2

SA

100

0.0

0.2

0.6

0.0

0.6

0.5

0.0

0.4

0.8

0.0

0.0

0.2

TS

100

0.8

0.5

0.4

0.9

0.5

0.1

0.4

0.4

0.2

0.5

0.3

0.3

Table 3. Maximum

relative percentage deviations

for algorithms GD, SA and TS.

Number of machines, number of jobs: 5,20 5,50 5,100

10,100 20,20

m, n

lo,20

lo,50

50,20

50,50

50,100

0.5

1.8

2.0

5.3

1.8

4.7

3.6

20,50 20,100 13.0

9.1

0.0

3.6

4.1

0.8

3.1

3.6

0.8

8.9

6.1

2.3

7.7

10.8

0.0

1.1

2.6

3.3

3.0

2.4

5.0

3.4

1.0

3.8

1.5

2.9

9.1

4.1

2.6

0.0

0.7

0.9

1.5

0.8

3.5

3.6

4.3

9.1

0.0

1.1

3.6

0.4

1.5

3.3

0.4

3.6

3.0

0.0

3.8

3.0

0.0

0.0

1.8

3.3

3.0

2.4

5.0

3.4

1.0

3.8

1.5

2.9

9.1

4.1

2.6

reveals that the maximum relative deviation is a lot higher, ranging from 15% for 100 jobs and 5 machines to over 90% for 20 jobs and 50 machines, and for 50 jobs and 50 machines. The results of Table 1 also indicate that the genetic algorithm GA performs very poorly, even compared to DA which requires much less computation time. The other three algorithms give comparable results, however. The poor performance of GA confirms other results [36], which indicate that, without incorporating problem-specific knowledge or other heuristic methods, genetic algorithms may not be very effective for combinatorial optimization problems. Since the performance of GD, SA and TS is much better than that of DA and GA, these three algorithms are selected for more thorough investigation. Further computational tests for algorithms GD, SA and TS were performed using a time limit of 100 seconds. Table 2 lists average relative percentage deviations (our primary performance measure) for both the 20 second and the 100 second time limit, while corresponding maximum relative percentage deviations (the secondary measure) are given in Table 3. Note that the deviations for GD, SA and TS in Table 1 are obtainable from Table 2 by rounding. The average relative percentage deviations in Table 2 indicate that the three remaining algo rithms are very competitive. The overall performance of TS appears to be a little better than for the other two when there is a 20 second time limit, whereas SA appears to perform marginally better when the time limit is increased to 100 seconds. The maximum relative percentage deviations of Table 3 confirm these conclusions. Also, SA appears to give the most consistent

Unrelated Parallel Machine Scheduling

results:

for the 100 second

runs, the maximum

relative

percentage

51

deviation

for SA is less than

4%, whereas it exceeds 9% for GD and TS. The performance of GD on loo-job problems detracts from its overall effectiveness. When there are 20 or 50 jobs, GD yields superior results to those of TS and is comparable to SA. Increasing the time limit has little effect on TS; very few problems achieve a smaller makespan and those which do are not the ones on which TS yields comparatively poorer results. By contrast, SA and GD benefit across all problem sizes from the extra computation time, which is reflected in improvements to both the average and maximum relative percentage deviations given in Tables 2 and 3. It is also of interest to analyze the performance of the algorithms for each correlation class of problems. However, no significant difference is observed in the relative performance of the algorithms

between

correlation

classes.

5. CONCLUDING

REMARKS

This paper compares the performance of genetic algorithms and neighbourhood search methods for the problem of scheduling unrelated parallel machines. The quality of solutions generated by our standard genetic algorithm (GA) is poor. However, incorporation of descent into the genetic algorithm improves its performance substantially; this genetic descent algorithm (GD) is comparable with our simulated annealing and taboo search algorithms (SA and TS). For these three methods, taboo search generates slightly better solutions when there is a relatively small Genetic descent and simulated annealing improve as the time limit time limit (20 seconds). increases, and there is little to choose between the three algorithms for a larger time limit (100 seconds). Our investigation deals with one type of parallel machine scheduling problem which requires only an assignment of jobs to machines. With different optimality criteria or with additional constraints on the jobs, the processing order of jobs on each machine may have to be considered. For this case, a different neighbourhood structure would be required for neighbourhood search methods, and a different representation of solutions would be needed in a genetic algorithm. Therefore, our conclusions on the relative performance of the different local search methods are not valid for these alternative types of parallel machine problems. It is a disadvantage of many local search methods that much experimentation is necessary to establish the ‘right’ structure and ‘correct’ parameter values. Suitable settings for parameters may depend both on problem size and on characteristics of the instance under consideration. It is unrealistic, however, to adopt a different set of parameter values for every instance. Thus, in our computational work, we use the same parameters over a wide range of sizes and instances. This approach is consistent with many other computational studies which rely on the hope or expectation that the performance of the heuristic is fairly robust against different parameter settings. We conclude that if a standard genetic algorithm is used as a ‘black box’ technique, its performance is likely to be poor. To be worthy of consideration for a combinatorial optimization problem, the genetic algorithm should incorporate some problem-specific features or another type of heuristic. Simulated annealing and taboo search are often claimed to provide good quality solutions to a wide range of combinatorial optimization problems. Our computational results are consistent with this claim.

REFERENCES 1. ‘2. 3.

R.M. Karp, Reducibility among combinatorial problems, In Complexity of Computer Computations, (Edited by R.E. Miller and J.W. Thatcher), pp. 85-103, Plenum Press, New York, (1972). S.L. van de Velde, Duality-based algorithms for scheduling unrelated parallel machines, ORSA Journal on Computing 5, 192-205 (1993). E. Davis and J.M. Jaffe, Algorithms for scheduling tasks on unrelated processors, Journal of the Association for Computing Machinery 28, 721-736 (1981).

52 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.

20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.

C. A. GLASS et al. A.M.A. Hariri and C.N. Potts, Heuristics for scheduling unrelated parallel machines, Computers d Operations Research 18, 323-331 (1991). E. Horowitz and S. Sahni, Exact and approximate algorithms for scheduling nonidentical processors, Jounzal of the Association for Computing Machinery 23, 317-327 (1976). O.H. Ibarra and C.E. Kim, Heuristic algorithms for scheduling independent tasks on nonidentical processors, Journal of the Association for Cpmputing Machinery 24, 280-289 (1977). J.K. Lenstra, D.B. Shmoys and E. Tardos, Approximation algorithms for scheduling unrelated parallel mai chines, Mathematical Programming 46, 259-271 (1990). C.N. Potts, Analysis of a linear programming heuristic for scheduling unrelated parallel machines, Discrete Applied Mathematics 10, 155-164 (1985). .I. Spinrad, Worst case analysis of a scheduling algorithm, Operations Research Letters 4, 9-11 (1985). F.A. Ogbu and D.K. Smith, The application of the simulated annealing algorithm to the solution of the nlmlCm,x flowshop problem, Computers & Opemtions Research 17, 243-253 (1990). F.A. Ogbu and D.K. Smith, Simulated annealing for the permutation flowshop problem, Omega 19, 64-67 (1991). I.H. Osman and C.N. Potts, Simulated annealing for permutation flow-shop scheduling, Omega 17, 551-557 (1989). C.R. Reeves, Improving the efficiency of tabu search for machine sequencing problems, Journal of the Operational Research Society 44, 375-382 (1993). E. Taillard, Some efficient heuristic methods for the flow shop sequencing problem, European Jownal of Operational Research 47, 65-74 (1990). M. Widmer and A. Hertz, A new heuristic method for the flow shop sequencing problem, European Journal of Operational Research 41, 186-193 (1989). E.H.L. Aarts, P.J.M. van Laarhoven and N.L.J. Ulder, Local-search-based algorithms for job shop scheduling, CQM-Note 106, Centre for Quantitative Methods, Nederlandse Philips Bedrijven B.V., Eindhoven, (1991). M. Dell’Amico and M. Trubian, Applying tabu-search to the job-shop scheduling problem, Annals of Operations Research 41, 231-252 (1993). U. Dorndorf and E. Pesch, Evolution based learning in a job shop scheduling environment, Computers & Operations Research (1994) (to appear). H. Matsuo, C.J. Suh and R.S. Sullivan, A controlled search simulated annealing method for the general jobshop scheduling problem, Working paper 03-44-88, Department of Management, The University of Texas at Austin, (1988). E. Nowicki and C. Smutnicki, A fast taboo search algorithm for the job shop problem, Preprint 8/93, Instytut Cybernetyki Technicznej, Politechniki Wroclawskiej, Wroclaw, (1993). R.H. Storer, S.D. Wu and R. Vaccari, New search spaces for sequencing problems with application to job shop scheduling, Management Science 38, 1495-1509 (1992). E. Taillard, Parallel taboo search techniques for the job shop scheduling problem, ORSA Journal on Computing (1994) (to appear). P.J.M. van Laarhoven, E.H.L. Aarts and J.K. Lenstra, Job shop scheduling by simulated annealing, Opemtions Research 40, 113-125 (1992). R.W. Eglese, Simulated annealing: A tool for operational research, European Jownal of Operational Research 46, 271-281 (1990). P.J.M. van Laarhoven and E.H.L. Aarts, Simulated Annealing: Theory and Applications, Kluwer, Dordrecht, The Netherlands, (1987). F. Glover, Tabu search, Part I, ORSA Journal on Computing 1, 190-206 (1989). F. Glover, Tabu search, Part II, ORSA Jownal on Computing 2, 4-32 (1990). F. Glover, Tabu search: A tutorial, Interfaces 20, 74-94 (1990). How we used it, Annals of Mathematics and A. Hertz and D. de Werra, The tabu search metaheuristic: Artificial Intelligence 1, 111-121 (1990). D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, Reading, MA, (1989). G.E. Liepins and M.R. Hilliard, Genetic algorithms: Foundations and applications, Annals of Operations Research 21, 31-58 (1989). M. Lundy and A. Mees, Convergence of an annealing algorithm, Mathematical Programming 34, 111-124 (1986). D.T. Connolly, An improved annealing scheme for the QAP, European Journal of Operational Research 46, 93-100 (1990). F. Glover, Future path for integer programming and links to artificial intelligence, Computers & Operations Research 13, 533-549 (1986). A. Kolen and E. Pesch, Genetic local search in combinatorial optimization, Discrete Applied Mathematics 48, 273-284 (1994). N.L.J. Ulder, E.H.L. Aarts, H.-J. Bandelt, P.J.M. van Laarhoven and E. Pesch, Genetic local search algorithms for the traveling salesman problem, In Parallel Problem Solving from Nature, Lecture Notes in Computer Science, Volume 496, pp. 109-116, (Edited by H.P. Schwefel and R. Manner), Springer-Verlag, Berlin, (1991).