29
1 Fuzzy Scheduling ents ntroduction to Fuzzy Sets pplication of Fuzzy Sets to Scheduling Problems Genetic Algorithm for Fuzzy Flowshop Scheduling Pr

1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

Embed Size (px)

Citation preview

Page 1: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

1

Fuzzy Scheduling

Contents

1. Introduction to Fuzzy Sets

2. Application of Fuzzy Sets to Scheduling Problems

3. A Genetic Algorithm for Fuzzy Flowshop Scheduling Problem

Page 2: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

2

Literature

1. Fuzzy sets, uncertainty, and information, G. J. Klir and T.A. Folger. Englewood Cliffs, N.J : Prentice Hall, 1988.

2. "Flowshop Scheduling with Fuzzy Duedate and Fuzzy ProcessingTime", by H. Ishibuchi and T. Nurata, in: Scheduling UnderFuzziness, R. Slowinski, and M. Hapke, (eds), Physica-Verlag,A Springer-Verlag Company, 2000, pages 113-143

3. "Genetic algorithms and neighborhood search algorithms forfuzzy flowshop scheduling problems", Ishibuchi, H., Yamamoto,N., Murata, T., Tanaka., H, Fuzzy Sets and Systems Vol. 67,No.1, 1994, pages 81-100.

Page 3: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

3

Introduction to Fuzzy Sets

crisp versus fuzzy

• conventional logic: statement is true • "classical" set theory: an element belongs to a set or not• optimisation: a solution is feasible or not

• Basic foundations of fuzzy sets:Lotfi Zadeh, Fuzzy Sets, Information and Control, Vol. 8, 1965

• dichotomous yes-or-no-type • more-or-less type

Page 4: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

4

• Classical set: x A or x A

Example. A - set of even natural numbers less than 10A = {2, 4, 6, 8}A(x) degree of membership of x in A

A(1) = 0 A(2) = 1...

or

Ax

AxxA if0

if1)(

• Fuzzy sets A~ )(~ x

A takes on values in the range [0, ],

is usually 1:

}|))(,({~

~ XxxxAA

Page 5: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

5

Examples.

A~ = "real number close to 10"

0

1.0

15 x5 10

)(~ xA

A~ = ”integers close to 10”

= { (7, 0.1), (8, 0.5), (9, 0.8), (10, 1), (11, 0.8), (12, 0.5), (13, 0.1)

Page 6: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

6

Fuzzy sets and probability measure

two bottles of liquid

first bottlehas membership 0.91in the fuzzy setof all drinkable liquids

second bottleprobability that it containsdrinkable liquids is 0.91

Which bottle would you choose?

Page 7: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

7

Application of Fuzzy Sets to Scheduling Problems

1. Approximate reasoning Approximate Reasoning is the process by which a possibleimprecise conclusion is deduced from a collection of imprecisepremises.Fuzzy IF-THEN Production Rules

2. Fuzzy constraintsHow to calculate satisfaction of the flexible constraints?

3. Fuzzy parametersMost often imprecise or incomplete are:

• fuzzy due dates• fuzzy processing times

Page 8: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

8

Example of a rule-based system for dispatching

Release job j next

Time characteristics Machine utilisation External priority

Slack time Waiting time

Approximate Reasoning

Page 9: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

9

Waiting time: {long, medium, short}Slack time: {critically short, short, sufficient}Time characteristics: {urgent, not urgent}

IF Waiting time is longAND Slack time is critically shortTHEN Time characteristics is urgent

IF Waiting time is mediumAND Slack time is critically shortTHEN Time characteristics is urgent

IF Waiting time is shortAND Slack time is critically shortTHEN Time characteristics is urgent

IF Waiting time is mediumAND Slack time is shortTHEN Time characteristics is not urgent...

0

1.0

8 T63 4.5

j(T) criticallyshort short sufficient

Page 10: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

10

Waiting time is A - crispSlack time is B - crisp

Fuzzy Rules Observed System State Fuzzy Advice

Time criterion is C- fuzzy

+

DEFUZZIFICATION

Page 11: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

11

Fuzzy Constraints

Cx

CxxC constraint violatesif0

constraint satisfiesif1)(

C(x) satisfaction grade of the solution x

crisp constraint

Cx

Cx

Cx

xC

constraint violatesif0

constraint satisfiespartially if)1,0(

constraint satisfies complitelyif1

)(fuzzy constraint

Page 12: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

12

Fuzzy Due Date

dj duedate of job jCj completion time of job j

jj

jjjj dC

dCC

if0

if1)(satisfaction grade

0

1.0

dj Cj

j(Cj)

Page 13: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

13

0

1.0

djU Cj

j(Cj)

djL

0

1.0

djU Cjdj

LejL ej

U

j(Cj)

Page 14: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

14

A Genetic Algorithm forFuzzy Flowshop Scheduling Problems

Problem Statement

flow shop schedulingn jobs which have fuzzy duedatesm machinessequence of n jobs is represented by a vector x=(x1, x2, ... ,xn)pi,j - processing time of job j on machine iCi,j - completion time of job j on machine i

C1,x1 = p1,x1

Ci,x1 = Ci-1,x1

+ pi,x1 for machines

i=2,3,...,m

C1,xk = C1,xk-1

+ p1,xk for jobs

k=2,3,...,n

Ci,xk= max {Ci-1,xk

, Ci,xk-1 } + pi,xk

for machines i=2,3,...,m and

for jobs k=2,3,...,n

Page 15: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

15

Objective 1:Maximisation of minimum satisfaction gradeMaximise fmin = min{ j(Cj) : j=1,2,...,n}

Objective 2:Maximisation of total satisfaction grade

n

jjjsum Cf

1)(Maximise

Page 16: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

16

total number of possible solutions: n! optimal solution can be found only for small-size problems for large-size problems search techniques could be used

Genetic algorithm

NotationN number of individuals in each populationxp

i i-th individual in the p-th populationp = {xp

i : i=1,2, ... , N} individuals in the p-th population

Characteristics of the algorithm• selection based on the roulette wheel• two-point order crossover• shift mutation• elite strategy

Page 17: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

17

Step 1. Initialisation

Randomly generate N individuals to construct an initial population 1

Step 2. Selection

Select N-1 individuals from the current population usingthe roulette wheel selection method with linear scaling

pj

pj

p

pi

pip

gg

ggP

px

x

xx

})()({

)()()(

min

minSelection probability

g(x) objective function fmin or fsum

gmin(p ) = min { g(xpj ) : xp

j p}

objective functionof the individual

minimum objective functionof the whole population

Page 18: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

18

Step 3. Crossover

• Two-point order crossover is applied to each of the selected pairswith a pre-specified crossover probability.

• When the crossover operator is not applied one parent becomesan offspring.

Parent 1 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10

Offspring J1 J2 J5 J3 J6 J7 J4 J8 J9 J10

Parent 2 J5 J3 J6 J9 J10 J1 J7 J2 J4 J8

Page 19: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

19

Step 4. Mutation

• Applied to each of the individuals generated by the crossoverwith a pre-specified mutation probability.

J1 J2 J5 J3 J6 J7 J4 J8 J9 J10

J1 J2 J8 J5 J3 J6 J7 J4 J9 J10

Page 20: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

20

Step 5. Elitist strategy

• Add the best individual from the previous population to the newN-1 individuals generated by the crossover and mutation.

Step 6. Termination test

• If a pre-specified stopping condition is satisfied stop.

Page 21: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

21

The value of the Objective function 1 (maximisation of theminimum satisfaction grade) is 0 if the satisfaction grade ofat least one job is 0.

0

1.0

djU Cjdj

LejL ej

U

j(Cj)

jU

jjU

j

Ujj

Ljjj

Ljj

Ljj

jj

CdCd

dCeC

eCeC

C

if)(

if)(

if)(

)(

is a positive constant

Objective 1’:Maximisation of minimum satisfaction gradeMaximise f’min = min{j(Cj) : j=1,2,...,n}

Page 22: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

22

Summary

Fuzzy sets and logic can be successfully used to treat varioustypes of uncertainty that exist in scheduling problems.Fuzzy duedate and fuzzy processing time are typical examplesof such uncertainty.

Many conventional scheduling problems could be reformulatedas fuzzy scheduling problems.

Page 23: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

23

Page 24: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

24

Experiments

• Population size N = 50• Crossover probability = 0.9• Mutation probability = 0.3• Stopping condition = 2000 generations

• Number of machines m = 10• 100 problems with n = 10 jobs

100 problems with n = 20 jobs100 problems with n = 50 jobs

• Processing time pi,j is a random integer from the interval [1,99]

Page 25: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

25

• Each job has a fuzzy duedate

How to generate djL and dj

U ?

1. Randomly generate a sequence x=(x1, x2, ... ,xn), n=10, 20, 50for each test problem

2. Calculate the completion time of each job Cj(x)

3. Calculate for each job j dj

L = Cj(x) - djU = Cj(x) +

is a random integer from the interval [100, 200]

0

1.0

djU Cj

j(Cj)

djL

Page 26: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

26

jj

jjjjj

jj

jj

CC

CCCCC-

CC

C

)(if0

)()(if2/))((1

)(if1

)(

x

xxx

x

jU

j

Ujj

Lj

Lj

Uj

Ljj

Ljj

jj

Cd

dCddddC-

dC

C

if0

if)/()(1

if1

)(

0

1.0

djU Cj

j(Cj)

djL

j(Cj)=0.5 if the jobs are processed in the order xx is the optimal solution for Objective 1(maximisation of the minimum satisfaction grade)

Page 27: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

27

Problem size 10-job 20-job 50-jobMinimum satisfaction grade 0.500 0.000 0.000Average satisfaction grade 0.500 0.485 0.499

Problem size 10-job 20-job 50-jobTotal satisfaction grade 8.376 17.797 46.693Average satisfaction grade 0.838 0.890 0.934

The value of the Objective function 1 (maximisation of theminimum satisfaction grade) is 0 if the satisfaction grade ofat least one job is 0.

Page 28: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

28

0

1.0

djU Cjdj

LejL ej

U

j(Cj)

jU

jjU

j

Ujj

Ljjj

Ljj

Ljj

jj

CdCd

dCeC

eCeC

C

if)(

if)(

if)(

)(

is a positive constant

Objective 1’:Maximisation of minimum satisfaction gradeMaximise f’min = min{j(Cj) : j=1,2,...,n}

Page 29: 1 Fuzzy Scheduling Contents 1. Introduction to Fuzzy Sets 2. Application of Fuzzy Sets to Scheduling Problems 3. A Genetic Algorithm for Fuzzy Flowshop

29

Problem size 10-job 20-job 50-jobMinimum satisfaction grade 0.500 0.472 0.367Average satisfaction grade 0.500 0.557 0.629

Heuristic method for initial solution:Process the given jobs in an increasing order of their duedates.With fuzzy duedates we can use values of dj

U to order the jobs

Initialisation: one heuristic schedule and N-1 randomly generated

Problem size 10-job 20-job 50-jobMinimum satisfaction grade 0.499 0.399 -69.030Average satisfaction grade 0.501 0.621 -10.409

Genetic algorithm can effectively utilise heuristic initial solutions!