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

Fuzzy Scheduling

  • Upload
    makana

  • View
    54

  • Download
    3

Embed Size (px)

DESCRIPTION

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. Literature 1. Fuzzy sets, uncertainty, and information , G. J. Klir and T.A. Folger. - PowerPoint PPT Presentation

Citation preview

Page 1: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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

AxAx

xA if0if1

)(

• Fuzzy sets A~ )(~ xA takes on values in the range [0, ], is usually 1

:

}|))(,({~~ XxxxA A

Page 5: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

11

Fuzzy Constraints

CxCx

xC constraint violatesif0 constraint satisfiesif1

)(

C(x) satisfaction grade of the solution x

crisp constraint

CxCx

CxxC

constraint violatesif0 constraint satisfiespartially if)1,0(

constraint satisfies complitelyif1)(fuzzy constraint

Page 12: Fuzzy Scheduling

12

Fuzzy Due Date

dj duedate of job jCj completion time of job j

jj

jjjj dC

dCC

if0if1

)(satisfaction grade

0

1.0

dj Cj

j(Cj)

Page 13: Fuzzy Scheduling

13

0

1.0

djU Cj

j(Cj)

djL

0

1.0

djU Cjdj

LejL ej

U

j(Cj)

Page 14: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

17

Step 1. InitialisationRandomly generate N individuals to construct an initial population 1

Step 2. SelectionSelect N-1 individuals from the current population usingthe roulette wheel selection method with linear scaling

pj

pj

p

pi

pip gg

ggP

pxx

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: Fuzzy Scheduling

18

Step 3. Crossover• Two-point order crossover is applied to each of the selected pairs

with a pre-specified crossover probability.• When the crossover operator is not applied one parent becomes

an 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: Fuzzy Scheduling

19

Step 4. Mutation• Applied to each of the individuals generated by the crossover

with 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: Fuzzy Scheduling

20

Step 5. Elitist strategy• Add the best individual from the previous population to the new

N-1 individuals generated by the crossover and mutation.

Step 6. Termination test• If a pre-specified stopping condition is satisfied stop.

Page 21: Fuzzy Scheduling

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

CdCddCeC

eCeCC

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: Fuzzy Scheduling

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: Fuzzy Scheduling

23

Page 24: Fuzzy Scheduling

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: Fuzzy Scheduling

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: Fuzzy Scheduling

26

jj

jjjjj

jj

jj

CCCCCCC-

CCC

)(if0)()(if2/))((1

)(if1)(

xxxx

x

jU

j

Ujj

Lj

Lj

Uj

Ljj

Ljj

jj

CddCddddC-

dCC

if0if)/()(1if1

)(

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: Fuzzy Scheduling

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: Fuzzy Scheduling

28

0

1.0

djU Cjdj

LejL ej

U

j(Cj)

jU

jjU

j

Ujj

Ljjj

Ljj

Ljj

jj

CdCddCeC

eCeCC

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: Fuzzy Scheduling

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!