• Nenhum resultado encontrado

MAC0325 OTIMIZAÇÃO COMBINATÓRIA: NOTAS DE AULA

N/A
N/A
Protected

Academic year: 2022

Share "MAC0325 OTIMIZAÇÃO COMBINATÓRIA: NOTAS DE AULA"

Copied!
38
0
0

Texto

(1)

MARCEL K. DE CARLI SILVA TRANSCRITO PELOS ALUNOS:

BRENO HELFSTEIN MOURA PEDRO SOLA GUSTAVO MENDES DOUGLAS DE ARAUJO SMIGLY

HENRIQUE SBARAI GUSTAVO CAPARICA VICTOR WICHMANN RAPOSO

DANIEL KAWAI ARIEL SERRANONI GUSTAVO CHICATO RAFAEL ZUOLO FRANKLIN SANTIAGO

ARTHUR CAMPOS

Date: 2osemestre de 2018

1

(2)

Sumário

1. Aula de terça-feira, 7 de agosto 3

2. Aula de quinta-feira, 9 de agosto 4

3. Aula de terça-feira, 14 de agosto 6

4. Aula de quinta-feira, 16 de agosto 8

5. Aula de terça-feira, 21 de agosto 10

6. Aula de quinta-feira, 23 de agosto 11

7. Aula de terça-feira, 28 de agosto 12

8. Aula de quinta feira, 30 de agosto 13

9. Aula de Terça Feira, 11 de Setembro 14

10. Aula de Terça Feira, 18 de Setembro 16

11. Aula de Quinta Feira, 20 de Setembro 18

12. Aula de Terça Feira, 25 de Setembro 19

13. Aula de Quinta Feira, 27 de Setembro 21

14. Aula de Terça Feira, 2 de Outubro 22

15. Aula de Quinta Feira, 4 de Outubro 23

16. Aula de Terça Feira, 16 de Outubro 24

17. Aula de Quinta Feira, 18 de Outubro 25

18. Aula de Terça Feira, 23 de Outubro 27

19. Aula de Terça Feira, 30 de Outubro 29

20. Aula de Quinta Feira, 1 de novembro 30

21. Aula de Terça Feira, 6 de novembro 31

22. Aula de Quinta Feira, 8 de novembro 32

23. Aula de Quinta Feira, 22 de novembro 33

24. Aula de Terça Feira, 27 de novembro 34

25. Aula de Terça Feira, 04 de Dezembro 35

Apêndice A. Notação 37

Apêndice B. Produtos Notáveis 37

Referências 38

(3)

1. Aula de terça-feira, 7 de agosto

Umproblema de otimizaçãoé um par ordenado (X, f) em queX é um conjunto, chamadoconjunto viável ouregião viável, e f:X →Ré uma função, chamadafunção objetivo. Mais comumente, nos referimos ao problema de otimização (X, f) como o problema:

Minimizar f(x)

sujeito a xX. (OPT)

A otimização combinatória trata de problemas no formato (OPT) em que X é finito. Geralmente o conjuntoX envolve objetos em grafos e é dado implicitamente, isto é, descrito por um objeto muito menor, de “tamanho”n, sendo que o tamanho deX é pelo menos exponencial de n. A qualidade dos algoritmos que vamos construir será expressa em função den. A “estrutura combinatória” do problema muitas vezes nos permite resolver problema sem examinar cada elemento deX.

Cada elementoxdeX é uma solução viável de (OPT) ef(x) é ovalor objetivodex. O problema (OPT) é viável se X 6=∅ einviável caso contrário. O valor ótimo de (OPT) é infx∈Xf(x) ∈[−∞,+∞]. Note que o valor ótimo de um problema é +∞se, e somente se, o problema é inviável. Se o valor ótimo é−∞, o problema é ilimitado. Uma solução ótima é uma solução viável cujo valor objetivo é o valor ótimo do problema; equivalentemente, ¯xX é solução ótima se, e somente se, para todoxX, vale quefx)f(x).

Um grafo é uma tripla ordenada G = (V, E, ϕ), em que V(G) := V é um conjunto finito de vértices, E(G) :=E é um conjunto finito dearestas eϕ:=EV1

V2

é umafunção de incidência, sendo Vk a coleção dek-subconjuntos deV.

(4)

2. Aula de quinta-feira, 9 de agosto

SejaG= (V, E, ϕ) um grafo. Os elementos de ϕ(e) são as pontasdeeE. A arestaeE é umlaçose

|ϕ(e)|= 1. Muitas vezes abreviamosuv:={u, v}. Se arestas distintase, fE não são laços eϕ(e) =ϕ(f), entãoe ef são arestas paralelas. Se Gnão tem laços e nem arestas paralelas, entãoGésimples. SeGé simples e seϕé a função identidade, costumamos omitirϕe dizemos queGé o par ordenado (V, E), com EV2

. Abreviamosn:=|V| em:=|E|.

Um digrafo é uma tripla ordenada D = (V, A, ϕ), em que V é um conjunto finito de vértices, Aé um conjunto finito dearcoseϕ:AV×V é uma função de incidência. Seuevsão elementos deV, abreviamos uv:= (u, v) e seϕ(a) =ϕ(b) = (u, v) eu6=v, dizemos queaebsãoarcos paralelos.

Exercício 2.1. Transplante a terminologia vista acima para grafos de forma análoga para digrafos.

Umpasseionum digrafoD= (V, A, ϕ) é uma sequênciaW =hv0, a1, v1, . . . , ak, vkiformada alternadamente por vértices e arcos de D tais que k ≥ 0 e, para todo i ∈ [k] := {1, . . . , k}, vale que ϕ(ai) = (vi−1, vi).

DenotamosV(W) :={vi}ki=0 eA(W) :={ai}ki=1 e dizemos queW temcomprimentok. Sev0=vk, o passeio éfechado. SeW é fechado e|V(W)|=k, dizemos queW é umcircuito. Se|V(W)|=k+ 1, dizemos que W é umcaminho. Dizemos que o passeioW vai de v0 paravk.

Exercício 2.2. Novamente, faça as definições análogas para grafos.

Um circuito num grafoG= (V, E) éhamiltoniano se tem comprimento|V|. Ografo completo sobreum conjunto finitoV éKv:= (V, V2

).

Problema (Problema do Caixeiro Viajante). Dado um conjunto finitoV ew:E(Kv)→R, encontre uma solução ótima de

Minimizar X

e∈E(C)

w(e)

sujeito a C é circuito hamiltoniano emKv.

(TSP)

Um grafoH = (W, F, ψ) é umsubgrafode um grafo G= (V, E, ϕ) seWV,FE eψ=ϕF.

Se F ={eE:ϕ(e)W}=:E[W] dizemos que H é osubgrafo de Ginduzido por W, denotado por G[W].

Logo,G[S] = (S, E[S], ϕE[S]) para todo SV. SeW =V, então H ésubgrafo gerador deG.

Exercício 2.3. Faça as definições análogas para digrafos.

SejaG= (V, E, ϕ) um grafo. A relação!G sobreV definida como

u!Gv se existe um passeio deuparavem G (2.1) é uma relação de equivalência. As classes de equivalência de!G são oscomponentes (conexos) deG.

O grafoGéconexo seGtem menos que dois componentes. O grafoGéacíclicoseGnão tem circuitos (ouGé uma floresta). Umaárvore é uma floresta conexa. Umaárvore geradoradeGé um subgrafo gerador

deGque é uma árvore.

Problema (Problema da Árvore Geradora de Custo Mínimo). Dados um grafo conexoG= (V, E, ϕ) e uma função “custo” nas arestasc:E→R, encontre uma solução ótima para

Minimizar X

e∈F

c(e) =:c(F)

sujeito a FE e (V, F, ϕF) é árvore geradora deG.

(MST)

(5)

SejaD= (V, A, ϕ) um digrafo eW =hv0, a1, v1, . . . , ak, vkium passeio emD. Seja`:A→Ruma função

“custo”. OcustodeW é`(W) :=Pk

i=1`(ai). Um circuitoC emDé(`-)negativose`(C)<0.

(6)

3. Aula de terça-feira, 14 de agosto Resolver um problema de otimização significa:

(i) determinar se ele é inviável, ou (ii) determinar se ele é ilimitado, ou

(iii) determinar o valor ótimo e achar uma solução ótima, se existir.

Problema (Problema do Caminho Mínimo). Dado um digrafoD= (V, A, ϕ), vérticesr, sV e`:A→R, resolva o problema de otimização:

Minimizar `(P)

sujeito a P é um caminho dera semD. (SPP)

(SPP) é NP-difícil. Denote distD,`(r, s) o valor ótimo de (SPP).

Problema (Problema do Passeio Mínimo). Dados um digrafoD= (V, A, ϕ), vérticesr, sV e`: A→R, resolva o problema de otimização:

Minimizar `(W)

sujeito a W é um passeio derasemD. (SWP)

Definição. Sejam (X, f) e (Y, g) problemas de otimização. Um homomorfismode (X, f) a (Y, g) é uma funçãoψ:XY tal queg(ψ(x))f(x) para todoxX. Se existe um homomorfismo de (X, f) a (Y, g), escrevemos (X, f)→(Y, g). Os problemas (X, f) e (Y, g) sãoequivalentesse (X, f)→(Y, g) e (Y, g)→(X, f).

Exercício 3.1. Prove que, se dois problemas de otimização são equivalentes, então ambos têm um desses possíveis resultados: (i) inviável, (ii) ilimitado, (iii) valor ótimo finito com solução ótima ou (iv) valor ótimo finito sem solução ótima.

Vamos definir agora a relação binária D emV por

r Dsse existe um passeio derparasemD.

Exercício 3.2. Prove que tanto o problema (SPP) quanto (SWP) são ambos equivalentes ao problema aplicado no subdigrafo induzidoD[Vrs] em queVrs:={vV :r Dv ev Ds}.

Exercício3.2mostra que pouca generalidade é perdida tanto em (SPP) quanto em (SWP) se assumimos que,

para cadavV, temos r Dv Ds. (R)

Também é óbvio como reduzir qualquer instância de ambos os problemas para uma em que o digrafo seja simples.

Exercício 3.3. SejamD= (V, A) um digrafo,r, sV e`:A→R. Prove que, se uma determinada solução ótimaWde (SWP) é um caminho, entãoW é uma solução ótima para (SPP).

Exercício 3.4. SejamD= (V, A) um digrafo, r, sV e`: A→R. Sehv0, a1, v1, . . . , ak, vkié uma solução ótima para (SWP) evi =vj parai, j∈ {0, . . . , k} tais quei < j, então C:=hvi, ai+1, vi+1, . . . , aj, vjitem custo`(C) = 0.

Proposição 3.5. Sejam D = (V, A) um digrafo, r, sV e `: A → R. Então qualquer solução ótima de (SWP) de comprimento mínimo é um caminho e, logo, uma solução ótima para (SPP).

Demonstração. SejaW =hv0, a1, v1, . . . , ak, vkiuma solução ótima para (SWP) com número de arcos mínimo.

Se existemi, j∈ {0, . . . , k}tais quevi =vj ei < j, então W0:=hv0, a1, v1, . . . , ai, vi, aj+1, vj+1, . . . , ak, vki é um passeio de r para s com `(W0) = `(W)−`(C) em que C := hvi, ai+1, vi+1, . . . , aj, vji. Logo, pelo Exercício3.4, segue que`(W0) = `(W). Logo, W0 também é uma solução ótima e tem menos arcos. Isso contradiz a escolha deW. Portanto, W é um caminho e o resultado sai diretamente do Exercício3.3.

SejaD= (V, A, ϕ) um digrafo. Defina:

δout(S) :={aA:ϕ(a) =uv, uS, v6∈S} ∀S⊆V, δin(S) :=δDout(V \S) ∀S⊆V.

(7)

Teorema 3.6. SejamD= (V, A) um digrafo er, sV. Entãor6 Ds ⇐⇒ existeRV tal querR, s6∈R eδDout(R) =∅.

Demonstração. (⇐) Trivial.

(⇒) Defina R :={vV : r Dv}. Note que rR es /R. SeδDout(R)6= ∅, então existe eδDout(R).

Assim, existe uR tal que ϕ(e) =uv. Dessa forma, seW =hr, a1, v1, . . . , ak, uié um caminho de rau, entãohr, a1, v1, . . . , ak, u, e, vié um caminho derav. Contradição.

Teorema 3.7. SejamD= (V, A) um digrafo,r, sV e`:A→R. Suponha que (R) vale. Então (SWP) é ilimitado se e somente seDtem um circuito negativo.

(8)

4. Aula de quinta-feira, 16 de agosto

Teorema 4.1. Sejam D= (V, A) um digrafo,r, sV e`:A→R. Suponha que vale (R). Então

(SWP) é ilimitado ⇐⇒ D tem um circuito negativo. (4.1) Esboço de prova. (⇐) SejaC um circuito negativo emD. SejavV(C). Por (R), existem passeiosW1 de raté v eW2 de v atés. Se “concatenarmos”W1 com k∈N“cópias” deC, seguidas deW2, obtemos um passeio dev ascom custo`(W1) +k`(C) +`(W2)→ −∞(sek→ ∞). (Ex: faça a prova acima usando só uma cópia deC).

(⇒) Suponha queD não tem circuito negativo. Se W é um passeio dera semD, existe um caminhoP derasemD com`(P)`(W) [remova circuitos do passeio até que não sobre nenhum]. Logo, existe um

homomorfismo de (SWP) para (SPP), que é limitado.

Exercício 4.2. SejamD= (V, A) um digrafo,r, sV e`:A→R. Suponha que vale (R). Prove que, se o valor ótimo de (SWP) é finito, então existe uma solução ótima.

SejamD= (V, A) um digrafo,rV e`:A→R. Para cadat∈N, definayt:V →R∪ {∞}como y0(v) :=

0 sev=r,

+∞ caso contrário, (4.2)

e

yt+1(v) := min {yt(v)} ∪ {yt(u) +`(uv) : uvA}

∀t∈N. (4.3)

Para cadat∈NevV, sejam

W0(v) :=

(hri sev=r,

⊥ caso contrário, (4.4)

e

Wt+1(v) :=

(hz0, . . . , ak, zk, uv, vi seyt(u) +`(uv) =yt+1(v)< yt(v) eWt(u) =hz0, . . . , ak, zki,

Wt(v) seyt+1(v) =yt(v) ∀t∈N.

(4.5) Note queytestá definido inambiguamente para todot∈N, enquanto os passeiosWt(v) não são definidos de forma única. Uma possibilidade para que esses passeios estejam unicamente definidos é criar uma ordem total arbitrária≤sobreV e, em caso de vários arcos uvtais queyt+1(v) =yt(u) +`(uv), podemos sempre escolher o elementoumínimo na ordem ≤.

Exercício 4.3. SejamD= (V, A) um digrafo,rV e`:A→R. Prove que, para cadat∈Ne cadasV, o valor ótimo do problema de otimização

Minimizar `(P)

sujeito a P é um passeio der asemD de comprimento≤t (SWPt) éyt(s) eWt(s) é uma solução ótima seyt(s)<∞.

É fácil verificar queytpode ser computada em tempo polinomial emn=|V|et. Um jeito esperto de fazer isso computacionalmente usa programação dinâmica e não é difícil recuperar os passeios ótimos das relações de recorrência em (4.2) e (4.3). Suponha que vale (R). Pelo Theorem4.1, Exercício4.2e Proposition3.5, seDnão tem circuitos negativos, então yn−1= dist(G,`)(r,·). Como podemos detectar/certificar seD tem circuitos negativos e certificar que os passeios que encontramos são ótimos?

SejamD= (V, A) um digrafo e `: A→R. Temporariamente, vamos chamar depotencial qualquer função y:V →R∪ {∞}. Um potencial é viável(com relação a`) se

y(v)y(u) +`(uv) ∀uv∈A.

Se y é um potencial viável,r, sV ey(r)<∞, entãor D s =⇒ ys<∞. Logo pouca generalidade é perdida quando assumimos que um potencial viável é finito sempre.

Teorema 4.4. SejaD= (V, A) um digrafo,r, sV e`:A→R. Sey:V →Ré um potencial viável, então para qualquer passeioW der asemD, vale

`(W)≥y(s)y(r) (4.6)

(9)

Demonstração. SejaW =hv0, a1, v1, . . . , ak, vkium passeio de r=v0 as=vk emD. Então

`(W) =

k

X

i=1

`(ai) =

k

X

i=1

`(vi−1vi)≥

k

X

i=1

y(vi)−y(vi−1)

=y(vk)−y(v0) =y(s)y(r)

pela soma telescópica.

Corolário 4.5. Seja D= (V, A) um digrafo e seja`:A→R. Se existe um potencial viávely:V →Rentão D não possui circuitos negativos.

Demonstração. SejaC um circuito emD deras=r. Então`(C)y(s)y(r) = 0 pelo Theorem4.4.

Corolário 4.6. SejaD = (V, A) um digrafo comnvértices, rV, e `:A→R. Suponha que, para cada vV, temosr Dv. SeD não possui circuitos negativos, entãoyn−1= dist(G,`)(r,·) é um potencial viável.

Demonstração. Isto é um resumo do que foi discutido acima. Escreva a prova completa como exercício.

A respeito das funções yt definidas em (4.2) e (4.3), é fácil de verificar que yt = yt+1 ⇐⇒ yt é um potencial viável. Logo, para detectar seD possui um circuito negativo, é suficiente verificar seyn−1=yn, pelo Corollary4.6. Para de fato encontrar um circuito negativo, suponha queyn6=yn−1. Já queynyn−1, existevV tal queyn(v)< yn−1(v). Pelo Exercício4.2, existe um passeioW deravemDde comprimento exatamentene custo`(W)<dist(G,`)(r, v). Portanto,W deve “conter” um circuito negativo.

(10)

5. Aula de terça-feira, 21 de agosto

Teorema 5.1 (O algoritmo de Bellman-Ford). SejamD= (V, A) um digrafo,r, sV e`:A→R. Defina yt para cada t∈N como em (4.2) e (4.3) e definaWt(v) para cada t∈N evV como em (4.4) e (4.5).

DefinaR:={vV :r Dv}eS:={vV :v Ds}. Definay:=yn−1R∩S, onden:=|V|. Então vale precisamente uma das afirmações abaixo:

(i) O problema (SWP) é inviável e R={vV :yv<∞} satisfazrR,s6∈Reδout(R) =∅.

(ii) O problema (SWP) é ilimitado e existevRS tal que o passeioWn(v) =hv0, a1, v1, . . . , an, vnitem comprimento ne, para quaisquer i, j ∈ {0, . . . , n} com i < j e vi =vj, o passeioWij :=hvi, . . . , vji satisfaz`(Wij)<0.

(iii) O problema (SWP) tem valor ótimo ysyr, o caminhoP := Wn−1(s) é uma solução ótima para (SWP) e (SPP), ey:RS→Ré um potencial viável emD[RS]. SeW é passeio derasemD, então W está emD[RS] e, portanto,`(W)≥ysyr=`(P).

Demonstração. Novamente este é um resumo do que foi discutido acima. Escreva a prova completa como

exercício.

Exercício 5.2 (O algoritmo de Dijkstra). SejamD= (V, A) um digrafo,rV e`:A→R+. Suponha que, para todovV, vale quer D v. Definay0:V →R∪ {∞} como em (4.2) eV0:=∅. Para cadat∈N, defina

Ut:= arg min{yt(v) :vV \Vt}, Vt+1:=VtUt,

yt+1(v) :=

(yt(v) sevVt+1, min {yt(v)} ∪ {yt(u) +`(uv) :uvA, uUt}

caso contrário, ∀v∈V.

Prove que, para cadat∈N, o potencialytVt+1 é viável no digrafoD[Vt+1].

SejaG= (V, E, ϕ) um grafo. Para cadaME, denoteVM :=S

e∈Mϕ(e). Dizemos que ME é um emparelhamentose |VM|= 2|M|. Note queM é um emparelhamento se, e somente se,M não possui laços e, para quaisquere, fM distintos, vale queϕ(e)ϕ(f) =∅. Neste caso, os vértices deVM sãosaturadosou cobertosporM. O emparelhamentoM éperfeitoseVM =V.

Problema (Problema do Emparelhamento de Peso Máximo). Dado um grafoG= (V, E, ϕ) ew: E→R, resolva o problema de otimização

Maximizar w(M)

sujeito a M é um emparelhamento emG. (5.1)

O valor ótimo de (5.1) é denotado porνw(G).

Problema (Problema do Emparelhamento Perfeito de Peso Mínimo). Dado um grafo G = (V, E, ϕ) e w:E→R, resolva o problema de otimização

Minimizar w(M)

sujeito a M é um emparelhamento perfeito emG. (5.2)

(11)

6. Aula de quinta-feira, 23 de agosto

Inicialmente, vamos tratar do caso em que w =1. Nesse caso (de cardinalidade), esses problemas se traduzem a: encontrar um emparelhamento máximo e decidir se o grafo tem algum emparelhamento perfeito.

Abrevieν :=ν1. Um emparelhamentoM emGémáximo se|M|=ν(G).

SejaG= (V, E, ϕ) um grafo,ME um emparelhamento eP =hv0, e1, v1, . . . , ek, vkium caminho emG.

O caminhoP éM-alternante se, para todoi∈[k−1], vale que eiM ⇐⇒ ei+16∈M.

SeP éM-alternante, então V(P)\ {v0, vk} ⊆VM; sev0, vk6∈VM, dizemos que P éM-aumentador.

Exercício 6.1. SejaG= (V, E, ϕ) um grafo,ME um emparelhamento, P =hv0, e1, v1, . . . , ek, vkium caminhoM-alternante derasemG. Suponha que

v0VM =⇒ e1M evkVM =⇒ ekM.

Prove que N := ME(P) é um emparelhamento e que VN = VM ∆{r, s}. Em particular, se P é M-aumentador, entãoM não é máximo.

SejaG= (V, E, ϕ) um grafo sem laços. Defina

δG(S) :={eE:ϕ(e)S6=∅, ϕ(e)S6=∅} ∀S⊆V

ocorte deGcommargem S, em queS:=V \S. Note que, para todoSV, valeδG(S) =δG(S).

Abrevie

δG(v) :=δG({v}) ∀v∈V, degG(v) :=|δG(v)| ∀v∈V.

Denote ∆(G) := maxv∈VdegG(v).

Seja G = (V, E, ϕ) um grafo. Dizemos que G é um caminho se existe um caminho P em G tal que G = (V(P), E(P), ϕE(P)). Dizemos que G é um circuito se existe um circuito C em G tal que G = (V(C), E(C), ϕE(C)).

Exercício 6.2. Mostre que se G é um grafo com pelo menos um vértice e ∆(G) ≤ 2, então para cada componenteK deG, vale que G[K] é um caminho ou um circuito.

Teorema 6.3 (Teorema de Berge). SejamG= (V, E, ϕ) um grafo eME um emparelhamento. EntãoM é máximo ⇐⇒ não existe caminhoM-aumentador emG.

Demonstração. (⇒) Segue imediatamente do Exercício6.1.

[conversa de (⇐)] Seja N um emparelhamento tal que |N| >|M|. Se K é um componente de H :=

(V, M ∆N, ϕM∆N), então H[K] é caminho ou circuito, pelo Exercício 6.2. Se H[K] é circuito, então

|M ∩E[K]|=|N∩E[K]|. Como|M|<|N|, há pelo menos um componenteK deH em que H[K] é um caminho tal que N0 :=NE[K] tem mais arestas queM0 :=ME[K]. Seja P =hv0, e1, v1, . . . , ek, vki um caminho emH[K] tal que V(P) =K. EntãoP éM-alternante e v0, vk 6∈VM; caso contrário teríamos

|M0| ≥ |N0|. Logo,P éM-aumentador.

Note que o Theorem6.3 não fornece um certificado de queM é máximo.

SejaD= (V, A, ϕ) um digrafo. Ografo subjacente aD é o grafo (V, A, ψ), em que ψ(a) :=

(vv seϕ(a) =vv, uv seϕ(a) =uv.

Um digrafoD é umaorientaçãode um grafoGseGé o grafo subjacente aD.

SejaG= (V, E, ϕ) um grafo. Dizemos que SV éestável seG[S] não tem arestas. SeU, WV são disjuntos e estáveis emG, e vale queUW =V, dizemos queGé (U, W)-bipartido.

SejaG= (V, E, ϕ) um grafo (U, W)-bipartido. Seja ME um emparelhamento e tome M :=E\M. Defina a orientaçãoDM := (V, E, ψM) deG, em que

ψM(e) :=

(uw seeM eϕ(e) =uwcomuU ewW,

wu seeM eϕ(e) =uwcomuU ewW, ∀e∈E. (6.1)

(12)

Exercício 6.4. SejaG= (V, E, ϕ) um grafo (U, W)-bipartido. SejaME um emparelhamento. SejaP um caminho emGcom início emuU. Prove que P éM-aumentador ⇐⇒ P é um caminho emDM que vai de um vértice deU\VM a um vértice deW \VM.

7. Aula de terça-feira, 28 de agosto

SejaG= (V, E, ϕ) um grafo. Dizemos queKV é umacobertura por vérticesseGK:=G[V \K] não tem arestas.

Proposição 7.1. SejamG= (V, E, ϕ) um grafo, ME um emparelhamento eKV uma cobertura por vértices. Então|M| ≤ |K|.

Demonstração. Defina uma funçãofm:MK da seguinte forma. Para cadaeM, seϕ(e) =uv, então uK ouvK. Caso contrário,eE(GK) =∅. Escolhafm(e) como uouv de modo quefm(e)∈K.

Como{ϕ(e) :eM}é 2-a-2 disjunto,fmé injetora.

Teorema 7.2. SejamG= (V, E, ϕ) um grafo (U, W)-bipartido eME um emparelhamento. SejaD:=

DM = (V, E, ψ) a orientação deGdefinida em (6.1). DefinaR:={vV : existe uU \VM tal que u Dv}.

Então vale exatamente uma das afirmações abaixo:

(i) R∩(W \Vm)6=∅e, para qualquerwR∩(W \Vm) e qualquer caminho P em Dque vai de algum vérticeudeU\Vm atéw,P éM-aumentador.

(ii) R∩(W \Vm) =∅eK:= (U\R)∪(W∩R) é uma cobertura por vértices com|K| ≤ |M|.

Demonstração. SeR∩(W\VM)6=∅, o restante de (i) segue do Exercício6.4. Suponha queR∩(W\VM) =∅. Vamos provar que

K:= (U\R)∪(W ∩R) é uma cobertura por vértices. (7.1) Suponha que GK tem alguma aresta ecom pontas uU e wW. Então uUR e wW \R.

Claramenteδout(R) =∅e entãoψ(e) =wu. ComouR, existe um caminho P=hv0, a1, v1, . . . , ak, vkiem Dcomv0U\VM,k≥1 evk =u. Masδin(u) ={e}, e portantovk−1=we entãowR, uma contradição.

Isso conclui a prova de (7.1).

Para provar que|K| ≤ |M|, vamos construir uma injeçãoπ:KM. SejauU\R. ComoU\VMR, temosuVM e portanto existemeM ewW tais queϕ(e) =uw. Tomeπ(u) :=e. Note quewW\R, pois caso contráriowWR e portantoeδout(R) =∅. Logo,

∀v∈U \R, ϕ(π(v))V \R. (7.2)

SejawWR. ComoR∩(W \VM) =∅, temoswVM. Portanto existemeM euU tais que ϕ(e) =uw. Tomeπ(w) :=e. Note queuUR, poisψ(e) =wuewR. Logo,

∀v∈WR, ϕ(π(v))R. (7.3)

ComoGé bipartido, é evidente queπU\R eπW∩R são injetoras. Combinando esta afirmação com (7.2) e

(7.3), segue queπé injetora.

Corolário 7.3 (Teorema de emparelhamento de Kőnig). SejaGum grafo (U, W)-bipartido. Então max{ |M|:ME um emparelhamento em G}= min{ |K|:KV é cobertura por vértices emG}.

(7.4)

Demonstração. Imediata da Proposition7.1e Theorem7.2

(13)

8. Aula de quinta feira, 30 de agosto

SejaS um conjunto finito. Abase canônicado espaço vetorial RS é{ei:iS}, em queei(j) := [i=j]

para todosi, jS.

Ovetor de incidênciadeUS é1U :=X

i∈U

ei∈RS. Denote1:=1S.

SejaG= (V, E, ϕ) um grafo. EntãoME é emparelhamento se e só se ¯x:=1M é viável em Maximizar 1Tx

sujeito a x(δ(v))≤1 ∀v∈V x∈RE+

(P) Nesse caso, o valor objetivo de ¯xé1Tx¯=|M|.

Parax, y∈RS, escrevemosxy se, para todo iS, vale que xiyi. Então ≥é uma ordem parcial.

Definimos≤analogamente. Sexyez≥0, entãoxTzyTz. Podemos notar facilmente que paraa, b∈RS, sea≥0 eb≥0, entãoaTb≥0.

Amatriz de incidência de um grafo G= (V, E, ϕ) sem laços é a matrizBG∈RV×E definida como:

BG(v, e) = [v∈ϕ(e)] ∀(v, e)∈V ×E. (8.1)

Utilizando a matriz de incidência, o problema de otimização (P) fica igual a Maximizar 1Tx

sujeito a BGx≤1 x∈RE+

(8.2) Seu dual é

Minimizar 1Ty sujeito a y≥0

BGTy≥1

(8.3) que é igual a

Minimizar 1Ty sujeito a y∈RV+

1Tϕ(e)y≥1 ∀e∈E yu+yv≥1 ∀uv∈E

(D)

ParaKV, o vetor ¯y:=1K é viável em (D) se e só seK é cobertura por vértices emG. Nesse caso, o valor objetivo de ¯y é1Ty¯=|K|.

O teorema de emparelhamento de Kőnig mostra que se Gé bipartido, ME é um emparelhamento máximo eKV é uma cobertura por vértices de tamanho mínimo, então1M e1K são soluções ótimas de (P) e (D), respectivamente. Em particular, (P) e (D) possuem soluções ótimas integrais (um vetor é dito integral se e só se todas as suas coordenadas são inteiros).

Paradigma fundamental da otimização combinatória

Dado um problemaP de otimização combinatória, formule um programa linear Max{cTx:Axb, x≥0}

tal que as soluções viáveis deP “correspondam” a algumas soluções viáveis do programa linear (por exemplo, via vetores de incidência). Depois monte o dual do programa linear e investigue sua relação comP (por exemplo, via soluções integrais).

Exemplo:

Max{cTx:Axb, x∈ZE+} ≤Max{cTx:Axb, x∈RE+}

≤ Min{bTy:ATyc, y∈RV+} ≤Min{bTy:ATyc, y∈ZV+}

Estude condições que são necessárias/suficientes para que algumas/todas as desigualdades acima valham com igual.

(14)

9. Aula de Terça Feira, 11 de Setembro Revisão de programação linear.

Umprograma linear (PL) é uma 6-upla (A, b, c,{Ui},{Vj}, α) onde{Ui}i∈{0,±1}e{Vj}j∈{0,±1}são famílias de conjuntos finitos e 2-a-2 disjuntos,α∈ {±1}e, paraU :=∪i∈{0,±1}UieV :=∪j∈{0,±1}Vj, temosA∈RU×V, b∈RU ec∈RV identificado com o seguinte problema de otimização (seα=−1)

Minimizar cTx

sujeito a (Ax)U+bU+

(Ax)U0 = bU0

(Ax)UbU

xV+ ∈ RV++

xV0 ∈ RV0 xV ∈ −RV+

e analogamente paraα= +1 com Maximizar no lugar de Minimizar e≥e≤trocados. Se escrevermos a decomposição em blocos,

A=

A++ A+0 A+−

A0+ A00 A0−

A−+ A−0 A−−

,b=

b+

b0

b

,cT=

cT+ cT0 cT ex=

x+

x0

x

, ∀x∈RV (9.1) o problema pode ser escrito como

Minimizar cTx

sujeito a A++x++A+0x0+A+−xb+ A0+x++A00x0+A0−x=b0 A−+x++A−0x0+A−−xb x+∈RV++, x0∈RV0, x∈ −RV+

(P)

O dual de um PL (A, b, c,U,V, α) é o PL (AT, c, b,V,U,−α). Logo, o dual de (P) é Maximizar bTy

sujeito a AT++y++AT0+y0+AT−+yc+ AT+0y++AT00y0+AT−0y =c0 AT+−y++AT0−y0+AT−−yc y+∈RU++, y0∈RU0, y∈ −RU+

(D)

e o dual de (D) é (P).

Teorema 9.1. Sejam A∈RU×V,b∈RU, ec∈RV. Considere os PLs Maximizar cTx

sujeito a Axb (P)

Minimizar bTy sujeito a ATy=b

y∈RU+

(D) Então:

(i) sexeysão soluções viáveis de (P) e (D), respectivamente, entãocTxbTy, com igualdade se e somente seyi(b−Ax)i= 0∀i∈U

(ii) os valores ótimos de (P) e (D) são iguais se pelo menos um deles é viável (iii) se ambos (P) e (D) são viáveis, ambos possuem soluções ótimas

(iv) se (P) é ilimitado, ∃d∈RV tal que Ad≤0 e cTd >0∴ sexé viável em (P), entãox+R+dé uma semi-reta de soluções viáveis com valor objetivo ilimitado. Uma afirmação análoga pode ser feita se (D) é ilimitado (Exercício)

Exercício 9.2. Enuncie o Theorem9.1para a forma mais geral de Programas Lineares e prove (i).

Corolário 9.3 (Teorema fundamental de Programação Linear). Um Programa Linear é ou inviável, ou tem solução ótima, ou é ilimitado.

(15)

Demonstração. Exercício.

(16)

10. Aula de Terça Feira, 18 de Setembro Discussão sobre a Prova 1.

Geometria de Programas Lineares

Sejamx, y∈RV (OndeV é um conjunto finito). O segmento de reta entrexey é:

[x, y] :=x+ [0,1](y−x) ={x+λ(yx) :λ∈[0,1]}={(1−λ)x+λy:λ∈[0,1]}

Um subconjunto C⊆RV é convexo se∀x, y∈C vale que [x, y]⊆C. Se{Ci}i∈I é uma família tal que Ci⊆RV é convexo∀i, então T

i∈ICi é convexo. (Exercício!).

Exemplo: um semi-espaço (fechado) é um conjunto da forma{x∈RV :aTxβ}para alguma∈RV\ {0}

eβ∈R. Todo semi-espaço é convexo (Exercício!).

Um poliedro é uma intersecção finita de semi-epspaços, isto é, um conjunto da forma{x∈RV :Axb}

para alguma matrizA∈RU×V e um vetorb∈RU. Note que a região viável de qualquer PL é um poliedro.

Seja{xi}i∈I uma família finita de pontos emRV. Uma combinação linearP

i∈Iαixié uma combinação convexa se os coeficientes{αi}i∈I satisfazemα≥0 e1α= 1

Exercício 10.1. SejaS⊆RV um conjunto finito. Prove que o conjunto de todas as combinações convexas de pontos deS é um conjunto convexo.

SejaS⊆RV. O fecho convexo (O “Menor” conjunto convexo que contémS ) deS, denotado porconv(S), é a intersecção de todos os subconjuntos convexos deRV que contêmS.

Exercício 10.2. SejaS⊆RV finito. Prova que conv(S) é o conunto descrito no Exercício10.1 Um conjunto da formaconv(S) para algumS⊆RV finito é um politopo.

Exemplo: SejaG= (V, E, ψ) um grafo. O politopo dos emparelhamentos deGé:

Pemp(G) :=conv(1M :ME emparelhamento de G)⊆RE Teorema 10.3. (Minkowski-Stanitz-Wegl) SejaP ⊆RV Então:

P é um politopo ⇐⇒ P é um poliedro limitado P ser limitado significa∃M >0 tq P ⊆[−M, M]V.

SejaC⊆RV um conjunto convexo. Dizemos quexC é um ponto extremo deCse não existemy, zC com|{x, y, z}|= 3 ex∈[y, z]

Teorema 10.4. (Versão fraca do teorema de Krein-Milman) Todo politopo é o fecho convexo de seus pontos extremos.

Prova: Exercício! (“Esse é facil!” – Marcel)

Teorema 10.5. SejamP ⊆RV um poliedro ec∈RV, tal queP é um politopo ouP ⊆RV+ (Essas hipóteses podem ser enfraquecidas)

Se o PL:

Max cTx s. a xP

Possui solução ótima, então existe uma solução ótima que é um ponto extremo deP.

(17)

SejaA∈RU×V uma matriz. Qualquer matriz da forma A[S, T] := ASxT comSU eTV é uma submatriz de A. Se SU = V (Nesse caso a matriz A é quadrada), abreviamos A[S] = A[S, S]. Tais submatrizes são chamadas de submatrizes principais deA.

Teorema 10.6. Sejam A∈RU×V uma matriz,b∈RU. SejaxP :={x∈RV :Axb}. Entãoxé um ponto extremo deP ⇐⇒ ∃S⊆U tal que{x}={x∈RV :A[S, V]x=bS}.

(18)

11. Aula de Quinta Feira, 20 de Setembro Discussão do Teorema (10.6) da aula passada.

Um poliedroP ⊆RV é racional se existemA∈QU×V eb∈QU tal queP ={x∈RV :Axb}.

Exercício 11.1. SejaP ⊆RV um poliedro exP Prove que

xé um ponto extremo deP ⇐⇒ ∃c∈RV tal que{x}=argmaxx∈P cTx Além disso, seP é racional, a afirmação continua verdadeira se exigirmosc∈ZV.

Um politopo é integral se todos os seus pontos extremos são integrais. Um poliedroP ⊆RV+ é integral se todos os seus pontos extremos são integrais.

Teorema 11.2. Seja ∅6=P ⊆RV um politopo racional, entãoP é integral ⇐⇒ ∀w ∈ ZV temos que maxx∈P wTx∈Z.

Demonstração. ( =⇒) Sejaw∈ZV. Pelo teorema Fundamental da Programção Linear,

Tem solução ótima e existe soulção ótimaxX pelo (10.5). Logo,maxx∈P wTx=wTx∈Z.

(⇐= ) Seja xX. Pelo (11.1), ∃w∈ZV tal que {x} =argmaxx∈P wTx. Sejaw ∈Zv um múltiplo escalar positvo dewtal que para todo (y, i)∈(X\ {x})×V, vale que:

wTx > wTy+yixi (4)

Sabemos que talwexiste pois (X\ {x})×V é finito. SejaiV. ˜w:=w+ei. Pelo (10.5) e (4),xé uma solução ótima para (Pw). Então˜ xi= ˜wTxwTx∈Z

SejaA ∈RU×V. Dizemos queA é totalmente unimodular (TUM) se ∀S ⊆U, ∀T ⊆V,|S| =|T| =⇒ det(A[S, T])∈ {0,±1}.

Teorema 11.3. (Hoffman-Kruskal) SejaA∈ZU×V uma matriz. Então∀b∈ZU, o poliedro{x∈RV+:Axb} é integral ⇐⇒ Aé (TUM).

Teorema 11.4. SejaG= (V, E, φ) um grafo (U, W)-bipartido EntãoBG é (TUM).

Demonstração. Sejam SV eTE tal que|S|=|T|, det(BG[S, T])∈ {0,/ ±1} e tal que |S| é mínimo.

Então|S| ≥2. Se alguma coluna deBG[S, T] é nula, então det(BG[S, T]) = 0, contradição.

Se alguma coluna deBG[S, T] possui um único 1 e as deamis entradas são zero, então por expansão de Laplace, para certosS0S eT0T com|S0|=|T0|=|S| −1 temos det(BG[S, T])∈ {±det(BG[S0, T0]} ⊆ {0,±1}, contradição.

Logo toda coluna deBG[S, T] tem exatamente dois 1’s. EntãoBG[S, T]T(1S∩U−1S∩W) = 0. Sabemos isso poisGé bipartido e a indicidência de ambos os lados é igual. Portanto det(BG[S, T]) = 0, contradição.

(19)

12. Aula de Terça Feira, 25 de Setembro Corolário 12.1. SeG= (V, E, ϕ) é (U,W)-bipartido, então:

Pemp(G) ={x∈RE+:BGx≤1} Demonstração.

(⊆) É evidente.

(⊇) SejaQ={x∈RE+:BGx≤1}. ComoQ⊆[0,1]E,Qé um politopo pelo Teorema (10.3).

Portanto, pelo Teorema (10.4),Q=conv(X), em queX é o conjunto dos pontos extremos deQ.

Pelo Teorema (11.4),X ⊆ZE e, portanto,X ⊆ {0,1}E. É trivial que sex∈ {0,1}E satisfazBGx≤1, entãoxé vetor de incidência de um emparelhamente deG.

Logo,Q=conv(X)conv({1M :ME é emparelhamento em G}) =Pemp(G).

SejaD= (V, A, ϕ) um digrafo. A matriz de incidência deD é a matrizBD∈ {0,±1}V×Adada por:

BD(v, a) := [a∈δIN(v)]−[a∈δOU T(v)]∀(v, a)∈V ×A

Exercício 12.2. SejaD= (V, A, ϕ) um digrafo. Prove que:

BD= X

a∈A

ϕ(a)=uv

(eveu)eTa

SejaW =hv0, a1, v1, ..., ak, vkium passeio dera semD. Denote:

xW :=

K

X

i=1

eai∈RA

Temos:

BD. xW = X

a∈A

ϕ(a)=uv

(eveu)eTa .

K

X

i=1

eai

=

K

X

i=1

X

a∈A

ϕ(a)=uv

(eveu)eTa . eai

=

K

X

i=1

(eveu) =evkev0 =eser

SejamD= (V, A, ϕ) um digrafo,r, sV el:A→R. Considere o PL:

Minimizar lTx

sujeito a BDx=eser

x∈RA+

(P) Qualquer passeioW derasem D fornece uma solução viávelxW com valor objetivolTxW =l(W). Seu dual é:

Maximizar ysyr

sujeito a BDTyl y∈RV

(D)

Exercício 12.3. No contexto dos PLs (P) e (D) acima, prove que:

(1) Se não há passeio de rasemD e (D) é viável, então (D) é ilimitado.

(2) A região viável de (P) é um poliedro integral.

(20)

Observe que uma restrição de (P) paravV tem a forma:

eTv BDx= [v=s]−[v=r]⇐⇒x(δIN(v))−x(δOU T(v)) = [v=s]−[v=r]

(21)

13. Aula de Quinta Feira, 27 de Setembro SejamD= (V, A, ϕ) um grafo er, sV distintos.

Um (r,s)-fluxo emD é um vetorx∈RA+ tal queBDx∈R+(eser).

O valor de um (r,s)-fluxoxé o real Φ∈R+ tal queBDx= Φ(eser).

Dado um vetoru∈[0,+∞]A de "capacidades", um (r,s)-fluxo é viável (com relação au) sexu.

Problema do Fluxo Máximo

Dados: um digrafoD= (V, A, ψ),r, sV distintos eu∈[0,+∞]A Resolva o PL:

Max Ψ

s. a BDx= Ψ(eser) x∈RA+

xu,Ψ∈R+

(M FD,(r,s),u)

Problema do Fluxo de custo mínimo

Dados: D= (V, A, ψ) um digrafo,r, sV distintos,u∈[0,+∞]A, k∈RA (k de “kusto”), Ψ∈R+

Resolva o PL:

Min kTx

s. a BDx= Ψ(eser) x∈RA+

xu

(M CFD,(r,s),u,Ψ,k)

SejaD= (V, A, ψ) um digrafo, Para cadax∈RA, denote excessx:=BDx∈RV. Dizemos quex∈RA+ é um b-transporte seexcessx=b. Um 0-transporte, é uma circulação.

Problema do transporte capacitado

Dados: D= (V, A, ψ) um digrafo,b∈RV,u∈[0,+∞]A,k∈RA Resolva o PL:

Min kTx s. a BDx=b

x∈RA+

xu

(TD,b,u,k)

Problema da circulação de custo mínimo

Dados: digrafo D = (V, A, ψ), l ∈ [−∞,+∞)A, u ∈ (−∞,+∞]A, k ∈ RA (Queremos luse não é inviável).

Resolva o PL:

Min kTx s. a BDx= 0

x∈RA lxu

(M CCD,l,u,k)

Encontrar uma solução viável do (M CFD,(r,s),u,Ψ,k) se reduz a encontrar uma solução do (M FD,(r,s),u).

Sabemos que (M CFD,(r,s),u,Ψ,k) se reduz a (TD,b,u,k) e que (TD,b,u,k) se reduz a (M CFD,(r,s),u,Ψ,k).

Também podemos perceber que (M FD,(r,s),u) e (M CFD,(r,s),u,Ψ,k) se reduzem a (M CCD,l,u,k).

Exercício: Reduzir (M CCD,l,u,k) para (TD,b,u,k) (Veja que podemos reduzir (M CCD,l,u,k) para ele mesmo coml∈RA).

(22)

14. Aula de Terça Feira, 2 de Outubro Vamos projetar um algoritmo para (M CCD,l,u,k) com l∈RA+.

Para um par ordenadovw, denote vw1:=vw evw−1:=wv.

SejaD= (V, A, ψ) um digrafo. DefinaD+:= (V, A×{±1}, ψ+) ondeψ+(a, β) :=ψ(a)β∀(a, β)∈A×{±1}.

Note queBD+ = [BD| −BD].

SejaW =< v0,(a1, β1), v1, ...,(ak, βk), vk>um passeio der asemD+. Denote:

xw:=

k

X

i=1

βieai ∈ RA Temos também que (Lembrando queeTaeai = [a=ai]):

BDxW = X

a∈A, vw:=ψ(a)

(eveu)eTa

k

X

i=1

βieai =

k

X

i=1

βi(eveu) =

k

X

i=1

(evievi−1) =eser

Sejaml∈RA+ eu∈[0,+∞]Atal quelu. Sejax∈RA+ tal quelxu. Defina o subdigrafo gerador Dx deD+com cnjunto de arcos:

A(Dx) ={(a,+1) :aA, xa< ua} ∪ {(a,−1) :aA, la < xa} Dx é chamado digrafo residual deD (com relação al, x, u).

Proposição 14.1. SejaD= (V, A, ψ) um digrafo e sejax∈RA+ uma circulação. Sex6= 0, então existe um circuitoC eD tal queA(C)supp(x). Denotef :S→R, o suporte def ésupp(x) :={s∈S :f(s)6= 0}.

Demonstração. SejaX :=supp(x) e sejaP =< v0, a1, v1, ..., ak, vk >um caminho de comprimento máximo em (V, X, ψx). Comox6= 0, temosk≥1. Temos 0< x(ak)≤x(δin(vk)) =x(δout(vk)). Logo, existe um arcoaδout(vk) com xa >0. SejawV tal queψ(a) =vkw, EntãowV(P). Pela escolha deP. Logo

(V, X, ψx) contém um circuito.

Referências

Documentos relacionados

“Eu queria um lugar relaxante e convidativo para ajudar os homens a se sentirem à vontade para conversar e aprender mais sobre maquiagem, cortar o cabelo ou até conversar sobre

Desde então, tem sido, particularmente nas últimas décadas, um dos problemas mais abordados nas áreas de Otimização Combinatória (OC) e Pesquisa Operacional

Este manual de instalação e funcionamento contém diversas indicações de segurança para evitar danos materiais e pessoais:.!. pt • As indicações de segurança relativas a

Esta dissertação está organizada como segue: o Capítulo 2 apresenta a funda- mentação teórica, abrangendo conceitos de otimização combinatória, problemas de

A metodologia proposta neste trabalho possui quatro etapas: (1) Desenvolvimento do sistema de Aprendizado por Refor¸ co; (2) Gera¸ c˜ ao da base de conhecimento do TSP; (3) Realiza¸

[r]

disponíveis.. 2) Função objetivo: A função objetivo desta formulação é minimizar a ocorrência das violações das variáveis de folga de acordo com as restrições as quais

Especificamente os procedimentos de perturbação, as estratégias de intensificação e diversificação e as técnicas de busca local são utilizadas na seção seguinte onde é