• Nenhum resultado encontrado

Análise Experimental dos Algoritmos Exatos Aplicados ao Problema da Árvore Geradora Multiobjetivo

N/A
N/A
Protected

Academic year: 2021

Share "Análise Experimental dos Algoritmos Exatos Aplicados ao Problema da Árvore Geradora Multiobjetivo"

Copied!
126
0
0

Texto

(1)

Departamento de Informática e Matemática Aplicada Bacharelado em Ciência da Computação

Análise Experimental dos Algoritmos Exatos

Aplicados ao Problema da Árvore Geradora

Multiobjetivo

Islame Felipe da Costa Fernandes

Natal-RN Dezembro de 2016

(2)

Análise Experimental dos Algoritmos Exatos Aplicados

ao Problema da Árvore Geradora Multiobjetivo

Monografia de Graduação apresentada ao Departamento de Informática e Matemática Aplicada do Centro de Ciências Exatas e da Terra da Universidade Federal do Rio Grande do Norte como requisito parcial para a ob-tenção do grau de bacharel em Ciência da Computação.

Orientadora

Prof

a

. Dr

a

. Elizabeth Ferreira Gouvêa Goldbarg

Universidade Federal do Rio Grande do Norte – UFRN Departamento de Informática e Matemática Aplicada – DIMAp

Natal-RN Dezembro de 2016

(3)

Bibliotecas Biblioteca Central Zila Mamede / Setor de Informação e Referência

Fernandes, Islame Felipe da Costa.

Análise experimental dos algoritmos exatos aplicados ao problema da árvore geradora multiobjetivo / Islame Felipe da Costa Fernandes. - 2016.

124 f. : il.

Monografia (Graduação) - Universidade Federal do Rio Grande do Norte. Centro de Ciências Exatas e da Terra. Departamento de Informática e Matemática Aplicada. Bacharelado em Ciência da Computação. Natal, RN, 2016.

Orientadora: Profª. Drª. Elizabeth Ferreira Gouvêa Goldbarg. 1. Algoritmos exatos - Monografia. 2. Problemas multiobjetivo - Monografia. 3. Árvore geradora multiobjetivo - Monografia I. Goldbarg, Elizabeth Ferreira Gouvêa. II. Título.

RN/UF/BCZM CDU 004.021

(4)

cados ao Problema da Árvore Geradora Multiobjetivo apresentada por Islame Felipe da Costa Fernandes e aceita pelo Departamento de Informática e Matemática Aplicada do Centro de Ciências Exatas e da Terra da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada:

Profa. Dra. Elizabeth Ferreira Gouvêa Goldbarg

Orientadora

Departamento de Informática e Matemática Aplicada (DIMAp) Universidade Federal do Rio Grande do Norte (UFRN)

Prof. Dr. Marco Cesar Goldbarg

Departamento de Informática e Matemática Aplicada (DIMAp) Universidade Federal do Rio Grande do Norte (UFRN)

Profa. Dra. Silvia Maria Diniz Monteiro Maia

Departamento de Informática e Matemática Aplicada (DIMAp) Universidade Federal do Rio Grande do Norte (UFRN)

Natal-RN Dezembro de 2016

(5)
(6)

Com imensa gratidão, dirijo-me a todos que exerceram papeis fundamentais para o progresso desta graduação e o desenvolvimento desta obra.

A Deus, Nosso Senhor Jesus Cristo, Alfa e Ômega, princípio e fim, Ele que é, que era e que há de vir (Apocalipse 1:8). À Virgem Maria Santíssima por sua poderosíssima intercessão, junto a seu Filho.

Aos meus pais, José Carlos Fernandes e Marinalva Fernandes, pelo afeto, amor, cari-nho, incentivo e auxílio em todos estes anos de graduação. A eles, cujos corações estiveram tantas vezes aflitos em minhas ausências, meu muito obrigado.

À minha família, avós, tios, primos e irmã, pelas orações, incentivos, concelhos, e apoio irrestrito durante esses anos. Ao meu amor, pela fidelidade e carinho e por compreender e aceitar minhas inúmeras ausências durante esse período.

À Profa. Dra. Elizabeth Ferreira Gouvêa Goldbarg, pela dedicação, eficiência,

dispo-nibilidade, e pela extraordinária orientação durante esta pesquisa.

Ao Laboratório de Algoritmos Experimentais (LAE) da Universidade Federal do Rio Grande do Norte (UFRN) pelo suporte material durante a fase experimental deste traba-lho. Ao mesmo tempo, agradeço à UFRN, minha alma mater, pelo importante papel que exerceu no meu processo de formação intelectual, profissional e cidadã.

Ao Prof. Dr. Marco César Goldbarg e à Profa. Dra. Sílvia Maria Diniz Monteiro por

aceitarem participar da banca de defesa desta monografia, enriquecendo-a com suas ideias e sugestões. Manifesto ainda minha gratidão à Profa. Dra. Sílvia pelo apoio junto ao LAE e no que se refere às instâncias e algoritmos disponibilizados.

Agradeço ainda ao Programa de Educação Tutorial de Ciência da Computação (PET-CC), fundamental sustentáculo nos meus primeiros anos de graduação. Igualmente, meus agradecimentos aos seus (meus) tutores, Prof. Dr. André Maurício Cunha Campos e Prof. Dr. Umberto Souza da Costa, pelos seus ensinamentos, e aos amigos petianos que com-partilharam comigo esta experiência.

(7)

perdão pra descansar horas a fio, sem ao menos sonhar a leve palha de um pequeno sonho. Quero o que antes da vida foi o profundo sono das espécies, a graça de um estado. Semente. Muito mais que raízes.” (Adélia Prado)

(8)

ao Problema da Árvore Geradora Multiobjetivo

Autor: Islame Felipe da Costa Fernandes Orientadora: Profa. Dra. Elizabeth Ferreira Gouvêa Goldbarg

Resumo

O Problema da Árvore Geradora Multiobjetivo (AGMO) é uma generalização do Pro-blema da Árvore Geradora Mínima. Embora este último possua algoritmo polinomial que o solucione, o mesmo não acontece para sua generalização. Assim como sua versão mono-objetivo, o problema multiobjetivo possui inúmeras aplicações nas mais variadas áreas. Além disso, ele modela situações onde existe a ocorrência de objetivos conflitantes, o que é comum em situações reais. O problema da AGMO é classificado como NP-difícil e vem sendo intensamente explorado na literatura. Diversos algoritmos exatos foram propostos para o problema segundo diferentes técnicas. Alguns destes algoritmos foram analisados em trabalhos anteriores para problemas com 2 objetivos. Este trabalho complementa os trabalhos anteriores, apresentando uma análise dos algoritmos exatos existentes até o momento para o problema da AGMO. São reportados resultados de experimentos com-putacionais em grafos completos e grade com até 100 vértices para instâncias com 2 objetivos.

(9)

the Multi-objective Spanning Tree Problem

Author: Islame Felipe da Costa Fernandes Advisor: Profa. Dra. Elizabeth Ferreira Gouvêa Goldbarg

Abstract

The Multi-objective Spanning Tree Problem (MSTP) is a generalization of the Minimum Spanning Tree Problem. Although, there are polynomial time algorithms to solve the latter problem, the same is not true for its generalization. Alike the mono-objective version, the multi-objective problem has several real world applications in several areas. Besides, it models situations where there are conflicting criteria, which is a common fact in real situations. The MSTP is classified as NP-hard and has been extensively explored in the literature. Several exact algorithms have been proposed to this problem which are based on different techniques. Some of these algorithms were analyzed in previous works for problems with two objectives. This work complements the previous works, presenting analyses of the exact algorithms proposed up to this moment to the MSTP. Results from computational experiments are reported to complete and grid graphs with up to 100 vertices for 2-objective instances.

(10)

1 Soluções eficientes suportadas e não-suportadas (STEINER; RADZIK, 2003) p. 28 2 Zona de exclusão e região das soluções não-suportadas . . . p. 50 3 Esquema de busca da segunda fase e atualização da região viável (

STEI-NER; RADZIK, 2003) . . . p. 52 4 Fase de Bound de Sourd e Spanjaard (2008) . . . p. 56 5 Ilustração de como construir o conjunto OptCUT(G) (ALONSO et al., 2009) p. 61 6 Fronteira de Pareto e superconjunto da instância 7.1 correlated do

con-junto COM P L . . . p. 80 7 Fronteira de Pareto e superconjunto da instância 7.1 anti-correlated do

conjunto COM P L . . . p. 81 8 Fronteira de Pareto e superconjunto da instância 7.1 concave do conjunto

COM P L . . . p. 81 9 Curva do tempo em função do tamanho das instâncias correlated do

conjunto COM P L para os algoritmos que geram um conjunto de soluções p. 85 10 Curva do tempo em função do tamanho das instâncias anti-correlated do

conjunto COM P L para os algoritmos que geram um conjunto de soluções p. 86 11 Curva do tempo em função do tamanho das instâncias concave do

con-junto COM P L para os algoritmos que geram um concon-junto de soluções p. 86 12 Fronteira de Pareto e superconjunto da instância 52 correlated do

con-junto GRID . . . p. 89 13 Curva do tempo em função do tamanho das instâncias correlated do

conjunto GRID para os algoritmos que geram um conjunto de soluções p. 92 14 Curva do tempo em função do tamanho das instâncias anti-correlated do

(11)

OP T KL em função do tamanho das instâncias concave do conjunto

COM P L . . . p. 94 16 Curvas do tempo despendido pelos algoritmos P LL, KLL, OP T P L e

OP T KL em função do tamanho das instâncias correlated do conjunto

COM P L . . . p. 95 17 Curvas do tempo despendido pelos algoritmos P LL, KLL, OP T P L e

OP T KL em função do tamanho das instâncias anti-correlated do

con-junto COM P L . . . p. 95 18 Curvas do tempo despendido pelos algoritmos P LL, KLL, OP T P L e

OP T KL em função do tamanho das instâncias correlated do conjunto

GRID . . . p. 98 19 Curvas do tempo despendido pelos algoritmos P LL, KLL, OP T P L e

OP T KL em função do tamanho das instâncias anti-correlated do

con-junto GRID . . . p. 98 20 Curva do tempo em escala aumentada em função do tamanho das

ins-tâncias correlated do conjunto COM P L para os algoritmos que geram

um conjunto de soluções . . . p. 106 21 Curva do tempo em escala aumentada em função do tamanho das

instân-cias anti-correlated do conjunto COM P L para os algoritmos que geram

um conjunto de soluções . . . p. 106 22 Curvas do tempo despendido pelos algoritmos SR e SS em função do

tamanho das instâncias correlated do conjunto COM P L . . . p. 107 23 Curvas do tempo despendido pelos algoritmos SR e SS em função do

tamanho das instâncias anti-correlated do conjunto COM P L . . . p. 107 24 Curvas do tempo despendido pelos algoritmos SR e SS em função do

tamanho das instâncias concave do conjunto COM P L . . . p. 108 25 Curvas do tempo despendido pelos algoritmos SR e SS em função do

tamanho das instâncias correlated do conjunto GRID . . . p. 108 26 Curvas do tempo despendido pelos algoritmos SR e SS em função do

(12)

do conjunto COM P L e GRID para o algoritmo SR . . . p. 109 28 Comparação entre as curvas de crescimento do tempo entre as instâncias

do conjunto COM P L e GRID para o algoritmo SS . . . p. 110 29 Curvas do tempo despendido pelos algoritmos P LU , KLU , CR e CBB

em função do tamanho das instâncias concave do conjunto COM P L . p. 110 30 Curvas do tempo despendido pelos algoritmos P LU , KLU , CR e CBB

em função do tamanho das instâncias correlated do conjunto COM P L p. 111 31 Curvas do tempo despendido pelos algoritmos P LU , KLU , CR e CBB

em função do tamanho das instâncias anti-correlated do conjunto COM P Lp. 111 32 Curvas do tempo despendido pelos algoritmos P LU , KLU , CR e CBB

em função do tamanho das instâncias correlated do conjunto GRID . . p. 112 33 Curvas do tempo despendido pelos algoritmos P LU , KLU , CR e CBB

em função do tamanho das instâncias anti-correlated do conjunto GRID p. 112 34 Fronteira de Pareto e superconjunto da instância 27.3 correlated do

con-junto COM P L . . . p. 113 35 Fronteira de Pareto e superconjunto da instância 12.2 concave do

con-junto COM P L . . . p. 114 36 Fronteira de Pareto da instância 12.2 concave do conjunto COM P L . . p. 114 37 Fronteira de Pareto e superconjunto da instância 12 anti-correlated do

(13)

1 Classificação dos algoritmos exatos aplicados à AGMO . . . p. 35 2 Exemplo de Hamacher e Ruhe (1994) para refutar a suficiência da

Pro-posição 1 aplicada ao caso multiobjetivo . . . p. 41 3 Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, P LS

e KLS aplicados às instâncias correlated e anti-correlated do conjunto

COMPL, de 5 a 15 vértices . . . p. 75 4 Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, P LS

e KLS aplicados às instâncias concave do conjunto COMPL, de 5 a 25

vértices . . . p. 76 5 Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, P LS

e KLS aplicados às instâncias correlated e anti-correlated do conjunto

COMPL, de 15 a 35 vértices . . . p. 77 6 Cardinalidade do Conjunto Pareto Ótimo e dos superconjuntos gerados

pelos algoritmos P LS e KLS para instâncias COM P L de 5 a 35 vértices p. 79 7 Tempo despendido, em segundos, pelos algoritmos SR e SS aplicados às

instâncias COMPL de 25 a 50 vértices . . . p. 82 8 Tempo despendido, em segundos, pelos algoritmos CLY , P GL, LM KS

aplicados às instâncias COMPL de 5 a 25 vértices . . . p. 83 9 Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, P LS e

KLS aplicados às instâncias GRID de 6 a 58 vértices . . . p. 87 10 Cardinalidade do Conjunto Pareto Ótimo e dos superconjuntos gerados

pelos algoritmos P LS e KLS para instâncias GRID de 6 a 58 vértices p. 88 11 Tempo despendido, em segundos, pelos algoritmos SR e SS aplicados às

(14)

aplicados às instâncias GRID . . . p. 90 13 Tempo despendido, em segundos, pelos algoritmos P LL, KLL, OP T P L

e OP T KL aplicados às instâncias do conjunto COMPL . . . p. 93 14 Tempo despendido, em segundos, pelos algoritmos P LU , KLU , CR e

CBB aplicados às instâncias do conjunto COMPL . . . p. 96 15 Tempo despendido, em segundos, pelos algoritmos P LL, KLL, OP T P L

e OP T KL aplicados às instâncias GRID . . . p. 97 16 Tempo despendido, em segundos, pelos algoritmos P LU , KLU , CR e

CBB aplicados às instâncias GRID . . . p. 99 17 Parâmetros utilizados para geração das instâncias COMPL (DRUMOND,

(15)

AGMO – Árvore Geradora Multiobjetivo AG-Bi – Árvore Geradora Biobjetivo

MCDM – Multiple Criteria Decision Making PAES – Pareto Archived Evolutionary Strategy

AESSEA – Archived Elitist Steady-State Evolutionary Algorithm RPM – Randomized Primal Method

GRASP – Greedy Randomized Adaptive Search Procedure EPDA – Extreme Point Deterministic Algorithm

DP – Programação Dinâmica

CED – Choquet Expected Disutility CLY – Algoritmo de Corley (1985) RA – Algoritmo de Ramos et al. (1998)

PLS – Prim-like de Perny e Spanjaard (2005) que gera superconjunto do Pareto ótimo KLS – Kruskal-like de Perny e Spanjaard (2005) que gera superconjunto do Pareto ótimo SR – Algoritmo de Steiner e Radzik (2003)

SS – Algoritmo de Sourd e Spanjaard (2008) LMKS – Algoritmo de Lokman e Köksalan (2013)

PGL – Algoritmo de Pugliese, Guerriero e Santos (2015)

PLU – Prim-like com dominância de Pareto retornando uma única solução KLU – Kruskal-like com dominância de Pareto retornando uma única solução PLL – Prim-like com ordem lexicográfica

(16)

OPTKL – optimalcutsetK de Alonso et al. (2009) com ordem lexicográfica CR – Algoritmo Ranking de Galand, Perny e Spanjaard (2010a)

(17)

1 Algoritmo de Corley (1985) . . . p. 41 2 Algoritmo DP de Pugliese, Guerriero e Santos (2015) . . . p. 43 3 Procedimento AllSpanningTree de Ramos et al. (1998) . . . p. 46 4 Procedimento AllMST de Ramos et al. (1998) . . . p. 47 5 Algoritmo EfficientBiobjectiveSTinEB e Procedimento UniobjectiveSearch

de Ramos et al. (1998) . . . p. 49 6 Algoritmo EfficientBiobjectiveSTinENB e Procedimento EBSTBB de

Ra-mos et al. (1998) . . . p. 51 7 Algoritmo PHASE1-GM e BorderSearch de Steiner e Radzik (2003) . . . p. 53 8 Algoritmo PHASE2-KB de Steiner e Radzik (2003) . . . p. 54 9 Algoritmo O(|E|2) de coloração de Sourd e Spanjaard (2008) . . . . p. 57

10 Algoritmo Kruskal-like Perny e Spanjaard (2005) . . . p. 59 11 Algoritmo Prim-like Perny e Spanjaard (2005) . . . p. 60 12 Algoritmo optimalcutsetP de Alonso et al. (2009) . . . p. 62 13 Algoritmo optimalcutsetK de Alonso et al. (2009) . . . p. 63 14 Computação λ∗ com a entropia máxima de Galand, Perny e Spanjaard

(2010a) . . . p. 65 15 Algoritmo Ranking com integral de Choquet de Galand, Perny e Spanjaard

(2010a) . . . p. 65 16 Algoritmo Branch-and-Bound com integral de Choquet de Galand, Perny

e Spanjaard (2010a) . . . p. 67 17 Primeiro algoritmo de Lokman e Köksalan (2013) . . . p. 69

(18)

1 Introdução p. 19 1.1 Contextualização e motivação . . . p. 19 1.2 Objeto de estudo . . . p. 21 1.3 Objetivos . . . p. 23 1.4 Justificativa . . . p. 23 1.5 Procedimentos metodológicos . . . p. 24 1.6 Organização do Trabalho . . . p. 24

2 O Problema da Árvore Geradora Multiobjetivo p. 26

2.1 Otimização Combinatória Multiobjetivo . . . p. 26 2.1.1 Dominância de Pareto . . . p. 27 2.1.2 Soluções suportadas e não-suportadas . . . p. 28 2.2 O Problema da Árvore Geradora Biobjetivo . . . p. 29 2.3 O estado da arte . . . p. 29 2.3.1 Algoritmos Exatos . . . p. 30 2.3.2 Algoritmos Heurísticos . . . p. 32

3 Algoritmos exatos aplicados ao problema da AGMO p. 35

3.1 Descrição geral dos métodos . . . p. 36 3.1.1 Método geométrico de Hamacher e Ruhe (1994) . . . p. 36 3.1.2 Programação Dinâmica . . . p. 36 3.1.3 k-best . . . p. 37

(19)

3.1.5 Relação de preferência . . . p. 38 3.1.6 Programação Inteira . . . p. 39 3.2 Algoritmos para encontrar todo o conjunto Pareto Ótimo . . . p. 40 3.2.1 Algoritmo de Corley (1985) . . . p. 40 3.2.2 Algoritmo de Pugliese, Guerriero e Santos (2015) . . . p. 42 3.2.3 Algoritmo de Ramos et al. (1998) . . . p. 45 3.2.4 Algoritmo de Steiner e Radzik (2003) . . . p. 52 3.2.5 Algoritmo de Sourd e Spanjaard (2008) . . . p. 55 3.3 Algoritmos baseados em preferências . . . p. 58 3.3.1 Algoritmo de Perny e Spanjaard (2005) . . . p. 58 3.3.2 Algoritmo de Alonso et al. (2009) . . . p. 61 3.3.3 Algoritmo de Galand, Perny e Spanjaard (2010a) . . . p. 63 3.4 Algoritmo baseado em Programação Inteira . . . p. 67

3.4.1 Resolvendo o problema da AGMO com o Algoritmo de Lokman

e Köksalan (2013) . . . p. 69

4 Análises Experimentais p. 72

4.1 Instâncias utilizadas . . . p. 72 4.2 Metodologia de comparação . . . p. 73 4.3 Comparação entre os tempos computacionais . . . p. 74 4.3.1 Algoritmos que geram um conjunto de soluções . . . p. 74 4.3.1.1 Experimentos com grafos completos . . . p. 75 4.3.1.2 Experimentos com grafos grades . . . p. 86 4.3.2 Algoritmos baseados em preferência . . . p. 92 4.3.2.1 Experimentos com grafos completos . . . p. 93 4.3.2.2 Experimentos com grafos grades . . . p. 96

(20)

Referências p. 102

Apêndice A -- Curvas do tempo em função do tamanho das instâncias p. 106

Apêndice B -- Ilustração da Fronteira de Pareto e dos superconjuntos

gerados pelo algoritmos PLS e KLS p. 113

Anexo A -- Axioma da independência p. 116

Anexo B -- Propriedades OptCUT(G) e OptPATH(G) p. 118

Anexo C -- Integral de Choquet p. 121

Anexo D -- Parâmetros para geração das instâncias COMPL (

(21)

1

Introdução

Estre trabalho é um estudo experimental dos algoritmos exatos presentes na literatura aplicados ao problema da Árvore Geradora Multiobjetivo, mais especificamente biobje-tivo. Os algoritmos e métodos de resolução do referido problema foram estudados em detalhes e submetidos a experimentos computacionais, cujos resultados são reportados nesta monografia. Este capítulo introdutório está dividido em seis seções. A contextuali-zação do presente trabalho e os fatores motivacionais desta pesquisa são apresentados na Seção 1.1; uma caracterização geral do objeto de estudo é desenvolvida na Seção 1.2; os objetivos, procedimentos metodológicos e justificativa são apresentados, respectivamente, nas Seções 1.3, 1.5 e 1.4; por fim, a organização geral deste documento é encontrada na Seção 1.6.

1.1

Contextualização e motivação

No tratamento de problemas complexos, são necessárias abstrações bem estrutura-das da realidade, a fim de simplificar seus processos de solução. Goldbarg e Luna (2005) chamam estas abstrações de modelos, que devem ser “representações simplificadas da reali-dade que preservam, para determinadas situações e enfoques, uma equivalência adequada”. Uma vez que um problema esteja devidamente modelado, observando suas características lógicas e matemáticas, é possível se valer da Pesquisa Operacional (PO) a fim de determi-nar melhores condições de funcionamento para o sistema que é representado (GOLDBARG; LUNA, 2005).

Neste campo de modelagem e PO, entram em cena os problemas de Otimização Com-binatória. Estudos nessa área têm prosperado bastante devido sua elevada aplicabilidade nos problemas do mundo real (EHRGOTT; GANDIBLEUX, 2000). Jaszkiewicz (2002) cita várias aplicações da Otimização Combinatória, como no contexto de telecomunicações, trajeto e rota de veículos, planejamento e programação de atividades de produção, pro-blemas de localização e etc.

(22)

Muitos desses problemas podem ser modelados com a ajuda de grafos, uma estrutura abstrata que representa um conjuntos de elementos denominados vértices e suas relações de interdependência denominadas arestas (GOLDBARG; GOLDBARG, 2012). Nas palavras de Galand, Perny e Spanjaard (2010a), a maioria dos algoritmos que trabalham com oti-mização de problemas em grafos visa efetuar uma busca de soluções ótimas num conjunto de possibilidades combinatorial. Os problemas da árvore geradora mínima (AGM), do caminho mais curto, caixeiro viajante, fluxo em redes, coloração de grafos, dentre outros, são exemplos de problemas bastante conhecidos na literatura de Otimização Combinató-ria e TeoCombinató-ria dos Grafos. Por exemplo, nesse contexto, o conceito de árvore, base do objeto de estudo dessa pesquisa, tem inúmeras aplicações práticas. Goldbarg e Goldbarg (2012) fazem uma enumeração destas aplicações, dentre as quais se pode citar: Instalações de telefone, hidráulicas, elétricas, TV a cabo, petróleo e gás; otimização de distribuição de sinal em redes; redes ópticas; otimização de sistemas submersos em campos de petróleo Off-Shore; otimização de sistemas com grau de incertezas; projeto de redes de compu-tadores e de comunicação; análise de agrupamento; circuitos de placas de computador; análise genética; redução de armazenamento de dados na sequência de aminoácidos em uma proteína; dentre tanto outros.

Os problemas supracitados foram invocados em sua versão mono-objetivo, ou seja, quando apenas um critério caracteriza o que venha a ser uma solução ótima. Nesses casos, no contexto de teoria dos grafos, tem-se apenas um valor escalar atribuído a cada aresta. Porém, como bem afirma Monteiro (2011), a complexidade do mundo exige, em diversas si-tuações, que vários critérios de otimização sejam considerados simultaneamente no mesmo modelo, sem, todavia, perder a simplicidade do mesmo. Surge, pois, o seguimento de pes-quisa chamado Otimização Combinatória Multiobjetivo. Face às versões mono-objetivo clássicas, os problemas de otimização multiobjetivo (ou multicritério) modelam de ma-neira mais adequada e satisfatória diversas situações do mundo real. Ademais, aborda-gens multiobjetivo são, na verdade, extensões naturais daquelas mono-objetivo (STEINER; RADZIK, 2003). Por esse motivo, problemas multiobjetivo ganharam considerável interesse dos pesquisadores em Otimização Combinatória. Como observaram Ehrgott e Gandibleux (2000), desde 1990 várias teses de doutorado foram escritas sobre otimização multicritério, diversas metodologias foram desenvolvidas, bem como o número de trabalhos de pesquisa na área têm crescido consideravelmente.

Um problema multiobjetivo pode apresentar critérios conflitantes ou não relacionados. Isso significa que, ao otimizar um critério, pode-se piorar os outros. Assim, para um dado problema, em geral, não existe uma única solução que otimize simultaneamente todos os

(23)

objetivos. Com isso, as noções de “ótimo” ou “eficiente” ganham novas definições. Estas novas perspectivas permitem encontrar não apenas uma única solução eficiente, mas um conjunto delas. Aumentar o número de critérios de um problema, torna-o geralmente mais difícil de resolver, deixando de ser, na maioria das vezes, polinomial. A versão multiob-jetivo da AGM, por exemplo, é NP-difícil (CAMERINI; GALBIATI; MAFFIOLI, 1984 apud

HAMACHER; RUHE, 1994). Mesmo assim, algoritmos exatos são propostos pela literatura, a fim de resolver tais problemas. No caso da AGMO, diversos algoritmos exatos foram sugeridos, e serão estudados e analisados experimentalmente por esta pesquisa.

1.2

Objeto de estudo

Seja um grafo G(V, E), onde V é o conjunto de vértices, |V | = n, e E é o conjunto de arestas. Nas palavras de Goldbarg e Goldbarg (2012), uma árvore pode ser definida como um grafo conexo T em que existe um, e somente um, caminho entre qualquer par de vértices de T . Daí deriva-se que T deve ter apenas n − 1 arestas, e não pode possuir ciclo. Uma árvore geradora de G deve ser um subgrafo gerador conexo e acíclico (GOLDBARG; GOLDBARG, 2012). Nesse contexto, um importante resultado, chamado de Fórmula de Caley, diz que a quantidade de árvores geradoras distintas de um grafo é da ordem de nn−2 (CAYLEY, 1987 apud RAMOS et al., 1998).

Considere que o referido grafo G tenha suas arestas ponderadas por valores escalares. A Árvore Geradora Mínima (AGM) é a árvore geradora de menor custo, entre todas as árvores possíveis de G. O custo de uma árvore geradora é dado pela soma dos valores que ponderam as arestas da árvore. Este é um problema clássico da Otimização Combinatória, cuja aplicabilidade já foi mencionada na seção precedente. Diversos algoritmos podem ser encontrados na literatura a fim de solucionar tal problema. Como exemplo mais comum, cita-se os algoritmos de Prim (1957) e Kruskal (1956). O primeiro mantém um conjunto de vértices já adicionados na árvore, e, a cada passo, analisa a aresta de custo mínimo que possui uma extremidade incidente em tal conjunto e outra extremidade incidente fora dele; assim, ele adiciona na árvore o vértice da extremidade não incidente. O segundo, por sua vez, ordena as arestas segundo a ordem não decrescente dos pesos; a cada passo, o algoritmo escolhe a aresta de custo mínimo, que não forma ciclo na árvore parcial. Os algoritmos de Prim (1957) e Kruskal (1956), mesmo tratando a versão mono-objetivo do problema, são muito importantes para esta pesquisa, pois inspiraram diversos algoritmos aplicados à versão multiobjetivo.

(24)

É importante reforçar algumas características das árvores. Primeiro, se T é uma ár-vore e f uma aresta de T , então a remoção de f de T gera duas componentes conexas. Para provar esta afirmação, basta perceber que, caso contrário, existiria apenas uma com-ponente conexa em T − f , o que levaria a deduzir que, antes da remoção de f , havia pelo menos dois caminhos entre os dois vértices extremos de f : um pela própria aresta f , e outro caminho é aquele da componente conexa T − f . As duas componentes conexas de T − f definem um corte em G, ou seja, um conjunto de todas as arestas de G que possuem uma extremidade incidente em uma componente e outra extremidade incidente em outra componente. Ademais, no que se refere ao conceito de corte e de caminho em uma árvore mínima, Hamacher e Ruhe (1994) provam uma proposição importante inerente à AGM. Proposição 1 (Propriedades dos cortes e caminhos) Seja T uma árvore geradora eficiente, cujas arestas são ponderadas por uma função w. Então os seguintes resultados são assegurados :

i Não existe uma aresta f no único corte formado pela eliminação da aresta e de T tal que w(f ) ≤ w(e) e w(f ) 6= w(e).

ii Sejam f ∈ E\T e P (f ) o único caminho em T conectando as extremidades de f . Então, não pode haver e ∈ P (f ) tal que w(f ) ≤ w(e) e w(f ) 6= w(e).

Prova: (HAMACHER; RUHE, 1994)

A Proposição 1 é relativa à árvore geradora mínima (mono-objetivo), mas foi inten-samente inspiradora para diversos pesquisadores que trataram a versão multiobjetivo do problema. Optou-se, pois, por citá-la na introdução deste documento porque ela será referenciada várias vezes durante este texto, por exemplo, nas generalizações propostas por Alonso et al. (2009) e nos contextos dos algoritmos de Corley (1985) e de Sourd e Spanjaard (2008).

Finalmente, pode-se dizer que todo esse embasamento teórico relativo à versão mono-objetivo do problema terá fundamental importância para o entendimento dos capítulos seguintes, que discorrem sobre a versão multiobjetivo. Serão apresentadas a definição matemática da Árvore Geradora Multiobjetivo, sua classe de complexidade, a revisão da literatura, a análise de detalhada de todos os algoritmos exatos aplicados à versão biobjetivo do problema, e a apresentação dos resultados dos experimentos. Os algoritmos estudados serão aqueles propostos por Corley (1985), Pugliese, Guerriero e Santos (2015), Ramos et al. (1998), Steiner e Radzik (2003), Sourd e Spanjaard (2008), Alonso et al. (2009), Perny e Spanjaard (2005) e Galand, Perny e Spanjaard (2010a).

(25)

1.3

Objetivos

Este trabalho visa apresentar uma análise experimental comparativa do desempenho computacional dos algoritmos exatos propostos na literatura para resolver o problema da Árvore Geradora Biobjetivo. Consequentemente, também é objetivo deste trabalho clas-sificar tais algoritmos exatos de acordo com vários critérios de desempenho, sendo sub-metidos às mesmas condições computacionais (linguagem de programação, plataforma, sistema operacional e estruturas de dados). No campo teórico, os algoritmos serão separa-dos de acordo com os métosepara-dos de resolução utilizasepara-dos. Isso ajuda a melhor entender seus fundamentos teóricos, bem como a essência de cada método de resolução da AGMO.

1.4

Justificativa

A primeira indagação que pode surgir sobre a viabilidade desta pesquisa é acerca do uso dos algoritmos exatos, haja vista a NP-Dificuldade do problema tratado. Dada esta característica, será que vale a pena estudar algoritmos exatos? A resposta é sim. Conforme bem salientou Drumond (2012) “os algoritmos exatos servem como balizadores para procedimentos heurísticos”. Em outras palavras, a solução exata de um problema de otimização combinatória ajuda a verificar a qualidade das soluções de uma heurística desenvolvida para o mesmo problema. Hibridizações entre algoritmos exatos e heurísticos têm ganhado importante atenção dos pesquisadores na área, gerando algoritmos mais pro-missores (DRUMOND, 2012). Além disso, geralmente, é preferível utilizar implementações de algoritmos exatos até onde estas possam resolver o problema em tempo hábil.

Drumond (2012) também apresentou uma análise experimental para a Árvore Gera-dora Multiobjetivo. O presente trabalho se justifica por incrementar o trabalho de Dru-mond (2012), tratando aspectos importantíssimos que estão ausentes em sua obra. Como exemplo, cita-se o estudo dos algoritmos de Corley (1985) e Pugliese, Guerriero e San-tos (2015); a aplicabilidade da Programação Inteira ao problema da AG-Bi (LOKMAN; KöKSALAN, 2013); o comportamento dos algoritmos baseados em preferência de Perny e Spanjaard (2005), com relação de dominância de Pareto, ao gerar um superconjunto do Pareto ótimo; e, por fim, o contraponto entre os desempenhos das abordagens de Alonso et al. (2009) e Perny e Spanjaard (2005), quando a relação de preferência é a ordem lexicográfica.

(26)

de cada algoritmo (JOHNSON, 2002), sendo útil, por exemplo, num momento em que se precisa escolher algum destes métodos, por meio de uma análise custo-benefício.

1.5

Procedimentos metodológicos

Para atingir os objetivos dessa pesquisa, fez-se necessário estudar profundamente o problema tratado, suas características e complexidade, concomitantemente a uma revisão do estado da arte. A partir dessa revisão, foi possível conhecer todos os algoritmos exa-tos (e também heurísticos) que tratam a AGMO. Em seguida, fez-se necessário estudar cada algoritmo, bem como cada método exato que eles empregam. Procedeu-se a clas-sificação destes algoritmos exatos em duas grandes categorias: aqueles que geram todo o conjunto Pareto ótimo (ou a Fronteira de Pareto) e aqueles que se baseiam numa re-lação de preferência a fim de retornar as soluções ditas preferíveis. Todos os algoritmos foram implementados em linguagem C++, exceto o de Sourd e Spanjaard (2008), que foi gentilmente disponibilizado pelo autores em linguagem C#.

As instâncias testadas incluem grafos completos e grades. Os primeiros são classifica-dos em correlated, anti-correlated e concave, cuja quantidade de vértices varia entre 5 e 50; os segundos são apenas do tipo correlated e anti-correlated, possuindo entre 6 e 100 vértices. As instâncias de grafos completos ainda apresentam três exemplares para cada tamanho. A análise experimental foi inspirada principalmente pelo tempo computacional despendido pelos algoritmos para cada instância, mas nos casos em que os algoritmos baseados em preferência retornam um superconjunto de soluções eficientes, considerou-se também o tamanho deste. O desenvolvimento e os resultados desta pesquisa são apresen-tados no presente texto.

1.6

Organização do Trabalho

Este documento está organizado em 5 capítulos, 2 apêndices e 4 anexos. O Capí-tulo 2 apresenta a definição matemática geral dos problemas multiobjetivo, a definição da AGMO e sua instanciação biobjetivo, bem como uma revisão do estado da arte; o Capítulo 3 estuda em detalhes cada algoritmo exato e seus métodos utilizados; o Capí-tulo 4 apresenta os resultados dos experimentos computacionais; por fim, as considerações finais podem ser apreciadas no Capítulo 5. Há ainda os Apêndices A e B, que contêm, respectivamente, os gráficos das curvas de tempo dos algoritmos em função do

(27)

tama-nho das instâncias e as nuvens de pontos ilustrando alguns pontos do espaço objetivo. O Anexo A disserta sobre o Axioma da Independência, o Anexo B sobre as propriedades OptCU T (G) e OptP AT H(G), o Anexo C sobre a Integral de Choquet e, finalmente, o Anexo D apresenta a tabela de parâmetros utilizados para geração das instâncias.

(28)

2

O Problema da Árvore Geradora

Multiobjetivo

Este capítulo apresenta a definição matemática geral dos problemas de otimização multiobjetivo (Seção 2.1), a definição matemática do problema da Árvore Geradora Mul-tiobjetivo (AGMO) e sua instanciação biobjetivo (AG-Bi) (Seção 2.2), e, por fim, o estado da arte para o referido problema (Seção 2.3).

2.1

Otimização Combinatória Multiobjetivo

Knowles, Thiele e Zitzler (2006) definem um problema de otimização combinatória multiobjetivo P com m > 1 critérios como sendo uma quádrupla (X, Z, f, rel), onde X é o espaço de soluções viáveis (também chamado espaço de decisão), Z ⊆ <m é o espaço

objetivo, f : X → Z é uma função que atribui a cada solução ou decisão x ∈ X um vetor objetivo z = f (x) ∈ Z, e rel representa uma relação binária em Z, que define uma ordem parcial no espaço objetivo e induz uma pré-ordem no espaço decisão. O objetivo do problema é, portanto:

“otimizar” f (x) = (f1(x), ..., fm(x)) x ∈ X

onde cada fi(x), com i = 1, ..., m, é um componente do vetor objetivo z = f (x) ∈ Z de

dimensão m.

Visando facilitar o entendimento geral da definição, optou-se por utilizar aqui “otimi-zar” e não “minimi“otimi-zar”, como é utilizado em Knowles, Thiele e Zitzler (2006) e Drumond (2012). Embora os dois termos sejam constantemente pensados como sinônimos, em si-tuações do mundo real, a natureza do problema define como deve ser feita a otimização (minimizar ou maximizar, por exemplo). Neste contexto, percebe-se a importância da de-finição da relação rel. Tal relação tem o papel de classificar os pontos no espaço objetivo e, assim, caracterizar as soluções ditas ótimas.

(29)

soluções viáveis de X numa sequência, segundo a definição de rel (≤ ou ≥, por exemplo). A solução ótima seria aquela que ocupa a primeira posição da sequência. Todavia, no contexto multiobjetivo, esta ordenação é geralmente impossível de ser feita. Vê-se, assim, a necessidade de novas definições da relação que classifica uma solução (respectivamente, um vetor objetivo) como melhor que outra.

2.1.1

Dominância de Pareto

Para entender a definição de dominância de Pareto dada por Knowles, Thiele e Zitzler (2006), assuma que x, y ∈ X são duas soluções viáveis quaisquer, f : X → Z ⊆ <m, com

m > 1, é o vetor de dimensão m que é a imagem de x no espaço objetivo. Sejam , ≺ e ≺≺ relações binárias sobre Z e, sem perda de generalidade, sejam ≤ e < relações do caso m = 1.

Definição 1 (Dominância Fraca) Dizemos que o vetor objetivo f (y) é fracamente do-minado por f (x), denotado por f (x)  f (y), se, e somente se, ∀i ∈ {1, . . . , m}, fi(x) ≤

fi(y). Naturalmente, dizemos que a solução x domina fracamente y. Ou seja, isso ocorre

quando a primeira não é pior que a segunda para todos os objetivos.

Definição 2 (Dominância) Dizemos que o vetor objetivo f (y) é dominado por f (x), denotado por f (x) ≺ f (y), se, e somente se, ∀i ∈ {1, . . . , m}, fi(x) ≤ fi(y) e ∃i ∈

{1, . . . , m}, tal que, fi(x) < fi(y). Naturalmente, dizemos que a solução x domina y. Ou

seja, isso acontece quando a primeira não é pior que a segunda para todos os objetivos e é melhor em pelo menos um.

Definição 3 (Dominância Estrita) Dizemos que o vetor objetivo f (y) é estritamente dominado por f (x), denotado por f (x) ≺≺ f (y), se, e somente se, ∀i ∈ {1, . . . , m}, fi(x) <

fi(y). Naturalmente, dizemos que a solução x domina estritamente y. Ou seja, uma

so-lução x domina estritamente uma soso-lução y quando a primeira é melhor que a segunda para todos os objetivos.

Definição 4 (Incomparabilidade) Dizemos que f (x) e f (y) são incomparáveis se, e somente se, f (x) 6 f (y) e f (y) 6 f (x). Dize-se, pois, que x e y são incomparáveis.

Definição 5 (Indiferença) Dizemos que os vetores objetivo f (x) e f (y) são indiferentes, se, e somente se, ∀i ∈ {1, . . . , m}, fi(x) = fi(y). Naturalmente, dizemos que as soluções

(30)

Definição 6 (Conjunto Pareto Ótimo e Fronteira de Pareto) Sejam X∗ = {x ∈ X | ∀y ∈ X, y 6= x, x e y são incomparáveis } e f (X∗) = {f (x) ∈ Z | x ∈ X∗}. X∗ é

chamado conjunto Pareto Ótimo e f (X∗) é chamado Fronteira de Pareto.

Portanto, dados X, Z e f : X → Z, e dado rel como sendo a dominância de Pareto, um Problema de Otimização Multiobjetivo visa encontrar o conjunto X∗ ⊆ X de soluções eficientes tal que f (X∗) ⊆ Z seja o conjunto de vetores objetivo não dominados.

2.1.2

Soluções suportadas e não-suportadas

A Figura 1 (STEINER; RADZIK, 2003) ilustra, para um caso hipotético m = 2, o conjunto de vetores eficientes f (X∗), onde X∗ = {p1, p2, p3, p4, p5, p6, p7, p8}. Note que p9

é dominada por p5. Segundo Steiner e Radzik (2003), as soluções eficientes de X∗ podem

ser classificas em dois grupos: as suportadas (ou extremas) e suportadas (ou não-extremas). As primeiras correspondem àquelas que se encontram nos pontos extremos do fecho convexo da Figura 1 e que podem ser obtidas através da soma ponderada dos seus objetivos ({p1, . . . , p5}). As soluções não-suportadas não podem ser obtidas pela soma

ponderada de seus objetivos, e se encontram no interior de algum triângulo formado por duas soluções suportadas adjacentes ({p6, p7, p8}). A Seção 3.1.1 apresenta o método

geométrico (geralmente chamado de Busca Dicotômica) proposto por Hamacher e Ruhe (1994) para encontrar as soluções suportadas para problemas com 2 objetivos.

(31)

2.2

O Problema da Árvore Geradora Biobjetivo

Seja G(V, E) um grafo conexo e não direcionado e seja X o conjunto de todas as árvores geradoras de G. Seja w : E → Rm, m > 1, uma função que atribui a cada aresta

(i, j) ∈ E um vetor de pesos wij = (w1ij, . . . , wijm). Seja Z ⊆ <m o conjunto de vetores

objetivo e seja f : X → Z uma função que atribui a cada árvore T ∈ X um vetor de pesos no formato f (T ) = (f1(T ), . . . , fm(T )), onde, ∀q ∈ {1, ..., m}, tem-se:

fq(T ) = P (i,j)∈T

wijq(T )

Respeitando as definições da Subseção 2.1.1, uma árvore T∗ ∈ X é dita eficiente se, e somente se, 6 ∃ T0 ∈ X que a domine. O problema da AGMO visa, portanto, encontrar o conjunto de árvores eficientes X∗ ⊆ X, dito conjunto Pareto ótimo, com f (X∗) ⊆ Z,

chamada Fronteira de Pareto. No caso particular m = 2, explorado pelo presente trabalho, a AGMO é chamada de Árvore Geradora Biobjetivo (AG-Bi).

Aggarwal, Aneja e Nair (1982) efetuam uma redução polinomial do problema da mochila 0-1 à árvore geradora biobjetivo, mostrando assim que tal problema é NP-difícil. Além disso, ele é também intratável (HAMACHER; RUHE, 1994), ou seja, algoritmos exatos que se dispõem a encontrar o conjunto Pareto ótimo requerem um tempo muito alto de processamento para instâncias de tamanhos consideráveis.

2.3

O estado da arte

Existem basicamente duas abordagens principais para resolver o problema da AG-Bi: a exata e a heurística. Os algoritmos exatos são utilizados, na literatura, para pequenas instâncias, com no máximo 500 vértices (DRUMOND, 2012) e os trabalhos que exploram esta abordagem são: Corley (1985), Pugliese, Guerriero e Santos (2015), Ramos et al. (1998), Steiner e Radzik (2003), Sourd e Spanjaard (2008), Alonso et al. (2009), Perny e Spanjaard (2005) e Galand, Perny e Spanjaard (2010a). Os trabalhos baseados em heurís-ticas são: busca local de Hamacher e Ruhe (1994) e Davis-Moradkhan (2010); algoritmos evolucionários de Zhou e Gen (1999), Knowles e Corne (2000a, 2000b, 2001), Rocha, Gold-barg e GoldGold-barg (2006, 2007), Chen et al. (2007), Davis-Moradkhan, Browne e Grindrod (2009), Monteiro, Goldbarg e Goldbarg (2009, 2010) e Monteiro (2011); e o algoritmo GRASP de Arroyo, Vieira e Vianna (2008).

(32)

Ha-macher (2009) e Climaco e Pascoal (2011), mas os autores não conduziram análises expe-rimentais do algoritmos revisados. Drumond (2012) apresentou uma revisão bibliográfica parcial associada a uma análise experimental dos algoritmos aplicados a AG-Bi. Diz-se parcial, pois Drumond (2012) não abordou trabalhos anteriores a sua pesquisa como, por exemplo, os trabalhos de Corley (1985) e Alonso et al. (2009).

A seguir, as Subseções 2.3.1 e 2.3.2 dividem o estado da arte entre algoritmos exatos e heurísticos, respectivamente. Vale ressaltar que os algoritmos exatos, objeto de estudo desta pesquisa, serão explorados em detalhes no Capítulo 3.

2.3.1

Algoritmos Exatos

Visando encontrar todo o conjunto Pareto ótimo, Corley (1985) apresentou um método simples, de fácil compreensão e que se caracteriza por ser uma generalização do algoritmo de Prim (1957). Uma outra característica marcante deste método é que ele trabalha com a relação de dominância entre as arestas do grafo, construindo as soluções iterativamente. A cada iteração, apenas arestas não dominadas e que não formam ciclo são inseridas na solução parcial.

Pugliese, Guerriero e Santos (2015) propuseram um procedimento baseado em Progra-mação Dinâmica a fim de encontrar o conjunto Pareto ótimo para o problema da AGMO. Esta abordagem se assemelha com as ideias de Corley (1985), uma vez que, iterativamente, constrói todas as árvores do conjunto solução. Todavia, o critério de dominância não é avaliado para cada aresta, mas para cada subárvore (ou árvore parcial) obtida durante a execução do procedimento. É importante também salientar que os autores afirmaram que tal abordagem pode ser facilmente estendida para mais de dois objetivos, e além disso, pode ser usada para modelar e resolver outros problemas como a Árvore Geradora Mínima Mono-objetivo, a Árvore Geradora com Restrição de Grau Mínimo, a k-ésima Árvore Geradora Mínima, o Problema da Árvore de Steiner, dentre outros (PUGLIESE; GUERRIERO; SANTOS, 2015). Os demais métodos exatos, como se verá adiante, verificam a relação de dominância entre as árvores já formadas (e não entre arestas ou subárvores). Este fato se consubstancia como a principal diferença entre os trabalhos de Corley (1985), Pugliese, Guerriero e Santos (2015) e os demais.

Ramos et al. (1998) propuseram um algoritmo baseado no método duas fases para a árvore geradora biobjetivo, onde a primeira fase encontra as soluções suportadas (isto é, os pontos eficientes presentes nos vértices do fecho convexo do espeço objetivo) usando um método geométrico proposto por Hamacher e Ruhe (1994) chamado busca dicotômica; a

(33)

segunda fase utiliza o método construtivo branch-and-bound que se encarrega por vascu-lhar cada triângulo retângulo formado por duas soluções suportadas adjacentes a fim de encontrar as soluções chamadas de não-suportadas. Este método considera a existência de arestas com pesos iguais.

Steiner e Radzik (2003) também desenvolveram um método duas fases, onde a pri-meira fase é semelhante à pripri-meira fase proposta por Ramos et al. (1998), exceto pelo fato de que, a cada chamada recursiva, somente uma árvore é encontrada, desconsiderando a existência de árvores com pesos iguais. A principal diferença está na segunda fase: primei-ramente, para cada triângulo retângulo formado por duas soluções suportadas adjacentes, o algoritmo repondera as arestas do grafo consoante a fórmula geométrica de Hamacher e Ruhe (1994). Desta maneira, cada aresta possuirá agora um único peso. Posteriormente, é realizada a pesquisa das soluções não-suportadas começando pela hipotenusa do triângulo e seguindo em direção ao seu ângulo reto. Para realizar esta pesquisa, os autores imple-mentam um método k-best (GABOW, 1977), responsável por fornecer a k-ésima árvore geradora mínima mono-objetivo de um grafo. Steiner e Radzik (2003) mostraram que seu algoritmo apresenta melhor desempenho que o de Ramos et al. (1998), uma vez que evita visitar soluções não-eficientes durante o processo de busca.

Sourd e Spanjaard (2008) não se basearam no método duas fases, mas propuseram um algoritmo clássico branch-and-bound, onde o bound é realizado tomando como base um conjunto de pontos (hipersuperfície) e não somente um ponto ideal. Antes da execução do branch-and-bound propriamente dito, o grafo de entrada é submetido a várias etapas de pré-processamento, identificando arestas que podem ser desconsideradas pela busca, bem como aquelas que devem permanecer no grafo. Assim, o algoritmo consegue gerar a Fronteira de Pareto. Um importante lema provado pelos autores mostrou que, para o problema da Árvore Geradora Biobjetivo, embora o número de soluções não dominadas possa ser exponencial, o número de vetores objetivos distintos é polinomial da ordem de O(|E|2), onde |E| é a quantidade de arestas do grafo.

Os problemas clássicos da Otimização Combinatória Multiobjetivo apresentam, geral-mente, soluções avaliadas segundo funções aditivas de custos. Perny e Spanjaard (2005), porém, generalizaram tais problemas, como o da árvore geradora e o do caminho mais curto, onde relações binárias ditas quase-transitivas são definidas sobre o espaço solução. Tais relações determinam, pois, as soluções preferíveis. Eles definiram um framework ba-seado em preferência para a resolução de problemas multiobjetivo. Para a AGMO, Perny e Spanjaard (2005) conceberam dois algoritmos: o Krukelike, uma generalização do

(34)

al-goritmo do Kruskal (1956); e o Prim-like, que generaliza o Prim (1957). Estes alal-goritmos encontram o conjunto de soluções apenas se a relação de preferência especificada satisfaz o chamado axioma da independência, introduzido pelos autores.

Ainda no contexto baseado em preferência, Alonso et al. (2009) se inspiraram nas pro-priedades clássicas do corte e do ciclo, mencionadas por Hamacher e Ruhe (1994), a fim de definir suas respectivas generalizações denominadas OptCUT(G) e OptPATH(G). Am-bas são tratadas como conjuntos de árvores que atendem a tais propriedades. Invocando conceitos como o da transitividade negativa e da aditividade forte, os autores buscaram caracterizar as relações binárias que permitem encontrar suas soluções maximais unica-mente a partir das construções de tais conjuntos. Por fim, Alonso et al. (2009) escreveram dois algoritmos, optimalcutsetP e optimalcutsetK, respectivamente, adaptações do Prim (1957) e Kruskal (1956).

Galand, Perny e Spanjaard (2010a) adotaram como relação de preferência a chamada integral de Choquet, e apresentaram dois algoritmos, um segundo a abordagem ranking, e outro Branch-and-bound, ambos aplicados à AGMO. O objetivo é, pois, encontrar a árvore que minimiza uma função não utilitária de Choquet, chamada Choquet-ótima. Os autores também estudaram o problema do caminho Choquet-ótimo multiobjetivo.

Finalmente, e não menos importante, deve-se mencionar, no contexto da Otimização Multiobjetivo, o trabalho de Lokman e Köksalan (2013). Os autores propuseram dois algoritmos para resolução de qualquer problema (não somente o da árvore geradora) que possa ser modelado como um problema de Programação Inteira Multiobjetivo. A presente pesquisa estudou o trabalho de Lokman e Köksalan (2013), concebendo um modelo de Programação Inteira ao problema da AG-Bi, com a intenção de verificar o desempenho desta abordagem frente às demais.

2.3.2

Algoritmos Heurísticos

Hamacher e Ruhe (1994) propuseram um algoritmo duas fases para o problema da AGMO. A primeira calcula as soluções extremas (ou suportadas) utilizando um método geométrico elaborado pelos próprios autores (explicado em detalhes na Seção 3.1.1) e a segunda etapa utiliza busca local.

Na linha dos algoritmos evolucionários, vale mencionar o trabalho de Zhou e Gen (1999), o qual apresentou um Algoritmo Genético enumerativo para a AGMO, baseado nos Códigos de Prüfer e no Multiple Criteria Decision Making (MCDM). Knowles e Corne

(35)

(2002), porém, provaram que o Algoritmo Genético de Zhou e Gen (1999) não garantia encontrar todas as árvores do conjunto Pareto ótimo, tampouco que todas as árvores retornadas pertenciam realmente a tal conjunto.

Knowles e Corne (2000b) criaram um algoritmo memético chamado M-PAES, que utiliza a busca local multiobjetivo, baseado no algoritmo genético Pareto Archived Evo-lutionary Strategy (PAES), por sua vez, apresentado previamente por Knowles e Corne (2000a).

Knowles e Corne (2001) desenvolveram um outro algoritmo genético baseado no PAES, chamado Archived Elitist Steady-State Evolutionary Algorithm (AESSEA), desta vez apli-cado ao problema da AGMO restrita em grau. Tal restrição diz respeito ao grau máximo que um nó da árvore deve possuir. A população inicial é obtida com o método chamado Randomized Primal Method (RPM), uma versão randômica do algoritmo de Prim (1957) adaptado ao contexto multiobjetivo. Como codificação dos cromossomos, Knowles e Corne (2001) utilizaram a proposta de Raidl (2000).

Um novo algoritmo memético ao problema da AGMO foi sugerido por Rocha, Gold-barg e GoldGold-barg (2006), utilizando busca tabu para intensificar a busca. A codificação dos indivíduos da população se baseou na proposta de Raidl e Julstrom (2003). Rocha, Gold-barg e GoldGold-barg (2007), por sua vez, propuseram um algoritmo transgenético à AG-Bi, onde a população inicial é gerada pelos métodos rmc-Kruskal (uma versão randomizada multiobjetivo do algoritmo de Kruskal (1956)), proposto por Rocha, Goldbarg e Goldbarg (2006), e RandomWalk, desenvolvido por Raidl e Julstrom (2003). Este algoritmo trans-genético, onde os indivíduos da população são codificados segundo a codificação direta de Raidl (2000), utilizou dois transposons (ciclo e 2-troca). Rocha, Goldbarg e Goldbarg (2007) compararam os resultados do transgenético com os do memético publicado anteri-ormente pelos mesmos autores, mostrando que o transgenético obtive melhores resultados. Chen et al. (2007) conceberam um algoritmo genético baseado nos códigos de Prüfer, assim como Zhou e Gen (1999), e adotaram o mesmo procedimento de codificação e decodificação que este último. Chen et al. (2007), contudo, apresentaram um exemplo de falha do algoritmo de Zhou e Gen (1999). Ademais, os autores apresentaram uma correção ao gerador de instâncias de Knowles (2002), cuja formulação original poderia gerar instâncias anti-correlated com peso negativo.

Um algoritmo GRASP (Greedy Randomized Adaptive Search Procedure) foi proposto por Arroyo, Vieira e Vianna (2008) para árvores multiobjetivo. A cada iteração, utiliza-se um procedimento guloso randomizado e construtivo, de modo a encontrar uma solução.

(36)

Logo em seguida, à tal solução, é aplicada uma busca local, na tentativa de melhorá-la. O algoritmo utiliza a vizinha chamada drop-and-add e representa as árvores por códigos de Prüfer. Arroyo, Vieira e Vianna (2008) testaram o algoritmo para árvores com dois e três objetivos, com grafos completos de até 50 nós e não completos com até 30.

Monteiro, Goldbarg e Goldbarg (2009) propuseram uma modificação no algoritmo de Rocha, Goldbarg e Goldbarg (2007). A modificação reside nos vetores transgenéticos utilizados. O vetor transgenético empregado pra atuar sobre a população é um plasmí-deo escolhido de forma aleatória. Além disso, o transgenético de Monteiro, Goldbarg e Goldbarg (2009) não utiliza os transposons de Rocha, Goldbarg e Goldbarg (2007). Mon-teiro (2011) justificou esta decisão dizendo que testes computacionais mostraram que tais agentes não contribuíam de forma significativa para a qualidade do conjunto de apro-ximação gerado. “Além disso, os transposons eram os agentes de maior impacto para o tempo computacional do transgenético” (MONTEIRO, 2011). O novo agente proposto foi um plasmídeo, onde a cadeia de informação era baseada no método mc-Prim de Kno-wles (2002). Monteiro, Goldbarg e Goldbarg (2010), ainda na abordagem transgenética aplicada à AG-Bi, desenvolveram uma nova estratégia dos vetores transgenéticos, onde os agentes que atuam sobre a população eram baseados em níveis de probabilidade (cujos valores são ajustados a cada iteração do algoritmo).

Davis-Moradkhan (2010) propôs um algoritmo chamado de Extreme Point Determi-nistic Algorithm (EPDA), baseado em busca local, capaz, segundo a autora, de encontrar completamente a Fronteira de Pareto (compreendendo pontos extremos e não-extremos). Neste trabalho, a autora destacou tal característica como uma das principais vantagens do EPDA frente aos demais trabalhos.

(37)

3

Algoritmos exatos aplicados ao

problema da AGMO

Uma classificação dos algoritmos exatos é encontrada na Tabela 1. A Seção 3.1 trata da descrição dos métodos, a Seção 3.2 explora em detalhes cada algoritmo que gera um conjunto de soluções eficientes, a Seção 3.3 trata dos algoritmos baseados em preferência, e finalmente a Seção 3.4 aborda a programação inteira aplicada ao problema da AGMO.

Tabela 1: Classificação dos algoritmos exatos aplicados à AGMO

Algoritmo N

o de

Objetivos Tipo do Problema

Método de Solução Corley (1985) m ≥ 2 Encontrar o conjunto Pareto ótimo Generalização

de Prim (1957) Pugliese, Guerriero e Santos (2015) m ≥ 2 Encontrar o conjunto Pareto ótimo Programação dinâmica

Ramos et al. (1998) m = 2 Encontrar o conjunto Pareto ótimo Duas-fases e Branch- and-Bound Steiner e Radzik (2003) m = 2 Encontrar o conjunto Pareto ótimo Duas-fases e

k-best Sourd e Spanjaard (2008) m = 2 Encontrar a Fronteira de Pareto Branch-and-Bound Perny e Spanjaard (2005) m ≥ 2 Baseado em preferência Kruskal com

relação de preferência Perny e Spanjaard (2005) m ≥ 2 Baseado em preferência Prim com

relação de preferência Alonso et al. (2009) m ≥ 2 Baseado em preferência Kruskal para

construir o OptCUT(G) Alonso et al. (2009) m ≥ 2 Baseado em preferência Prim para

construir o OptCUT(G) Galand, Perny e Spanjaard (2010a) m ≥ 2 Baseado em preferência Ranking com

integral de Choquet Galand, Perny e Spanjaard (2010a) m ≥ 2 Baseado em preferência Branch-and-Bound com

integral de Choquet Lokman e Köksalan (2013) m ≥ 2 Encontrar o conjunto

(38)

3.1

Descrição geral dos métodos

Antes de explorar em detalhes os algoritmos listados na Tabela 1, disserta-se bre-vemente sobre os métodos de resolução adotados por cada um deles, abordando suas características gerais e seu funcionamento. O objetivo é, pois, ter uma visão geral sobre cada método, com o propósito de melhor entender os algoritmos.

3.1.1

Método geométrico de Hamacher e Ruhe (1994)

Hamacher e Ruhe (1994) discorreram acerca de uma propriedade importante, defini-dora do conjunto das soluções extremas. Seja G(V, E) um grafo conexo e não direcionado, onde cada aresta é ponderada com um vetor bidimensional de custos. Sejam T1 e T2 duas

soluções suportadas cujos pontos correspondentes são, respectivamente, (x1, y1) e (x2, y2).

Sejam ainda α = |y2− y1| e β = |x2− x1|. Então a árvore T , de custo (x, y), que minimiza

(αx + βy), é também uma solução suportada (HAMACHER; RUHE, 1994).

Esta propriedade garante que, dadas duas soluções suportadas T1 e T2, pode-se

encon-trar uma terceira solução suportada T , apenas resolvendo o problema da árvore geradora mínima do grafo que possui cada aresta i ponderada como (αxi+βyi). Ramos et al. (1998)

e Steiner e Radzik (2003) utilizam tal método geométrico a fim de encontrar as soluções suportadas.

3.1.2

Programação Dinâmica

Brassard e Bratley (1998) explicam que a ideia da programação dinâmica é bem simples: evitar fazer o mesmo cálculo (com os mesmos parâmetros e gerando, consequen-temente, o mesmo resultado) duas vezes. Resultados de computações precedentes podem ser guardados em estruturas de dados adequadas (como uma tabela ou uma lista sequen-cial), de modo a serem utilizados em ocasiões posteriores, excluindo a possibilidade de refazer tais computações. Tal estrutura será preenchida progressivamente, a medida que partes do problema vão sendo resolvidas. Quando um passo precisa de algum resultado, verifica-se se este encontra-se na referida estrutura. Se sim, não há necessidade de calculá-lo novamente. Assim, ganha-se tempo e melhora-se o desempenho do algoritmo. Brassard e Bratley (1998) ainda afirmam que a programação dinâmica é uma técnica bottom-up,

(39)

pois inicia resolvendo partes pequenas e simples do problema, combinando-as de alguma forma a fim de gerar a solução total. Neste sentido, o algoritmo de Pugliese, Guerriero e Santos (2015), por exemplo, construirá as árvores eficientes totais (com todos os vérti-ces) após construir progressivamente subárvores com uma quantidade menor de vértices, valendo-se, sempre, dos resultados obtidos pelas subárvores construídas nas iterações pre-cedentes. O método de Pugliese, Guerriero e Santos (2015) será detalhando na Subseção 3.2.2.

3.1.3

k-best

O objetivo de um algoritmo k-best é encontrar a k-ésima melhor solução do problema em questão. No contexto da AGM, consiste em encontrar a árvore que possui o k-ésimo menor custo. Este problema comumente pressupõe uma enumeração implícita das k me-lhores soluções em ordem não decrescente de custo. O problema de gerar a k-ésima melhor árvore é bem estudado pelos pesquisadores, e eficientes algoritmos foram propostos por Gabow (1977) e Katoh, Ibaraki e Mine (1981). Estes, por sua vez, trabalham de modo similar: inicialmente, encontram a árvore geradora mínima e, então, a cada passo, pro-movem a troca de uma aresta que está na árvore com outra que não está na árvore, de maneira que o custo da árvore seja incrementado o mínimo possível.

Um outro trabalho nesse contexto é o de Sörensen e Janssens (2005), cujo objetivo principal é construir todas as árvore geradoras de um grafo em ordem crescente de custo. Portanto, o algoritmo de Sörensen e Janssens (2005), originalmente, não se propõe a en-contrar somente a k-ésima árvore de melhor custo, mas pode ser perfeitamente adaptado pra isso. Dado um grafo G(V, E), o algoritmo mantém uma lista de estruturas, chamada de List, capaz de guardar partições de E. Partições são adicionadas a List a cada itera-ção. Cada P ∈ List possui uma lista de arestas obrigatórias e proibidas que, no ato da construção de uma árvore geradora de P , devem, respectivamente, estar presentes ou ser excluídas da árvore. P pode possuir arestas opcionais, que não são nem obrigatórias nem proibidas, cuja união com estes dois conjuntos deve resultar em E.

O algoritmo de Sörensen e Janssens (2005) começa calculando a árvore geradora mí-nima de G, considerando-a como uma partição em que todas as arestas são opcionais, e a insere em List. A cada iteração, o algoritmo toma a partição Ps ∈ List cuja árvore

geradora correspondente possui o menor custo, e escreve esta árvore na lista de saída. Em seguida, novas partições são geradas sobre as arestas de Ps. Sejam P1 e P2 duas cópias

(40)

como excluída em P1 e obrigatória em P2. Assim, caso seja possível construir uma árvore

geradora a partir de P1, então guarda-se uma cópia de P1 em List. Em seguida, e se torna

obrigatória em P1, copiando P2 em P1. A iteração prossegue até que todas as arestas

opcionais de Ps sejam examinadas. Depois disso, Ps é removida de List. O procedimento

para quando List for vazio.

3.1.4

Branch-and-Bound

Segundo Brassard e Bratley (1998), o Branch-and-Bound é uma técnica para explo-ração de um grafo implícito e direcionado, geralmente acíclico e em formato de árvore. O objetivo é encontrar a solução ótima de algum problema. Para tanto, é realizada uma enumeração implícita das possíveis soluções ótimas, onde cada uma destas está presente em um nó da árvore de busca. Tal enumeração é feita particionando o espaço de busca, na fase chamada Branch, a cada nó, gerando nós descendentes. Ademais, a cada nó η são estimados limites para os valores das possíveis soluções descendentes de η: se tais limites mostram que qualquer solução descendente é pior que a melhor solução já encontrada, en-tão o galho descendente de η é podado e a busca não prossegue a partir dele (BRASSARD; BRATLEY, 1998).

3.1.5

Relação de preferência

Nas palavras de Galand, Perny e Spanjaard (2010b), o conjunto eficiente de Pareto possui muitas soluções irrelevantes para o tomador de decisão. Além disso, conforme cresce o tamanho das instâncias (HAMACHER; RUHE, 1994) e o número de critérios (ROSINGER, 1991 apud GALAND; PERNY; SPANJAARD, 2010b), tal conjunto pode adquirir dimensão exponencial. Por esse motivo, embora o Pareto seja largamente utilizado, diversos autores propõem outras relações de preferência mais gerais (fornecidas, geralmente, pelo tomador de decisão). Tal abordagem é chamada modelo baseado em preferência e, quando dispo-nível, é mais vantajoso focar a busca diretamente na solução mais preferível, ao invés de gerar todo o conjunto de Pareto (GALAND; PERNY; SPANJAARD, 2010b). O presente trabalho estudará algoritmos de ambas as abordagens.

Segundo Perny e Spanjaard (2005), um problema de grafos Π baseado em preferência é definido como sendo uma quádrupla (I , S , , objetivo), onde I denota o conjunto de instâncias de Π; ∀I ∈ I , diz-se que G(V (I), E(I)) é um grafo onde V (I) denota o conjunto de vértices, E(I) denota o conjunto de arestas eP(E(I)) é o conjunto das partes

(41)

de E(I). Assim, diz-se S (I) ⊆ P(E(I)) ser o conjunto de soluções viáveis ou conjunto de saída de I;  (I) uma relação de preferência definida sobre P(E(I)); e o objetivo é determinar o conjunto total de soluções viáveis maximais definidas por M (S (I),  (I)) (PERNY; SPANJAARD, 2005).

3.1.6

Programação Inteira

Segundo Goldbarg e Luna (2005), os principais modelos da Pesquisa Operacional de Programação Matemática, consagrada graças à sua grande utilidade na solução de problemas de otimização. Em várias situações, porém, as variáveis de decisão não podem assumir valores contínuos. Neste caso, diz-se tratar-se de um modelo de Programação Inteira, comum em modelagem que lida com pessoas, configurações, objetos físicos e etc (GOLDBARG; LUNA, 2005).

Também no ramo da Programação Inteira, é possível, formalmente, distinguir suas versões mono e multiobjetivo. Neste último caso, baseando-se na formalização de Lokman e Köksalan (2013), apresenta-se a Definição 7.

Definição 7 (Problema de Programação Inteira Multiobjetivo) Um problema P dito de Programação Inteira Multiobjetivo é definido como:

“otimizar” {z1(x), z2(x), ..., zp(x)}

sujeito a: x ∈ X onde:

zi(x) é a i-ésima função objetivo

x é um vetor de decisão

cada variável de decisão xj deve ser inteira

X é o espaço solução

p é o número de funções objetivo.

Sobre a Definição 7 é possível aplicar os conceitos de dominância de Pareto, a fim de classificar as soluções eficientes.

Na interpretação de Ehrgott e Gandibleux (2000), de maneira geral, problemas de oti-mização combinatória podem ser considerados casos particulares de Programação Inteira. A ideia é, pois, conceber ao problema da AGMO um modelo de Programação Inteira e tentar resolvê-lo de modo a encontrar o conjunto Pareto ótimo.

(42)

3.2

Algoritmos para encontrar todo o conjunto Pareto

Ótimo

Esta seção estuda em detalhes os algoritmos exatos que geram ou todo o conjunto Pareto ótimo, ou toda a Fronteira de Pareto. Serão apresentadas características gerais e particulares de cada um deles, bem como seus respectivos pseudocódigos.

3.2.1

Algoritmo de Corley (1985)

O Algoritmo 1 descreve o procedimento original proposto por Corley (1985). O mesmo recebe como entrada um grafo G(V, E), com |V | = n e onde cada aresta é ponderada por um vetor de pesos cpq ∈ <m. Considere Vr(s) e Er(s), respectivamente, o conjunto de

vértices e arestas que formam a s-ésima subárvore (também chamada de árvore parcial) da r-ésima iteração, com s <= mr, onde mr é a quantidade de subárvores corrente.

O procedimento começa com uma subárvore de apenas um vértice v1 e sem nenhuma

aresta. Então, o Passo 2 determina, a partir da propriedade vmin, o conjunto Wr(k) de

vetores ditos não dominados, onde na primeira iteração r = 1 e k = 1 = m1.

Dada uma árvore parcial Tk

r = (Vr(k), Er(k)), ∀k ∈ {1, ..., mr}, a propriedade vmin

considera apenas o conjunto de arestas incomparáveis entre si que possuem uma ex-tremidade em Vr(k) e outra extremidade fora de Vr(k). Formalmente, seja Cr(k) =

{cij : vi ∈ Vr(k); vj 6∈ Vr(k); (vi, vj) ∈ E}. Então, vmin Cr(k) = {a ∈ Cr(k) :

6 ∃ b ∈ Cr(k) que domina a} .

Em cada iteração r, o Passo 5 é responsável por varrer conjunto Wr(s) de cada

subár-vore Ts

r, s <= mr. Para cada peso cpq ∈ Wr(s), toma-se a aresta (vp, vq) correspondente

e cria-se uma nova árvore parcial tal que seu conjunto de vértices seja Vr(s) ∪ {vq} e o de

arestas seja Er(s)∪{(vp, vq)}. Assim, cada subárvore Trsgerará até |Wr(s)| subárvores, que

serão exploradas na iteração r + 1. Então, a cada iteração r, o algoritmo precisa manter um conjunto de árvores parciais, tendo mr como cardinalidade. O Passo 6 se encarrega de

verificar se a nova subárvore formada já não pertence ao conjunto. Ao final, mn árvores

(43)

Algoritmo 1: Algoritmo de Corley (1985) Entrada: Grafo G(V,E)

Saída: Conjunto Pareto ótimo {Tk = (V, En(k)) | k = 1, ..., mn} 1 V1(1) = {v1}; E1(1) = ∅; r = 1; m1 = 1; m2 = ... = mn = 0; 2 Wr(k) = vmin{cij : vi ∈ Vr(k); vj 6∈ Vr(k); (vi, vj) ∈ E} ∀k ∈ {1, ..., mr} ; 3 s = 1 ; 4 Se (s = mr+ 1) ir para o P asso 9; 5 Escolha cpq ∈ Wr(s) Wr(s) = Wr(s)\{cpq}; mr+1 = mr+1+ 1; Vr+1(mr+1) = Vr(s) ∪ {vq}; Er+1(mr+1) = Er(s) ∪ {(vp, vq)}; 6 Se (mr+1 = 1) ir para o P asso 7; Se ((Vr+1(mr+1), Er+1(mr+1)) = (Vr+1(k), Er+1(k)) para algum k ∈ {1, ..., mr+1− 1}) mr+1 = mr+1− 1 ; 7 Se (Wr(s) 6= ∅) ir para o P asso 5; 8 s = s + 1. Ir para o passo 4; 9 r = r + 1 Se (r < n) ir para o P asso 2 Senão F IM

Corley (1985) desenvolve um algoritmo simples, de fácil compreensão e que se con-substancia como uma generalização do trabalho de Prim (1957). Particularmente, para o caso m = 1 o procedimento do Algoritmo 1 se reduz ao procedimento de Prim (1957) (CORLEY, 1985). Em tal caso, para cada r, o conjunto Wr(k) possuiria apenas um

ele-mento, a saber, a aresta de menor peso; além disso, mr seria sempre igual a 1 e, ao final,

apenas uma árvore seria retornada.

Tabela 2: Exemplo de Hamacher e Ruhe (1994) para refutar a suficiência da Proposição 1 aplicada ao caso multiobjetivo

Aresta ei e1 = (1, 2) e2 = (1, 4) e3 = (1, 3) e4 = (2, 3) e5 = (3, 4) e6 = (2, 4)

w1(ei) 32 16 8 4 2 1

w2(ei) 1 2 3 4 5 6

Infelizmente, o método de Corley (1985), tal como descrito pelo Algoritmo 1, pode retornar um conjunto que possui árvores dominadas. Segundo Hamacher e Ruhe (1994), isso acontece porque Corley (1985) utiliza a inversa da Proposição 1, generalizando-a para a versão multiobjetivo. Porém as condições (i) e (ii) são necessárias mas não suficientes

(44)

para obter uma árvore ótima multiobjetivo. Por exemplo, observe a Tabela 2. A árvore formada pelas arestas e1, e3 e e5 atende às condições (i) e (ii) da Proposição 1, mas é

do-minada pela árvore formada pelas arestas e2, e3, e4 (HAMACHER; RUHE, 1994). Hamacher

e Ruhe (1994) resolvem tal problema adicionando um teste de dominância no Passo 6. Ou seja, uma nova árvore Trs será considerada para a iteração r + 1 somente se a mesma não for dominada por nenhuma outra já presente. E caso Trs seja considerada, deve-se excluir qualquer árvore eventualmente dominada por ela. O presente trabalho implementou o Algoritmo 1 corrigido por Hamacher e Ruhe (1994).

3.2.2

Algoritmo de Pugliese, Guerriero e Santos (2015)

Pugliese, Guerriero e Santos (2015) conceberam uma formulação matemática para o problema clássico da árvore geradora mínima (mono-objetivo). A estrutura da árvore geradora é modelada segundo um esquema de estados e transações, definindo o que os autores chamaram de espaço-estado. Várias proposições foram mostradas e provadas, a fim de se definir um processo para determinar as árvores ótimas. Em seguida, tais proposi-ções foram generalizadas para o caso multiobjetivo, concebendo assim um procedimento, detalhado no Algoritmo 2, baseado em Programação Dinâmica (DP), para encontrar o conjunto ótimo de Pareto.

Dado um grafo G(V, E), com |V | = n, seja Xq(h) = {ir : r = 1, ..., q, q ≤ n} um

subconjunto de V com q vértices. O índice h significa que podem haver outros subconjuntos com q vértices. Define-se uma subárvore sTq(h) como sendo um grafo conexo formado

com os vértices de Xq(h) e com as arestas do conjunto Eq(h), onde |Eq(h)| = |Xq(h)| − 1.

Cada subárvore sTq(h) é associada a um estado Sq(h) = (Xq(h), Eq(h)). Diz-se que existe uma

transição do estado Sq(h) para o estado Sq(k) apenas se for possível construir uma árvore

sTq(k), a partir de sTq(h), somente pela adição de uma única aresta em Eq(h). Os autores

mostram que, se γ = (Sq(h), Sq(k)) é uma transição entre dois estados quaisquer, então

Referências

Documentos relacionados

Milton Santos (2015) lembra que o processo de centralidade e periferia promove desigualdades e aprisiona os territórios nesse clico de dependência do interesse do capital. AS

Os valores referentes à economia de energia elétrica devido à aplicação das medidas de eficiência energética são calculados pela diferença entre as cargas térmicas,

The present work shows the occurrence of an intense predatory activity on adults working Meliponinae bees (Hymenoptera, Apidae), by Apiomerus pilipes (Fabricius, 1787)

28 RESUMO Objetivando avaliar o efeito da inclusão de probióticos associados a enzimas na ração de suínos dos 24 aos 129 dias de idade sobre o desempenho, morfometria intestinal

E se, como no caso de Machado de Assis, esse tradutor não nos deixa nada, ou quase nada, do seu pensamento sobre a prática tradutória em ensaios, ou textos de qualquer outro gênero,

A Lei Complementar Estadual nº 462, de 02 de janeiro de 2012 (Anexo B), criou o estágio para estudantes de pós-graduação, denominado “MP Residência”, visando ao aprendizado de

mesonoto esparsamente umbilicado, tal que lobo mediano com cerca de 12 umbílicos na linha transversal-média (Fig. 11); mesoscuto levemente convexo (como na figura 12);