• Nenhum resultado encontrado

UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR DE ECONOMIA E GEST ˜ AO Doutoramento em Matem´ atica Aplicada ` a Economia e ` a Gest˜ ao Uma variante do problema da floresta de Steiner em grafos com aplica¸c˜ oes em biologia da conserva¸c˜ ao Ra´ ul Massano Br

N/A
N/A
Protected

Academic year: 2019

Share "UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR DE ECONOMIA E GEST ˜ AO Doutoramento em Matem´ atica Aplicada ` a Economia e ` a Gest˜ ao Uma variante do problema da floresta de Steiner em grafos com aplica¸c˜ oes em biologia da conserva¸c˜ ao Ra´ ul Massano Br"

Copied!
104
0
0

Texto

(1)

INSTITUTO SUPERIOR DE ECONOMIA E GEST ˜

AO

Doutoramento em Matem´

atica Aplicada `

a Economia e `

a Gest˜

ao

Uma variante do problema da floresta de Steiner em

grafos com aplica¸c˜

oes em biologia da conserva¸c˜

ao

Ra´

ul Massano Br´

as

Orientador: Professor Doutor Jorge Orestes Lasbarr`eres Cerdeira

Co-orientadora: Professora Doutora Leonor Almeida Leite Santiago Pinto

Presidente do J´

uri:

Reitor da Universidade de Lisboa

Vogais:

Doutor Jorge Orestes Lasbarr`eres Cerdeira, Professor Catedr´atico da

Faculdade de Ciˆencias e Tecnologia da Universidade Nova de Lisboa;

Doutor Miguel Fragoso Constantino, Professor Auxiliar da Faculdade

de Ciˆencias da Universidade de Lisboa;

Doutora Gra¸ca Maria Marques da Silva Gon¸calves, Professora

Auxi-liar da Faculdade de Ciˆencias e Tecnologia da Universidade Nova de

Lisboa;

Doutora Maria Cristina Saraiva Requejo Agra, Professora Auxiliar

da Universidade de Aveiro;

Doutora Leonor Almeida Leite Santiago Pinto, Professora Auxiliar do

Instituto Superior de Economia e Gest˜ao da Universidade de Lisboa.

(2)
(3)

Ao meu orientador, Professor Doutor Jorge Orestes Cerdeira, pelo seu empenho e dedica¸c˜ao no acompanhamento da elabora¸c˜ao da tese. Sem as suas contribui¸c˜oes, sempre oportunas e esclarecedoras, este trabalho n˜ao teria sido poss´ıvel.

`

A co-orientadora, Professora Doutora Leonor Santiago Pinto, pela sua disponibilidade permanente para esclarecer d´uvidas e rever o trabalho desen-volvido.

Aos docentes do programa de doutoramento em MAEG e em particular `a coordenadora, Professora Doutora Margarida Vaz Pato, pelo apoio sempre demonstrado.

Aos co-autores dos artigos publicados durante a elabora¸c˜ao da tese: Jorge Orestes Cerdeira, Diogo Alagador, Maria Trivi˜no, Mar Cabeza e Miguel Ara´ujo. Agrade¸co em particular ao Doutor Diogo Alagador, pela disponi-biliza¸c˜ao dos dados reais utilizados na tese e pela an´alise cr´ıtica das solu¸c˜oes obtidas com estes.

Ao CEMAPRE, Centro de Estudos de Matem´atica Aplicada `a Economia e `a Gest˜ao, pela disponibiliza¸c˜ao dos meios inform´aticos necess´arios para obten¸c˜ao dos resultados apresentados na tese.

Ao Instituto Superior de Economia e Gest˜ao, pelas facilidades concedidas durante o per´ıodo de elabora¸c˜ao da tese.

`

(4)
(5)

Habitat fragmentation is a serious threat for the sustainability of species. Thus, the identification of effective linkages to connect valuable ecological units is an important issue in conservation biology. The design of effective linkages should take into account that areas which are adequately permeable for some species’ dispersal may act as obstructions for other species. The determination of minimum cost effective linkages is a generalization of both node-weighted Steiner tree and node-weighted Steiner forest problems. The thesis presents and compares formulations and heuristics to this problem. The heuristics were specially conceived to handle large instances that occur in conservation biology. The heuristics are compared using both simulated and real data for the Iberian Peninsula. Since the node weighted Steiner forest problem is a special case of the problem studied, the proposed heuristics are also compared to a well established heuristic for this case. The dissertation resulted in the development of an open source application that was made available to the scientific community.

(6)
(7)

A fragmenta¸c˜ao de habitats ´e uma amea¸ca s´eria `a sustentabilidade das esp´ecies ecol´ogicas. Assim, a identifica¸c˜ao de liga¸c˜oes eficientes entre uni-dades ecol´ogicas, ´e uma quest˜ao importante em biologia da conserva¸c˜ao. O estabelecimento de liga¸c˜oes eficientes, deve levar em conta que as ´areas que s˜ao adequadamente perme´aveis para a dispers˜ao de algumas esp´ecies, podem agir como obst´aculos para outras. A determina¸c˜ao de liga¸c˜oes eficazes, com custo m´ınimo, ´e uma generaliza¸c˜ao dos problemas da ´arvore Steiner com cus-tos nos n´os e da floresta de Steiner com cuscus-tos dos n´os. A tese apresenta e compara formula¸c˜oes e heur´ısticas para este problema. As heur´ısticas fo-ram especialmente concebidas para lidar com instˆancias de grande dimens˜ao, que ocorrem em biologia da conserva¸c˜ao. As heur´ısticas s˜ao comparadas uti-lizando dados simulados e reais para a Pen´ınsula Ib´erica. Uma vez que o problema da floresta de Steiner com custos nos n´os ´e um caso particular do problema estudado, as heur´ısticas propostas s˜ao tamb´em comparadas com uma heur´ıstica bem conhecida para este caso. A elabora¸c˜ao da tese, levou ao desenvolvimento de uma aplica¸c˜ao inform´atica de c´odigo aberto, que foi colocada `a disposi¸c˜ao da comunidade cient´ıfica.

(8)
(9)

Lista de Figuras ix

Lista de Tabelas xi

Preˆambulo 1

1 Introdu¸c˜ao 3

2 Problemas relacionados 7

2.1 Nota hist´orica . . . 7

2.2 Problema de Steiner em grafos . . . 8

2.2.1 Custos nas arestas . . . 8

2.2.2 Custos nos n´os . . . 23

2.3 Floresta de Steiner . . . 25

2.3.1 Custos nas arestas . . . 25

2.3.2 Custos nos n´os . . . 29

3 Formula¸c˜oes 31 3.1 Formula¸c˜oes com fluxos . . . 31

3.1.1 Compara¸c˜ao emp´ırica . . . 35

(10)

4.1 Heur´ıstica primal-dual . . . 39

4.1.1 O m´etodo primal-dual . . . 39

4.1.2 Heur´ıstica primal-dual para o PLMT . . . 41

4.2 Heur´ıstica tipo a tipo . . . 49

4.3 Heur´ıstica tipo GRASP . . . 52

4.3.1 Heur´ısticas GRASP . . . 52

4.3.2 Heur´ıstica GRASP para o PLMT . . . 52

5 Experiˆencias Computacionais 55 5.1 Caso geral . . . 55

5.1.1 Dados reais . . . 55

5.1.2 Dados simulados . . . 57

5.1.3 Resultados . . . 58

5.2 Efeito da densidade dos grafos gen´ericos nas heur´ısticas . . . . 70

5.3 Floresta de Steiner com pesos nos n´os . . . 74

6 Aplica¸c˜ao inform´atica 77

7 Conclus˜oes 83

(11)

1.1 Exemplo do problema . . . 5

2.1 Problema de Steiner com 4 pontos . . . 8

2.2 Exemplo de aplica¸c˜ao da heur´ıstica . . . 17

2.3 Caminho Hamiltoniano . . . 19

3.1 Solu¸c˜ao da relaxa¸c˜ao linear P1 . . . 34

4.1 Heur´ıstica PD . . . 43

4.2 Grafo em grelha cruzada . . . 47

4.3 Adjacˆencias m´ultiplas de F′ . . . 48

4.4 Heur´ıstica TaT . . . 50

4.5 Heur´ıstica GRASP . . . 54

5.1 Dados para a Pen´ınsula Ib´erica . . . 60

5.2 Solu¸c˜ao para uma ´area de 100km ×100km do nordeste da Pen´ınsula Ib´erica . . . 61

5.3 Grafos gen´ericos: efeito da densidade para |V|= 30000 . . . . 72

5.4 Grafos gen´ericos: efeito da densidade para |V|= 40000 . . . . 72

5.5 Grafos gen´ericos: efeito da densidade para |V|= 50000 . . . . 73

6.1 Exemplo 1 da aplica¸c˜ao . . . 79

(12)
(13)

3.1 Compara¸c˜ao das formula¸c˜oes com fluxos. . . 36

3.2 Formula¸c˜oes com fluxos: n´umero de vari´aveis e restri¸c˜oes. . . . 36

5.1 Resultados para a Pen´ınsula Ib´erica. . . 59

5.2 Grafos em grelha cruzada: resultados para instˆancias pequenas. 63

5.3 Grafos em grelha cruzada: resultados para as instˆancias grandes. 64

5.4 Grafos gen´ericos: resultados para instˆancias pequenas com p2 = 0.25. . . 66

5.5 Grafos gen´ericos: resultados para instˆancias pequenas com p2 = 0.50. . . 67

5.6 Grafos gen´ericos: resultados para instˆancias pequenas com p2 = 0.75. . . 68

5.7 Grafos gen´ericos: resultados para as instˆancias grandes com p2 = 0.25. . . 68

5.8 Grafos gen´ericos: resultados para as instˆancias grandes com p2 = 0.50. . . 69

5.9 Grafos gen´ericos: resultados para as instˆancias grandes com p2 = 0.75. . . 69

5.10 Grafos gen´ericos: efeito da densidade. . . 71

5.11 Resultados para a floresta de Steiner. . . 75

(14)
(15)

O trabalho apresentado nesta disserta¸c˜ao tem origem na minha participa¸c˜ao num estudo sobre o desenho de corredores entre ´areas protegidas na Pen´ınsula Ib´erica, por forma a garantir a conexidade destas. Este trabalho decorreu nos anos de 2009 e 2010 e deu origem a um artigo publicado na revista Landscape Ecology [Alagador et al., 2012].

A defini¸c˜ao formal do problema foi apresentada na conferˆencia EURO XXIVem 2010 (A modified Steiner forest problem with applications in con-servation biology, R. Br´as, J. O. Cerdeira, D. Alagador, M. Trivi˜no, M. Cabeza, M. Ara´ujo, Actas da conferˆencia EURO XXIV, p´ag. 185).

Durante a redac¸c˜ao da disserta¸c˜ao, foi publicada nas actas da conferˆencia

Advancement of Artificial Intelligencede 2011 uma comunica¸c˜ao de Lai et al. [2011] que trata precisamente do problema que ´e o tema da presente dis-serta¸c˜ao. Tivemos, eu e os orientadores da disserta¸c˜ao, conhecimento desta publica¸c˜ao em meados de 2012, durante a fase final de redac¸c˜ao da dis-serta¸c˜ao. O problema tratado na comunica¸c˜ao citada e uma das heur´ısticas s˜ao muito semelhantes ao que apresentamos em 2010.

Lai et al. [2011] designaram o problema estudado nesta disserta¸c˜ao por “Steiner Multigraph Problem” e apresentaram uma formula¸c˜ao baseada em fluxos multi-produto e duas heur´ısticas.

A primeira heur´ıstica resolve um problema de Steiner em cada itera¸c˜ao, recorrendo ao algoritmo de Dreyfus-Wagner [Dreyfus and Wagner, 1971] e obt´em a solu¸c˜ao final fazendo a uni˜ao das solu¸c˜oes obtidas em cada itera¸c˜ao. Esta heur´ıstica ´e semelhante `a heur´ıstica tipo a tipo que apresentamos na conferˆencia EURO XXIV em 2010, embora a dimens˜ao das instˆancias dos problemas que trabalhamos n˜ao fossem compat´ıveis com a utiliza¸c˜ao do al-goritmo de Dreyfus-Wagner. No nosso caso, usou-se um m´etodo heur´ıstico para obter a solu¸c˜ao dos problemas de Steiner em cada uma das itera¸c˜oes.

(16)

De-heur´ıstica ser proposta em trabalhos independentes n˜ao ´e de estranhar dado que resulta da adequa¸c˜ao ´obvia da heur´ıstica de Demaine et al. [2009] ao problema objecto desta disserta¸c˜ao.

Lai et al. [2011] apresentam resultados computacionais para problemas de pequena dimens˜ao, com dados simulados e dados reais para a cria¸c˜ao de corredores ecol´ogicos para duas esp´ecies animais no estado de Montana nos EUA. Para os dados reais a heur´ıstica primal-dual foi a mais r´apida e com desvios para o ´optimo relativamente pequenos.

(17)

Introdu¸c˜

ao

Em biologia da conserva¸c˜ao a fragmenta¸c˜ao dos habitats ´e considerada como uma das principais causas do decl´ınio da biodiversidade [Brooks et al., 2002, Hanski, 2005], com as consequˆencias negativas que da´ı advˆem para a vida no planeta. Para minimizar o problema da fragmenta¸c˜ao conv´em estabe-lecer corredores entre ´areas em que habitem esp´ecies cuja conserva¸c˜ao seja considerada importante (e.g., ´areas protegidas).

A cria¸c˜ao de corredores entre ´areas seleccionadas tem como objectivo o estabelecimento de liga¸c˜oes capazes de sustentar os fluxos ecol´ogicos (e.g., dis-pers˜ao de esp´ecies, migra¸c˜oes, ajustamentos espaciais a altera¸c˜oes clim´aticas) entre zonas de valor ecol´ogico elevado [Merriam, 1984].

O desenho de corredores procura ligar, com custo m´ınimo, as ´areas em que habitam as esp´ecies relevantes. Recorrendo `a teoria dos grafos, podemos considerar que cada c´elula de terreno ´e um n´o do grafo e que as arestas representam liga¸c˜oes entre c´elulas adjacentes. Atribuindo a cada aresta um custo representando a dificuldade de movimenta¸c˜ao no terreno e considerando o sub-conjunto de n´os a interligar como terminais, o problema designa-se por ´arvore m´ınima de Steiner em grafos. Esta abordagem foi introduzida por Sessions [1992] no planeamento espacial da conserva¸c˜ao de esp´ecies.

(18)

et al., 2012]. Classificar c´elulas de terreno como ´areas protegidas tem custos econ´omicos elevados pelo que se imp˜oe desenvolver m´etodos para identificar liga¸c˜oes eficientes entre unidades ecol´ogicas de tipos diferentes, garantindo que unidades do mesmo tipo s˜ao ligadas atrav´es de c´elulas adequadas para estas.

A solu¸c˜ao para o problema descrito n˜ao pode ser obtida atrav´es de uma ´arvore m´ınima de Steiner, dado que esta n˜ao toma em considera¸c˜ao a possibi-lidade de cada um dos n´os do grafo poder ser ou n˜ao utilizado nos caminhos que ligam os diferentes tipos de terminais. Voltando a considerar como n´os terminais de um grafo as ´areas (ou esp´ecies) a ligar, a presen¸ca de tipos diferentes aponta para o problema da liga¸c˜ao de v´arios sub-conjuntos de ter-minais (tantos quantos os tipos). Se n˜ao houvesse restri¸c˜oes na utiliza¸c˜ao dos n´os (alguns n˜ao s˜ao adequados para algumas esp´ecies) o problema reduzia-se ao da floresta de Steiner em grafos com pesos nos n´os. O exemplo da figura 1.1 mostra que estamos de facto perante uma variante deste problema.

No exemplo temos dois tipos diferentes de unidades ecol´ogicas, T1 e T2,

com duas ´areas de ocorrˆencia cada t1

1, t12 e t21, t22 respectivamente. Existem

ainda 4 n´os,v1 av4, para poss´ıveis liga¸c˜oes. O n´ov1 n˜ao pode ser usado pelo

tipo 1 e o n´o v3 n˜ao pode ser usado pelo tipo 2. Na figura 1.1b mostra-se,

a azul, a solu¸c˜ao para o problema da Floresta de Steiner (que admite que qualquer n´o pode ser usado) com um custo de 0.1 e na figura 1.1c, a vermelho e verde, a solu¸c˜ao ´optima com um custo de 0.4.

O trabalho apresentado nesta disserta¸c˜ao teve origem na participa¸c˜ao num estudo de um caso real. Tratou-se de estudar a interliga¸c˜ao das ´areas protegidas da Pen´ınsula Ib´erica, tendo estas sido classificadas em quatro tipos diferentes de acordo com as suas caracter´ısticas clim´aticas. A cada c´elula de 1× 1 Km foram atribu´ıdos ´ındices de dissemelhan¸ca (um para cada tipo de reservas), n˜ao podendo estas ser usadas para ligar reservas do tipo k se o respectivo ´ındice fosse maior que um valor previamente fixado. O grafo associado a este caso real tem 580.696 n´os e 681 terminais, o que levou a que a ˆenfase do trabalho fosse colocada na obten¸c˜ao de algoritmos capazes de resolver problemas de grande dimens˜ao. Para mais detalhes sobre estes dados ver Alagador et al. [2012].

Para al´em de estudar e obter heur´ısticas capazes de resolver o problema, outro objectivo do trabalho foi o desenvolvimento de uma aplica¸c˜ao in-form´atica, disponibilizada para a comunidade cient´ıfica, capaz de obter solu¸c˜oes a partir dos m´etodos heur´ısticos desenvolvidos.

(19)

Figura 1.1: Exemplo do problema

t2 1

v2 0.2

v4

0.1 t

2 2

t1 1

v1 0.1

v3

0.0 t

1 2

(a) Grafo de exemplo

t2 1

v2 0.2

v4

0.1 t

2 2

t1 1

v1

0.1

v3

0.0 t

1 2

(b) Solu¸c˜ao da floresta de Steiner

t2 1

v2 0.2

v4

0.1 t

2 2

t1 1

v1

0.1

v3

0.0 t

1 2

(c) Solu¸c˜ao do problema com restri¸c˜oes na utiliza¸c˜ao dos n´os

Multi Tipo (PLMT). Apresenta-se em seguida a sua defini¸c˜ao formal.

Considere-se um grafo n˜ao orientadoG= (V, E), onde os n´os representam c´elulas de terreno de uma dada regi˜ao e as arestas representam adjacˆencias entre pares de c´elulas. Dados τ tipos diferentes (e.g. ´areas protegidas com caracter´ısticas clim´aticas distintas ou esp´ecies animais com habitats diferen-ciados), para k = 1,2, . . . , τ considerem-se subconjuntos Tk V com pelo

menos dois n´os cada, designados por terminais do tipo k, que se pretende ligar, e um subconjunto de n´osVk V que inclui os n´os em Tk e os n´os que

podem ser usados para ligar os terminais em Tk. Para todo o subconjunto

de n´os S V, seja Sk =S Vk e represente-se por

Sk

(20)

S ´e uma solu¸c˜ao admiss´ıvel se todos os terminais de Tk pertencerem `a

mesma componente conexa de

Sk

, para todo ok = 1,2, . . . , τ. Considere-se um peso n˜ao negativo wv associado a cada n´o (e.g. custo de classificar uma

c´elula de terreno como protegida). PLMT procura uma solu¸c˜ao admiss´ıvel de custo m´ınimo (i.e., uma solu¸c˜ao que minimize a soma dos pesos dos n´os).

Se todos os terminais forem do mesmo tipo (i.e., τ = 1), PLMT reduz-se ao problema de Steiner em grafos com custos nos n´os [Klein and Ravi, 1995]. Se todos os conjuntos de n´os n˜ao terminais forem iguais, i.e. Vk =V, e osτ

conjuntos de terminais forem diferentes, o problema reduz-se ao da floresta de Steiner com pesos nos n´os [Duin and Volgenant, 1987].

Existem diversas variantes e extens˜oes dos problemas de Steiner com pe-sos nos n´os, associadas a aplica¸c˜oes pr´aticas, e uma consider´avel literatura dedicada a estes problemas. Exemplos de aplica¸c˜oes incluem “multicast rou-ting” onde os custos dos “routers” s˜ao tomados em considera¸c˜ao, [Angelo-poulos, 2006], recupera¸c˜ao eficiente de falhas em redes de energia el´ectrica [Guha et al., 1999], e an´alise da interac¸c˜ao de prote´ınas [Betzler, 2006].

PLMT ´e uma generaliza¸c˜ao do problema de Steiner em grafos com pesos nos n´os e do problema da floresta de Steiner com pesos nos n´os. O objectivo da disserta¸c˜ao ´e encontrar e testar m´etodos que permitam resolver instˆancias de dimens˜ao moderada a elevada do problema, tais como as que ocorrem no desenho de corredores para minimizar a fragmenta¸c˜ao no contexto da biologia da conserva¸c˜ao.

(21)

Problemas relacionados

2.1

Nota hist´

orica

O problema da ´arvore de Steiner deve o seu nome ao matem´atico su´ı¸co Ja-cob Steiner (1796-1863), embora tenha sido proposto por Fermat e posteri-ormente definido por Gauss, numa carta dirigida ao seu aluno Schumacher [Vazirani, 2003]. A designa¸c˜ao “problema de Steiner” foi popularizada por Courant and Robbins [1979]. O problema original consiste no seguinte: in-terligar um conjunto dado de pontos no plano, directamente ou atrav´es de pontos introduzidos, de forma a que o comprimento total das liga¸c˜oes seja m´ınimo. Este problema designa-se por ´arvore de Steiner euclidiana. Os pon-tos dados designam-se por terminais e os introduzidos por ponpon-tos de Steiner. A Figura 2.1 mostra uma solu¸c˜ao para este problema com 4 terminais: A, B, C eD. Os pontos S1 e S2 s˜ao os pontos de Steiner.

Ao longo dos anos foram introduzidas diversas variantes do problema. A ´arvore de Steiner rectil´ınear ´e um problema em que a distˆancia euclidiana ´e substitu´ıda pela distˆancia rectil´ınear e tem aplica¸c˜oes no desenho de circuitos integrados.

(22)

Figura 2.1: Problema de Steiner com 4 pontos

A B

C D

S1

S2

2.2

Problema de Steiner em grafos

No caso em que os terminais e os pontos de Steiner s˜ao n´os de um grafo temos o problema de Steiner em grafos.

2.2.1

Custos nas arestas

O problema de Steiner em Grafos foi introduzido por Hakimi [1971]. Dado um grafo n˜ao orientado G = (V, E), uma fun¸c˜ao c : E Q+ de custos

n˜ao negativos nas arestas e um subconjunto T V, determinar a ´arvore de custo m´ınimo que cont´em T. Os n´os em T s˜ao os terminais, enquanto que os restantes da solu¸c˜ao s˜ao os pontos de Steiner. Se T =V o problema ´e o da ´arvore de suporte m´ınima e se |T|= 2 o problema ´e o do caminho mais curto. Este problema ´e NP-completo [Karp, 1972], excepto para os dois casos particulares referidos.

Algoritmos exactos

(23)

Um dos algoritmos exactos mais conhecidos ´e o algoritmo de programa¸c˜ao dinˆamica de Dreyfus and Wagner [1971]. O algoritmo calcula recursivamente ´arvores ´optimas A(X∪ {v}) para todo o X ⊆ T e v ∈ V \ X. v liga a algum w de A(X∪ {v}) atrav´es do caminho mais curto Pvw. Tomando

uma parti¸c˜ao n˜ao trivial X = X1 X2 pode escrever-se A(X∪ {w}) =

A(X1∪ {w})A(X2∪ {w}). ComoA(X∪ {v}) =P

vw∪A(X∪ {w}) pode

escrever-se, abusando um pouco da nota¸c˜ao,

A(X∪ {v}) = min Pvw∪A X1∪ {w}

∪A X2∪ {w}

(2.1)

A equa¸c˜ao 2.1 permite-nos calcular recursivamente todas as ´arvores ´optimas A(X∪ {v}) parav ∈V eX ⊆T. A complexidade do algoritmo de Dreyfus-Wagner ´eO(n3p+n22p+n3). Em 2007 Fuchs et al. [2007], a quem se deve

a descri¸c˜ao do algoritmo acima, introduziram uma altera¸c˜ao ao algoritmo melhorando o seu desempenho para O∗(2.684p) (a nota¸c˜ao Osignifica que

foram suprimidos termos de ordem polinomial).

Formula¸c˜oes de Programa¸c˜ao Inteira

O problema pode ser formulado utilizando Programa¸c˜ao Inteira. Aneja [1980] utilizou uma formula¸c˜ao de conjunto de cobertura para este efeito.

Seja G = (V, E) um grafo n˜ao orientado com pesos nas arestas cj > 0 e

considere-se uma parti¸c˜ao deV,X, X, tal que T X =6 e T X 6=. Designe-se porP o conjunto das arestas que constituem o corte entreX e X e sejam P1, P2,· · · , Pρ os conjuntos de cortes obtidos considerando todas

estas parti¸c˜oes.

Defina-se:

aij =

(

1 se a aresta j Pi

0 caso contr´ario

para i= 1,2,· · · , ρ e j = 1,2,· · · , m, onde m´e o n´umero de arestas. Aneja formulou o problema de Steiner atrav´es de:

min

m

X

j=1

(24)

sujeito a

m

X

j=1

aijxj ≥1 para i= 1,2,· · · , ρ (2.2b)

xj ∈ {0,1} para j = 1,2,· · ·, m (2.2c)

Seja x∗ uma solu¸c˜ao ´optima do problema e S={j E |x

j = 1}. S∗ ´e

solu¸c˜ao ´optima do problema de Steiner em grafos. Aneja come¸ca por notar queS∗ n˜ao cont´em ciclos dado quec

j >0 para todas as arestas do grafo. Em

segundo lugar, S∗ cont´em apenas uma componente conexa que liga todos os

terminais. Se assim n˜ao fosse a restri¸c˜ao correspondente a algum conjunto de corte Pi seria violada. Finalmente como S∗ ´e obtido a partir da solu¸c˜ao

´optima, ´e uma ´arvore de custo m´ınimo que liga todos os terminais.

Embora o problema tenha um n´umero exponencial de restri¸c˜oes, depen-dente de m, |V| e |T|, Aneja mostra como obter a solu¸c˜ao da relaxa¸c˜ao linear de (2.2a)-(2.2c) sem enumerar explicitamente as restri¸c˜oes, recorrendo `a t´ecnica de gera¸c˜ao de linhas. Resolve a relaxa¸c˜ao linear do problema para um sub-conjunto de linhas de (2.2b) e se a solu¸c˜ao n˜ao for ´optima introduz uma nova linha e repete o processo. Tirando partido das propriedades do pro-blema de cobertura obteve um algoritmo que permite obter limites inferiores e superiores para a solu¸c˜ao do problema e, eventualmente, o ´optimo.

Em 1984 Wong [1984] apresentou uma formula¸c˜ao de programa¸c˜ao in-teira baseada em fluxos multi-produto. Dado que o problema em grafos n˜ao orientados pode ser transformado num problema em grafos orientados, subs-tituindo cada aresta por dois arcos, com direc¸c˜oes opostas e o mesmo custo, Wong apresentou a sua formula¸c˜ao para o segundo caso. A solu¸c˜ao do pro-blema orientado ´e uma arborescˆencia e esta corresponde a uma ´arvore que ´e solu¸c˜ao do problema original.

Considere-se um grafo orientado G = (V, A) com V ={1} ∪T S onde

{1} designa um terminal arbitr´ario,T os restantes terminais eS os poss´ıveis n´os de Steiner, i.e. n´os utiliz´aveis para interligar os terminais. A cada arco (i, j) de A est´a associado um custo n˜ao negativocij.

A formula¸c˜ao de Wong ´e:

min X

(i,j)∈A

(25)

sujeito a:

X

h∈V

fihk −X

j∈V

fjik =

 

 

1 se i= 1

−1 se i=k 0 se i6= 1, k

k ∈T, i∈V (2.3b) fijk ≤xij, (i, j)∈A, k∈T (2.3c)

fijk 0, (i, j)A, kT (2.3d)

xij ∈ {0,1}, (i, j)∈A (2.3e)

onde xij ´e uma vari´avel bin´aria que indica se o arco (i, j) ´e usado na

solu¸c˜ao e fk

ij ´e a quantidade de fluxo entre os n´os 1 e k ∈ T no arco (i, j)

(quantidade de produto k). As restri¸c˜oes (2.3c) podem ser escritas de forma condensada:

X

k∈T\{1}

fijk ≤nxij (i, j)∈A

com n = |T|. A op¸c˜ao por (2.3c) deve-se segundo Wong ao facto de, em-bora tendo um maior n´umero de restri¸c˜oes, permitir obter algoritmos mais eficientes.

Nesta formula¸c˜ao, a restri¸c˜ao (2.3b) garante que sai uma unidade de fluxo do n´o escolhido como origem com destino a cada um dos restantes terminais e (2.3c) que o fluxo s´o atravessa arcos que estejam na solu¸c˜ao.

Para comparar a sua formula¸c˜ao com a de Aneja, Wong reescreveu (2.2a)-(2.2c) para o caso de um grafo orientado obtendo:

min X

(i,j)∈A

cijxij (2.4a)

sujeito a:

X

i∈H

X

j∈H

(26)

xij ∈ {0,1} (2.4c)

Mostrando que as solu¸c˜oes das relaxa¸c˜oes lineares de (2.3a)-(2.3e) e de (2.4a)-(2.4c) tˆem o mesmo valor, Wong desenvolveu um algoritmo diferente do de Aneja para obter uma solu¸c˜ao aproximada. Enquanto o primeiro tra-balha sobre uma relaxa¸c˜ao linear do problema, Wong tratra-balha sobre o dual da relaxa¸c˜ao linear da sua formula¸c˜ao.

O dual da relaxa¸c˜ao linear de (2.3a)-(2.3e) ´e:

maxX

k∈T

vkk−vk1

(2.5a)

sujeito a:

vjk−vki −wkij ≤0, k ∈T, i, j∈V (2.5b)

X

k∈T

wijk cij (i, j)∈A (2.5c)

wijk 0 (2.5d)

Wong apresentou um algoritmo dual-ascendente (um tipo particular de algoritmo primal-dual [Goemans and Williamson, 1997]). A cada arcoaest´a associado um custo reduzido ca, que tem inicialmente o valorca. Arcos com

custo reduzido igual a zero designam-se por saturados e induzem um grafo de satura¸c˜ao GS = (V, AS), onde AS representa o conjunto de arcos saturados.

Inicialmente AS ´e vazio dado que por hip´otese ca > 0 para todo o a ∈ A.

Seja C uma componente fortemente conexa de GS. C ´e uma componente

raiz se verifica:

1. C cont´em um terminal;

2. C n˜ao cont´em a origem escolhida ({1} na nota¸c˜ao usada por Wong); 3. N˜ao existe nenhum terminal t /C que esteja ligado a um elemento de

(27)

Dada uma componente raiz C, sejam W(C) C o conjunto de n´os ligados a C por caminhos em GS e δ−(W) o conjunto de arcos incidentes a W.

Como inicialmente AS = ∅ cada terminal, excluindo a origem,

corres-ponde a uma componente raiz. O algoritmo Dual-ascendente de Wong ´e:

1. LB 0

2. ca ←ca, ∀a∈A

3. Enquanto existirem componentes raiz em GS

(a) Escolher uma componente raiz C (b) W W(C)

(c) ∆← min

a∈δ−(W)ca

(d) a∗ argmin

a:a∈δ−(W)

ca

(e) ca ←ca−∆, ∀a∈δ−(W)

(f) LB ←LB+ ∆ (g) AS ←AS∪a∗

4. Devolver LB eAS

onde LB ´e um limite inferior para o valor do ´optimo.

Em cada itera¸c˜ao pelo menos um arco ´e saturado, reduzindo-se assim o n´umero de componentes raiz at´e que o algoritmo termina.

Quando o algoritmo termina, GS cont´em pelo menos um caminho

orien-tado entre a origem e todos os outros terminais.

Para obter a solu¸c˜ao do problema de Steiner orientado (e consequente-mente do problema n˜ao orientado) Wong prop˜oe o procedimento seguinte:

1. Seja Q o conjunto de n´os de GS para os quais existe um caminho a

partir da origem. Calcular uma arborescˆencia de suporte m´ınima no sub-grafo de GS induzido por Q.

(28)

Obt´em-se assim uma solu¸c˜ao do problema cujo valor ´e um limite superior para a solu¸c˜ao ´optima.

Esta formula¸c˜ao, e respectivo algoritmo, foi retomada recentemente por Drummond et al. [2009] que a adaptaram para computa¸c˜ao distribu´ıda com o objectivo de resolverem problemas relacionados com a emiss˜ao de v´ıdeo em redes inform´aticas.

Magnanti and Raghavan [2005] estudaram problemas gen´ericos de conexi-dade apresentando formula¸c˜oes que incluem o problema da ´arvore de Steiner com pesos nas arestas. Partindo da formula¸c˜ao cl´assica por cortes:

min X

{i,j}∈E

cijxij (2.6a)

sujeito a:

X

{i,j}∈δ(S)

xij ≥1,

∀S6=∅ e S⊂V, ST 6=, (V \S)T 6=

(2.6b)

xij ∈ {0,1} ∀ {i, j} ∈E (2.6c)

e da formula¸c˜ao com fluxos:

min X

{i,j}∈E

cijxij (2.7a)

sujeito a:

X

j∈V

fjik −X

l∈V

filk =

 

 

−1 sei=t1,

1 sei=k 0 outros

, ∀i∈V,

k T \ {t1} (2.7b)

fk ij

fk ji

(29)

fijk, fjik ≥0 ∀ {i, j} ∈E e k ∈T \ {t1} (2.7d)

xij ∈ {0,1} ∀ {i, j} ∈E (2.7e)

mostraram que as duas formula¸c˜oes s˜ao equivalentes.

Designem-se porPcut(2.6) ePf lo(2.7) os poliedros definidos pela relaxa¸c˜ao linear das restri¸c˜oes de (2.6) e (2.7) respectivamente.

Recorrendo ao teorema do fluxo-m´aximo, corte-m´ınimo, Magnanti and Raghavan [2005] provaram que as formula¸c˜oes (2.6) e (2.7) s˜ao equivalentes.

A formula¸c˜ao (2.6) pode ser melhorada recorrendo a uma formula¸c˜ao orientada, isto ´e, uma formula¸c˜ao que tem por base o mesmo grafo mas com as arestas substitu´ıdas por arcos. Para o caso da ´arvore de Steiner tem-se:

min X

{i,j}∈E

cijxij (2.8a)

sujeito a:

X

(i,j)∈δ−(S)

yij ≥1, ∀S 6=∅ e S ⊂V,

t1 ∈/S (2.8b)

yij +yji ≤xij ∀ {i, j} ∈E (2.8c)

yij, yji ≥0 ∀ {i, j} ∈E (2.8d)

(30)

Mais uma vez o teorema do fluxo-m´aximo, corte-m´ınimo, permite obter uma formula¸c˜ao melhorada, equivalente a (2.8)

min X

{i,j}∈E

cijxij (2.9a)

sujeito a:

X

j∈V

fjik −X

l∈V

filk =

 

 

−1 sei=t1,

1 sei=k 0 outros

, ∀i∈V,

k T \ {t1} (2.9b)

fijk +fjih xij ∀ {i, j} ∈E e h, k∈T \ {t1} (2.9c)

fijk, fjik ≥0 ∀ {i, j} ∈E e k∈T \ {t1} (2.9d)

xij ∈ {0,1} ∀ {i, j} ∈E (2.9e)

.

Heur´ısticas

Como n˜ao existem algoritmos polinomiais para o problema e a dimens˜ao dos casos pr´aticos ´e por vezes muito grande, recorre-se a heur´ısticas para encontrar solu¸c˜oes.

Uma heur´ıstica ´obvia ´e calcular a ´arvore de suporte m´ınima de G = (V, E) e podar todas as folhas n˜ao terminais da ´arvore at´e que todas elas sejam n´os terminais. Um exemplo devido a Rayward-Smith and Clare [1986] mostra que este procedimento ing´enuo produz resultados arbitrariamente maus. Considere-se um grafo com

(31)

e

E ={[i, j] :i= 1,· · · , n−1, j =i+ 1}

e definam-se os custos nas arestas atrav´es de:

cij =

1 +ǫ se i= 1, j = 2 1 outros

considerando o conjunto de terminais T = {1,2} o custo da ´arvore obtida com esta heur´ıstica ´en1 enquanto que o custo da ´arvore de Steiner ´e 1 +ǫ (ver Figura 2.2).

Figura 2.2: Exemplo de aplica¸c˜ao da heur´ıstica

1

2 1 +ǫ

3 1 4 1 5 1 1 1 2 3 1 4 1 5 1 1

A qualidade de uma heur´ıstica pode medir-se pelo seu r´acio de desem-penho no pior caso (RD), medido por c(H)/c(OP T) onde c(H) designa o custo da solu¸c˜ao dada pela heur´ıstica e c(OP T) o custo da solu¸c˜ao ´optima. Outra medida importante ´e a sua complexidade algor´ıtmica que nos d´a uma ideia sobre o tempo de execu¸c˜ao do algoritmo em fun¸c˜ao da dimens˜ao do problema.

As primeiras heur´ısticas para o problema de Steiner, com an´alise do RD, datam do in´ıcio dos anos 80 e dado o seu interesse hist´orico e simplicidade descrevem-se em seguida.

A primeira deve-se a Takahashi and Matsuyama [1980]. Trata-se de uma heur´ıstica construtiva que acrescenta sucessivamente n´os terminais at´e obter uma solu¸c˜ao admiss´ıvel.

1. Iniciar com uma sub-´arvoreS1deGcom um n´o arbitr´ariov ∈T. k= 1

2. Determinar o n´o v T \Sk com o caminho mais curto para os n´os em

(32)

3. Se k < p voltar a 2, sen˜ao terminar.

A complexidade da heur´ıstica ´e de O(pn2) e o RD ´e de 2 2

p, cujo supremo

´e 2. n e pdesignam o n´umero de n´os e de terminais respectivamente.

No ano seguinte Kou et al. [1981] publicaram uma heur´ıstica baseada no c´alculo da ´arvore de suporte m´ınima.

1. A partir do grafo G(V, E) e do conjunto de terminais T, construir o grafo completo G1(T, E1) onde os pesos de E1 s˜ao dados pelo peso do

caminho mais curto emG.

2. Calcular a ´arvore de suporte m´ınima de G1

3. Construir o sub-grafo GT de G substituindo as arestas da ´arvore de

suporte m´ınima pelo correspondente caminho mais curto emG. 4. Calcular a ´arvore de suporte m´ınima de GT.

5. Eliminar os n´os n˜ao terminais de grau 1.

A complexidade e o RD s˜ao iguais aos da heur´ıstica anterior. No entanto em alguns casos esta heur´ıstica produz melhores resultados.

Para provar que esta heur´ıstica tem um factor de aproxima¸c˜ao ao ´optimo de 2, note-se que a redu¸c˜ao do problema de Steiner em grafos ao do pro-blema m´etrico de Steiner preserva o factor de aproxima¸c˜ao [Vazirani, 2003]. Designa-se problema m´etrico o que ´e obtido atrav´es do fecho m´etrico do grafo, i.e. ao grafo completo obtido a partir de G = (V, E) em que o custo de cada aresta [u, v] ´e o do caminho mais curto entre u e v. O custo das arestas respeita a desigualdade triangular. Designe-se por GM(V, EM) o

fe-cho m´etrico deGe considere-se uma solu¸c˜ao do problema m´etrico de Steiner de custo OP T. Duplicando as arestas desta ´arvore, obt´em-se um caminho Euleriano (um caminho que usa cada aresta uma e uma s´o vez) de custo 2OP T. Construa-se em seguida um caminho Hamiltoniano (um caminho que usa cada n´o uma e uma s´o vez) curto-circuitando os n´os n˜ao terminais e os terminais j´a utilizados (ver Figura 2.3). A desigualdade triangular implica que o custo deste caminho n˜ao ´e superior ao do caminho Euleriano. Reti-rando uma das arestas ao caminho obt´em-se uma ´arvore de suporte m´ınimo dos terminais de custo n˜ao superior a 2OP T.

(33)

Figura 2.3: Caminho Hamiltoniano

os pontos de Steiner da solu¸c˜ao, o problema se reduz ao c´alculo da ´arvore de suporte m´ınima do grafo induzido por T ∪S, onde T designa os terminais e S os pontos de Steiner, propˆos uma heur´ıstica para obter os pontos de S. O algoritmo come¸ca com um conjunto de ´arvores A, contendo inicialmente um terminal cada uma delas. Em cada itera¸c˜ao escolhe-se um n´o usando uma fun¸c˜ao heur´ıstica f(v) definida em fun¸c˜ao da distˆancia entre v e os v´arios sub-grafosA. O n´o v obtido ´e usado para ligar duas das ´arvores emA, para as quais f(v) ´e m´ınimo, ligando-as a v atrav´es do caminho mais curto. A fun¸c˜ao f(v) ´e definida por:

f(v) = min

1≤r≤k−1

( r

X

i=0

d(v, Ai)

r

)

onde k = |A| ´e o n´umero de ´arvores, A0,· · · , Ak−1 s˜ao os conjuntos de

n´os das v´arias ´arvores em A e d(v, Ai) ´e o custo m´ınimo dos caminhos mais

curtos entre v e os n´os de Ai.

A fun¸c˜ao f(v) ´e uma medida da proximidade m´edia do n´o v `as ´arvores num subconjunto de A contendo pelo menos dois elementos.

Ordenando os conjuntos Ai por ordem crescente de distˆancia a v tem-se

d(v, A0)≤d(v, A1)≤ · · · ≤d(v, Ak−1). Podemos agora escrever:

f1(v) =

d(v, A0) +d(v, A1)

(34)

f2(v) =

d(v, A0) +d(v, A1) +d(v, A2)

2 =

f1(v) +d(v, A2)

2

f3(v) =

d(v, A0) +d(v, A1) +d(v, A2) +d(v, A3)

3 =

2f2(v) +d(v, A3)

3

...

fr(v) =

(r1)fr−1(v) +d(v, Ar)

r =fr−1(v) +

d(v, Ar)−fr−1(v)

r (2.10)

claramente f(v) = min{fr(v) : 1≤r ≤k−1}. Para obter f(v) n˜ao ´e

ne-cess´ario calcular recursivamente todos os fr(v). A equa¸c˜ao (2.10)

mos-tra que fi(v) < fi−1(v) se e s´o se d(v, Ai) < fi−1(v). Por outro lado

d(v, Ai)≥fi−1(v)⇒fi+1(v)≥fi(v) dado que:

fi+1(v) =fi(v) + d(v,Ai+1i+1)−fi(v)

e

d(v, Ai+1)−fi(v) =d(v, Ai+1)−fi−1(v)− d(v,Ai)−ifi−1(v)

≥d(v, Ai)−fi−1(v)− d(v,Ai)−ifi−1(v)

≥[d(v, Ai)−fi−1(v)] 1− 1i

≥0

Por indu¸c˜ao podemos provar quefr(v) ´e n˜ao decrescente a partir do

mo-mento em que atinge o m´ınimo, bastando calcularfi(v) enquantod(v, Ai)<

fi−1(v), sendo o ´ultimo valor o m´ınimo. O algoritmo de Rayward-Smith ´e:

1. A ← {{t}} ∀tT

2. Calcular d(v, v′) v, vV e guardar os caminhos R(v, v)

3. Calcular d(v, A) e R(v, A) ∀v ∈V, A∈ A

4. Calcular f(v) ∀v ∈V. α←arg(minf(v))

(35)

6. A0 ←A0∪A1∪R(α, A0)∪R(α, A1). Eliminar A1

7. Se |A| 6= 1 calculard(v, A0) e R(v, A0) e voltar a 4.

Nos testes efectuados por Rayward-Smith este algoritmo mostrou melho-rias significativas face aos anteriormente descritos.

As estes primeiros trabalhos seguiu-se uma longa s´erie de artigos sobre heur´ısticas para este problema. Limitamos-nos aqui a destacar as que con-tribu´ıram para melhorias no RD.

Durante a d´ecada de 80 a raz˜ao de aproxima¸c˜ao ao ´optimo, no pior caso, manteve-se em 2. O algoritmo de Takahashi e Matsuyama tinha por base a ideia de fazer crescer uma ´arvore, juntando em cada itera¸c˜ao o caminho de menor custo para um n´o de T que ainda n˜ao estivesse na solu¸c˜ao. Em 1993 Zelikovsky [1993] generalizou esta ideia considerando os caminhos mais curtos para sub-´arvores ´optimas de subconjuntos de k = 3 elementos de T. Obteve assim um algoritmo com um RD de 11/6 1,84 e complexidade O(mn+p4), onde m=|E|.

Em 1994 Berman and Ramaiyer [1994] colocaram a quest˜ao de saber se o algoritmo anterior podia ser melhorado considerando sub-´arvores ´optimas dek > 3 elementos. Tendo conclu´ıdo que a resposta ´e negativa usaram uma t´ecnica diferente de utiliza¸c˜ao de sub-´arvores ´optimas de dimens˜ao k 3. Para k = 3 obtiveram o mesmo RD que Zelikovsky [1993] mas com melhor desempenho em termos de velocidade de execu¸c˜ao e parak = 4 melhoraram o RD anterior, atingindo um factor de aproxima¸c˜ao de 16/91,78.

Em 1996 Zelikovsky voltou ao tema, definindo uma metodologia a que chamou “Greedy contraction framework” [Zelikovsky, 1996]. A metodologia inclui como casos particulares, entre outros, as heur´ısticas de Takahashi e Matsuyama, a sua heur´ıstica de 1993 aqui chamada de “generalized greedy heuristic” e uma nova heur´ıstica a que chamou “relative greedy heuristic” (RGH). A nova heur´ıstica tem um factor de aproxima¸c˜ao ao ´optimo de 1 + ln 2≈1,693. N˜ao s˜ao apresentados detalhes computacionais.

Em 1997 Pr¨omel e Steger publicaram um algoritmo aleat´orio, recorrendo a hipergrafos, com um factor de aproxima¸c˜ao ao ´optimo de 1,667 [Pr¨omel and Steger, 1997].

(36)

k-´arvore (´arvore de Steiner com, no m´aximo, k terminais sendo todos eles folhas da ´arvore) com todos os seus n´os de V \T o que n˜ao conduz neces-sariamente `a melhor solu¸c˜ao na itera¸c˜ao corrente. Para evitar este problema introduziram um passo de pr´e-processamento que torna mais eficaz o algo-ritmo. Conseguiram reduzir o factor de aproxima¸c˜ao ao ´optimo do BR para 1,757 e do RGH para 1,644

Em 1999 Hougardy e Pr¨omel publicaram um artigo com uma ideia nova [Hougardy and Pr¨omel, 1999]. A ideia geral ´e aplicar iterativamente uma s´erie de algoritmos ao resultado do seu antecessor. Em cada itera¸c˜ao a solu¸c˜ao ´e a uni˜ao da anterior com os pontos de Steiner obtidos. Findo o processo iterativo calcula-se uma ´arvore de suporte m´ınima da ´ultima solu¸c˜ao. O artigo conclui que aplicando o processo iterativo ao algoritmo RGH se obt´em um factor de aproxima¸c˜ao ao ´optimo de 1,598 depois de 11 itera¸c˜oes. O limite quando o n´umero de itera¸c˜oes tende para infinito ´e de 1,588.

Este resultado s´o foi melhorado em 2005. Robins and Zelikovsky [2005] notaram que todos os algoritmos, com excep¸c˜ao do BR, escolhem componen-tes conexas (sub-´arvores ´optimas contendo k terminais) e depois contraem-nas para formar a solu¸c˜ao. Esta t´ecnica n˜ao permite descartar uma compo-nente j´a escolhida ainda que, mais tarde, se encontre uma melhor que entre em conflito com uma previamente aceite (duas componentes est˜ao em conflito se houver pelo menos dois terminais comuns). A solu¸c˜ao que encontraram foi contrair o menor n´umero poss´ıvel de componentes, por forma a que uma componente escolhida participe na solu¸c˜ao, desde que n˜ao leve `a exclus˜ao de um n´umero significativo de outras componentes. Com estes princ´ıpios criaram um algoritmo com um RD de 1 + ln 3

2 ≈ 1.55 e uma complexidade

de O pk(np)k−2+kp2k+1logp

. Neste artigo Robins e Zelikovsky mos-traram ainda que para o caso de grafos quase-bipartidos (grafos em que n˜ao existem n´os n˜ao terminais adjacentes) e grafos completos com custos 1 e 2 a heur´ıstica tem um RD de 1.28.

(37)

2.2.2

Custos nos n´

os

Dado um grafo n˜ao orientado G= (V, E), uma fun¸c˜aoc:V Q+0 de custos n˜ao negativos nos n´os e um subconjuntoT ⊆V de terminais, determinar um sub-grafo conexo deG que contenha os n´os de T e cuja soma dos custos dos seus n´os seja m´ınima. Note-se que, dado que uma solu¸c˜ao tem que incluir todos os terminais, assume-se sem perda de generalidade, que estes tˆem custo zero.

O grafo pode ser transformado num grafo orientado substituindo cada aresta [u, v] por um arco (u, v) com custoc(v) e um arco (v, u) com custoc(u). Fixando um dos terminais como origem, o problema ´e agora determinar uma arborescˆencia m´ınima que contenha todos os terminais. Problemas em grafos orientados s˜ao em geral mais complexos do que em grafos n˜ao orientados, pelo que se opta geralmente por trabalhar com a vers˜ao original.

O problema foi apresentado por Segev [1987], embora tenha tratado ape-nas um caso particular.

Feige [1998] provou que, a menos que existam algoritmos quase-polinomi-ais, i.e. algoritmos com tempo de execu¸c˜ao 2O((logn)c)

com c constante, para N P, n˜ao existe nenhum algoritmo polinomial com um factor de aproxima¸c˜ao ao ´optimo inferior a (1o(1)) log(n) para o problema do conjunto de cober-tura, onde n ´e o n´umero de elementos do conjunto base. Klein and Ravi [1995] mostraram, citando uma comunica¸c˜ao pessoal de P. Berman de 1991, que o problema do conjunto de cobertura pode ser reduzido ao problema de Steiner em grafos com custos nos n´os, atrav´es de uma redu¸c˜ao que preserva o factor de aproxima¸c˜ao. Este resultado implica que n˜ao existe algoritmo polinomial com um factor de aproxima¸c˜ao inferior a (1o(1)) log(p), onde p´e o n´umero de terminais, para a vers˜ao com custos nos n´os, a n˜ao ser que se restrinja a classe de grafos.

Numa revis˜ao sobre o estado da arte do problema de Steiner em grafos feita em 1987, Winter [1987] enumera sete algoritmos exactos (n˜ao polino-miais) e seis heur´ısticas com tempos de execu¸c˜ao polinomial, todos para a vers˜ao de custos nas arestas. A ´ultima frase do artigo ´e “Further investiga-tion of the vertex-weighted SPN is needed”. De facto, comparado com o caso anterior a literatura para este caso ´e escassa.

(38)

apenas cada um dos terminais. A estrat´egia seguida ´e a jun¸c˜ao iterativa das ´arvores at´e que exista apenas uma. Em cada itera¸c˜ao ´e seleccionado o n´ov e um conjunto n˜ao singular de ´arvores por forma a minimizar (custo do n´o v mais a soma da distˆancia `as ´arvores)/n´umero de ´arvores. As duas ´arvores com menor distˆancia ao n´o v seleccionado s˜ao ent˜ao ligadas, diminuindo o n´umero de ´arvores de uma unidade em cada itera¸c˜ao. No mesmo artigo ´e apresentada uma variante do algoritmo para a vers˜ao nos n´os da formula¸c˜ao gen´erica de Goemans and Williamson [1995] (ver 2.3.1) com o mesmo RD. Esta variante permite obter heur´ısticas para o vasto conjunto de problemas formulado por Goemans e Williamson.

Guha and Khuller [1999] melhoraram o RD para 1,35 lnpgeneralizando o conceito dearanhas, ´arvores em que no m´aximo um dos n´os tem grau superior a 2, utilizado por Klein e Ravi na prova do RD de 2 lnp. O algoritmo ´e, no entanto, demasiado lento para aplicar em problemas pr´aticos. No mesmo artigo apresentaram uma vers˜ao mais simples com um RD de 1,61 lnp. Tanto quanto sabemos, estas continuam a ser as heur´ısticas com melhor factor de aproxima¸c˜ao ao ´optimo no pior caso.

Para alguns tipos de grafos, com estrutura particular, existem algoritmos com RD constante. Em 2009 Demaine et al. [2009] publicaram um algoritmo utilizando tamb´em a metodologia de Goemans e Williamson com uma for-mula¸c˜ao de cobertura por cortes do problema de Steiner com custos nos n´os. Trata-se de um algoritmo primal-dual que usa a relaxa¸c˜ao linear do dual da formula¸c˜ao para juntar as ´arvores que inicialmente s˜ao compostas por cada um dos terminais. Em cada itera¸c˜ao ´e adicionado o n´o correspondente `a res-tri¸c˜ao do dual que fica saturada incrementando uniformemente as vari´aveis duais. O algoritmo tem um RD de 6 para o caso de grafos planares.

Para o caso de grafos em que os n´os est˜ao sobre um plano e existe uma aresta entre dois n´os se a distˆancia euclidiana entre eles for menor ou igual que 1 (“Unit Disk Graphs (UDG)”), existem resultados interessantes. Zou et al. [2008] apresentaram uma redu¸c˜ao, para este caso, de grafos com custos nos n´os ao problema com custos nas arestas e mostraram que qualquer ρ-aproxima¸c˜ao a este conduz a um RD de 2,5ρpara o problema com custo nos n´os. Como o melhor RD conhecido ´e de 1,39 temos um RD de 3,48 para este caso.

(39)

2.3

Floresta de Steiner

Dado um grafo n˜ao orientado G = (V, E) e um conjunto de subconjuntos disjuntos de V, T1, T2,· · · , Tτ, pretende-se determinar um sub-grafo de G

com custo m´ınimo, em que cada par de n´os de cada Tk est˜ao ligados.

2.3.1

Custos nas arestas

Formula¸c˜oes

O artigo j´a citado de Magnanti and Raghavan [2005] trata explicitamente o caso da floresta de Steiner com custos nas arestas. A formula¸c˜ao com cortes assume neste caso a forma:

min X

{i,j}∈E

cijxij (2.11a)

sujeito a:

X

{i,j}∈δ(S)

xij ≥1,

∀S : ∅ ⊂S V, S∩Ti 6=∅,

(V \S)Ti 6=∅ para algum i

(2.11b)

xij ∈ {0,1} ∀ {i, j} ∈E (2.11c)

Introduziram tamb´em um processo de orienta¸c˜ao das arestas que conduziu a uma formula¸c˜ao com fluxos, mais forte do que a formula¸c˜ao por cortes. Esta formula¸c˜ao ´e no entanto muito complexa e com um n´umero muito grande de restri¸c˜oes, embora polinomial, o que faz com que a sua utiliza¸c˜ao em problemas de grande dimens˜ao seja impratic´avel.

Heur´ısticas

(40)

Williamson, 1995] que apresentaram uma t´ecnica gen´erica baseada numa formula¸c˜ao de programa¸c˜ao inteira:

minP

e∈Ecexe

s.a

x(δ(S))≥f(S) ∅ 6=S ⊂V xe ∈ {0,1} e∈E

onde δ(S) designa o conjunto de arestas com um ´unico n´o em S e x(F) =

P

e∈F xe. A formula¸c˜ao pode ser interpretada como um problema de

co-bertura em que se pretende determinar um conjunto de arestas com custo m´ınimo que cubram todos os cortesδ(S) correspondentes a conjuntosSpara os quaisf(S) = 1. Os autores designam a fun¸c˜aof : 2V → {0,1}por fun¸c˜ao

pr´opria quando verifica as seguintes propriedades:

1. Simetria. f(S) =f(V \S) S V

2. Disjun¸c˜ao. Se AB = ent˜ao f(A) =f(B) = 0f(AB) = 0 Goemans e Williamson apresentam um algoritmo primal-dual gen´erico que para o caso da floresta de Steiner se reduz ao de Agrawal et al.

Diferentes defini¸c˜oes para a fun¸c˜ao f(S) modelam distintos problemas incluindo o da floresta de Steiner. V´arios autores tˆem utilizado esta t´ecnica para criar algoritmos para diversos problemas, incluindo uma das formula¸c˜oes apresentadas nesta disserta¸c˜ao.

Para o caso da floresta de Steiner com custos nas arestas apresenta-se o al-goritmo, seguindo o trabalho de Vazirani [2003], dada a sua importˆancia para a formula¸c˜ao e heur´ıstica que apresentamos em 3.2 e 4.1 respectivamente.

Seja

f(S) =

(

1 se para algum k, S inclui algum terminal de Tk mas n˜ao todos

0 caso contr´ario

(S, S) representa um corte de G ef : 2V → {0,1}´e uma fun¸c˜ao definida

sobre o conjunto de todos os subconjuntos deV. Introduzindo uma vari´avel xe para todos os e∈E que assume o valor 1 se a aresta e for escolhida para

a solu¸c˜ao e 0 no caso contr´ario a formula¸c˜ao do problema ´e:

minX

e∈E

(41)

sujeito a:

X

e:e∈δ(S)

xe ≥f(S), S ⊆V (2.13)

xe∈ {0,1}, e∈E (2.14)

onde δ(S) representa o conjunto de arestas que atravessam o corte (S, S). A relaxa¸c˜ao linear deste problema ´e:

minX

e∈E

cexe (2.15)

sujeito a:

X

e:e∈δ(S)

xe ≥f(S), S ⊆V (2.16)

xe≥0, e∈E (2.17)

omite-se a restri¸c˜ao xe ≤1 por ser redundante.

O dual da relaxa¸c˜ao linear ´e:

maxX

S⊆V

f(S)yS (2.18)

sujeito a:

X

S:e∈δ(S)

yS ≤ce, e∈E (2.19)

yS ≥0, S ⊆V (2.20)

(42)

escolhe a que conduz a melhorias no dual. O algoritmo termina quando a solu¸c˜ao do primal ´e admiss´ıvel.

A principal modifica¸c˜ao deste tipo de algoritmos primal-dual ´e que en-quanto os algoritmos exactos imp˜oem as condi¸c˜oes de complementaridade do primal e do dual, estes imp˜oem as condi¸c˜oes do primal mas relaxam as do dual [Goemans and Williamson, 1997].

Neste caso, a condi¸c˜ao de complementaridade primal ´e para cada e ∈

E, xe 6= 0⇒PS:e∈δ(S)yS =ce, ou seja todas as arestas escolhidas tˆem que

saturar a restri¸c˜ao.

O algoritmo come¸ca com todas as vari´aveis primais e duais a zero. A solu¸c˜ao primal corrente indica quais os cortes que devem ser levantados, i.e. quais as vari´aveisyS para as quais se deve ter yS >0. Por sua vez a solu¸c˜ao

corrente do dual indica quais as arestas que devem ser escolhidas, pelo que o algoritmo melhora iterativamente a admissibilidade do primal e a optima-lidade do dual at´e que seja obtida uma solu¸c˜ao primal admiss´ıvel.

O conjunto S diz-se activo se ´e uma componente conexa na solu¸c˜ao cor-rente e f(S) = 1. Em cada itera¸c˜ao as vari´aveis duais dos conjuntos activos s˜ao aumentadas de forma sincronizada at´e que alguma das restri¸c˜oes (2.19) seja saturada, escolhendo-se a aresta correspondente.

O algoritmo ´e:

1. F ← ∅

2. yS ←0 ∀S ⊆V

3. Enquanto a solu¸c˜ao F n˜ao for primal admiss´ıvel

(a) aumentar simultaneamente todos osyS correspondentes a

conjun-tos S activos at´e que alguma das restri¸c˜oes (2.19) seja saturada. Escolher o e correspondente.

(b) F ←F ∪ {e}

4. Podar a solu¸c˜ao fazendoF′ ={e F|F \ {e}´e primal n˜ao admiss´ıvel}

5. Devolver F′.

(43)

2.3.2

Custos nos n´

os

Os trabalhos publicados sobre este caso s˜ao escassos, resumindo-se quase sempre a notas afirmando que ´e poss´ıvel adaptar os algoritmos ao caso de custos nos n´os.

Klein and Ravi [1995] mostram como adaptar o seu algoritmo, derivado do de Rayward-Smith, para os problemas cobertos pela formula¸c˜ao gen´erica de Goemans and Williamson [1995] e portanto tamb´em para o caso da floresta de Steiner com custos nos n´os. Para tal basta modificar a fun¸c˜ao f(v) de Rayward-Smith para:

custo do n´o + soma das distˆancias `as ´arvores activas n´umero de ´arvores activas

O factor de aproxima¸c˜ao do algoritmo ´e 2 log(p) onde p ´e o n´umero de terminais.

(44)
(45)

Formula¸c˜

oes

3.1

Formula¸c˜

oes com fluxos

Formula¸c˜oes com recurso a fluxos tˆem sido usadas para representar formal-mente problemas de Steiner. Veja-se por exemplo Wong [1984] para o caso do problema da ´arvore de Steiner com custos nas arestas, Segev [1987] para um caso particular do problema da ´arvore de Steiner com pesos nos n´os e Mag-nanti and Raghavan [2005] para v´arios problemas de conexidade em redes, incluindo o da floresta de Steiner com custos nas arestas.

Apresenta-se uma formula¸c˜ao para o PLMT baseada em fluxos multi-produto.

Sejam:

wv ≥ 0 um custo associado a cada n´o v do grafo G = (V, E), wv = 0 se

v Tk para algum k = 1,· · · , τ, i.e. os n´os terminais tˆem custo 0.

pk=

Tk

, k = 1,· · · , τ o n´umero de terminais do tipo k.

tk

1 ∈Tk, k = 1,· · · , τ um n´o escolhido arbitrariamente para origem do fluxo

para cada um dosτ tipos de terminais.

Considerem-se vari´aveis fk

uv representando a quantidade de fluxo do tipo

k no arco entre os n´os u e v, e vari´aveis xv ∈ {0,1} indicando se o n´o v ´e

(46)

Com as vari´aveis f e x, PLMT pode ser formulado da forma seguinte:

P LM T1:

minX

v∈V

wvxv (3.1a)

sujeito a:

X

u∈Vk

fk uv−

X

w∈Vk

fk vw =     

−(pk−1) se v =tk1

1 se v Tk\ {tk

1}

0 se v Vk\Tk

, k = 1,· · · , τ (3.1b)

X

u∈Vk

fuvk (pk−1)xv, v ∈V k\

tk

1 ,

k = 1,· · · , τ (3.1c) xtk

1 = 1 k = 1,· · · , τ (3.1d)

xv ∈ {0,1}, v ∈V (3.1e)

fk

uv ≥0, u, v∈Vk, k = 1,· · · , τ. (3.1f)

As equa¸c˜oes de equil´ıbrio (3.1b) garantem a conexidade dos terminais de Tk dado que um fluxo dep

k−1 unidades ´e enviado pelo terminal seleccionado

para origem e uma unidade de fluxo ´e consumida por cada um dos restantes pk−1 terminais. As restri¸c˜oes de capacidade (3.1c) garantem que o fluxo

atravessa os n´os seleccionados.

Em vez de enviar um fluxo de pk−1 unidades a partir de cada origem,

podemos formular o problema enviando um fluxo unit´ario a partir de um terminal origem em Tk para cada um dos outros p

k −1 terminais. Sejam

tk

1, tk2,· · · , tkpk os elementos do conjunto de terminais T

k e escolha-se para

origem tk

1. Utilizam-se vari´aveis fuvki para designar a quantidade de fluxo de

tipok entre os n´os u e v com origem em tk

1 e destino tki (i= 2,· · · , pk).

PLMT pode agora ser formulado por:

P LM T2:

minX

v∈V

(47)

sujeito a:

X

u∈Vk

fki uv−

X

w∈Vk

fki vw=     

−1 se v =tk

1

1 se v =tk i

0 se v Vk\Tk

, k= 1,· · · , τ

i= 2,· · · , pk (3.2b)

X

u∈Vk

fuvki xv,

v Vk,

k = 1,· · · , τ i= 2,· · · , pk

(3.2c)

X

u∈Vk

futkik

1 = 0,

k = 1,· · · , τ

i= 2,· · · , pk (3.2d)

X

u∈Vk

ftkik iu = 0,

k = 1,· · · , τ

i= 2,· · · , pk (3.2e)

xtk

1 = 1 k= 1,· · ·, τ (3.2f)

xv ∈ {0,1}, v ∈V (3.2g)

fuvki 0, u, v Vk, k = 1,· · · , τ, i = 2,· · · , pk. (3.2h)

As equa¸c˜oes (3.2b), (3.2c) e (3.2f) garantem que todos os terminais perten-cem `a solu¸c˜ao e que para cada tipok pertencem `a mesma componente conexa do grafo

Vk

. As equa¸c˜oes (3.2d)-(3.2e) eliminam algumas das vari´aveis de fluxo (est˜ao impl´ıcitas mas a experiˆencia mostrou que a sua inclus˜ao na for-mula¸c˜ao diminui o tempo necess´ario para obter a solu¸c˜ao da relaxa¸c˜ao linear do problema).

Comparamos em seguida as duas formula¸c˜oes.

Defini¸c˜ao 3.1.1 Dado um poliedro Q⊆(Rn×Rp), a projec¸c˜ao de Q sobre

o sub-espa¸co Rn, representa-se por proj

x(Q) e ´e definida por:

projx(Q) = {x∈Rn : (x, w)∈Q para algum w∈Rp}.

Designem-se por P1 e P2 os poliedros obtidos a partir das relaxa¸c˜oes

(48)

As duas formula¸c˜oes tˆem um conjunto de vari´aveis comum,x, e vari´aveis diferentes para representar os fluxos.

A proposi¸c˜ao seguinte estabelece a compara¸c˜ao entre as duas formula¸c˜oes.

Proposi¸c˜ao 3.1.2 P LM T2 ´e uma formula¸c˜ao mais forte do que P LM T1,

i.e. projx(P2)⊆projx(P1).

Dem: Considere-se uma solu¸c˜ao admiss´ıvel (x,f) da relaxa¸c˜ao linear de P LM T2. Por (3.2c)

X

u∈Vk

fuvki ≤xv

somando emi

pk

X

i=2

X

u∈Vk

fuvki (pk−1)xv.

Tomando fk uv =

Ppk

i=2fuvki tem-se:

X

u∈Vk

fuvk (pk−1)xv

e portanto qualquer solu¸c˜ao admiss´ıvel x da relaxa¸c˜ao linear de P LM T2 ´e

tamb´em admiss´ıvel para a relaxa¸c˜ao de P LM T1, o que implica

necessaria-mente que:

projx(P2)⊆projx(P1).

Para provar que existem instˆancias para as quais projx(P2)⊂projx(P1)

basta mostrar que existe um ponto deprojx(P1) que n˜ao est´a emprojx(P2).

Considere-se o grafo da Fig. 3.1 onde τ = 1 e p1 = 3 Figura 3.1: Solu¸c˜ao da relaxa¸c˜ao linearP1

t1 v1

2

t2

2

v2

1

t3

(49)

Os arcos representam os fluxos na solu¸c˜ao ´optima da relaxa¸c˜ao linear P LM T1. A solu¸c˜ao ´optima ´e (xt1, xv1, xt2, xv2, xt3) = 1,1,1,

1 2,1

que n˜ao ´e um ponto de P2 dado que por (3.2b) e (3.2f) temos que ter ft132v2 = 1 e portanto xv2 =

1

2 viola (3.2c).

Isto prova que P LM T2 ´e uma formula¸c˜ao mais forte do queP LM T1. ⊓⊔

A formula¸c˜ao compacta (3.2a)-(3.2h) obtida acima, ser´a usada para obter solu¸c˜oes exactas para o PLMT (ou enquadramentos para o ´optimo quando tal n˜ao for poss´ıvel) para instˆancias de dimens˜ao moderada, por forma a aferir a qualidade das solu¸c˜oes obtidas com as heur´ısticas do cap´ıtulo 4.

3.1.1

Compara¸c˜

ao emp´ırica

Para comparar as relaxa¸c˜oes lineares das duas formula¸c˜oes utilizou-se um subconjunto dos grafos de teste descritos em 5.1.2. Para cada |V|, |E| e τ existem 10 problemas. Foram usados apenas aqueles para os quais se obteve pelo menos duas solu¸c˜oes ´optimas, usando o CPLEX limitado a uma hora de execu¸c˜ao. As caracter´ısticas da m´aquina utilizada est˜ao descritas na sec¸c˜ao referida.

Os resultados est˜ao descritos na Tabela 3.1. Os valores apresentados s˜ao as m´edias dos np problemas para cada tipo de grafo. LP/IP ´e a raz˜ao entre a solu¸c˜ao da relaxa¸c˜ao linear e o valor do ´optimo para o problema com as vari´aveis inteiras. As quatro ´ultimas colunas apresentam o tempo m´edio de execu¸c˜ao para obter os ´optimos da relaxa¸c˜ao linear e do problema inteiro respectivamente. Os valores omissos significam que n˜ao foi poss´ıvel obter o ´optimo, no tempo fixado, para um ou mais dos problemas apresentados. Nunca se deu o caso de ser poss´ıvel obter o ´optimo com a formula¸c˜aoP LM T1

mas n˜ao com a P LM T2.

Os resultados mostram que, para estes problemas, a formula¸c˜ao P LM T2

´e bastante mais forte, sendo a m´edia do r´acio LP/IP superior a 90% excepto em dois casos enquanto queP LM T1 apenas ultrapassa os 85% em dois casos.

Os tempos de execu¸c˜ao para obten¸c˜ao do ´optimo da relaxa¸c˜ao linear, reflectem o maior n´umero de vari´aveis e restri¸c˜oes de P LM T2 (ver Tabela

(50)

Tabela 3.1: Compara¸c˜ao das formula¸c˜oes com fluxos.

|V| |E| τ np LP/IP LP (segs.) IP (segs.)

P LM T1 P LM T2 P LM T1 P LM T2 P LM T1 P LM T2

100 342 1 4 0.773 1.000 0.00 0.00 0.03 0.02 2 8 0.765 0.996 0.00 0.01 0.08 0.03 3 10 0.765 0.984 0.00 0.01 0.08 0.07 4 7 0.673 0.990 0.01 0.03 0.13 0.08 5 5 0.764 0.988 0.01 0.03 0.22 0.08 6 5 0.832 0.985 0.01 0.04 0.14 0.12 7 3 0.653 1.000 0.01 0.02 0.05 0.06 8 7 0.770 0.991 0.02 0.07 0.14 0.14 10 9 0.736 0.992 0.03 0.07 0.19 0.16 400 1482 1 11 0.611 0.946 0.01 0.08 3.75 0.67 2 13 0.799 0.970 0.04 0.24 3.51 1.48 3 6 0.642 0.892 0.08 0.91 21.78 10.85 4 9 0.750 0.919 0.28 1.54 32.65 23.62 5 4 0.694 0.918 0.21 1.17 667.60 491.82 6 7 0.690 0.920 0.58 4.30 248.35 57.54 7 2 0.712 0.879 0.87 7.72 258.11 259.71 8 4 0.712 0.931 0.96 6.55 349.63 119.87 10 2 0.733 0.972 0.80 7.20 19.31 18.14 900 3422 1 13 0.837 0.971 0.05 0.21 10.20 1.39 2 16 0.802 0.928 0.40 2.31 225.06 3 8 0.725 0.901 0.67 2.09 364.26 4 5 0.672 0.907 0.98 3.55 706.50 5 7 0.682 0.906 0.95 4.55 200.09 7 3 0.767 0.937 1.78 8.68 1345.97 342.49 1600 6162 1 18 0.756 0.963 0.09 0.78 187.87 2 9 0.824 0.961 0.52 1.31 159.37 16.95 3 8 0.729 0.925 1.27 5.05 927.20 4 2 0.859 0.933 2.83 5.04 484.68 5 2 0.823 0.944 1.02 1.72 1178.29 2500 9702 1 22 0.854 0.977 0.25 0.70 143.83 2 9 0.737 0.931 1.13 3.37 432.69 3 4 0.676 0.956 1.68 10.12 655.07

Tabela 3.2: Formula¸c˜oes com fluxos: n´umero de vari´aveis e restri¸c˜oes.

P LM T1 P LM T2

Vari´aveis: |V|+Pτ

k=1

Ek

|V|+ Pτ

k=1(pk−1) Ek

Restri¸c˜oes: τ + 2Pτk=1Vk

τ + 2Pτk=1(pk−1) Vk

+ 1

(51)

3.2

Formula¸c˜

ao por cortes

Pode escrever-se uma formula¸c˜ao para o PLMT baseada em cortes de co-bertura que ´e uma extens˜ao, adaptada para pesos nos n´os, da formula¸c˜ao de Vazirani [2003] para o problema com pesos nas arestas. Esta ´ultima ´e, por sua vez, uma aplica¸c˜ao do problema gen´erico proposto por Goemans and Williamson [1995] para o desenho de problemas em redes com custos nas arestas. Uma formula¸c˜ao semelhante foi dada por Demaine et al. [2009] para o problema da floresta de Steiner com pesos nos n´os.

Para cadak = 1,2, . . . , τ, considere-se a fun¸c˜aofk : 2Vk

→ {0,1}definida por fk(S) = 1 se e s´o se ∅ 6= S Tk 6= Tk (i.e., S inclui pelo menos um

terminal de Tk, mas n˜ao todos).

Usando as vari´aveisxv, previamente definidas, PLMT pode ser formulado

como:

minX

v∈V

wvxv (3.3a)

sujeito a:

X

v∈Γk(S)

xv ≥fk(S), S ⊆V k

k = 1,· · · , τ (3.3b)

xv ∈ {0,1}, v ∈V (3.3c)

onde Γk(S) representa o conjunto de n´os v Vk \S adjacente a pelo

menos um n´o em S.

Proposi¸c˜ao 3.2.1 A solu¸c˜ao deste problema de programa¸c˜ao inteira ´e uma solu¸c˜ao do PLMT.

Dem: Suponha-se por contradi¸c˜ao que algum par de terminais do tipo k, (sk, tk), n˜ao ´e ligado por n´os para os quais se tem x

v = 1. SejaS o conjunto

formado por sk e pelos n´os a ele ligados na solu¸c˜ao. Por hip´otese tem-se

fk(S) = 1 dado queS contemsk mas n˜aotk. Por outro lado a nossa escolha

deS implica que para todo o v Γk(S) se tem x

(52)
(53)

Heur´ısticas

4.1

Heur´ıstica primal-dual

4.1.1

O m´

etodo primal-dual

O m´etodo primal-dual foi proposto por Dantzig et al. [1956] para resolver problemas de programa¸c˜ao linear. Considere-se o par de problemas duais:

mincTx sujeito a:

Ax≥b x0 e

maxbTy sujeito a:

ATy c

y 0.

(54)

xj >0⇒Ajy=cj

enquanto que as rela¸c˜oes de complementaridade duais s˜ao:

yi >0⇒Aix=bi

onde Aj representa a j-´esima coluna de de A e A

i a i-´esima linha.

Dada uma solu¸c˜aoy, admiss´ıvel para o dual, o problema de encontrar uma solu¸c˜aox admiss´ıvel para o primal que respeite as condi¸c˜oes de complemen-taridade leva-nos a outro problema de optimiza¸c˜ao: encontrar x por forma a minimizar a viola¸c˜ao das restri¸c˜oes do primal e das condi¸c˜oes de comple-mentaridade. Este problema pode ser formulado de v´arias formas. Segue-se o trabalho de Goemans and Williamson [1997] sobre o m´etodo primal-dual e respectivas heur´ısticas.

Zinf = min

X

i /∈I

si+

X

j /∈J

xj

sujeito a:

Aix≥bi i∈I

Aix−si =bi i /∈I

x≥0 s0

com I ={i : yi = 0} e J ={j : Ajy=cj}.

Se Zinf = 0 ent˜ao x e y s˜ao solu¸c˜oes ´optimas para o primal e dual

res-pectivamente. Caso contr´ario considere-se o dual deste problema:

maxbTy1 sujeito a:

Ajy1 0 j J

Ajy1 1 j /J

y1

i ≥ −1 i /∈I

y1

(55)

Zinf > 0 implica que bTy1 > 0. ´E poss´ıvel encontrar um ǫ > 0 tal que

y2 =y+ǫy1 ´e uma solu¸c˜ao admiss´ıvel para o dual [Goemans and Williamson,

1997], ou seja, se n˜ao for poss´ıvel determinar umxque respeite as condi¸c˜oes de complementaridade podemos determinar uma solu¸c˜ao dual admiss´ıvel y2

tal quebTy2 =bTy+ǫbTy1 > bTye portanto com melhor valor para a fun¸c˜ao

objectivo.

O m´etodo transforma a solu¸c˜ao de um problema de programa¸c˜ao linear na solu¸c˜ao de uma sequˆencia de problemas. Embora possa parecer que n˜ao h´a vantagem nesta transforma¸c˜ao deve notar-se que o vector c n˜ao aparece no problema de minimiza¸c˜ao das viola¸c˜oes (nem no seu dual). Em problemas de redes, este vector corresponde aos custos das arestas ou n´os e portanto o m´etodo reduz o problema com pesos a um problema sem estes tornando-o, em geral, mais f´acil de resolver [Goemans and Williamson, 1997].

Muitos problemas de optimiza¸c˜ao combinat´oria podem ser formulados utilizando programa¸c˜ao inteira. Em alguns casos, a relaxa¸c˜ao linear destes problemas tem uma matriz A que ´e totalmente unimodular (i.e. qualquer sub-matriz quadrada de A tem determinante -1, 0 ou 1) o que implica que a solu¸c˜ao da relaxa¸c˜ao linear ´e inteira. Entre estes, est˜ao o da determina¸c˜ao do caminho mais curto entre dois n´os ou o do fluxo m´aximo numa rede. Na maioria dos casos isto n˜ao acontece e n˜ao ´e poss´ıvel recorrer `a programa¸c˜ao linear para resolver o problema.

Para obter solu¸c˜oes aproximadas para um problema impomos as condi¸c˜oes de complementaridade primais mas relaxamos as do dual. Em cada itera¸c˜ao mant´em-se uma solu¸c˜ao admiss´ıvel para o dual e as vari´aveis do primal as-sociadas `as restri¸c˜oes duais saturadas s˜ao b´asicas. Se a solu¸c˜ao do primal n˜ao for admiss´ıvel ent˜ao podemos aumentar o valor da solu¸c˜ao do dual. O processo termina quando se obt´em uma solu¸c˜ao admiss´ıvel para o primal.

4.1.2

Heur´ıstica primal-dual para o PLMT

Imagem

Figura 1.1: Exemplo do problema t 2 1 v 2 0.2 v 4 0.1 t 22t11v10.1v30.0t12
Figura 2.2: Exemplo de aplica¸c˜ ao da heur´ıstica
Figura 2.3: Caminho Hamiltoniano
Tabela 3.1: Compara¸c˜ ao das formula¸c˜ oes com fluxos.
+7

Referências

Documentos relacionados

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

Com isso, alguns objetivo foram tra¸ cados tais como: o estudo te´ orico e a implementa¸ c˜ ao num´ erica de m´ etodos aplicados ` a resolu¸ c˜ ao de Sistemas de Equa¸ c˜ oes n˜

Chora Peito Chora Joao Bosco e Vinicius 000 / 001.. Chão De Giz Camila e

Para além das vacaturas episcopais, este apartado serviu para registar os rendimentos gerados pela vacatura dos benefícios menores detidos no reino pelo Cardeal Gil de

Assim surgiu a APAC - Associação de Proteção e Assistência aos Condenados, cujo método tem como objetivo oferecer ao condenado condições de se recuperar para que este possa

Da mesma forma que os momentos determinados segundo o eixo de x, na direc¸c˜ ao yy os valores m´ aximos foram obtidos a meio v˜ ao do bordo da laje do ´ ultimo piso e os m´ınimos

Determinação a Órgão/Entidade: Companhia Brasileira de Trens Urbanos: elaboração do projeto básico atualizado dos sistemas fixos e material rodante do ramal Calafate-Barreiro,

Por exemplo, no caso do circuto acima, a sa´ıda pode ser expressa como f (A, B) para indicar que o valor da sa´ıda depende das duas entradas A e B que podem ser vistas como