5a. aula franklina. otimalidade e relaxação dado um problema inteiro ou problema de otimização...

24
5a. Aula Franklina

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


2 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.