• Nenhum resultado encontrado

Nondominated Sorting Genetic Algorithm (NSGA II)

O NSGA II, apresentado em [13], utiliza o conceito de camadas (níveis e ranks na definição das fronteiras de Pareto. Operadores de seleção, recombinação e mutação são aplicados ao conjunto formado pelos elementos das fronteiras selecionadas para criar as populações descendentes.

A população inicialP0é criada aleatoriamente. Aplicando operadores de mutação, recombinação

e seleção em pares de solução aleatoriamente formados, criamos uma população descendenteQ0 de

tamanhoN .

A iteraçãot do algoritmo consiste nos seguintes passos:

(i) Uma populaçãoRt= Pt∪ Qté formada;

(ii) A populaçãoRté ordenada de acordo com a não-dominação:

Para cada par (p, q) de elementos da população, o contador de dominação nk do elemento

dominadok, onde k = p se p é dominado por k, k > q se q é dominado por p e nada é feito

se não há dominação, é incrementado e o elemento dominado é adicionado ao conjuntoSk de

soluções dominadas pork.

Todos os elementos com nk = 0 compõem a fronteira mais externa. Para definir as demais

fronteiras, tomamos cada pontok da última fronteira classificada e subtraimos em uma unidade

o contador de dominação dos elementos do conjuntoSk. Os elementos cujo contador agora é

igual a zero formam a nova fronteira. O processo continua até que todos elementos pertençam a alguma fronteira.

4.3 Nondominated Sorting Genetic Algorithm (NSGA II) 26

(iii) O melhor conjuntoF1 (a fronteira mais externa) é formado pelas soluções não-dominadas de

Rt. Se o número de elementos de F1 é maior que N , selecionamos os melhores elementos

através do operador de comparação ≺n(descrito a seguir) para formar Pt+1. Se o número de

elementos deF1 é igual aN então F1 = Pt+1, se é menor então todos os elementos deF1 são

selecionados paraPt+1. Este procedimento de escolha prossegue até queN elementos sejam

determinados.

O operador≺nutiliza dois atributos para a comparação:

• rank de não dominação (irank), sendo queirank = k se i ∈ Fk

• distância (idist) dada pelo perímetro do cubóide4que tem como vértices os vizinhos ime-

diatos dei. O primeiro passo para o cálculo desta distância é ordenar os indivíduos da

mesma fronteira, de forma que seja possível a identificação dos vizinhos de cada indiví- duo. O cálculo é dado então pela diferença, para cada função objetivo, entre os valores dos vizinhos deste indivíduo dividido pela diferença dos valores objetivo dos indivíduos localizados nas extremidades.

Figura 4.4: Cubóide NSGA

Por exemplo, para um problema com duas funções objetivos, como na figura acima, o cálculo deidist é dado por

idist = f1i+1− f1i−1 fmax 1 − f1min + f i+1 2 − f2i−1 fmax 2 − f2min (4.3) Vale ressaltar que o valor deidist dos pontos extremos é sempre igual a∞. Desta forma

é assegurado que os pontos extremos sempre serão selecionados quando os indivíduos de uma determinada fronteira forem candidatos no processo de criação da nova geração. O operador de dominância ≺n é definido como i ≺n j se irank < jrank ou irank = jrank e

idist > jdist. Soluções com menores ranks são consideradas melhores. Se ambas soluções

estiverem na mesma fronteira, a melhor solução é aquela que está em uma região com menos indivíduos.

(iv) A nova população Pt+1 é identificada e a população descendenteQt+1 é criada. O processo

é repetido até que o critério de parada seja atingido. Nesta dissertação, o critério de parada utilizado foi a semelhança entre as populações de duas gerações consecutivas, onde se uma população é igual, com um determinado grau de tolerância, à população da geração anterior, dizemos que o critério de parada foi atingido.

Capítulo 5

Metodologia Proposta e Resultados

Neste capítulo é descrita a metodologia proposta para a resolução do problema multiobjetivo de seleção de portfolios. Esta arquitetura, utiliza um algoritmo evolutivo híbrido na busca do conjunto de soluções ótimas.

A principal contribuição desta dissertação é a proposta de um procedimento de refinamento das soluções que se baseia no comportamento da série histórica para gerar uma população inicial mais adequada. Uma comparação do desempenho dos diferentes algoritmos híbridos com e sem este refi- namento é também realizada.

Este capítulo está organizado da seguinte forma: na Seção 5.1 é apresentada uma visão geral do método utilizado na busca das soluções ótimas para o problema multiobjetivo de seleção de portfolios ótimos e a arquitetura computacional utilizada é ilustrada. Na Seção 5.2 é apresentada a principal contribuição deste trabalho: o refinamento de soluções. Por fim, na Seção 5.4 são apresentados os resultados obtidos nas simulações dos métodos e as análises realizadas a partir destes resultados.

5.1

Visão geral do método

Como em outras situações reais, o problema de seleção de portfolios ótimos é caracterizado por múltiplos objetivos conflitantes. Neste tipo de problema é necessário maximizar o lucro e minimizar o risco, simultaneamente, advindos da aplicação de um dado capital. Um conjunto de soluções ótimas é obtido em certas abordagens de resolução de problemas multiobjetivo, sendo este conjunto chamado de conjunto de soluções não-dominadas. Nesta etapa cabe ao decisor a escolha da solução que melhor se adeque às suas preferências.

É necessário estabelecer um método de busca orientado a funções multiobjetivo para encontrar um conjunto de soluções não-dominadas, uma política de compromisso multicritério e uma estrutura para o processo. No presente estudo, foi utilizada uma arquitetura que permite a aplicação de algoritmos híbridos. A arquitetura é baseada em [37].

O algoritmo híbrido, conforme ilustrado na figura a seguir, exige que dois algoritmos evolutivos sejam executados. Com o intuito de comparar o desempenho de diferentes pares de algoritmos foram utilizados os algoritmos PSEA, NSGAII e TOGA. Os dois algoritmos necessários neste processo são denominados Alg1 e Alg2 nas próximas referências.

Soluções Soluções Gerar Eficiente PSEA Fronteira Eficiente TOGA Fronteira TOGA Rodada TOGA Rodada PSEA Rodada dominancia Filtro de Preferências Filtro de dominancia Arquivo de União das Fronteiras eficientes Fronteira Fronteira Eficiente Eficiente Fronteira Visualização e direcionamento Portfolios selecionados

Figura 5.1: Algoritmo base

O primeiro passo da busca é a criação de um conjunto de soluções iniciais, conjunto também de- nominado de população inicial. Neste trabalho este conjunto é gerado aleatoriamente. Estas soluções são alocadas em um arquivo. Em seguida, a captura den indivíduos do arquivo é realizada.

No próximo passo, os algoritmos evolutivos são executados. Utilizando as soluções do arquivo, os métodos Alg1 e Alg2 são executados e suas fronteiras eficientes são identificadas.

As fronteiras obtidas são unidas formando uma nova população, sendo que o filtro de dominância é aplicado à população, conforme descrito na Seção 4.1.1, e a nova fronteira eficiente é identificada.

Documentos relacionados