5a. aula franklina. otimalidade e relaxação dado um problema inteiro ou problema de otimização...
TRANSCRIPT
![Page 1: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/1.jpg)
5a. Aula
Franklina
![Page 2: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/2.jpg)
Otimalidade e RelaxaçãoDado um Problema Inteiro ou Problema de
Otimização Combinatória
Uma solução com valor z* é ótima se existe um limitante inferior
zLB z*
e um limitante superior zUB z*
tal que zLB = z* = zUP.
n
T
Zx
Xxas
xcz
.
max
![Page 3: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/3.jpg)
Na prática um algoritmo para o problema anterior é terminado quando existe uma seqüência decrescente de limitantes superiores e uma seqüência crescente de limitantes inferiores, tal que,
zUB – zLB
![Page 4: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/4.jpg)
Limitante InferiorQualquer solução x´ X fornece um limitante
inferior para o problema1:zLB = z(x´) z*
Em geral, usam-se métodos heurísticos para obter um limitante inferior.
Obs. Existem problemas que é simples encontrar uma solução factível (mochila), no entanto, para alguns essa tarefa é árdua (dimensionamento de lotes).
1 – Lembre-se que estamos maximizando z.
![Page 5: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/5.jpg)
Limitante SuperiorLimitantes superiores para problemas de
maximização são chamados de limitantes duais.
O enfoque de “relaxação” é o mais importante para determinar limitantes superiores. Um problema “relaxado” é um problema mais simples que o problema original de programação inteira, com valor ótimo maior ou igual a z*.
![Page 6: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/6.jpg)
Duas possibilidades para o problema relaxado:
a) Aumentar o conjunto de soluções factíveis (ex. relaxação linear);
b) Substituir a função objetivo por uma função com valor maior ou igual para todas as soluções factíveis (ex. relaxação lagrangiana).
![Page 7: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/7.jpg)
Definição 2.1. Um problema (PR) zR = max{f(x) | x T Rn}
é uma relaxação de (PI) z = max{c(x) | x X Zn}
se:(i) X T, e(ii) f(x) c(x) para todo x X.
Proposição 2.1. Se PR é uma relaxação de PI então zR z.
Demonstração. Se x* é uma solução ótima de PI, então x* X T e z = c(x*) f(x*). Como x* T, f(x*) é um limitante inferior de zR, e portanto,
z f(x*) zR.
![Page 8: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/8.jpg)
Relaxação Linear - PLDefinição 2.2. Dado o problema inteiro
Max {cx | x P Zn }
com formulação
P = {x | Ax b}a relaxação por programação linear é o
problema linear zPL= max{cx | x P }.
nR
![Page 9: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/9.jpg)
Exemplo relaxação Linear
Considere o problema inteiro:
z = max (4 x1 – x2)
s.a 7 x1 – 2 x2 14
x2 3
2 x1 – 2 x2 3
x
2Z
![Page 10: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/10.jpg)
Exemplo relaxação Linear
(2,1) é uma solução factível, logo é um limitante inferior para o problema,
z 7.
A solução ótima do PL é x = (20/7, 3) com valor 59/7. Como a solução ótima é inteira, temos que
z 8.
![Page 11: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/11.jpg)
Proposição 2.2. (Formulações Melhores) Considere P1, P2 duas formulações para o problema inteiro
Max {cx | x X Zn }
Sendo P1 uma formulação melhor que P2, isto é, P1 P2. Se
ziPL = Max {cx | x Pi }
para i = 1, 2 são valores ótimos das relaxações lineares, então
z1PL z2
PL
para todo c.
![Page 12: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/12.jpg)
Proposição 2.3. (Prova de otimalidade) (i)Se a relaxação PR é infactível, o problema
original PI é infactível.(ii)Seja x* uma solução ótima de PR. Se x* X e
f(x*) = c(x*), então x* é uma solução ótima de PI.
Demonstração
(i) Como PR é infactível, T = e, portanto, X = .
(ii) Como x* X, z c(x*) = f(x*) = zR. Como z zR, então c(x*) = z = zR.
![Page 13: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/13.jpg)
Relaxação Combinatorial
Esta relaxação está associada a um problema de otimização combinatória.
Problema do Caixeiro Viajante.
É dado um grafo orientado D = (V,A) com peso cij para cada arco (i,j) A. As soluções do PCV são tours ou ciclos Hamiltonianos, que são designações (assignments) ou permutações sem subtours.
![Page 14: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/14.jpg)
ciclos Hamiltonianos – uma rota através dos vértices do grafo que inicie e termine em um mesmo nó sem nunca repetir uma visita.
1 2
3
4
1 2
3
4
1 2
3
4 Grafo original
Ciclos Halmiltonianos
![Page 15: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/15.jpg)
Problema de designação:
1
2
3
4
A
B
C
D
Grafo original Ciclo Halmiltoniano
1
2
3
4
A
B
C
D
![Page 16: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/16.jpg)
TjiijAT
ASS
TjiijAT
PCV
Tcz
Tcz
),(
),(
designação uma é |min
tourum é |min
![Page 17: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/17.jpg)
Problema do Caixeiro Viajante Simétrico (PCVS)
É dado um grafo G = (V,A) com peso ci para cada aresta i A.
Note que: a) todo tour consiste de duas arestas adjacentes ao
nó 1, e um caminho através dos nós {2,3,...n};b) Um caminho é um caso especial de uma árvore.
Definição 2.3. Uma 1-árvore é um subgrafo que consiste de duas arestas adjacentes ao nó 1, e das arestas de uma árvore nos nós {2,...n}.
![Page 18: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/18.jpg)
Problema do Caixeiro Viajante Simétrico (PCVS)
Cada tour é uma 1-árvore, e, portanto,
TeeAT
árvore
TeeAT
árvore1
TeeAT
PCVS
Tcz
Tcz
Tcz
árvore uma é |min
árvore-1 uma é |min
tourum é |min
![Page 19: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/19.jpg)
Problema da Mochila
Uma relaxação do conjunto
n
1jjj
n bxaZxX |
É o conjunto
n
1jjj
n bxaZxX |
Onde a é o maior inteiro menor ou igual a a.
![Page 20: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/20.jpg)
Relaxação LagrangianaDado um problema de programação inteira (PI)
Max {cx | Ax b, x X Zn }.
Se este problema for difícil de resolver, podemos relaxar as restrições Ax b, neste caso temos:
Max {cx | x X Zn }.
O problema de designação pode ser obtido ao relaxarmos as restrições de subtour do PCV.
![Page 21: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/21.jpg)
Proposição 2.4. Dado o problema de programação inteira PI
Max {cx + u(b – Ax), x X}.Então z(u) z para todo u 0.
Prova. Seja x* solução ótima do PI. Como x* é factível em PI, x* X. Logo,
Ax* b
e, portanto, b – Ax* 0. Como u 0 temos
z = cx* cx* + u(b – Ax*) = z(u).
![Page 22: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/22.jpg)
Exemplo
Problema de dimensionamento de lotes com capacidade limitada
Min cx + sy + hIs.a xit – Iit + Ii,t-1 = dit
i (bi xit + fi yit ) Ct
bi xit Ct yit
xit 0, yit {0,1}, Iit 0
![Page 23: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/23.jpg)
Limitantes Primais: busca local e gulosos
Heurísticas gulosas (Greedy – “gananciosa”)
Idéia geral: construir uma solução a partir de um conjunto vazio, escolhendo a cada passo a melhor decisão naquele momento.
Exemplo. Problema da Mochila
![Page 24: 5a. Aula Franklina. Otimalidade e Relaxação Dado um Problema Inteiro ou Problema de Otimização Combinatória Uma solução com valor z* é ótima se existe](https://reader036.vdocuments.mx/reader036/viewer/2022062700/552fc133497959413d8d785e/html5/thumbnails/24.jpg)
Busca local
Passo 1. Seleção de uma solução inicial (S).Passo 2. Avalie se existe na vizinhança VV uma
solução S’ melhor que S.Passo 3. Se existe S’ então atualize S e volte ao
Passo 2.Passo 4. Fim.
Exemplo. Problema da mochila.