Sunteți pe pagina 1din 30

EA 044 Planejamento e Análise

de Sistemas de Produção

Algoritmos Numéricos de
Busca em Otimização

DCA-FEEC-Unicamp
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

2
DCA-FEEC-Unicamp
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?
3
DCA-FEEC-Unicamp
2-Busca em otimização

 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

4
DCA-FEEC-Unicamp
 Vizinhança N ε ( x ) = {y : y − x < ε }, x ∈ R n , ε > 0

x = ( x12 + x22 + L + xn2 )

||x|| norma (comprimento) de x

 Ponto interior S ⊆ R n , x ∈ S interior se ∃ N ε ( x ) ⊂ S



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

5
DCA-FEEC-Unicamp
3-Algoritmos numéricos de busca

x2 f(x)
min ( x1− 4)2 + ( x2 − 4)2
sa 1.7 x1 + 3.0 x2 ≤ 15
2.2 x1 + 0.9 x2 ≤ 10
x1, x2 ≥ 0
x3 y

x2
x t +1 ← x t + λ ∆x
x*
x1 f (x t +1 ) ≤ f (x t )
xo ∆x direção
x1 λ > 0 passo

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).
6
DCA-FEEC-Unicamp
 Problemas de maximização

max f ( x ) ∀x ∈ ( D ∩ N ε ( x )) local


f ( x*) ≥ f ( x ) 
sa x∈D ∀x ∈ D global

 Problemas de minimização

min f ( x ) ∀x ∈ ( D ∩ N ε ( x )) local


f ( x*) ≤ f ( x ) 
sa x∈D ∀x ∈ D global

7
DCA-FEEC-Unicamp
 Ó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)

8
DCA-FEEC-Unicamp
Exemplo: problema de alocação
x2
5
1 2
60.000 20.000
0

3
30.000
−5
−5 0 5 x1
60 20 30
max f ( x1 , x2 ) = + +
1 + ( x1 + 1) 2 + ( x2 − 3) 2 1 + ( x1 − 1) 2 + ( x2 − 3) 2 1 + ( x1 ) 2 + ( x2 + 4) 2
sa ( x1 + 1) 2 + ( x2 − 3) 2 ≥ 0.25
( x1 − 1) 2 + ( x2 − 3) 2 ≥ 0.25
( x1 ) 2 + ( x2 + 4) 2 ≥ 0.25
9
DCA-FEEC-Unicamp
f ( x1 , x2 )

x2

x1

10
DCA-FEEC-Unicamp
6

2
x2

x2 0

-2

-4

-6

-6 -4 -2 0 2 4 6
x1
x1
11
DCA-FEEC-Unicamp
Direção factível ∆x é uma direção factível em xt se
xt + λ ∆x ∈ D
λ > 0, suficientemente pequeno
x2 λ = passo na direção ∆x

8 0.4x1 + 0.2x2 ≥ 1.5 x1 ≤ 9

6
x3
0.3x1 + 0.4x2 ≥ 2.0 x2 ≤ 6
D
4 x*
x1

2
0.2x1 + 0.3x2 ≥ 0.5

2 4 6 x2 8 x1 12
DCA-FEEC-Unicamp
Modelos ilimitados
x2
∆x2
8 x1 ∆x2: direção ilimitada

6 ∆x1

x0 D
4

2 4 6 8 x1 13
DCA-FEEC-Unicamp
4-Condições algébricas: melhor direção

∇f (x) = (∂f/∂x1...∂f / ∂x j ...∂f / ∂xn ) gradiente de f(x) em x

n ∂f 
f (x + λ∆x) ≈ f (x ) + λ∇f (x ) ∆x = f (x ) + λ ∑ 
t t t ' t ∆x j

j =1  x j


∆f = λ∇f (x t ) ' ∆x

∇f (x) ' ∆x > 0 melhora para max

∇f (x) ' ∆x < 0 melhora para min

14
DCA-FEEC-Unicamp
Escolhendo ∆x = ∇f (x), ∇f (x) ≠ 0

∇f (x)' ∆ ( x) > 0 melhora para max

Escolhendo ∆x = −∇f (x)

∇f (x)' ∆( x) < 0 melhora para min

15
DCA-FEEC-Unicamp
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; se


direçã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 objetivo
melhora, mantendo a factibilidade na direção ∆x, então escolher o
maior 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;

16
DCA-FEEC-Unicamp
Exemplo: problema de alocação
6

x2
x2

-2

-4

-6

-6 -4 -2 0 2 4 6
x1
x1 17
DCA-FEEC-Unicamp
4.5

3.5

6 3

x2
2.5
4
2

2 1.5

x2
x2

0 -2 -1.5 -1 -0.5 0
x1

-2
-2

-2.5
-4
-3

-6 -3.5

x2
-4
-6 -4 -2 0 2 4 6
x1 -4.5
x1
-5

-5.5

-6
-1 -0.5 0 0.5 1
18
x1
DCA-FEEC-Unicamp
Condições algébricas: factibilidade
Caso linear
n n
a ' x = ∑ a j x j ≥ b; ∆x factível ⇔ a '∆x = ∑ a j ∆x j ≥ 0
j =1 j =1
n n
a ' x = ∑ a j x j ≤ b; ∆x factível ⇔ a '∆x = ∑ a j ∆x j ≤ 0
j =1 j =1
n n
a x = ∑ a j x j = b; ∆x factível ⇔ a ∆x = ∑ a j ∆x j = 0
' '

j =1 j =1
n
Restrição ativa: ∑a x
j =1
j j =b

19
DCA-FEEC-Unicamp
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

20
DCA-FEEC-Unicamp
Funções unimodais
∀x1 , x 2 f ( x 2 ) melhor que f ( x1 ) ⇒ ∆x = x 2 − x1 melhora em x1

f (x) f (x)

x x
não é unimodal para max e min unimodal para max
não unimodal para min
21
DCA-FEEC-Unicamp
Conjuntos convexos
∀ x1, x2 ∈ D , x1 + λ (x2 − x1 ) ∈ D , 0 ≤ λ ≤1

D D D

x2
x2
x1
x1

convexo não convexos

22
DCA-FEEC-Unicamp
Todas restrições lineares ⇒ conjunto (espaço) factível convexo

x2

8
0.4x1 + 0.2x2 ≥ 1.5 x1 ≤ 9

6
0.3x1 + 0.4x2 ≥ 2.0 x2 ≤ 6
4 D

2
0.2x1 + 0.3x2 ≥ 0.5

2 4 6 8 x1

D é convexo 23
DCA-FEEC-Unicamp
 Ó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

24
DCA-FEEC-Unicamp
6-Solução inicial factível
Método de duas fases

0 - Modelo artificial: escolher uma solução inicial conveniente para o modelo


original e construir modelo da Fase I adicionando (subtraindo) variáveis
artificiais não negativas em cada uma das restrições violadas

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

2 -Teste de factibilidade: se a Fase I termina com soma = 0, ir para o passo 3


pois 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 eliminando
as componentes artificias do ótimo da Fase I.
25
DCA-FEEC-Unicamp
Método de duas fases: exemplo
Modelo da Refinaria de Petrolinea

min 20x1 + 15x2


sa 0.3x1 + 0.4x2 ≥ 2.0 (1)
0.4x1 + 0.2x2 ≥ 1.5 (2)
0.2x1 + 0.3x2 ≥ 0.5 (3)
x1 ≤ 9
x2 ≤ 6
x1, x2 ≥ 0

escolha x1 = x2 = 0

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

26
DCA-FEEC-Unicamp
Modelo artificial
min x3 + x4 + x5
sa 0.3x1 + 0.4x2 + x3 ≥ 2.0
0.4x1 + 0.2x2 + x4 ≥ 1.5
0.2x1 + 0.3x2 + x5 ≥ 0.5
x1 ≤ 9
x2 ≤ 6
x1, x2, x3, x4, x5 ≥ 0

Fase I: depois de fixar variáveis do problema original nos valores escolhidos


inicializar as variáveis artificiais atribuindo-as os menores valores
necessários para obter factibilidade

0.3 (0) + 0.4 (0) + x3 ≥ 2 ⇒ x3 = 2


0.4 (0) + 0.2 (0) + x4 ≥ 1.5 ⇒ x4 = 1.5
0.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

DCA-FEEC-Unicamp
Método Big-M
1 - Modelo auxiliar: max f − M ( soma das variáveis artificiais ) ou
min f + M ( soma das variáveis artificiais )

1 - Teste I: Se Big-M termina em uma solução local com todas as variáveis


artificiais 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 problema
originalé 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 M
não é grande o suficicente, nada se pode dizer. Repetir algoritmo ou com
valor M maior, ou com outra solução inicial.
28
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.5
0.2x1 +0.3x2 + x5 ≥ 0.5
x1 ≤ 9
x2 ≤ 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 )

29
DCA-FEEC-Unicamp
Observação

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.

30
ProfFernandoGomide DCA-FEEC-Unicamp

S-ar putea să vă placă și