• Aucun résultat trouvé

TurtleKit : simulation de systèmes complexes

O M´etodo de Duas-Fases ´e um framework gen´erico utilizado para a resolu¸c˜ao de POCMs. Ele foi proposto por Ulungu e Teghem (1995) para a solu¸c˜ao de problemas com dois objetivos (p = 2) e mais tarde foi estendido por Przybylski et al (2010) para o ataque a problemas com mais de dois objetivos (p > 2).

As duas fases do m´etodo s˜ao:

• Fase 1: Solu¸c˜oes suportadas para o problema s˜ao determinadas atrav´es da resolu¸c˜ao de problemas mono-objetivo parametrizados.

• Fase 2: T´ecnicas de explora¸c˜ao do Espa¸co de Solu¸c˜oes s˜ao utilizadas com intuito de se gerar solu¸c˜oes eficientes n˜ao-suportadas.

A primeira etapa do m´etodo se baseia no Teorema de Geoffrion (Geoffrion, 1968) que garante que, caso exista um vetor λ∈ Rk, com λ

i > 0 (i = 1, . . . , k), tal que x∗ seja

solu¸c˜ao do problema parametrizado (3.2), x∗´e uma solu¸c˜ao eficiente. Nesta fase, objetiva-

se gerar o XSEm (Conjunto Completo M´ınimo de Solu¸c˜oes Eficientes Suportadas).

Os conjuntos de pesos para a parametriza¸c˜ao dos POMs s˜ao gerados segundo o Esquema Dicotˆomico proposto por Aneja e Nair (1979). Embora na Fase 1 se pretenda gerar XSEm, o esquema proposto por Aneja e Nair (1979) se limita a gerar XSE1m (Conjunto

Completo M´ınimo de Solu¸c˜oes Eficientes Suportadas Extremas). Dessa forma, a adapta¸c˜ao proposta por Przybylski et al (2008) ´e colocada em pr´atica.

O Algoritmo 3, que tamb´em ´e composto pelo Algoritmo 4, sintetiza a primeira fase do m´etodo quando p = 2.

O Algoritmo 3 ´e iniciado resolvendo-se os problemas lexicogr´aficos apresentados nas Linhas 3 e 5. A escolha por problemas de otimiza¸c˜ao lexicogr´afica provem do Teorema 3.1, na Se¸c˜ao 3.2, que garante que uma solu¸c˜ao lexicograficamente ´otima ´e sempre eficiente. Os problemas lexicogr´aficos poderiam ter sido substitu´ıdos por problemas parametrizados com

Algoritmo 3 Fase 1

1: Entrada: Vetor de objetivos f1(x) e f2(x) 2: Sa´ıda: Conjunto de Solu¸c˜oes Eficientes XSE 3: Resolver lexminx∈X(f1(x), f2(x)) (I) 4: x1 Solu¸c˜ao de (I)

5: Resolver lexminx∈X(f2(x), f1(x)) (II) 6: x2 Solu¸c˜ao de (II)

7: XSE ={x1, x2}

8: SolveRecursion(x1, x2, XSE)

conjuntos de pesos respectivamente iguais a (1, 0) e (0, 1) nas linhas 3 e 5. Entretanto, como afirmam Przybylski et al (2008), as solu¸c˜oes obtidas a partir desses problemas poderiam vir a ser dominadas.

Os problemas nas Linhas 3 e 5 podem ser resolvidos atrav´es do Algoritmo 1. Con- tudo, dado que essa abordagem envolve a altera¸c˜ao do espa¸co de solu¸c˜oes atrav´es da inclus˜ao de restri¸c˜oes, ela pode ser custosa do ponto de vista computacional. Nesse contexto, Przybylski et al (2008) prop˜oem um procedimento alternativo que permite a gera¸c˜ao de solu¸c˜oes lexicogr´aficas. Nesse m´etodo, uma solu¸c˜ao x1 para o problema

lexminx∈X(f1(x), f2(x)) ´e obtida em duas etapas. Inicialmente, uma solu¸c˜ao x′1 ´e deter-

minada resolvendo-se o problema param´etrico que considera o conjunto de pesos (1, 0). Em seguida, a fim de se otimizar o segundo objetivo sem que se degrade o valor do pri- meiro, utiliza-se um conjunto de pesos λ que ´e definido pela reta normal `a linha que liga os pontos (f1(x′1), f2(x′1)) e (f1(x′1) + 1,−1)), nesse caso, λ1 = f2(x′1) + 1 e λ2 = 1. O

problema lexminx∈X(f2(x), f1(x)), que resulta em uma solu¸c˜ao x2, ´e resolvido da mesma

forma, onde x′

2 ´e a solu¸c˜ao do problema parametrizado com pesos (0, 1). Os pesos λ1 = 1

e λ2 = f1(x′2) + 1 s˜ao utilizados para se otimizar f1(x) sem que o valor de f2(x) seja

degradado. Uma vez que as solu¸c˜oes lexicogr´aficas tenham sido obtidas, o m´etodo Sol- veRecursion ´e chamado.

Durante o procedimento SolveRecursion, um problema fλ, ponderado pelos pesos

λ1 = z2(xr)− z2(xs) e λ2 = z1(xs)− z1(xr), ´e resolvido (Linha 4). De posse de uma solu¸c˜ao

, duas situa¸c˜oes podem acontecer.

1. Caso a imagem da solu¸c˜ao xt esteja situada na linha que liga os pontos z(xr) e

z(xs) (f (xt) ⊂ z(xr) z(xs)), a nova solu¸c˜ao ´e eficiente suportada e ´e adicionada ao

s˜ao geradas.

2. Caso a imagem da solu¸c˜ao xt n˜ao esteja situada na linha que liga os pontos z(xr) e

z(xs) (f (xt)∩ z(xr) z(xs) =∅), a nova solu¸c˜ao ´e adicionada ao conjunto de solu¸c˜oes

eficientes, e dois novos problemas s˜ao resolvidos: SolveRecursion(xr, xt1, X SE) e

SolveRecursion(xt2

, xs, X

SE), onde xt1 e xt2 s˜ao solu¸c˜oes eficientes cujos valores

para o primeiro objetivo s˜ao m´ınimo e m´aximo, respectivamente.

Algoritmo 4 SolveRecursion(xr, xs, X SE)

1: Entrada: Duas solu¸c˜oes suportadas xr e xs, e um conjunto de solu¸c˜oes eficientes X SE

inicializado no Algoritmo 3

2: Sa´ıda: Um conjunto de solu¸c˜oes eficientes XSE melhorado 3: λ1 = f2(xr)− f2(xs), λ2 = f1(xs)− f1(xr)

4: Resolver minx∈X λ1f1(x) + λ2f2(x) (III)

5: xt ´e a solu¸c˜ao do Problema (III) e f (xt) ´e o vetor com de objetivos 6: S = {x ∈ X | λ1f1(x) + λ2f2(x) = f (xt)} 7: Atualizar XSE = XSE∪ S 8: se f (xt)∩ z(xr)z(xs) =∅ ent˜ao 9: SolveRecursion(xr, xt1 , XSE) 10: SolveRecursion(xt2 , xs, X SE) 11: fim se

A Fase 1 do m´etodo termina quando nenhum problema for mais gerado e o conjunto XSEm ´e a sa´ıda do Algoritmo 3.

Diferentemente do que ocorre na primeira fase, na Fase 2 do m´etodo n˜ao h´a uma forma fixa para determina¸c˜ao das solu¸c˜oes n˜ao-suportadas (Lust, 2009). A forma como novas solu¸c˜oes v˜ao ser geradas varia de acordo com o problema. Um aspecto comum a todas as abordagens, entretanto, diz respeito ao fato de a Fase 2 ser enumerativa.

Como nos POMs com p = 2 as solu¸c˜oes n˜ao-suportadas s˜ao localizadas no interior do triˆangulo formado por duas solu¸c˜oes eficientes suportadas consecutivas e o seu ponto ideal local, a busca por novas solu¸c˜oes se limita a esse espa¸co. Assim, os m´etodos de enumera¸c˜ao empregados nessa fase fazem uso da informa¸c˜ao obtida na primeira fase.

Diversos autores tem aplicado com grande sucesso o M´etodo de Duas Fases na obten¸c˜ao de solu¸c˜oes eficientes para problemas de otimiza¸c˜ao combinat´oria multiobjetivo. Ulungu e Teghem (1995) e Przybylski et al (2008) desenvolveram m´etodos para a gera¸c˜ao de solu¸c˜oes eficientes no contexto dos problemas de aloca¸c˜ao. Os primeiros estabeleceram

lower e upper bounds para os valores dos objetivos visando limitar o espa¸co de solu¸c˜oes. Os outros utilizaram um algoritmo baseado em ranqueamento para a enumera¸c˜ao das solu¸c˜oes eficientes. Vis´ee et al (1998) utilizaram procedimentos de Branch and Bound buscando enumerar solu¸c˜oes eficientes n˜ao-suportadas para o problema bi-objetivo da mochila.