programação linear inteira - conceitos básicos · 2020. 2. 19. · programa˘c~ao linear inteira...

51
Programa¸c˜ ao linear inteira - conceitos b´ asicos Marina Andretta ICMC-USP 21 de outubro de 2019 Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 1 / 51

Upload: others

Post on 23-Mar-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Programacao linear inteira - conceitos basicos

Marina Andretta

ICMC-USP

21 de outubro de 2019

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 1 / 51

Page 2: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Programacao linear inteira

Agora que ja estudamos uma forma de resolver problemas de programacaolinear, vamos ver como resolver problemas de programacao linear inteira.

Para isso, vamos comecar analisando o seguinte modelo:

maximizar x1 + x2sujeita a 50x1 + 31x2 ≤ 250,

3x1 − 2x2 ≥ −4,x1, x2 ≥ 0,x1, x2 ∈ Z.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 2 / 51

Page 3: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Desenhando a regiao delimitada pelas restricoes lineares, temos:

0 1 2 3 4 50

1

2

3

4

5

(376193 ,

950193

)

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 3 / 51

Page 4: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Como estamos interessados apenas no pontos com coordenadas inteiras:

0 1 2 3 4 50

1

2

3

4

5

(376193 ,

950193

)

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 4 / 51

Page 5: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Como estamos interessados apenas no pontos com coordenadas inteiras:

0 1 2 3 4 50

1

2

3

4

5

(376193 ,

950193

)

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 5 / 51

Page 6: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Assim, nosso conjunto viavel e formado pelos pontos azuis:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 6 / 51

Page 7: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Note que, como o que queremos descrever sao os pontos azuis, poderıamoster representado a regiao viavel usando diferentes conjuntos de restricoes:

0 1 2 3 4 50

1

2

3

4

5

(376193 ,

950193

)

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 7 / 51

Page 8: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Note que, como o que queremos descrever sao os pontos azuis, poderıamoster representado a regiao viavel usando diferentes conjuntos de restricoes:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 8 / 51

Page 9: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - conjunto viavel

Note que, como o que queremos descrever sao os pontos azuis, poderıamoster representado a regiao viavel usando diferentes conjuntos de restricoes:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 9 / 51

Page 10: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Uma maneira de calcular a solucao otima para o problema seria calcular ovalor da funcao objetivo em todos os pontos viaveis e encontrar o maior:

x cT x x cT x x cT x

(0, 0) 0 (2, 0) 2 (3, 1) 4(0, 1) 1 (2, 1) 3 (3, 2) 5(0, 2) 2 (2, 2) 4 (3, 3) 6(1, 0) 1 (2, 3) 5 (4, 0) 4(1, 1) 2 (2, 4) 6 (4, 1) 5(1, 2) 3 (3, 0) 3 (5, 0) 5(1, 3) 4

E claro que isso so e possıvel de fazer quando conseguimos calcularexplicitamente os pontos viaveis e quando ele e pequeno.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 10 / 51

Page 11: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Como fizemos com o caso de programacao linear, podemos desenhar ascurvas de vıvel da funcao objetivo e encontrar o otimo:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 11 / 51

Page 12: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Como fizemos com o caso de programacao linear, podemos desenhar ascurvas de vıvel da funcao objetivo e encontrar o otimo:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 12 / 51

Page 13: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Como fizemos com o caso de programacao linear, podemos desenhar ascurvas de vıvel da funcao objetivo e encontrar o otimo:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 13 / 51

Page 14: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Como fizemos com o caso de programacao linear, podemos desenhar ascurvas de vıvel da funcao objetivo e encontrar o otimo:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 14 / 51

Page 15: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Como fizemos com o caso de programacao linear, podemos desenhar ascurvas de vıvel da funcao objetivo e encontrar o otimo:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 15 / 51

Page 16: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Programacao linear inteira

Como esse procedimento que acabamos de realizar precisa darepresentacao grafica do problema, so poderıamos usa-lo para resolverproblemas com ate 3 dimensoes.

No entanto, geralmente estamos interessados em resolver problemasmaiores e, para isso, precisamos de um algoritmo mais geral.

Uma ideia e aproveitar o fato de que o problema e muito parecido com umproblema de programacao linear e tentar usar metodos para resolverproblemas de programacao linear para ajudar na resolucao de problemas deprogramacao linear inteira.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 16 / 51

Page 17: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Voltando ao nosso Exemplo 1, poderıamos ignorar as restricoes que dizemque as coordenadas devem ser inteiras e resolver o problema deprogramacao linear:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 17 / 51

Page 18: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Voltando ao nosso Exemplo 1, poderıamos ignorar as restricoes que dizemque as coordenadas devem ser inteiras e resolver o problema deprogramacao linear:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 18 / 51

Page 19: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Voltando ao nosso Exemplo 1, poderıamos ignorar as restricoes que dizemque as coordenadas devem ser inteiras e resolver o problema deprogramacao linear:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 19 / 51

Page 20: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Voltando ao nosso Exemplo 1, poderıamos ignorar as restricoes que dizemque as coordenadas devem ser inteiras e resolver o problema deprogramacao linear:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 20 / 51

Page 21: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 1 - encontrando o otimo

Neste caso, a solucao otima do problema sem as restricoes deintegralidade e x =

(376193 ,

950193

), que nao e uma solucao viavel para o

problema do Exemplo 1.

A primeira ideia que podemos ter e simplesmente arredondar ascoordenadas deste ponto para valores inteiros. Neste caso, o resultadoseria o ponto (2, 5), que nao e um ponto viavel para o problema doExemplo 1.

Mas, note que o ponto viavel mais perto de x e o ponto (2, 4), que, defato, e um dos pontos otimos do Exemplo 1.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 21 / 51

Page 22: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Vamos agora ver um outro exemplo, com as mesmas restricoes, mas outrafuncao objetivo:

maximizar x1 + 0.64x2sujeita a 50x1 + 31x2 ≤ 250,

3x1 − 2x2 ≥ −4,x1, x2 ≥ 0,x1, x2 ∈ Z.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 22 / 51

Page 23: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Vamos resolver o problema do Exemplo 2 relaxando as restricoes deintegralidade:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 23 / 51

Page 24: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Vamos resolver o problema do Exemplo 2 relaxando as restricoes deintegralidade:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 24 / 51

Page 25: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Vamos resolver o problema do Exemplo 2 relaxando as restricoes deintegralidade:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 25 / 51

Page 26: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Neste caso, chegamos novamente a solucao x =(376193 ,

950193

), que nao e uma

solucao viavel para o problema do Exemplo 2.

Ja vimos que arredondar as coordenadas deste ponto para valores inteirosnao necessariamente daria uma solucao otima para o Exemplo 2.

O ponto viavel mais perto de x e o ponto (2, 4), como no Exemplo 1. Masele e uma solucao para este problema do Exemplo 2 tambem?

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 26 / 51

Page 27: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Usando as curvas de nıvel da funcao objetivo e somente o conjunto depontos viavel do Exemplo 2, temos:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 27 / 51

Page 28: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Usando as curvas de nıvel da funcao objetivo e somente o conjunto depontos viavel do Exemplo 2, temos:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 28 / 51

Page 29: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Usando as curvas de nıvel da funcao objetivo e somente o conjunto depontos viavel do Exemplo 2, temos:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 29 / 51

Page 30: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Usando as curvas de nıvel da funcao objetivo e somente o conjunto depontos viavel do Exemplo 2, temos:

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 30 / 51

Page 31: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Exemplo 2 - encontrando o otimo

Ou seja, ao contrario do que aconteceu no Exemplo 1, encontrar o pontoviavel mais proximo da solucao do problema que ignora as restricoes deintegralidade das variaveis nao nos da uma solucao para o Exemplo 2.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 31 / 51

Page 32: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Programacao linear inteira

Note que, em ambos os exemplos, se as restricoes usadas para representara regiao viavel fossem estas

0 1 2 3 4 50

1

2

3

4

5

x1

x 2

poderıamos resolver o problema de programacao linear inteirasimplesmente eliminando as restricoes de integralidade das variaveis eresolvendo o problema de problema de programacao linear que resta. (Porque?)

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 32 / 51

Page 33: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Programacao linear inteira

Entao, nem tudo esta perdido: ainda e possıvel usar metodos deprogramacao linear para ajudar a encontrar solucao para problemas deprogramacao linear inteira.

Antes de ver metodos para resolver problemas de programacao linearinteira, vamos ver alguns conceitos importantes, que serao bastante usadosdaqui em diante.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 33 / 51

Page 34: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Limitante primal

Seja PLI um problema de programacao linear inteira

maximizar cT xsujeita a Ax = b,

x ≥ 0,x ∈ Zn.

Qualquer solucao viavel x de PLI fornece um limitante primal para PLI .Como ele e um problema de maximizacao, este e um limitante inferior parao valor da solucao otima.

Ou seja, o valor da funcao objetivo em x e menor ou igual ao valor dafuncao objetivo na solucao otima x∗:

cT x ≤ cT x∗.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 34 / 51

Page 35: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Limitante primal - exemplo

Voltando ao Exemplo 1, uma solucao viavel e o ponto (0, 2), no qual afuncao objetivo vale 0 + 2 = 2. Assim, 2 e um limitante inferior para ovalor otimo no Exemplo 1 (de fato, vimos que o valor otimo e 6).

Para o Exemplo 2, (0, 2) tambem e uma solucao viavel. Entao, o limitanteinferior e dado por 0 + 0.64× 2 = 1.28. De fato, neste caso, o valor otimoe dado por 5.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 35 / 51

Page 36: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Limitante primal

Geralmente, limitantes inferiores sao calculados usando heurısticas pararesolucao do problema.

Em alguns casos, como no Problema da Mochila ou do Caixeiro Viajante,e facil encontrar limitantes inferiores. Em outros casos, como no Problemade Sequenciamento de Lotes, e difıcil encontrar esses limitantes.

Note que, se o PLI fosse um problema de minimizacao, um limitanteprimal seria um limitante superior

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 36 / 51

Page 37: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Limitante dual

Um limitante dual e a melhor expectativa que se tem para o valor dasolucao do problema PLI .

Como o PLI e um problema de maximizacao, um limitante dual e umlimitante superior.

Se o problema fosse de minimizacao, um limitante dual seria um limitanteinferior.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 37 / 51

Page 38: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao

Para calcular limitantes duais, um conceito muito importante e o derelaxacao.

Um problema relaxado e um problema mais simples de resolver do que oproblema original e que tem valor otimo melhor ou igual ao valor otimo doproblema original.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 38 / 51

Page 39: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao

Definicao 1. Um problema PR

maximizar f (x)sujeita a x ∈ T ⊆ Rn

e uma relaxacao do problema de programacao linear inteira PLI

maximizar cT xsujeita a x ∈ X ⊆ Zn

se

(i) X ⊆ T e

(ii) f (x) ≥ cT x para todo x ∈ X .

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 39 / 51

Page 40: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao

Note que a Definicao 1 garante que o valor de uma solucao otima doproblema relaxado PR sempre e maior ou igual ao valor de uma solucaootima do problema original PLI .

Assim, resolvendo PR , temos um limitante superior para PLI .

Essa definicao pode ser facilmente adaptada para problemas deminimizacao, de modo que o valor otimo do problema relaxado forneca umlimitante inferior para o problema original.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 40 / 51

Page 41: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao linear

Considere PLI um problema de programacao linear inteira

maximizar cT xsujeita a Ax = b,

x ≥ 0,x ∈ Zn.

Dizemos que o problema PL

maximizar cT xsujeita a Ax = b,

x ≥ 0

e uma relaxacao linear (ou relaxacao por programacao linear) de PLI .

E facil mostrar que, de fato, PL e uma relaxacao de PLI .

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 41 / 51

Page 42: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao linear - exemplo

No problema do Exemplo 1, a relaxacao linear do problema foi resolvida eforneceu como solucao o ponto

(376193 ,

950193

).

Neste ponto, a funcao objetivo vale

376

193+

950

193=

1326

193≈ 6.8745.

Como vimos, o valor otimo para o problema do Exemplo 1 e 6.

Ou seja, a relaxacao linear, de fato, forneceu um limitante superior para oproblema.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 42 / 51

Page 43: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao linear - exemplo

No Exemplo 2, a relaxacao linear forneceu o mesmo ponto, no qual afuncao objetivo vale

376

193+ 0.64× 950

193=

984

193≈ 5.0985.

De fato, este e um limitante superior para o valor otimo, dado por 5.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 43 / 51

Page 44: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao linear

Como vimos no Exemplo 1, um mesmo conjunto de pontos viaveis podeser descrito usando varios conjuntos diferentes de restricoes lineares.

Considere um problema de programacao linear inteira de maximizacao quetenha duas formulacoes. Seja PI1 o conjunto de restricoes lineares usadoem uma formulacao e PI2 o conjunto usado na outra.

Dizemos que a formulacao que usa PI1 e melhor do que a formulacao queusa PI2 se PI1 ⊆ PI2.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 44 / 51

Page 45: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao linear

Sejam z1 e z2 os valores otimos obtidos pelas relaxacoes lineares dasformulacoes que usam PI1 e PI2, respectivamente.

Neste caso, vale que

z1 ≤ z2.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 45 / 51

Page 46: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Relaxacao lagrangiana

Existem outros tipos de relaxacoes, como a relaxacao lagrangiana.

Nela, algumas restricoes lineares sao removidas do conjunto viavel, masquando nao sao satisfeitas, sao penalizadas na funcao objetivo.

Os limitantes fornecidos por essa relaxacao sao melhores, mas encontrarum parametro de penalidade adequado pode nao ser muito simples.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 46 / 51

Page 47: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Otimalidade

Seja PLI um problema de programacao linear inteira

maximizar cT xsujeita a Ax = b,

x ≥ 0,x ∈ Zn.

Dizemos que uma solucao viavel x∗ (com valor cT x∗) de PLI e otima se

cT x∗ ≥ cT x ,

para todo x viavel.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 47 / 51

Page 48: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Otimalidade

Claramente, essa nao e uma condicao que pode ser facilmente verificadaem um algoritmo. Por isso, na pratica, usamos a condicao a seguir.

Uma solucao viavel x∗, com valor z∗ = cT x∗, e otima se existe umlimitante inferior zLI

zLI ≤ z∗

e um limitante superior zLS

z∗ ≤ zLS

tais que

zLI = z∗ = zLS .

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 48 / 51

Page 49: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Otimalidade

Considere um problema de programacao linear inteira PLI

maximizar cT xsujeita a x ∈ X ⊆ Zn

e o problema relaxado PR

maximizar f (x)sujeita a x ∈ T ⊆ Rn,

como na Definicao 1.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 49 / 51

Page 50: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Otimalidade

Claramente, se PR e inviavel, PLI tambem e inviavel.

Sejam x uma solucao otima de PR e z∗ o valor otimo de PLI .

Se x e viavel no problema original PLI , temos que cT x e um limitanteinferior para z∗.

Se f (x) = cT x , como f (x) e um limitante superior para z∗, entao

cT x ≤ z∗ ≤ cT x ⇒ z∗ = cT x

e, portanto, x e uma solucao otima de PLI .

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 50 / 51

Page 51: Programação linear inteira - conceitos básicos · 2020. 2. 19. · Programa˘c~ao linear inteira Como esse procedimento que acabamos de realizar precisa da representa˘c~ao gr

Otimalidade

Temos, portanto, a seguinte proposicao.

Proposicao 1. Sejam um problema de programacao linear inteira PLI eseu problema relaxado PR .

(i) Se PR e inviavel, PLI tambem e inviavel.

(ii) Se x e viavel em PLI e f (x) = cT x , entao x e uma solucao otima dePLI .

Com todas essas ferramentas, ja podemos desenvolver algoritmos pararesolver problemas de programacao linear inteira.

Marina Andretta (ICMC-USP) sme0510 - IPO 21 de outubro de 2019 51 / 51