Algoritmos Numéricos de Busca em Otimização -...

30
Algoritmos Numéricos de Busca em Otimização EA 044 Planejamento e Análise de Sistemas de Produção DCA-FEEC-Unicamp

Transcript of Algoritmos Numéricos de Busca em Otimização -...

Page 1: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

Algoritmos Numéricos de Busca em Otimização

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

DCA-FEEC-Unicamp

Page 2: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

2

Tópicos

1-Introdução

2-Busca em otimização

3-Algoritmos numéricos de busca

4-Condições algébricas: melhor direção, factibilidade

5-Unimodalidade, convexidade, tratabilidade

6-Solução inicial factível

DCA-FEEC-Unicamp

Page 3: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

3

1-Introdução

� Algoritmos de busca

– não informados (profundidade, largura,…)

– informados (gradiente, best-first,…)

� Características dos algoritmos de busca

– exatos (simplex, branch and bound, programação dinâmica,…)

– heurísticos (tabu, SA, AG, A, A*,… )

� Questões

– busca é a melhor maneira de resolver o problema?

– quais algoritmos de busca resolvem o problema?

– qual algoritmo é o mais eficiente para o problema?

DCA-FEEC-Unicamp

Page 4: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

4

� Solução de um modelo de otimização

– uma escolha para os valores das variáveis de decisão

– em geral uma solução é um vetor do Rn

� Características dos algoritmos de busca

– melhoram soluções factíveis ao longo de direções factíveis

– baseiam-se em informações sobre a vizinhança da solução corrente

– vizinhanças dão uma natureza local às soluções

2-Busca em otimização

DCA-FEEC-Unicamp

Page 5: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

� Vizinhança 0Rx},xy:y{)x( >∈<−= ε, N nε

ε

� Ponto interior

S∈⇒<−>∃ yεxy|0ε

SNSS n ⊂∃∈⊆ )x( seinteriorx,Rε

)(x 222

21 nxxx +++= L

||x|| norma (comprimento) de x

DCA-FEEC-Unicamp

5

Page 6: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

DCA-FEEC-Unicamp

procedimentos que iniciam em uma solução factível e prosseguem ao longo de uma trajetória formada por soluções factíveis que sempre melhoram o valor da função objetivo (paradigma direção + passo).

xλxx 1 ∆+←+ tt

)(x)(x 1 tt ff ≤+

min ( x1− 4)2 + ( x2 − 4)2

sa 1.7 x1 + 3.0 x2 ≤ 152.2 x1 + 0.9 x2 ≤ 10x1, x2 ≥ 0

3-Algoritmos numéricos de busca

x1

x2

x*

y

f(x)

xo

x1

x2

x3

∆x direçãoλ > 0 passo

6

Page 7: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

7

D

f

∈xsa

)x(max

∈∀∩∈∀

≥D

NDff ε

x

))x((x)x()x*(

D

f

∈xsa

)x(min

∈∀∩∈∀

≤D

NDf

x

))x((x)x(f)x*( ε

� Problemas de maximização

� Problemas de minimização

local

global

local

global

DCA-FEEC-Unicamp

Page 8: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

8

� Ótimo local pode ser ótimo global

� Modelos mais tratáveis

– garantem ótimo local ≡ ótimo global

� Em geral ótimo local não é global

– executar algoritmos (busca) independentes

– melhor solução local → solução ótima

– ótimo aproximado (heurístico)

DCA-FEEC-Unicamp

Page 9: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

925.0)4()(

25.0)3()1(

25.0)3()1(sa

)4()(1

30

)3()1(1

20

)3()1(1

60),(max

22

21

22

21

22

21

22

21

22

21

22

21

21

≥++

≥−+−

≥−++

++++

−+−++

−+++=

xx

xx

xx

xxxxxxxxf

Exemplo: problema de alocação

1 2

60.000 20.000

30.000

3

0 5−5

0

5

−5

x2

x1

DCA-FEEC-Unicamp

Page 10: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

10

),( 21 xxf

x1

x2

DCA-FEEC-Unicamp

Page 11: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

-6 -4 -2 0 2 4 6

-6

-4

-2

0

2

4

6

x1

x2x2

x1

DCA-FEEC-Unicamp

11

Page 12: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

12

DCA-FEEC-Unicamp

Direção factível ∆x é uma direção factível em xt se

xt + λ ∆x ∈ Dλ > 0, suficientemente pequeno

λ = passo na direção ∆x x2

2 4 6 8 x1

2

4

6

8

0.3x1 + 0.4x2 ≥ 2.0

0.4x1 + 0.2x2 ≥ 1.5

0.2x1 + 0.3x2 ≥ 0.5

x1 ≤ 9

x2 ≤ 6

x1

x2

x3

x*D

Page 13: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

13

Modelos ilimitados

x2

2 4 6 8 x1

2

4

6

8

x0

x1

D

∆x1

∆x2

∆x2: direção ilimitada

DCA-FEEC-Unicamp

Page 14: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

DCA-FEEC-Unicamp

4-Condições algébricas: melhor direção

0x(x)

0x(x)

x)(xλ

λ)(xx)(xλ)(xx)λ(x

)/.../.../((x)

'

'

'

1

'

1

<∆∇

>∆∇

∆∇=∆

∂+=∆∇+≈∆+

∂∂∂∂∂∂=∇

∑=

f

f

ff

xx

fffff

xfxfxff

t

n

jj

j

tttt

njgradiente de f(x) em x

melhora para max

melhora para min

14

Page 15: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

15

DCA-FEEC-Unicamp

0x)((x)

(x)x

0)((x)

0(x)(x),x

' <∆∇

−∇=∆

>∆∇

≠∇∇=∆

f

f

xf

ff

'

Escolhendo

Escolhendo

melhora para max

melhora para min

Page 16: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

Algoritmo busca local

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

Passo 1 Direção e otimalidade: construir direção factível ∆xt+1 em xt; sedireção factível não existir, então parar; xt é um ótimo local;

Passo 2 Passo: se existir limites para valor de λ para o qual a função objetivomelhora, mantendo a factibilidade na direção ∆x, então escolher omaior valor λt+1; senão parar pois o modelo é ilimitado;

Passo 4 Avanço: determinar nova solução xt+1 = xt + λ∆xt+1; t = t + 1; ir para o Passo 1;

DCA-FEEC-Unicamp

16

Page 17: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

17

-6 -4 -2 0 2 4 6

-6

-4

-2

0

2

4

6

x1

x2Exemplo: problema de alocação

x1

x2

DCA-FEEC-Unicamp

Page 18: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

18

-2 -1.5 -1 -0.5 0

1

1.5

2

2.5

3

3.5

4

4.5

x1

x2

-6 -4 -2 0 2 4 6

-6

-4

-2

0

2

4

6

x1

x2

-1 -0.5 0 0.5 1-6

-5.5

-5

-4.5

-4

-3.5

-3

-2.5

-2

x1

x2x1

x2

DCA-FEEC-Unicamp

Page 19: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

19

DCA-FEEC-Unicamp

Condições algébricas: factibilidade

0∆xafactível∆x;xa

0∆xafactível∆x;xa

0∆xafactível∆x;xa

1

'

1

'

1

'

1

'

1

'

1

'

=∆=⇔==

≤∆=⇔≤=

≥∆=⇔≥=

∑∑

∑∑

∑∑

==

==

==

n

jjj

n

jjj

n

jjj

n

jjj

n

jjj

n

jjj

xabxa

xabxa

xabxa

Restrição ativa:

Caso linear

bxan

jjj =∑

=1

Page 20: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

20

5-Unimodalidade, convexidade, tratabilidade

� Características importantes do modelo

– unimodalidade

– convexidade

� Tratabilidade

– conveniência de análise do modelo

– modelos que garantem ótimo global = local

DCA-FEEC-Unicamp

Page 21: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

21

Funções unimodais

x

f (x)

x

f (x)

)x(x,x 221 f∀

não é unimodal para max e min unimodal para maxnão unimodal para min

melhor que 121 xx∆x)x( −=⇒f melhora em x1

DCA-FEEC-Unicamp

Page 22: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

22

DCA-FEEC-Unicamp

Conjuntos convexos

∀ x1, x2 ∈ D , x1 + λ (x2 − x1 ) ∈ D , 0 ≤ λ ≤1

convexo não convexos

D D

x1

x2

x1

x2

D

Page 23: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

23

DCA-FEEC-Unicamp

2 4 6 8 x1

2

4

6

8

0.3x1 + 0.4x2 ≥ 2.0

0.4x1 + 0.2x2 ≥ 1.5

0.2x1 + 0.3x2 ≥ 0.5

x1 ≤ 9

x2 ≤ 6

D

x2

Todas restrições lineares ⇒ conjunto (espaço) factível convexo

D é convexo

Page 24: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

24

� Ótimos locais são ótimos globais:

– funções objetivo unimodais

– modelos sem restrições

� Ótimos locais são ótimos globais quando:

– função objetivo é unimodal

– restrições são um conjunto convexo

– exemplos: modelos lineares, quadráticos

DCA-FEEC-Unicamp

Page 25: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

25

6-Solução inicial factível

DCA-FEEC-Unicamp

Método de duas fases

0 - Modelo artificial: escolher uma solução inicial conveniente para o modelooriginal e construir modelo da Fase I adicionando (subtraindo) variáveisartificiais não negativas em cada uma das restrições violadas

1 - Fase I: atribuir valores para as variáveis artificiais para obter uma soluçãoinicial factível para o modelo artificial. Resolver problema de minimizar asomadas variáveis artificiais

2 -Teste de factibilidade: se a Fase I termina com soma= 0, ir para o passo 3pois a solução original é factível. Se soma> 0, parar: modelo original éinfactível. Caso contrário, repetir Fase 1 com diferentes valores iniciais.

3 - Fase II: construir solução inicial factível para o problema original eliminandoas componentes artificias do ótimo da Fase I.

Page 26: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

26

DCA-FEEC-Unicamp

Método de duas fases: exemplo

Modelo da Refinaria de Petrolinea

min 20x1 + 15x2

sa 0.3x1 + 0.4x2 ≥ 2.00.4x1 + 0.2x2 ≥ 1.50.2x1 + 0.3x2 ≥ 0.5

x1 ≤ 9x2 ≤ 6

x1, x2 ≥ 0

escolha x1 = x2 = 0

viola as restrições desigualdade (1), (2) e (3)

(1)(2)(3)

Page 27: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

DCA-FEEC-Unicamp

min x3 + x4 + x5

sa 0.3x1 + 0.4x2 + x3 ≥ 2.00.4x1 + 0.2x2 + x4 ≥ 1.50.2x1 + 0.3x2 + x5 ≥ 0.5

x1 ≤ 9x2 ≤ 6

x1, x2, x3, x4, x5 ≥ 0

Fase I: depois de fixar variáveis do problema original nos valores escolhidosinicializar as variáveis artificiais atribuindo-as os menores valoresnecessários para obter factibilidade

0.3 (0) + 0.4 (0) + x3 ≥ 2 ⇒ x3 = 20.4 (0) + 0.2 (0) + x4 ≥ 1.5 ⇒ x4 = 1.50.2 (0) + 0.3 (0) + x5 ≥ 0.5 ⇒ x5 = 0.5

solução da Fase I: ( 4 4 0 0 0 ) factível ⇒ ( 4 4 ) solução inicial para Fase II

Modelo artificial

Page 28: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

28

DCA-FEEC-Unicamp

1 - Modelo auxiliar: max f − M ( soma das variáveis artificiais ) oumin f + M ( soma das variáveis artificiais )

1 - Teste I: Se Big-M termina em uma solução local com todas as variáveisartificiais nulas, então os componentes restantes constituem uma soluçãoótima para o problema original

2 -Teste II: se M é suficientemente grande e Big-M termina em um soluçãoótima global com alguma variável artificial positiva, então o problemaoriginalé infactível

3 - Teste III: se M é suficientemente grande e Big-M termina em um soluçãoótima local, com alguma variável artificial positiva, ou o muliplicador Mnão é grande o suficicente, nada se pode dizer. Repetir algoritmo ou comvalor M maior, ou com outra solução inicial.

Método Big-M

Page 29: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

29

DCA-FEEC-Unicamp

Método Big-M: exemplo

min 20x1 + 15x2 + M (x3 + x4 + x5 )sa 0.3x1 + 0.4x2 + x3 ≥ 2.0

0.4x1 + 0.2x2 + x4 ≥ 1.50.2x1 + 0.3x2 + x5 ≥ 0.5

x1 ≤ 9x2 ≤ 6

x1, x2, x3, x4, x5 ≥ 0

xo = ( 0 0 2 1.5 0.5 )

M = 10.000 ⇒ x* = ( 2 3.5 0 0 0 )

Page 30: Algoritmos Numéricos de Busca em Otimização - UNICAMPgomide/courses/EA044/transp/EA_044_Busca... · 2 Tópicos 1-Introdução 2-Busca em otimização 3-Algoritmos numéricos de

30

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