27
Aula 12: Programaªo Inteira Otimizaªo Linear e Inteira Toelio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computaªo UFOP

Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Aula 12: Programação InteiraOtimização Linear e Inteira

Túlio A. M. Toffolohttp://www.toffolo.com.br

BCC464/PCC174 –2018/2Departamento de Computação –UFOP

Page 2: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Aula de Hoje

1 Programação Inteira: A Formulação Ideal

2 Modelagem em Programação InteiraCaixeiro ViajanteCobertura de Conjuntos

3 Exercícios

2 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 3: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Aula de Hoje

1 Programação Inteira: A Formulação Ideal

2 Modelagem em Programação InteiraCaixeiro ViajanteCobertura de Conjuntos

3 Exercícios

2 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 4: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Conceito

Relaxação

Uma formulaçãoR = {min fR(x) : x ∈ XR} é considerada umarelaxação de uma formulaçãoM = {min f(x) : x ∈ X} se:1 todas as soluções deM são também soluções deR, ou seja,X ⊆ XR,

2 e toda solução x ∈ X tem custo emR menor ou igual ao custo emM, ou seja, fR(x) ≤ f(x) para todo x ∈ X

Exemplo: relaxação linear

3 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 5: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Exemplo

Maximize z = 6x1 + 5x2

Sujeito a 15x1 + 7x2 ≤ 49

2x1 + 4x2 ≤ 17

x1, x2 ∈ Z+

4 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 6: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Exemplo

Maximize:6x1 + 5x2

Sujeito a:15x1 + 7x2 ≤ 492x1 + 4x2 ≤ 17x1, x2 ∈ Z+

Não é ponto inteiro!

1

2

3

4

1 2 3 4

5 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 7: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Exemplo

Maximize:6x1 + 5x2

Sujeito a:15x1 + 7x2 ≤ 492x1 + 4x2 ≤ 17x1, x2 ∈ Z+

z = 27, 11 emx1 = 1, 7 e x2 = 3, 4

Não é ponto inteiro!

Ótimo inteiro: z = 22emx1 = 2 e x2 = 2

1

2

3

4

1 2 3 4

5 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 8: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

A Formulação Ideal

Maximize:6x1 + 5x2

Sujeito a:2x1 + 2x2 ≤ 86x1 + 3x2 ≤ 18x1, x2 ∈ R+

Formulação ideal

envoltória convexados pontos inteirosválidos

1

2

3

4

1 2 3 4

6 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 9: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

A Formulação Ideal

TeoremaQuando o poliedro definido pelas restrições define a envoltória convexadas soluções inteiras válidas, o Programa Inteiro pode ser resolvidocomo um Programa Linear, ou seja, as restrições de integralidadepodem ser ignoradas e a solução ótima fornecida para esse problemarelaxado ainda assim será uma solução inteira.

No entanto... Obter tal poliedro não é trivial. :(

7 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 10: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Qual formulação escolher?TEACHING INTEGER PROGRAMMING USING THE TSP 117

Fig. 1 Two formulations of the same set.

problem cannot be solved to optimality within the available time, a strong formulationprovides a good bound on the optimal value of the problem. Hence it can also serveas a counterpoint to an effective heuristic, by proving that a solution provided by thelatter is close enough to being optimal.

1.2. Exercises to Compare Formulations in Practice. A classroom lecture oncomparing weak and strong formulations is best accompanied by an assignment askingstudents to do a computational comparison. Such a comparison can simply consistof feeding a strong and a weak formulation of the same problem to an IP solver andcomparing the number of branch-and-bound nodes and times required to solve themto optimality. A problem is well suited for the purpose of a comparison if

(1) it is relevant in practice, interesting, and easy to understand;(2) the advantages of the strong formulation are not immediately apparent, for

some of the following reasons:• the strong formulation uses many more variables and/or constraints;• the weak one can accommodate more versatile objective functions;

(3) the weak and strong formulations are easy to generate.Several such problems are (see, e.g., [9])

• facility location problems (with their weak, i.e., the aggregated, and thestrong, i.e., the disaggregated formulation);• knapsack problems (their usual formulation can easily be strengthened bycover inequalities);• lot-sizing problems (their usual formulation can be strengthened by variousinequalities).

For many problems, however, the advances in IP software disguise the advantage ofproviding a stronger formulation to solvers. Most IP solvers now incorporate auto-matic reformulation techniques that can substantially strengthen a weak formulation.Such techniques include disaggregation (i.e., replacing the constraint

∑mi=1 xi ≤ my

on the 0–1 variables xi and y with the inequalities xi ≤ y (i = 1, . . . ,m)), generatingmany of the inequalities that one would add to the knapsack, and lot-sizing problems(e.g., covers, and flow-covers). Hence, in the case of the models listed above,

• frequently there is no significant difference in the solution times, when feedinga weak or a strong formulation to the solver;

Dow

nloa

ded

04/2

4/18

to 2

00.2

39.1

29.1

94. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

8 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 11: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Como resolver problemas de Programação Inteira (PI)?

Solvers de PI incluem:

Branch-and-bound

Algoritmos de plano de corte

Heurísticas

etc.

9 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 12: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Aula de Hoje

1 Programação Inteira: A Formulação Ideal

2 Modelagem em Programação InteiraCaixeiro ViajanteCobertura de Conjuntos

3 Exercícios

10 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 13: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

O Caixeiro Viajante - Traveling Salesman Problem

Um vendedor precisa visitar n cidades, exatamente uma vez e entãoretornar ao seu ponto de partida.

A distância (ou o tempo esperado de locomoção) entre uma cidade i eoutra cidade j é dada por dij . Deve-se encontrar uma ordenação dascidades que permita a conclusão da viagem no menor tempo possível.

11 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 14: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Caixeiro Viajante - Exemplo

f

c g

e

a j m

n

p

qk

o

l

h

id

b

r

Solução viável: um circuito Hamiltoniano no Grafo.

12 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 15: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Caixeiro Viajante - Exemplo

f

c g

e

a j m

n

p

qk

o

l

h

id

b

r

Solução viável: um circuito Hamiltoniano no Grafo.

12 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 16: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Caixeiro Viajante - Formulação

Variáveis

xij =

{1 se a aresta (i, j) fará parte da rota0 caso contrário

Restrições: chega 1 vez na cidade∑

i=1,...,n:i 6=j

xij = 1 ∀j = 1, . . . , n

Restrições: sai 1 vez da cidade∑

j=1,...,n:j 6=i

xij = 1 ∀i = 1, . . . , n

13 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 17: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Sub-rotas

f

c g

e

a j m

n

p

qk

o

l

h

id

b

r

14 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 18: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Removendo Sub-Rotas

Restrições Cut-set∑

i∈S

j /∈S

xij ≥ 1 ∀S ⊂ N,S 6= ∅

ou

Restrições de Eliminação de Sub-Rotas∑

i∈S

j∈Sxij ≤ |S| − 1 ∀S ⊂ N, 2 ≤ |S| ≤ n− 1

15 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 19: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Removendo Sub-Rotas (alternativa)

ou

Restrições de Miller-Tucker-Zemlin (MTZ)

Sejam variáveis auxiliares ui ≥ 0 (i = 1, ...n):

u1 = 1

ui − uj + nxi,j ≤ n− 1 ∀i, j ∈ {2, ..., n}, i 6= j

PS: há livros dedicados inteiramente ao TSP; exemplos:

Applegate, D., R. Bixby, V. Chvátal, and W. Cook (2006). TheTraveling Salesman Problem. A computational study, PrincetonUniversity

Lawer, E., J.K. Lenstra, A. Rinnooy Kan, and D. Shmoys (editors)(1985). The Traveling Salesman Problem, Wiley, New York.

16 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 20: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Cobertura de Conjuntos - Exemplo

Construção de Escolas:

O governo decidiu construir escolas de modo a satisfazer a demanda emuma determinada cidade que está nos primeiros estágios de seuplanejamento.

Ainda não se sabe quantas escolas serão necessárias. Mas se sabe quea lei exige que nenhum bairro deve estar há mais de 10 km de algumaescola.

Em quais bairros devem ser construídas escolas de modo a respeitar asexigências da lei, sem desperdiçar dinheiro público (não construir escolasmuito próximas)?

17 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 21: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Cobertura de Conjuntos - Exemplo

f

c g

e

a j m

n

p

qk

ol

h

id

b

r

(ligações indicam bairros próximos)

Solução factível: construir em {b, d, h, i, k,m, o}

18 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 22: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Cobertura de Conjuntos - Set Covering

Dados de Entrada

M : conjunto locais que precisam dos serviços (clientes);

N : conjunto de locais onde se pode construir um provedor deserviços (em nosso exemplo, N = M );

cj : custo de instalação do provedor j ∈ N ;

aij : se o local i pode ser atendido pelo provedor j.

Variáveis

xj =

{1 centro j será instalado0 caso contrário

19 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 23: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Cobertura de Conjuntos - Set Covering

Entrada

M clientesN centroscj custo inst.aij atendimento

Variáveisxj instalar centro j

Função Objetivo

Minimizar :∑

j∈Ncjxj

Restrições - Atendimento dos Locais∑

j∈Naijxj ≥ 1 ∀i ∈M

Restrições - Integralidade

xj ∈ {0, 1} ∀i ∈M

20 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 24: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Aula de Hoje

1 Programação Inteira: A Formulação Ideal

2 Modelagem em Programação InteiraCaixeiro ViajanteCobertura de Conjuntos

3 Exercícios

21 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 25: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Ex. 1: Sudoku

5 3 . . 7 . . . .6 . . 1 9 5 . . .. 9 8 . . . . 6 .8 . . . 6 . . . 34 . . 8 . 3 . . 17 . . . 2 . . . 6. 6 . . . . 2 8 .. . . 4 1 9 . . 5. . . . 8 . . 7 9

Apresente um modelo de Programação Inteira que resolva o Sudoku.

22 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 26: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

Ex. 2: Problema das 8-Rainhas

a b c d e f g h

1

2

3

4

5

6

7

8

23 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 12: Programação Inteira

Page 27: Aula 12: Programação Inteira - Otimização Linear e Inteira · 2018. 9. 25. · A Formulação Ideal Teorema Quando o poliedro definido pelas restrições define a envoltória

/ 12

Perguntas?