• Nenhum resultado encontrado

A fim de se encontrar os coeficientesbn0,n1 a serem usados na função-custo pelo PSR, foi utili-

zada a técnica de otimização proposta na inteligência computacional, PSO [31, 99]. O PSO é uma técnica de otimização bastante eficiente em problemas nos quais é necessário otimizar um grande conjunto de variáveis contínuas [99]. O problema de otimização apresentado pelo PSR se enquadra exatamente nesse contexto e, por isso, o PSO foi escolhido para realizar essa otimização no PSR. Nesta seção será feita uma breve descrição do PSO.

Dada uma funçãog(x1, ..., xn) : Rn→ R, o PSO tenta encontrar para quais valores das variáveis

x1, ..., xn da funçãog(x1, ..., xn) apresenta seu valor mínimo (ou máximo). Ou seja, o PSO pode ser

usado para efetuar tanto uma minimização quanto uma maximização da funçãog. Na aplicação aqui

proposta para o PSO, as variáveisx1, ..., xn correspondem a uma forma vetorizada dos coeficientes

bn0,n1que devem ser otimizados. Um conjuntox1, ..., xn é chamado de partícula no jargão do PSO.

A funçãog(x1, ..., xn) por sua vez, representa a probabilidade de bloqueio (a que fornecida pelo

simulador de rede) resultante de uma simulação de rede considerando um grande número de pedidos

de conexão. Cada vez que o PSO propõe uma nova solução para aos coeficientes bn0,n1, esses

são usados no Algoritmo 3, que é aplicado como RWA no simulador de rede, resultando em uma probabilidade de bloqueio referente aos coeficientes testados. A probabilidade de bloqueio retornada pelo PSO é chamada de função aptidão ou fitness.

O PSO foi proposto por Kennedy e Eberhart em 1995 é inspirado em bandos de aves [31]. O algoritmo é baseado em um refinamento iterativo de um conjunto de soluções candidatas a serem o mínimo (ou máximo) global de uma função. Como foi visto, cada solução candidata é referida

como uma partícula. Cada partículai tem alguns atributos: sua velocidade atual −→vi, sua posição

aptidão. A propriedade de aptidão de uma partícula representa uma medida de quão boa é a solução

representada por essa partícula. Supondo que a funçãog() está sob um processo de minimização,

a aptidão da partículai pode ser avaliada por sua função aptidão g(−→xi). Quanto menor é o valor

deg(−→xi), mais apta é a partícula i. O termo posição de uma partícula corresponde a um ponto no

hiperespaçon dimensional representado pelo vetor x1, ..., xn da partícula. O refinamento da solução

(partícula) de uma iteração para a próxima é realizado por meio das atualizações na velocidade e na posição da partícula. Ambas são atualizadas para todas as partículas a cada iteração do PSO. No PSO usado neste trabalho, as velocidades das partículas são atualizadas usando a abordagem denominada de constriction factor [100] que é realizada usando

vi,d = χ[vi,d+ c1ǫ1(pi,d− xi,d) + c2ǫ2(pn(i),d− xi,d)], (4.7)

em quevi,drepresenta ad-ésima componente de −→vi(a mesma notação é usada para os outros veto-

res),c1ec2são constantes,ǫ1eǫ2são números reais aleatórios dentro do intervalo entre 0 e 1 eχ é

calculado utilizando

χ = 2

|2 − ϕ −pϕ2− 4ϕ|, ϕ = c1+ c2. (4.8)

Neste trabalho foi adotadoϕ > 4, seguindo a recomendação de Clerc e Kennedy [100]. O pseu-

docódigo do PSO utilizado neste trabalho é mostrado no Algoritmo 4. Alguns símbolos, além dos

comentados, aparecem nesse pseudocódigo. n(i) representa o índice da partícula mais apta per-

tencente ao conjunto de vizinhos da partículai. Os vizinhos de cada partícula são definidos pela

topologia de comunicação do enxame [99]. Neste trabalho utilizou-se a topologia de comunicação em anel, também conhecida como Lbest. Nessa topologia, cada partícula troca informações com apenas duas outras partículas vizinhas, as quais permanecem as mesmas durante toda a execução do algoritmo [101]. O uso dessa topologia é recomendado por Bratton e Kennedy [101] uma vez que ela diminui a chance do PSO ficar preso em mínimos locais durante o processo de otimização.

4.3.1 Análise do tempo computacional durante a fase de planejamento

Devido às várias chamadas que o PSO faz ao simulador de redes ópticas (dependendo da simu- lação considerada o simulador pode levar bastante tempo para ser executado) e ao fato do processo de otimização realizado pelo PSO, em geral, necessitar de um elevado número de iterações, pode ser necessário um longo tempo para se prover uma resposta final. Do ponto de vista da operação da rede isso não representa uma desvantagem pois, como foi visto, esse processo é feito na fase de planejamento da rede, a qual acontece antes da operação. A linha 4 do Algoritmo 4 requer um tempo

Algoritmo 4 Pseudocodigo do PSO

1: Inicialize a população de forma aleatória (distribuição uniforme);

2: fork = 1 to G do // Faça até atingir o critério de parada

3: fori = 1 to P do // Faça para cada partícula

4: Calculeg(−→xi); // Calcula a função aptidão da partícula

5: ifg(−→xi) < g(−→pi) then // A partícula encontrou uma solução melhor?

6: −→pi= −→xi; // Atualiza a melhor posição encontrada pela partícula

7: end if

8: ford = 1 to Dimensão do // Para cada dimensão da particula

9: vi,d= χ(vi,d+ c1ǫ1(pi,d− xi,d) + c2ǫ2(pn(i),d− xi,d)); // Atualiza a velocidade da partícula

10: xi,d= (vi,d+ xi,d); // Atualiza a posição da partícula

11: end for

12: end for

13: end for

14: Retorne −→picom o menor valor deg(−→pi);

de execução algumas ordens de grandeza superior às demais linhas do algoritmo. Nessa linha, é avaliada a probabilidade de bloqueio da rede por meio da simulação de um determinado conjunto de pedidos de conexão. Assim, a quantidade de tempo gasta na fase de planejamento é praticamente proporcional ao número de vezes que a linha 4 é executada pelo PSO. Por isso, o tempo necessário para se realizar a fase de planejamento pode ser avaliada por

tempoplanejamento= P · G · NC · tC· M, (4.9)

em queP é o número de partículas pertencentes ao enxame do PSO, G é o número de iterações reali-

zadas pelo PSO,NC é o número de requisições de chamadas simuladas pelo simulador de redes para

se avaliar a probabilidade de bloqueio,tC é o tempo médio necessário para simular uma requisição

de chamada. O resultado da probabilidade de bloqueio de uma rede é obtido por meio de simulação. Portanto, esse resultado possui um comportamento estocástico. Dessa forma, a função de aptidão usada pelo PSO possui uma componente de ruído estatístico. Com o intuito de minimizar esse efeito,

cada probabilidade de bloqueio de cada partícula é avaliadaM vezes e a média destas M avaliações

é considerada como a aptidão da partícula em questão.

Note que o algoritmo PSO pode ser facilmente implementado em um computador paralelo. Nesse caso, cada partícula do enxame pode ser executada em um processador dedicado. Assim, o tempo de computação necessário para executar a fase de planejamento pode ser reduzido, aproximadamente,

necessário para se realizar a fase de planejamento pode ser avaliado por

tempoplanejamento,paralelo= G· NC · tC. (4.10)