Sei sulla pagina 1di 14

1

Algoritmo Gentico Construtivo na otimizao de problemas


combinatoriais de agrupamentos
Joo Carlos Furtado
LACESM/CT - UFSM - Universidade Federal de Santa Maria
Campus Universitrio - Santa Maria - RS
Luiz Antonio Nogueira Lorena
LAC/INPE- Instituto Nacional de Pesquisas Espaciais
Av. dos Astronautas 1758 - So Jos dos Campos - SP
Resumo
O Algoritmo Gentico Construtivo (AGC) introduz novas caractersticas aos Algoritmos
Genticos (AG) tradicionais. bem aceito que blocos construtivos (esquemas) formam a
base para um bom comportamento dos AGs. Os esquemas entretanto so usualmente
avaliados indiretamente, avaliando uma estrutura que o contenha. O AGC considera uma
populao de tamanho varivel que composta por esquemas e estruturas, que so
avaliados atravs de um processo de adaptao proporcional. Eles so includos na
populao se seus ranks ultrapassam um limiar dado por um parmetro de evoluo, que
atualizado a cada gerao, e os esquemas e estruturas que j se encontram na populao
podem sair pelo mesmo teste. A recombinao procura preservar os bons esquemas, e uma
mutao de busca local aplicada a estruturas para obter a diversificao da populao.
Para os problemas de agrupamentos os esquemas e estruturas so representados por
cadeias binrias, e heursticas de atribuio complementam a representao de uma
maneira nica para trs problemas de agrupamentos em grafos. Os problemas de
agrupamento estudados so, o problema clssico das p-medianas (PPM), o problema
capacitado das p-medianas (PPMC) e o problema de agrupamento de corte mnimo (PCM).
Resultados muito bons foram obtidos quando o AGC foi aplicado a instancias disponveis na
literatura.
Palavras chave: Problemas de agrupamentos, problema das p-medianas, problema
capacitado das p-medianas, e problema de agrupamento de corte mnimo.
1. Introduo
Problemas de agrupamento (clustering) ocorrem geralmente na classificao
de dados para algum propsito, por exemplo, para a simples recuperao ou para
efetuar uma anlise nos dados. Qualquer algoritmo de agrupamento procura grupos
naturais ou inerentes aos dados, usando medidas de distancia ou similaridades
entre dados individuais [39,41].
Recentemente foi proposta uma verso construtiva de Algoritmos Evolutivos
(chamada de Algoritmo Gentico Construtivo (AGC)) e sua aplicao testada em
alguns problemas de Otimizao Combinatria (veja tese de doutorado de J. C.
Furtado em http://www.lac.inpe.br/~lorena/teseJC/CGA-tese.ps). Os Algoritmos Genticos
baseiam-se na evoluo controlada de uma populao de estruturas, e esto muito
difundidos nos dias de hoje, apresentando vrias aplicaes bem sucedidas a
2
problemas de otimizao [1,6,7,13,14,15,17,20,23,26,27,28,29]. Apresenta-se neste
trabalho a aplicao do AGC a trs problemas de agrupamentos em grafos.
Suponha que desejamos encontrar em um grafo G=(V,E) uma partio do
conjunto de vrtices V em um nmero pr definido (em geral) de grupos, otimizando
alguma medida tomada na combinao dos pesos associados aos vrtices e/ou arestas.
Os problemas de agrupamento examinados so o problema clssico das p-medianas
(PPM), o problema capacitado das p-medianas (PPMC) e o problema agrupamento
de corte mnimo (PCM).
No PPM o objetivo localizar p facilidades (medianas), de forma a minimizar
a soma das distancias de cada vrtice a sua facilidade mais prxima. Hakimi [18,19],
foi o primeiro pesquisador a formular o problema, para a localizao de uma nica
facilidade, em seguida, generalizando para mltiplas medianas. Ele props um
simples procedimento de enumerao para o problema. O problema
reconhecidamente NP-hard [12]. Diversas heursticas tm sido desenvolvidas para o
problema das p-medianas. Algumas so usadas para obter boas solues iniciais ou
para calcular solues intermedirias em ns numa rvore de busca. Teitz e Bart [40],
Goodchild e Noronha [16] e Denshan e Rushton [8] propuseram heursticas de troca.
Rolland, Schilling e Current [35] aplicaram busca tabu, Rosing e ReVelle uma
heurstica de concentrao [36] e Rosing, ReVelle, Schilling e Current [37]
compararam as duas propostas. Algoritmos mais complexos exploram uma rvore de
busca. Estes apareceram em Efroymson e Ray [9], Jarniven e Rajala e Sinervo [21],
Neebe [31], Christofides e Beasley [5], Beasley [4] e Galvo e Raggi [10, 11].
Algumas abordagens bem sucedidas usam informaes primal/dual do problema
(Senne e Lorena [38] e Beasley [2,4]).
No PPMC so consideradas capacidades ao servio que ser oferecido pelas
medianas. O servio total demandado pelos vrtices identificados nos grupos das
medianas no pode ultrapassar as capacidades de servio das medianas.
Aparentemente este problema no foi to estudado como o PPM . Problemas
semelhantes aparecem em Klein e Aronson [24], Mulvey e Beck [30] e Osman e
Christofides [32]. Neste ltimo trabalho encontra-se uma bibliografia razoavelmente
completa de outros trabalhos relacionados ao problema, e alguns problemas testes.
O PCM considerado neste trabalho considera a formulao dada em Johnson e
Mehrotra [22]. o problema de particionar o conjunto de vrtices V em p
agrupamentos, tal que a soma dos pesos dos vrtices nos agrupamentos esteja entre
limites inferior e superior, enquanto que a soma dos pesos das arestas maximizada
(ou a soma dos pesos das aresta que esto fora dos agrupamentos minimizada).
Os problemas so formalizados a seguir.
PPM :
Dado um conjunto de n pontos de demanda (vrtices) V = {1,,n} e uma
matriz de distancias (pesos) [
jl
],
jl
0,
jj
=0 e
jl
=
lj
para todo j,l V,
indicando distancias entre pares de vrtices. O conjunto V particionado em
3
p grupos, 2p<n, C
1
,C
2
,...,C
p
, e V
1
={
1
,...,
p
}, V
1
V, o conjunto de
ndices das medianas de cada grupo (os pontos de servio)
i
C
i
, i = 1,...,p.
O problema PPM procura por parties de V que
minimizam

=

p
i C j
j
i
i
1

.
PPMC:
Suponha agora que para cada ponto de demanda j V existe um servio
positivo demandado a
j
. Seja Q
i
a capacidade do grupo i. O PPMC procura
por parties de V que
minimizam

=

p
i C j
j
i
i
1

,
satisfazendo a Q
j
j C
i
i

, i=1,...,p.
PCM:
Seja ( ) E C
i
o conjunto de arestas referente a C
i
, e ( )
e i
e E C , os custos no
negativos das arestas em C
i
, e admita que cada grupo tenha limites de
capacidade (
max min
Q e Q ). As medianas no so consideradas para o PCM e o
objetivo identificar a partio C
1
,C
2
,...,C
p
que
maximiza
( )

=

p
i C E e
e
i
1
,
satisfazendo Q a Q
j
j C
i
min max

, i=1,...,p.
Neste trabalho, inicialmente apresentamos uma reviso do AGC , destacando
suas principais caractersticas, bem como sua aplicao aos problemas PPM, PPMC e
PCM. Finalmente os resultados computacionais e concluses so apresentados.
2. Algoritmo Gentico Construtivo - resumo
Apresentamos nesta seo um resumo do AGC e as definies necessrias para
sua aplicao aos problemas de agrupamento.
Uma viso geral do AGC pode ser dada atravs do pseudocdigo:
AGC {Al gori tmo Genti co Construti vo}
:= 0 ;
:= 0.05; {intervalo de tempo }
Inicialize P

; {populao inicial }
4
Avalie P

; {adaptao proporcional }
Para todo s
k
P

calcule ( ) s
k
{calculo do rank }
fim_para
Enquanto (no condi es de parada) faa
Para todo s
k
P

sati sfazendo < ( ) s


k
faa {teste de evoluo }
:= + ;
Selecione P

de P
-
; {operador de reproduo }
Recombine P

; {operadores de recombinao }
Avalie P

; {adaptao proporcional }
fim_para
Para todo novo s
k
P

calcule ( ) s
k
{calculo do rank }
fim_para
fim_enquanto
Alguns passos no algoritmo AGC so sensivelmente diferentes de um
Algoritmo Gentico clssico. O AGC trabalha com uma populao dinmica, que
cresce com o uso dos operadores de recombinao, e pode decrescer guiado pelo
parmetro de evoluo (aumentado de a cada gerao). Quando uma estrutura
ou esquema criada, recebe uma avaliao proporcional e seu rank ( ) s
k
que ser
usado no teste de evoluo. Outra diferena central a considerao explicita de
esquemas e o novo processo de avaliao-fg (veja os detalhes em
http://www.lac.inpe.br/~lorena/teseJC/CGA-tese.ps).
2.1. Representao de estruturas e esquemas
Vamos usar uma cadeia com alfabeto binrio para a representao dos trs
problemas de agrupamentos. Heursticas de atribuio fazem a correspondncia entre
estruturas e esquemas e o problema de agrupamento em questo. Alguns vrtices so
eleitos como vrtices sementes, isto , os vrtices iniciais de cada grupo, que iro
atrair de alguma maneira os outros vrtices que participam da representao.
Para qualquer dos trs problemas de agrupamento (PPM, PPMC e PCM),
(1,0,0,0,0,0,0,0,1,1), uma estrutura para um problema de 10 vrtices
onde procura-se a formao de 3 grupos, enquanto que
(1,#,0,0,0,#,0,0,1,1) o que chamamos de esquema (os vrtices 2 e 6,
representados por #, no esto sendo considerados). Seja V
1
={
1
,...,
p
}, o conjunto de
ndices dos vrtices sementes (representados por 1 nas cadeias) de cada grupo que ser
formado. Para a estrutura e esquema acima, V
1
={1,9,10}. Seja V
2
o conjunto de
ndices dos vrtices no-sementes (representados por 0 nas cadeias). A
correspondncia com cada um dos problemas feita aplicando as seguintes
heursticas de atribuio:
HA-PPM
1) Inicialize os grupos com a atribuio dos vrtices sementes
C
1
={
1
}, C
2
={
2
}, ..., C
p
={
p
},
5
2) Atribua os vrtices no-sementes a seu vrtice semente mais prximo,
formando a partio C
1
,C
2
,...,C
p
HA-PPMC
1) Inicialize os grupos com a atribuio dos vrtices sementes
C
1
={
1
}, C
2
={
2
}, ..., C
p
={
p
},
2) Enquanto a capacidade de cada grupo permitir, atribua os vrtices no-
sementes a seu vrtice semente mais prximo, formando a partio
C
1
,C
2
,...,C
p
HA-PCM
1) Inicialize os grupos com a atribuio dos vrtices sementes
C
1
={
1
}, C
2
={
2
}, ..., C
p
={
p
},
2) Enquanto a capacidade de cada grupo permitir, atribua os vrtices no-
sementes ao grupo que traga maior retorno da soma dos pesos das arestas
formadas pelo conjunto que compe os vrtices do grupo e o vrtice no-
semente considerado, ponderado pelo nmero de elementos do grupo.
No caso dos problemas PPM e PPMC os vrtices sementes so as medianas
que atraem os outros vrtices mais prximos para seus grupos. No caso do problema
PCM, os vrtices sementes no so medianas, mas somente vrtices iniciais que
atraem os outros vrtices para os grupos.
2.2. Populao inicial
A populao inicial P
0
formada somente por esquemas, que so gerados
aleatoriamente. Em cada esquema existem exatamente p sementes distribudas em
posies aleatrias e 20% dos demais vrtices so tambm distribudos em posies
aleatrias (no-sementes). Os vrtices restantes no so considerados. Conforme o
problema considerado, as heursticas HA-PPM, HA-PPMC e HA-PCM so ento
aplicadas a cada esquema, obtendo seus grupos correspondentes.
2.3. Avaliao de esquemas e estruturas
Como as estruturas da populao inicial so esquemas, no representam
solues para o problema (alguns vrtices no esto sendo considerados), uma
avaliao direta com a funo objetivo de cada problema no faz sentido. Assim, uma
das principais caractersticas deste novo mtodo de otimizao esta baseada em uma
avaliao dupla, chamada de avaliao-fg, descrita a seguir.
Considerando P

, a populao no tempo , so definidas as funes f:P

+
e g:P

+
, admitindo-se, sem perda de generalidade, que g(s
k
) f(s
k
). tambm
definido um limite superior para o valor da funo g, i.e., ) ( max
max k
P s
s g g
k

. A figura
1 mostra graficamente a definio das funes f, g e g
max
.
6
Figura 1: Representao grfica das funes de avaliao.
A populao formada de m estruturas. Para cada estrutura existem duas
funes de avaliao que sugerem o processo de adaptao da estrutura ao meio. O
valor dessas funes produzem limites que sero usados em um processo semelhante
ao usado no algoritmo A* [33] e permitem que a populao consiga evoluir, usando
como informao o desvio em relao ao valor mximo g
max
. O desvio percentual
esperado em relao a g
max
ser dado por d.
Para cada estrutura s
k
, existe um desvio percentual entre os valores g(s
k
) e f(s
k
)
em relao a g(s
k
) , que ser dada por:
. ,..., 1 ,
) (
) ( ) (
m i
s g
s f s g
d
k
k k
k
=

=
Para um mesmo desvio absoluto g(s
k
) - f(s
k
) o desvio percentual diminui com o
aumento de g(s
k
). Uma estrutura deve ser eliminada da populao se, para algum valor
de (0), d g
max
d
k
g(s
k
) + d (g
max
- g(s
k
)). O objetivo a ser alcanado (esperado)
representado por d.g
max
, enquanto a estrutura s
k
possui um desvio d
k
g(s
k
). O desvio
d (g
max
- g(s
k
)) representa o desvio esperado para atingir g
max
a partir de g(s
k
). Para 0
1 a heurstica seria admissvel.
O parmetro 0 poder ser isolado como ) (
)) ( (
) (
max
max
k
k
k i
s
s g g d
s g d dg
=

para
indicar quando a estrutura deixaria de ser admissvel na populao. Isso corresponde a
retirar a estrutura s
k
da populao. O parmetro considerado um elemento de
controle da evoluo da populao inicial. Considera-se variar a partir de zero, em
pequenos intervalos de evoluo, onde novas geraes so criadas. Cada estrutura s
k
,
quando criada recebe um valor (s
k
) que indica o seu tempo de permanncia na
populao. Quanto menor o seu valor d
k
, melhor ser sua adaptao, e poder
permanecer mais tempo na populao, e com maior probabilidade de participar dos
operadores recombinao e mutao. Quanto maior a diferena g
max
- g(s
k
), menor seu
tempo de permanncia na populao.
Nossa condio de parada ser quando a populao for completamente
eliminada ou para um determinado nmero de geraes. No processo a melhor
estrutura ser preservada.
7
2.4. Funes de avaliao para os problemas PPM, PPMC e PCM
Particularizando as funes f , g e o parmetro g
max
para cada problema:
PPM e PPMC
Aps a aplicao das respectivas heursticas HA-PPM ou HA-PPMC aos
esquemas e/ou estruturas da populao P


,
a funo g definida como

=
=
p
i s C j
j k
k i
i
s g
1 ) (
) (

; e a funo f definida como
[ ]
f s C s
k i
i
p
i k
( ) . ( ) =
=

1
1 ,
onde
{ }
j
s C j
i
i
k i


) (
min

=
a menor distancia que foi atribuda ao grupo i , e C s
i k
( )
a cardinalidade do conjunto C s
i k
( ) .
Claramente f(s
k
) g(s
k
) , para todo s
k
P

. Idealmente a diferena g(s


k
) -
f(s
k
) deve suficientemente pequena. Se s
k
uma estrutura ento a funo g produz o
valor de uma soluo ao problema. Este valor isolado no tem significado quando s
k
um esquema, e o uso da funo f em conjunto com a funo g apresenta uma
avaliao proporcional do esquema (ou da estrutura) que esta sendo considerado.
PCM
Aps a aplicao da heurstica HA-PCM os p (= V s
k 1
( ) ) grupos C s
i k
( ) so
identificados, correspondentes ao conjunto semente
{ }
V s
k p 1 1 2
( ) , ,..., = .
( )
[ ]
E C s
i k
o conjunto de arestas no subgrafo induzido pelo grupo C s
i k
( ) . O PCM foi
formulado como um problema de maximizao, e neste caso, quando s
k
uma
estrutura, a funo f dar o valor da funo objetivo. Ela definida como
( )
( ) [ ]
f s
k e
e E C s i
p
i k
=
=


1
, e a funo g definida como ( ) ( )
[ ]
g s E C s
k i
i
p
i k
=
=

1
,
onde
( ) [ ]
{ }
i
e E C s
e
i k
=

max
o maior peso entre as arestas de C s
i k
( ) .
Para os trs problemas, o limite superior comum g
max
obtido no incio do
algoritmo AGC , gerando uma estrutura completa de forma aleatria e fazendo g
max
receber a avaliao g para esta estrutura. Para assegurar de que g
max
ser sempre um
limite superior, depois da recombinao cada estrutura nova s
nova
ser rejeitada se
g
max
g(s
nova
).
2.5. Seleo e recombinao
Aps a gerao de cada estrutura e posterior avaliao, atribuda uma ordem
na populao baseada em dois critrios:
8
esquemas que consideram uma frao maior dos dados do problema;
estruturas ou esquemas onde a diferena relativa entre os valores das funes f e g
forem menores.
Assim, a populao ordenada pela chave: ( ) s
d
V V
k
k
=
+
+
1
1 2
.
Um operador ir selecionar duas estruturas e/ou esquemas que devem
recombinar-se de forma a gerar uma ou vrias novas estruturas e/ou esquemas. Na
escolha das duas estruturas e/ou esquemas, s
base
e s
guia
, a estrutura s
base
selecionada
entre as n primeiras (melhores) estruturas na ordenao e s
guia
selecionada na
populao inteira;
Uma vez selecionadas as duas estruturas, se s
base
um esquema, o operador
recombinao usado para a construo de uma nova gerao na populao.
Denominaremos s
base
de esquema base e de s
guia
esquema ou estrutura guia.
Na recombinao, cada label do esquema base comparado ao correspondente
(na mesma posio) no esquema ou estrutura guia. Diversas recombinaes podem
ocorrer e existir um tratamento para cada caso (examinados nesta ordem):
Caso 1: Quando base e guia apresentam labels iguais, o esquema ou estrutura
resultante no alterado.
base: ( 1,0,#,0,1,#,1,#)
guia: ( #,0,1,1,1,#,0,0)
resultante: ( _,0,_,_,1,#,_,_)
Caso 2: Quando a base apresenta um label diferente de # e a guia apresenta um label
igual a #, o label da base preservado.
base: ( 1,0,#,0,1,0,1,#)
guia: ( #,0,1,1,1,#,0,0)
resultante: ( 1,_,_,_,_,0,_,_)
Caso 3: Quando a base apresenta um label igual a # e a guia um label igual a 0, o
label resultante ser 0.
base: ( 1,0,#,0,1,0,1,#)
guia: ( #,0,1,1,1,#,0,0)
resultante: ( _,_,_,_,_,_,_,0)
Caso 4: Quando a base apresenta um label diferente de 1 e a guia um label igual a 1.
Neste caso, uma semente esta sendo introduzida na estrutura resultante. Uma vez que
o nmero de sementes em cada estrutura deve ser igual a p, uma semente da base deve
ser retirada e substituda por um vrtice que no seja semente, ou seja, um label igual
a 0. Como podemos retirar da base qualquer uma das p sementes existentes, dois
critrios podem ser usados:
escolher aleatoriamente uma das sementes e realizar sua substituio, o que
acarretar em um nova estrutura;
realizar a substituio das p sementes, o que acarretar em p novas estruturas.
Usando o segundo critrio, temos como exemplo:
9
base: ( 1,0,#,0,1,#,1,#)
guia: ( #,0,1,1,1,#,0,0)
resultantes: ( 0,0,1,0,1,#,1,#)
( 1,0,1,0,0,#,1,#)
( 1,0,1,0,1,#,0,#)
Caso 5: Quando a base apresenta um label igual a 1 e a estrutura guia apresenta um
label igual a 0. Neste caso, o label resultante ser igual a 0, no entanto, a estrutura ter
p -1 sementes. Desta forma, necessrio que algum vrtice que no pertencia ao
conjunto de sementes passe a ser uma semente. Novamente existem duas
possibilidades:
escolher aleatoriamente um vrtice que no semente e torn-lo semente;
substituir todos os vrtices que no so sementes por sementes, dando origem a
tantas novas estruturas quanto o nmero de vrtices que no so sementes na
estrutura base.
Usando o segundo critrio, temos:
base: ( 1,0,#,0,1,#,1,#)
guia: ( #,0,1,1,1,#,0,0)
resultantes: ( 1,1,#,0,1,#,0,#)
( 1,0,#,1,1,#,0,#)
Alm do operador recombinao, usamos o operador mutao. Este operador
aplicado no caso em que s
base
uma estrutura completa. Na mutao, cada semente da
estrutura permuta de posio com os vrtices que no pertencem ao conjunto das
sementes, gerando novas estruturas (|V|-|V
1
| estruturas). No algoritmo implementado,
iniciamos com o operador recombinao, no havendo mutao. A medida que novas
estruturas so geradas, o operador mutao torna-se mais freqente, chegando ao final
do processo como nico operador.
3. Resultados computacionais
O AGC foi testado inicialmente em uma amostra dos dados para o PPM que se
encontram na OR-library [3]. Os tamanhos das instancias so 100, 200, 300, 400, e
500 vrtices. O nmero de medianas varia de 5 a 67. Os resultados computacionais
esto apresentados na tabela 1. A soluo do AGC a avaliao de g(s
k
) para a
melhor estrutura gerada. O gap = [(soluo AGC - Soluo tima)*100]/(soluo
AGC).
Todos os gaps foram menores que 0.73% e nulos para nove instancias. O
algoritmo foi codificado em C, e os testes avaliados em um Pentium 166 Mhz. Pode
ser notado na tabela 1 que um nmero grande de medianas aumenta o tempo
computacional. Isso ocorre pelo uso mais intensivo da busca local de mutao. O
controle de evoluo (intervalo de tempo) usado foi: = 0.05 para 0 1 e =
0.025 para > 1; e o desvio proporcional admitido d = 0.1.
10
Problema Vertices
(n)
Medianas
(p)
Soluo
tima
Soluo
AGC
gap (%) Tempo
(segundos)
pmed1 100 5 5819 5819 0 28
pmed2 100 10 4093 4093 0 37
pmed3 100 10 4250 4250 0 34
pmed4 100 20 3034 3034 0 230
pmed5 100 33 1355 1360 0.36 375
pmed6 200 5 7824 7824 0 172
pmed7 200 10 5631 5631 0 238
pmed8 200 20 4445 4454 0.20 1055
pmed9 200 40 2734 2754 0.73 3331
pmed10 200 67 1255 1257 0.15 4325
pmed11 300 5 7696 7696 0 369
pmed12 300 10 6634 6637 0.04 677
pmed13 400 5 8162 8162 0 555
Pmed14 500 5 9138 9138 0 1875
Tabela 1: Resultados computacionais dos testes realizados.
Para o problema pmed1 traamos os seguintes grficos (figuras 1 a 4):
Figura 1: Tamanho da populao por
gerao
0
500
1000
1500
2000
2500
0 20 40 60 80 100
Geraes
T
a
m
a
n
h
o

d
a

p
o
p
u
l
a

o
Figura 2: Nmero mximo de vrtices por
gerao
0
20
40
60
80
100
120
0 20 40 60 80 100
Geraes
N
u
m
e
r
o

d
e

v

r
t
i
c
e
s
Figura 3: Melhor dk por gerao
0
0,1
0,2
0,3
0,4
0,5
0 20 40 60 80 100
Geraes
M
e
l
h
o
r

g
a
p

p
r
o
p
o
r
c
i
o
n
a
l
Figura 4: Melhor valor de g por gerao
5500
6000
6500
7000
7500
0 20 40 60 80 100
Geraes
M
e
l
h
o
r

a
v
a
l
i
a

o

d
e


g

11
Onde:
Figura 1: Mostra como varia o tamanho da populao;
Figura 2: Mostra o crescimento do nmero de vrtices da estrutura com
mximo valor |V
1
|+|V
2
| por gerao;
Figura 3: Mostra os valores do desvio d
k
em funo do nmero de geraes; e
Figura 4: Mostra a evoluo da funo objetivo g(s
k
) em relao as geraes.
O AGC foi tambm aplicado a um conjunto de instancias do PPMC, propostas
no trabalho de Osman e Christofides [32]. Foram considerados dois conjuntos de 10
instancias, com (50x5) e (100x10) vrtices e medianas, respectivamente. A tabela 2
apresenta os gaps para a melhor soluo de 7 heursticas, e o tempo mdio para 5
replicaes do AGC. As colunas representam a identificao do problema, resultados
de heursticas usadas em [32] (H.OC, H1+F1, H1+B1, HSS.OC, HSS.C e TS1+FBA),
os gaps obtidos pelo AGC e os seus tempos.
A heurstica H.OC uma heurstica construtiva simples, enquanto que
H1+F1 e H1+B1 iniciam com o resultado de H.OC e realizam permutaes usando as
estratgias first improve e best improve. Os algoritmos HSS.OC e HSS.C so
implementaes de simulated annealing que usam estratgias distintas de
resfriamento da temperatura. O algoritmo TS1+FBA implementa uma verso da busca
tabu [32].
Observando os resultados na tabela 2, pode-se concluir que o AGC apresenta
resultados to bons quanto TS1+FBA e ligeiramente pior que HSS.OC e HSS.C, isto
, os melhores resultados so comparveis.
Prosseguimos os testes computacionais com instancias do PCM propostas no
trabalho de Johnson e Mehrotra [22]. Dois conjuntos de instancias foram testados, o
primeiro com Q=450 e o segundo com Q=512. O nmero de vrtices, grupos e arestas
variam, e as solues timas dos problemas foram obtidas em [22] usando um mtodo
exato. A tabela 3 apresenta os resultados da aplicao do AGC nas instancias. O gap
neste caso calculado por gap = [(soluo tima soluo AGC)*100]/(soluo
tima). O resultados do AGC podem ser considerados bons, com tempos
computacionais baixos.
4. Concluses
Os resultados mostram que o AGC eficiente na otimizao dos problemas de
agrupamentos considerados. Observamos que em muitas instncias o algoritmo foi
capaz de obter a soluo tima num pequeno intervalo de tempo, ficando no geral a
menos de 1% da soluo tima.
Verificamos que existe maior dificuldade em obter boas solues quando o
nmero de sementes maior. Acreditamos que isto ocorre devido a representao
usada para as estruturas. O AGC um mtodo flexvel, i.e., outras restries poderiam
ser facilmente tratadas nos problemas, e existe muita liberdade tambm na definio
das heursticas de atribuio.
12
A representao usada e os decodificadores de atribuio (heursticas) podem ser
usados em outros problemas de agrupamentos, mas importante salientar que os
conceitos bsicos do AGC so independentes da representao e decodificadores.
Alguns resultados anteriores usam representaes diferentes na aplicao do AGC aos
problemas de Cortes bi-dimensional [25] e ao problema da k-colorao [34].
Finalmente, acreditamos que uma anlise mais profunda dos parmetros empregados
pode trazer ainda melhores resultados.
Agradecimentos: O trabalho do segundo autor recebeu apoio parcial do CNPq atravs dos projetos de nmeros
350034/91-5, 520844/96-3, 680082/95-6 e da FAPESP nos projetos nmeros 95/9522-0 e 96/04585-6.
Problema H.OC H1+FI H1+BI HSS.OC HSS.C TS1+FBA AGC Tempo (s)
1 10,23 9,39 14,72 0 2,94 2,94 0 2
2 10,27 2,97 5,13 0 0 0 0 2
3 29,42 7,98 8,65 0 0 0 0 12
4 36,86 0 0,15 0 0 0 0 2
5 21,08 12,34 1,95 0 0 0 0 8
6 13,36 8,09 8,86 0 0 0 0 2
7 22,99 8,25 4,70 0 2,28 0 0 3
8 15,24 1,70 2,07 0 0 0,12 0,73 11
9 5,17 2,79 2,65 0 0 0 0 2
10 22,67 1,80 7,47 0 0 0 1,44 14
11 75,04 1,39 1,29 0 0 0,29 0,79 614
12 62,21 3,93 0,82 0 0 0,20 0,31 296
13 80,01 11,50 2,63 0 0 0 0 327
14 66,49 1,62 7,33 0,30 0 0,30 0,50 303
15 38,91 0,54 4,21 0 0 0,36 0 315
16 86,58 11,42 4,08 0 0 0,31 0,10 271
17 61,02 6,76 5,60 0,48 0,29 0,58 0 332
18 28,95 4,41 8,91 0,19 0,19 0,19 0,19 380
19 58,48 7,17 9,11 0 0,09 0,29 0,09 410
20 86,26 3,08 2,48 0 1,39 0 3,38 503
Tabela 2: PPMC: gaps do AGC e de heursticas de Osman & Christofides .
Problema Q Vrtices p Arestas Soluo
tima
AGC Gap (%) Tempo
(s)
1 Cb450.30.6.47 450 30 6 47 1099 1099 0 20
2 Cb450.48.8.98 450 48 8 98 2928 2928 0 31
3 Cb450.47.8.99 450 47 8 99 1837 1826 0,59 86
4 Cb450.47.9.101 450 47 9 101 3574 3451 3,44 210
5 Cb450.61.9.187 450 61 9 187 22245 21459 3,53 118
6 Cb512.30.5.47 512 30 5 47 1174 1142 2,72 63
7 Cb512.45.7.98 512 45 7 98 3238 3209 0,89 49
8 Cb512.47.7.99 512 47 7 99 1993 1940 2,65 79
9 Cb512.47.8.101 512 47 8 101 3969 3713 6,40 322
10 Cb512.61.8.187 512 61 8 187 23564 22762 3,40 359
Tabela 3: Problema PCM: resultados do AGC.
13
5. Referncias
[1] Bck, Th.; Schwefel, H.P. An
Overview of evolutionary algorithms
for parameter optimization.
Evolutionary Computation, v. 1, p. 1-
23, 1993.
[2] Beasley, J.E. A note on solving large
p-median problems. European Journal
of Operational Research. v. 21, p.
270-273, 1985.
[3] Beasley, J.E. OR-Library:
distribution test problems by
electronic mail. Journal of
Operational Research Society. v. 41,
p. 1069-1072, 1990.
[4] Beasley, J.E. Lagrangean heuristics
for Location problems. European
Journal of Operational Research. v.
65, p. 383-399, 1993.
[5] Christofides, N.; Beasley, J.E. A tree
search algorithm for the p-median
problems. European Journal of
Operational Research. v. 10, p. 196-
204, 1982.
[6] Davis, L.D., Handbook of Genetic
Algorithms. Van Nostrand Reinhold,
1991.
[7] De Jong, K. An analysis of the
behavior of a class of genetic
adaptive systems. Ph.D. thesis,
University of Michigan, Ann Arbor,
MI, 1975.
[8] Densham, P.J., Rushton, G. A more
efficient heuristic for solving large P-
median problems. Papers in Regional
Science v.71, p. 307-329, 1992.
[9] Efroymson, M. A. and Ray, T. L. A
branch-and-bound algorithm for
plant location Operations Research
v.14, p. 361-368, 1966.
[10] Galvo, R.D.; Raggi, L.A. A method
for solving to optimality
uncapacitated location problems.
Annals of Operations Research. v. 18,
p. 225-244, 1989.
[11] Galvo, R.D.; Ferreira Filho, V.J.M.;
Rivas, M.P.A. Some computational
aspects of p-median type location
problems. VIII Congresso
CLAIO/XXVIII SBPO, Rio de
Janeiro, p. 1266-1271, 1996.
[12] Garey, M. R.; Johnson, D. S.,
Computers and Intractability: a Guide
to the Theory of NP-Completeness.
San Francisco: Freeman, 1979.
[13] Goldberg, D.E., Genetic algorithms in
search, optimization and machine
learning. Addison-Wesley, Reading,
MA, p. 11-172, 1989.
[14] Goldberg, D.E.; Korb, B.; Deb, K.
Messy genetic algorithms:
Motivation, analysis, and first results.
Complex Systems v. 3: p. 493-530,
1989.
[15] Goldberg, D.E.; Deb, K.; Kargupta,
H.; Harik, G. Rapid, accurate
optimization of difficult problems
using fast messy genetic algorithms.
IlliGAL Report No. 93004, Illinois
Genetic Algorithms Laboratory,
Department of General Engineering,
University of Illinois, Urbana, 1993.
[16] Goodchild, M. F.; Noronha, V.
Location-allocation for small
computers. Monograph No. 8,
Department of Geography, University
of Iowa, Iowa city, 1983.
[17] Grefenstette, J.J. Proceedings of the
second intl conference on genetic
algorithms and their applications.
Hillsdale, NJ, Lawrence Erlbaum,
1987.
[18] Hakimi, S.L. Optimum distribution of
switching centers and the absolute
centers and the medians of a graph.
Operations Research. v. 12, p. 450-
459, 1964.
[19] Hakimi, S.L. Optimum distribution of
switching centers in a communication
network and some related graph
theoretic problems. Operations
Research. v.13, p. 462-475, 1965.
[20] Holland, J.H., Adaptation in natural
and artificial systems. MIT Press, p.
11-147, 1975.
[21] Jarvinen, P.; Rajala, J. ; Sinervo, H. A
branch and bound algorithm for
seeking the p-median. Operations
Research, v. 20, p. 173-178, 1972.
[22] Johnson, E.L.; Mehrotra, A. Min-Cut
Clustering. Working paper. School of
Industrial & Systems Engineering,
Georgia Institute of Technology,
Atlanta, 1992.
[23] Kargupta, H. Search, Polynomial
Complexity, and The Fast Messy
Genetic Algorithm, Ph.D. thesis,
IlliGAL Report No. 95008, Illinois
Genetic Algorithms Laboratory,
14
Department of General Engineering,
University of Illinois, Urbana, 1995.
[24] Klein, K. ; Aronson, J.E. Optimal
clustering: a model and method.
Naval Research Logistics, v. 38, p.
447-461, 1991.
[25] Lorena, L.A.N.; Lopes, F.B. A
dynamic list heuristic for 2D-cutting.
In J. Dolezal and J. Fidler eds.,
System Modeling and Optimization,
Chapman-hall, p. 481-488, 1996a.
[26] Lorena, L.A.N.; Lopes, L.S.
Computational experiments with
genetic algorithms applied to set
covering problems. Pesquisa
Operacional, 16, p. 41-53, 1996b.
[27] Lorena, L.A.N.; Lopes, L.S. Genetic
algorithms applied to
computationally difficult set covering
problems. Journal of the Operational
Research Society, 48, p. 440-445,
1997.
[28] Michalewicz, Z., Genetic Algorithms
+ Data Structures = Evolution
Programs. Springer-Verlag, Berlin,
1996.
[29] Mitchell, M., An Introduction to
Genetic Algorithms. MIT Press,
Cambridge, England, 1996.
[30] Mulvey, J. M.; Beck, M.P. Solving
capacitated clustering problems.
European Journal of Operational
Research, v. 18, p. 339-348, 1984.
[31] Neebe, A.W. A branch and bound
algorithm for the p-median
transportation problem. Journal of the
Operational Research Society. v. 29,
p. 989-995, 1978.
[32] Osman, I. H.; Christofides, N.
Capacitated clustering problems by
hybrid simulated annealing and tabu
search. International Transactions in
Operational Research, v. 1, n. 3, p.
317-336, 1994.
[33] Pearl, J., Heuristics Intelligent
search strategies for computer
problem solving, Addison-Wesley
Publishing Company, MA, 1985.
[34] Ribeiro Filho, G. Uma heurstica
construtiva para colorao de grafos.
Master thesis, INPE, 1997.
[35] Rolland, E., Schilling, D. A., Current,
J. R., An efficient Tabu search
procedure for the p-median problem.
European Journal of Operational
Research 96, 329-342,1997.
[36] Rosing, K. E.., ReVelle, C. S.,
Heuristic concentration; Two stage
solution construction. European
Journal of Operational Research 97,
75-86,1997.
[37] Rosing, K. E., ReVelle, C. S.,
Schilling D. A. and Current, J. R.
Heuristic concentration and Tabu
search: A head to head comparison.
European Journal of Operational
Research, 93-99. 1998.
[38] Senne, E.L.F.; Lorena, L.A.N. A
lagrangean/surrogate approach to
facility location problems, EURO-
TIMS Congress Barcelona, 1997.
[39] Spath, H., Cluster Analysis
Algorithms for data reduction and
classification of objects. Ellis
Horwood Publishers, New York,
1980.
[40] Teitz, M.B.; Bart, P. Heuristic
methods for estimating the vertex
median of a weighted graph.
Operations Research. v. 16, p. 955-
961, 1968.
[41] Zupan, J., Clustering of Large Data
Sets. John Wiley & Sons, New York,
1982

Potrebbero piacerti anche