• Nenhum resultado encontrado

Este capítulo apresenta conceitos e definições em problemas multiobjetivo. Está di- vidido em 3 seções. De início, são definidos os problemas multiobjetivo e os conceitos necessários a sua compreensão, como ordens de relação entre soluções e conjuntos de aproximação. Em seguida são apresentados definições sobre indicadores de qualidade, que são formas de medição e comparação da qualidade da saída dos algoritmos. Por fim, são apresentados e analisados métodos de arquivamento de soluções, que são utilizados durante o processo de otimização.

2.1

Problemas Multiobjetivo

Um problema multiobjetivo geral é definido por

maxx∈Xf (x) = (f1(x), . . . , fd(x)) (2.1)

onde X ⊆ Rn é o conjunto de soluções viáveis, f : Rn → Rd é a função que terá como

imagem a representação do vetor objetivo de cada solução, isto é, f(x) é um vetor que contém os valores de cada objetivo da solução x para o problema multiobjetivo em ques- tão. A expressão 2.1 representa um problema de maximização, no entanto, os problemas multiobjetivo podem ser definidos para minimização ou ainda com alguns objetivos a serem maximizados e outros minimizados.

Comparar soluções em problemas mono-objetivo é uma tarefa simples, bastando en- contrar uma solução cujo valor seja um máximo (ou mínimo) da função objetivo. Em problemas multiobjetivo, em geral, isto não ocorre. Com efeito, é possível que para deter- minada instância de um problema multiobjetivo exista uma solução que seja melhor que todas as outras, mas este é um cenário bastante específico. Em geral, existe um conjunto de soluções ótimas, chamado conjunto Pareto ótimo ou conjunto eficiente. Decidir qual das soluções ótimas é a melhor para uma determinada aplicação nem sempre é tarefa fácil e existem diversas abordagens para lidar com este problema. Um resumo de tais aborda-

gens é apresentado por (DEB, 2001). Esta dissertação adota a abordagem da dominância

de Pareto a qual procura exibir o conjunto Pareto ótimo, um subconjunto dele ou uma aproximação. Algumas definições e conceitos básicos são dados a seguir.

Definição 1 Sejam y = f(x), y′ = f (x′) vetores objetivo de duas soluções distintas, diz-se

que y domina y′ (analogamente, x domina x), denotado por y ≺ y, se e somente se

∀i ∈ 1, . . . , d, fi(x)≥ fi(x′), e∃k, 1 ≤ k ≤ d, fk(x) > fk(x′).

Definição 2 Sejam y = f(x), y′ = f (x′) vetores objetivo de duas soluções distintas, diz-

se que y é incomparável a y′ (x é incomparável a x), denotado por y||y, se e somente

se

not (y ≺ y′ or y≺ y)

Definição 3 Uma solução x∗ é dita ótima se e somente se 6 ∃x tal que f(x) ≺ f(x∗). O conjunto ótimo de Pareto, denotado por X∗, é o conjunto que contém todas as soluções

ótimas possíveis.

Definição 4 Seja X∗ ⊆ X o conjunto ótimo de Pareto, então a imagem de Xno espaço

objetivo é chamada de Pareto Front (fronteira de Pareto) e denotada por Y∗.

Definição 5 Um conjunto de soluções mutuamente incomparáveis é chamado de conjunto não-dominado. Seja X′ ⊆ X um conjunto de soluções, Xé um conjunto não-dominado

se e somente se ∀x′, x′′ ∈ X, x||x′′.

Definição 6 Sejam A e B dois conjuntos não-dominados, tal que A 6= B. Se todo b ∈ B for dominado por pelo menos um ponto a ∈ A, então diz-se que A é um conjunto melhor que B, denotado por A ⊳ B.

Definição 7 Um conjunto de aproximação é qualquer P ⊆ Y . Seja |P | = N, P é dito um conjunto de aproximação ótimo de tamanho N de Y∗ se não houver conjunto P⊆ Y ,

tal que |P′| ≤ N e PP .

O operador ⊳ compara dois conjuntos de forma que A é dito melhor que B se, e somente se toda a área do espaço objetivo dominada por B seja dominada também por A.

No entanto, ela é bem limitada e não é suficiente para comparar quaisquer dois conjuntos não-dominados durante o processo de otimização, pois provavelmente ambos os conjuntos terão áreas de dominância exclusivas, isto é, que não são dominadas pelo outro conjunto. Sejam A e B dois conjuntos não-dominados e distintos tais que A ⊂ X∗ e B ⊂ X.

Trivialmente sabe-se que nem A é melhor que B e nem B é melhor que A (Definição 6). Se, no processo de otimização, o algoritmo tiver de optar por um só destes conjuntos, o operador ⊳ não traria conhecimento suficiente para uma boa tomada de decisão, uma vez que nem A ⊳ B nem B ⊳ A. Sendo assim, percebe-se que são necessárias outras formas de comparação entre conjuntos de soluções não-dominadas. A Seção 2.2 apresenta alguns indicadores de qualidade de conjuntos.

2.2

Indicadores de Qualidade

Pensando em comparar algoritmos de otimização multiobjetivo, muitos métodos de avaliação foram propostos para indicar a qualidade da saída desses algoritmos. Seja A um conjunto de soluções; então um indicador de qualidade unário é definido com uma função que mapeia de A até um número real, isto é, f : Λ → R é um operador unário, considerando Λ o conjunto das partes de X (X é o conjunto de soluções válidas). É também necessário definir uma função de interpretação, tal que dados os valores de algum indicador para dois conjuntos A e B, seja possível entender a diferença de qualidade entre os dois conjuntos, no que diz respeito ao atributo de investigação do indicador. Conclui-se que um método de comparação deve ter um indicador de qualidade e uma função de interpretação. Duas importantes propriedades destes métodos de comparação, compatibilidade e completude, são investigadas em (ZITZLER et al., 2003).

Seja Υ o conjunto de todos os conjuntos não-dominados de Y , ⋄ um operador binário e assumindo um indicador de qualidade I que deva ser minimizado. Um método de com- paração é dito ⋄-compatível se para quaisquer A, B ∈ Υ, A ⋄ B or B ⋄ A. Além disso, um método de comparação baseado em I é dito ⋄-completo se A ⋄ B implicar em uma melhor performance do indicador de A com relação a B, ou seja, A ⋄ B → I(A) < I(B)(ZITZLER et al., 2003). Dois indicadores de especial interesse para este trabalho são: hipervolume e ǫ-aditivo.

Indicador de Hipervolume O indicador de hipervolume (anteriormente conhecido na literatura como métrica S) é um dos indicadores de qualidade mais utilizados para a avaliação de conjuntos de aproximação, i.e., subconjuntos de Y. HY P (A) é definido

pela integral de Lebesgue da união de todas regiões dominadas por A, limitadas por um ponto b ∈ Rd que é dominado por todos os pontos de Y(ZITZLER; THIELE, 1999).

Obviamente o indicador precisa ser maximizado, indicando assim uma maior cobertura do espaço objetivo. Um método de comparação baseado em HY P () é ⊳-completo e (¬⊳)- compatível (ZITZLER et al., 2003). Isso ocorre pois se A⊳B, então há uma região no espaço

objetivo dominada por A que não é dominada por B, com o mesmo não ocorrendo de B para A. Por outro lado, se HY P (A) < HY P (B), então é possível concluir que ¬(A ⊳ B). Indicador ǫ-aditivo Existem duas versão do indicador ǫ, propostos tanto na versão binária quanto unária. Neste trabalho a versão unária e aditiva foi considerada. Seja z = f (x), z′ = f (x) dois pontos d-dimensionais. zé dito ǫ-dominado por z se, e somente

se ∀i ∈ 1, . . . , d, fi(z) ≤ fi(z′) + ǫ. O indicador ǫ aditivo unário é definido como segue:

seja A um conjunto de aproximação, ǫadd(A) representa o valor mínimo possível de

epsilon tal que todo ponto em Y∗ (caso o conjunto Y ∗ não seja conhecido, geralmente utiliza-se o indicador com um conjunto de referência) seja ǫ-dominado por algum elemento de A. Claramente o indicador tem que ser minimizado, diminuindo assim a distância entre o conjunto avaliado e o conjunto de referência. Um método de comparação baseado no operador ǫadd() é (¬⊳)-compatível.

Estes dois indicadores seguem princípios diferentes. Enquanto o hipervolume mensura o espaço dominado (limitado por um ponto) pelos pontos do conjunto avaliado, o indicador ǫ calcula a proximidade do conjunto com a fronteira de Pareto. Por causa disto, se os indicadores se contradizem para um mesmo conjunto, isto é, HY P (A) > HY B(B) e ǫadd(A) > ǫadd(B), conclui-se que A e B são incomparáveis(KNOWLES; THIELE; ZITZLER,

2006).

2.3

Arquivadores

Problemas multiobjetivo geralmente possuem um grande número de soluções ótimas, e a tomada de decisão quando em problemas reais pode ser complexa. Com efeito, é inviá- vel que todas as soluções não-dominadas encontradas sejam apresentadas como saída do algoritmo. Além disso, durante o próprio processo de otimização, é impraticável comparar cada nova solução gerada com todas as soluções não-dominadas geradas até então (para saber se ela é ótima até então), pois o número de soluções não-dominadas pode ser bas- tante alto, o que faria com o que o algoritmo perdesse muito tempo comparando soluções já geradas, em vez de gerar novas soluções e assim continuar a execução da busca. O que

geralmente ocorre, portanto, é o armazenamento de apenas um subconjunto de tamanho restrito das soluções não-dominadas encontradas, de forma que se busque representar da maneira mais satisfatória possível o conjunto ótimo de Pareto. Sendo assim, cria-se um repositório – que pode ser alheio ao processo de busca – para armazenar as soluções não- dominadas geradas. A literatura chama este repositório de arquivador externo (external archive) (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS, 2011).

Durante a execução do algoritmo há um grande número de soluções sendo geradas e avaliadas. Como o arquivador geralmente possui tamanho limitado, muitas dessas so- luções são descartadas, ainda que não sejam consideradas dominadas (ver Definição 1) por nenhuma outra solução gerada até então. O propósito do arquivador é manter um bom conjunto (bem avaliados pelos indicadores de qualidade) de forma rápida, para que o algoritmo não gaste muito tempo comparando soluções.

O Algoritmo 1 ilustra como os arquivadores trabalham no processo de otimização, mantendo um conjunto At−1 e realizando eventuais mudanças de acordo com a qualidade

das novas soluções que vão sendo inseridas. Se o arquivador recebe uma solução y ∈ Y para ser inserida e ela já é dominada por outra dentro de At−1, então ela será descartada (Linhas

1 e 2). Caso contrário, se y dominar alguma solução (ou várias) do conjunto armazenado, então todas estas soluções dominadas serão removidas e y será mantida no arquivador (Linhas 3 e 4, primeira condição do if). Por fim, se a solução a ser inserida é incomparável com relação às outras do arquivador, ela deve ser mantida. No entanto, se o arquivador já estiver em sua capacidade máxima, então uma função filter() é chamada, responsável por remover uma solução de At−1∪ {y}. A decisão de qual solução será removida, isto é,

a implementação da função filter(), é o que torna cada arquivador diferente dos outros. Algoritmo 1 Arquivador Geral

Entrada: At−1, y 1: se ∃x ∈ At−1, x≺ y então 2: At← At−1 3: senão se ∃x ∈ At−1, y ≺ x or |At−1| < N então 4: At← nds(At−1∪ {y}) 5: senão 6: At← filter(At−1∪ {y}) 7: fim se Saída: At

Como é possível observar no Algoritmo 1, os arquivadores geralmente funcionam de forma sequencial, recebendo uma solução por vez se atualizando se necessário. Existem algumas propriedades que são desejáveis nos arquivadores para garantia de convergência e

qualidade. Lopéz-Ibáñez et al. analisaram alguns arquivadores em (LÓPEZ-IBÁÑEZ; KNO- WLES; LAUMANNS, 2011), e este trabalho analisou outros 4 novos propostos na literatura.

As propriedades analisadas são as seguintes:

Propriedade 1 Diversificar. Um arquivador é dito preservar eficiência se quando atua- lizando At para At+1, |At| = N, apenas pontos na região dominada de At são aceitos para

At+1. Se um arquivador não tem essa propriedade, ele possui a propriedade de diversifi-

cação.

Propriedade 2 Monotonicidade. Um arquviador é dito monótono se não houver a possi- bilidade de uma solução em At dominar qualquer solução de Au, se u > t. ∀x ∈ Au,∀x′ ∈

At, x≺ x′ ⇒ u > t.

Propriedade 3 ⊳-Monotonicidade. Um arquivador é dito ⊳-monótono se, e somente se ∀At, Au ⊂ Λ, At⊳Au ⇒ t > u. Esta propriedade é similar à monotonicidade, no entanto

com a relação ⊳ entre conjuntos, e não soluções. Obviamente se um arquivador não é ⊳-monótono, ele não é monótono.

Propriedade 4 ⊆ Y∗. Um arquivador tem essa propriedade se ele só contiver soluções ótimas da sequência de entrada processada, i.e., ∀t, At⊆ Yt∗.

Propriedade 5 Limite-Estável. Seja P um conjunto de soluções, tal que |P | ∈ Z, e X seja um arquivador. Se ocorrer indefinidamente a inserção de pontos de P em X e isto fizer com que X convirja para um conjunto estável Xt em tempo finito, então X tem esta

propriedade (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS, 2011).

Propriedade 6 Limite-Ótimo. Seja P um conjunto de soluções, tal que |P | ∈ Z, e X seja um arquivador. Se ocorrer indefinidamente a inserção de pontos de P em X e isto fizer com que X convirja para um conjunto de aproximação ótimo de tamanho |P | (ver Definição 7) em tempo finito, então X tem a propriedade Limite-Ótimo (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS, 2011).

Os arquivadores estudados neste trabalho tem características específicas de objetivo e complexidade de tempo. Eles são descritos a seguir.

Unbounded Archiver:Este arquivador tem tamanho ilimitado, e portanto, não tem uma função filter() associada, uma vez que N = ∞. Consequentemente, a condição do If

da Linha 3 do Algoritmo 1 será sempre verdadeira, pois |At−1| < N. Trivialmente nota-se

que ele sempre terá como saída o Pareto Front, pois poderá manter todas as soluções não-dominadas da entrada.

Dominating Archiver: Este, quando cheio (assim a função filter() será chamada), só aceitará novas soluções em seu conteúdo se, e somente se o novo ponto a ser inserido dominar algum ponto de At−1. Então a instrução At ← filter(At−1∪ {y}) terá o mesmo

efeito de At ← At−1, pois o arquivador não manterá uma nova solução não-dominada,

se estiver cheio. Este arquivador é um exemplo claro de uma técnica que não diversifica (Propriedade 1).

NSGA-II: O NSGA-II possui uma técnica de arquivamento baseada em dois princí- pios: a dominância de Pareto e um atributo chamado crowding distance. A função filter() define, portanto, uma relação de ordem ≺n(DEB et al., 2002a). Se duas soluções são incom-

paráveis, conforme a dominância de Pareto, então o algoritmo preservará a que possuir maior crowding distance, que por sua vez é uma forma de medir a proximidade entre as soluções, de forma que as soluções mais afastadas (em locais do espaço objetivo me- nos povoados) terão prioridade em permanecer no arquivador. Este trabalho utiliza uma implentação do arquivador do NSGA-II disponível em (LÓPEZ-IBÁÑEZ; KNOWLES; LAU- MANNS, 2011). NSGA-II não garante sua convergência para um conjunto de aproximação ótimo; além disso, ele deteriora e ⊳-deteriora (não é monótono nem ⊳-monótono).

SPEA2:Tentando eliminar algumas fraquezas do primeiro SPEA, Zitzler, Laumanns e Thiele (2001) propuseram o SPEA2 (ZITZLER; LAUMANNS; THIELE, 2002). (LÓPEZ- IBÁÑEZ; KNOWLES; LAUMANNS, 2011) também disponibiliza uma implementação do ar-

quivador baseado no SPEA2, que utiliza estimativa de densidade baseada no k-Nearest Neighbor. A função filter() primeiramente calcula a distância entre cada par de pontos no arquivador. Então, o ponto com a menor distância para outro ponto qualquer será removido, visando assim uma melhor distribuição, assim como no NSGA-II. Em caso de empates, verifica-se a segunda menor distância e assim sucessivamente. Embora o SPEA2 seja um algoritmo evolucionário multiobjetivo elitista, ele pode manter soluções domi- nadas quando o conjunto de soluções incomparáveis não ultrapassar o tamanho total do arquivador, i.e., o arquivador prefere salvar uma solução dominada ao invés de descartá-la. Além disso, o arquivador pode ⊳-deteriorar.

Adaptive Grid Archiver:Este arquivador divide o espaço objetivo em grades, afim de garantir diversidade de suas soluções. Cada grade pode conter várias soluções dentro de si. A função filter() remove aleatoriamente uma solução da grade com mais soluções,

desde que não seja a solução com melhor valor para algum objetivo, ou seja, não esteja nas extremidades do espaço objetivo (KNOWLES; CORNE, 2003). Ele não é monótono nem

⊳-monótono.

Hypervolume Archiver: Também conhecido como AA, este arquivador é um algo- ritmo guloso com a intenção de maximizar o hipervolume de seu conjunto. Foi proposto em (KNOWLES, 2002), e tem como função filter() a remoção da solução que menos está

contribuindo para o hipervolume, i.e., filter(A) em caso de |A| = N + 1 retorna o sub- conjunto de A que tem maior hipervolume possível com tamanho N. Esta técnica não garante que o hipervolume será máximo no final de toda a sequência de entrada, con- forme mostrado por (BRINGMANN; FRIEDRICH, 2009), e pode ainda retornar um conjunto

com hipervolume muito menor que o conjunto ótimo de tamanho N. Apesar disso, o AA apresentou os melhores resultados para o indicador de hipervolume em (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS, 2011).

Considerando que o indicador de hipervolume não pode diminuir com uma nova itera- ção do AA, e um método de comparação baseado em HYP() é ⊳-completo, então pode-se concluir que o AA é ⊳-monótono. No entanto ele pode manter uma solução que é do- minada por outra que foi descartada anteriormente, i.e, ele pode deteriorar. Apesar dos melhores resultados apresentados em (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS, 2011), um problema crítico do AA é calcular o hipervolume de todos os subconjuntos de tamanho N, uma vez que HYP() tem custo computacional exponencial no número de dimensões do problema.

Multi-level Grid Archiving: O MGA foi proposto por (LAUMANNS; ZENKLUSEN,

2011) e divide o espaço objetivo em caixas de diferentes níveis hierárquicos. filter() precisa encontrar o menor nível b onde pelo menos uma solução das caixas de nível b é dominada. Então, se o ponto a ser inserido é um dos pontos dominados neste nível, ele será descartado. Caso contrário, uma solução dominada aleatória será descartada. O MGA pode deteriorar, mas como mostrado em (LÓPEZ-IBÁÑEZ; KNOWLES; LAUMANNS,

2011), ele é ⊳-monótono.

Estes 7 primeiros arquivadores foram analisados em (LÓPEZ-IBÁÑEZ; KNOWLES; LAU- MANNS, 2011). Agora serão apresentados novos arquivadores propostos na literatura com

sua respectivas análises teóricas. Ao final desta seção será apresentado a Tabela 1 ilus- trando quais propriedades cada arquivador possui.

Ideal Archiver: Este arquivador foi proposto por Britto e Pozo (2012). Sua função f ilter() primeiro calcula os melhores valores, entre todas as suas soluções, para cada obje-

tivo, e une essa informação para gerar um ponto ideal, tal que Ideali = minX∈At−1∪{y}Xi,

considerando um problema de minimização. Em seguida, o ponto no arquivador que esti- ver mais distante do ponto ideal será removido. A Figura 1 mostra como o Ideal Archiver funciona para N = 4. O ponto não-dominado mais distante do ideal (em vermelho) será removido, então o arquivador manterá apenas 4 elementos. A ideia da técnica é direcionar a busca para apenas uma região do espaço objetivo.

0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.2 0.4 0.6 0.8 Objetivo 1 Ob jetiv o 2 Incomparáveis Ponto Ideal Dominados

Figura 1: Representação do ponto ideal em 2D.

Distributed Archiver: Este arquivador também utiliza o ponto ideal para na sua função filter(), no entanto sua convergência não é direcionada a apenas um ponto, mas para D + 1 pontos – o ponto ideal e um ponto de referência para cada dimensão do problema. Os pontos de referência serão os pontos mais extremos de cada objetivo, defi- nindo D + 1 regiões (uma para o ponto ideal e outras D para cada objetivo). Cada região poderá guardar (N + 1)/(D + 1) pontos, i.e., número de pontos dividido pelo número de regiões, buscando homogeneizar a cardinalidade de cada região. Após o cálculo dos pontos de referência, cada região será preenchida com o ponto mais próximo a seu ponto de referência, até que os conjuntos estejam cheios. A solução restante ao final do processo será descartada e At será definido como a união de todas as regiões de referência (POZO;

BRITTO, 2012).

Distance to Reference Points Archiver: Também proposto em (POZO; BRITTO, 2012), funciona de maneira similar ao Distributed Archiver, calculando os mesmos pontos de referência. Entretanto, ele não limita o tamanho de cada região em (N + 1)/(D + 1). Para cada ponto em At−1 ∪ {y}, a menor distância para cada ponto de referência é

com a maior distância para qualquer um dos pontos de referência. Os experimentos com núvens de partículas em (POZO; BRITTO, 2012) utilizam distância euclidiana e distância

de Tchebycheff; neste trabalho, a implementação utilizou distância euclidiana.

A Figura 2 ilustra um simples exemplo me que o Distance Archiver ⊳-deteriora, para N = 3. Quando o ponto D é adicionado, o arquivador remove B pois a distância entre B e A é maior que a distância entre C e D. Então o arquivador recebe um novo ponto E que é dominado por B, removendo D, pois a distância entre C e D é maior que a distância entre A e E. A saída final do arquivador após as 5 inserções é A, C e E, que é um conjunto pior (ver Definição 6) que o conteúdo do arquivo antes da inserção de D.

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 A C B D Objetivo 1 Ob jetiv o 2

(a) Distance archiver depois da adição de 4 pon- tos 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 A C B D E Objetivo 1 Ob jetiv o 2

(b) Distance archiver depois da adição de 5 pon- tos

Figura 2: Distance Archiver ⊳-deteriora.

Adaptive Rectangle Archiver: ARA foi proposto por (JIN; WONG, 2010). Ele não segue o padrão do Algoritmo 1, e não tem tamanho limitado em N. A proposta é baseada em dois passos: definir uma região crucial adaptativamente e dividi-la em retângulos, tais que cada retângulo contém apenas um ponto. A região crucial é o retângulo definido por dois vetores: amin, que é o mesmo ponto ideal vistos nos arquivadores anteriores (supondo

um problema de minimização), e amax que é o inverso do ponto ideal, isto é, é o vetor que

contém os piores valores de objetivos encontrados até então. ARA utiliza o conceito de E-dominância para decidir para qual retângulo cada ponto será direcionado, que é bem parecido com a ǫ-dominância, mas E ∈ Rd, enquanto ǫ ∈ R. Quanto menor o valor de

Ei, mais precisa será a divisão do espaço objetivo na i-ésima dimensão. Além disso, o

arquivador sempre mantém todos melhores pontos para cada objetivo, isto é, mantém os mesmos pontos de referência que o Distributed Archiver e o Distance Archiver. A Figura 3 ilustra a região crucial do arquivador e seu funcionamento em geral. O ARA, como

tem uma estrutura diferente, não possuindo um tamanho limitado N, possui todas as propriedades apresentadas neste trabalho (ver Propriedades de 1 a 6), entretanto possui outros problemas que serão apresentados no Capítulo 3.

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 Objetivo 1 Ob jetiv o 2

Figura 3: Representação do ARA em 2D.

A Tabela 1, a ser apresentada no Capítulo 3, faz um resumo das propriedades que cada arquivador possui. Baseado na informação de que 8 (oito) dos 11 (onze) arquivadores estudados neste trabalho não são monótonos, e que apenas 2 (dois) possuem a propriedade ⊆ Y∗, surge a principal motivação do trabalho. É notável que a maioria dos arquivadores

podem descartar soluções que são melhores (dominantes) que as mantidas em At. Para

evitar que estas boas soluções sejam perdidas, surge a proposta deste trabalho: reciclar

Documentos relacionados