métodos de otimização discreta

60
Métodos de Otimização Discreta EA 044 Planejamento e Análise de Sistemas de Produção DCA-FEEC-Unicamp

Upload: trankhanh

Post on 07-Jan-2017

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Métodos de Otimização Discreta

Métodos de OtimizaçãoDiscreta

EA 044 Planejamento e Análisede Sistemas de Produção

DCA-FEEC-Unicamp

Page 2: Métodos de Otimização Discreta

2

Tópicos

1-Introdução

2-Relaxação de modelos discretos

3-Relaxação forte

4-Algoritmo branch and bound

5-Detalhes do algoritmo para PLI

6-Estratégias de busca e desempate

7-Algoritmo branch and cut PLI

8-Algoritmos heurísticos

Page 3: Métodos de Otimização Discreta

3

1-Introdução

� Métodos de otimização discreta

– enumeração

– relaxação

– busca

� Problemas práticos: maioria requer uso de heurísticas

� Busca: determinística e estocástica

DCA-FEEC-Unicamp

Page 4: Métodos de Otimização Discreta

4

DCA-FEEC-Unicamp

Exemplo: enumeração

Enumeração total: resolve problemas de otimização discreta verificandoa factibilidade e comparando todos os valores possíveis das variáveis dedecisão (combinações dos valores discretos das variáveis de decisão).

1ou0,,

1

1sa

1947max

321

32

31

321

=≤+≤+

++

xxx

xx

xx

xxx solução objetivo

(0, 0, 0) 0

(0, 0, 1) 19

(0, 1, 0) 4

(0, 1, 1) infactível

(1, 0, 0) 7

(1, 0, 1) infactível

(1, 1, 0) 11

(1, 1, 1) infactível

soluçãoótima

Page 5: Métodos de Otimização Discreta

5

DCA-FEEC-Unicamp

� Problema com a enumeração total

– explosão combinatorial

– k variáveis de decisão (binárias) → 2k soluções !

� k = 100 → 2100 ≈ 1030

� Computador: se verifica 1 trilhão de soluções/segundo = 1012

1030 / 1012 = 1018 segundos

1018 segundos ≈ 400 milhões de séculos !!

Page 6: Métodos de Otimização Discreta

6

DCA-FEEC-Unicamp

Relaxação de modelos discretos

}1,0{,

0,

75

200

30045.1sa

7205503020max

21

21

22

11

21

2121

∈≥

≤≤

≤+−−+

yy

xx

yx

yx

xx

yyxx

� Modelo P é uma relaxação (de restrições) do modelo P se toda

solução factível de P também é uma solução factível de P e ambos

modelos possuem a mesma função objetivo

� Relaxações devem ser significativamente mais tratáveis que modelos

originais.

3450

0,1

0,200

21

21

=

==

==

∗∗

∗∗

v

yy

xx

Page 7: Métodos de Otimização Discreta

7

DCA-FEEC-Unicamp

}1,0{,

0,

150

400

60045.1

21

21

22

11

21

∈≥≤≤≤+

yy

xx

yx

yx

xx

}1,0{,

0,

75

200

21

21

22

11

∈≥≤

yy

xx

yx

yx

]1,0[,

0,

75

200

30045.1

21

21

22

11

21

∈≥≤≤≤+

yy

xx

yx

yx

xx

Restrições revisadas Observação

• dobra capacidadesótimo: x1 = 400, x2 = 0, y1 = 1, y2 = 0v = 7450

• não é significativamente mais tratável

• elimina primeira restriçãoótimo: x1 = 200, x2 = 75, y1 = 1, y2 = 1v = 4980

• eliminação desacopla restrições

• relaxa para modelo linearótimo: x1 = 200, x2 = 0, y1 = 1, y2 = 0v = 3450

• Relaxação PL

Page 8: Métodos de Otimização Discreta

8

DCA-FEEC-Unicamp

Soluções de relaxação

ótimo

soluções factíveis modelo original

soluções factíveis modelo relaxado

Soluções ótimas de relaxações

– max: limitante superior

– min : limitante inferior

� Se a solução ótima do problema relaxado é factível para o problema

original, então ela é também a solução ótima do problema original

� Se o modelo relaxado é infactível, o modelo original também é

Page 9: Métodos de Otimização Discreta

9

DCA-FEEC-Unicamp

Arredondamento de soluções de relaxação

x = menor inteiro maior ou igual a x

x = maior inteiro menor ou igual a x

max: solução factível (inteira) → limitante inferior para o valor da função objetivo

min: solução factível (inteira) → limitante superior para o valor da função objetivo

restrições de igualdade criam problemas para arredondamento

}1,0{,,

2

40)0,0,1(57112sa

71.47)7

3,0,1(~18240max

321

321

321

321

∈≤++

==≤++

==++

xxx

xxx

vxxxx

vxxxx limitante superior

limitante inferior

Page 10: Métodos de Otimização Discreta

10

DCA-FEEC-Unicamp

3-Relaxação forte

� Se relaxação é uma boa aproximação do modelo original, então

– detecta infactibilidade rapidamente

– obtém limitantes mais precisos

– tem maior chance de fornecer a solução ótima

– arredondamento mais fácil

� Relaxação é forte se

– valor ótimo é mais próximo do valor ótimo do modelo original

– solução ótima é mais próxima da solução ótima do modelo original

Page 11: Métodos de Otimização Discreta

11

DCA-FEEC-Unicamp

}1,0{,,

1

1

1sa

max

321

32

31

21

321

∈≤+≤+≤+++

xxx

xx

xx

xx

xxx

}1,0{,,

1

1

1

1sa

max

321

321

32

31

21

321

∈≤++

≤+≤+≤+++

xxx

xxx

xx

xx

xx

xxx

soluções factíveis (para ambos): x = ( 1, 0, 0 ), ( 0, 1, 0 ), ( 0, 0, 1 )

soluções modelos relaxados: x1 = ( 1/2, 1/2, 1/2), x2 = ( 1, 0, 0 )*

limitantes modelos relaxados: v1 = 3/2 e v2 = 1

relaxação 2 mais forte

1

Exemplo

2

Page 12: Métodos de Otimização Discreta

12

DCA-FEEC-Unicamp

Desigualdades válidas� desigualdade é válida para um modelo de otimização discreta se

ela é satisfeita para todas soluções factíveis (inteiras) do modelo

� para obter uma relaxação forte, uma desigualdade válida deve“cortar“ (tornar infactíveis) algumas soluções factíveis do modelorelaxado que não são factíveis para o modelo original

1

)1,5

4,0(

}1,0{,,x

10653sa

18143max

32

321

321

321

≤+

=

∈≤++

++

xx

x

xx

xxx

xxx

132 ≤+ énãoxx fortalecerelaxação

solução relaxada

desigualdade

Page 13: Métodos de Otimização Discreta

13

DCA-FEEC-Unicamp

Relaxação Lagrangeana

0Se

0Se:ominimizaçã

0Se

0Se:omaximizaçã

originalobjetivofunção

≤→≤

≥→≥

≥→≤

≤→≥

+

−++=

iij

jij

iij

jij

iij

jij

iij

jij

jjijii

vbxa

vbxa

vbxa

vbxa

xabvL LL

Restrições a dualizar são escolhidas para tornar o modelorelaxado ainda discreto, mas com estrutura mais tratável

Page 14: Métodos de Otimização Discreta

14

DCA-FEEC-Unicamp

}1,0{,

0,

75

200

30045.1sa

7205503020max

21

21

22

11

21

2121

∈≥≤≤≤+

−−+

yy

xx

yx

yx

xx

yyxx

0,

}1,0{,

0,

30045.1sa

)750{)2000(7205503020max

21

21

21

21

2221112121

∈≥≤+

+−++−+−−+

vv

yy

xx

xx

yxvyxvyyxx

solução ótima de relaxação Lagrangeana é um limitantesuperior para maximização e inferior para minimização

Exemplo

Page 15: Métodos de Otimização Discreta

15

DCA-FEEC-Unicamp

4-Algoritmo branch and bound

1 2 3 4

custo de operação 7 12 5 14

potência 300 600 500 1600

Gerador

}1,0{,,,

7001600500600300sa

145127min

contráriocaso0

usadoégerador1

4321

4321

4321

∈≥+++

+++

=

xxxx

xxxx

xxxx

jx j

solução ótima: usar 1 e 3custo: $ 12.000

Exemplo 1

Page 16: Métodos de Otimização Discreta

16

DCA-FEEC-Unicamp

Árvore de busca

� Soluções parciais

– possuem algumas das variáveis fixas, outras livres

– variáveis livres denotadas por #

x = (1, #, 0, #) solução parcial com x1 = 1 e x3 = 0 fixos, x2 e x4 livres

� Completamento de solução parcial

– soluções completas consistentes com a solução parcial

– todas as componentes fixadas

x = (1, #, #, 0) → (1, 0, 0, 0 , (1, 0, 1, 0), (1, 1, 0, 0), (1, 1, 1, 0)

factíveis

Page 17: Métodos de Otimização Discreta

17

� Nós: soluções parciais

� Arcos: indicam como as variáveis são fixadas nas

soluções parciais

� Raiz: solução parcial x(0) = (#, ...., #)

� Nós ativos: soluções parciais não analisadas

Page 18: Métodos de Otimização Discreta

18

DCA-FEEC-Unicamp

branch and bound

1-termina soluções parciais quando ou identifica um melhor

complementamento, ou não pode produzir a solução

ótima para o modelo

2-se uma solução parcial não pode ser terminada, ela é ramificada

(branch) criando duas novas soluções parciais a partir da solução

parcial atual e as variáveis livres que ela contém

3- pára: quando todas soluções parciais foram terminadas ou ramificadas

Page 19: Métodos de Otimização Discreta

19

� Estratégias de busca

– profundidade (depth first), a mais simples

– primeiro melhor (best first)

– depth forward best back

� Solução incumbente

– melhor (valor da função objetivo) solução factível conhecida até então

– vx ˆ,ˆ

Page 20: Métodos de Otimização Discreta

20

DCA-FEEC-Unicamp

� Se branch and bound pára com

– todas as soluções parciais terminadas ou ramificadas

– então a solução incumbente final é um ótimo global (se existir)

– caso contrário o modelo é infactível

� Problema candidato associado à uma solução parcial

– versão restrita do modelo

– obtida quando as variáveis são fixadas como na solução parcial

Page 21: Métodos de Otimização Discreta

21

� Problema candidato associado à solução parcial x = (#, 1, #, 0)

0,1

}1,0{,,

7001600500600300sa

145127min

42

31

4321

4321

==∈

≥++++++

xx

xx

xxxx

xxxx

� Completamentos factíveis de soluções parciais são as soluções factíveisdo problema candidato correspondente

� Valor da função objetivo do melhor completamento factível é o valorótimo do problema candidato

Exemplo

Page 22: Métodos de Otimização Discreta

22

DCA-FEEC-Unicamp

Terminando soluções1-se uma relaxação de um problema candidato é infactível, então a

solução parcial associada pode ser terminada porque não existem

completamentos factíveis

2-se uma relaxação de um problema candidato possui valor da função

objetivo pior do que o valor da solução incumbente, então a solução

parcial pode ser terminada porque nehum complementamento factível

terá valor melhor do que o da solução incumbente

3-se uma solução ótima de uma relaxação do problema candidato é

factível para o modelo original, então ela é o melhor completamento

associado à solução parcial

4-esta solução, após comparação com outra, se existir, pode ser terminada

Page 23: Métodos de Otimização Discreta

23

DCA-FEEC-Unicamp

Algoritmo branch and bound PLI (0,1)Passo 0 Inicialização: com solução parcial x0 = (#,...,#), t ← 0;

ou com solução incumbente (x, v) se disponível;

Passo 1 Parada: se ∃ solução partial, selecionar uma delas xt ; ir para Passo 2;senão, se ∃ solução incumbente, ela é ótima; senão modeloinfactível

Passo 2 Relaxação: resolver relaxação PL problema candidado xt;

Passo 3 Termina por infactibilidade: se relaxação PL infactível, não ∃complementamentos factíveis para xt ; terminar, t ← t + 1;ir para Passo 1;

Passo 4 Termina por limite: solução ótima PL relaxado tem valor pior do que a solução incumbente corrente, então terminar; t = t + 1;ir para Passo 1;

Passo 5 Termina por solução: solução ótima PL relaxado satisfaz restrições binárias modelo original → melhor complementamento factível de xt; nova solução incumbente; termina xt; t = t + 1; ir para Passo 1;

Passo 6 Ramificação: escolher variável livre fracionária no PL relaxado ótimo;criar dois novos arcos; t = t + 1; ir para Passo 1;

Page 24: Métodos de Otimização Discreta

24

DCA-FEEC-Unicamp

12.6~)44.0,0,0,0(~ )0(

==

v

x

9~)0,1,33.0,0(~ )2(

==

v

x

0

1 2

3

4 5

6

7

8 9

10

67.9~)0,1,0,67.0(~ )6(

==

v

x

14~)1,0,0,0(~ )1(

==

v

x

13~)0,2.0,1,0(~ )3(

==

v

x

17~)0,1,1,0(~ )4(

==

v

x

33.14~)0,0,1,33.0(~ )5(

==

v

x

11~)0,8.0,0,1(~ )7(

==

v

x

12~)0,1,0,1(~ )8(

==

v

x

∞=v̂

14ˆ =v

por solução

por limite por limite

por solução

infactível

infactível

x4 = 1 x4 = 0

x2 = 1 x2 = 0

x3 = 1 x3 = 0 x1 = 1 x1 = 0

x3 = 1 x3 = 0

Exemplo 1

Page 25: Métodos de Otimização Discreta

25

DCA-FEEC-Unicamp

Problema de maximização, x1, x2, x3 = 0 ou 1; x4 ≥ 0

Exemplo 2

Page 26: Métodos de Otimização Discreta

26

DCA-FEEC-Unicamp

4 5

3

2

6

1

0

por solução

infactível

por limite

por solução

Page 27: Métodos de Otimização Discreta

27

DCA-FEEC-Unicamp

5-Detalhes do algoritmo para PLI

� uso de arrendondamento

� limitantes superiores proporcionados por nós pais

� sequência de enumeração: estratégias de busca

� parada prematura

� uso de desigualdades válidas

p

e d

pai

filhofilho

← árvore busca

Page 28: Métodos de Otimização Discreta

28

DCA-FEEC-Unicamp

}1,0{,,

1

1

1

)20242020(1431410

)20202015(1431758

)20142010(14542418

)20092005(12417858553

)20042000(10541326sa

185300818150200

105207050203200max

141

37

36

35

34

211

149

118

54

141364

14131186

1413111065

1413121097532

1297321

14131211109

87654321

∈≤≤≤≤≤

≤+≤+≤+

−≤+++−≤++++−≤+++++−≤++++++++−≤+++++

+++++++++++++

xx

xx

xx

xx

xx

xx

xx

xx

xx

xxxx

xxxxx

xxxxxx

xxxxxxxxx

xxxxxx

xxxxxx

xxxxxxxx

L

Exemplo 3

exclusão mútua

dependência

Page 29: Métodos de Otimização Discreta

29

� Arredondamento de soluções relaxadas parciais

– quando aplicável, ajuda a encontrar incumbentes

– arredondamento feito antes de ramificar

– pode fornecer ótimo aproximado

� Arredondamento não garante obtenção de novas incumbentes

Page 30: Métodos de Otimização Discreta

30

Exemplo 3

Page 31: Métodos de Otimização Discreta

31

Exemplo 3

Page 32: Métodos de Otimização Discreta

32

DCA-FEEC-Unicamp

� Nós pai fornecem limitantes

– valor ótimo da relaxação associado a nós pai de soluções parciais

– limitante superior para problemas de maximização

– limitante inferior para problemas de minimização

� Sempre que branch and bound acha nova solução incumbente

qualquer solução parcial ativa cujo limitante fornecido pelo

nó pai não é melhor que o valor da nova solução pode ser

terminada

Page 33: Métodos de Otimização Discreta

33

DCA-FEEC-Unicamp

Parada prematura

� Maximização: máximo dos valores ótimos das relaxações de nós pais de

soluções parciais sempre fornece limitante superior para o

valor ótimo do problema original

� Minimização: mínimo dos valores ótimos das relaxações de nós pais de

soluções parciais sempre fornece limitante inferior para o

valor ótimo do problema original

Page 34: Métodos de Otimização Discreta

34

Nós ativos após exploração do nó 6 , exemplo 2: {8,10,11,12, 7, 15}

Pais de {8,10,11,12, 7, 15} → {1, 3, 4, 5, 6}

Melhor possível: max {798, 75, 793,17, 791,25, 787,,00, 770,50 ) = 798,75

melhor solução incumbente até então : nó 6, valor v = 755

Erro aproximação: ( 798.75 - 755 ) / 755 = 0.58 → 5,8 %

Exemplo

Page 35: Métodos de Otimização Discreta

35

DCA-FEEC-Unicamp

6-Estratégias de busca e de desempate

� Estratégias de busca

– primeiro em profundidade (depth fist)

• maior número componentes solução parcial fixos

– primeiro melhor (best first)

• solução ativa com melhor limitante estabelecido pelo pai

– depth forward best back

• proceder em profundidade; decidir pelo melhor quando

terminar uma solução parcial

� Estratégias de desempate

– optar pelo arco x = 1 (ou x = 0)

– decidir pelo filho mais próximo

Page 36: Métodos de Otimização Discreta

36

Exemplo 3

Page 37: Métodos de Otimização Discreta

37

Exemplo 3

Page 38: Métodos de Otimização Discreta

38

Exemplo 3

Page 39: Métodos de Otimização Discreta

39

7-Algoritmo branch and cut PLI (0,1)

Passo 0 Inicialização: com solução parcial x0 = (#,...,#), t ← 0;

ou com solução incumbente (x, v) se disponível;

Passo 1 Parada: se ∃ solução partial, selecionar uma delas xt ; ir para Passo 2;

senão, se ∃ solução incumbente, ela é ótima; senão modelo infactível

Passo 2 Relaxação: resolver relaxação PL problema candidado xt;

Passo 3 Termina por infactibilidade: idem branch and bound básico;

Passo 4 Termina por limite: idem branch and bound básico;

Passo 5 Termina por solução: idem branch and bound básico;

Passo 6 Desigualdade válida: verificar se podemos identificar uma restrição de

desigualdade válida para o problema original que é violada pela

solução ótima corrente do problema relaxado; sucesso: incluir

restrição no modelo original; t = t + 1; ir para Passo 2;

Passo 6 Ramificação: idem branch and bound básico;

DCA-FEEC-Unicamp

Page 40: Métodos de Otimização Discreta

40

Exemplo 1125.6~

)438.0,0,0,0(~ )0(

==

v

x

636.6~)182.0,818.0,0,0(x~ )1(

==

v

0

1

6 2

3

4 5

75.6~)125.0,1,0,0(x~ )2(

==

v14~)5.0,0,0,1(x~ )6(

==

v

12~)5.0,1,0,0(x~ )3(

==

v

12~)0,1,0,1(x~ )5(

==

v

por limite

por solução

x3 = 0 x3 = 1

x4 = 1 x4 = 0

∞=v̂

14321 ≥+++ xxxx

por solução19~

)1,1,0,0(x~ )4(

==

v19ˆ =v

12ˆ =v

22 4321 ≥+++ xxxx

Branch and cut

Page 41: Métodos de Otimização Discreta

41

8-Algoritmos heurísticos

Passo 0 Inicialização: solução factível x0; t ← 0;

Passo 1 Ótimo local: se nenhuma direção ∆x de M melhora a função objetivo ou não é

factível em xt , então parar; xt é ótimo local;

Passo 2 Move: escolher direção factível que melhora função objetivo ∆ x ∈ M → ∆ xt +1;

Passo 3 Atualiza: xt +1 ← xt + ∆ xt +1;

Passo 4 Incrementa: t = t + 1; ir para Passo 1;

� Eficiência depende de como se determina M

� Busca + inicializações múltiplas

DCA-FEEC-Unicamp

Page 42: Métodos de Otimização Discreta

42

Exemplo

}1,0{,,,

322sa

14112518max

4321

4321

4321

∈≤+++

+++

xxxx

xxxx

xxxx

� Vizinhança

– complemento simples da melhor solução em t

(trocar valor de uma única componente 0 ↔ 1)

� Se mais de um elemento de M é factível, selecionar o melhor

xo = (1, 0, 0, 0)

Page 43: Métodos de Otimização Discreta

43

xo = (1, 0, 0, 0), f (xo) = 18

M = {(0, 0, 0, 0), (1, 0, 1, 0), (1, 0, 0, 1)} (f = 0, f = 29, f = 32)

x1 = (1, 0, 0, 1), f (x1) = 32

M = {(0, 0, 0, 1), (1, 0, 0, 0)} (f = 14, f = 18)

não melhora; algoritmo pára com

x* = x1 = (1, 0, 0, 1)

f (x*) = 32

Page 44: Métodos de Otimização Discreta

44

DCA-FEEC-Unicamp

−−

=

∀∈

∀=

∀=

∑∑∑

=

=

= = =+

contráriocaso0

furoésimodoaéperfuraçãoésimase1

,}1,0{

1

1sa

min

10

1

10

1

10

1

10

1

10

11

iky

iky

iy

ky

yyd

ki

ki

kki

iki

k i jjkkiij

1

2

3

4

7

89 10

6

5M : {pares (k, l) de trocasde posições k, l }

distância total

ordem perfuração

todos furos

Page 45: Métodos de Otimização Discreta

45

DCA-FEEC-Unicamp

� Alternativa quando não existem soluções factíveis que melhoramo valor da função objetivo é permitir movimentos ao longo dedireções não factíveis para “escapar” de ótimos locais

� Problema: movimentos não factíveis causam ciclagem

� Busca tabu: proibe temporariamente a consideração de direçõesque levam à soluções recentemente visitadas

lista tabu

Page 46: Métodos de Otimização Discreta

46

DCA-FEEC-Unicamp

Passo 0 Inicialização: com solução factível x0; número máximo iterações tmax;

solução incumbente x^ ← x0; nenhuma direção é tabu; t ← 0;

Passo 1 Parada: se nenhuma direção não tabu ∆x de M leva a um vizinho de xt

factível, ou t = tmax, então parar; solução incumbente x^ é ótima aproximada;

Passo 2 Move: escolher direçãofactível não tabu ∆ x ∈ M → ∆ xt +1;

Passo 3 Atualiza: xt +1 ← xt + ∆ xt +1;

Passo 4 Solução incumbente: se valor função objetivo para xt +1 é melhor que a solução

incumbente x^, então xt +1 é solução incumbente corrente;

Passo 5 Lista tabu: remover direções da lista que já estão há um número de iterações;

acrescentar direções que levam xt +1 de volta à xt;

Passo 6 Incrementa: t = t + 1; ir para Passo 1;

Busca tabu

Page 47: Métodos de Otimização Discreta

47

DCA-FEEC-Unicamp

Busca estocástica: simulated annealing

Passo 0 Inicialização: com solução factível x0; número máximo iterações tmax;

solução incumbente x^ ← x0; temperaturaq > 0 grande; t ← 0;

Passo 1 Parada: se nenhuma direção ∆x de M leva a um vizinho de xt factível, ou se

t = tmax, então parar; solução incumbente x^ é ótima aproximada;

Passo 2 Move: escolher aleatoriamente direção factível ∆ x ∈ M → ∆ xt+1; calcular

variação ∆obj ao mover de xt para xt +1 (∆obj não positivo ⇒ piora);

Passo 3 Aceita: Se ou xt +1 melhora ou se ∆obj < 0 com probabilidade e∆obj/q , então

aceitar e atualizar xt +1 ← xt + ∆ xt +1; caso contrário ir para o Passo 2;

Passo 4 Solução incumbente: se valor função objetivo para xt +1 é melhor que para solução

incumbente x^, então xt +1 é solução incumbente corrente;

Passo 5 Redução temperatura: após um número suficiente de iterações depois da última

mudança de temperatura, reduzir temperatura q;

Passo 6 Incrementa: t = t + 1; ir para Passo 1;

Page 48: Métodos de Otimização Discreta

48

DCA-FEEC-Unicamp

Busca estocástica: algoritmos genéticos

P(t) : população de soluções candidatas (x1, x2, ......, xp) no passo t

algoritmoGenético

iníciot ← 0;inicializar P(t);enquanto t ≤ tmax fazer

inicioavaliar P(t) ;selecionar pares de soluções de acordo com função objetivo;produzir filhos de acordo com operadores genéticos;atualizar população;t = t +1;

fim;fim;

Page 49: Métodos de Otimização Discreta

49

� AG: algoritmo de busca inspirado nos mecanismos de seleção

natural e da genética

� Combina melhores indivíduos de uma população através de um

mecanismo estruturado, mas aleatório, de troca de informações

para fornecer novas soluções

� Métodos de otimização

– cálculo: diretos e indiretos

– enumeração

– estocásticos

� AG é um algoritmo de busca estocástico

Page 50: Métodos de Otimização Discreta

50

� Algoritmos genéticos × métodos clássicos de otimização

– AG usa codificação e não as variáveis de decisão diretamente

– AG realiza busca utilizando população ao invés de um ponto

– AG usa valores da função e não dependem de derivadas

– AG usa regras de transição probabilísticas

Page 51: Métodos de Otimização Discreta

51

� Analogia entre genética natural e AG

– cromosoma cadeias (strings)

– gen elemento de uma cadeia

– alelo valor do gen

– locus posição na cadeia

– genótipo estrutura cromossômica

– fenótipo solução

– epistasis não linearidade

– fitness função objetivo

Page 52: Métodos de Otimização Discreta

52

� Codificação

– binária

– alfanumérica

– real

– Grey

� Operadores genéticos

– seleção

– produzir filhos (recombinação, crossover)

– mutação

Page 53: Métodos de Otimização Discreta

53

Menor caminho ???

Cromossoma = [ A B C E D ]

Comprimento caminho = fitness

Exemplo

A

B

C

D

E

Page 54: Métodos de Otimização Discreta

54

Menor caminho ???

[ A B C E D ] indivíduo

Caminho fitness

[ A B C D E ] [ C B A D E ]

pontos mutação

Pais Offspring

[ A B C D E ]

[ C B A E D ][ A B C E D ]

Operadores Básicos

A

B

C

D

E

mutação

x-over

Exemplo

Page 55: Métodos de Otimização Discreta

55

max f (x) = x2

x∈S = {0, 1, 2, …, 31}

0

200

400

600

800

1000

1200

1 3 5 7 9 11

13

15

17

19

21

23

25

27

29

31

x

f (x)

0 01 12 43 94 165 256 367 498 649 81

10 10011 12112 14413 16914 19615 22516 25617 28918 32419 36120 40021 44122 48423 52924 57625 62526 67627 72928 78429 84130 90031 961

Exemplo

Page 56: Métodos de Otimização Discreta

56

114%

249%

36%

431%

Codificação: número binário de 5 bits

Fitness: f (x) = x2

População inicial:

No Cadeia f (x ) % Total

1 01101 169 14

2 11000 576 49

3 01000 64 6

4 10011 361 31

Total 1170 100

Page 57: Métodos de Otimização Discreta

57

Crossover

Pais Filhos

11|000 →→→→ 11011

10|011 10000

Mutação

Antes Depois

11011 →→→→ 10011

Page 58: Métodos de Otimização Discreta

58

String No População Inicial Valor x f(x ) fi /Σfi fi /f Contagem Real Roleta

1 01101 13 169 0.14 0.58 12 11000 24 576 0.49 1.97 23 01000 8 64 0.06 0.22 04 10011 19 361 0.31 1.23 1

Soma 1770 1.00 4.00 4.00Média 293 0.25 1.00 1.00Max 576 0.49 1.97 2.00

População Par Posição x-over Nova População Valor x f(x ) f (x )0110|1 2 4 01100 12 144 11100|0 1 4 11001 25 625 211|000 4 2 11011 27 729 010|011 3 2 10000 16 256 1

Soma 1754.00Média 439.00Max 729.00

Page 59: Métodos de Otimização Discreta

59

Heurística construtiva

Passo 0 Inicialização: com solução parcial x0 = (#,...,# ), t ← 0;

Passo 1 Parada: se todas componentes de xt estão fixas, então parar; x^ ← xt;

x^ solução ótima aproximada;

Passo 2 Avança: escolher uma componente livre xp da solução parcial xt e um

valor para ela que sugira completamentos factíveis plausíveis;

avançar para solução parcial xt +1 identica à xt exceto em xp;

Passo 3 Incrementa: t = t + 1; ir para Passo 1;

DCA-FEEC-Unicamp

Page 60: Métodos de Otimização Discreta

60

Este material refere-se às notas de aula do curso EA 044 Planejamento e Análise de Sistemas de Produção da Faculdade de Engenharia Elétrica e de Computação da Unicamp. Não substitui o livro texto, as referências recomendadas e nem as aulas expositivas. Este material não pode ser reproduzido sem autorização prévia dos autores. Quando autorizado, seu uso é exclusivo para atividades de ensino e pesquisa em instituições sem fins lucrativos.

Observação

DCA-FEEC-UnicampProfFernandoGomide