Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra
Departamento de Informática e Matemática AplicadaBacharelado em Ciência da Computação
Análise Experimental dos Algoritmos ExatosAplicados ao Problema da Árvore Geradora
Multiobjetivo
Islame Felipe da Costa Fernandes
Natal-RN
Dezembro de 2016
Islame Felipe da Costa Fernandes
Análise Experimental dos Algoritmos Exatos Aplicadosao Problema da Árvore Geradora Multiobjetivo
Monografia de Graduação apresentada aoDepartamento de Informática e MatemáticaAplicada do Centro de Ciências Exatas e daTerra da Universidade Federal do Rio Grandedo Norte como requisito parcial para a ob-tenção do grau de bacharel em Ciência daComputação.
Orientadora
Profa. Dra. Elizabeth Ferreira Gouvêa Goldbarg
Universidade Federal do Rio Grande do Norte – UFRNDepartamento de Informática e Matemática Aplicada – DIMAp
Natal-RN
Dezembro de 2016
Catalogação da Publicação na Fonte Universidade Federal do Rio Grande do Norte - Sistema de
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
Monografia de Graduação sob o título Análise Experimental dos Algoritmos Exatos Apli-
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 GoldbargOrientadora
Departamento de Informática e Matemática Aplicada (DIMAp)Universidade Federal do Rio Grande do Norte (UFRN)
Prof. Dr. Marco Cesar GoldbargDepartamento de Informática e Matemática Aplicada (DIMAp)
Universidade Federal do Rio Grande do Norte (UFRN)
Profa. Dra. Silvia Maria Diniz Monteiro MaiaDepartamento de Informática e Matemática Aplicada (DIMAp)
Universidade Federal do Rio Grande do Norte (UFRN)
Natal-RN
Dezembro de 2016
A José Carlos Fernandes e Marinalva Fernandes
Agradecimentos
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.
“Eu quero uma licença de dormir,
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)
Análise Experimental dos Algoritmos Exatos Aplicadosao 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.
Palavras-chave: Árvore Geradora, Problemas Multiobjetivo, Algoritmos Exatos.
Experimental Analysis of Exact Algorithms Applied tothe 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.
Keywords : Spanning Tree, Multi-objective Problems, Exact Algorithms.
Lista de figuras
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 COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 80
7 Fronteira de Pareto e superconjunto da instância 7.1 anti-correlated do
conjunto COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81
8 Fronteira de Pareto e superconjunto da instância 7.1 concave do conjunto
COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 81
9 Curva do tempo em função do tamanho das instâncias correlated do
conjunto COMPL 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 COMPL 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 COMPL para os algoritmos que geram um conjunto 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
conjunto GRID para os algoritmos que geram um conjunto de soluções p. 92
15 Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e
OPTKL em função do tamanho das instâncias concave do conjunto
COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 94
16 Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e
OPTKL em função do tamanho das instâncias correlated do conjunto
COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 95
17 Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e
OPTKL em função do tamanho das instâncias anti-correlated do con-
junto COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 95
18 Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e
OPTKL em função do tamanho das instâncias correlated do conjunto
GRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 98
19 Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e
OPTKL 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 COMPL 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 COMPL 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 COMPL . . . . . . . . p. 107
23 Curvas do tempo despendido pelos algoritmos SR e SS em função do
tamanho das instâncias anti-correlated do conjunto COMPL . . . . . . p. 107
24 Curvas do tempo despendido pelos algoritmos SR e SS em função do
tamanho das instâncias concave do conjunto COMPL . . . . . . . . . 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
tamanho das instâncias anti-correlated do conjunto GRID . . . . . . . p. 109
27 Comparação entre as curvas de crescimento do tempo entre as instâncias
do conjunto COMPL e GRID para o algoritmo SR . . . . . . . . . . p. 109
28 Comparação entre as curvas de crescimento do tempo entre as instâncias
do conjunto COMPL e GRID para o algoritmo SS . . . . . . . . . . . p. 110
29 Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB
em função do tamanho das instâncias concave do conjunto COMPL . p. 110
30 Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB
em função do tamanho das instâncias correlated do conjunto COMPL p. 111
31 Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB
em função do tamanho das instâncias anti-correlated do conjunto COMPLp. 111
32 Curvas do tempo despendido pelos algoritmos PLU , 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 PLU , 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 COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 113
35 Fronteira de Pareto e superconjunto da instância 12.2 concave do con-
junto COMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 114
36 Fronteira de Pareto da instância 12.2 concave do conjunto COMPL . . p. 114
37 Fronteira de Pareto e superconjunto da instância 12 anti-correlated do
conjunto GRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 115
Lista de tabelas
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, PLS
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, PLS
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, PLS
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 PLS e KLS para instâncias COMPL 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 , PGL, LMKS
aplicados às instâncias COMPL de 5 a 25 vértices . . . . . . . . . . . . p. 83
9 Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, PLS 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 PLS 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
instâncias GRID de 60 a 100 vértices . . . . . . . . . . . . . . . . . . . p. 89
12 Tempo despendido, em segundos, pelos algoritmos CLY , PGL e LMKS
aplicados às instâncias GRID . . . . . . . . . . . . . . . . . . . . . . . p. 90
13 Tempo despendido, em segundos, pelos algoritmos PLL, KLL, OPTPL
e OPTKL aplicados às instâncias do conjunto COMPL . . . . . . . . . p. 93
14 Tempo despendido, em segundos, pelos algoritmos PLU , KLU , CR e
CBB aplicados às instâncias do conjunto COMPL . . . . . . . . . . . . p. 96
15 Tempo despendido, em segundos, pelos algoritmos PLL, KLL, OPTPL
e OPTKL aplicados às instâncias GRID . . . . . . . . . . . . . . . . . p. 97
16 Tempo despendido, em segundos, pelos algoritmos PLU , KLU , CR e
CBB aplicados às instâncias GRID . . . . . . . . . . . . . . . . . . . . p. 99
17 Parâmetros utilizados para geração das instâncias COMPL (DRUMOND,
2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 123
Lista de abreviaturas e siglas
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
KLL – Kruskal-like com ordem lexicográfica
OPTPL – optimalcutsetP de Alonso et al. (2009) com ordem lexicográfica
OPTKL – optimalcutsetK de Alonso et al. (2009) com ordem lexicográfica
CR – Algoritmo Ranking de Galand, Perny e Spanjaard (2010a)
CBB – Algoritmo Branch-and-Bound de Galand, Perny e Spanjaard (2010a)
Lista de Algoritmos
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
Sumário
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
3.1.4 Branch-and-Bound . . . . . . . . . . . . . . . . . . . . . . . . . p. 38
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
5 Considerações finais p. 101
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 (DRU-
MOND, 2012) p. 123
19
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.
20
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 Teoria 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
21
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.
22
É 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).
23
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étodos de resolução utilizados. 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.
Esta obra poderá contribuir para o entendimento da teoria e dos pontos fortes e fracos
24
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 tama-
25
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
OptCUT (G) e OptPATH(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.
26
2 O Problema da Árvore GeradoraMultiobjetivo
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 ∈ Xonde 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 “minimizar”, 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.
Como observa Monteiro (2011), na otimização mono-objetivo é possível ordenar as
27
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, comm > 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 soluçã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
x e y são indiferentes.
28
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 não-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.
Figura 1: Soluções eficientes suportadas e não-suportadas (STEINER; RADZIK, 2003)
29
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, . . . , w
mij ). 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 ) =∑
(i,j)∈Twqij(T )
Respeitando as definições da Subseção 2.1.1, uma árvore T ∗ ∈ X é dita eficiente se,
e somente se, 6 ∃ T ′ ∈ 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 particularm = 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 Goldbarg (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).
Revisões bibliográficas do problema da AGMO foram apresentadas por Ruzika e Ha-
30
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
31
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 à primeira 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 Krukeal-like, uma generalização do al-
32
goritmo do Kruskal (1956); e o Prim-like, que generaliza o Prim (1957). Estes algoritmos
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
33
(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 Goldbarg (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 Goldbarg (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.
34
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.
35
3 Algoritmos exatos aplicados aoproblema 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
AlgoritmoNo de
ObjetivosTipo do Problema
Método de
Solução
Corley (1985) m ≥ 2 Encontrar o conjunto Pareto ótimoGeneralizaçã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 ótimoDuas-fases e
Branch- and-Bound
Steiner e Radzik (2003) m = 2 Encontrar o conjunto Pareto ótimoDuas-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ênciaKruskal com
relação de preferência
Perny e Spanjaard (2005) m ≥ 2 Baseado em preferênciaPrim com
relação de preferência
Alonso et al. (2009) m ≥ 2 Baseado em preferênciaKruskal para
construir o OptCUT(G)
Alonso et al. (2009) m ≥ 2 Baseado em preferênciaPrim para
construir o OptCUT(G)
Galand, Perny e Spanjaard (2010a) m ≥ 2 Baseado em preferênciaRanking com
integral de Choquet
Galand, Perny e Spanjaard (2010a) m ≥ 2 Baseado em preferênciaBranch-and-Bound com
integral de Choquet
Lokman e Köksalan (2013) m ≥ 2Encontrar o conjunto
de pontos não dominadosProgramação Inteira
36
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,
37
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
de Ps. Todas as arestas opcionais e de Ps são examinadas. A cada passo, e é marcada
38
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 e P(E(I)) é o conjunto das partes
39
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 ∈ Xonde:
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.
40
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 T kr = (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 T sr , 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 T sr gerará até |Wr(s)| subárvores, queserã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
serão retornadas.
41
Algoritmo 1: Algoritmo de Corley (1985)Entrada: Grafo G(V,E)
Saída: Conjunto Pareto ótimo Tk = (V,En(k)) | k = 1, ...,mn1 V1(1) = v1; E1(1) = ∅; r = 1; m1 = 1; m2 = ... = mn = 0;
2 Wr(k) = vmincij : vi ∈ Vr(k); vj 6∈ Vr(k); (vi, vj) ∈ E ∀k ∈ 1, ...,mr ;3 s = 1 ;
4 Se (s = mr + 1) ir para o Passo 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 Passo 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 Passo 5;
8 s = s+ 1. Ir para o passo 4;
9 r = r + 1
Se (r < n) ir para o Passo 2
Senão FIM
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 1aplicada 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
42
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 T sr será considerada para a iteração r+ 1 somente se a mesma não
for dominada por nenhuma outra já presente. E caso T sr 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 X(h)q = 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 sT (h)q como sendo um grafo conexo formado
com os vértices de X(h)q e com as arestas do conjunto E
(h)q , onde |E(h)
q | = |X(h)q | − 1.
Cada subárvore sT (h)q é associada a um estado S(h)
q = (X(h)q , E
(h)q ). Diz-se que existe uma
transição do estado S(h)q para o estado S(k)
q apenas se for possível construir uma árvore
sT(k)q , a partir de sT (h)
q , somente pela adição de uma única aresta em E(h)q . Os autores
mostram que, se γ = (S(h)q , S
(k)q ) é uma transição entre dois estados quaisquer, então
|S(k)q | > |S
(h)q |.
43
Algoritmo 2: Algoritmo DP de Pugliese, Guerriero e Santos (2015)Entrada: Grafo G(V,E)
Saída: Conjunto Pareto ótimo
1 X11 = 1; S1
1 = (1, ∅); L1 = S11;
2 para q = 1, ..., n− 1 faça
3 para todo S(h)q ∈ Lq faça
4 para todo i ∈ X(h)q faça
5 para todo (i, j) ∈ E : i ∈ X(h)q AND j 6∈ X(h)
q faça
6 Xq+1 = X(h)q ∪ j;
7 Sq+1 = (Xq+1, Ehq ∪ (i, j));
8 se sT q+1 não é dominada por qualquer equivalente sT (k)q+1 ∈ Lq+1
então
9 Adicione sT q+1 em Lq+1;
10 Remova de Lq+1 todas as subárvores equivalentes sT (k)q+1 que são
dominadas por sT q+1;
11 fim
12 fim
13 fim
14 fim
15 fim
16 Ln contém todo o conjunto Pareto ótimo ;
17 Retorne Ln
Como cada transição adiciona uma aresta à subárvore associada, então é possível
definir uma sequência de transições ditas viáveis yφ = (S(h)1 , S
(k)2 ), . . . , (S
(h)n−1, S
(k)n ) que
corresponderá a uma árvore de G(V,E). Assim, é razoável assumir que cada transição
(S(h)q , S
(k)q+1) pode ser associada a um peso w : Γ → <, onde Γ é o conjunto de todas as
transições. Note que w(S(h)q , S
(k)q+1) é igual ao peso associado à aresta correspondente à
transição (S(h)q , S
(k)q+1). Assim, o objetivo do problema da AGM é encontrar a sequência de
transições y∗φ tal que o seguinte somatório é mínimo:
f(y∗φ) =n−1∑q=1
w(S(h)q , S
(k)q+1)
Partindo de tal definição, pode-se dizer que uma sequência y∗φ é ótima se, e somente se,
f(y∗φ) ≤ f(yφ), para qualquer outra sequência yφ (PUGLIESE; GUERRIERO; SANTOS, 2015).
Além disso, ainda segundo os autores, se y(k)q é uma subsequência que define uma subár-
vore sT (k)q , então a função f pode ser reescrita como:
44
f(sT(k)q ) =
∑(i,j)∈E(k)
q
wij .
Embora tais conceitos sejam feitos para árvores mono-objetivo, eles são facilmente
generalizados para o caso multiobjetivo, pois é suficiente trabalhar com f como sendo
uma função que associa a cada sequência de estados (ou a uma subárvore) um vetor
objetivo; e as sequências ótimas obedeceriam à dominância de Pareto. Tal generalização
é aplicada ao Algoritmo 2.
A seguir, apresenta-se as definições, teorema e corolário concebidos por Pugliese, Guer-
riero e Santos (2015) e que se firmam como pilares do Algoritmo 2.
Definição 8 (Dominância) Sejam S(h)q e S(h)
q dois estados quaisquer. Diz-se que S(h)q
domina S(h)q se f(sT
(h)q ) < f(sT
(h)q ).
Definição 9 (Equivalência) Duas subárvores sT (k)q e sT (k)
q e seus respectivos estados
associados S(k)q e S(k)
q são ditos equivalentes se, e somente se, os correspondentes conjuntos
X(k)q e X(k)
q compartilham os mesmos vértices.
Teorema 1 (Condição ótima) Sejam S(h)q e S(h)
q dois estados equivalentes. Se S(h)q é
dominada por S(h)q , então todas as subárvores sT (k)
q+1 construídas a partir de sT (h)q são
dominadas por pelo menos uma subárvore sT (k)q+1 construída a partir de sT (h)
q .
Prova: (PUGLIESE; GUERRIERO; SANTOS, 2015)
Corolário 1 A sequência ótima y∗ é composta por subsequências ótimas.
Prova: (PUGLIESE; GUERRIERO; SANTOS, 2015)
À luz do teorema e do corolário supramencionados, o Algoritmo 2 trabalha com sub-
sequências ótimas a fim de chegar ao conjunto das sequências ótimas. Ele descarta, assim,
as subsequências dominadas, visto que, segundo o Teorema 1, elas levarão a árvores do-
minadas. Cada estado S(h)q não dominado é guardado num conjunto Lq, com q = 1, . . . , n,
que os autores chamam de níveis. O nível inicial L1 possui um único estado S11 = (i1, ∅),
onde i1 é um vértice inicial qualquer.
Em um nível Lq, varre-se cada estado S(h)q . Analogamente à ideia de Corley (1985),
aqui também seleciona-se todas as arestas que possuem uma extremidade em S(h)q e outra
fora de S(h)q . Diferentemente do Algoritmo 1, porém, o Algoritmo 2 executa testes de
45
dominância sobre as árvores parciais obtidas em cada nível (enquanto que o primeiro,
originalmente, verifica somente a dominância entre as arestas do corte e necessita de uma
verificação de dominância no Passo 6). Ao final, o nível Ln possui todas os estados que
induzem árvores do conjunto Pareto ótimo.
Finalmente, conforme provaram Pugliese, Guerriero e Santos (2015), a complexidade
do Algoritmo 2 é da ordem de O(n−1∏q=1
[q × (n− q)]).
3.2.3 Algoritmo de Ramos et al. (1998)
Propondo-se a encontrar todo o conjunto Pareto ótimo do problema da AG-Bi, Ra-
mos et al. (1998) conceberam uma abordagem exata dividida em duas fases. A primeira,
baseada no método geométrico usado por Hamacher e Ruhe (1994), encontra todas as
árvores cujos pares de custos eficientes se acham nas extremidades da envoltória convexa
(soluções suportadas); a segunda, por sua vez, utiliza um procedimento construtivo ba-
seado na metodologia Branch-and-Bound para obter o conjunto de árvores cujos pares
de custos se encontram no interior de cada triângulo formado por dois pontos extremos
consecutivos.
Antes, porém, de detalhar as duas fases de Ramos et al. (1998), vale a pena analisar
dois procedimentos auxiliares que os autores desenvolveram com o propósito de encontrar
todas as soluções do espaço decisão que, eventualmente, possam representar o mesmo
ponto do espaço objetivo. Ou seja, dado um ponto z = f(T ) no espaço objetivo não
dominado, o procedimento de Ramos et al. (1998) não encontra somente uma árvore T ,
mas todas as árvores T tal que z = f(T ). Para tanto, os algoritmos AllSpanningTree e
AllMST foram desenvolvidos.
O Algoritmo 3 descreve o procedimento recursivo AllSpanningTree, que constrói to-
das as árvores geradoras de um grafo usando backtracking. O procedimento recebe dois
parâmetros, o primeiro é o índice do nó em análise e o segundo é uma árvore geradora
em construção. A primeira chamada do algoritmo é AllSpanningTree (1, ∅), considerandoque os índices dos vértices começam em 1.
Considere G(V,E) um grafo conexo e não direcionado, com |V | = n. Para cada
chamada recursiva, o Algoritmo 3 analisa cada aresta do conjunto Ai, que possui as arestas
incidentes no vértice i. Para cada aresta e ∈ Ai que não forma um ciclo na árvore parcial
T , verifica-se se a adição de e em T gera uma árvore total (isto é, com n− 1 arestas). Se
sim, uma nova árvore foi construída; se não, então precisa-se analisar as arestas incidentes
46
no vértice de índice i + 1, criando-se, desta forma, mais um nó na árvore de busca do
backtracking. Como a quantidade de árvores encontradas é da ordem de nn−2 (CAYLEY,
1987 apud RAMOS et al., 1998), conforme cresce o tamanho do grafo, tal algoritmo pode
despender um tempo excessivo de processamento.
Algoritmo 3: Procedimento AllSpanningTree de Ramos et al. (1998)
1 AllSpanningTree(i, T)
2 Mi = Ai;
3 enquanto Mi 6= ∅ faça4 Seja e ∈Mi;
5 Mi = Mi − e ;6 se T ∪ e é acíclico então
7 se i = n− 1 então
8 T ∪ e pertence ao conjunto das árvores geradoras de G ;
9 senão
10 AllSpanningTree(i+ 1, T ∪ e) ;
11 fim
12 fim
13 fim
O procedimento AllMST, descrito no Algoritmo 4, também é recursivo. Seu resultado
é o conjunto de todas as árvores geradoras que correspondem ao custo mínimo mono-
objetivo. Baseado no método de Kruskal (1956), o procedimento inicia examinando as
arestas, uma a uma, em ordem crescente de peso. Seja T a árvore parcial corrente. São
consideradas apenas arestas e cuja adição isolada em T não forma ciclo. Caso não exista
nenhuma outra com o mesmo custo de e, então o loop da linha 5 a 15 executará apenas uma
iteração. Neste caso, em seguida, verifica-se se adição de e em T culmina numa árvore final
(com n− 1 arestas) ou numa parcial (chamando recursivamente o procedimento AllMST
para a árvore T ∪e). Porém, se existem outras arestas com o mesmo peso de e, o loop as
agrupa no conjunto LocalEdgeSet. A condição da linha 8 verifica se a adição simultânea
de LocalEdgeSet à T não forma ciclo, significando dizer que as arestas de LocalEdgeSet
comporão a mesma árvore mínima. Porém, caso forme ciclo, significa que tais arestas não
formarão a mesma árvore, podendo ser permutadas a fim de construir diferentes árvores
mínimas. Assim, a linha 19 se encarrega de encontrar todas estas árvores, executando o
Algoritmo 3. Para cada árvore T0 encontrada, verifica-se se T∪T0 corresponde a uma árvore
parcial (chamando recursivamente AllMST ) ou total. A chamada inicial é AllMST(∅, 0,0).
47
Algoritmo 4: Procedimento AllMST de Ramos et al. (1998)
1 AllMST(T, index, NEdges)
2 LocalEdgeSet = ∅;3 StageWeight = c(uindex+1);
4 MoreThanOne = false;
5 repita
6 index = index+ 1;
7 se T ∪ uindex é acíclico então
8 se uindex une componentes não-conectadas de T ∪ LocalEdgeSet
então
9 NEdges = NEdges+ 1;
10 senão
11 MoreThanOne = true;
12 fim
13 LocalEdgeSet = LocalEdgeSet ∪ uindex
14 fim
15 até c(uindex+1) > StageWeight;
16 se MoreThanOne então
17 Considere o grafo parcial gerado por T ∪ LocalEdgeSet, X;
18 Considere a condensação de X por T , XT ;
19 Obtenha todas as árvores geradoras de XT , AST (XT ) ;
20 para todo T0 ∈ AST (XT ) faça
21 se NEdges = n− 1 então
22 T ∪ T0 é uma árvore geradora mínima de G;
23 senão
24 AllMST(T ∪ T0, index, NEdges);
25 fim
26 fim
27 senão
28 se NEdges = n− 1 então
29 T ∪ LocalEdgeSet é uma árvore geradora mínima de G;
30 senão
31 AllMST(T ∪ LocalEdgeSet, index, NEdges);32 fim
33 fim
48
Percebe-se que, no caso particular em que todos os pesos são diferentes, o algoritmo
AllMST funciona de modo idêntico ao do Kruskal (1956). No pior caso, em que todas
as arestas de um grafo completo possuem pesos iguais, AllMST se comporta como o
algoritmo AllSpanningTree com complexidade da ordem de nn−2 (RAMOS et al., 1998).
De posse destes dois procedimentos auxiliares, Ramos et al. (1998) apresentaram os
algoritmos EfficientBiobjectiveSTinEB e EfficientBiobjectiveSTinENB designados, res-
pectivamente, à primeira e à segunda fase. Considere, para a descrição a seguir, um grafo
G(V,E) conexo e não direcionado, que toda aresta e ∈ E é ponderada com pares de
custos, f(e) e g(e), na devida ordem, primeiro e segundo objetivo.
A primeira fase, detalhada no Algoritmo 5, começa encontrando as árvores geradoras
que minimizam o primeiro e o segundo objetivo separadamente. Tendo as arestas dispostas
numa ordem lexicográfica direta, é possível aplicar o procedimento AllMST a fim de
encontrar todas as árvores que minimizam o primeiro objetivo. Destas, aquela cujo par
de custos p1 = (x1, y1) se encontra na primeira posição de uma ordem lexicográfica é a
solução não dominada que minimiza o primeiro objetivo. De maneira análoga, tendo todas
as arestas dispostas em ordem lexicográfica inversa, AllMST encontra todas as árvores
que minimizam o segundo critério. Destas, aquela cujo par de custos p2 = (x2, y2) se
encontra na primeira posição de uma ordem lexicográfica inversa é, pois, a solução não
dominada que minimiza o segundo critério.
Uma vez encontrados os pontos p1 = (x1, y1) e p2 = (x2, y2), o Algoritmo 5 os fornece
como argumento ao procedimento recursivo UniobjectiveSearch. Este último, por sua vez,
trabalha reordenando em ordem crescente todas as arestas e ∈ E consoante a expressão
f(e)(y1 − y2) + g(e)(x2 − x1). Perceba que tal expressão é consequência direta do lema
provado por Hamacher e Ruhe (1994) e explicado na Seção 3.1.1 deste texto. Uma vez
ordenadas as arestas, é possível encontrar, com o auxílio de AllMST, todas as árvores
geradoras mínimas para a nova ponderação mono-objetivo. O conjunto de árvores ge-
radoras resultantes é convertido numa sequência lexicográfica, q1, q2, ..., qn. Se p1 6= q1, o
procedimento UniobjectiveSearch é invocado, passando p1 e q1 como argumento. O mesmo
se aplica, de forma análoga, para o caso em que qn 6= p2. O algoritmo para quando não
for mais possível encontrar árvores não dominadas cujos pontos sejam diferentes de p1 e
p2. Com isso, o algoritmo é capaz de encontrar todas as soluções eficientes da envoltória
convexa, cujo conjunto Ramos et al. (1998) chamaram de EB.
49
Algoritmo 5: Algoritmo EfficientBiobjectiveSTinEB e Procedimento Uniobjecti-
veSearch de Ramos et al. (1998)Entrada: Grafo G(V,E)
Saída: Conjunto de soluções suportadas
1 Ordene as arestas E na ordem lexicográfica direta;
2 AllMST(∅, 0, 0), resultando em p1 = (x1, y1), no topo do ranking dos pontos; e
armazene a árvore encontrada;
3 Ordene as arestas E na ordem lexicográfica inversa;
4 AllMST(∅, 0, 0), resultando em p2 = (x2, y2), no topo do ranking dos pontos; e
armazene a árvore encontrada;
5 se p1 6= p2 então
6 UniobjectiveSearch(p1, p2);
7 fim
8 Procedimento UniobjectiveSearch(p1, p2)
9 Sejam p1 = (x1, y1) e p2 = (x2, y2) ;
10 Ordene as arestas em ordem crescente de custo de acordo com com a equação:
f(e)(y1 − y2) + g(e)(x2 − x1);
11 para todo aresta e faça
12 AllMST(∅, 0, 0);13 Armazene as árvores encontradas, ordenando seus pares de custos
lexicograficamente q1, q1, ..., qn;
14 se p1 6= q1 então
15 UniobjectiveSearch(p1, q1);
16 fim
17 se qn 6= p2 então
18 UniobjectiveSearch(qn, p2)
19 fim
20 fim
Segundo Ramos et al. (1998), os pontos em EB dividem o espaço biobjetivo em
micro-regiões, como estas da região sombreada da Figura 2, onde os pontos não-extremos
podem estar localizados. Logo, é razoável delimitar uma região dentro da qual as soluções
preferíveis da segunda etapa não podem estar localizadas. Tal região chama-se Zona de
Exclusão, e é representada pela região branca do gráfico da Figura 2. De fato, tomando-se
qualquer ponto dentro da Zona de Exclusão, perceber-se-á facilmente que o mesmo será
dominado por algum ponto extremo em EB.
50
Figura 2: Zona de exclusão e região das soluções não-suportadas
Fonte: adaptado de Ramos et al. (1998)
À luz da Figura 2, Ramos et al. (1998) formularam a segunda etapa do seu método,
cujos detalhes são dados no Algoritmo 6. As soluções não-suportadas são buscadas por um
procedimento Branch-and-Bound, cujo Bound é, informalmente, resumido pela afirmação:
“qualquer solução parcial que caia na Zona de Exclusão, faz o algoritmo parar o Branch”
(RAMOS et al., 1998). Ou seja, quando é encontrada uma solução parcial cujo limite inferior
do seu custo final cai na Zona de Exclusão, então poda-se o galho da árvore de busca
correspondente.
As linhas 1 e 2 do Algoritmo 6 definem os limites inferiores de f e g a partir dos
seguintes parâmetros:
fk
= mine∈Akf(e) gk = mine∈Ak
g(e)
para k = 1, ..., |V | − 1, sendo Ak o conjunto de arestas incidentes no vértice k.
A ideia é fazer uma estimativa do melhor custo, para cada objetivo, que a árvore
parcial poderia ter ao final do processo. Por isso, para cada vértice ainda não inserido na
árvore parcial, a linha 1 do Algoritmo 6 toma a aresta incidente mais barata para somar
e obter o limite inferior do primeiro critério (fBound). O valor de gBound, limite inferior
para o segundo critério, é computado de modo análogo. Como T = ∅ é a solução parcial
inicial, e como o primeiro vértice a ser inserido em T é o vértice de id = 1, então é razoável
que os somatórios das linhas 1 e 2 sejam feitos para varrer os vértices de 2 à |V | − 1. De
modo geral, o procedimento recursivo EBSTBB interpreta as variáveis fBoundValue e
51
gBoundValue como sendo o mínimo de custo possível que pode ser adicionado a uma
solução parcial.
Algoritmo 6: Algoritmo EfficientBiobjectiveSTinENB e Procedimento EBSTBB
de Ramos et al. (1998)Entrada: Grafo G(V,E)
Saída: Conjunto de soluções não-suportadas
1 Seja fBound =n−1∑k=2
fk;
2 Seja gBound =n−1∑k=2
gk;
3 EBSTBB(∅, fBound, gBound, 1);4 Procedimento EBSTBB(T, fBoundValue, gBoundValue, step)
5 Alocal = Astep;
6 enquanto Alocal 6= ∅ faça7 Seja e ∈ Alocal;8 Alocal = Alocal − e;9 se (f(T ) + f(e) + fBoundV alue, g(T ) + g(e) + gBoundV alue) 6∈
zona de excluso então
10 se step = n− 1 então
11 StoreSorting(T ∪ e);12 senão
13 EBSTBB(T ∪ e,fBoundV alue− f step+1, gBoundV alue− gstep+1,
step+ 1);
14 fim
15 fim
16 fim
A cada etapa do processo recursivo, escolhe-se um vértice e varre-se cada aresta que
nele incide. A variável step representa o id do vértice corrente e Astep o conjunto de arestas
incidentes. Para cada aresta e ∈ Astep, estipula-se o limite inferior do primeiro critério
(respectivamente, segundo critério) de uma possível solução final formada pela árvore
parcial corrente mais a aresta corrente e mais o valor de fBoundValue (respectivamente,
gBoundValue). Assim, caso o ponto bidimensional do espaço objetivo esteja na Zona de
Exclusão, então garante-se que não vale a pena continuar a explorar tal solução parcial.
Caso não esteja na Zona de Exclusão, e caso T ∪ e não seja uma árvore final com
|V | − 1 arestas, continua-se a busca, chamando EBSTBB recursivamente com T ∪ e,step + 1, além de subtrair de fBoundValue e gBoundValue o custo de f step+1 e gstep+1,
52
respectivamente.
No entanto, o algoritmo proposto por Ramos et al. (1998) possui alta complexidade
para resolver o problema abordado, limitando o tamanho do grafo em virtude do tempo
despendido para execução (DRUMOND, 2012). Face a esta característica, objetivando ga-
rantir um desempenho melhor, embora a maioria dos algoritmos supracitados sejam pen-
sados recursivamente, o presente trabalho os implementou de modo iterativo, com a ajuda
de uma pilha auxiliar.
3.2.4 Algoritmo de Steiner e Radzik (2003)
Dividindo o procedimento em duas fases, cuja primeira encontra as soluções supor-
tadas e a segunda encontra as não-suportadas, assim como Ramos et al. (1998), Steiner
e Radzik (2003) propuseram uma abordagem que se diferencia por duas características
principais: para cada ponto do espaço biobjetivo, apenas uma árvore do espaço decisão
é encontrada, mesmo que existam outras que possuam o mesmo custo (abrindo mão de
procedimentos como AllSpanningTree e AllMST ); a segunda fase obtém as soluções não-
suportadas através de um algoritmo k-best.
A primeira fase, resumida no Algoritmo 7, é bastante semelhante à primeira fase de
Ramos et al. (1998), cujos detalhes já foram explicados anteriormente.
Considerando as soluções extremas dispostas numa sequência lexicográfica, a segunda
fase de Steiner e Radzik (2003), cujos detalhes são vistos no Algoritmo 8, utiliza um
algoritmo k-best para encontrar as soluções eficientes contidas no interior de cada triângulo
retângulo formado por dois pontos extremos adjacentes quaisquer.
Figura 3: Esquema de busca da segunda fase e atualização da região viável (STEINER;RADZIK, 2003)
Todavia, como bem observa Monteiro (2011), mesmo dentro de tais triângulos, pode
53
ser o caso de haver vários pontos possíveis, eficientes ou não. Almejando desviar das
soluções ineficientes, o Algoritmo 8 inicia a busca pela hipotenusa do triângulo retângulo,
seguindo em direção ao seu ângulo reto. Cada vez que encontra um novo ponto eficiente,
o procedimento delimita uma zona que ele chama de região viável (região clara de Figura
3), fora da qual não pode haver solução eficiente. A região escura da Figura 3 ajuda a
excluir, portanto, o espaço objetivo dominado pela nova solução.
Algoritmo 7: Algoritmo PHASE1-GM e BorderSearch de Steiner e Radzik (2003)Entrada: Grafo G(V,E)
Saída: Conjunto de soluções suportadas
1 para i = 1, 2 faça
2 Ordene as arestas de E lexicograficamente segundo o critério i;
3 Encontre a AGM para tal ordenação e armazene-a;
4 Seja si = (xi, yi) o par de pesos da árvore encontrada;
5 fim
6 se s1 = s2 então
7 retorna s1;8 senão
9 L = BorderSearch(s1, s2);
10 retorna concatenação de s1, L, s2;
11 fim
12 Procedimento BorderSearch(s′, s′′)
13 Compute novos custos das arestas segundo a expressão
f1(e)(y′ − y′′) + f2(e)(x′′ − x′);14 Ordene as arestas de acordo com os novos custos;
15 Calcule a AGM para tal ordenação, com par de custos s = (x, y) ;
16 se s = s′ ou s = s′′ então
17 retorna lista vazia;
18 senão
19 L′ =BorderSearch(s′, s);
20 L′′ =BorderSearch(s, s′′);
21 retorna concatenação de L′, s,L′′;
22 fim
54
Algoritmo 8: Algoritmo PHASE2-KB de Steiner e Radzik (2003)Entrada: Grafo G(V,E) e Conjunto de soluções suportadas
Saída: Conjunto de soluções não-suportadas
1 para todo par de pontos suportados consecutivos p = (x′, y′), q = (x′′, y′′) faça
2 Compute novos custos f1(e)(y′ − y′′) + f2(e)(x′′ − x′);3 Defina a região viável e a linha de custo máximo;
4 Execute um algoritmo k-best para o problema da AGM;
5 para k = 1, ...,∞ faça
6 Determine a k-ésima melhor AGM T ;
7 se não existe mais soluções então
8 pare;
9 senão
10 Seja s = (x, y) o par de custos associado a T ;
11 se s está na região viável então
12 Adicione s na lista de soluções não-suportadas;
13 Atualize a região viável e a linha de custo máximo de acordo com s.
14 senão
15 se s está na linha de custo máximo ou passou dela então
16 pare;
17 fim
18 fim
19 fim
20 fim
21 fim
Sejam p = (x′, y′), q = (x′′, y′′) dois objetivos extremos adjacentes. O Algoritmo
8 computa, para cada aresta e ∈ E, novos custos segundo a equação f1(e)(y′ − y′′) +
f2(e)(x′′ − x′). O que antes era um grafo ponderado com vetores bidimensionais, torna-
se temporariamente um grafo ponderado apenas com um número real para cada aresta
(tal aspecto se assemelha àquele da primeira fase). A partir deste novo grafo, executa-
se um algoritmo k-best. Se a k-ésima melhor solução T estiver na região viável, então
T é considerada solução eficiente não-suportada. A região viável é, então, atualizada. A
variável k para de ser incrementada até o custo bidimensional da k-ésima melhor solução
atingir a linha de custo máximo ou passar dela. Tal linha é definida como uma reta que
passa pelo vértice da região viável mais distante da reta que une p e q, e é paralela a esta.
Note que k poderá atingir, no pior caso, a quantidade de todas de árvores do grafo.
55
Do ponto de vista conceitual, a segunda fase de Steiner e Radzik (2003) pode utilizar
qualquer algoritmo k-best. Os autores implementaram, pois, o algoritmo proposto por Ga-
bow (1977). O presente trabalho, porém, implementou o algoritmo de Sörensen e Janssens
(2005), almejando avaliar o comportamento computacional da segunda fase de Steiner e
Radzik (2003), sobretudo do ponto de vista temporal, quando utilizando um algoritmo
k-best diferente daquele sugerido pelos autores.
3.2.5 Algoritmo de Sourd e Spanjaard (2008)
Sourd e Spanjaard (2008) discorreram acerca do procedimento Branch-and-Bound
adaptado ao contexto de problemas multiobjetivo. Em seguida, os autores o aplicaram
ao problema da AG-Bi. As versões mono e multiobjetivo do Branch-and-Bound aplicado
à árvore geradora são idênticas no que se refere ao Branch, mas diferem com relação ao
Bound (SOURD; SPANJAARD, 2008). Para entender o Bound, bem como todo o algoritmo
proposto pelos autores, considere um grafo G(V,E), com |V | = n, em que cada aresta
e ∈ E é ponderada por um vetor bidimensional da forma (f1(e), f2(e)).
Diz-se ser UB o limite superior do algoritmo, definido como sendo o conjunto de cus-
tos (f1(x), f2(x)) de cada solução não dominada encontrada. Seja UB≺ = v ∈ <m|∀u ∈UB, u 6 v o conjunto de vetores de custos que não são fracamente dominados por ne-
nhum ponto atual contido em UB. Seja ainda χ(N) o conjunto de soluções que pode ser
obtido a partir de um nó N na árvore de busca, e seja f(χ(N)) sua imagem no espaço
objetivo. O papel principal do Bound é reduzir o espaço de busca, por exemplo, descar-
tando um nó N da árvore de busca a partir do qual verifica-se ser impossível encontrar
alguma solução eficiente. Tal verificação é feita a partir de UB.
No caso mono-objetivo, haveria apenas um valor de UB, que seria a melhor solução
encontrada até o momento, e as soluções candidatas a serem exploras seriam aquelas
que apresentassem custo UB≺ = (−∞, UB). Assim, seria necessário uma simples função
h : R→ R, h(v) = v − LB(N), sendo LB(N) uma estimativa da melhor solução possível
que poderia ser encontrada a partir do nó N . Caso LB(N) > UB (informalmente, o
mínimo alcançável seria maior que o melhor já encontrado), então h(f(x)) = f(x) −LB(N) ≥ 0,∀x ∈ χ(N) e h(v) = v − LB(N) < UB − LB(N) ≤ 0 (SOURD; SPANJAARD,
2008). Nesse caso, o nó N seria descartado.
No caso multiobjetivo, contudo, uma função linear não caracterizaria o nó N a ser
descartado, pois, em geral, UB não é convexo. Seria necessário uma função contínua da
forma h : <m → R, que os autores chamam de hipersuperfície, tal que h(f(x)) ≥ 0 ∀x ∈
56
Figura 4: Fase de Bound de Sourd e Spanjaard (2008)
χ(N), e h(v) < 0, ∀ v ∈ UB≺. A Figura 4 apresenta uma representação comparativa,
entre os casos mono e biobjetivo, de como seria a poda de um nó N na árvore de busca.
Sourd e Spanjaard (2008) definiram uma família de boas funções para separar f(χ(N))
de UB:
h(v) = minλ∈Λ(〈λ, v〉 − LBλ(N))
onde λ ∈ Λ são vetores de pesos da forma (λ1, . . . , λm) ≥ 0, 〈., .〉 denota o produto escalar,
e LBλ(N) é um número real que representa o limite inferior para 〈λ, f〉(χ(N)).
De posse destas informações, pode-se definir o processo Branch-and-Bound concebido
por Sourd e Spanjaard (2008) para resolver o problema da AB-Bi. O mesmo é dividido
em quatro fases: pré-processamento do grafo de entrada, encontrar uma ou mais soluções
iniciais para preencher UB, pré-resolução de alguns métodos para acelerar a busca e
algoritmo de busca propriamente dito. As três primeiras etapas acontecem na raiz da
árvore de busca.
Visando fazer uma busca mais eficiente, desviando o máximo possível de soluções ine-
ficientes, o pré-processamento analisa o grafo de entrada, removendo algumas arestas ditas
proibidas, ou designando algumas como obrigatórias, sem alterar a Fronteira de Pareto.
Para tanto, é concebida uma metáfora de coloração única para cada aresta, resumida no
Algoritmo 9, onde a cor azul é para arestas obrigatórias e o vermelho para arestas proi-
bidas. O objetivo do pré-processamento é colorir as arestas o máximo possível. Sendo c a
função que denota a cor da aresta, chama-se χ(c) o conjuntos de árvores incluindo arestas
azuis, excluindo arestas vermelhas e incluindo, talvez, arestas não coloridas. Denota-se o
espaço objetivo correspondente por f(χ(c)) e a Fronteira de Pareto por f ∗(χ(c)).
57
Algoritmo 9: Algoritmo O(|E|2) de coloração de Sourd e Spanjaard (2008)Entrada: Grafo G(V,E) e Conjunto de soluções suportadas
Saída: Coloração máxima c
1 para todo e ∈ E faça
2 se a condição de otimalidade de corte é verificada para e então
3 c(e) = azul;
4 senão
5 se a condição de otimalidade de ciclo é verificada para e então
6 c(e) = vermelho;
7 fim
8 fim
9 fim
10 retorna c;
O Algoritmo 9 se baseia em adaptações das propriedades de otimalidade do corte e
do ciclo, inicialmente apresentadas na Proposição 1 enunciada na introdução deste do-
cumento, retiradas do trabalho de Hamacher e Ruhe (1994). A adaptação de Sourd e
Spanjaard (2008), por sua vez, é descrita a seguir:
Proposição 2 (Condição de otimalidade do corte) Considere um corte em G que
não possui arestas azuis e seja C o conjunto de arestas que atravessam tal corte. Se existe
alguma aresta e ∈ C sem coloração, tal que ∀e′ ∈ C sem coloração, e e′, então e está
em pelo menos uma árvore de custo y, para todo y ∈ f ∗(χ(c)).
Proposição 3 (Condição de otimalidade do ciclo) Seja C um ciclo em G, sem ares-
tas vermelhas. Se ∃e ∈ C sem coloração tal que e′ e, ∀e′ ∈ C sem coloração, então e
pode ser removida de G sem alterar f ∗(χ(c)).
Provas: (SOURD; SPANJAARD, 2008)
Uma vez efetuado o pré-processamento, parte-se pra próxima etapa: inicialização de
UB. O desempenho de um procedimento Branch-and-Bound, sobretudo em sua versão
multiobjetivo, é notoriamente superior quando uma boa solução é conhecida antes de
iniciar a busca (SOURD; SPANJAARD, 2008). A inicialização de UB se dá, pois, em duas
fases: a primeira computa todas as soluções extremas, semelhante ao método geométrico
proposto por Hamacher e Ruhe (1994), descrito na Seção 3.1.1 desde trabalho. A segunda
fase, por sua vez, adota uma busca local, que deve visitar todos os ponto extremos de
UB, a fim de encontrar novas soluções não dominadas.
58
Para a próxima etapa, Sourd e Spanjaard (2008) provaram o seguinte Lema:
Lema 1 Seja |E| pares (αi, βi), 1 ≤ i ≤ |E| e seja S(λ) a sequência de índices 1, . . . , |E|lexicograficamente ordenados de acordo com λαi + (1−λ)βi, com λ variando no intervalo
[0, 1]. Então, o conjunto de sequências S(λ)|0 ≤ λ ≤ 1 contém, no máximo, |E|(|E|−1)2
+1
sequências diferentes.
Prova: (SOURD; SPANJAARD, 2008)
O Lema 1 é importante porque mostra que, embora o número de soluções não domi-
nadas possa ser exponencial, o número de vetores objetivo distintos é polinomial da ordem
de O(|E|2). Ou seja, existem O(|E|2) sequências de arestas que podem ser eficientemente
computadas. A terceira etapa consiste em calcular previamente um conjunto de vetores
de escalarização, capaz de gerar todas as sequências mencionadas no Lema 1, a fim de
acelerar o processo de busca.
A última etapa consiste no processo de busca propriamente dito. A cada nó da árvore
de busca uma aresta é analisada. O Branch bifurca o nó em dois nós filhos, resultando
em dois subproblemas, um onde a aresta selecionada é obrigatória e outro onde ela é
proibida. Finalmente, a cada nó da árvore de busca, executa-se o Bound, a partir de uma
hipersuperfície separatória conforme descrita no início desta subseção, que pode culminar
na poda do galho corrente da árvore de busca.
3.3 Algoritmos baseados em preferências
Esta subseção discorre acerca dos detalhes dos algoritmos baseados em preferência.
Serão estudados os trabalhos de Perny e Spanjaard (2005), Alonso et al. (2009) e Galand,
Perny e Spanjaard (2010a).
3.3.1 Algoritmo de Perny e Spanjaard (2005)
Seguindo a definição geral exposta na Seção 3.1.5, Perny e Spanjaard (2005) estudaram
o problema da AGMO baseado em preferência. Reitera-se que tal problema tem como
entrada um grafo conexo e não direcionado G(V,E), e uma relação binária definida
sobre P(E); e o objetivo é determinar todas as árvores ditas -eficientes, equivalente a
determinar o conjunto maximal M(T ,), onde T é o conjunto de árvores de G.
59
São exemplos de relação de preferência a ordenação lexicográfica e dominância de
Pareto, todas asseguradas pelo axioma da independência, cuja definição formal foi dada
por Perny e Spanjaard (2005) e detalhada no Anexo A.
O primeiro procedimento proposto pelos autores é o Krukal-like, uma generalização
do Kruskal (1956) que a cada passo, ao invés de escolher apenas uma aresta, testa todas
as arestas -eficientes não escolhidas até o momento. Seja T (t)i = (V (T
(t)i ), E(T
(t)i )) a i-
ésima subárvore encontrada pelo processo, sendo t a quantidade de arestas que ela possui.
Seja ainda I(t) o conjunto de índices das subárvores com t arestas. Para cada t de 1 até
n− 1, verifica-se todas as subárvores T (t−1)i , para todo i ∈ I(t−1), escolhendo-se as arestas
e ∈ M(E\E(T(t−1)i ),) que não formam ciclo, a fim de compor uma subárvore T (t)
i . Ao
final, as árvores T (n−1)i , com i ∈ I(n−1), são retornadas. Veja o Algoritmo 10. Note que,
tal procedimento pode gerar subárvores T (t)i idênticas entre si, exigindo-se, assim, que se
elimine tais duplicações.
Algoritmo 10: Algoritmo Kruskal-like Perny e Spanjaard (2005)Entrada: Grafo G(V,E) e a relação de preferência Saída: O conjunto de soluções preferíveis
1 I(0) = 1; E(T(0)1 ) = ∅; j = 1 ;
2 para t de 1 até n− 1 faça
3 I(t) = ∅;4 para todo i ∈ I(t−1) faça
5 para todo e ∈M(E\E(T(t−1)i ),) tal que E(T
(t−1)i ) ∪ e não possui ciclo
faça
6 j = j + 1;
7 E(T(t)j ) = E(T
(t−1)i ) ∪ e;
8 I(t) = I(t) ∪ j;
9 fim
10 fim
11 Elimine eventuais soluções duplicadas pertencentes à sequência (T(t)i | i ∈ I(t));
12 fim
13 retorna T (n−1)i | i ∈ I(n−1);
O Teorema 2 e o Corolário 1 do Anexo A garantem a corretude de Algoritmo 10, no
sentido que, se T é uma solução -eficiente, então T será retornada pelo Krukal-like.
Porém, soluções não -eficientes podem ser geradas pelo referido procedimento, o que
pode ser resolvido inserindo um teste de -eficiência sobre o conjunto de saída (PERNY;
60
SPANJAARD, 2005).
O segundo procedimento, detalhado no Algoritmo 11, é uma generalização daquele
proposto por Prim (1957). A cada passo, é escolhida uma aresta -eficiente que possui
um vértice na subárvore corrente e outro vértice fora dela. Matematicamente, seja X um
subconjunto de vértices e seja Ω(X) = (v, w) ∈ E | v ∈ X e w ∈ V \X. Considere aindaV (e), para e ∈ E, denotando as extremidades da aresta e. Deste modo,M(Ω(V (T
(t−1)i )),
) representa as arestas ditas -eficientes (maximais) que possuem uma extremidade em
T(t−1)i e outra extremidade fora dela. Lembre-se que T (t−1)
i denota a i-ésima árvore com
t− 1 arestas. Tal abordagem exige a escolha de um vértice inicial qualquer v1 ∈ V . Note
ainda que o Prim-like, assim como o Kruskal-like, exige uma verificação para a retirada
de soluções duplicadas.Algoritmo 11: Algoritmo Prim-like Perny e Spanjaard (2005)Entrada: Grafo G(V,E) e a relação de preferência Saída: O conjunto de soluções preferíveis
1 I(0) = 1; E(T(0)1 ) = (v1, ∅); j = 1 ;
2 para t de 1 até n− 1 faça
3 I(t) = ∅;4 para todo i ∈ I(t−1) faça
5 para qualquer aresta e ∈M(Ω(V (T(t−1)i )),) faça
6 j = j + 1;
7 V (T(t)j ) = V (T
(t−1)i ) ∪ V (e);
8 E(T(t)j ) = E(T
(t−1)i ) ∪ e;
9 I(t) = I(t) ∪ j;
10 fim
11 fim
12 Elimine eventuais soluções duplicadas pertencentes à sequência (T(t)i | i ∈ I(t));
13 fim
14 retorna T (n−1)i | i ∈ I(n−1);
O Teorema 3 e o Corolário 2 do Anexo A garantem a corretude de Algoritmo 11,
no sentido que, se T é uma solução -eficiente, então T será retornada pelo Prim-like.
Novamente, porém, soluções não -eficientes podem ser geradas pelo referido procedi-
mento, o que pode ser resolvido inserindo um teste de -eficiência sobre o conjunto de
saída (PERNY; SPANJAARD, 2005).
61
3.3.2 Algoritmo de Alonso et al. (2009)
Seja G(V,E) um grafo conexo e não direcionado. Uma relação , aplicada sobre o
conjunto das partes de E, pode apresentar algumas propriedades importantes que ajudam
a construir o conjunto de soluções maximais. Em sua investigação, Alonso et al. (2009)
contemplaram as propriedades da transitividade negativa e da aditividade forte. Caso uma
relação de ordem cumpra tais propriedades, as soluções maximais são obtidas apenas pela
construção dos conjuntos OptCUT (G) e OptPATH(G). Para o aprofundamento destes
conceitos, recomenda-se a leitura do Anexo B.
Para exibir os algoritmos optimalcutsetP e optimalcutsetK, os autores formularam
ainda a seguinte Proposição:
Proposição 4 Sejam T ∈ OptCUT (G) e F ⊂ T . Considere ainda S uma componente
conexa qualquer de F . Seja [S, S] o conjunto de arestas com uma extremidade em S e
em V − S. Tome f ∈ [S, S]. Se é negativamente transitiva, então, alguma árvore de
OptCUT (G) contém todas as arestas de F , bem como a aresta f . Veja a Figura 5.
Prova: (ALONSO et al., 2009)
Figura 5: Ilustração de como construir o conjunto OptCUT(G) (ALONSO et al., 2009)
A Figura 5 ilustra as arestas de T , onde as arestas em negrito são aquelas que formam
o conjunto F . O resultado da Proposição 4 é utilizado para seleção de arestas a fim de
construir cada subárvore que comporá OptCUT (G).
Os algoritmos optimalcutsetP e optimalcutsetK diferirão, pois, na forma como o con-
junto S é construído a cada passo. Ambos, porém, prometem otimizar o que se pode
62
denominar de uma desvantagem dos algoritmos análogos propostos por Perny e Spanja-
ard (2005), descrito na Seção 3.3.1: a necessidade de, a cada passo, verificar a existência
de soluções parciais idênticas. Os algoritmos formulados por Perny e Spanjaard (2005)
são ineficientes porque eles precisam checar se uma árvore ótima foi construída mais de
uma vez (ALONSO et al., 2009).
A abordagem fundamentada em Prim (1957) é chamada optimalcutsetP e é detalhada
no Algoritmo 12. Aqui, é direta a aplicação da Proposição 4. A cada etapa (chamada re-
cursiva), há apenas um conjunto S ⊂ F a ser analisado. Varre-se as arestas eficientes
pertencentes ao corte [S, S], e chama-se o procedimento recursivamente caso a solução
parcial não se torne final. Uma marcação, chamada index, é atribuída a cada aresta de
modo a evitar que soluções duplicadas se formem. Se as arestas ei1, ei2, ei3, . . . , eiq per-tencem a uma árvore parcial, uma nova aresta pode ser adicionada apenas se seu index for
superior a max i1, i2, i3, . . . , iq. Na primeira chamada do procedimento optimalcutsetP,
todas as árvores devem ter index igual a 0. A chamada inicial é optimalcutsetP (∅, i, 0),
onde i é um vértice inicial qualquer.
Algoritmo 12: Algoritmo optimalcutsetP de Alonso et al. (2009)
1 Procedimento optimalcutsetP(T, S, level)
2 Seja E0 = maxe ∈ E | e = (i, j) com i ∈ S e j ∈ S ;3 level0 = level;
4 para todo e ∈ E0 faça
5 se index[e] > level ou index[e] = 0 então
6 level0 = level0 + 1;
7 index[e] = level0;
8 fim
9 fim
10 para todo e ∈ E0 faça
11 se index[e] > maxindex[f ]|f ∈ T ou T = ∅ então12 se |T ∪ e| = n− 1 então
13 T ∪ e ∈ OptCUT (G);
14 senão
15 optimalcutsetP(T ∪ e,S ∪ j, level0);16 fim
17 fim
18 fim
63
A abordagem fundamentada em Kruskal (1956), chamada optimalcutsetK, por sua
vez, trabalha com arestas no conjunto e ∈ E | T ∪ e é acíclico. Porém, aqui, mais
de uma aresta pode ser adicionada a cada passo. Se houver mais de uma aresta no con-
junto maximal que conecta o mesmo par de componentes conexas, ou seja, caso a adição
simultânea dessas arestas gera ciclo, então uma combinação delas deve ser analisada de
modo a obter todas as árvores parciais eficientes. A chamada inicial do procedimento é
optimalcutsetK(∅, n).
Obviamente, desde que a relação cumpra as propriedades da aditividade forte e da
transitividade negativa, ambos os algoritmos supracitados fornecem o mesmo resultado,
para uma mesma instância.
Algoritmo 13: Algoritmo optimalcutsetK de Alonso et al. (2009)
1 Procedimento optimalcutsetK(T, K)
2 Seja E0 = maxe ∈ E | T ∪ e é acíclico ;3 Seja k0 o número de componentes conexas em T ∪ E0;
4 para todo subconjunto T0 ⊂ E0 de cardinalidade k − k0 tal que T ∪ T0 é
acíclico faça
5 se kO = 1 então
6 T ∪ T0 ∈ OptCUT (G);
7 senão
8 optimalcutsetK (T ∪ T0, k0);
9 fim
10 fim
3.3.3 Algoritmo de Galand, Perny e Spanjaard (2010a)
De acordo com Galand, Perny e Spanjaard (2010a), a relação de dominância de Pareto,
muitas vezes, não é suficiente para discernir entre múltiplas soluções possíveis, fazendo-se
necessário o uso de uma relação de preferência que a refine. O autores propuseram, assim,
como relação de preferência a chamada integral de Choquet ou Choquet Expected Disutility
(CED). Tal critério aprimora a relação de dominância de Pareto, cujo conjunto ótimo
seria, em algumas aplicações, impossível de encontrar (GALAND; PERNY; SPANJAARD,
2010b). Todos os conceitos evocados nessa seção, no que se refere à integral de Choquet,
estão definidos no Anexo C.
Seja um grafo G(V,E) conexo e finito, com m critérios inteiros fi associados em E. O
64
objetivo do problema da Árvore Geradora Choquet-Ótima (ψwv -ST ) é determinar a árvore
geradora X∗ de G tal que ψwv (f(X∗)) = minX∈T ψwv (f(X)), onde T é o conjunto de todas
as árvores geradoras de G.
Embora o problema ψwv -ST continue sendo NP-difícil, Galand, Perny e Spanjaard
(2010a) afirmam que existem casos particulares em que o problema pode ser resolvido
polinomialmente. Como exemplo, tome w(x) = x para todo x e tome v uma capacidade
aditiva, então ψwv é linear e ψwv -ST se reduz ao problema clássico da árvore geradora
mínima. De modo geral, porém, diferente das abordagens discutidas nas Subseções 3.3.1
e 3.3.2, estender os algoritmos de Prim (1957) e Kruskal (1956) não é suficiente para
resolver o problema da árvore Choquet-ótima (GALAND; PERNY; SPANJAARD, 2010a).
Por isso, foram propostas duas abordagens distintas para resolver o problema: ranking e
branch-and-bound.
O método ranking, detalhado no Algoritmo 15, necessita de uma fase de escalarização,
que ajude a determinar um limite inferior para os valores da integral de Choquet. É preciso,
pois, definir tal método de escalarização, bem como calcular os coeficientes. Para tanto,
considere a proposição que segue:
Proposição 5 Seja v uma capacidade côncava. Para toda capacidade aditiva λ ∈ core(v)
caracterizada por coeficientes positivos (λ1, . . . , λn) tais que, para A ⊆ N , λ(A) =∑
i∈A λi,
tem-se que ψwv (x) ≥∑n
i=1 λiw(xi). Além do mais, se w é convexa tem-se que ψwv (x) ≥w(
∑ni=1 λixi).
Prova: (GALAND; PERNY; SPANJAARD, 2010a)
Em verdade, qualquer vetor de pesos λ ∈ Rn+ caracterizando uma capacidade aditiva
em core(v) pode ser usada para efetuar uma aproximação w(λx) de ψwv (x). Galand, Perny
e Spanjaard (2010a) escolheram utilizar o vetor cujos coeficientes são calculados pelo
Algoritmo 14. Trata-se de um vetor de pesos λ∗ = (λ∗1, . . . , λ∗n) com entropia máxima.
O algoritmo ranking é baseado em três passos: escalarização, classificação e condição
de parada. No que se refere à escalarização, utiliza-se a Proposição 5 e o Algoritmo 14, a fim
de definir uma função linear ϕλ(x) =∑n
i=1 λixi, que terá o papel de limitar inferiormente
os valores de ψwv (x), pois é assegurado que ψwv (x) ≥ w(ϕλ(x)),∀x ∈ Rn. Deste modo, no
contexto do grafo G(V,E), tem-se f0(e) =∑
i λifi(e), para toda aresta e ∈ E, donde
conclui-se que f0(X) = ϕλ(f(X)), sendo X uma solução factível.
65
Algoritmo 14: Computação λ∗ com a entropia máxima de Galand, Perny e Span-
jaard (2010a)Entrada: Grafo G(V,E) com m objetivos
Saída: (λ1, ..., λn)
1 A = ∅;2 B = ∅;3 enquanto B 6= N faça
4 Selecione A em arg minv(B∪F )−v(B)|F | , F ⊆ N\B,F 6= ∅ ;
5 para todo i ∈ A faça
6 λi = v(B∪A)−v(A)|F | ;
7 fim
8 B = B ∪ A;
9 fim
10 retorna (λ1, ..., λn);
11
Algoritmo 15: Algoritmo Ranking com integral de Choquet de Galand, Perny e
Spanjaard (2010a)Entrada: Grafo G(V,E)
Saída: Solução Xσ(i), seu vetor de custo xσ(i) e o valor de best
1 Determine a melhor solução X1 em relação a f0 ;
2 σ(1) = 1;
3 best = ψwv (x1);
4 i = 1;
5 repita
6 i = i+ 1;
7 Determine a i-ésima melhor solução em relação a f0 ;
8 se ψwv (xi) < best então
9 σ(i) = i;
10 best = ψwv (xi);
11 senão
12 σ(i) = σ(i− 1);
13 fim
14 até w(ϕλ(xi)) ≥ best;
15 retorna Xσ(i), xσ(i) e best;
66
O processo de classificação consiste em enumerar uma sequência de soluções viá-
veis de G, X1, X2, . . . , Xk, tal que f0(X i) ≤ f0(Xj) para i < j. Por construção, cada
solução da sequência tem um vetor de custos associado xi = f(X i), de maneira que
ϕλ(x1) ≤ ϕλ(x
2) ≤ . . . ≤ ϕλ(xk). Note que tal processo necessitará de um algoritmo k-
best. Neste sentido, os autores mencionam os trabalhos de Katoh, Ibaraki e Mine (1981),
que consistem numa melhoria do algoritmo de Gabow (1977). Esta análise experimental,
todavia, implementa do algoritmo Sörensen e Janssens (2005).
O ranking termina quando é encontrada uma solução Xk cujo vetor de custos xk
associado é tal que w(ϕλ(xk)) ≥ ψwv (xσ(k)), onde σ(k) é o índice da melhor solução atual
encontrada no passo k. Galand, Perny e Spanjaard (2010a) provaram formalmente tal
critério de parada.
A segunda abordagem proposta pelos autores é o branch-and-bound, detalhado no
Algoritmo 16. A ideia é, antes de tudo, encontrar uma boa solução inicial a fim de me-
lhorar o desempenho do procedimento de busca, utilizando, para tal, um relaxamento do
procedimento ranking, com condição de parada (1 + ε)w(ϕλ(xi)) ≥ best, para um valor de
ε pequeno. Então, o branch-and-bound começa a explorar o espaço de busca, escolhendo
uma aresta a cada nó η da árvore de busca e criando dois subproblemas η′ e η′′: no pri-
meiro a aresta é considerada obrigatória e, no segundo, proibida. Os conjuntos IN e OUT
classificam, respectivamente, as arestas como obrigatórias e proibidas. Para o bound, são
utilizados dois limites complementares. LB, limite inferior num dado nó η, é o máximo
entre ψwv (f ∗(η)) e w(f0(T (η))). O limite superior, UB é o melhor ψwv encontrado até o
momento.
67
Algoritmo 16: Algoritmo Branch-and-Bound com integral de Choquet de Galand,
Perny e Spanjaard (2010a)
1 Procedimento BB(η, UB)
2 se LB(η) < UB então
3 se |in(η)| = |V | − 1 então
4 UB = ψwv (f(T (η)));
5 retorna UB ;
6 senão
7 para i = 0 até n faça
8 se ψwv (f(Ti)) < UB então
9 UB = ψwv (f(Ti));
10 fim
11 fim
12 Selecione uma aresta e minimizando f0 em E\(in(η) ∪ out(η));
13 Criar o nó η′ tal que in(η′) = in(η) ∪ e e out(η′) = out(η);
14 best = BB(η′, UB);
15 UB = minUB, best;16 Criar o nó η′′ tal que in(η′′) = in(η) e out(η′′) = out(η) ∪ e;17 best = BB(η′′, UB);
18 retorna minUB,best;
19 fim
20 senão
21 retorna UB ;
22 fim
3.4 Algoritmo baseado em Programação Inteira
Esta seção aprecia o artigo de Lokman e Köksalan (2013), baseado em Programa-
ção Inteira, e estuda, na Subseção 3.4.1, sua aplicação ao problema da Árvore Geradora
Multiobjetivo.
Na literatura, é possível encontrar diversos trabalhos que concebem algoritmos para
resolver modelos de Programação Inteira Multiobjetivo. Lokman e Köksalan (2013) citam,
por exemplo, os trabalhos de Özlen e Azizoglu (2009), Laumanns, Thiele e Zitzler (2006)
e Sylva e Crema (2004). Neste último, particularmente, os autores desenvolveram um
68
algoritmo exato para encontrar todos os pontos não dominados do problema. A cada
iteração, o algoritmo encontra um ponto não dominado, incrementa o modelo com a
adição de novas restrições e variáveis binárias e, então, o novo modelo é resolvido em
seguida. Lokman e Köksalan (2013) propuseram dois algoritmos para também encontrar
todos os pontos não dominados, prometendo ser melhor que aquele proposto por Sylva e
Crema (2004), pois, segundo os autores, o número de variáveis e de restrições inseridas
a cada iteração é menor. Vale salientar que todos os trabalhos supracitados desenvolvem
técnicas de resolução para modelos gerais, sem, basear-se em problemas específicos, como
a AGMO. Além disso, o método de Lokman e Köksalan (2013) possui a vantagem de não
ser especializado para 2 objetivos, podendo ser naturalmente estendido para 3 ou mais
objetivos.
O primeiro método de Lokman e Köksalan (2013), resumido no Algoritmo 17, deve,
inicialmente, selecionar um dos critérios, por exemplo, w. Assim, seja (P 0w) um básico
modelo inicial tal que:
(P 0w)
Max zw(x) + ε∑j 6=w
zj(x) (3.1)
sujeito a :
x ∈ X (3.2)
onde X é o conjunto de todas as soluções viáveis e ε é uma constante positiva suficien-
temente pequena, que permite a obtenção de soluções dominadas e evita a obtenção de
soluções dominadas fracamente. Note ainda que a restrição (3.2) tem o papel de garantir
que a solução encontrada atenda às restrições do modelo original que se deseja resolver.
Por exemplo, no caso da AGMO, x ∈ X significa que x deve ser uma árvore geradora.
A ideia é, no passo inicial, resolver o modelo básico (P 0w), obtendo, assim, um ponto
z1 = (z11, z12, ..., z1p), tal que sua w-ésima componente, isto é, z1w, tenha o maior valor da
w-ésima componente entre todas as soluções possíveis. Na n-ésima iteração, resolvendo
o modelo (P nw), é possível encontrar um ponto zn+1 = (z(n+1)1, z(n+1)2, ..., z(n+1)p) não
dominado, cuja componente z(n+1)w seja menor ou igual a todas as componentes w de todos
os pontos eficientes encontrados até o momento. Tal afirmação é a principal característica
que faz o Algoritmo 17 funcionar. Sua formalização é dada pela Proposição 6 e a prova é
encontrada no trabalho de Lokman e Köksalan (2013).
Proposição 6 Seja um ε > 0 suficientemente pequeno e um M > 0 suficientemente
69
grande. Seja ainda Sn = zt | 1 ≤ t ≤ n o conjunto de todos os pontos não dominados
encontrados nas n primeiras iterações. Então, a solução ótima de (P nw) é um ponto não do-
minado, zn+1 = (z(n+1)1, z(n+1)2, ..., z(n+1)p), tal que z(n+1)w ≤ ztw para todo t = 1, 2, . . . , n.
Se (P nw) não tiver solução, então Sn contém todos os pontos não dominados do problema
original P .
(P nw)
Max zw(x) + ε∑j 6=w
zj(x) (3.3)
sujeito a :
zj(x) ≥ (ztj + 1)ytj − M(1− ytj) ∀j 6= w, ∀t (3.4)∑j 6=w
ytj = 1 ∀t (3.5)
ytj ∈ 0, 1 t = 1, ..., n j = 1, ..., p j 6= w (3.6)
x ∈ X (3.7)
Algoritmo 17: Primeiro algoritmo de Lokman e Köksalan (2013)
1 Passo 0: Selecione um critério w a ser otimizado. Faça n = 0. Se o espaço solução
X é vazio, então Fim;
2 Passo 1: Resolva o modelo (P nw). Se (P n
w) é inviável, vá para o Passo 2. Caso
contrário, denote o novo ponto não dominado como zn+1. Efetue n = n+ 1 e
repita o Passo 1;
3 Passo 2: Pare. Sn = zt | 1 ≤ t ≤ n contém extamente o conjunto de pontos não
dominados do problema P ;
3.4.1 Resolvendo o problema da AGMO com o Algoritmo de Lok-man e Köksalan (2013)
O método proposto por Lokman e Köksalan (2013) é suficientemente geral para mo-
delar qualquer problema de Programação Inteira Multiobjetivo. Assim, o referido artigo
não é um trabalho que trate exclusivamente do problema da AGMO. Contudo, desde que
se encontre um modelo de Programação Matemática para tal problema, este pode ser
resolvido pelo método de Lokman e Köksalan (2013). Nesta subseção, apresenta-se, pois,
um modelo matemático da árvore biobjetivo e explica-se como ele pode ser resolvido.
Seja um grafo G(V,E) conexo e não direcionado, com |V | = n. Por não considerar
70
direção nas arestas, tem-se que se (i, j) ∈ E, então (j, i) ∈ E. Sem perda de generali-
dade, considere que para toda aresta (i, j) ∈ E é associado um vetor de custos da forma
(c1ij, c
2ij, ..., c
pij), onde p é o número de objetivos. Magnanti e Wong (1984) concebem um
modelo geral para fluxo em redes, o qual, segundo os autores, possui vários casos especiais.
Um destes é o caso em que o fluxo obtido atinge todos os n vértices do grafo, passando
por n−1 arestas. Assim, o problema da AGMO pode ser modelado como um problema de
fluxo em redes. Considere, pois, as seguintes variáveis de decisão, sucedidas pelo modelo
matemático da AGMO:
yij =
1 se a aresta (i, j) ∈ E é utilizada para transporte do fluxo
0 caso contrário
xij : é a quantidade de fluxo transportado do nó i ao nó j pela aresta (i, j) ∈ E.
zv(E) : v-ésima função objetivo definida por zv(E) =∑
(i,j)∈E
cvijyij ∀v = 1, 2, ..., p
AGMO
Min z1(E), z2(E), ..., zp(E) (3.8)∑j:(1,j)∈E
x1j = n− 1 (3.9)
∑i:(i,j)∈E
xij −∑
k:(j,k)∈E
xjk = 1 ∀j = 2, 3, ..., n (3.10)
xij ≥ 0 ∀(i, j) ∈ E (3.11)
(n− 1)yij ≥ xij ∀(i, j) ∈ E (3.12)
yij ≤ xij ∀(i, j) ∈ E (3.13)
yij ∈ 0, 1 ∀(i, j) ∈ E (3.14)
O modelo, aplicando a restrição (3.9), considera o vértice 1 como sendo a fonte de um
fluxo de valor n − 1. Assim, as arestas que possuem uma das extremidades no vértice 1
poderão transferir o fluxo em apenas um sentido (saindo do vértice 1). A fórmula (3.10)
garante que a cada nó j = 2, 3..., n pelo qual o fluxo passa, um resíduo de uma unidade
é retido em j. Deste modo, o fluxo diminui em uma unidade cada vez que passa em um
vértice. As fórmulas (3.12) e (3.13) ajudam a garantir que xij = 0 ou xji = 0, se, e somente
se, yij = 0, além de garantir que jamais circulará, em qualquer aresta, um fluxo superior a
71
n− 1. Finalmente, quando o fluxo passa por todos os vértice, ele atinge valor zero, tendo
passado por exatamente n− 1 arestas. Tem-se, pois, uma árvore geradora.
Esta pesquisa aplicou os modelos matemáticos estudados nesta seção ao problema
da AG-Bi, ou seja, tomando p = 2. Em seguida, utilizou-se o Algoritmo 17 a fim de
encontrar todas as soluções não dominadas. O leitor atendo deve ter percebido que o
modelo matemático da árvore geradora é de minimização, enquanto que os modelos (P nw)
são de maximização. Para converter o modelo da AGMO em um modelo de maximização,
basta multiplicar por −1 cada coeficiente cvij para todo v = 1, 2, ..., p e todo (i, j) ∈ E.
Cada (P nw) foi solucionado com o auxílio do Solver Gurobi.
72
4 Análises Experimentais
Apresenta-se, neste capítulo, os resultados dos experimentos computacionais aos quais
foram submetidos os algoritmos descritos no Capítulo 3 deste trabalho, aplicados ao pro-
blema da Árvore Geradora com dois objetivos. Todos os experimentos foram realizados
numa máquina Intel Xeon W3520, 2.67 GHz, Sistema Operacional Ubuntu 14.04 LTS,
64 bits, 8GB de memória RAM. Os algoritmos foram implementados em linguagem C++
e compilados com compilador GNU g++ versão 4.8.4. A única exceção é o algoritmo
de Sourd e Spanjaard (2008), cuja implementação em C# foi gentilmente fornecida pe-
los autores. Ela foi compilada com o Mono versão 3.2.8 numa máquina com a mesma
configuração descrita acima.
4.1 Instâncias utilizadas
Dois bancos de instâncias foram utilizados para a realização dos experimentos com-
putacionais. O primeiro, chamado de COMPL, se caracteriza por conter apenas grafos
completos, de 5 a 50 vértices, com arestas ponderadas com dois números inteiros posi-
tivos. Tal conjunto, que é o mesmo utilizado por Drumond (2012) em sua análise expe-
rimental (que a autora chamou de BIG1 ), foi gerado com o gerador de Knowles (2002)
considerando a correção proposta por Chen et al. (2007) (que impede de gerar arestas com
peso negativo). Knowles (2002) classificou suas instâncias em três subgrupos: correlated
(corr), anti-correlated (anticorr) e concave (conc). As duas primeiras dizem respeito à
correlação β dos pesos das arestas (positivo e negativo, respectivamente). As instâncias
concave, por sua vez, são assim denominadas, segundo Knowles (2002), devido ao formato
de suas Fronteiras de Pareto, essencialmente larga e côncava. A Figura 36 do Apêndice
B ilustra o formato da Fronteira de Pareto de uma instância concave. Para gerar estas
instâncias, dois parâmetros se fazem necessários, ζ e η, a partir dos quais obter-se-á os
pesos das arestas, seguindo uma distribuição uniforme. A Tabela 17 do Anexo D, que foi
retirada da dissertação de Drumond (2012), detalha os parâmetros para a geração das
73
instâncias do conjunto COMPL. As instâncias são identificadas como n.1, n.2 e n.3, onde
n é a quantidade de vértices do grafo.
O segundo conjunto de instâncias, chamado de GRID, possui apenas grafos grades, de
6 a 100 vértices, do tipo correlated e anti-correlated, que foram gerados por esta pesquisa
utilizando o gerador de Knowles (2002) corrigido. Os parâmetros utilizados foram β = 0, 6
(correlated) e β = −0, 6 (anti-correlated). O objetivo de realizar experimentos com grafos
grades e completos é verificar o comportamento computacional de cada algoritmo frente
a grafos com densidades diferentes.
4.2 Metodologia de comparação
De posse da implementação de todos os algoritmos, os mesmos foram submetidos a
experimentos computacionais sobre os dois conjuntos de instâncias descritos na Seção
4.1, observando o tempo computacional, em segundos, consumido para a finalização do
procedimento. A partir destes valores, foi possível compreender, na prática, o quanto a
complexidade do algoritmo influencia em seu desempenho computacional. São construí-
dos gráficos mostrando a curva do tempo de cada algoritmo em função do tamanho das
instâncias de cada grupo. Nos casos em que três instâncias diferentes possuem o mesmo ta-
manho, o eixo das abscissas do gráfico representa todos os tamanhos diferentes, enquanto
o eixo das ordenadas representa a média de tempo para cada tamanho.
Os algoritmos são classificados de acordo com sua finalidade: aqueles que retornam
o conjunto Pareto ótimo ou a Fronteira de Pareto (ou ainda um superconjunto destes) e
aqueles baseados em preferência.
Para os algoritmos Prim-like e Kruskal-like de Perny e Spanjaard (2005), são apli-
cadas duas relações de preferência: a dominância de Pareto e a relação lexicográfica. Na
primeira, foram considerados dois subcasos: aquele em que a execução gera um super-
conjunto do conjunto Pareto ótimo e aquele em que ele gera apenas um ponto eficiente
do espaço objetivo. Particularmente, no que concerne a este último subcaso, procedeu-se
a implementação do Prim-like e do Kruskal-like de modo a retornar apenas uma solu-
ção eficiente. Na prática, percebeu-se que o Prim-like e o Kruskal-like, neste subcaso, se
comportam de modo análogo às respectivas versões mono-objetivo Prim (1957) e Kruskal
(1956). Quanto à aplicação da ordem lexicográfica, o Prim-like e o Kruskal-like encontram
o ponto objetivo eficiente e retornam a árvore correspondente (considerando, ainda, o caso
em que mais de uma árvore esteja associada a tal ponto). Como a ordem lexicográfica
74
cumpre as propriedades da transitividade negativa e da aditividade forte, descritas por
Alonso et al. (2009), foi possível também aplicar tal relação aos algoritmos optimalcutsetP
e optimalcutsetK, a fim de encontrar o ponto objetivo maximal (e as eventuais soluções
associadas a tal ponto). Assim, verificou-se se os métodos de Alonso et al. (2009) são
realmente mais eficientes que os de Perny e Spanjaard (2005) como sugerem os autores.
Quanto aos algoritmos cuja relação de preferência se baseia na integral de Choquet
(GALAND; PERNY; SPANJAARD, 2010a), foram testadas as abordagens Ranking e Branch-
and-Bound, com a função convexa w(x) = x2 e uma função capacidade estritamente
crescente definida como v(A) =√∑
i∈A pi, para todo A ⊆ N , onde pi devem ser coe-
ficientes tais que∑
i∈N pi = 1. Esta capacidade foi a mesma usada por Galand, Perny
e Spanjaard (2010a) e Drumond (2012). Como trata-se aqui especificamente da árvore
biobjetivo, tem-se N = 1, 2. Definiu-se, pois, p1 = 0, 64 e p2 = 0, 36.
4.3 Comparação entre os tempos computacionais
Esta seção apresenta os resultados dos experimentos no que se refere ao tempo com-
putacional despendido por cada algoritmo (em segundos). A subseção 4.3.1 expõe os
resultados para os algoritmos que geram todas as soluções eficientes, e a subseção 4.3.2
compara os resultados para os algoritmos baseados em preferência. Em ambos os itens,
são considerados os experimentos para grafos completos e grades. Nos casos cuja execução
do algoritmo para uma determinada instância não terminou num tempo computacional
“mensurável”, usa-se a sigla NT .
4.3.1 Algoritmos que geram um conjunto de soluções
Esta subseção compara os desempenhos computacionais dos algoritmos de Corley
(1985) (CLY), de Ramos et al. (1998) (RA), Prim-like de Perny e Spanjaard (2005) re-
tornando um superconjunto do Pareto ótimo (PLS), Kruskal-like de Perny e Spanjaard
(2005) retornando um superconjunto do Pareto ótimo (KLS), algoritmo de Steiner e Rad-
zik (2003) (SR), de Sourd e Spanjaard (2008) (SS), de Lokman e Köksalan (2013) (LMKS),
e, por fim, o algoritmo de Pugliese, Guerriero e Santos (2015) (PGL).
75
4.3.1.1 Experimentos com grafos completos
Esta subseção apresenta os resultados apenas para os grafos do conjunto COMPL. A
Tabela 3 expõe o tempo computacional, em segundos, despendido pelos algoritmos RA,
SR, SS, PLS e KLS para parte das instâncias correlated e anti-correlated. A Tabela 4 o faz
para as instâncias concave. Para instâncias de tamanho pequeno, como por exemplo 5 ou 7
vértices, todos os algoritmos, exceto SS, apresentam um tempo de processamento bastante
reduzindo, 0, 001 segundos, que tende a zero. Observa-se que, no caso do algoritmo SS,
o tempo para instâncias pequenas é maior que os dos demais algoritmos. Uma possível
explicação para tal fenômeno pode estar nas etapas de pré-processamento efetuadas pelo
SS, a quais, para Fronteiras de Pareto pequenas, tomam um tempo superior ao tempo
despendido pelos algoritmos sem pré-processamento. Como se verá adiante na Tabela 7,
todavia, o algoritmo SS consome o menor tempo para instâncias com grande quantidade
de vértices.
O algoritmo RA apresentou um tempo excessivamente elevado para instâncias anti-
correlated com 15 ou mais vértices. Diz-se, portanto, que o algoritmo não terminou (NT)
para tais instâncias. Neste mesmo sentido, os algoritmos PLS e KLS não terminaram para
instâncias anti-correlated com mais de 12 vértices. No que se refere às instâncias concave,
o algoritmo RA apresentou tempo elevando para as instâncias 17.2, 20.3, 22.2 e todas com
25 ou mais vértices. O algoritmo KLS, por sua vez, não finalizou para instâncias concave
com 17 ou mais vértices, apresentando mais de dez horas de execução. Já o algoritmo PLS
conseguiu terminar para algumas instâncias possuindo entre 17 e 25 vértices. Percebeu-
se, assim, que o algoritmo KLS apresentou, de modo geral, um tempo de processamento
consideravelmente superior ao PLS. A Tabela 5 complementa os resultados da Tabela 3,
excluindo as instâncias anti-correlated que não conseguiram ser tratadas completamente
pelos algoritmos RA, PLS e KLS.
Tabela 3: Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, PLS e KLSaplicados às instâncias correlated e anti-correlated do conjunto COMPL, de 5 a 15 vértices
InstânciasRA SR SS PLS KLS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
5.1 0,001 0,001 0,001 0,001 0,0523 0,0512 0,001 0,001 0,001 0,001
5.2 0,001 0,001 0,001 0,001 0,0496 0,0560 0,001 0,001 0,001 0,001
5.3 0,001 0,001 0,001 0,01 0,0181 0,0578 0,001 0,001 0,001 0,001
7.1 0,001 0,001 0,001 0,01 0,0516 0,0557 0,01 0,09 0,07 0,41
Continua na próxima página
76
Tabela 3 – continuação da página anterior
InstânciasRA SR SS PLS KLS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
7.2 0,001 0,02 0,001 0,01 0,0451 0,0572 0,001 0,38 0,02 0,66
7.3 0,001 0,38 0,001 0,11 0,0455 0,0752 0,001 36,79 0,01 15,83
10.1 0,03 0,08 0,01 0,02 0,0583 0,0601 0,44 7,12 4,8 38,05
10.2 0,001 29,01 0,001 0,05 0,0474 0,0727 0,05 2018,87 2,4 137,51
10.3 0,001 917,91 0,001 0,78 0,0506 0,2056 0,001 NT 0,3 NT
12.1 3,35 11,12 0,06 0,08 0,0689 0,0876 263,31 10832,16 133,99 1211,52
12.2 0,02 1004,93 0,01 0,25 0,0520 0,1178 0,19 NT 16,64 18926,8
12.3 0,001 301023,12 0,001 2,36 0,0510 0,4461 0,01 NT 1,76 NT
15.1 4,36 NT 0,07 0,47 0,0684 0,1645 49,71 NT 1111,72 NT
15.2 0,16 NT 0,02 0,71 0,0560 0,2478 1,18 NT 56,51 NT
Tabela 4: Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, PLS e KLSaplicados às instâncias concave do conjunto COMPL, de 5 a 25 vértices
Instâncias RA SR SS PLS KLS
5.1 0,001 0,001 0,0514 0,001 0,001
5.2 0,001 0,001 0,0518 0,001 0,001
5.3 0,001 0,001 0,0509 0,001 0,001
7.1 0,001 0,04 0,0578 0,01 0,27
7.2 0,001 0,03 0,0558 0,01 0,37
7.3 0,001 0,16 0,0534 0,01 0,26
10.1 0,1 0,27 0,0579 1,7 25,88
10.2 0,05 0,37 0,0575 0,23 10,96
10.3 0,23 0,4 0,0594 0,97 38,94
12.1 0,71 0,46 0,0569 1,89 69,77
12.2 0,64 0,44 0,0593 4,69 145,16
12.3 1,22 0,51 0,0596 10,57 196,29
15.1 439,29 0,8 0,0545 271,51 5860,4
15.2 35,85 0,77 0,0669 NT 12745,5
15.3 246,85 1,24 0,0610 15343,7 10209,1
17.1 1829,37 1,34 0,0589 86,71 NT
17.2 NT 1,06 0,0767 NT NT
Continua na próxima página
77
Tabela 4 – continuação da página anterior
Instâncias RA SR SS PLS KLS
17.3 528,01 1,01 0,0623 NT NT
20.1 8558,1 2,76 0,0591 9,23 NT
20.2 2143,32 1,86 0,0668 NT NT
20.3 NT 2,36 0,0809 NT NT
22.1 63002,1 3 0,0647 NT NT
22.2 NT 3,07 0,0813 NT NT
22.3 2041,45 2,38 0,0693 NT NT
25.1 NT 7,21 0,0626 3011,31 NT
Tabela 5: Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, PLS e KLSaplicados às instâncias correlated e anti-correlated do conjunto COMPL, de 15 a 35 vértices
InstânciasRA SR SS PLS KLS
Corr. Corr. Anticorr. Corr. Anticorr. Corr. Corr.
15.3 0,01 0,01 7,51 0,0527 0,9908 0,54 40,02
17.1 40,95 0,1 0,84 0,0715 0,2334 37842,4 8541,62
17.2 4,87 0,06 2,89 0,0609 0,8821 155,04 1943,54
17.3 0,30 0,01 12,58 0,0519 1,2502 1,57 279,52
20.1 3740,08 0,18 1,54 0,0811 0,4455 NT NT
20.2 31,54 0,08 3,73 0,0560 0,9732 134,63 3756,35
20.3 3,64 0,02 20,66 0,0528 2,1007 2,4 737,62
22.1 73896,9 0,32 1,53 0,1039 0,3139 NT NT
22.2 233,44 0,17 5,41 0,0679 1,4613 2208,41 42342,9
22.3 0,47 0,02 27,01 0,0525 3,4521 4,58 1494,08
25.1 NT 0,91 1,5 0,1594 0,3516 NT NT
25.2 NT 0,33 13,34 0,0829 1,9295 NT NT
25.3 NT 0,04 46,45 0,0534 4,5789 7,15 2662,25
27.1 NT 2,02 5,38 0,2603 1,2399 NT NT
27.2 NT 0,71 17,44 0,1030 3,6969 NT NT
27.3 NT 0,08 49,25 0,0602 4,6838 108,92 31015,3
30.1 NT 2,47 8,41 0,1875 1,5051 NT NT
30.2 NT 1,17 38,91 0,1021 6,0159 NT NT
30.3 NT 0,34 89,36 0,0548 7,9327 613,23 NT
Continua na próxima página
78
Tabela 5 – continuação da página anterior
InstânciasRA SR SS PLS KLS
Corr. Corr. Anticorr. Corr. Anticorr. Corr. Corr.
33.1 NT 2,92 16 0,2989 2,3837 NT NT
33.2 NT 2,24 61,21 0,1417 9,9143 NT NT
33.3 NT 0,59 94,12 0,0590 12,1014 1127 NT
35.1 NT 5,88 28,98 0,4234 2,2660 NT NT
35.2 NT 2,78 73,43 0,1677 11,1601 NT NT
35.3 NT 0,3 134,96 0,0571 13,7568 6628,48 NT
Ainda no tocante aos algoritmos PLS e KLS, a Tabela 6 mostra o tamanho dos
superconjuntos encontrados por ambas as abordagens, em comparação com o tamanho
da Fronteira de Pareto. Percebeu-se que a abordagem Prim-like encontrou um super-
conjunto com cardinalidade consideravelmente superior à cardinalidade do superconjunto
encontrada pelo Kruskal-like. Ademais, o superconjunto encontrado por este está contido
no superconjunto encontrado por aquele para todas as instâncias (e, obviamente, a Fron-
teira de Pareto está contida em ambos). Para melhor visualizar, observe as Figuras 6, 7
e 8, que exibem nuvens de pontos ilustrando a Fronteira de Pareto e os superconjuntos
para a instância 7.1 correlated, anti-correlated e concave, respectivamente. Note que todas
as cruzes pretas (simbolizando a fronteira) estão sob um pontinho azul e um triângulo
roxo. Logo, a fronteira desta instância está totalmente contida nos superconjuntos. Além
disso, todos os triângulos estão sob um pontinho azul, mostrando que todos os pontos
encontrados pelo KLS também foram encontrados pelo PLS. O Apêndice B contém ou-
tras figuras que ilustram tais resultados para outras instâncias. Diante de tais resultados,
é possível compreender por que os algoritmos PLS e KLS requereram elevado tempo de
processamento para tratar instâncias com Fronteira de Pareto de tamanho elevado. Em
verdade, não somente o tamanho da instância influencia no desempenho destes algorit-
mos, mas também a quantidade de pontos não dominados exerce considerável influência.
Quanto maior a quantidade de pontos na Fronteira de Pareto, maior o superconjunto; e
como a tendência é encontrar superconjuntos bem maiores que a fronteira, o tempo de
processamento do PLS e KLS cresce mais rapidamente que o dos outros algoritmos que
encontram somente a fronteira ou o conjunto Pareto ótimo.
79
Tabela 6: Cardinalidade do Conjunto Pareto Ótimo e dos superconjuntos gerados pelosalgoritmos PLS e KLS para instâncias COMPL de 5 a 35 vértices
Instâncias
Conjunto
Pareto ótimo
Superconjunto
do PLS
Superconjunto
do KLS
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
5.1 6 7 2 10 11 2 8 7 2
5.2 6 2 12 8 2 35 8 2 17
5.3 3 1 49 4 1 80 4 1 74
7.1 16 10 20 80 43 383 37 14 129
7.2 22 2 34 58 2 972 56 2 456
7.3 12 2 97 52 2 9090 32 2 4367
10.1 35 24 45 1826 491 2980 750 133 930
10.2 21 11 66 217 59 64689 103 30 7482
10.3 35 2 261 900 2 NT 712 2 NT
12.1 26 55 80 1616 26584 195342 448 1432 18981
12.2 36 9 131 2208 60 NT 824 36 184027
12.3 41 2 460 4371 2 NT 1318 2 NT
15.1 39 45 185 15335 10826 NT 13727 1289 NT
15.2 56 15 258 NT 250 NT 12030 42 NT
15.3 46 8 700 130601 32 NT 11021 32 NT
17.1 34 59 189 3686 NT NT NT 2426 NT
17.2 78 36 402 NT 8455 NT NT 1226 NT
17.3 54 7 969 NT 36 NT NT 27 NT
20.1 30 72 272 203 NT NT NT NT NT
20.2 42 37 458 NT 4049 NT NT 1026 NT
20.3 88 10 1044 NT 60 NT NT 50 NT
22.1 55 91 253 NT NT NT NT NT NT
22.2 88 57 591 NT 17906 NT NT 2692 NT
22.3 58 6 1202 NT 12 NT NT 12 NT
25.1 46 163 245 3977 NT NT NT NT NT
25.2 93 64 735 NT NT NT NT NT NT
25.3 135 9 1623 NT 32 NT NT 32 NT
27.1 51 238 440 NT NT NT NT NT NT
27.2 60 101 849 NT NT NT NT NT NT
27.3 108 19 1766 NT 658 NT NT 138 NT
30.1 38 179 428 NT NT NT NT NT NT
Continua na próxima página
80
Tabela 6 – continuação da página anterior
Instâncias
Conjunto
Pareto ótimo
Superconjunto
do PLS
Superconjunto
do KLS
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
30.2 86 91 1186 NT NT NT NT NT NT
30.3 116 25 2096 NT 3276 NT NT NT NT
33.1 52 212 595 NT NT NT NT NT NT
33.2 68 139 1262 NT NT NT NT NT NT
33.3 135 17 2321 NT 1646 NT NT NT NT
35.1 101 261 688 NT NT NT NT NT NT
35.2 68 120 1418 NT NT NT NT NT NT
35.3 134 19 2413 NT 2928 NT NT NT NT
Figura 6: Fronteira de Pareto e superconjunto da instância 7.1 correlated do conjuntoCOMPL
81
Figura 7: Fronteira de Pareto e superconjunto da instância 7.1 anti-correlated do conjuntoCOMPL
Figura 8: Fronteira de Pareto e superconjunto da instância 7.1 concave do conjuntoCOMPL
Os dois únicos algoritmos que executaram para todos os grafos completos foram o SR
e o SS. A Tabela 7 detalha os resultados destes algoritmos para cada instância, de cada
grupo.
Os resultados para os algoritmos CLY, PGL e LMKS são detalhados de uma única vez
na Tabela 8 (os resultados dos algoritmos anteriores precisaram ser divididos em diversas
tabelas por questões de espaço). O tempo despendido pelos algoritmos CLY e PGL para
instâncias pequenas foi, novamente, bastante reduzido, e tende a 0. O algoritmo LMKS,
entretanto, apresentou tempo superior que os outros dois mesmo para instâncias pequenas
82
(ver, por exemplo, instâncias de tamanho 5). Isso pode ser justificado da seguinte maneira:
o LMKS necessita resolver, a cada iteração, um modelo de programação matemática,
com o uso do SIMPLEX, e a quantidade de iterações é da ordem da quantidade de
soluções eficientes. Por exemplo, embora a instância 5.1 correlated tenha apenas 7 soluções
eficientes, o LMKS necessita resolver, pelo menos, 7 modelos diferentes, o que toma um
tempo superior comparado com os algoritmos CLY e PGL. Portanto, para o LMKS,
não importa somente o tamanho da instância, mas também a quantidade de soluções
eficientes. As instâncias concave e anti-correlated foram as mais difíceis para o LMKS,
não conseguindo terminar para instâncias com mais de 12 vértices de ambos os grupos.
As instâncias dos grupos concave e anti-correlated também foram as mais difíceis para o
CLY e o PGL. Este último, por exemplo, apresentou um elevado tempo de execução para
instâncias com 15 ou mais vértices de ambos os grupos. Já o CLY conseguiu encontrar o
conjunto de soluções eficientes para um grafo concave com 20 vértices e um grafo correlated
com 35 vértices, mas não conseguiu terminar para instâncias anti-correlated com mais de
12 vértices.
Tabela 7: Tempo despendido, em segundos, pelos algoritmos SR e SS aplicados àsinstâncias COMPL de 25 a 50 vértices
InstânciasSR SS
Conc. Corr. Anticorr. Conc. Corr. Anticorr.
25.2 8,17 0,33 13,34 0,0908 0,0829 1,9295
25.3 5,79 0,04 46,45 0,1247 0,0534 4,5789
27.1 12,34 2,02 5,38 0,0660 0,2603 1,2399
27.2 5,38 0,71 17,44 0,074 0,1030 3,6969
27.3 11,08 0,08 49,25 0,0883 0,0602 4,6838
30.1 15,84 2,47 8,41 0,0637 0,1875 1,5051
30.2 19,07 1,17 38,91 0,0886 0,1021 6,0159
30.3 18,06 0,34 89,36 0,1135 0,0548 7,9327
33.1 23,54 2,92 16 0,0741 0,2989 2,3837
33.2 25,03 2,24 61,21 0,0784 0,1417 9,9143
33.3 26,77 0,59 94,12 0,1452 0,0590 12,1014
35.1 35,1 5,88 28,98 0,1013 0,4234 2,2660
35.2 39,88 2,78 73,43 0,0804 0,1677 11,1601
35.3 53,24 0,3 134,96 0,1249 0,0571 13,7568
38.1 46,82 7,02 28,13 0,1307 0,2371 2,7610
38.2 47,48 7,44 102,89 0,1710 0,2039 9,4535
Continua na próxima página
83
Tabela 7 – continuação da página anterior
InstânciasSR SS
Conc. Corr. Anticorr. Conc. Corr. Anticorr.
38.3 41,06 1,4 194,96 0,2480 0,0691 14,7756
40.1 37,69 10,49 63,77 0,0277 0,3208 3,2781
40.2 42,08 8,31 138,79 0,0936 0,2291 12,9237
40.3 78,91 2,47 230,32 0,1395 0,0698 16,8341
42.1 98,55 17,99 101,87 0,1656 0,4359 3,4873
42.2 66,19 11,77 224,87 0,1097 0,2905 13,4436
42.3 67,06 3,66 228,65 0,1492 0,0738 20,7324
45.1 66,17 35,9 177,56 0,0430 0,4884 6,5303
45.2 103,53 21,8 260,92 0,1446 0,3185 12,2080
45.3 146,15 1,74 363,18 0,2426 0,0738 25,5154
48.1 38,52 27,68 169,07 0,0828 0,6164 6,0404
48.2 83,47 29,32 403,21 0,1239 0,2570 18,4052
48.3 172,97 4,17 442,37 0,2138 0,0808 31,5516
50.1 124,1 53,49 260,68 0,1505 1,0524 8,1677
50.2 168,73 27,95 404,52 0,2753 0,2167 19,9057
50.3 155,6 11,83 497,97 0,5557 0,0840 34,8007
Tabela 8: Tempo despendido, em segundos, pelos algoritmos CLY , PGL, LMKS aplicadosàs instâncias COMPL de 5 a 25 vértices
InstânciasCLY PGL LMKS
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
5.1 0,001 0,001 0,001 0,001 0,001 0,001 0,04 0,16 0,06
5.2 0,001 0,001 0,001 0,001 0,001 0,001 0,05 0,04 0,22
5.3 0,001 0,001 0,02 0,001 0,001 0,03 0,03 0,03 1,24
7.1 0,01 0,01 0,1 0,08 0,06 0,11 1,38 1,01 2
7.2 0,01 0,001 0,28 0,09 0,001 0,32 2,36 0,17 6,91
7.3 0,01 0,001 15,75 0,05 0,001 1,94 1,77 0,16 NT
10.1 1,1 0,2 5,18 11,09 6,4 11,78 669,86 20,09 95,24
10.2 0,16 0,01 1138,62 7,99 1,52 39,71 3 256,33 12,77 7438,96
10.3 1,05 0,001 NT 17,21 0,35 627,18 4467 1,16 NT
12.1 1 184,99 7204,77 139,6 230,22 444,74 NT 448 8058,19
Continua na próxima página
84
Tabela 8 – continuação da página anterior
InstânciasCLY PGL LMKS
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
12.2 2,48 0,02 NT 160,49 16,9 1883,89 NT 232,44 NT
12.3 6,7 0,001 NT 247,34 3,63 27132,7 NT 0,61 NT
15.1 30370,6 10,72 NT NT NT NT NT 12660 NT
15.2 27310 0,16 NT NT 6513,85 NT NT 2 667,1 NT
15.3 13789,7 0,02 NT NT 340,84 NT NT 245,63 NT
17.1 NT NT NT NT NT NT NT 6932,4 NT
17.2 NT 79,97 NT NT NT NT NT 131289 NT
17.3 11674,7 0,09 NT NT NT NT NT 165,8 NT
20.1 NT NT NT NT NT NT NT NT NT
20.2 9670,51 33,64 NT NT NT NT NT NT NT
20.3 NT 0,12 NT NT NT NT NT 20506,8 NT
22.1 NT NT NT NT NT NT NT NT NT
22.2 NT 1890,46 NT NT NT NT NT NT NT
22.3 NT 0,13 NT NT NT NT NT NT NT
25.1 NT NT NT NT NT NT NT NT NT
25.2 NT NT NT NT NT NT NT NT NT
25.3 NT 0,22 NT NT NT NT NT NT NT
27.1 NT NT NT NT NT NT NT NT NT
27.2 NT NT NT NT NT NT NT NT NT
27.3 NT 5,59 NT NT NT NT NT NT NT
30.1 NT NT NT NT NT NT NT NT NT
30.2 NT NT NT NT NT NT NT NT NT
30.3 NT 54,16 NT NT NT NT NT NT NT
33.1 NT NT NT NT NT NT NT NT NT
33.2 NT NT NT NT NT NT NT NT NT
33.3 NT 57,96 NT NT NT NT NT NT NT
35.1 NT NT NT NT NT NT NT NT NT
35.2 NT NT NT NT NT NT NT NT NT
35.3 NT 680,7 NT NT NT NT NT NT NT
Por fim, os gráficos das Figuras 9, 10 e 11 exibem as curvas do tempo médio despen-
dido para todos os algoritmos (correlated, anti-correlated e concave, respectivamente), em
função do tamanho das instâncias. Os gráficos das Figuras 20 e 21 do Apêndice A mos-
85
tram tais grafos com uma escala maior. Assim, é possível visualizar melhor o desempenho
de cada método. De acordo com a Figura 9, vê-se que o tempo despendido pelo LMKS
cresce mais rapidamente, seguido pelo PGL, KLS, PLS, CLY e RA. Nota-se que o CLY
chega a ser melhor que o PGL para instâncias correlated e concave, e pior para instâncias
anti-correlated. Essa observação tem lugar malgrado a semelhança dos algoritmos CLY
e PGL. Para os algoritmos SR e SS, percebe-se que, no caso das instâncias correlated,
o primeiro apresentou tempo inferior que o segundo para instâncias de tamanho até 15.
Porém, como mencionado no início desta subseção, o algoritmo que apresentou o melhor
desempenho, medido pelo tempo despendido conforme cresce o tamanho da instância,
foi o SS. Ele obteve excelentes resultados até mesmo para instâncias de 50 vértices anti-
correlated (34,8 segundos, contra 497,97 segundos do SR). Pode-se dizer que o SR foi o
segundo melhor. Os gráficos das Figuras 22, 23 e 24 do Apêndice A mostram a curva de
crescimento médio do tempo, em função do tamanho da instância (de 5 a 50 vértices),
apenas para estes dois algoritmos.
Figura 9: Curva do tempo em função do tamanho das instâncias correlated do conjuntoCOMPL para os algoritmos que geram um conjunto de soluções
86
Figura 10: Curva do tempo em função do tamanho das instâncias anti-correlated doconjunto COMPL para os algoritmos que geram um conjunto de soluções
Figura 11: Curva do tempo em função do tamanho das instâncias concave do conjuntoCOMPL para os algoritmos que geram um conjunto de soluções
4.3.1.2 Experimentos com grafos grades
Esta subseção apresenta os resultados apenas para grafos grades. A Tabela 9 contém
os resultados detalhados de instâncias correlated e anti-correlated para os algoritmos RA,
SR, SS, PLS e KLS. As instâncias grades possuem densidade menor que as instâncias
completas, e, por isso, alguns algoritmos que não conseguiram resolver instâncias com-
pletas com um determinado tamanho, podem conseguir resolver uma instância grade de
mesmo tamanho (e mesmo grupo). É o caso, por exemplo, do algoritmo RA que conse-
87
guiu resolver instâncias grades correlated com até 44 vértices, e anti-correlated com até 30
vértices. Os algoritmos PLS e KLS também conseguiram resolver instâncias grades cor-
related de tamanho maior, mas o primeiro consumiu um tempo excessivo para instâncias
anti-correlated com 18 ou mais vértices, e o segundo para instâncias anti-correlated com
25 ou mais. Novamente, porém, no que se refere às instâncias correlated, o PLS foi mais
eficiente que o KLS. No entanto, é preciso ressaltar que, como o PLS e o KLS retornam
um superconjunto de soluções eficientes, a quantidade destas influencia bastante no de-
sempenho dos algoritmos, e não somente o tamanho da instância. A Tabela 10 contém
as quantidades de pontos da Fronteira de Pareto e dos superconjuntos encontrados por
ambos os algoritmos. A Figura 12 ilustra, por meio de uma nuvem de pontos, a fronteira
e os superconjuntos de uma instância grade correlated de tamanho 52. Da mesma forma
que para grafos completos, todos os pontos da fronteira pertencem ao superconjunto en-
contrado pelo Kruskal-like que, por sua vez, está contido no superconjunto do Prim-like.
O Apêndice B contém outras nuvens de pontos para outras instâncias grades.
Tabela 9: Tempo despendido, em segundos, pelos algoritmos RA, SR, SS, PLS e KLSaplicados às instâncias GRID de 6 a 58 vértices
No de
Vértices
RA SR SS PLS KLS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
6 0,001 0,001 0,001 0,001 0,0168 0,0538 0,001 0,001 0,001 0,001
12 0,001 0,001 0,001 0,02 0,0517 0,0594 0,001 0,18 0,04 1,98
18 0,03 0,54 0,001 0,08 0,0550 0,0701 0,001 NT 0,26 960,73
20 0,12 1,95 0,001 0,08 0,0524 0,0861 0,01 NT 0,37 533,22
24 0,14 2957,96 0,001 0,45 0,0565 0,1542 0,03 NT 1,44 NT
27 1,56 31282,3 0,001 0,29 0,0546 0,1830 0,26 NT 7,24 NT
30 0,24 36783,12 0,001 0,31 0,0525 0,1805 0,13 NT 16,4 NT
33 39,23 NT 0,02 0,95 0,0593 0,4194 0,48 NT 30,13 NT
36 642,74 NT 0,02 0,79 0,0531 0,3732 6,95 NT 67,75 NT
38 755,33 NT 0,02 0,32 0,0590 0,1984 0,89 NT 24,74 NT
40 2558,6 NT 0,01 1,06 0,0580 0,6972 0,98 NT 86,6 NT
42 828,73 NT 0,01 1,25 0,0546 0,7207 1,21 NT 166,86 NT
44 75261 NT 0,03 2,12 0,0594 1,4568 459 NT 664,46 NT
48 NT NT 0,02 1,67 0,0582 1,1965 3,14 NT 675,63 NT
50 NT NT 0,04 2,92 0,0607 1,9056 15,01 NT 802,28 NT
52 NT NT 0,03 0,86 0,0599 0,4989 3,86 NT 407,59 NT
55 NT NT 0,09 4,33 0,0658 1,8081 6801 NT 3328,25 NT
Continua na próxima página
88
Tabela 9 – continuação da página anterior
No de
Vértices
RA SR SS PLS KLS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
58 NT NT 0,07 1,34 0,0605 0,6980 7 NT 1146,45 NT
Tabela 10: Cardinalidade do Conjunto Pareto Ótimo e dos superconjuntos gerados pelosalgoritmos PLS e KLS para instâncias GRID de 6 a 58 vértices
No de
Vértices
Conjunto
Pareto ótimo
Superconjunto
do PLS
Superconjunto
do KLS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
6 1 6 1 15 1 8
12 2 26 2 336 2 170
18 3 50 4 NT 4 3314
20 8 100 15 NT 15 3941
24 10 158 24 NT 18 NT
27 8 160 81 NT 27 NT
30 5 159 8 NT 6 NT
33 17 321 336 NT 252 NT
36 14 239 210 NT 72 NT
38 15 171 189 NT 40 NT
40 17 348 168 NT 48 NT
42 8 313 48 NT 32 NT
44 19 480 10856 NT 480 NT
48 17 395 102 NT 64 NT
50 19 475 1168 NT 256 NT
52 18 241 194 NT 120 NT
55 22 544 21780 NT 552 NT
58 15 326 432 NT 96 NT
89
Figura 12: Fronteira de Pareto e superconjunto da instância 52 correlated do conjuntoGRID
Tabela 11: Tempo despendido, em segundos, pelos algoritmos SR e SS aplicados àsinstâncias GRID de 60 a 100 vértices
No de
Vértices
SR SS
Corr. Anticorr. Corr. Anticorr.
60 0,21 4,3 0,0701 4,1126
63 0,04 4,64 0,0602 3,2605
66 0,06 5,51 0,0698 4,5812
68 0,06 4,78 0,0699 1,9109
70 0,12 8,98 0,0725 6,5888
75 0,34 8,07 0,0875 5,8326
77 0,3 8,92 0,0875 9,8286
80 0,18 13,16 0,0865 10,7651
82 0,06 5,18 0,0671 5,1546
86 0,05 8,54 0,0722 4,9191
90 0,76 25,97 0,1347 27,7057
93 0,14 11,20 0,0783 10,2247
96 0,21 8,53 0,0843 7,0400
100 0,29 27,16 0,0903 24,5149
A Tabela 11 complementa a Tabela 9 com relação aos resultados dos algoritmos SR e
SS para instâncias grades correlated e anti-correlated. As Figuras 25 e 26 do Apêndice A
90
exibem a curva do tempo médio despendido pelos algoritmos SR e SS, em função do ta-
manho das instâncias correlated e anti-correlated, respectivamente. Novamente, conforme
cresce o tamanho das instâncias, a curva do tempo do SR cresce mais rapidamente que a
do SS. Assim, pode-se dizer que o SS teve o melhor desempenho para instâncias grandes.
Entretanto, é preciso perceber que para instâncias correlated de até 52 vértices, o SR
consumiu menos tempo. Do mesmo modo que antes, tal fenômeno pode se justificar face
às etapas de pré-processamento efetuadas pelo SS, as quais tomam um tempo superior
ao tempo consumido pelo algoritmo sem pré-processamento. Assim, conclui-se que, em-
bora o pré-processamento contribua significativamente na redução do tempo do algoritmo
Branch-and-bound de Sourd e Spanjaard (2008) para instâncias de grande tamanho, o
mesmo não se verifica necessariamente para instâncias de pequeno porte. O algoritmo de
Sourd e Spanjaard (2008), portanto, é mais indicado para instâncias grandes.
Ainda é preciso salientar que as instâncias anti-correlated levaram os algoritmos a
tomarem um tempo de processamento superior quando comparado às correlated de mesmo
tamanho. As Figuras 27 e 28 do Apêndice A ilustram tal diferença, tanto para grafos
grades quanto para grafos completos, através da curva de crescimento do tempo em função
do tamanho da instância, para os algoritmos SR e SS, respectivamente. Através de tais
figuras também é possível visualizar a diferença do tempo associado às instâncias grades
e completas.
Tabela 12: Tempo despendido, em segundos, pelos algoritmos CLY , PGL e LMKSaplicados às instâncias GRID
No de
Vértices
CLY PGL LMKS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
6 0,001 0,001 0,001 0,001 0,03 0,14
12 0,001 0,22 0,02 0,5 0,22 2,41
18 0,001 1075,46 3,28 73,7 0,87 123,08
20 0,001 2210,45 18,88 3410,31 4,32 280,41
24 0,01 NT NT NT 341,12 NT
27 0,07 NT NT NT 985,82 NT
30 0,02 NT NT NT 653,94 NT
33 0,16 NT NT NT 48725,3 NT
36 2,71 NT NT NT NT NT
38 0,23 NT NT NT NT NT
40 0,17 NT NT NT NT NT
Continua na próxima página
91
Tabela 12 – continuação da página anterior
No de
Vértices
CLY PGL LMKS
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
42 0,18 NT NT NT NT NT
44 310,86 NT NT NT NT NT
48 0,5 NT NT NT NT NT
50 5,26 NT NT NT NT NT
52 0,73 NT NT NT NT NT
55 8678,31 NT NT NT NT NT
58 1,15 NT NT NT NT NT
60 6281,08 NT NT NT NT NT
63 5,16 NT NT NT NT NT
66 323,51 NT NT NT NT NT
68 7,26 NT NT NT NT NT
70 222,97 NT NT NT NT NT
75 NT NT NT NT NT NT
A Tabela 12 lista dos resultados para os algoritmos CLY, PGL e LMKS aplicados
a instâncias grades. O CLY teve melhor desempenho que os outros dois, conseguindo
encontrar o conjunto Pareto ótimo para grafos correlated de até 70 vértices. Além disso, o
CLY também obteve desempenho melhor que o RA, para instâncias correlated, pois este
último não terminou em tempo hábil para instâncias correlated com mais de 44 vértices;
o CLY também levou menos tempo que o próprio SS para instâncias correlated de até 30
vértices. O PGL não conseguiu terminar (em tempo hábil) para instâncias correlated com
24 ou mais vértices. O LMKS executou para instâncias correlated de até 33 vértices, e
anti-correlated de até 20 vértices. Lembre-se que a quantidade de modelos resolvidos pelo
LMKS é da ordem da quantidade de soluções eficientes, logo, quanto maior a Fronteira de
Pareto, mais modelos devem ser otimizados, e maior será o tempo de processamento. As
Figuras 13 e 14 ilustram a curva do tempo de todos os algoritmos desta seção, em função
do tamanho das instâncias grades.
92
Figura 13: Curva do tempo em função do tamanho das instâncias correlated do conjuntoGRID para os algoritmos que geram um conjunto de soluções
Figura 14: Curva do tempo em função do tamanho das instâncias anti-correlated doconjunto GRID para os algoritmos que geram um conjunto de soluções
4.3.2 Algoritmos baseados em preferência
Esta subseção compara os desempenhos computacionais dos algoritmos Prim-like de
Perny e Spanjaard (2005) com dominância de Pareto retornando uma única solução
(PLU), Kruskal-like de Perny e Spanjaard (2005) com dominância de Pareto retornando
uma única solução (KLU), Prim-like com ordem lexicográfica (PLL), Kruskal-like com or-
dem lexicográfica (KLL), optimalcutsetP de Alonso et al. (2009) com ordem lexicográfica
93
(OPTPL), optimalcutsetK de Alonso et al. (2009) com ordem lexicográfica (OPTKL),
Ranking de Galand, Perny e Spanjaard (2010a) (CR), Branch-and-Bound de Galand,
Perny e Spanjaard (2010a) (CBB).
4.3.2.1 Experimentos com grafos completos
Esta subseção apresenta os resultados apenas para grafos completos. A Tabela 13
apresenta os resultados do tempo computacional consumido pelos algoritmos PLL, KLL,
OPTPL e OPTKL. A partir dos valores desta tabela, construiu-se os gráficos das Figuras
15, 16 e 17, que ilustram a curva do tempo em função do tamanho da instância para os
grupos concave, correlated e anti-correlated, respectivamente. Reforça-se que Alonso et
al. (2009) afirmaram que os algoritmos de Perny e Spanjaard (2005) seriam ineficientes
porque precisam verificar, a cada iteração, se soluções duplicatas foram geradas. Aqueles
autores prometeram, pois, eliminar tal necessidade, concebendo algoritmos mais eficientes.
Observando as curvas dos gráficos mencionados e os valores da Tabela 13, pode-se concluir
que, para as instâncias do conjunto COMPL, o algoritmo OPTKL foi de fato bem mais
eficiente que o KLL. Este último demandou um tempo excessivamente elevado para ins-
tâncias concave com 40 ou mais vértices, correlated com 45 ou mais e anti-correlated com
42 ou mais. Diz-se que, para tais instâncias, o KLL não terminou (NT) devido o tempo
exigido. Por esta razão, percebe-se que a curva do tempo do KLL, em função do tamanho
da instância, cresce muito mais rápido que a do OPTKL, para os três grupos. No que
se refere ao PLL e OPTPL, este último apresentou melhor desempenho que o primeiro
para instâncias concave, como se vê no gráfico da Figura 15, mas apresentou desempenho
inferior para as instâncias correlated e anti-correlated (ver os gráficos das Figuras 16 e 17,
respectivamente). Estes algoritmos, trabalhando com a ordem lexicográfica como relação
de preferência, devem gerar, claro, apenas um único ponto no espaço objetivo, mas geram
as várias possíveis árvores associadas a este mesmo ponto.
Tabela 13: Tempo despendido, em segundos, pelos algoritmos PLL, KLL, OPTPL eOPTKL aplicados às instâncias do conjunto COMPL
InstânciasPLL KLL OPTPL OPTKL
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
5.1 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001
7.1 0,001 0,001 0,001 0,01 0,01 0,01 0,001 0,001 0,001 0,001 0,001 0,001
10.1 0,001 0,001 0,001 0,3 0,2 0,16 0,001 0,001 0,001 0,001 0,001 0,001
12.1 0,01 0,01 0,01 1,42 0,66 0,79 0,01 0,01 0,01 0,01 0,001 0,01
Continua na próxima página
94
Tabela 13 – continuação da página anterior
InstânciasPLL KLL OPTPL OPTKL
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
15.1 0,06 0,03 0,03 10,32 4,75 4,65 0,05 0,05 0,05 0,05 0,05 0,06
17.1 0,2 0,05 0,05 46,1 17,74 13,32 0,03 0,09 0,1 0,1 0,14 0,13
20.1 0,22 0,12 0,12 231,67 49,23 43,55 0,14 0,26 0,25 0,16 0,42 0,4
22.1 0,24 0,21 0,2 161,22 109,51 69,22 0,28 0,48 0,49 0,7 0,87 0,94
25.1 0,55 0,4 0,38 846,74 299,19 237,04 0,56 1,14 1,15 1,05 2,06 2,05
27.1 1,98 0,6 0,59 3324,28 594,39 376,23 3,8 1,89 1,91 1,24 3,55 3,39
30.1 5,89 1,26 1,01 23475 1294,72 1135,59 3,19 3,86 3,86 3,21 7,44 6,59
33.1 9,02 1,63 1,63 23942,8 1288,38 2140,57 12,34 8,45 7,56 5,72 13,82 15,3
35.1 2,59 2,26 2,16 5047,79 4043,3 3456,21 11,4 11,22 11,02 16,22 23,13 23,39
38.1 4,93 3,4 3,77 12657,8 7207,91 5383,96 11,83 19,4 12,5 24,64 36,74 37,46
40.1 34,26 4,36 4,34 NT NT 10467,3 17,56 27,53 27,84 44,16 55,94 49,46
42.1 14,58 5,23 5,36 NT 8373,93 NT 85,28 39,15 40,14 45,95 74,38 73,35
45.1 57,23 7,5 8,56 NT NT NT 8,24 63,54 66,9 25,4 134,66 117,2
48.1 35734,8 11,05 12,42 NT NT NT 380,77 97,73 92,03 188,9 198,55 197,43
50.1 38,93 14,74 13,88 NT NT NT 136,33 135,81 136,64 139,54 237,34 294,22
Figura 15: Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e OPTKLem função do tamanho das instâncias concave do conjunto COMPL
95
Figura 16: Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e OPTKLem função do tamanho das instâncias correlated do conjunto COMPL
Figura 17: Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e OPTKLem função do tamanho das instâncias anti-correlated do conjunto COMPL
A Tabela 14 detalha os resultados para os algoritmos PLU, KLU, CR e CBB. Os dois
primeiros apresentaram tempo muito baixo, em todas as instâncias, de todos os grupos.
Além disso, a variação de tempo do PLU e KLU, quando varia-se o tamanho da instância,
é muito pequena. Este resultado é coerente, haja vista que ambos os algoritmos retornam
apenas uma solução de compromisso (sem necessidade de construir todo o conjunto de
soluções maximais).
Diferentemente do algoritmo CR, o CBB não conseguiu terminar para todas as ins-
tâncias. Desta vez, contudo, diferentemente dos algoritmos analisados na Seção 4.3.1,
96
dizer que o CBB “não terminou” não remete somente ao alto tempo despendido no pro-
cessamento, mas também ao consumo de memória. Como salientaram Galand, Perny e
Spanjaard (2010a), o CBB, conforme cresce o tamanho da instância, apresenta um altís-
simo consumo de memória, chegando a atingir o limite de 4GB. O CBB não terminou
para instâncias anti-correlated e concave com mais de 22 vértices, e correlated com mais
de 40 vértices. Os gráficos das Figuras 29, 30 e 31 do Apêndice A ilustram as curvas de
tempo para os algoritmos PLU, KLU, CR e CBB.
Tabela 14: Tempo despendido, em segundos, pelos algoritmos PLU , KLU , CR e CBBaplicados às instâncias do conjunto COMPL
InstânciasPLU KLU CR CBB
Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr. Conc. Corr. Anticorr.
5.1 0,001 0,001 0,001 0,001 0,001 0,001 0,04 0,04 0,03 0,001 0,001 0,001
7.1 0,001 0,001 0,001 0,001 0,001 0,001 0,09 0,07 0,07 0,001 0,01 0,01
10.1 0,001 0,001 0,001 0,001 0,001 0,001 0,1 0,11 0,11 0,01 0,001 0,001
12.1 0,001 0,001 0,001 0,001 0,001 0,001 0,15 0,13 0,15 0,001 0,02 0,15
15.1 0,001 0,01 0,001 0,001 0,01 0,001 0,21 0,24 0,16 0,03 0,22 0,04
17.1 0,001 0,001 0,001 0,01 0,001 0,001 0,2 0,24 0,26 0,05 0,06 4,55
20.1 0,01 0,001 0,01 0,001 0,001 0,001 0,29 0,32 0,4 0,45 0,39 NT
22.1 0,01 0,001 0,01 0,01 0,001 0,001 0,42 0,51 0,64 0,18 8,97 3152,37
25.1 0,01 0,01 0,001 0,001 0,01 0,01 0,75 0,48 0,68 NT 0,49 NT
27.1 0,01 0,01 0,01 0,01 0,01 0,01 0,78 0,81 0,58 NT 2,37 NT
30.1 0,01 0,02 0,01 0,01 0,02 0,01 1,19 0,91 0,79 NT 0,23 NT
33.1 0,01 0,02 0,02 0,01 0,02 0,02 1,34 1,15 1,13 NT 51,16 NT
35.1 0,02 0,02 0,02 0,01 0,02 0,02 1,1 1,38 1,36 NT 129,74 NT
38.1 0,03 0,02 0,03 0,02 0,03 0,02 1,86 1,61 2,1 NT 1,05 NT
40.1 0,03 0,04 0,03 0,02 0,04 0,03 1,89 2,5 2,12 NT NT NT
42.1 0,04 0,04 0,03 0,03 0,02 0,03 2,36 1,97 3,42 NT NT NT
45.1 0,05 0,04 0,04 0,04 0,04 0,03 3,37 2,54 3,3 NT NT NT
48.1 0,06 0,08 0,05 0,05 0,05 0,06 4,45 3,09 3,53 NT NT NT
50.1 0,06 0,07 0,07 0,06 0,05 0,05 2,36 3,69 2,96 NT NT NT
4.3.2.2 Experimentos com grafos grades
Ainda na análise de desempenho dos algoritmos baseados em preferência, apresentas-
se, pois, nesta subseção, os resultados referentes aos grafos grades, detalhados na Tabela
15 para os algoritmos PLL, KLL, OPTPL e OPTKL. Os gráficos das Figuras 18 e 19,
97
desta subseção, ilustram a curva de crescimento do tempo destes algoritmos em função
do tamanho da instância. O OPTKL teve melhor desempenho que o KLL, em todas as
instâncias; a única exceção foi a de tamanho 6, cujo tempo, em ambos os algoritmos,
foi 0,001 segundos. Como esperado, a curva do KLL cresce mais rapidamente que a do
OPTKL. Por outro lado, diferentemente do que aconteceu para os grafos completos, o
OPTPL conseguiu ser melhor que o PLL, tanto para o grupo correlated, quanto para o
anti-correlated, conforme mostram os valores da tabela e das figuras já referenciadas.
Tabela 15: Tempo despendido, em segundos, pelos algoritmos PLL, KLL, OPTPL eOPTKL aplicados às instâncias GRID
No de
Vértices
PLL KLL OPTPL OPTKL
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
6 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001
12 0,001 0,001 0,01 0,01 0,001 0,001 0,001 0,001
18 0,001 0,001 0,05 0,05 0,001 0,001 0,001 0,001
20 0,001 0,001 0,09 0,08 0,001 0,001 0,001 0,001
24 0,001 0,001 0,26 0,24 0,001 0,001 0,001 0,001
27 0,01 0,01 0,45 0,46 0,001 0,001 0,001 0,001
30 0,01 0,01 1,02 0,61 0,001 0,001 0,01 0,01
33 0,02 0,02 1,03 1,04 0,01 0,001 0,01 0,01
36 0,02 0,02 1,44 1,48 0,01 0,01 0,02 0,02
38 0,02 0,02 1,47 1,85 0,001 0,001 0,02 0,02
40 0,03 0,03 2,78 2,73 0,01 0,02 0,04 0,04
42 0,03 0,03 3,48 3,7 0,01 0,02 0,04 0,04
44 0,04 0,04 4,12 4,07 0,02 0,02 0,05 0,05
48 0,05 0,05 8,88 6,12 0,04 0,03 0,07 0,07
50 0,06 0,06 9,04 9,25 0,04 0,04 0,09 0,09
52 0,05 0,05 6,64 5,33 0,02 0,02 0,06 0,06
55 0,08 0,08 11,48 10,8 0,06 0,06 0,13 0,14
58 0,07 0,07 10,02 8,19 0,02 0,03 0,1 0,1
60 0,1 0,11 17,1 18,1 0,1 0,1 0,18 0,2
63 0,1 0,11 17,38 18,88 0,05 0,05 0,19 0,19
66 0,15 0,14 34,54 28,44 0,13 0,12 0,28 0,28
68 0,11 0,1 17,09 19,48 0,06 0,03 0,19 0,18
70 0,18 0,18 32,81 34,43 0,16 0,17 0,36 0,36
75 0,22 0,21 48,97 44,22 0,2 0,14 0,43 0,44
77 0,24 0,24 68,46 58,37 0,17 0,19 0,54 0,52
80 0,28 0,27 74,58 62,44 0,25 0,22 0,64 0,62
82 0,19 0,21 37,44 38,51 0,09 0,08 0,36 0,38
86 0,22 0,22 49,44 66,19 0,08 0,1 0,46 0,46
Continua na próxima página
98
Tabela 15 – continuação da página anterior
No de
Vértices
PLL KLL OPTPL OPTKL
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
90 0,42 0,4 98,59 117,84 0,37 0,35 1,02 1,04
93 0,36 0,34 92,32 105,43 0,22 0,21 0,85 0,84
96 0,3 0,29 76,95 117,5 0,08 0,08 0,71 0,72
100 0,56 0,54 265,01 185,46 0,49 0,46 1,62 1,51
Figura 18: Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e OPTKLem função do tamanho das instâncias correlated do conjunto GRID
Figura 19: Curvas do tempo despendido pelos algoritmos PLL, KLL, OPTPL e OPTKLem função do tamanho das instâncias anti-correlated do conjunto GRID
99
Tabela 16: Tempo despendido, em segundos, pelos algoritmos PLU , KLU , CR e CBBaplicados às instâncias GRID
No de
Vértices
PLU KLU CR CBB
Corr. Anticorr. Corr. Anticorr. Corr. Anticorr. Corr. Anticorr.
6 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,001
12 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,01
18 0,001 0,001 0,001 0,001 0,001 0,001 0,001 0,05
20 0,001 0,001 0,001 0,001 0,001 0,23 0,01 0,13
24 0,001 0,001 0,001 0,001 0,01 0,01 0,01 0,12
27 0,001 0,001 0,001 0,001 0,01 0,01 0,02 100,85
30 0,001 0,001 0,001 0,001 0,01 0,01 0,02 2,58
33 0,01 0,03 0,01 0,01 0,01 0,01 0,1 6,5
36 0,001 0,001 0,01 0,01 0,01 0,01 0,06 1406,79
38 0,001 0,001 0,01 0,01 0,01 0,01 0,04 843,67
40 0,001 0,001 0,01 0,01 0,01 0,01 0,09 610,03
42 0,001 0,001 0,01 0,01 0,01 0,01 0,09 1150,33
44 0,001 0,001 0,01 0,01 0,01 0,01 1,08 235,42
48 0,01 0,001 0,01 0,01 0,01 0,92 0,35 NT
50 0,001 0,001 0,01 0,01 0,01 0,01 0,62 NT
52 0,001 0,001 0,01 0,01 0,01 0,01 0,29 NT
55 0,001 0,01 0,01 0,02 0,01 0,01 1,12 NT
58 0,01 0,02 0,01 0,02 0,01 0,01 1,67 NT
60 0,01 0,02 0,01 0,02 0,01 0,01 21,68 NT
63 0,01 0,02 0,01 0,02 0,01 0,01 1,73 NT
66 0,01 0,02 0,01 0,02 0,01 1,53 4,99 NT
68 0,01 0,01 0,01 0,02 0,01 0,01 2,63 NT
70 0,01 0,02 0,01 0,02 0,01 0,01 20,14 NT
75 0,01 0,01 0,01 0,02 0,01 0,01 266,02 NT
77 0,01 0,01 0,01 0,02 0,01 0,01 NT NT
80 0,02 0,01 0,01 0,01 0,01 0,01 NT NT
82 0,01 0,02 0,01 0,02 0,01 0,01 NT NT
86 0,01 0,01 0,01 0,01 0,01 0,01 NT NT
90 0,02 0,01 0,02 0,01 0,01 0,01 NT NT
93 0,01 0,01 0,01 0,01 0,01 0,01 NT NT
96 0,01 0,01 0,01 0,01 0,02 0,03 NT NT
100 0,01 0,01 0,01 0,01 0,03 0,04 NT NT
Finalmente, apresenta-se, na Tabela 16, os resultados referentes aos algoritmos PLU,
KLU, CR e CBB, executados com instâncias grades. Os gráficos das Figuras 32 e 33,
100
do Apêndice A, ilustram a curva de crescimento do tempo em função do tamanho da
instância. Novamente, os algoritmos PLU e KLU, que retornam uma única solução Pareto
ótima, consumem um tempo bastante pequeno. O algoritmo CR também apresentou um
tempo bastante reduzido, menos que 1 segundo, executo para a instância de tamanho 66
anti-correlated, que demandou 1,53 segundos; aliás, diga-se de passagem, mais uma vez se
confirma aqui, bem como para os grafos completos, a hipótese de que as instâncias anti-
correlated são mais difíceis de se tratar. Veja, por exemplo, o caso do algoritmo CBB, que,
por sua vez, não conseguiu terminar para instâncias correlated com mais de 75 vértices, e
anti-correlated com mais de 44. Novamente, esclarece-se que, no caso particular do CBB, o
consumo excessivo de memória, conforme previsto por Galand, Perny e Spanjaard (2010a),
cresce significativamente conforme cresce o tamanho da instância, chegando a inviabilizar
a execução do mesmo.
101
5 Considerações finais
Este trabalho efetuou uma análise experimental dos algoritmos exatos aplicados ao
problema da Árvore Geradora Multiobjetivo, classificando-os de acordo com seus respec-
tivos métodos e desempenhos. De modo geral, o algoritmo de Sourd e Spanjaard (2008)
obtive o melhor desempenho para instâncias de grande porte. Porém, tal algoritmo, para
instâncias correlated de pequeno porte, apresentou um desempenho levemente inferior ao
do Steiner e Radzik (2003). Por outro lado, todos os algoritmos necessitaram de mais
tempo para executar instâncias do grupo anti-correlated, comparado aos outros grupos.
Mesmo para instâncias do tipo grade, as instâncias anti-correlated demandaram mais
tempo na execução de muitos algoritmos, alguns dos quais não conseguindo nem mesmo
terminar no intervalo de 10 horas. Mas, claro, é preciso reconhecer que, de modo geral,
comparado com grafos completos, os grafos grade demandaram bem menos esforço com-
putacional. Particularmente, no que concerne o algoritmo de programação inteira, não
somente o tamanho da instância influenciou no desempenho, mas também o tamanho da
Fronteira de Pareto. O algoritmo de Lokman e Köksalan (2013) é diretamente influenciado
pela quantidade de pontos eficientes, pois eles determinam a quantidade de iterações e,
consequentemente, a quantidade de modelos otimizados.
Os algoritmos baseados em preferência, por sua vez, têm seus desempenhos considera-
velmente afetados pela relação de preferência passada como parâmetro. Esta conclusão é
natural, pois, ao mudar a relação de preferência, muda-se todo o conceito de solução ótima
adotada pelo algoritmo. Constatou-se que, em alguns casos, os algoritmos de Alonso et al.
(2009) não foram melhores que os de Perny e Spanjaard (2005), com relação lexicográfica.
Além disso, no que se refere aos superconjuntos, pôde-se constatar que o Kruskal-like gera
superconjuntos mais enxutos que o Prim-like.
Por fim, pode-se concluir que este trabalho exerce importante contribuição para a área
de pesquisa em Algoritmos Experimentais, pois classifica os algoritmos exatos aplicados
à AGMO e relata, comparativamente, seus desempenhos computacionais.
102
Referências
AGGARWAL, V.; ANEJA, Y.; NAIR, K. Minimal spanning tree subject to a sideconstraint. Computers Operations Research, v. 9, p. 287–296, 1982.
ALONSO, S. et al. Optimality conditions in preference-based spanning tree problems.European Journal of Operational Research, v. 198, p. 232–240, 2009.
ARROYO, J. E. C.; VIEIRA, P. S.; VIANNA, D. A grasp algorithm for the multi-criteriaminimum spanning tree problem. Annals of Operations Research, v. 159, p. 125–133,2008.
BRASSARD, G.; BRATLEY, P. ALGORITHMICS: Theory and Practice. 1o. ed.Englewood Cliffs, New Jersey: Prentice Hall, 1998.
CAMERINI, P. M.; GALBIATI, G.; MAFFIOLI, F. The complexity of weightedmulti-constrained spanning tree problems. In: Colloquium on the Theory of Algorithms. [S.l.]:Pecs, 1984.
CAYLEY, A. Collected papers. Quarterly Journal of Mathematics, v. 13, p. 26, 1987.
CHEN, G. et al. The multi-criteria minimum spanning tree problem based geneticalgorithm. Information Sciences, v. 117, n. 22, p. 5050–5063, 2007.
CLIMACO, J. C.; PASCOAL, M. M. B. Multicriterio path and tree problems: discussionon exact algorithms and applications. International Transactions in OperationalResearch, p. 1–36, 2011.
CORLEY, H. Efficient spanning trees. Journal of Optimization Theory and Applications,v. 45, 1985.
DAVIS-MORADKHAN, M. Multi-criterion optimization in minimum spanning trees.Studia Informatica Universali, v. 8, p. 185–208, 2010.
DAVIS-MORADKHAN, M.; BROWNE, W. N.; GRINDROD, P. Extending evolutionaryalgorithms to discover tri-criterion and non-supported solutions for the minimumspanning tree problem. In: GECCO ’09 – Genetic and Evolutionary ComputationalConference, 2009, Montréal. Proceedings of the 11th Annual Conference on Genetic andEvolutionary Computation (GECCO ’09). [S.l.]: ACM, New York, 2009. p. 1829–1830.
DRUMOND, P. M. L. L. Mestrado em Sistemas e Computação, Uma AnáliseExperimental de Algoritmos Exatos Aplicados ao Problema da Árvore GeradoraMultiobjetivo. Natal, RN, Brasil: [s.n.], mar. 2012.
EHRGOTT, M.; GANDIBLEUX, X. A survey and annotated bibliography ofmultiobjective combinatorial optimization. OR Spektrum, v. 22, p. 425–460, 2000.
103
GABOW, H. N. Two algorithms for generating weighted spanning trees in order. SiamJournal on Computing, v. 6, n. 1, p. 139–150, 1977.
GALAND, L.; PERNY, P.; SPANJAARD, O. Choquet-based optimisation inmultiobjective shortest path and spanning tree problem. European Journal ofOperational Research, v. 204, p. 303–315, 2010.
GALAND, L.; PERNY, P.; SPANJAARD, O. Multiple criteria decision making forsustainable energy and transportation systems. In: . [S.l.]: Springer, 2010. (LectureNotes in Economics and Mathematical Systems, v. 634), cap. A branch and boundalgorithm for Choquet optimization in multicriteria problems, p. 355–365.
GOLDBARG, M. C.; GOLDBARG, E. Grafos: Conceitos, algoritmos e aplicações. 1o.ed. Rio de Janeiro: Elsevier, 2012.
GOLDBARG, M. C.; LUNA, H. P. L. Otimização Combinatória Programação Linear:Modelos e Algoritmos. 2a. ed. Rio de Janeiro: Elsevier, 2005.
HAMACHER, H.; RUHE, G. On spanning tree problems with multiple objectives.Annals of Operations Research, v. 52, p. 209–230, 1994.
JASZKIEWICZ, A. Genetic local search for multi-objective combinatorial optimization.European Journal of Operational Research, v. 137, p. 50–71, 2002.
JOHNSON, D. S. A theoretician’s guide to the experimental analysis of algorithms. In:Proc. 5th and 6th DIMACS Implementation Challenges (M. Goldwasser, D. S. Johnsonand C. C. MacGeoch, eds). [S.l.]: AMS, Providence RI, 2002. p. 215–250.
KATOH, N.; IBARAKI, T.; MINE, H. An algorithm for finding k minimum spanningtrees. SIAM Journal on Computing, v. 10, n. 2, p. 247–55, 1981.
KNOWLES, J. Local-search and hybrid evolutionary algorithms for Pareto optimization.Tese (Doutorado) — Department of Computer Science, University of Reading, Reading,UK, 2002.
KNOWLES, J.; CORNE, D. Approximating the nondominated front using the paretoarchived evolution strategy. European Journal of Operational Research, v. 8, n. 2, p.149–172, 2000.
KNOWLES, J.; CORNE, D. M-paes: A memetic algorithm for multiobjectiveoptimization. In: Proceedings of the 2000 Congress on Evolutionary Computation. [S.l.:s.n.], 2000. v. 1, p. 325– 332.
KNOWLES, J.; CORNE, D. Comparison of encodings and algorithms for multiobjectivespanning tree problems. In: Proceedings of the 2001 Congress on EvolutionaryComputation. [S.l.]: CEC01, 2001. p. 544–551.
KNOWLES, J.; CORNE, D. Enumeration of pareto optimal multi- criteria spanningtrees – a proof of the incorrectness of zhou and gen’s proposed algorithm. EuropeanJournal of Operational Research, v. 143, p. 543–547, 2002.
KNOWLES, J.; THIELE, L.; ZITZLER, E. A tutorial on the performance assessment ofstochastic multiobjective optimizers. [S.l.], 2006.
104
KRUSKAL, J. On the shortest spanning subtree of a graph and the traveling salesmanproblem. In: Proceedings of the American Mathematical Society. [S.l.: s.n.], 1956. v. 7,n. 1, p. 48–50.
LAUMANNS, M.; THIELE, L.; ZITZLER, E. An efficient, adaptive parameter variationscheme for metaheuristics based on the epsilon-constraint method. European Journal ofOperational Research, v. 169, p. 932–942, 2006.
LOKMAN, B.; KöKSALAN, M. Finding all nondominated points of multi-objectiveinteger programs. Journal of Global Optimization, v. 57, n. 2, p. 347–365, 2013.
MAGNANTI, T. L.; WONG, R. T. Network design and transportation planning: Modelsand algorithms. Transportation Science, v. 18, p. 1–55, 1984.
MONTEIRO, S. M. D. Mestrado em Sistemas e Computação, Algoritmos transgenéticosaplicados ao problema da árvore geradora biobjetivo. Natal, RN, Brasil: [s.n.], fev. 2011.
MONTEIRO, S. M. D.; GOLDBARG, E. F. G.; GOLDBARG, M. C. A plasmidbased transgenetic algorithm for the biobjective minimum spanning tree problem. In:EVOCOP09 - European Conference on Evolutionary Computation in CombinatorialOptimization, 2009, Tübingen. Lecture Notes in Computer Science. [S.l.]: Heidelberg:Springer, 2009. v. 5482, p. 49–60.
MONTEIRO, S. M. D.; GOLDBARG, E. F. G.; GOLDBARG, M. C. A new transgeneticapproach for the biobjective spanning tree problem. In: IEEE CEC 2010 Congress onEvolutionary Computation, 2010, Barcelona. Proceedings of IEEE CEC 2010 Congresson Evolutionary Computation. [S.l.]: Piscataway, IEEE, 2010. v. 1, p. 519–526.
PERNY, P.; SPANJAARD, O. A preference-based approach to spanning trees andshortest paths problems. European Journal of Operational Research, v. 162, p. 584–601,2005.
PRIM, R. C. Shortest connection networks and some generalizations. Bell SystemTechnical Journal, v. 36, p. 1389–1401, 1957.
PUGLIESE, L. D. P.; GUERRIERO, F.; SANTOS, J. F. Dynamic programming forspanning tree problems: application to the multi-objective case. Optimization Letters,v. 9, p. 437–450, 2015.
RAIDL, G. R. An efficient evolutionary algorithm for the degree-constrained minimumspanning tree problem. Proceedings of the 2000 Congress on Evolutionary Computation,CEC, 2000, IEEE Press, p. 104–111, 2000.
RAIDL, G. R.; JULSTROM, B. A. Edge sets: an effective evolutionary coding ofspanning trees. IEEE Transactions on Evolutionary Computation, v. 7, n. 3, p. 225–239,2003.
RAMOS, R. M. et al. The problem of the optimal biobjective spanning tree. EuropeanJournal of Operational Research, v. 111, p. 617–628, 1998.
105
ROCHA, D. A. M.; GOLDBARG, E. F. G.; GOLDBARG, M. C. A memetic algorithmfor the biobjective minimum spanning tree problem. In: 6th European Conference onEvolutionary Computation in Combinatorial Optimization, 2006. Budapeste, LectureNotes in Computer Science. [S.l.]: Heidelberg, Springer Berlin, 2006. v. 3906, p. 222–233.
ROCHA, D. A. M.; GOLDBARG, E. F. G.; GOLDBARG, M. C. A new evolutionaryalgorithm for the bi-objective minimum spanning tree. In: SDA’07 Seventh InternationalConference on Intelligent Systems Design and Applications, 2007, Rio de Janeiro.Proceedings of ISDA’07. [S.l.]: EEE Computer Society, 2007. v. 1, p. 735–740.
ROSINGER, E. E. Beyond preference information based multiple criteria deci- sionmaking. European Journal of Operational Research, v. 53, n. 2, p. 217–227, 1991.
RUZIKA, S.; HAMACHER, H. W. A survey on multiple objective minimum spanningtree problems. In: Lerner, J.,Wagner, D., Zweig, K. (eds) Algorithmics of Large andComplex Networks. Springer-Verlag, Berlin. [S.l.: s.n.], 2009. p. 104–116.
SOURD, F.; SPANJAARD, O. A multiobjective branch-and-bound: application to thebiobjective spanning tree problem. INFORMS Journal on Computing, v. 20, p. 472–484,2008.
STEINER, S.; RADZIK, T. Solving the biobjective minimum spanning tree problem usinga k-best algorithm. [S.l.], 2003.
SYLVA, J.; CREMA, A. A method for finding the set of non-dominated vectors formultiple objective integer linear programs. European Journal of Operational Research,v. 158, p. 46–55, 2004.
SöRENSEN, K.; JANSSENS, G. An algorithm to generate all spanning trees of a graphin order of increasing cost. Pesquisa Operacional, v. 25, n. 2, p. 219–229, 2005.
ZHOU, G.; GEN, M. A multiobjective branch-and-bound: application to the biobjectivespanning tree problem. European Journal of Operational Research, v. 114, p. 141–152,1999.
ÖZLEN, M.; AZIZOGLU, M. Multi-objective integer programming: A general approachfor generating all non-dominated solutions. European Journal of Operational Research,v. 199, p. 25–35, 2009.
106
APÊNDICE A -- Curvas do tempo em funçãodo tamanho das instâncias
Figura 20: Curva do tempo em escala aumentada em função do tamanho das instânciascorrelated do conjunto COMPL para os algoritmos que geram um conjunto de soluções
Figura 21: Curva do tempo em escala aumentada em função do tamanho das instânciasanti-correlated do conjunto COMPL para os algoritmos que geram um conjunto de soluções
107
Figura 22: Curvas do tempo despendido pelos algoritmos SR e SS em função do tamanhodas instâncias correlated do conjunto COMPL
Figura 23: Curvas do tempo despendido pelos algoritmos SR e SS em função do tamanhodas instâncias anti-correlated do conjunto COMPL
108
Figura 24: Curvas do tempo despendido pelos algoritmos SR e SS em função do tamanhodas instâncias concave do conjunto COMPL
Figura 25: Curvas do tempo despendido pelos algoritmos SR e SS em função do tamanhodas instâncias correlated do conjunto GRID
109
Figura 26: Curvas do tempo despendido pelos algoritmos SR e SS em função do tamanhodas instâncias anti-correlated do conjunto GRID
Figura 27: Comparação entre as curvas de crescimento do tempo entre as instâncias doconjunto COMPL e GRID para o algoritmo SR
110
Figura 28: Comparação entre as curvas de crescimento do tempo entre as instâncias doconjunto COMPL e GRID para o algoritmo SS
Figura 29: Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB emfunção do tamanho das instâncias concave do conjunto COMPL
111
Figura 30: Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB emfunção do tamanho das instâncias correlated do conjunto COMPL
Figura 31: Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB emfunção do tamanho das instâncias anti-correlated do conjunto COMPL
112
Figura 32: Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB emfunção do tamanho das instâncias correlated do conjunto GRID
Figura 33: Curvas do tempo despendido pelos algoritmos PLU , KLU , CR e CBB emfunção do tamanho das instâncias anti-correlated do conjunto GRID
113
APÊNDICE B -- Ilustração da Fronteira dePareto e dos superconjuntosgerados pelo algoritmos PLS
e KLS
Figura 34: Fronteira de Pareto e superconjunto da instância 27.3 correlated do conjuntoCOMPL
114
Figura 35: Fronteira de Pareto e superconjunto da instância 12.2 concave do conjuntoCOMPL
Figura 36: Fronteira de Pareto da instância 12.2 concave do conjunto COMPL
115
Figura 37: Fronteira de Pareto e superconjunto da instância 12 anti-correlated do conjuntoGRID
116
ANEXO A -- Axioma da independência
Todas as informações deste texto foram retiradas do artigo de Perny e Spanjaard
(2005). Os autores propuseram uma série de definições, lemas, teoremas e corolários a fim
caracterizar as relações de preferências que podem ser usadas com os algoritmos propostos.
Como se verá adiante, tais relações devem ser, pelo menos, quase-transitivas e satisfazer
o axioma da independência.
Definição 10 Dada uma relação binária , definida num conjunto E, então define-se
as consequentes relações e ∼, respectivamente, por:
∀e, e′ ∈ E, (e e′)↔ ((e e′)∧
(e′ 6 e))
∀e, e′ ∈ E, (e ∼ e′)↔ ((e e′)∧
(e′ e))
Definição 11 Dada uma relação binária , definida num conjunto E, o conjunto de
elementos maximais é definido por:
M(E,) = e ∈ E | ∀e′ ∈ E, (e′ 6 e)
Note que a relação é a versão estrita de . Dizer que e e′, significa que e é,
no mínimo, tão preferida quanto e′. Por outro lado, e e′ significa que e é estritamente
preferida a e′. Assim, dadoX ⊆ E, o conjunto de elementos maximaisM(X,) representa
o conjunto dos elementos ditos -eficientes.
Definição 12 Uma relação definida sobre um conjunto E é:
reflexiva, se, e somente se, ∀e ∈ E, e e
completa, se, e somente se, ∀e, e′ ∈ E, e e′ ou e′ e
antisimétrica, se, e somente se, ∀e, e′ ∈ E, ((e e′)∧
(e′ e))→ (e = e′)
transitiva, se, e somente se, e, e′, e′′ ∈ E, ((e e′)∧
(e′ e′′))→ (e e′′)
quase-transitiva, se, e somente se, é transitiva.
117
Definição 13 Diz-se ser uma ordem parcial uma relação binária reflexiva, antissimétrica
e transitiva. Diz-se ser uma ordem completa a relação binária reflexiva, antissimétrica,
transitiva e completa.
Definição 14 Considere G = (V,) um grafo representando uma ordem parcial . Diz-se ser uma classificação topológica de G uma ordem completa estrita ′ em V tal que
′⊇
Definição 15 Diz-se que uma relação binária , sobre um conjunto E, satisfaz ao Axi-
oma da Independência se, e somente se, ∀A,B,C ∈P(E), tal que C ∩ (A ∪B) = ∅, é o
caso que (A B → A ∪ C B ∪ C).
De acordo com Perny e Spanjaard (2005), as ralações clássicas de minimização (≤) dosproblemas mono-objetivo satisfazem ao Axioma da Independência. No caso multiobjetivo,
a relação de preferência lexicográfica e de dominância também o satisfaz. Os teoremas e
corolários são provados pelo autores.
Teorema 2 Dada uma relação binária quase-transitiva que satisfaz o Axioma da Inde-
pendência, para qualquer árvore geradora -eficiente T existe uma ordenação topológica
do grafo de preferência em E, para o qual o algoritmo de Kruskal-like fornece T .
Corolário 1 Se é quase-transitiva e satisfaz o Axioma da Independência, então o
algoritmo de Kruskal-like fornece um superconjunto de M(T ,), onde T é o conjunto
de todas as árvore geradoras de G.
Lema 2 Seja X um conjunto e uma relação de preferência quase-transitiva em X.
Então, para qualquer conjunto finito Y ⊂ X tal que Y ∩M(X,) = ∅, então é verdade
que ∀y ∈ Y, ∃x ∈ X\Y, x y.
Teorema 3 Seja T uma árvore geradora -eficiente de G. Considere ainda Ω(T ) =
(v, w) ∈ E | v ∈ T e w ∈ V \T. Se é quase-transitiva e satisfaz ao Axioma da
Independência, então para qualquer Ω 6= ∅ de G, existe uma aresta em Ω ∩ T que é
-eficiente em Ω.
Corolário 2 Se é quase-transitiva e satisfaz o Axioma da Independência, então o
algoritmo de Prim-like fornece um superconjunto do conjunto das árvores -eficiente.
118
ANEXO B -- Propriedades OptCUT(G) eOptPATH(G)
As definições e proposições relatados a seguir, bem como suas respectivas provas e
demonstrações, estão contidos no artigo de Alonso et al. (2009).
A partir das propriedades clássicas do corte e do ciclo atribuídas à AGM e apresen-
tadas em Hamacher e Ruhe (1994), Alonso et al. (2009) extraíram uma reformulação
generalizada aplicada ao problema multiobjetivo correspondente.
Em tudo, a seguir, considere um grafo G(V,E) conexo e não direcionado, onde V é o
conjunto de vértices, e E o de arestas. Seja ainda σ(G) o conjunto de árvores geradoras
de G.
Definição 16 Dado um par de vértices i, j ∈ V e T ∈ σ(G), define-se path〈T (i, j)〉 como
o conjunto de arestas em T que conectam os vértices i e j.
Definição 17 Dados e ∈ E e T ∈ σ(G), define-se cut〈T, e〉 = f ∈ E | T − e + f ∈σ(G).
Alonso et al. (2009) definem, sem perda de generalidade, sobre um conjunto arbitrário
X, uma relação binária pelo menos assimétrica e transitiva. Diz-se que:
∀x, y ∈ X, x ∼ y ↔ ((x 6 y) e (y 6 x));
∀x, y ∈ X, x y ↔ (x y ou x ∼ y);
∀X0 ⊆ X, X0 6= ∅,max X0 = x ∈ X0 | ∀y ∈ X0, se y x então y ∼ x
Definição 18 ∀x, y, z ∈ X, diz-se que uma relação binária é transitiva negativa se, e
somente se, x 6 y e y 6 z implica x 6 z.
119
Definição 19 Para X0 ∈ X e ∀e, f ∈ X\X0, diz-se que a relação satisfaz a propriedade
da aditividade, se, e somente se, e f implica em X0 ∪ e X0 ∪ f.
Definição 20 Para X0 ∈ X e ∀e, f ∈ X\X0, diz-se que a relação satisfaz a propriedade
da simplificação, se, e somente se, E0 ∪ e ∼ E0 ∪ f implica e ∼ f .
Alonso et al. (2009) dizem que as propriedades cunhadas pelas Definições 19 e 20 são
asseguradas para a relação lexicográfica e de Pareto. Porém, a transitividade negativa não
é garantida pela relação de dominância de Pareto. Como contra-exemplo, basta observar
que, segundo Pareto, (1, 0) 6 (0, 1) 6 (2, 0), mas (1, 0) (2, 0).
Proposição 7 (Condição OptCUT (G)) Dado T ∈ σ(G), diz-se que T verifica a
generalização da prioridade do corte, se, e somente se, ∀e ∈ T,∀f ∈ cut〈T, e〉, se f e
então f ∼ e. Denota-se por OptCUT (G) o conjunto dessas árvores.
Proposição 8 (Condição OptPATH(G)) Dado T ∈ σ(G), diz-se que T verifica a
generalização da propriedade do caminho, se, e somente se, ∀f ∈ E\T , ∀e ∈ path〈T, f〉,se f e então f ∼ e. Denota-se por OptPATH(G) o conjunto dessas árvores.
Note que as Proposições 7 e 8 são generalizações diretas da Proposição 1 de Hamacher
e Ruhe (1994), apresentada na introdução deste documento.
Proposição 9 Para qualquer grafo direto e não direcionado G(V,E), tem-se que OptCUT (G) =
OptPATH(G).
Proposição 10 Dada uma relação de ordem definida sobre o conjunto das partes
de E, tem-se que se satisfaz as propriedades da aditividade e da simplificação, então
max σ(G) ⊆ OptCUT (G) = OptPATH(G)
A Proposição 10, provada por Alonso et al. (2009), dá pistas importantes sobre onde
encontrar as soluções ditas -eficientes ou maximais, ou seja, em OptCUT (G). Entre-
tanto, ela não garante que em OptCUT (G) haverá apenas tal sorte de solução. A definição
e proposição a seguir ajudam a restringir a Proposição 10.
Definição 21 Dada uma relação de ordem definida sobre o conjunto das partes de E,
diz-se que tal relação satisfaz à propriedade da aditividade forte, se, para qualquer E0 ⊆ E
e quaisquer e, f ∈ E\E0, for o caso que e f ↔ E0 ∪ e E0 ∪ f.
120
Proposição 11 Se a relação verifica a aditividade forte e é, ao mesmo, transitiva
negativa, então: max σ(G) = OptCUT (G) = OptPATH(G).
Finalmente, note que a propriedade da aditividade forte aqui estabelecida possui um
papel análogo ao do Axioma da Independência, provado por Perny e Spanjaard (2005)
(ALONSO et al., 2009).
121
ANEXO C -- Integral de Choquet
As definições e asserções deste texto estão contidos em Galand, Perny e Spanjaard
(2010a). Para entender a integral de Choquet, considere um grafo G(V,E) e, sem perda
de generalidade, f : E → Nn uma função de ponderação para cada aresta, na forma
f(e) = (f1(e), ..., fn(e)), com fi : E → N e i ∈ N = 1, ..., n.
Definição 22 (Capacidade) Chama-se de capacidade a função de conjuntos v : 2N →[0, 1] tal que v(∅) = 0, v(N) = 1 e ∀A,B ∈ 2N , A ⊆ B ⇒ v(A) ≤ v(B).
Dado um A ⊆ N qualquer, então diz-se que v(A) representa a importância da coalizão
A. Dada uma função capacidade v, a Integral de Choquet de um vetor x ∈ Nn é definida
por:
Cv(x) =∑n
i=1[v(X(i))− v(X(i+1))]x(i) =∑n
i=1[x(i) − x(i−1)]v(X(i))
onde os índices entre parênteses (.) consistem numa permutação em 1, . . . , n tal que
0 = x(0) ≤ x(1) ≤ . . . ≤ x(n), X(i) = j ∈ N, xj ≥ x(i) = (i), (i+ 1), . . . , (n) para i ≤ n
e X(n+1) = ∅. Note que, segundo tal definição, para todo i, tem-se que X(i+1) ⊆ X(i),
donde se conclui que v(X(i)) ≥ v(X(i+1)). Ademais, ainda de acordo com a equação que
define Choquet, pode-se dizer que a integral generaliza a noção clássica de média, onde
para um dado vetor x = (x1, . . . , xn), o custo é maior ou igual a x(1) em todos os critérios
pertencentes a X(1), o qual representa um peso de v(X(1)) = 1; então o custo é maior que
x(2), em todos os critérios pertencentes a X(2) que representa um incremente x(2) − x(1)
com peso v(X(2)), e assim por diante. A integral é obtida portanto pela agregação dos
incrementos marginais x(i) − x(i−1) ponderados por v(X(i)).
A integral de Choquet pode ser utilizada com uma função utilitária a ser maximizada
ou uma não-utilitária a ser minimizada. Trabalhando com o segundo caso, sendo os custos
inteiros pertencentes a [1,M ], onde M é um inteiro positivo, é possível usar uma função
estritamente crescente w[0,M ] → R+ tal que w(x) representa a função não-utilitária de
122
custo x. Define-se o modelo Choquet Expected Disutility (CED) a partir de uma função w
e uma capacidade v, tal que:
ψwv (x) = Cv(w(x1), . . . , w(xn))
Definição 23 (Preferência por Pontos Interiores) Uma relação de preferência definida sobre os vetores de custo Nn satisfaz a dita preferência por pontos interiores se,
para qualquer x1, . . . , xp ∈ Nn, e para todo α1, . . . , αp ≥ 0 tal que∑p
i=1 αi = 1, tem-se:
[x1 ∼ x2 ∼ . . . ∼ xp]⇒∑p
i=1 αixi xk, k = 1, . . . , p
onde ∼ é relação de indiferença de .
Definição 24 Uma capacidade v é dita convexa (ou supermodular) quando, ∀A,B ⊆ N ,
v(A∪B)+v(A∩B) ≥ v(A)+v(B). Ela é dita côncava (ou submodular) quando ∀A,B ⊆ N ,
v(A ∪B) + v(A ∩B) ≤ v(A) + v(B).
Galand, Perny e Spanjaard (2010a) dizem que, para o caso de minimização, a fim de
exibir a preferência por pontos interiores, deve-se utilizar o modelo CED com uma função
capacidade côncava e uma função não-utilitária convexa. Além disso, qualquer capacidade
v pode ser associada a uma capacidade dual v, definida por v(A) = 1−v(N\A), ∀A ⊆ N .
É fácil perceber que v é côncava quando v é convexa e vice-versa. A definição a seguir
será importante para a determinação da fase de escalarização dos algoritmos propostos
por Galand, Perny e Spanjaard (2010a)
Definição 25 Seja v uma capacidade côncava, com v(A) + v(N\A) ≥ 1 e v(A) ≤ v(A).
Diz-se, pois, que o core de v é core(v) = λ ∈ L | v(A) ≤ λ(A) ≤ v(A), onde L é
conjunto das capacidades aditivas definidas em 2N .
123
ANEXO D -- Parâmetros para geração dasinstâncias COMPL (DRUMOND,2012)
Tabela 17: Parâmetros utilizados para geração das instâncias COMPL (DRUMOND, 2012)
InstânciaConc. Corr. Anticorr.
ζ η β β
5.1 0, 15 0, 25 0, 2 −0, 25.2 0, 2 0, 3 0, 5 −0, 55.3 0, 22 0, 4 0, 85 −0, 857.1 0, 1 0, 25 0, 2 −0, 27.2 0, 14 0, 33 0, 5 −0, 57.3 0, 2 0, 3 0, 85 −0, 8510.1 0, 06 0, 15 0, 2 −0, 210.2 0, 13 0, 2 0, 5 −0, 510.3 0, 16 0, 27 0, 85 −0, 8512.1 0, 06 0, 15 0, 2 −0, 212.2 0, 08 0, 2 0, 5 −0, 512.3 0, 12 0, 25 0, 85 −0, 8515.1 0, 05 0, 12 0, 2 −0, 215.2 0, 08 0, 23 0, 5 −0, 515.3 0, 12 0, 2 0, 85 −0, 8517.1 0, 04 0, 12 0, 2 −0, 217.2 0, 06 0, 25 0, 5 −0, 517.3 0, 09 0, 2 0, 85 −0, 8520.1 0, 025 0, 1 0, 2 −0, 220.2 0, 05 0, 15 0, 5 −0, 520.3 0, 1 0, 27 0, 85 −0, 8522.1 0, 02 0, 15 0, 2 −0, 222.2 0, 045 0, 25 0, 5 −0, 522.3 0, 08 0, 2 0, 85 −0, 85
Continua na próxima página
124
Tabela 17 – continuação da página anterior
InstânciaConc. Corr. Anticorr.
ζ η β β
25.1 0, 02 0, 1 0, 2 −0, 225.2 0, 09 0, 25 0, 5 −0, 525.3 0, 17 0, 4 0, 85 −0, 8527.1 0, 025 0, 12 0, 2 −0, 227.2 0, 04 0, 19 0, 5 −0, 527.3 0, 09 0, 25 0, 85 −0, 8530.1 0, 017 0, 09 0, 2 −0, 230.2 0, 03 0, 18 0, 5 −0, 530.3 0, 12 0, 27 0, 85 −0, 8533.1 0, 022 0, 09 0, 2 −0, 233.2 0, 03 0, 14 0, 5 −0, 533.3 0, 04 0, 35 0, 85 −0, 8535.1 0, 02 0, 18 0, 2 −0, 235.2 0, 028 0, 15 0, 5 −0, 535.3 0, 05 0, 27 0, 85 −0, 8538.1 0, 008 0, 18 0, 2 −0, 238.2 0, 026 0, 28 0, 5 −0, 538.3 0, 03 0, 35 0, 85 −0, 8540.1 0, 01 0, 1 0, 2 −0, 240.2 0, 025 0, 15 0, 5 −0, 540.3 0, 05 0, 27 0, 85 −0, 8542.1 0, 015 0, 2 0, 2 −0, 242.2 0, 022 0, 15 0, 5 −0, 542.3 0, 08 0, 26 0, 85 −0, 8545.1 0, 01 0, 1 0, 2 −0, 245.2 0, 018 0, 2 0, 5 −0, 545.3 0, 03 0, 3 0, 85 −0, 8548.1 0, 014 0, 09 0, 2 −0, 248.2 0, 02 0, 15 0, 5 −0, 548.3 0, 05 0, 25 0, 85 −0, 8550.1 0, 01 0, 15 0, 2 −0, 250.2 0, 03 0, 3 0, 5 −0, 550.3 0, 1 0, 5 0, 85 −0, 85