JOO PESSOA - PB
MARO, 2009
JOO PESSOA - PB
MARO, 2009
CDU: 004(043)
AGRADECIMENTOS
Gostaria de agradecer primeiramente a minha famlia, pela constante torcida e
pelo suporte prestado, no s nessa fase, mas durante toda a minha vida. Um
agradecimento especial a talo Curvelo, meu irmo, por ouvir (quase sempre)
pacientemente minhas divagaes sobre a vida acadmica.
A Amanda Mendes, pela sua compreenso, amor, carinho e dedicao
demonstrados desde o primeiro momento em que nossos caminhos se cruzaram.
A Lucdio Cabral. Orientador atencioso, professor de excelente didtica,
cmplice e um amigo para toda a vida.
Ao professor Marcone Souza, que muito nos ajudou direta e indiretamente:
atravs das notas de aula disponveis em seu site (as quais me iniciaram nessa fascinante
rea), pelas sugestes dadas e por ter nos concedido acesso ao seu CPLEX.
Ao professor Guido Lemos, pesquisador visionrio, que alm de ter proposto o
tema de nosso trabalho j nos prestou diversos apontamentos esclarecedores.
Ao professor Dnio Mariz, amigo j de alguns anos, sempre atencioso e com
comentrios construtivos, e o qual fiz questo que estivesse em minha banca avaliadora.
Ao meu amigo Thiago Gouveia, pela constante troca de idias sobre os avanos
e dificuldades compartilhadas no mestrado, afinal, no bastasse termos estudado nas
mesmas turmas do ensino mdio e das duas graduaes, tnhamos de compartilhar ainda
o mesmo orientador no mestrado!
Ao colega Anand Subramanian, pelo apoio em vrios momentos,
principalmente nos de maior estresse. A Hugo Kramer por ter nos ajudado com as
execues no CPLEX. Ao Tssio Vale, do GT-Medies da RNP, pela ajuda nas
medies no backbone da RNP.
Aos avaliadores annimos dos eventos aos quais submetemos nosso trabalho,
cujos valiosos comentrios nortearam vrios de nossos esforos neste estudo.
E por ltimo, e no menos importante, a Deus, cujo acaso em seu algoritmo
s tem me proporcionado movimentos de melhora, conduzindo-me sempre pelas
melhores solues do infinito espao de busca da vida.
RESUMO
Esse trabalho procura estudar abordagens heursticas para o problema de
configurar uma rede de videoconferncia, de modo a minimizar sua latncia total. A
latncia que consiste no tempo que a informao leva para percorrer o caminho entre
os ns fins na comunicao compreende uma das principais barreiras para a
popularizao da videoconferncia, devido caracterstica interativa que essa aplicao
possui.
O trabalho foca em videoconferncias multiponto centralizadas, ou seja,
aquelas onde h trs ou mais participantes e so utilizadas unidades de controle
multiponto (Multipoint Control Unit MCU) para controle e processamento dos fluxos
audiovisuais.
Para esse cenrio mostra-se interessante o projeto de um algoritmo
coordenador, capaz de configurar a rede overlay, procurando minimizar a latncia total
do servio. Esse algoritmo deve determinar a configurao topolgica do grafo de
MCU's, de modo a atender vrias salas de conversao, bem como atribuir os clientes
de cada sala a uma MCU.
A obteno da configurao de latncia mnima mostrou-se um problema de
complexidade intratvel, para tanto se buscou abordagens heursticas para abord-lo. O
problema foi modelado utilizando programao linear inteira, onde foi possvel obter-se
a soluo tima para instncias pequenas e solues de referncia para instncias
maiores. Os resultados obtidos foram utilizados para validao das heursticas. Foi
avaliado o uso das metaheursticas Simulated Annealing e Busca Tabu, e de uma
heurstica hbrida Simulated Annealing / Busca Tabu, como alternativas para obter
solues aproximadas de boa qualidade, em um tempo computacional razovel.
Palavras-chave: Metaheursticas, Videoconferncias, ALM, Cascateamento de MCUs
ii
ABSTRACT
This work aims to study heuristics approaches to solve the videoconferencing
network configuration problem, in order to minimize its total latency. Latency is the
time that information takes from source to destination node in communication. It is one
of the main barriers for videoconferencing popularization, due to interactive nature of
the application.
This work focuses on centralized multipoint videoconferencing context, which
means that a multipoint control unit (MCU) is used for processing audiovisual flows
and for controlling the service.
In this scenario there's a possibility to design a coordinator algorithm capable
of configuring the network, trying to minimize the network overlay total latency. This
algorithm must determine the MCUs graph topology, in order to meet multiple
simultaneous chat rooms, and choose for which MCUs clients will connect to the
service.
Obtaining minimum latency solution is an intractable complexity problem,
therefore heuristic approaches was searched to treat it. The problem was modeled using
integer linear programming, where was possible obtain the optimal solution for small
instances. Then the results were used to validate the heuristic approaches. We evaluated
the use of Simulated Annealing and Tabu Search metaheuristics, and a hybrid heuristic
Simulated Annealing/Tabu Search as alternatives to get good quality solutions in a
reasonable computational time.
Keywords: Metaheuristics, Videoconferencing, ALM, MCU Cascading
iii
LISTA DE FIGURAS
Modelos de conferncia MP centralizado (a) e com cascateamento de MCU's (b)..........3
Disposio dos clientes na tela, pelo OpenMCU.............................................................11
Arquitetura e gerao da imagem pelo DCS...................................................................12
Arquitetura do OMNI [Banerjee et al., 2003].................................................................13
Arquitetura do Kudos [Jain et al., 2002].........................................................................14
Representao visual da soluo da instncia MCU_5_16_2_cap8................................24
Representao da soluo de MCU_5_16_2_cap8 utilizando a estrutura de dados........24
Movimento de Mover Participante..................................................................................25
Movimento de Permutar Participantes............................................................................26
Movimento de Adicionar MCU.......................................................................................27
Movimento de Permutar MCU's de uma mesma sala......................................................27
Movimento de Permutar de MCU's de salas diferentes...................................................28
Procedimento de Soluo Inicial.....................................................................................30
Procedimento Simulated Annealing para um problema de minimizao [Souza, 2006] 32
Procedimento TemperaturaInicial() para um problema de minimizao [Souza, 2006]. 34
Procedimento Busca Tabu para um problema de minimizao [Souza, 2006]...............36
Diagrama da Heurstica Hbrida SABT...........................................................................37
Procedimento SABT........................................................................................................38
Visualizao da instncia MCU_5_16_2_cap8, gerada aleatoriamente..........................40
Valores de entrada da instncia MCU_5_16_2_cap8......................................................40
Efeitos da temperatura inicial e condio de parada extra..............................................44
Distribuio de Probabilidade Emprica para um Alvo fcil...........................................54
Distribuio de Probabilidade Emprica para um Alvo Difcil........................................55
Convergncia do SABT para diferentes alvos.................................................................55
Soluo de MCU_5_16_2_cap8_cl obtida por SolInicial()............................................68
Soluo de MCU_5_16_2_cap8_cl obtida pelo SABT...................................................68
Soluo de MCU_30_50_5_cap8 obtida por SolInicial()...............................................69
Soluo de MCU_30_50_5_cap8 obtida pelo SABT......................................................69
Soluo de MCU_40_150_15_cap8 obtida por SolInicial()...........................................70
Soluo de MCU_40_150_15_cap8 obtida pelo SABT..................................................70
Soluo de MCU_40_200_30_cap8_cl obtida por SolInicial()......................................71
Soluo de MCU_40_200_30_cap8_cl obtida pelo SABT.............................................71
iv
LISTA DE TABELAS
Tabela 1: Instncias geradas aleatoriamente....................................................................41
Tabela 2: Instncias baseadas na RNP.............................................................................43
Tabela 3: Parmetros utilizados no SA............................................................................45
Tabela 4: Parmetros utilizados no procedimento TemperaturaInicial().........................45
Tabela 5: Parmetros utilizados na BT............................................................................46
Tabela 6: Parmetros utilizados no SABT.......................................................................47
Tabela 7: Resultados da execuo das instncias aleatrias no CPLEX.........................47
Tabela 8: Resultados da execuo das instncias RNP no CPLEX.................................48
Tabela 9: Resultados das Heursticas...............................................................................50
Tabela 10: Gap mdio de cada heurstica para o conjunto das instncias.......................51
Tabela 11: Comparativo entre as melhores solues de cada heurstica........................52
Tabela 12: Resultados das heursticas com o movimento de permutar papis................56
Tabela 13: Distribuio de probabilidade dos movimentos para o experimento com
movimentao tendenciosa..............................................................................................58
Tabela 14: Comparativo entre heursticas com escolha aleatria e tendenciosa de
movimentos.....................................................................................................................58
LISTA DE ACRNIMOS
ALM
ALMT
BT
Busca Tabu
DCS
FIFO
IP
Internet Protocol
IPTV
ITU-T
International
Telecommunication
Union
Internet Protocol
MC
Multipoint Controller
MCU
MP
Multipoint Processor
NP
P2P
Peer-to-peer
PoP
Point-of-Presence
QoS
Quality of Service
RNP
RTT
SA
Simulated Annealing
SABT
vi
SUMRIO
Agradecimentos..................................................................................................................i
Resumo..............................................................................................................................ii
Abstract............................................................................................................................iii
1 Introduo.................................................................................................................1
1.1 Objetivos do trabalho........................................................................................4
1.2 Metodologia seguida.........................................................................................5
1.3 Publicaes........................................................................................................6
2 Reviso Bibliogrfica................................................................................................8
2.1 Padro H.323.....................................................................................................8
2.1.1 Modelos de Videoconferncia...................................................................9
2.1.2 Cascateamento de MCU's........................................................................10
2.2 Dynavideo Conference System.......................................................................10
2.3 Multicast em nvel de aplicao (ALM).........................................................12
2.4 Configurao da rede de videoconferncia de custo mnimo.........................15
3 Formulao do Problema........................................................................................17
3.1 Modelo Matemtico........................................................................................18
4 Heursticas Propostas..............................................................................................22
4.1 Representao de uma soluo........................................................................23
4.2 Estrutura de Vizinhana..................................................................................24
4.2.1 Mover Participante..................................................................................25
4.2.2 Permutar participantes.............................................................................25
4.2.3 Adicionar MCU.......................................................................................26
4.2.4 Permutar MCU's de mesma sala..............................................................26
4.2.5 Permutar MCU's de salas diferentes........................................................27
4.2.6 Permutar Papis de MCU's......................................................................28
4.3 Soluo Inicial.................................................................................................28
4.4 Simulated Annealing ......................................................................................31
4.5 Busca Tabu......................................................................................................34
4.6 Heurstica Hbrida Simulated Annealing Busca Tabu (SABT)....................36
5 Resultados...............................................................................................................39
5.1 Instncias.........................................................................................................39
5.1.1 Instncias aleatrias.................................................................................39
5.1.2 Instncias RNP........................................................................................42
5.2 Parametrizao................................................................................................43
5.3 Experimentos...................................................................................................47
6 Consideraes Finais..............................................................................................61
Bibliografia......................................................................................................................65
Anexo I Exemplos Visuais de Solues.......................................................................68
vii
1 Introduo
Aplicaes de videoconferncia, devido ao tipo de mdia empregada udio e
vdeo demandam um alto custo de largura de banda. Alm disso, a qualidade de
servio de aplicaes interativas em tempo real apresenta sensibilidade ao desempenho
das redes comutadas por pacotes, em especial latncia. Essas caractersticas se
constituem as principais barreiras para a popularizao da videoconferncia, sobretudo
da conferncia multiponto [Civanlar et al., 2005].
Neste tipo de aplicao (videoconferncia multiponto), onde h comunicao
de grupo, o consumo de banda passante pode ser realmente impactante caso no haja
um planejamento da infraestrutura de comunicao para o uso racional deste recurso.
Sistemas de videoconferncia multiponto distinguem-se, quanto a sua
infraestrutura de comunicao, em descentralizados, centralizados e hbridos [Rao et al.,
2006].
No modelo descentralizado, a comunicao ocorre normalmente de duas
formas: (1) utilizando-se multicast IP ou (2) atravs de conexes unicast entre os
participantes. Apesar dos inegveis ganhos do uso do multicast IP (como robustez e
escalabilidade), sabe-se que a implantao do multicast em escala global no uma
realidade hoje em dia, o que impede esta opo de ser considerada uma soluo vivel
[Yeo et al., 2004]. Por outro lado, utilizando-se conexes unicast para interligar todos os
terminais, obtm-se um cenrio onde cada participante tem de enviar, receber e tratar (n1) fluxos, onde n representa o nmero de participantes. Isso gera uma limitao na
escalabilidade, tanto devido ao consumo de banda, quanto ao processamento.
Existem esforos no sentido de melhorar a eficincia no consumo de banda por
parte das videoconferncias descentralizadas. Por exemplo, em [Civanlar et al., 2005]
proposta uma arquitetura para implantao de videoconferncia P2P, onde os pacotes de
dados so transmitidos atravs de cadeias. Nestas cadeias, uma seqncia de ns prdefinida. O n na cabea da cadeia, gerador do fluxo atual, envia seus dados para o
seguinte, que retransmitir o dado adiante, at o final da cadeia. Diferentes cadeias so
1
definidas com cada um dos ns na cabea da estrutura. Deste modo, todo terminal est,
a cada instante, enviando um fluxo e recebendo outro. Esta abordagem trata bem o
problema de consumo de banda, mas por outro lado o atraso fim a fim crtico s
videoconferncias no to privilegiado. Neste esquema de cadeias, o ltimo terminal
de uma corrente receber os dados oriundos dos ns da cabea aps um perodo de
tempo igual ao somatrio dos atrasos de transmisso individual de cada n para o seu
seguinte da cadeia.
Em sistemas de videoconferncia que implementam o modelo centralizado, os
participantes se comunicam atravs de conexes unicast com uma unidade de controle
multiponto (MCU), responsvel por realizar procedimentos de controle da conferncia,
como tambm por mesclar a informao audiovisual dos clientes e enviar a cada um
deles um nico fluxo com os dados mixados. Com este modelo no h a necessidade de
suporte a multicast IP, mas ainda assim h um uso eficiente da rede, pois cada terminal
envia apenas um fluxo de dados. Alm disso, devido ao fato de terem de receber e tratar
um fluxo nico, possvel que hosts com menor poder computacional (ex. dispositivos
mveis) utilizem-se do servio, j que no ser necessrio que os terminais mesclem os
fluxos. As MCU's podem implementar adicionalmente outras funcionalidades, que
agregam vantagens ao modelo, como negociao de capacidades com os terminais (ns
com necessidades diferentes recebem fluxos de qualidade diferente) e compartilhamento
de documentos. Contudo, este modelo apresenta as desvantagens de possuir um ponto
nico de falha (a prpria MCU), e uma baixa escalabilidade, devido capacidade de a
MCU ser fator limitante do nmero de usurios.
H tambm o modelo hbrido que consiste em uma mescla do modelo
centralizado e do descentralizado. Normalmente utilizado quando se tem acesso a uma
infraestrutura de comunicao multicast, mas ainda faz uso de uma MCU, por exemplo,
para o controle da conferncia e compartilhamento de documentos.
Em [Vasconcelos & Souza Filho, 2004] proposto um sistema de
videoconferncia chamado Dynavideo Conference System (DCS), que apresenta uma
arquitetura variante do modelo clssico videoconferncia centralizada, e faz proveito do
cascateamento de MCU's (previsto no padro H.323 [ITU-T, 2003]), no intuito de
prover uma maior escalabilidade para o modelo e minimizar o problema de ponto nico
2
de falha.
O padro H.323 parte da famlia de recomendaes do ITU-T (International
Telecommunication Union Telecommunication Standardization Sector) da srie H que
trata de sistemas audiovisuais e multimdia, especificando comunicaes multimdia em
redes baseadas em pacotes sem garantia de qualidade de servio. Muito embora o
mercado esteja em contnuo movimento, o H.323 ainda o padro predominante para
aplicaes de videoconferncias sobre IP [Aposkitis et al., 2005]. Nele so definidos
alguns componentes, dentre eles os terminais e as MCU's. Os terminais so os ns
clientes da videoconferncia, com capacidade para comunicao audiovisual
bidirecional; enquanto a MCU um tipo especial de terminal como j citado
anteriormente, tem a funo de controle da conferncia, como tambm responsvel
por mixar a informao audiovisual dos participantes em um fluxo nico.
Adicionalmente, o H.323 prev uma caracterstica opcional para as MCU's: a
possibilidade de cascateamento. Com essa funo, as MCU's trocam mensagens entre si
de modo que, ao invs de uma MCU intermediando a comunicao entre os terminais,
tenha-se uma nuvem de MCU's, cascateados sob demanda, como ilustra a Figura 1.
Alm disso, o DCS implementa a funcionalidade de redirecionamento de chamadas, que
permite mover clientes entre MCU's, durante a conferncia.
1.1
Objetivos do trabalho
O objetivo geral desse trabalho estudar opes de algoritmos para atuarem
1.2
Metodologia seguida
No intuito de validar as abordagens heursticas, se mostra interessante a
1.3
Publicaes
Durante o perodo em que este trabalho foi desenvolvido, procurou-se
submeter seus resultados parciais a eventos das reas relacionadas, com o intuito no s
de comunicao, mas tambm para obter avaliaes de pesquisadores de outras
instituies. Deste esforo, alm dos comentrios e crticas, que contriburam para a
melhoria deste trabalho, foram obtidas algumas publicaes.
O trabalho [Souza Filho et al., 2006] apresenta o problema pela primeira vez,
demonstra a primeira verso da estrutura de vizinhana e prope a implementao do
Simulated Annealing para resolver o problema.
Em [Anjos et al., 2008a] apresentado o modelo matemtico em programao
linear inteira para o problema, como tambm os primeiros resultados computacionais do
6
Simulated Annealing (com uma parametrizao fixa), bem como a comparao de seus
resultados com os valores de referncia obtidos pela execuo do modelo matemtico.
J o artigo [Anjos et al., 2008b] apresenta uma parametrizao alternativa para
o Simulated Annealing, uma implementao da Busca Tabu e a comparao de ambos
os mtodos.
2 Reviso Bibliogrfica
Neste captulo so apresentados os fundamentos bsicos para o entendimento
do trabalho realizado, extrados dos principais artigos da literatura consultada ao longo
de todo o perodo de desenvolvimento desta pesquisa.
2.1
Padro H.323
O padro H.323 [ITU-T, 2003] parte da famlia de recomendaes do ITU-T
processamento por parte dos terminais, j que os mesmos devem tratar udio e vdeo
oriundo de todos os participantes da conferncia. Adicionalmente, h um aumento do
fluxo na rede devido necessidade de todos os terminais enviarem e receberem udio e
vdeo de e para todos os outros.
Conferncia Multiponto Centralizada: conferncia multiponto na qual todos
os terminais envolvidos comunicam-se de maneira ponto-a-ponto com uma MCU. Neste
caso, a MCU possui um elemento Multipoint Processor (MP) que processa fluxos de
udio, vdeo, e opcionalmente dados, devolvendo aos terminais o fluxo processado. Este
tipo de conferncia possui a vantagem de minimizar o processamento nos terminais, que
s precisam tratar um fluxo de udio e vdeo, oriundos da MCU, alm de reduzir os
recursos de banda para os terminais, pois cada uma passa a receber o fluxo oriundo
somente da MCU.
2.1.2 Cascateamento de MCU's
No H.323 tambm est prevista a capacidade das MCU's serem cascateadas.
Essa caracterstica permite que uma mesma conferncia se d atravs de mltiplas
MCU's. O processo consiste em um troca de mensagens entre as MCU's que, mantendo
uma relao mestre-escravo, dividam entre si o processamento da conferncia,
aumentando a assim a capacidade de suportar clientes.
Esta caracterstica desejvel no apenas para aumentar a escalabilidade do
servio, como tambm para economizar o uso de banda, em situaes onde clientes
esto geograficamente separados.
2.2
Filho, 2004] utiliza uma verso modificada do projeto OpenMCU [H.323Plus, 2007]
implementao em software e aberta de uma MCU H.323.
O OpenMCU usa o modo de presena contnua para exibir at quatro
participantes simultaneamente. O primeiro participante posto no quadrante superior
esquerdo da tela, a partir da os seguintes so dispostos conforme ilustra a Figura 2.
Caso na conferncia haja mais que quatro participantes, os restantes sero ocultos,
10
sendo cada um deles comutado para exibio apenas quando detectado que est falando.
11
2.3
em nvel de aplicao. Em [Yeo et al., 2004] apresentada uma anlise das principais
solues de ALM propostas, com suas respectivas tcnicas de manuteno da ALMT.
Na maioria dos trabalhos encontrados, os ns possuem um conhecimento local
da rede, o que lhes permite melhorar a topologia apenas de uma forma gulosa,
dificultando alcanar uma soluo global de boa qualidade. Uma exceo a essa regra
o ALMI [Pendarakis et al., 2001].
O ALMI (Application Level Multicast Infrastructure) uma soluo para ALM
desenvolvida para suportar grupos multicast de mltiplas fontes, de tamanho
relativamente reduzido. Nesta soluo empregado um controlador central, responsvel
pela criao de uma rvore geradora mnima entre os ns fim. A latncia usada como
custo das ligaes entre os membros, de modo que a rvore geradora seja de mnima
latncia. O n controlador recebe periodicamente, de seus clientes, informaes
atualizadas do estado da rede, utilizadas para recalcular a rvore geradora.
Outra caracterstica comum a grande parte dos trabalhos correlatos o fato de
existirem apenas ns clientes na rede. Entretanto, em [Banerjee et al., 2003]
12
O OMNI busca minimizar a latncia mdia de toda rvore e, para tanto, cada
MSN guarda dados da rede referente a seus clientes, MSN's vizinhos, e ao caminho
desde a fonte at ele mesmo. H uma fase de construo da rvore, que ocorre antes de
a fonte comear a transmitir, onde o MSN raiz define a topologia da rvore. Entretanto,
no decorrer da transmisso, as mudanas da rede tm um escopo essencialmente local,
realizadas atravs de trocas entre MSN's vizinhos. Visto que nenhuma entidade mantm
informaes atualizadas do estado da rede, movimentos de escopo global so difceis de
serem realizados. Todavia o OMNI tenta aumentar o alcance de seus movimentos,
atravs do encaminhamento de pedidos de permuta entre MSN's, a serem aceitos por
ns aleatrios da rvore.
Em [Jain et al., 2002] apresentado o Kudos, que apesar de possuir apenas ns
clientes, estes podem assumir papis diferentes. No Kudos os clientes se agrupam em
clusters, onde um dos clientes assume o papel de cabea do grupo. Para cada cluster,
13
2.4
buscando minimizar a latncia total, foi primeiramente abordado em [Souza Filho et al.,
2006], onde se prope a utilizao de heursticas de refinamento, e uma proposta de
15
16
3 Formulao do Problema
O problema de otimizar a rede de videoconferncia consiste em determinar a
configurao topolgica mais adequada para a utilizao das MCU's do backbone, de
modo a atender a demanda de clientes, para as mltiplas salas simultneas de
conversao. O que se deseja obter ao final uma rvore de MCU's, enraizada por uma
MCU central, para cada sala, bem como a atribuio de cada cliente da sala a uma MCU
de periferia. Essa configurao deve ser obtida contudo, respeitando as imposies
topolgicas, bem como a capacidade mxima suportada por cada MCU. No obstante, o
custo da latncia total deve ser o mnimo possvel.
De modo formal, seja G = (V, E), o grafo completo e no-direcionado que
representa a rede de servidores do servio, com o conjunto de vrtices
V ={m1 , m2 , m3 , , m p }
com a restrio adicional de que cada cliente c ij s pode estar associado a um nico
elemento de V "i .
Alm disso, cada k-sima MCU suporta uma capacidade mxima Capk de
clientes ou MCU's de periferia, caso k seja central em alguma sala associados a si,
17
onde Capk um valor inteiro. Para cada vrtice V'k V tem-se que:
s
S j
j=1 i=1
Z = f G ' i g H i
i=1
onde f a funo que calcula a soma das arestas que ligam as MCU's de G'i, e g a
funo que calcula o custo das arestas que conectam cada par de clientes e MCU's em
Hi.
3.1
Modelo Matemtico
Nesta seo apresentamos uma formulao de programao linear inteira para
o problema. Esta formulao foi apresentada em [Anjos et al., 2008a], sendo utilizada
para obter solues de referncia pela sua execuo no software LINGO [LINGO,
2001].
Variveis de deciso
{
t ={1, se o cliente l est conectado conferncia atravs da MCU i
0, caso contrrio
y ={1, se a MCU i foi selecionada na sala k
0, caso contrrio
z ={1, se a MCU i for n central na sala k
0, caso contrrio
x ijk = 1, se a aresta entre as MCU's i e j est presente na sala k
0, caso contrrio
li
ik
ik
18
Parmetros
m : o nmero total de MCU's;
s : o nmero total de salas;
c : o nmero total de clientes;
: o limite de clientes por MCU em cada sala. Para o DCS =4;
: o nmero mximo de MCU's por sala. Para o DCS =5;
Ci : a capacidade mxima suportada pela MCU i.
Wij : o custo da aresta que conecta as MCU's i e j;
Vli : o custo da aresta que conecta o cliente l MCU i;
S : associao entre clientes e salas, onde
i=1 j =1
l =1 i =1
(1)
Sujeito a:
x iik =0
(2)
x ijk x jik 1
(3)
k =1,2 , ... , s
(4)
z ik =1
k =1,2 , ... , s
(5)
y ik z ik 0
(6)
(7)
(8)
y ik
i=1
m
i=1
j=1
j =1
j=1
j =1
xijk x jik my ik
xijk x jik yik
19
x jik1z ik
(9)
l=1,2 ,... , c
(10)
i=1,2 , ... , m
(11)
(12)
tliS lk 1 z ik
(13)
x ijk ={0,1}
(14)
t li ={0,1}
(15)
0 y ik 1
(16)
z ik ={0,1}
(17)
j=1
m
t li=1
i=1
c
t li x jik C i
l =1
j =1 k=1
tliS lk y ik
l =1
c
l =1
sobre a MCU, partindo de clientes e de outras MCU's, quando esta for o n central de
alguma sala. Os conjuntos de restries (12) e (13) limitam o nmero de clientes
permitidos por sala. Adicionalmente (12) garante que a MCU selecionada para conectar
cada cliente da sala seja uma das selecionadas para aquela sala, enquanto (13) evita que
a MCU central seja atribuda a alguma cliente. Em (14), (15), (16) e (17) temos as
restries de integralidade das variveis de deciso, que definem os valores permitidos
para t, x, y e z.
21
4 Heursticas Propostas
Em virtude da dificuldade de obter-se a soluo tima do problema de
configurar a videoconferncia, em tempos compatveis com a tomada de deciso,
resolveu-se lanar mo de abordagens heursticas, no intuito de obter solues de boa
qualidade em um tempo razovel.
Para tanto, buscou-se desenvolver algoritmos baseados em metaheursticas
bem conhecidas. Metaheursticas so estratgias que guiam o processo de busca,
objetivam uma explorao eficiente do espao de solues, e normalmente incorporam
mecanismos para evitar que o algoritmo fique preso em alguma regio especfica do
espao de busca [Blum & Roli, 2003].
As funcionalidades de adio e remoo de MCU's a uma sala, bem como o
redirecionamento de clientes presentes na aplicao de videoconferncia fornecem
subsdios para a modelagem do problema abordado utilizando-se heursticas de
refinamento.
As heursticas de refinamento tambm conhecidas como tcnicas de busca
local consistem em algoritmos que percorrem o espao de solues, baseando-se na
noo de vizinhana [Souza, 2006]. O espao de solues S consiste no conjunto de
solues possveis de um problema de otimizao. A vizinhana de uma soluo sS
consiste no conjunto N s S , onde a partir de modificaes sobre s, uma soluo
pertencente a N(s) alcanada. Ao conjunto de modificaes (ou operaes) possveis
sobre as solues, d-se o nome de movimentos. Uma estrutura de vizinhana
modelada de forma que, partindo-se de qualquer soluo sS seja possvel chegar a
qualquer outra soluo s ' S realizando uma quantidade finita de movimentos. Os
movimentos que definem a estrutura de vizinhana do problema de configurao de
videoconferncia sero mostrados na seo 4.2.
As heursticas implementadas para abordar o problema deste trabalho foram a
Simulated Annealing, que mostrada na seo 4.4 utilizada em [Anjos et al., 2008a];
a Busca Tabu, mostrada na seo 4.5 utilizada em [Anjos et al., 2008b]; e a heurstica
22
4.1
de salas, onde cada sala composta pelos seguintes conjuntos: M, contendo as MCU's
que compe a sala; M contendo as MCU's que no participam da sala; e C contendo os
clientes da sala.
O conjunto M implementado como uma lista, composta por pares (i,J), onde i
o nmero que representa a MCU, e J a lista de clientes conectados quela MCU. A
MCU central da sala o primeiro elemento de M, e possui sua lista J vazia.
O conjunto M implementado como uma lista composta apenas pelas MCU's
que no foram atribudas a nenhum cliente da sala e nem foram designadas como a
MCU central.
O conjunto C implementado como uma lista composta por pares (j,i) onde j
nmero que representa o cliente, e i a MCU a qual j est associado.
Para ilustrar a representao de uma soluo, mostrada na Figura 6 a
representao visual da soluo da instncia MCU_5_16_2_cap8 (a lista completa de
instncia mostrada na seo 5.1 e outros exemplos de solues podem ser vistos no
Anexo I).
possvel notar que, ao contrrio dos clientes, que pertencem a uma nica sala,
as MCU's podem estar integrando mltiplas salas. Na Figura 7 mostrada como esta
soluo representada utilizando a estrutura de dados definida neste trabalho.
23
Sala[0]:
M:
M:
C:
Sala[1]:
M:
M:
C:
{(0,[]),(2,[4,9,12,15]),(4,[6,7])}
{1,3}
{(4,2)(6,4)(7,4)(9,2)(12,2)(15,2)}
{(4,[]),(0,[2,8,10,13])(1,[1,11])(2,[0,3,5,14])}
{3}
{(0,2),(1,1),(2,0),(3,2),(5,2),(8,0),(10,0),(11,1),(13,0),(14,2)}
4.2
Estrutura de Vizinhana
Nesta seo so mostrados os movimentos que definem a vizinhana utilizada
pelas heursticas. A maior parte dos movimentos aqui definidos foram propostos
inicialmente em [Anjos et al., 2008a], entretanto houve algumas modificaes sobre os
mesmos. O movimento de Adicionar MCU foi alterado de modo que designasse um
cliente nova MCU; o movimento de Remover MCU foi embutido em Mover
24
Participante, que agora elimina MCU's que tenham ficado sem clientes atribudos a si.
Alm disso, foi proposto um novo movimento: Permutar Papis de MCU's, definido em
4.2.6. Todos os movimentos aqui apresentados so passveis de serem reproduzidos pelo
DCS atravs de suas funcionalidades j discutidas anteriormente.
4.2.1 Mover Participante
Este movimento consiste em mover um participante que esteja alocado a uma
MCU para outra, dentro de uma mesma sala. Para tanto, a MCU destino precisa possuir
disponibilidade para acomodar o participante. Caso a MCU de origem tenha ficado sem
clientes atribudos a si, a mesma ser removida da sala. A Figura 8 ilustra o movimento
de mover participante. Nela o cliente inicialmente conectado sala atravs da MCU D
passa a utilizar a MCU A.
25
27
4.3
Soluo Inicial
Para que as heursticas de busca local realizem seu processo de refinamento, se
faz necessrio partir de uma soluo existente. Em uma aplicao real, como por
28
29
A heurstica calcula, para cada MCU, o somatrio dos custos das arestas para
ligar-se com cada um dos clientes da sala (das linhas 5 a 7). A lista de MCU's ento
ordenada de modo que aquelas que apresentem o menor somatrio de arestas venham
primeiro. Desde modo temos que MCU's mais centrais aparecem antes que MCU's
30
mais afastadas.
A MCU central da sala ento sorteada entre as MCU's mais centrais da rede
(linha 8). Em seguida as MCU's so colocadas em ordem decrescente de capacidade
disponvel, para que sejam selecionadas as MCU's de periferia (linha 11). Estas so
escolhidas, desde que possuam capacidade disponvel e que j no tenham sido
escolhidas como n central da sala. Ao final, caso a demanda no tenha sido atendida, o
procedimento interrompido e o erro informado (linha 19). Quando isso ocorre,
recorremos reexecuo do procedimento.
Nesse ponto, j foram obtidas as listas M e M das MCU's que fazem e no
fazem parte da sala, respectivamente. Resta atribuir os clientes aos ns de periferia.
Da linha 21 a 29 so calculados os somatrio dos custos das arestas entre cada
MCU e cada cliente, e ordenados em ordem decrescente. Deste modo temos que os
clientes mais distantes aparecem antes de os clientes mais prximos. Alm disso, das
linhas 25 a 27, so salvas as melhores arestas (cliente, MCU) de todos os clientes. As
atribuies entre clientes e MCU's so feitas selecionando a melhor aresta (vetor menor)
dos piores clientes primeiro. Ao final, o procedimento retorna soluo inicial gerada.
4.4
Simulated Annealing
A metaheurstica Simulated Annealing (SA) uma tcnica compacta e robusta,
aceita, mas neste caso, com uma probabilidade e/T , conhecida como probabilidade
de Boltzmann onde T um parmetro do mtodo, chamado de temperatura e que
regula a probabilidade de se aceitar solues de pior custo.
A temperatura T assume, inicialmente, um valor elevado T0. Aps um nmero
fixo de iteraes, a temperatura gradativamente diminuda por uma razo de
resfriamento , tal que T k T k1 , sendo 01 . Com esse procedimento, d-se,
no incio uma chance maior para escapar de mnimos locais e, medida que T
aproxima-se de zero, o algoritmo comporta-se como o mtodo de descida, uma vez que
diminui a probabilidade de se aceitar movimentos de piora.
O procedimento pra quando a temperatura chega a um valor prximo de zero
e nenhuma soluo de piora da soluo corrente mais aceita, isto , quando o sistema
est estvel. A soluo obtida quando o sistema encontra-se nesta situao evidencia o
encontro de um mnimo local.
A Figura 14 mostra o pseudocdigo do procedimento Simulated Annealing.
procedimento SA( f(:), N(:), , SAmax, T0, s)
1. s* s;
{melhor soluo obtida at ento}
2. IterT 0;
{nmero de iteraes na temperatura T}
3. T T0;
{temperatura corrente}
4. enquanto (T > 0) faa
5.
enquanto (IterT < SAmax) faa
6.
IterT IterT + 1;
7.
Gere um vizinho qualquer s ' N s ;
8.
= f(s) f(s);
9.
se ( < 0)
10.
ento
11.
s s;
12.
se ( f(s) < f(s*) ) ento s* s;
13.
seno
14.
Tome x [0,1] ;
15.
se (x < e/T ) ento s s;
16.
fim-se;
17.
fim-enquanto;
18.
T T;
19.
IterT 0;
20. fim-enquanto;
21. s s*;
22. retorne s;
Fim SA;
Figura 14: Procedimento Simulated Annealing para um problema de minimizao [Souza, 2006]
32
SAmax
for
demasiadamente
alto,
muito
esforo
ser
gasto
desnecessariamente, enquanto valores muito baixos podem limitar a busca, evitando que
o procedimento encontre solues promissoras.
Neste trabalho, para determinao do valor de T0 optou-se por utilizar um
procedimento para clculo da temperatura [Souza, 2006], como um pr-processamento
que antecede a execuo do SA. O procedimento utilizado, para um problema de
minimizao, mostrado na Figura 15.
O T0 indica a temperatura inicial do procedimento, que ser aumentada at a
condio de parada ser satisfeita; o a razo de aquecimento da temperatura, e
indica a condio de parada. Desta forma, a qualidade da soluo inicial da instncia
quem determinar o valor de T0. Vale salientar que quanto mais prxima do timo for a
soluo inicial, maior ser o valor de T0, visto que ser necessrio aceitar mais
33
4.5
Busca Tabu
A Busca Tabu (BT), proposta por [Glover, 1986], um procedimento
adaptativo, dotado de uma estrutura de memria, que aceita movimentos de piora para
escapar de timos locais.
Partindo de uma soluo inicial, um algoritmo BT explora, a cada iterao, um
subconjunto da vizinhana da soluo corrente. O vizinho de melhor valor de funo
objetivo torna-se a nova soluo corrente mesmo que seja pior que a atual. Para evitar
retornar a uma soluo j visitada em iteraes recentes, mantm-se uma lista de
movimentos proibidos a chamada lista tabu. A atualizao da lista segue uma lgica
FIFO circular, os elementos mais antigos so removidos medida que a lista enche.
34
4.6
forma, medida que as iteraes vo avanando e a temperatura vai diminuindo, tornase menor a probabilidade de o SA escapar de mnimos locais.
Por outro lado, a Busca Tabu um mtodo continuamente de descida, mas que
tambm consegue escapar de mnimos locais devido aceitao do movimento de
melhor vizinho, ainda que este seja um movimento de piora. Todavia, a capacidade da
BT de escapar de mnimos locais a mesma ao longo de toda a sua execuo e est
limitada pelo tamanho de sua lista tabu. Assim sendo, se a soluo inicial entregue como
entrada estiver em uma regio pouco promissora do espao de solues, a BT ter uma
maior dificuldade de sair, podendo at mesmo ficar presa caso sua lista no seja
satisfatoriamente grande.
No intuito de aproveitar as vantagens dos dois mtodos anteriores, e
potencializar os resultados, props-se a utilizao de uma heurstica hbrida Simulated
Annealing - Busca Tabu (SABT, por simplicidade). A idia do SABT consiste em
utilizar o SA com uma parametrizao de menor esforo computacional que a
utilizada pelo SA apenas para obter solues de boa qualidade que sero
posteriormente refinadas pelo procedimento de BT. A Figura 17 mostra o aninhamento
dos mtodos que compem a heurstica hbrida.
37
38
5 Resultados
Nesse captulo sero apresentadas as instncias geradas para os experimentos,
as parametrizaes dos algoritmos implementados e os resultados obtidos pelas
execues do modelo matemtico e das heursticas
5.1
Instncias
Uma instncia para o problema abordado neste trabalho consiste em um
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
da
5
16
2
8
0
135
473
81
34
135
0
407
158
116
473
407
0
541
483
81
158
541
0
59
34
116
483
59
0
444
287
120
551
378
461
221
182
348
606
334
410
250
256
521
286
401
317
138
364
610
466
110
192
557
167
141
22
451
543
259
323
668
520
360
142
629
435
531
291
133
429
687
364
461
301
144
570
380
472
255
148
374
631
363
instncia
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
MCU_5_16_2_cap8,
312
466
346
455
275
192
479
475
371
260
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
1
0
267
275
660
73
221
gerada
351
547
381
516
352
303
492
376
460
294
40
N de
MCU's
5
5
5
5
10
10
10
10
10
15
N de
Clientes
16
16
16
16
16
36
36
36
36
36
N de Capacidade de Clientes
Salas
cada MCU
agrupados?
1
8
1
8
sim
2
8
2
8
sim
1
8
3
8
3
8
sim
4
8
4
8
sim
3
8
-
41
MCU_15_50_5_cap8
MCU_15_50_5_cap8_cl
MCU_15_50_10_cap8
MCU_15_50_10_cap8_cl
MCU_30_50_5_cap8
MCU_30_150_15_cap8
MCU_30_150_15_cap8_cl
MCU_30_150_25_cap8
MCU_30_150_25_cap8_cl
MCU_40_150_15_cap8
MCU_40_200_20_cap8
MCU_40_200_20_cap8_cl
MCU_40_200_30_cap8
MCU_40_200_30_cap8_cl
MCU_60_200_20_cap8
MCU_5_16_1_cap12
MCU_5_16_1_cap12_cl
MCU_5_16_2_cap12
MCU_5_16_2_cap12_cl
MCU_10_16_1_cap12
MCU_10_36_3_cap12
MCU_10_36_3_cap12_cl
MCU_10_36_4_cap12
MCU_10_36_4_cap12_cl
MCU_15_36_3_cap12
MCU_15_50_5_cap12
MCU_15_50_5_cap12_cl
MCU_15_50_10_cap12
MCU_15_50_10_cap12_cl
MCU_30_50_5_cap12
MCU_30_150_15_cap12
MCU_30_150_15_cap12_cl
MCU_30_150_25_cap12
MCU_30_150_25_cap12_cl
MCU_40_150_15_cap12
MCU_40_200_20_cap12
MCU_40_200_20_cap12_cl
MCU_40_200_30_cap12
MCU_40_200_30_cap12_cl
MCU_60_200_20_cap12
15
15
15
15
30
30
30
30
30
40
40
40
40
40
60
5
5
5
5
10
10
10
10
10
15
15
15
15
15
30
30
30
30
30
40
40
40
40
40
60
50
50
50
50
50
150
150
150
150
150
200
200
200
200
200
16
16
16
16
16
36
36
36
36
36
50
50
50
50
50
150
150
150
150
150
200
200
200
200
200
5
5
10
10
5
15
15
25
25
15
20
20
30
30
20
1
1
2
2
1
3
3
4
4
3
5
5
10
10
5
15
15
25
25
15
20
20
30
30
20
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
sim
-
PoP's, onde se considerou que estaria instalada tambm uma MCU do servio de
videoconferncia. Com o resultado das medies gerou-se a matriz do grafo de MCU's.
Para o posicionamento dos clientes, considerou-se uma situao onde estes estariam
agrupados em torno de alguma MCU (como estudantes e professores em uma
universidade presente na RNP), como explicado na seo 5.1.1. Desta forma, atribuiu-se
cada cliente a uma das MCU's da rede, aleatoriamente, e utilizou-se dos dados das
medies para determinar a matriz das latncias entre clientes e MCU's.
A nomenclatura dessas instncias segue o mesmo padro mostrado na seo
5.1.1, trocando-se o prefixo MCU_ por RNP_. As instncias esto listadas e suas
dimenses descritas na Tabela 2.
Tabela 2: Instncias baseadas na RNP
Instncia
RNP_15_80_10_cap12_cl
RNP_15_120_15_cap16_cl
5.2
N de
MCU's
15
15
N de
Clientes
80
120
N de Capacidade de Clientes
Salas
cada MCU
agrupados?
10
12
sim
15
16
sim
Parametrizao
Como j dito no captulo 4, cada metaheurstica possui um conjunto de
parmetros aos quais se faz necessrio atriburem valores, para que sejam executados os
experimentos. Os valores mais adequados para cada parmetro variam de um problema
para outro, muitas vezes de uma instncia para outra e, via de regra, so obtidos por
experimentao, onde o levantamento dos valores candidatos se d de forma emprica.
Foram realizados vrios experimentos para obteno dos parmetros a serem
usados pelas heursticas aqui implementadas. Um refinamento maior desses valores
sugerido para trabalhos futuros. Nesta seo sero mostrados os valores adotados para
obteno dos resultados deste trabalho, como tambm alguns efeitos observados quanto
variao dos parmetros.
Para o SA, se faz necessrio definir a temperatura inicial (T0), a razo de
resfriamento (), o nmero de iteraes para cada nvel de temperatura (SAmax) e a
condio de parada.
A Figura 21 mostra duas execues do SA (SA1 e SA2) com parametrizaes
distintas. O grfico indica como a funo objetivo varia ao longo das iteraes, onde
43
em
SA2.
Percebe-se
ento
que
uma
temperatura
inicial
Valor
c s 0,15 + 500
15SAmax
Razo do Resfriamento ()
Temperatura Inicial (T0)
0,95
Obtido por TemperaturaInicial()
Valor
Razo de Aquecimento ()
Iteraes por nvel de T (SAmax)
Condio de parada ()
0,05
c s 0,15 + 500
95% dos movimentos so aceitos
Valor
1,5 c
3 |T|
c s 0,1 + 500
46
Valor
15SAmax
Razo do Resfriamento ()
0,95
1,5 c
3 |T|
5.3
c s 0,1 + 500
Experimentos
Para obter os valores de referncia para a avaliao das heursticas, as
Soluo
3671
3274
4465
2718
3487
7282
5563
7628
5156
6627
11209
7816
10316
7225
9888
34963
30906
36286
32595
Tempo
(s)
0,06
0,06
0,05
0,03
0,05
1,06
1,03
0,69
0,59
3,13
52,73
64,91
446,22
3567,27
21600,00
21600,00
21600,00
21600,00
21600,00
Instncia (cap12)
MCU_5_16_1_cap12
MCU_5_16_1_cap12_cl
MCU_5_16_2_cap12
MCU_5_16_2_cap12_cl
MCU_10_16_1_cap12
MCU_10_36_3_cap12
MCU_10_36_3_cap12_cl
MCU_10_36_4_cap12
MCU_10_36_4_cap12_cl
MCU_15_36_3_cap12
MCU_15_50_5_cap12
MCU_15_50_5_cap12_cl
MCU_15_50_10_cap12
MCU_15_50_10_cap12_cl
MCU_30_50_5_cap12
MCU_30_150_15_cap12
MCU_30_150_15_cap12_cl
MCU_30_150_25_cap12
MCU_30_150_25_cap12_cl
Soluo
3671
3274
4465
2718
3487
7033
5522
7619
5062
6627
10891
7538
10290
6981
9882
30227
27641
32701
26624
Tempo
(s)
0,05
0,03
0,09
0,06
0,06
0,17
0,64
0,33
0,27
3,11
5,05
3,52
72,53
43,08
14212,95
21600,00
21600,00
21600,00
21600,00
47
MCU_40_150_15_cap8
MCU_40_200_20_cap8
MCU_40_200_20_cap8_cl
MCU_40_200_30_cap8
MCU_40_200_30_cap8_cl
MCU_60_200_20_cap8
33305
45660
38855
51246
44566
40112
21600,00
21600,00
21600,00
21600,00
21600,00
21600,00
MCU_40_150_15_cap12
MCU_40_200_20_cap12
MCU_40_200_20_cap12_cl
MCU_40_200_30_cap12
MCU_40_200_30_cap12_cl
MCU_60_200_20_cap12
28794
38412
32659
43786
34673
39326
21600,00
21600,00
21600,00
21600,00
21600,00
21600,00
Soluo
Tempo (s)
RNP_15_80_10_cap12_cl
36822
21600
RNP_15_120_15_cap16_cl
136414
21600
48
1
f f 2
n1 i=1 i
cv =
,
f
onde f representa a soluo mdia.
A coluna Gap indica quo longe a mdia est da soluo de referncia, e
obtida por:
f f r
,
fr
a soluo de referncia obtida pelo CPLEX.
gap=
onde f r
49
3671,00
3274,00
4465,00
2718,00
3487,00
7333,75
5594,30
7652,90
5294,45
6635,55
11418,05
8217,35
10500,80
7598,45
10158,25
34138,45
31828,40
36231,00
31413,50
31837,90
43366,15
36951,65
48392,70
41139,10
38540,30
3671,00
3274,00
4465,00
2718,00
3487,00
SA
Tempo Coef. Var.
(ms)
(%)
1301,65
0,00
1361,60
0,00
837,35
0,00
785,65
0,00
1220,20
0,00
944,00
0,50
925,05
0,76
858,60
0,70
877,50
1,98
973,10
0,21
916,55
0,81
979,05
2,79
992,65
0,98
910,25
2,01
977,30
1,06
1620,95
1,67
1699,60
1,44
2046,40
1,23
2102,70
1,66
1590,45
1,88
2200,35
1,77
2191,70
1,79
2794,10
1,26
2722,15
1,87
2124,65
0,93
1430,25
0,00
1464,40
0,00
778,35
0,00
817,15
0,00
1151,50
0,00
Gap
(%)
0,00
0,00
0,00
0,00
0,00
0,71
0,56
0,33
2,69
0,13
1,87
5,13
1,79
5,17
2,73
-2,36
2,98
-0,15
-3,62
-4,41
-5,02
-4,90
-5,57
-7,69
-3,92
0,00
0,00
0,00
0,00
0,00
Soluo
3671,00
3274,00
4465,00
2718,00
3487,00
7410,05
5574,90
7670,45
5235,80
6640,20
11549,20
8019,50
10438,80
7499,60
10020,80
33564,20
31079,00
36135,90
30964,90
30743,45
42386,00
35249,70
47950,35
39730,10
37222,50
3671,00
3285,05
4465,00
2718,00
3487,00
BT
Tempo Coef. Var.
(ms)
(%)
250,80
0,00
287,95
0,00
140,50
0,00
154,65
0,00
204,05
0,00
520,80
2,31
514,30
0,18
458,45
1,14
563,80
1,72
469,35
0,28
904,45
2,10
943,00
1,85
909,70
0,80
999,70
2,74
803,80
0,66
5432,00
1,78
5579,25
2,53
7581,15
2,43
6854,45
2,29
5256,00
1,87
9013,50
2,44
10351,40
2,05
13301,65
1,94
13246,35
2,91
9703,00
0,66
276,90
0,00
293,50
1,50
140,50
0,00
154,80
0,00
198,00
0,00
Gap
(%)
0,00
0,00
0,00
0,00
0,00
1,76
0,21
0,56
1,55
0,20
3,04
2,60
1,19
3,80
1,34
-4,00
0,56
-0,41
-5,00
-7,69
-7,17
-9,28
-6,43
-10,85
-7,20
0,00
0,34
0,00
0,00
0,00
Soluo
3671,00
3274,00
4465,00
2718,00
3487,00
7322,40
5569,05
7628,00
5184,40
6636,85
11355,20
8022,40
10418,55
7404,50
9985,75
33193,65
30552,30
35362,55
29948,00
30401,40
41580,25
34626,75
46616,25
39108,65
37123,80
3671,00
3274,00
4465,00
2718,00
3487,00
SABT
Tempo Coef. Var.
(ms)
(%)
986,55
0,00
1023,65
0,00
577,90
0,00
582,55
0,00
866,65
0,00
950,35
0,22
906,35
0,15
840,40
0,00
931,70
0,88
932,60
0,19
1190,00
0,84
1364,65
1,74
1240,50
0,84
1237,05
1,19
1298,60
0,82
5615,80
1,40
5077,40
2,26
6809,05
1,66
6143,55
1,42
6302,15
1,08
7832,10
1,49
9089,05
1,31
13103,40
1,52
10438,85
1,71
9486,20
0,89
990,65
0,00
1021,85
0,00
597,50
0,00
586,60
0,00
852,40
0,00
Gap
(%)
0,00
0,00
0,00
0,00
0,00
0,55
0,11
0,00
0,55
0,15
1,30
2,64
0,99
2,48
0,99
-5,06
-1,14
-2,54
-8,12
-8,72
-8,94
-10,88
-9,03
-12,25
-7,45
0,00
0,00
0,00
0,00
0,00
50
MCU_10_36_3_cap12
7071,35
MCU_10_36_3_cap12_cl
5540,15
MCU_10_36_4_cap12
7623,00
MCU_10_36_4_cap12_cl
5092,70
MCU_15_36_3_cap12
6633,65
MCU_15_50_5_cap12
10949,95
MCU_15_50_5_cap12_cl
7842,30
MCU_15_50_10_cap12
10440,30
MCU_15_50_10_cap12_cl
7222,35
MCU_30_50_5_cap12
10116,05
MCU_30_150_15_cap12
30861,25
MCU_30_150_15_cap12_cl 28558,65
MCU_30_150_25_cap12
32926,50
MCU_30_150_25_cap12_cl 27730,85
MCU_40_150_15_cap12
28725,20
MCU_40_200_20_cap12
38364,40
MCU_40_200_20_cap12_cl 32238,05
MCU_40_200_30_cap12
42215,85
MCU_40_200_30_cap12_cl 34078,55
MCU_60_200_20_cap12
36712,70
RNP_15_80_10_cap12_cl
37636,90
RNP_15_120_15_cap16_cl 143398,05
981,20
872,10
860,60
832,85
965,40
908,05
964,70
954,05
908,75
954,65
1562,00
1602,00
1974,05
1901,80
1599,50
2177,20
2261,90
2673,40
2638,90
2165,55
2053,40
3410,00
0,48
0,25
0,13
1,10
0,18
0,46
1,74
0,67
1,61
0,84
0,84
1,35
1,08
1,69
1,30
1,04
1,20
1,02
1,62
0,84
0,70
2,84
0,55
0,33
0,05
0,61
0,10
0,54
4,04
1,46
3,46
2,37
2,10
3,32
0,69
4,16
-0,24
-0,12
-1,29
-3,59
-1,71
-6,65
2,21
5,12
7064,95
5533,70
7626,95
5100,60
6638,15
10962,90
7737,70
10462,75
7061,90
9969,05
30196,35
27923,80
32476,65
26884,00
28033,40
36974,75
31636,85
41139,35
32707,90
35860,20
37453,00
140259,3
0
431,60
497,35
394,95
533,70
432,55
744,35
756,10
767,00
804,95
734,55
5623,05
5644,05
6803,75
6911,15
4080,30
8505,05
7227,95
12109,10
9722,05
8302,70
4057,55
8614,40
0,51
0,35
0,18
1,63
0,21
0,70
1,99
1,54
0,78
0,49
0,99
1,56
0,97
0,96
0,37
0,80
0,64
0,63
0,90
0,55
1,11
2,81
0,45
0,21
0,10
0,76
0,17
0,66
2,65
1,68
1,16
0,88
-0,10
1,02
-0,69
0,98
-2,64
-3,74
-3,13
-6,04
-5,67
-8,81
1,71
2,82
7055,10
5528,70
7619,90
5065,05
6630,50
10918,40
7634,40
10360,75
7034,95
9978,65
30067,30
27839,20
32220,25
26755,35
28144,15
36943,50
31501,50
41076,95
32654,45
35789,40
37293,95
139448,9
5
900,15
880,20
862,00
839,40
913,75
1071,00
1235,80
1154,05
1299,35
1261,20
5075,95
4786,80
6017,25
6515,20
4188,20
8103,40
7274,20
9097,15
8961,30
8550,80
4192,10
7661,80
0,49
0,18
0,04
0,13
0,14
0,17
0,94
0,50
0,81
0,69
0,71
0,88
0,87
1,04
0,55
1,01
0,62
0,50
0,83
0,58
0,46
1,27
0,31
0,12
0,01
0,06
0,05
0,25
1,28
0,69
0,77
0,98
-0,53
0,72
-1,47
0,49
-2,26
-3,82
-3,54
-6,19
-5,82
-8,99
1,28
2,22
Tabela 10: Gap mdio de cada heurstica para o conjunto das instncias
Heurstica
Desvio Padro
SA
0,08
2,94
BT
-1,09
3,52
SABT
-1,69
3,78
51
SA
Melhor
3671
3274
4465
2718
3487
7282
5563
7628
5156
6627
11282
7875
10344
7282
10014
33352
31001
35385
30562
30543
42094
35436
46860
40213
37928
3671
3274
4465
2718
3487
7033
5522
7619
5062
6627
10891
7648
10314
6987
9952
BT
Melhor
Gap / SA
3671
0,00
3274
0,00
4465
0,00
2718
0,00
3487
0,00
7282
0,00
5563
0,00
7628
0,00
5156
0,00
6627
0,00
11286
0,04
7821
-0,69
10324
-0,19
7236
-0,63
9912
-1,02
32505
-2,54
29471
-4,94
34839
-1,54
29852
-2,32
29977
-1,85
40736
-3,23
33961
-4,16
46774
-0,18
38175
-5,07
36746
-3,12
3671
0,00
3274
0,00
4465
0,00
2718
0,00
3487
0,00
7033
0,00
5522
0,00
7619
0,00
5062
0,00
6627
0,00
10900
0,08
7538
-1,44
10290
-0,23
6981
-0,09
9905
-0,47
SABT
Melhor
Gap / SA
3671
0,00
3274
0,00
4465
0,00
2718
0,00
3487
0,00
7306
0,33
5563
0,00
7628
0,00
5156
0,00
6627
0,00
11239
-0,38
7830
-0,57
10331
-0,13
7261
-0,29
9886
-1,28
32221
-3,39
29359
-5,30
34224
-3,28
28909
-5,41
29822
-2,36
40627
-3,49
33999
-4,06
45124
-3,70
37963
-5,60
36415
-3,99
3671
0,00
3274
0,00
4465
0,00
2718
0,00
3487
0,00
7033
0,00
5522
0,00
7619
0,00
5062
0,00
6627
0,00
10891
0,00
7538
-1,44
10296
-0,17
6981
-0,09
9886
-0,66
52
MCU_30_150_15_cap12
MCU_30_150_15_cap12_cl
MCU_30_150_25_cap12
MCU_30_150_25_cap12_cl
MCU_40_150_15_cap12
MCU_40_200_20_cap12
MCU_40_200_20_cap12_cl
MCU_40_200_30_cap12
MCU_40_200_30_cap12_cl
MCU_60_200_20_cap12
RNP_15_80_10_cap12_cl
RNP_15_120_15_cap16_cl
30211
27935
32235
27129
28084
37642
31663
41467
33342
36164
37154
138225
29691
27328
32049
26544
27797
36410
31374
40794
32221
35590
36969
137249
-1,72
-2,17
-0,58
-2,16
-1,02
-3,27
-0,91
-1,62
-3,36
-1,59
-0,50
-0,71
29693
27345
31788
26216
27833
36251
31293
40764
32081
35492
36995
137263
-1,71
-2,11
-1,39
-3,37
-0,89
-3,70
-1,17
-1,70
-3,78
-1,86
-0,43
-0,70
Para alvos mais difceis, como mostrado na figura 23, a SABT apresenta uma
convergncia mais rpida que a BT. A SA, alm de apresentar a convergncia mais
lenta, em grande parte das execues sequer capaz de atingir a soluo alvo.
A SABT mostrou no apenas conduzir a solues melhores como tambm
apresentou uma convergncia mais rpida para instncias maiores. O prximo
experimento busca mostrar uma peculiaridade da SABT.
A figura 24 mostra a distribuio de probabilidade emprica do SABT para
diferentes alvos. Nela possvel perceber pontos de inflexo em cada curva, sinalizando
que resultados anteriores ao ponto foram obtidos na fase SA do SABT, enquanto pontos
posteriores foram obtidos na fase BT. Deste modo, tem-se que, quanto mais fcil o alvo,
mais a curva de convergncia do SABT se assemelha curva do SA (mais acentuada).
Analogamente, quanto mais difcil o alvo, maior a similaridade com a curva da BT.
54
55
SABT
SABT + Permuta de Papis
Soluo
Tempo (ms)
Soluo
Tempo (ms)
3671,00
986,55
3671,00
1105,55
3274,00
1023,65
3274,00
1126,80
4465,00
577,90
4465,00
779,25
2718,00
582,55
2718,00
840,55
3487,00
866,65
3487,00
860,30
7322,40
950,35
7351,00
1288,90
5569,05
906,35
5565,50
1235,35
7628,00
840,40
7641,60
1147,20
5184,40
931,70
5222,10
1423,45
6636,85
932,60
6629,25
1150,10
11355,20
1190,00
11363,95
1572,60
8022,40
1364,65
8033,00
1984,05
10418,55
1240,50
10432,35
2010,15
7404,50
1237,05
7417,85
2074,90
9985,75
1298,60
10149,05
1207,00
33193,65
5615,80
32946,45
8819,30
30552,30
5077,40
30184,60 11035,80
35362,55
6809,05
35039,05 16435,60
29948,00
6143,55
29781,35 15427,50
30401,40
6302,15
30423,50 12160,85
41580,25
7832,10
41195,65 18838,05
34626,75
9089,05
34481,75 20291,55
46616,25
13103,40
46218,25 31276,00
39108,65
10438,85
38711,65 27864,10
37123,80
9486,20
37158,80 27782,85
3671,00
990,65
3671,00
1142,30
Gap
0,00
0,00
0,00
0,00
0,00
0,39
-0,06
0,18
0,73
-0,11
0,08
0,13
0,13
0,18
1,64
-0,74
-1,20
-0,91
-0,56
0,07
-0,92
-0,42
-0,85
-1,02
0,09
0,00
56
MCU_5_16_1_cap12_cl
MCU_5_16_2_cap12
MCU_5_16_2_cap12_cl
MCU_10_16_1_cap12
MCU_10_36_3_cap12
MCU_10_36_3_cap12_cl
MCU_10_36_4_cap12
MCU_10_36_4_cap12_cl
MCU_15_36_3_cap12
MCU_15_50_5_cap12
MCU_15_50_5_cap12_cl
MCU_15_50_10_cap12
MCU_15_50_10_cap12_cl
MCU_30_50_5_cap12
MCU_30_150_15_cap12
MCU_30_150_15_cap12_cl
MCU_30_150_25_cap12
MCU_30_150_25_cap12_cl
MCU_40_150_15_cap12
MCU_40_200_20_cap12
MCU_40_200_20_cap12_cl
MCU_40_200_30_cap12
MCU_40_200_30_cap12_cl
MCU_60_200_20_cap12
RNP_15_80_10_cap12_cl
RNP_15_120_15_cap16_cl
3274,00
4465,00
2718,00
3487,00
7055,10
5528,70
7619,90
5065,05
6630,50
10918,40
7634,40
10360,75
7034,95
9978,65
30067,30
27839,20
32220,25
26755,35
28144,15
36943,50
31501,50
41076,95
32654,45
35789,40
37293,95
139448,95
1021,85
597,50
586,60
852,40
900,15
880,20
862,00
839,40
913,75
1071,00
1235,80
1154,05
1299,35
1261,20
5075,95
4786,80
6017,25
6515,20
4188,20
8103,40
7274,20
9097,15
8961,30
8550,80
4192,10
7661,80
3274,00
4465,00
2718,00
3487,00
7066,75
5532,20
7622,60
5101,20
6632,65
10952,65
7749,20
10387,50
7088,40
10130,90
30272,90
28050,60
32381,90
26873,75
28093,90
37257,80
31524,00
41142,10
32711,85
36134,60
37246,40
138367,65
1226,00
788,60
838,35
821,20
1193,70
1222,00
1140,35
1179,15
1151,10
1722,30
1771,95
1947,20
2009,15
1236,20
10912,80
11357,85
16219,30
17983,15
12046,10
22919,75
19894,75
33128,95
29329,20
17676,05
4146,20
9233,20
0,00
0,00
0,00
0,00
0,17
0,06
0,04
0,71
0,03
0,31
1,50
0,26
0,76
1,53
0,68
0,76
0,50
0,44
-0,18
0,85
0,07
0,16
0,18
0,96
-0,13
-0,78
57
Percentual
Base
% das
Melhorias
Adicionar MCU
8%
5%
11%
11%
Mover Clientes
8%
25%
23%
34%
Permutar Clientes
8%
28%
24,8%
58,8%
de
8%
21%
20,6%
79,4%
8%
21%
20,6%
100%
Permutar
MCU's
mesma Sala
Prob. do
Valor
Movimento Acumulado
Soluo
3671,00
3274,00
Tempo
(ms)
986,55
1023,65
SABT Tendencioso
Tempo
Soluo
(ms)
3671,00
979,75
3274,00 1008,40
Gaps
Gap
Gap
Sol. Tempo
0,00
-0,69
0,00
-1,49
58
MCU_5_16_2_cap8
MCU_5_16_2_cap8_cl
MCU_10_16_1_cap8
MCU_10_36_3_cap8
MCU_10_36_3_cap8_cl
MCU_10_36_4_cap8
MCU_10_36_4_cap8_cl
MCU_15_36_3_cap8
MCU_15_50_5_cap8
MCU_15_50_5_cap8_cl
MCU_15_50_10_cap8
MCU_15_50_10_cap8_cl
MCU_30_50_5_cap8
MCU_30_150_15_cap8
MCU_30_150_15_cap8_cl
MCU_30_150_25_cap8
MCU_30_150_25_cap8_cl
MCU_40_150_15_cap8
MCU_40_200_20_cap8
MCU_40_200_20_cap8_cl
MCU_40_200_30_cap8
MCU_40_200_30_cap8_cl
MCU_60_200_20_cap8
MCU_5_16_1_cap12
MCU_5_16_1_cap12_cl
MCU_5_16_2_cap12
MCU_5_16_2_cap12_cl
MCU_10_16_1_cap12
MCU_10_36_3_cap12
MCU_10_36_3_cap12_cl
MCU_10_36_4_cap12
MCU_10_36_4_cap12_cl
MCU_15_36_3_cap12
MCU_15_50_5_cap12
MCU_15_50_5_cap12_cl
MCU_15_50_10_cap12
MCU_15_50_10_cap12_cl
MCU_30_50_5_cap12
MCU_30_150_15_cap12
MCU_30_150_15_cap12_cl
MCU_30_150_25_cap12
MCU_30_150_25_cap12_cl
MCU_40_150_15_cap12
MCU_40_200_20_cap12
MCU_40_200_20_cap12_cl
MCU_40_200_30_cap12
MCU_40_200_30_cap12_cl
MCU_60_200_20_cap12
RNP_15_80_10_cap12_cl
RNP_15_120_15_cap16_cl
4465,00
577,90
2718,00
582,55
3487,00
866,65
7322,40
950,35
5569,05
906,35
7628,00
840,40
5184,40
931,70
6636,85
932,60
11355,20 1190,00
8022,40 1364,65
10418,55 1240,50
7404,50 1237,05
9985,75 1298,60
33193,65 5615,80
30552,30 5077,40
35362,55 6809,05
29948,00 6143,55
30401,40 6302,15
41580,25 7832,10
34626,75 9089,05
46616,25 13103,40
39108,65 10438,85
37123,80 9486,20
3671,00
990,65
3274,00 1021,85
4465,00
597,50
2718,00
586,60
3487,00
852,40
7055,10
900,15
5528,70
880,20
7619,90
862,00
5065,05
839,40
6630,50
913,75
10918,40 1071,00
7634,40 1235,80
10360,75 1154,05
7034,95 1299,35
9978,65 1261,20
30067,30 5075,95
27839,20 4786,80
32220,25 6017,25
26755,35 6515,20
28144,15 4188,20
36943,50 8103,40
31501,50 7274,20
41076,95 9097,15
32654,45 8961,30
35789,40 8550,80
37293,95 4192,10
139448,95 7661,80
4465,00
2718,00
3487,00
7345,30
5571,30
7650,65
5249,65
6633,95
11364,55
7994,65
10430,20
7440,50
9980,95
33023,70
30348,75
35198,75
30007,10
30383,10
41550,45
34805,15
46721,75
38903,60
37212,95
3671,00
3274,00
4465,00
2718,00
3487,00
7071,20
5523,80
7619,45
5084,75
6629,40
10915,20
7679,40
10368,60
7046,15
9962,85
30040,20
27776,25
32283,10
26703,70
28085,30
36894,60
31564,75
41154,60
32653,15
35935,05
37211,10
139628,45
591,20
586,85
859,35
876,00
858,40
851,80
872,20
925,40
1140,30
1269,55
1259,40
1250,30
1267,80
5133,35
5405,30
6455,15
5867,90
5667,85
9264,70
8261,70
11675,60
11739,90
9107,20
969,20
1005,30
577,40
575,55
849,45
879,75
839,10
802,10
932,20
965,75
1063,35
1157,20
1136,80
1240,75
1292,40
5426,95
4959,55
5557,75
6728,40
4363,75
7820,65
7354,70
9012,00
9260,35
7311,90
1954,45
3607,70
0,00
0,00
0,00
0,31
0,04
0,30
1,26
-0,04
0,08
-0,35
0,11
0,49
-0,05
-0,51
-0,67
-0,46
0,20
-0,06
-0,07
0,52
0,23
-0,52
0,24
0,00
0,00
0,00
0,00
0,00
0,23
-0,09
-0,01
0,39
-0,02
-0,03
0,59
0,08
0,16
-0,16
-0,09
-0,23
0,20
-0,19
-0,21
-0,13
0,20
0,19
0,00
0,41
-0,22
0,13
2,30
0,74
-0,84
-7,82
-5,29
1,36
-6,39
-0,77
-4,18
-6,97
1,52
1,07
-2,37
-8,59
6,46
-5,20
-4,49
-10,06
18,29
-9,10
-10,90
12,46
-4,00
-2,17
-1,62
-3,36
-1,88
-0,35
-2,27
-4,67
-6,95
11,06
5,69
-0,71
-6,36
-1,49
-4,51
2,47
6,91
3,61
-7,64
3,27
4,19
-3,49
1,11
-0,94
3,34
-14,49
-53,38
-52,91
59
60
6 Consideraes Finais
Neste trabalho abordou-se o problema de configurar uma rede de
videoconferncia, atravs da designao de servidores (MCU's) s salas de conversao
e a atribuio de clientes aos servidores. Os estudos foram direcionados utilizao de
metaheursticas no intuito de obter-se, em um tempo computacional razovel, a
configurao de rede que apresentasse latncia total mnima, caracterstica esta
considerada obstculo na popularizao das videoconferncias.
Os algoritmos foram projetados sobre a arquitetura do Dynavideo Conference
System [Vasconcelos & Souza Filho, 2004], aproveitando-se do cascateamento de
MCU's e redirecionamento de clientes implementados pelo sistema. As heursticas
obtidas podem vir a serem utilizadas como ncleo de um metaservio do servio de
videoconferncia do DCS, atuando como coordenador da topologia da rede.
Foi feita uma anlise na literatura em busca de trabalhos com objetivos
semelhantes, mas apesar do aprendizado proporcionado, no foi encontrado nenhum
trabalho com as mesmas caractersticas do problema supra referido.
Verificou-se que o problema de designao de servidores e clientes NPdifcil, e para resolv-lo buscou-se a otimizao utilizando metaheursticas de
refinamento. Para tanto foram definidos os movimentos que determinam a estrutura de
vizinhana e uma estrutura de dados que representasse uma soluo. De posse disso,
partiu-se para a implementao de metaheursticas baseadas em Simulated Annealing e
Busca Tabu, e de uma metaheurstica hbrida Simulated Annealing/Busca Tabu.
Foram feitos experimentos empricos para definio dos valores mais
adequados para os parmetros de cada metaheurstica, onde se observou que para
aqueles parmetros que determinam a extenso da busca pelo espao de solues tem-se
um aproveitamento maior se eles levarem em considerao as dimenses da instncia.
No intuito de validao das metaheursticas, foi desenvolvida uma formulao
de programao linear inteira para o problema [Anjos et al., 2008a][Anjos et al.,
2008b], onde foi possvel encontrar a soluo tima para instncias menores, e solues
61
apresentada aqui para uma rvore generalizada, de modo que a rvore-estrela utilizada
pelo DCS seja um caso particular dessa generalizao, podendo assim englobar outras
aplicaes.
64
BIBLIOGRAFIA
Aiex, R. M., Resende, M. G. C. e Ribeiro, C. C. (2002), Probability
distribution of solution time in GRASP: an experimental investigation, Journal of
Heuristics, Boston, 8, 343-373.
Aposkitis, C. et al. (2005), Videoconferencing Cookbook. Verso 4.1.
http://www.vide.net/cookbook/cookbook.en/, novembro de 2007.
Anjos, T., Cabral, L. A. F. e Souza Filho, G. L. (2008a), Otimizando o
cascateamento de MCU's em Videoconferncias H.323, Anais do XXVI SBRC, p259272, Rio de Janeiro/RJ.
Anjos, T., Cabral, L. A. F. e Souza Filho, G. L. (2008b), Metaheursticas
Simulated Annealing e Busca Tabu aplicadas ao Problema de Otimizao em Redes de
Videoconferncia, Anais do XL SBPO, p1378-1389, Joo Pessoa/PB.
Banerjee, S., Kommareddy, C., Kar, K., Bhattacharjee, B., Khuller, S.
(2003), Construction of an Efficient Overlay Multicast Infrastructure for Real-time
Applications. In: Proceedings of INFOCOM, abril de 2003.
Blum, C., Roli, A. (2003), Metaheuristics in Combinatorial Optimization:
Overview and Conceptual Comparison, ACM Computing Surveys, 35, 3, 268308.
Bondy, A., Murty, U. S. R. (2008), Graph Theory, Series: Graduate Texts in
Mathematics , Vol. 244, XII, 654 p. ISBN: 978-1-84628-969-9, Springer, 2008.
Choi, H.-A.; Narahari, B.; Rotenstreich, S.; Youssef, A. (1990), Scheduling
on parallel processing systems using parallel primitives, International Conference on
Databases, Parallel Architectures and Their Applications. PARBASE-90, pp.56-65, 7-9,
maro de 1990.
Civanlar, M. R., zkasap, ., elebi, T. (2005), Peer-to-peer multipoint
videoconferencing on the Internet. In: Signal Processing: Image Communication 20,
743754, Elsevier.
Colcher, S., Gomes, A.T. A., Souza Filho, G. L., Soares, L. F. G. (2005),
VoIP: Voz sobre IP. Rio de Janeiro, Ed. Campus-Elsevier, 2005. v. 1. 300 p.
Dro, J., Ptrowski, A., Siarry, P., Taillard, E. (2003), Metaheuristics for
Hard Optimization, Springer.
65
In: RNP-NewsGeneration,
vol 5, www.rnp.br/newsgen/0105
(2008)
Servio
de
Monitoramento
da
Rede
Ip.
67
68
69
70
71