Você está na página 1de 11

Universidade Federal de Minas Gerais

Instituto de Ciencias Exatas


Programa de Pos-graduac ao em Ciencia da Computacao
COMPARA C

AO DE ESTRUTURAS
DE VIZINHAN CA PARA O
PROBLEMA DA COLORA C

AO
ROBUSTA DE GRAFOS
IAGO AUGUSTO DE CARVALHO
12/05/2014
1 Introducao
Dado um grafo qualquer G = (V, E), um inteiro n e um custo c
uv
associado com todos os
pares uv associados com todos os vertices n ao adjacentes de G, a colorac ao robusta de vertices
consiste em associar uma cor C = (1, 2, . . . , n) para todo vertice de G de modo que nenhuma
aresta seja incidente sobre dois vertices coloridos com a mesma cor, e o custo total dos pares
de vertices da mesma cor e mnimo (Y a nes & Ramrez, 2003).
Na coloracao de vertices classica (GCP), o problema e colorir cada vertice de um grafo G
de forma que nenhuma aresta insira em dois vertices coloridos da mesma cor. Problemas de
assignacao de tarefas podem ser modelados como problemas de colorac ao de grafos, onde cada
tarefa esta associada com um vertice e arestas ligam os vertices que possuem tarefas sendo
executadas no mesmo instante, e cada cor representa uma pessoa ou equipe a ser designada
para dada tarefa. Nenhuma aresta pode ser incidente a dois vertices de uma mesma cor a
m de restringir que duas pessoas ou equipes quem respons aveis por mais de uma tarefa
simultaneamente .
Na pratica, tarefas sao muito sujeitas a atrasos e pode acontecer que duas tarefas designadas
para a mesma pessoa ou equipe tenham seus tempos sobrepostos, fazendo assim com que a
denicao das tarefas seja inviavel. Gerenciadores de tarefas interessados em uma assigna cao
robusta de equipes n ao sao sensveis a atrasos. Com este objetivo, pode-se associar pesos a
cada par de tarefas nao sobrepostas no tempo para indicar a probabilidade estimada que estas
tarefas se sobreponham em caso de atrasos, sendo assim formulado o problema da Colorac ao
Robusta de Vertices (RGCP) (Ya nes & Ramrez, 2003).
Aplicac oes desta extensao do problema classico de colorac ao de grafos v ao desde criac ao de
hor arios ate analise de clusters, abordando uma grande gama de problemas (Y a nes & Ramrez,
2003). Existem formulacoes matem aticas bin arias para este problema disponveis em Y a nes &
Ramrez (2003), Archetti et al, (2013), bem como propostas de heursticas para a soluc ao de
inst ancias de maior porte (Caramaia & DellOlmo, 2008; Gutierrez-Andrade et al, 2011; Wang
& Xu, 2011).
1
2 O problema
Primeiramente, vamos denir alguns aspectos pertinentes a colorac ao de grafos e alguns teore-
mas acerca do tema:
Denicao: Seja G um grapo sem loops. Uma k-colorac ao de G e uma designac ao de k
cores para os vertices em G de tal forma que vertices adjacentes s ao designados com diferentes
cores. Se G tem uma k coloracao, ent ao dizemos que G e k-colorvel. O n umero crom atico de
G, denotado por x(G), e o menor n umero k para o qual G e k-colorvel.
Usualmente, uma k-colorac ao e disposta como uma sequencia de n umeros 1, 2, 3, ..., k junto
a seus vertices. Esta denic ao e v alida somente para grafos sem self-loops, desde que qualquer
aresta tenha que ser adjacente a dois vertices de cores diferentes.
TEOREMA 1: Se G e um grafo simples e o maior grau de seus vertices e d, ent ao
x(g) d + 1.
Prova: Nos provamos este resultado por inducao matematica em n, o n umero de vertices de
G. Quando n 1, o grafo e K
1
, para o qual x(G) = 1 e d = 0, e o resultado e verdadeiro. Seja
G um grafo com n vertices, seja H o grafo obtido de G pela remoc ao de um vertice qualquer
v e as arestas incidentes a v. Desde que H tenha menos que n vertices e o seu grau maximo
seja d ou menos, ele segue o passo indutivo de que x(H) d +1, ou seja, H e (d +1) colorvel.
N os podemos obter uma (d+1)-colorac ao de G colorindo v por qualquer cor nao designada aos
(no m aximo) d vertices adjacentes a ele. Isto segue a premissa de que x(G) d + 1, e ent ao a
premissa e verdadeira para grafos com n vertices.
TEOREMA 2 (TEOREMA DE BROOKS): Seja G um grafo simples, conectado, cujo
maior grau de seus vertices e d. Se G n ao e um grafo ciclico com um n umero impar de vertices
nem um grafo completo, entao x(G) d.
O Teorema de Brooks, entretanto, n ao e satisfatorio para todas as inst ancias de grafos.
Em particular, seja um grafo G com poucos vertices de grau alto, entao um limite dado pelo
Teorema de Brooks e bem fraco. Por exemplo, se G e um grafo bipartido K
1,100
, ent ao x(G) = 2,
onde o Teorema de Brooks nos diz que x(G) 100.
Expandindo a colorac ao de grafos, podemos notar que f acil colorir um grafo n ao completo
G com mais do que x(G) cores. Dado um grafo G e sua colorac ao pr opria x(G) de acordo com
o Teorema de Brooks, podemos colorir G com x(G) + 1 cores simplesmente trocando a cor de
um vertice v V qualquer por uma cor igual a x(G) + 1, mantendo ainda a colorac ao valida.

E possvel denir k em um intervalo x(G) <= k <= |V | como o conjunto de n umero crom atico
valido com que e possvel colorir um grafo G.
2.1 Coloracao Robusta de Grafos
Dado um grafo G = (V, E), outro grafo G

= (V, E

) e construido, tal que (u, v) E

, (u, v) /
E e E \ E

= . As arestas do grafo G

s ao n ao direcionadas, como as do grafo G, porem s ao


valoradas entre 0 e 1.
O problema consiste em realizar uma colorac ao pr opria para o grafo G, denido por uma
funcao f : V C, onde C e um conjunto de cores, tal que para cada aresta (u, v) E tem-se
f(u) = f(v). A coloracao de G

e dada como um mapeamento exato da coloracao de G, tal que


f(u) = f(v) u G, v G

.
Podemos denir uma penalidade como o peso de uma aresta (u, v) E

. Podemos denir
uma penalidade ativa P
ij
quando f(u) = f(v), (u, v) E

.
2
Figura 1: Grafos E e E, respectivamente
Dado um mapa de penalidades P entre todo par de vertices uv V , tal que:

P
uv
= se uv E
P
uv
= c
uv
se uv / E
(1)
Diferentemente do problema cl assico de coloracao de grafos, n ao objetiva-se colorir o grafo
com o menor n umeros de cores possvel. Objetiva-se colorir o grafo G de forma a minimizar o
somat orio das penalidades ativas em G

.
2.2 Formulacao Matematica

E possvel denirmos matematicamente o RGCP como um problema de Programa cao Inteira.


Segue abaixo a modelagem de acordo com Y a nes & Ramrez (2003).
Primeiramente, e necessario denir duas vari aveis auxiliares:
x
ik
=

1 C(i) = k
0 c.c.
i (1, ..., n) k (1, ..., c) (2)
y
ij
=

1 se existe k (1, ..., c) tal que x


ik
= x
jk
0 c.c.
(i, j) E

(3)
Logo ap os, podemos denir nosso modelo matem atico como
Min

(i,j)E

p
ij
y
ij
(4)
Sujeito a:
c

k=1
x
ik
= 1 i (1, ..., n) (5)
x
ik
+ x
jk
1 (i, j) E k (1, ..., c) (6)
x
ik
+ x
jk
1 y
ij
(i, j) E

k (1, ..., c) (7)


A func ao objetivo do problema e denida em (4), como minimizar o somat orio das penali-
dades ativas em G

. A equacao (2) dene a cor de um vertice x


i
. A equacao (3) dene o valor
da vari avel auxiliar y
ij
. A equac ao (5) dene que um dado vertice pode ser colorido por uma
unica cor. A equacao (6) dene que dois vertices adjacentes em G n ao podem ser coloridos com
a mesma cor. A equac ao (7) dene se a penalidade em uma aresta (u, v) E

e ativa ou n ao.
3
2.3 Objetivo
O objetivo deste trabalho e comparar estruturas de vizinhanca para o RGCP a partir de sua
aplica cao em variadas inst ancias, de forma a denir uma boa maneira de se realizar buscas
locais para otimizar o valor da func ao objetivo.
4
3 Referencial Te orico
Ele foi proposto inicialmente por Y a nes & Ramrez (2003) com uma formulac ao matematica e
a utiliza cao de um Algoritmo Genetico para resoluc ao de inst ancias de maior porte. Archetti
et al. (2011) prop os um Branch-and-Price e uma nova formulac ao matematica para o pro-
blema, baseada em uma formulac ao por representantes, que conseguiu resolver de forma exata
inst ancias maiores que a formulac ao Ya nes & Ramrez (2003).
Kong et al. (2003) prop os uma modica cao do Algoritmo Genetico inicial, introduzindo
etapas de busca local fora do framework padr ao do Algoritmo Genetico, obtendo resultados
superiores quando comparados a um Algoritmo Genetico sem a busca local.
Cruces et al. (2011) propos um Algoritmo de Colonia de Formigas para o problema, conse-
guindo resolver de forma eciente inst ancias de ate 90 vertices de forma aproximada.
Wang & Xu (2011) propuseram varias metaheursticas para o problema e as compararam,
denindo boas estrategias para cada tamanho de problema. Foram construdas, neste trabalho,
dentre elas um algoritmo de Hill Climbing, um Simulated Annealing, uma Busca Tabu, bem
como um Algoritmo Genetico e metaheursticas hbridas dentre estes metodos mencionados,
chegando a conclusao que Algoritmos Geneticos s ao a melhor soluc ao para inst ancias de pe-
queno porte e a Busca Tabu, juntamente ao algoritmo de Hill Climbing obtem as melhores
respostas para instancias de grande porte. Wang & Xu (2011) ainda propuseram as estruturas
de vizinhanca que ser ao utilizadas para comparacao neste trabalho, com pequenas modicacoes.
Contanto, por se tratar de um problema novo na literatura, n ao existem muitos estudos
sobre o tema, sendo ainda um assunto em aberto.
5
4 Metodologia
Tres estruturas de vizinhan ca sao propostas neste trabalho.
A primeira, denominada Troca de Vertices (TV), baseia-se na troca de cores entre dois
vertices no vetor de solucoes. A segunda, denominada Recoloracao Simples de Vertice (RSV),
baseia-se na troca de cores de um vertice da soluc ao, sendo recolorido com outra cor qualquer
m, sendo 0 <= m <= k. A terceira, denominada Melhoramento Baseado em k-Ciclos (MBK)
e baseada na denicao de ciclos de tamanho k em um grafo G, e a rotac ao de suas cores,
conseguindo recolorir k vertices em um unico movimento.
Todas estas estruturas de vizinhanca ser ao aplicadas em um algoritmo GRASP (Greedy
Randomized Adaptative Search Procedure), a m de denir qual estrutura de vizinhanca gera
melhores soluc oes.
Abaixo, segue uma descri cao mais detalhada de cada estrutura de vizinhanca.
4.1 Troca de Vertices
Esta estrutura foi baseada na estrutura Single Vertex Move de Wang & Xu (2011). A cada
itera cao, e feita a troca da cor de dois vertices simultaneamente. Denidos dois vertices u, v V ,
troca-se a cor dos dois vertices, ou seja, f(u) f(v) e f(v) f(u). Todas as permutac oes
possveis s ao realizadas, de forma a explorar toda a vizinhan ca. Sua complexidade e O(n
2
).
4.2 Recoloracao Simples de Vertice
Esta estrutura de vizinhanca e a mesma proposta por Wang & Xu (2011), denominada Enume-
rative Single Vertex Recoloring. Nesta estrutura de vizinhanca, e feita a troca das cores de cada
vertice por todas as cores possveis na solucao, como pode ser observado no algoritmo abaixo.
A cada iterac ao, somente um vertice tem sua cor trocada.
Algorithm 1: Recolorac ao Simples de Vertice
Data: c[colors], n, k, s*
for (i = 0 to n) do
for (j = 0 to k) do
aux = c[i];
c[i] = j;
s = avaliaSolucao();
if (s < s*) then
s* = s;
end
c[i] = aux;
end
end
Sua complexidade e O(n
2
k), sendo k o n umero de cores.
4.3 Melhoramento Baseado em K-Ciclos
Esta e a mesma vizinhanca proposta por Wang & Xu (2011), denominada Improvement Graph
Based K*-cycle. Ela consegue recolorir k vertices a cada itera cao.
O operador e denido sobre ciclos em G

. Podemos denir um ciclo como uma sequencia


l = (l
1
, l
2
, l
3
, ..., l
k
, l
k+1
), sendo k < n, de tal forma que todo l
i
V para i k k s ao distintos,
e l
i
= l
k+1
e (v
i
, v
i+1
) E

1 i k. Dado um inteiro K, um K-Ciclo e denido como


um ciclo com K vertices distintos em G

. De acordo com a denic ao de G

, um K-ciclo l de G

6
corresponde a uma redesignac ao cclica de cores de l
i
para l
i+1
, para i = (K, K 1, ..., 1). Seja
w(l), denotado como peso de l, a reduc ao de peso total devido a uma redesiginacao cclica de
cores indicado por um K-ciclo l.
Encontrar um K-ciclo que maximiza os pesos em G

e fortemente NP-Difcil, portanto foi


utilizado uma heurstica para encontrar um K-Ciclo pr oximo ao otimo. Seja L
2
o conjunto de
todos os possveis 2-ciclos. Para cada 2-ciclo em L
2
, e para todo vertice em V, tenta-se adicionar
o vertice no ciclo em todas as posi coes possveis, construindo um 3-ciclo, denotado como L
3
.
N os podemos interativamente denir k-ciclos, denotados por L
k
, iterativamente, de k = 2 ate
k = n. Para cada k 1-ciclo em L
k1
, podemos adicionar um vertice v V , de tal forma que
v = l
j
para 1 j k, para obter um novo k-ciclo l = (l
1
, l
2
, l
3
, ..., l
k1
, l
k
e formar L
k
.
Dentre todos os ciclos em L
k
, denimos l como o ciclo de maior peso em L
k
. A operac ao
MBK e realizada em cima deste ciclo l, para obtermos uma nova coloca cao do vertices em G.
Sua complexidade e O(kn
2
p), onde k e o n umero de cores disponveis e p o n umero de ciclos
do grafo.
4.4 GRASP
Foi desenvolvido um algoritmo GRASP, com cada uma dos tres metodos de vizinhan ca proposto,
a m de avaliar sua eciencia. Primeiramente, e realizada uma heurstica construtiva semi-
gulosa, para gerar soluc oes factveis para o RGCP, porem, de baixa qualidade. Logo apos, a
busca local e aplicada, de forma a renar o resultado encontrado pela heurstica construtiva.
Esta busca local e executada ate que nenhuma solu cao melhor que a anterior seja encontrada.
4.4.1 Construcao Gulosa-Aleatoriezada
Atraves deste metodo, e gerado uma soluc ao inicial factvel, que n ao viola nenhuma das restri-
c oes denidas em (5), (6) e (7).
Ela e feita da seguinte maneira:
1. Rotula o primeiro vertice com a cor 0
2. Para todos os outros vertices
3. Conta quantas cores os vertices adjacentes ao vertice atual tem coloridas
4. Sorteia um n umero entre o n umero encontrado em 2 e rotula o vertice atual
5. Colore o vertice com a cor correspondente ao n umero sorteado
6. Se houver mais vertices, volta para 3
7. Se n ao, retorna a solu cao encontrada
Logo apos esta soluc ao inicial, e dado incio a uma busca local para o renamento da solucao.
Cada estrutura de vizinhan ca foi testada separadamente, em diferentes execucoes da heurstica
GRASP em uma mesma inst ancia. Cada estrutura de vizinhanca foi executada 10 vezes, e seu
melhor resultado foi armazenado.
7
5 Experimentos e resultados
Para os experimentos, foram utilizadas as instancias de Y a nes & Ramrez (2003), entre 10 e 15
vertices. Outras inst ancias de maior porte foram geradas aleatoriamente.
Todos os testes foram realizados em um notebook com um processador Core i5 Dual Core
com 1,7Ghz e 4Gb de memoria RAM, com um sistema operacional Ubuntu 14.04 kernel vers ao
3.13.0-29.
Testes iniciais podem ser observados na tabela abaixo:
Valor FO Tempo de Execuc ao (s)
Instancia n k TV RSV MBK TV RSV MBK
aleato10 10 4 4,3458 3,548 3,782 < 1 < 1 < 1
aleato10 10 5 2,5597 2,560 2,403 < 1 < 1 < 1
aleato11 11 4 4,9927 4,581 3,895 < 1 < 1 < 1
aleato11 11 5 2,4849 2,0277 2,0277 < 1 < 1 < 1
aleato12 12 5 3,7114 2,9041 2.915 < 1 < 1 < 1
aleato13 13 5 3.8685 3,5873 3.5873 < 1 < 1 < 1
aleato14 14 5 6,0568 5,269 6,0568 < 1 < 1 < 1
aleato15 15 5 7,1267 6,068 5.637 < 1 < 1 < 1
aleato15 15 6 4,6198 3,559 4,671 < 1 < 1 < 1
aleato20 20 8 5,930 5,930 5,930 < 1 < 1 -
Tabela 1: Valores da fun cao objetivo e tempo de execucao das tres estruturas de vizinhanca
propostas
Podemos perceber que todas as estruturas de vizinhanca operam com tempo desprezvel,
para inst ancias pequenas. A estrutura TV e claramente a pior delas, para todas as instancias,
com excecao da ultima.
Valor FO Tempo de Execuc ao (s)
Instancia n k TV RSV MBK TV RSV MBK
aleato30 30 10 14,474 13,314 15,482 < 1 < 1 < 1
aleato30 30 15 6,146 3,706 3,874 < 1 < 1 < 1
aleato30 30 20 2,249 1,648 1,520 < 1 < 1 < 1
aleato50 50 18 19,410 15,30 19,876 < 1 < 1 < 1
aleato50 50 35 3,285 2,025 1,584 < 1 < 1 < 1
aleato75 75 35 12,886 10,238 8,365 9,404 5,865 9,642
aleato100 100 30 48,064 42,556 48,960 23,762 18.448 30,478
aleato100 100 50 12,438 8,703 7,234 38,981 30.064 34,420
aleato100 100 70 7,252 3,365 2,491 28,116 40.261 37,258
Tabela 2: Valores da fun cao objetivo e tempo de execucao das tres estruturas de vizinhanca
propostas para inst ancias de maior porte
Pela Tabela 2, podemos perceber que a vizinhanca MBK aumenta sua eciencia de acordo
com a diminui cao da razao de vertices por n umero de cores. A vizinhanca RSV continua
obtendo bons resultados, e a vizinhanca TV obteve maus resultados, tambem para inst ancias
de maior porte. O tempo de execuc ao de cada heurstica e pr oximo um ao outro, n ao diferindo
consideravelmente para inst ancias deste porte.
8
6 Conclusoes e trabalhos futuros
Os tres metodos de vizinhanca propostos atuam de forma muito diferentes na procura de uma
boa soluc ao para o RGCP.
O modelo de vizinhanca MBK apresentou melhores resultados para inst ancias com uma
menor raz ao de vertices por n umero de cores disponveis, conseguindo construir ciclos de maior
tamanho no grafo. O modelo de vizinhan ca RSV tambem obteve bons resultados, sendo melhor
que a MBK para instancias pequenas e com resultados pr oximos para inst ancias maiores, sendo
melhor para que a MBK para inst ancias com uma maior raz ao entre n umero de vertices e
n umero de cores disponveis.
A vizinhan ca TV n ao apresentou resultados satisfat orios para nenhum tamanho ou carac-
terstica de inst ancia testada, sendo a pior dentre as tres propostas, ate mesmo em tempo de
execu cao.
Como trabalhos futuros, pode-se propor alguma modicac ao nestas estruturas de vizinhan ca
para o RGCP, a m de torna-las mais ecientes, tanto em termos de valor da func ao objetivo
encontrada, como em tempo de execucao. Novas estruturas de vizinhanca e operadores tambem
podem ser propostos com o mesmo objetivo.
9
7 Bibliograa
Archetti, C., Bianchessi, N., Hertz, A. (2013). A branch-and-price algorithm for the robust
graph coloring problem. Discrete Applied Mathematics.
Brooks, R. L. (1941). On colouring the nodes of a network. Mathematical Proceedings of
the Cambridge Philosophical Society, 37, pp 194-197.
Cruces, A. L. L., Rodriguez, J. R., Gonz alez, D. E. H., Gurrola, I. I. M. (2011). An ant
colony algorithm for the robust graph coloring problem. Anais do Articial Inteligente and
Machine Learning. Dubai. 2011. p. 57-60.
Kong, Y., Wang, F., Lim, A., Guo, S. (2003). A new hybrid genetic algorithm for the robust
graph coloring problem. In AI 2003: Advances in Articial Intelligence (pp. 125-136). Springer
Berlin Heidelberg.
Wang, F., Xu, Z. (2011). Metaheuristics for robust graph coloring. Journal of Heuristics,
19(4), 529-548.
Y anez, J., Ramrez, J. (2003). The robust coloring problem. European Journal of Operati-
onal Research, 148(3), 546-558.
10

Você também pode gostar