• Nenhum resultado encontrado

Nas subseções seguintes são descritas as adaptações dos algoritmos NSGA-II e MOEA/D para o Problema Quadrático de Alocação Multiobjetivo.

4.4.1 IMPLEMENTAÇÃO DO NSGA-II PARA O MPQA

Para fins de comparação com os algoritmo propostos, neste trabalho a implementação do NSGA-II (COELLO et al., 2007; DEB et al., 2002) foi adaptada para lidar com o Problema Quadrático de Alocação Multiobjetivo. A implementação do NSGA-II para o mPQA também segue o Algoritmo 2, com adaptações na representação dos indivíduos, na inicialização da po- pulação, nos operadores genéticos utilizados, com a retirada do procedimento de reparação das soluções e na definição do critério de parada adotado.

Uma solução é representada por um vetor onde cada posição representa uma localidade e o seu conteúdo representa a facilidade associada. A Figura 12 apresenta um exemplo de solução para o mPQA. Esta mesma representação foi adotada na implementação de todos os algoritmos para o mPQA.

Figura 12: Representação das Soluções para o mPQA para uma instância com 10 facilida- des/localidades.

A inicialização da população de soluções em todos os algoritmos implementados para este problema corresponde a permutações aleatórias das facilidades.

Os operadores genéticos utilizados são a recombinação Ciclo e a mutação Troca (de- scrita na Subseção 4.3.1). A recombinação Ciclo preserva o máximo possível a posição absoluta que os elementos ocupam. O operador trabalha dividindo os elementos através de ciclos. Um ciclo é um subconjunto de elementos que possui a propriedade de cada elemento sempre estar

pareado com outro elemento do mesmo ciclo quando os dois pais são alinhados. Após a divisão da solução em ciclos, os filhos são criados através da seleção alternada de ciclos de cada pai. O procedimento para a construção dos ciclos é o seguinte:

1. Iniciar com a primeira posição e alelo (valor) não utilizada do pai 1; 2. Olhar para a mesma posição no pai 2;

3. Ir para a posição com o mesmo alelo no pai 1; 4. Adicionar este alelo no ciclo;

5. Repetir os passos de 2 a 4 até chegar no primeiro alelo do pai 1.

Um exemplo da operação da recombinação de Ciclo é ilustrado nas Figuras 13 e 14. A construção dos ciclos é exemplificada pela Figura 13 enquanto a Figura 14 mostra a formação dos dois filhos.

Figura 13: Recombinação Ciclo, Etapa 1: Identificação dos Ciclos.

Figura 14: Recombinação Ciclo, Etapa 2: Construção dos filhos.

A implementação destes operadores não necessita de cuidados especiais como no caso do 2PCC (manter o depósito na primeira posição) e os filhos nunca são infactíveis. Portanto, o NSGA-II para o mPQA não necessita da etapa de reparação (Passos 18 e 20 do Algoritmo 2).

O critério de parada adotado foi o tempo máximo de execução do algoritmo, tradi- cionalmente utilizado pelos AEs.

4.4.2 IMPLEMENTAÇÃO DO MOEA/D PARA O MPQA

A implementação do algoritmo MOEA/D para o mPQA também segue o Algoritmo 3 e também utiliza uma grade adaptativa como arquivo externo (ver Subseção 4.2.1). Porém os operadores genéticos utilizados são os mesmos empregados na implementação do NSGA-II para o mPQA, ou seja, recombinação Ciclo e mutação Troca. A implementação destes operado- res não necessita de cuidados especiais como no caso do 2PCC (manter o depósito na primeira posição) e os filhos nunca são infactíveis. Portanto, o MOEA/D para o mPQA não necessita da etapa de reparação (Passo 12 do Algoritmo 3).

A representação das soluções é a mesma utilizada nas demais implementações para o mPQA. Como nos demais algoritmos para o mPQA, o critério de parada adotado foi um limite máximo no tempo computacional disponível para a execução do algoritmo.

5 PROPOSTA

A Transgenética Computacional tem sido aplicada com sucesso em diversos proble- mas de otimização combinatória (GOLDBARG et al., 2001a, 2004b; ALMEIDA et al., 2007; GOLDBARG et al., 2009; GOLDBARG; GOLDBARG, 2009; GOLDBARG et al., 2008). Tra- balhos recentes exploram a capacidade da técnica na solução de problemas com múltiplos obje- tivos (ROCHA et al., 2007)(MONTEIRO et al., 2009)(GOLDBARG et al., 2009)(MONTEIRO et al., 2010)(SOUZA et al., 2011)(MONTEIRO et al., 2009)(ALMEIDA et al., 2010)(ALMEIDA et al., 2012). Este trabalho propõe o estudo do comportamento da Transgenética Computacional em dois frameworks multiobjetivo de sucesso, o MOEA/D e o NSGA-II. Este estudo deu origem a dois novos algoritmos o MOTA/D e o NSTA.

O algoritmo MOTA/D foi desenvolvido com base na combinação dos conceitos do al- goritmo MOEA/D (ZHANG; LI, 2007) com os conceitos do AT proposto em Goldbarg et al. (2009). O algoritmo MOEA/D utiliza a estratégia de decompor um problema multiobjetivo em diferentes subproblemas mono-objetivo que são otimizados simultaneamente. A decomposição é uma estratégia comumente utilizada na otimização multiobjetivo clássica, porém pouco ex- plorada em otimização multiobjetivo utilizando algoritmos evolucionários. No MOEA/D cada subproblema é otimizado, na maioria das vezes, utilizando apenas informações de seus vários subproblemas vizinhos. O algoritmo tem apresentado resultados superiores a algoritmos evolu- cionários tradicionalmente encontrados na literatura tais como NSGA-II e MOGLS (LI; ZHANG, 2009a; ZHANG et al., 2010). O MOTA/D pode explorar toda a capacidade da Transgenética Computacional para a resolução de problemas mono-objetivos, visto que o framework trans- forma os problemas multiobjetivo em subproblemas mono-objetivo. Além disso, o MOEA/D enfatiza o uso de informação local (vizinhança da solução), ou seja, favorece o uso de infor- mações locais às várias regiões da aproximação da fronteira de Pareto. Como um dos princípios básicos da Transgenética Computacional é explorar a extração e o uso de informações sobre o problema, espera-se que a combinação destas técnicas leve ao desenvolvimento de um algo- ritmo, MOTA/D, que apresente bom desempenho nos problemas abordados.

(DEB et al., 2002) com os conceitos do AT proposto em Goldbarg et al. (2009). A principal característica do NSGA-II é o seu método de seleção baseado no Rank de Dominância e em uma função de crowding. Ao se combinar este framework com a Transgenética Computacional, espera-se que este método de seleção de cromossomos para a próxima população aliado aos bons mecanismos intensificadores da TC resulte em um algoritmo eficiente para o tratamento de problemas de otimização combinatória com múltiplos objetivos.

O arcabouço do algoritmo MOTA/D (Multi-objective Transgenetic Algorithm) é apre- sentado na Seção 5.1, enquanto o arcabouço do NSTA (Non-Dominated Sorting Transgenetic Algorithm) é apresentado na Seção 5.2. As implementações dos algoritmos propostos para o 2PCC e para o mPQA são apresentadas nas Seções 5.4 e 5.5, respectivamente.

5.1 MOTA/D - MULTIOBJECTIVE TRANSGENETIC ALGORITHM BASED ON DECOM-