Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
4
DCA-FEEC-Unicamp
Vizinhança N ε ( x ) = {y : y − x < ε }, x ∈ R n , ε > 0
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
Problemas de minimização
7
DCA-FEEC-Unicamp
Ótimo local pode ser ótimo global
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
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
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
14
DCA-FEEC-Unicamp
Escolhendo ∆x = ∇f (x), ∇f (x) ≠ 0
15
DCA-FEEC-Unicamp
Algoritmo busca local
Passo 0 Inicialização: com solução a factível x0 , t ← 0;
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;
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
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
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
24
DCA-FEEC-Unicamp
6-Solução inicial factível
Método de duas fases
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
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
escolha x1 = x2 = 0
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
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 )
xo = ( 0 0 2 1.5 0.5 )
M = 10.000 ⇒ x* = ( 2 3.5 0 0 0 )
29
DCA-FEEC-Unicamp
Observação
30
ProfFernandoGomide DCA-FEEC-Unicamp