Sei sulla pagina 1di 25

Surrogate-Assisted Multiobjective Evolutionary

Algorithm for Fuzzy Job Shop Problems


Juan Jos Palacios1 Jorge Puente1 Camino R. Vela1
Ins Gonzlez-Rodrguez2 El-Ghazali Talbi3
1 Dept.
2 Dept.

of Computer Science, University of Oviedo (Spain)

of Mathematics, Statistics and Computing, University of Cantabria (Spain)

3 DOLPHIN

Team, INRIA Lille-Nord Europe and LIFL, Universit Lille 1 (France)

MIC 2015

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

1 / 22

Starting Point

Scheduling problem: multiple applications and high complexity


(metaheuristics).
Real-world uncertainty: fuzzy input data.
Solutions must be both good and robust.
Robustness evaluation can become computationally too heavy.

Objective
Simultaneously optimise performance and robustness of solutions at a
reasonable computational cost.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

2 / 22

Outline

The Fuzzy Job Shop Scheduling Problem

Surrogate-Assisted MOEA

Empirical Behaviour

Conclusions

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

3 / 22

Job Shop Scheduling Problem (JSP)

Job 1

p1

p2

p3

Job 2

p4

p5

p6

Job 3

p7

p8

p9

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

4 / 22

Job Shop Scheduling Problem (JSP)

M1
Job 1

p1

Job 2

p4

Job 3

p7

M2
p2

M2

M3
p5

M3

Palacios et al. (Uniovi-Unican-INRIA)

M3
p3

M1
p6

M2
p8

SMOEA 4 FJSP

M1
p9

MIC 2015

4 / 22

JSP: Solution
Solution: feasible assignment of starting times to all operations.
Cmax

o(1, 1)

J1

o(1, 2)

o(2, 1)

J2

o(2, 2)

o(3, 1)

J3
0

o(3, 2)
7

10

11

12

13

14

time units


Objective: minimise makespan Cmax = max Cij .

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

5 / 22

Fuzzy Job Shop Scheduling

Classical JSP assumes complete knowledge about processing


times.
(Un)fortunately, the real world is full of uncertainty.

The FJSP Problem


The fuzzy job shop (FJSP) is a JSP with uncertain processing times
are modelled using fuzzy numbers.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

6 / 22

FJSP: Triangular Fuzzy Numbers


The FJSP assumes that we only know:
an interval of possible values for the duration [a1 , a3 ],
a most likely duration a2 in that interval.
This knowledge is represented by a triangular fuzzy number, TFN,
A = (a1 , a2 , a3 ):

a1

Palacios et al. (Uniovi-Unican-INRIA)

a2

SMOEA 4 FJSP

a3

MIC 2015

7 / 22

FJSP: Working With Triangular Fuzzy Numbers

addition:
A + B = (a1 + b1 , a2 + b2 , a3 + b3 )
maximum:
max(A, B) (max{a1 , b1 }, max{a2 , b2 }, max{a3 , b3 })
expected value:
E[A] =

1 1
(a + 2a2 + a3 )
4

total ordering:
A E B iff E[A] E[B]

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

8 / 22

FJSP: Fuzzy times


Example:
So = (1, 2, 4),

do = (4, 5, 6)

So

Co

Palacios et al. (Uniovi-Unican-INRIA)

10

11

10

11

Co

So
0

Co = So + do = (5, 7, 10)

SMOEA 4 FJSP

MIC 2015

9 / 22

FJSP: Gantt Representation


Solution: feasible assignment of starting times (TFNs) to all operations.
Cmax

o(1, 1)

J1

o(1, 2)

o(2, 1)

J2

o(2, 2)

o(3, 1)

J3
0

o(3, 2)
7

10

11

12

13

14

15

16

17

18

19

time units

Objective: minimise expected makespan E[Cmax ].

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

10 / 22

Fuzzy Schedule=Predictive Schedule


Cmax

o(1, 1)

J1

o(1, 2)

o(2, 1)

J2

(task ordering 11 , 21 , 31 , 22 , 32 , 12 )

o(3, 1)

J3
0

Predictive schedule

o(2, 2)

o(3, 2)
7

10

11

12

13

14

15

16

17

18

19

time units

real environment

Cmax

o(1, 1)

J1

o(1, 2)

o(2, 1)

J2

Executed schedule

o(2, 2)

o(3, 1)

J3
0

o(3, 2)
7

10

11

12

13

14

time units

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

11 / 22

-Robustness for Fuzzy Schedules


A predictive schedule is robust if the quality of the eventually executed
schedule is close to the quality of the predictive schedule.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

12 / 22

-Robustness for Fuzzy Schedules


A predictive schedule is robust if the quality of the eventually executed
schedule is close to the quality of the predictive schedule.
We have:
a fuzzy (predictive) schedule with makespan Cmax,pred (a TFN);
the executed schedule with makespan Cmax,ex ;

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

12 / 22

-Robustness for Fuzzy Schedules


A predictive schedule is robust if the quality of the eventually executed
schedule is close to the quality of the predictive schedule.
We have:
a fuzzy (predictive) schedule with makespan Cmax,pred (a TFN);
the executed schedule with makespan Cmax,ex ;

-robustness
A predictive schedule is -robust for  0 if
|Cmax,ex E[Cmax,pred ]|
.
E[Cmax,pred ]

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

12 / 22

Simulated -Robustness
What happens when there is no real environment and executed
schedule?
from FJSP, simulate K possible real environments;
for each real environment k = 1, . . . , K :
I
I

compute executed makespan Cmax,k ;


evaluate -robustness:
k =

|Cmax,k E[Cmax,pred ]|
;
E[Cmax,pred ]

approximate -robustness by averaging across K simulations:


PK
 =

Palacios et al. (Uniovi-Unican-INRIA)

k =1 k

SMOEA 4 FJSP

MIC 2015

13 / 22

MOEA: General ideas


We use a dominance-based MOEA to simultaneously minimise
makespan E[Cmax ] and robustness .
Based on NSGA-II;
Coding: permutations with repetitions;
Decoding: insertion-based strategy
GOX crossover and insertion-based mutation;
Selection: random pair grouping;
Replacement as in NSGA-II but removing duplicates;
Stopping criterion: no solution in the set of non-dominated
solutions is removed after niiter iterations.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

14 / 22

MOEA: Fitness Evaluation


Problem
The evaluation of the robustness  is very expensive.

Solution: sMOEA
Keep a cache of previously evaluated solutions and approximate  of
an individual based on its proximity to those in the cache.
Proximity: Given two individuals with fuzzy makespan values A and B
their similarity is the similarity between A and B:
SA,B =

area(A B)
area(A B)

they are approximately equal given 0 iff SA,B

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

15 / 22

MOEA: Cache

Maximum cache size: parameter .


Updating For every new solution s find the most similar element sc in
the cache:
if approximately equal, take  from sc ;
if not approximately equal, s is fully evaluated and added to the
cache (replace the least-used cached-solution if cache is full).
Initialisation: Start with empty cache and apply updating strategy to
every individual in the initial population.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

16 / 22

Experimental setup

Fuzzified version of La29 (challenging JSP instance);


Stopping criteria: MOEA runs until convergence and sMOEA runs
to evaluate same number of individuals as MOEA.
Comparison metrics: hypervolume (HV), -indicator, time
reduction.
Population size: 100

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

17 / 22

Values of similarity threshold and cache size


Initially considered values: 0.10 0.95, 10 200.
Improvement
& Hypervolume
(Sim>=0.95) values:
HV,Time
time
reduction
for best
Time Improvement & Hypervolume (Sim>=0.9)
0.71
105%
85%

0.70

0.69

0.69

0.68
0.67

65%

0.66

45%

0.65
0.64

25%

0.63

5%

0.62

-15%

0.61
10

25

50

75

100

0.71

0.70 105%
85%

0.68
0.67

65%

0.66

45%

0.65

0.64

25%

0.63

5%

0.62

-15%

200

0.61
10

= 0.95
-indicator allows to discard 6= 100.
Time

Hypervolume

25

50
Time

75

100

200

Hypervolume

= 0.90

Conclusion: Consider only (, ) = (0.90, 100), (0.95, 100).

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

18 / 22

Comparing sMOEA(0.90,100), sMOEA(0.95,100) and


MOEA using no cache.
Based on HVs of all runs:
0.72

0.7

0.68

0.66

0.64

0.62

0.6
sMOEA(0.90,100)

Palacios et al. (Uniovi-Unican-INRIA)

sMOEA(0.95,100)

SMOEA 4 FJSP

MOEA

MIC 2015

19 / 22

Comparing sMOEA(0.90,100), sMOEA(0.95,100) and


MOEA using no cache.
[0.8, 1.0]
[0.6, 0.8)
[0.4, 0.6)
[0.2, 0.4)
[0.0, 0.2)

0.003

0.004

0.004

objective 2
0.005
0.006

objective 2
0.006

No Cache

0.007

0.008

0.008

0.01

0.009

Based on EAFs:

1350

objective 1
1450
1550

1250
1650

1350

1750

1450
1550
objective 1

1650

1750

1350

objective 1
1400 1450

1500

1550

1600

1350

1400 1450
objective 1

1500

1550

1600

0.008
0.004

0.004
1300

1300

objective 2
0.006

0.008
0.006
objective 2

Cache = 100
Sim > 0.90

1250

1350

objective 1
1450
1550

1650

1250

1750

1350

1450
1550
objective 1

1650

1750

Cache = 100
Sim > 0.95

0.003

0.004

0.004

0.006
objective 2

0.005
0.006
objective 2

0.008

0.007

0.008

0.01

0.009

1250

1250

0.01

0.01

1250

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

20 / 22

Conclusions and Future Work

MOEA to optimise both


makespan and robustness
Surrogate fitness evaluation
for robustness.
Surrogate fitness evaluation
allows to reduce running times
(25%) without significant loss
in quality.

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

Preliminary results: more


experiments on benchmark
instances.
Consider alternative similarity
measures.

MIC 2015

21 / 22

Thank you!
Questions?

Palacios et al. (Uniovi-Unican-INRIA)

SMOEA 4 FJSP

MIC 2015

22 / 22

Potrebbero piacerti anche