• Nenhum resultado encontrado

Uma grande variedade de formas de se construir funções de custo de enlace para roteamento já foi proposta na literatura [24, 35, 36, 40]. A função-custo é usada para avaliar o custo de um en-

lace pertencente a uma rede. Com base nesse custo, um algoritmo de roteamento de menor caminho (ex. algoritmo de Dijkstra) pode ser usado para encontrar uma rota entre dois nós da rede. Ou seja, o termo custo neste capítulo não é usado como custo pecuniário, mas sim como uma métrica atribuída a cada enlace da rede que pondera o quão bom ou o quão ruim é esse enlace pertencer a uma dada rota. A função-custo de um enlace é denominada neste capítulo de função-custo. A metodologia tradici- onal para projetar uma função-custo é a seguinte: selecionam-se as variáveis de entrada para compor a função-custo (geralmente variáveis comuns como comprimento e a disponibilidade do enlace) e, considerando as variáveis escolhidas, assume-se uma expressão analítica para a função-custo. Em seguida, testa-se o algoritmo na rede [24, 36]. A escolha das variáveis de entrada da função-custo é relativamente simples, já que elas são escolhidas para tratar um problema específico. Ao contrário, a melhor relação entre essas variáveis na composição do custo de um enlace é complexo de se in- ferir. Em geral, essa inferência é feita por uma fórmula analítica heurística baseada na experiência do projetista da função-custo. A abordagem aqui proposta para se projetar funções-custo de en- lace (LCFD) tem como propósito evitar essa etapa de inferência de forma que a função analítica da função-custo seja determinada por um processo sistemático.

O LCDF é composto por quatro etapas. Primeiro, as variáveis de entrada para o custo do enlace são selecionadas. Segundo, a função-custo é escrita em termos de uma série de funções. Na terceira etapa, é feita a escolha de um indicador global de desempenho da rede a ser usado como objetivo de otimização. Finalmente, na quarta etapa, um algoritmo de otimização é usado para se encontrar os coeficientes da série que otimizam o indicador de desempenho da rede (ex. a probalidade de bloqueio de rede). O procedimento está resumido na Tabela 4.1.

O primeiro passo de LCDF é o mesmo utilizado na abordagem tradicional. Qualquer parâmetro de enlace numericamente quantificável pode ser escolhido. Múltiplos parâmetros podem ser usados de forma simultânea. Por exemplo, o comprimento de enlace em conjunto com a sua disponibilidade forma um possível conjunto de variáveis que podem ser escolhidas na primeira etapa.

No passo dois, é definida uma representação da função-custo por uma série de funções. A escolha acertada da série a ser usada permite que ela cubra qualquer função de mapeamento entre as variáveis de entrada e o custo do enlace. A expansão de funções em termos de séries de funções é uma ferramenta bastante conhecida na matemática [94]. Por exemplo, é possível expandir uma função de

uma única variávelf (x) em uma série por meio de

f (x) = ∞ X n=0

bnϕn(x), (4.1)

Tabela 4.1: Passos para o projeto da função-custo de enlace utlizando o LCFD.

Passo Descrição Implementação

1

Escolha das variáveis de entrada para a função- custo (parâmetros de rede usados para compor o custo de um enlace. e.g. comprimento, retardo ou disponibilidade de um enlace).

Escolhido pelo projetista.

2 Expansão da função-custo em uma série de fun- ções.

Utiliza uma das representações conhecidas para funções em termos de séries. Ex: séries de Tay- lor, Legendre, Fourier, Hermite, etc.

3 Escolha do parâmetro de desempenho de rede a ser usado como objetivo de otimização.

Alguns exemplos de possíveis escolhas são: pro- babilidade de bloqueio da rede, vazão (through- put) da rede e retardo médio.

4

Determinação dos coeficientes da série de fun- ções empregada por meio de um procedimento de otimização cujo objetivo é otimizar o indica- dor de desempenho de rede escolhido no passo 3.

Uso de alguma uma técnica de otimização. Exemplos: busca exaustiva, programação linear e não linear, algoritmo genético, Particle Swarm Optimization.

completo de funções que formam uma base ortogonal [94]). Diferentes conjuntosϕn(x) formam

séries com diferentes denominações: série de Taylor paraϕn(x) = 1, x1, x2, ..., série de Legendre

paraϕn(x) = Ln(x) (Polinômios de Legendre), série de Fourier para ϕn(x) tomados como funções

senos e cossenos, etc. Não somente funções de uma variável podem ser expandidas em termos de séries. É possível também se ter representações em série para funções de múltiplas variáveis [94] como mostrado, de forma genérica, em

f (x0, x1, ..., xk) = ∞ X n0=0 ∞ X n1=0 ... ∞ X nk=0 bn0,n1,...,nk k Y j=0 ϕnj(xj). (4.2)

Em termos de (4.2), a etapa dois consiste na escolha do conjuntoϕnjque será usado.

Na etapa três, um indicador de desempenho de rede é escolhido como objetivo de otimização. A escolha pode ser feita de acordo com as necessidades da operadora de rede. Em LCFD, a função- custo do enlace é projetada de forma a minimizar ou maximizar o indicador selecionado. A escolha entre a minimização ou maximização depende do indicador. Por exemplo, se for escolhida a probabi- lidade de bloqueio como alvo de otimização, o objetivo é realizar uma minimização. Se ao contrário, a vazão (troughput) da rede é escolhida, uma maximização deve ser realizada. Uma função de moni- torização (ou uma simulação dessa função) no plano de gerência de rede pode ser usada a fim de se avaliar o valor do indicador selecionado [95].

A quarta etapa consiste na execução de um algoritmo de otimização para encontrar os coeficien- tesbn0,n1,...,nk (vide (4.2)) que otimizam o indicador de desempenho escolhido, encontrando assim

a função-custo mais adequada. Pode-se observar a partir de (4.2) que os únicos parâmetros a serem otimizados na funçãof são os coeficientes bn0,n1,...,nk da série, uma vez que x0, x1, ..., xk (variá-

veis de entrada) foram escolhidos no primeiro passo de LCFD e o conjuntoϕn(x) foi escolhido

no segundo passo. Isso significa que uma mudança nos coeficientesbn0,n1,...,nk altera, de fato, a

função-custo. O processo de otimização pode ser formalizado como: encontrar os valores do vetor

bn0,n1,...,nk que otimizam o indicador de desempenho da rede escolhido como alvo de otimização na

etapa 3. É interessante notar que o procedimento de otimização pode ser feito de forma offline, em uma fase de planejamento de rede, ou seja, antes de sua operação. Assim, a complexidade compu- tacional do algoritmo de roteamento projetado usando LCFD, durante a fase de operação em si da rede (online), fica bastante reduzida. Isso porque na fase operacional, o algoritmo projetado usando LCFD consiste apenas em recolher os valores das variáveis selecionadas no passo 1 e avaliar o valor da função-custo no ponto representado por essas variáveis.