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
xλ, 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.