You are on page 1of 38

Otimalidade, Relaxações e Limites - Cap.

2 -
Wolsey

Alexandre Salles da Cunha e Geraldo Robson Mateus

Agosto 2008

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Resolvendo um IP ou COP

Como provamos que o problema z = {max cx : x ∈ X ⊆ Zn } foi


resolvido ?
Precisamos encontrar:
Uma solução viável x ∗ e, consequentemente, um limite inferior
(primal, no caso de maximização) z ≥ z = cx ∗ ;

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Resolvendo um IP ou COP

Como provamos que o problema z = {max cx : x ∈ X ⊆ Zn } foi


resolvido ?
Precisamos encontrar:
Uma solução viável x ∗ e, consequentemente, um limite inferior
(primal, no caso de maximização) z ≥ z = cx ∗ ;
Um limite superior z (ou um limite dual): z ≤ z.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Resolvendo um IP ou COP

Como provamos que o problema z = {max cx : x ∈ X ⊆ Zn } foi


resolvido ?
Precisamos encontrar:
Uma solução viável x ∗ e, consequentemente, um limite inferior
(primal, no caso de maximização) z ≥ z = cx ∗ ;
Um limite superior z (ou um limite dual): z ≤ z.
Estes limites devem ser tais que z = z.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Estrutura geral de um algoritmo exato para resolver um IP

Gerar uma sequência decrescente de limites superiores {z k }


(duais, no caso de maximização, primais no caso de
minimização)
Gerar uma sequência crescente de limites inferiores {z k }
(primais, no caso de maximização, duais no caso de
minimização) e parar quando z k = z k para algum k.

Se o critério de parada é: z k = z k , para algum k, a solução


encontrada é ótima, e o algoritmo é exato.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Estrutura geral de um algoritmo exato para resolver um IP

Gerar uma sequência decrescente de limites superiores {z k }


(duais, no caso de maximização, primais no caso de
minimização)
Gerar uma sequência crescente de limites inferiores {z k }
(primais, no caso de maximização, duais no caso de
minimização) e parar quando z k = z k para algum k.

Se o critério de parada é: z k = z k , para algum k, a solução


encontrada é ótima, e o algoritmo é exato.
z k −z k
Se o critério de parada é: zk
≤ ε, a solução é dita ε-ótima.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
A simples tarefa que nos cabe. Encontrar:

Limites primais: encontrar soluções viáveis


Heurı́sticas;
Ao longo da própria geração de limites duais;
Limites duais: principalmente através de relaxações

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Obtendo limites duais, ou limites dados por Relaxações

A idéia central consiste em substituir o problema original,


geralmente difı́cil de ser resolvido, por um problema mais fácil, cujo
valor ótimo é não menor que z (caso maximização).

Como definir este problema relaxado:


Ampliamos o conjunto de soluções viáveis, de forma que se
otimiza sobre um conjunto maior;
Substituı́mos a função objetivo max(min) por outra que
assuma um valor não menor (maior) que a original em
qualquer ponto do problema original (inteiro).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação

Definição
Dizemos que um problema de otimização (RP)

z R = max {f (x) : x ∈ T ⊆ Rn }

é uma relaxação para o (IP)

z = max {c(x) : x ∈ X ⊆ Rn }

se:
1 X ⊆ T (o conjunto de soluções viáveis do problema relaxado
contém o conjunto de soluções original);
2 f (x) ≥ c(x), ∀x ∈ X .

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Limites duais

Proposição
Se RP é uma relaxação para IP, então z R ≥ z

Prova

Seja x ∗ a solução de IP.


Por um lado, como x ∗ ∈ X e X ⊆ T temos que x ∗ ∈ T .
Por outro, temos que c(x ∗ ) ≤ f (x ∗ ).
Pela otimalidade de z R , temos então que
z R ≥ f (x ∗ ) ≥ c(x ∗ ) = z.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Algumas relaxações

1 Relaxação de Programação Linear


2 Relaxações Combinatórias
3 Relaxação Lagrangeana
4 Relaxação de Espaço de Estados (Programação Dinâmica) -
Cap. 5

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxações

Definição - Relaxação de Programação Linear


Dado o IP z = {max cx : x ∈ P ∩ Zn } e a formulação
P = {x ∈ Rn : Ax ≤ b}, a Relaxação de Programação Linear
associada ao IP corresponde ao Programa Linear
z LP = {max cx : x ∈ P}.

Observe que a função objetivo do problema relaxado não é


menor que a do problema original, para qualquer solução
viável do problema original (IP);
Observe ainda que P ∩ Zn ⊆ P, isto é, o domı́nio do problema
relaxado contém o domı́nio original.
Logo z ≤ z LP .

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Linear

Exemplo
Dado o IP:
z = max 4x1 −x2
7x1 −2x2 ≤ 14
x2 ≤3 (1)
2x1 −2x2 ≤ 3
x ∈ Z2+

O vetor (2, 1) é uma solução viável, logo z ≥ 7.


O valor da relaxação linear de (1) é z LP = 59 7 , obtida para
x = ( 20
7 , 3). Como os coeficientes da função objetivo do IP
59
são inteiros temos que z ≤
7 = 8.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Linear e a qualidade da formulação

A qualidade dos limites duais determina a qualidade da formulação


Dadas duas formulações P1 , P2 para o (IP)
z = {max cx : x ∈ X ⊆ Zn }, tais que P1 é uma formulação melhor
que P2 , isto é: P1 ⊂ P2 . Se ziLP = {max cx : x ∈ Pi } para i = 1, 2
denota o valor das respectivas relaxações lineares, então z1LP ≤ z2LP
para todo c ∈ Rn .

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxações: Existência de Soluções

Proposição
Se RP é inviável, então o IP é inviável

Prova
Seja X = ∅ o conjunto de soluções do problema relaxado (RP) e T
o conjunto de soluções do problema original (IP). Como RP é uma
relaxação temos que T ⊆ X = ∅, logo T = ∅.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxações: Prova de Otimalidade

Proposição
Se a solução x para o problema relaxado RP é viável para (IP) e se
f (x) = c(x), então x resolve IP.

Prova
Como x é uma solução viável, z ≥ c(x). Por outro lado, f (x )
fornece um limite superior válido para z. Por hipótese f (x ) = c(x ).
Assim sendo, temos z ≤ f (x ) = c(x ) ≥ z e então z = f (x).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Prova de otimalidade

Exemplo
Uma solução da Relaxação Linear do IP

z = max 7x1 + 4x2 + 5x3 + 2x4


3x1 + 3x2 + 4x3 + 2x4 ≤ 6 (2)
x ∈ B4

é dada por x = (1, 1, 0, 0)t ∈ B4 .


Como x satisfaz o requisito de integralidade, x resolve o IP.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxações Combinatórias

Definição
Sempre que o problema relaxado for um problema de otimização
combinatória, a relaxação associada é dita combinatória.

Exemplos:
Caixeiro Viajante Assimétrico: Problema de Atribuição.
Caixeiro Viajante Simétrico: Relaxação: 1-tree.
Problema da Mochila: Problema da Mochila em Coeficientes
Inteiros.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Caixeiro Viajante Assimétrico
Entrada: Digrado D = (N, A), custos associados aos arcos
{cij : (i , j) ∈ A}.

 
  
z = min xij cij : x ∈ P ∩ B|A| (3)
 
j∈N i ∈N:i =j

onde P é dada por:



xij = 1, ∀i ∈ N, (4)
j:j=i

xij = 1, ∀j ∈ N, (5)
i :i =j

xij ≥ 1, ∀S ⊂ N, S = ∅. (6)
i ∈S j∈S

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação de Atribuição

 
  
z atrib = min xij cij : x ∈ Patrib ∩ B|A| (7)
 
j∈N i ∈N:i =j

onde Patrib é dada por:



xij = 1, ∀i ∈ N,
j:j=i

xij = 1, ∀j ∈ N,
i :i =j

Observe que:
P ⊂ Patrib
a função objetivo de IP é maior ou igual à função objetivo do
problema relaxado, ambas avaliadas para qualquer solução
viável do TSP assimétrico, isto é, z ≥ z atrib .
Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
O Problema do Caixeiro Viajante Simétrico

Entrada: grafo não direcionado G = (N, E ), custos {ce : e ∈ E }




|E |
z = min xe ce : x ∈ P ∩ B (8)
e∈E

onde P é dada por:



xe = 2, ∀i ∈ N, (9)
e∈δ(i )


xe ≤ |S| − 1, ∀S ⊂ N, |S| ≥ 2. (10)
e∈E (S)

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação 1-tree para o TSP Simétrico - Held e Karp
(1970)

Uma 1-tree corresponde à união de :


duas arestas incidentes ao vértice depósito 1;
uma árvore geradora do conjunto de vértices {2, 3, . . . , n}.
1

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação 1-tree para o TSP Simétrico - Held e Karp
(1970)


1−tree |E |
z = min xe ce : x ∈ P1−tree ∩ B (11)
e∈E

onde P1−tree é dado por:



xe = 2 (12)
e∈δ(1)


xe ≤ |S| − 1, ∀S ⊆ (N \ {1}), |S| ≥ 2. (13)
e∈E (S)

Observação
A relaxação 1-tree é solúvel em tempo polinomial.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
O Problema da Mochila com coeficientes quaisquer
Proposição
n

Uma relaxação do conjunto X = {x ∈ Zn+ : aj xj ≤ b} é dada
j=1
n

pelo conjunto X  = {x ∈ Zn+ :
aj xj ≤
b }.
j=1

Prova

n
 n


aj xj ≤ a j xj ≤ b
j=1 j=1


n os vetores de incidência x ∈ X são inteiros, temos que
Como
j=1
a

j xj deve ser necessariamente uma quantidade inteira.
Logo nj=1
aj xj ≤
b . Ou seja, todo x ∈ X é tal que
x ∈ X .
Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana

Vamos considerar o IP

z = {max cx : Ax ≤ b, x ∈ S ⊆ Zn }.

Se o problema é muito difı́cil de se resolver diretamente,


podemos relaxar um conjunto de restrições, por exemplo
{Ax ≤ b} e resolver o problema remanescente
z R = {max cx : x ∈ S ⊆ Zn }. Claramente z ≤ z R .
Na relaxação Lagrangeana, não apenas relaxamos um
conjunto de restrições que dificultam a solução de um IP.
Também adicionamos este conjunto de restrições à função
objetivo do problema relaxado.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana
Proposição
Seja (PLAG)

z(u) = max {cx + u(b − Ax) : x ∈ X }.

Então z(u) ≥ z, ∀u ≥ 0.

Prova
Seja x a solução ótima do IP.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana
Proposição
Seja (PLAG)

z(u) = max {cx + u(b − Ax) : x ∈ X }.

Então z(u) ≥ z, ∀u ≥ 0.

Prova
Seja x a solução ótima do IP.
Como x resolve o IP, x ∈ X é uma solução viável para
(PLAG).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana
Proposição
Seja (PLAG)

z(u) = max {cx + u(b − Ax) : x ∈ X }.

Então z(u) ≥ z, ∀u ≥ 0.

Prova
Seja x a solução ótima do IP.
Como x resolve o IP, x ∈ X é uma solução viável para
(PLAG).
Como u ≥ 0 e Ax ≤ b temos que z = cx ≤ cx + u(b − Ax).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana
Proposição
Seja (PLAG)

z(u) = max {cx + u(b − Ax) : x ∈ X }.

Então z(u) ≥ z, ∀u ≥ 0.

Prova
Seja x a solução ótima do IP.
Como x resolve o IP, x ∈ X é uma solução viável para
(PLAG).
Como u ≥ 0 e Ax ≤ b temos que z = cx ≤ cx + u(b − Ax).
Por outro lado, pela otimalidade de z(u) temos que
z(u) ≥ cx + u(b − Ax).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Relaxação Lagrangeana
Proposição
Seja (PLAG)

z(u) = max {cx + u(b − Ax) : x ∈ X }.

Então z(u) ≥ z, ∀u ≥ 0.

Prova
Seja x a solução ótima do IP.
Como x resolve o IP, x ∈ X é uma solução viável para
(PLAG).
Como u ≥ 0 e Ax ≤ b temos que z = cx ≤ cx + u(b − Ax).
Por outro lado, pela otimalidade de z(u) temos que
z(u) ≥ cx + u(b − Ax).
Logo z = cx ≤ cx + u(b − Ax) ≤ z(u).
Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Dualidade em Programação Linear

Considere o par de problemas

(P) { max cx : Ax ≤ b, x ∈ Rn+ }

(D) { min ub : uA ≥ c, u t ∈ Rm
+}

Sabemos que cx ≤ ub para quaisquer vetores


{x ∈ Rn+ : Ax ≤ b} e {u ∈ Rm
+ : uA ≥ c}.
Em particular, se x e u resolvem P e D, respectivamente,
temos que cx = ub (Dualidade forte).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Dualidade - Caso geral

Definição
Os problemas
(P) z = { max c(x) : x ∈ X }
(D) w = { min w (u) : u ∈ U}
formam um par primal-dual fraco se c(x) ≤ w (u) para quaisquer
x ∈ X , u ∈ U. Se, além disto z = w então (P) e (D) formam um
par primal-dual forte.

Vantagem da dualidade sobre a relaxação


A relaxação só fornece um limite superior válido se resolvida na
otimalidade. Por outro lado, qualquer solução viável de D fornece
um limite superior válido para P (obviamente caso P e D formem
um par primal-dual fraco).

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Dualidade - Programação Inteira

Proposição
Os problemas (P) z = {max cx : Ax ≤ b, x ∈ Zn+ } e (D)
w LP = {min ub : uA ≥ c, u ∈ Rm
+ } formam um par primal-dual
fraco.

Prova

Considere (RLP) z LP = {max cx : Ax ≤ b, x ∈ Rn+ }, a


relaxação linear de (P).
Claramente z ≤ z LP .
Como (RLP) e (D) formam um par primal-dual, temos que
z LP ≤ w LP .
Logo z ≤ z LP ≤ w LP .

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Um exemplo de Dualidade Fraca em Programação Inteira

Definição - Emparelhamento ou matching


Dado um grafo G = (V , E ) um emparelhamento (matching)
consiste em um conjunto de arestas M ⊆ E tal que não existem
duas arestas em M que possuem a mesma extremidade.

Definição - Cobertura de arestas por vértices


Dado um grafo G = (V , E ) uma cobertura das arestas de E por
vértices é um conjunto R ⊂ V tal que toda aresta de E possui
uma extremidade em R.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Emparelhamento × Cobertura de arestas por vértices

2 3

5 4

8 6

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Estes problemas formam um par primal-dual fraco

Proposição
Os problemas (P) {max M⊆E |M| : Mé um emparelhamento de E }
e (D) {min C ⊆V |C | : Cé uma cobertura de arestas por vértices}
formam um par primal-dual fraco.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Prova da dualidade fraca
Definição
Vamos definir A ∈ Bn×m (n = |V |, m = |E |) da seguinte forma:
aj,e = 1 caso o vértice j seja extremidade da aresta e, ou 0, caso
contrário.
Prova
Escrevemos o Problema de Emparelhamento de Máxima
Cardinalidade e o Problema de Cobertura Mı́nima de arestas por
vértices, respectivamente
como:

m m e
zmatch = max x
j=1 j : Ax ≤ 1, x ∈ Z +

n n
 PL PL
zcov = min i =1 yj : yA ≥ 1, y ∈ Z+ . Sejam zmatch e zcov ,
respectivamente, os valores ótimos das relaxações lineares destes
programas. Então temos que zcov ≥ zcov PL e z PL
match ≤ zmatch . Por
outro lado, as relaxações lineares destes programas formam um par
LP
primal-dual: zmatch LP .
≤ zcov
LP
Logo: zmatch ≤ zmatch LP ≤ z
≤ zcov cov .

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey
Estes problemas não formam um par primal-dual forte

Prova
Seja G = (V , E ), por exemplo, uma clique tal que |V | é ı́mpar ou
então um caminho hamiltoniano envolvendo número de vértices
|V | ı́mpar.

Alexandre Salles da Cunha e Geraldo Robson Mateus Otimalidade, Relaxações e Limites - Cap. 2 - Wolsey