programação de veículos e tripulações “Measure what is measurable, and make measurable what is not so.”
5.1. Fundamentos de optimização multiobjectivo
Segundo Czyzak e Jaszkiewicz (1998), em determinados contextos, um problema de decisão pode ser visto sob o prisma de actores diferentes, facto que envolve a necessidade de serem considerados múltiplos objectivos, de forma que a decisão a ser tomada propicie uma intervenção que satisfaça os critérios considerados pelos actores envolvidos no processo de decisão. Nestes casos, abordagens monocritério podem propiciar resultados pouco condizentes com o problema de decisão real.
Conforme Cohon (1978), a programação multiobjectivo representa uma generalização das abordagens mais tradicionais mono-objectivo aos problemas de
planeamento. O autor citado acrescenta que, ao serem considerados diversos critérios no processo de planeamento, três grandes melhorias são obtidas na resolução de problemas:
A programação multiobjectivo promove regras mais apropriadas para os participantes no processo de planeamento e tomada de decisão;
Uma gama maior de alternativas de intervenção usualmente é identificada quando uma metodologia multiobjectivo é empregada;
Modelos (quando usados) ou a percepção do analista tornam-se mais realistas quando múltiplos objectivos são considerados no processo de planeamento e tomada de decisão.
Um problema com múltiplos objectivos pode ser convertido em um problema mono-objectivo por meio de uma função de agregação. Tal função consiste num vector de pesos associado a cada objectivo e a conversão pode ser efectuada pelo produto escalar do vector de pesos pelo vector de variáveis de decisão.
No entanto, o processo de obtenção de pesos, além de muitas vezes ser extremamente laborioso, em alguns casos ainda pode não vir a refletir adequadamente os interesses dos actores envolvidos no processo decisório.
A optimização multiobjectivo procura obter soluções designadas por soluções não-dominadas. Graficamente, tais soluções assumem a forma de uma curva denominada fronteira de Pareto (DEB, 2001).
Considere-se um problema de maximização, onde x é um vector de variáveis de decisão, fj(x) um conjunto de funções objectivo e D o conjunto de soluções viáveis.
Uma solução x ∈ D é não-dominada (óptima de Pareto) se não existe nenhum x’∈ D tal que ∀j, fj(x’) ≥ fj(x) e fj(x’) > fj(x) para pelo menos um j.
Em seguida, será demonstrado um exemplo simples de um problema de optimização combinatória multiobjectivo, no caso o problema da mochila multiobjectivo (Multiobjective Knapsack Problem – MOKP).
Considere-se um conjunto discreto com n itens, de modo que a cada um deles associa-se um lucro cje um peso wj. O problema da mochila consiste em determinar
quais itens a serem alocados a uma mochila de capacidade W, de modo a maximizar o lucro. O problema da mochila clássico pode ser formulado como segue:
[KP] Maximizar
∑
= = n j j jx c z 1 Sujeito a: W x w n j j j ≤∑
=1 xj ∈{0,1}A equação 5.1 representa a função objectivo do problema, em que um item de valor cj fará parte da solução se xj igual a 1, não fazendo parte da mesma se xj igual a 0.
A restrição 5.2 impõe que o produto escalar do vector de pesos pelo vector de variáveis de decisão seja menor ou igual à capacidade W da mochila. Para que uma solução seja viável, a soma dos pesos dos itens que compõem a solução deve ser menor ou igual a W. Por fim, as condições 5.3 denotam o caráter binário das variáveis de decisão.
Neste exemplo, apenas a fim de ilustrar o conceito de soluções não-dominadas, o problema será considerado irrestrito e serão utilizadas duas funções objectivo a serem maximizadas: [MOKP] Maximizar
∑
= = n j j jx c z 1 1 Maximizar∑
= − = n j j jx w W X z 1 2( ) Sujeito a: xj ∈{0,1}A função objetivo z2 está relacionada à restrição de capacidade do problema da
mochila clássico. Com o objectivo de exemplificar o MOKP, será considerado um problema da mochila com capacidade W = 100 e 5 itens a serem empacotados, com as seguintes características, ilustradas na Tabela 19.
Tabela 19: Dados do exemplo do MOKP.
Item 1 2 3 4 5 wj 25 15 14 25 15 cj 80 120 80 15 30 (5.1) (5.2) (5.3) (5.4) (5.5) (5.6)
Tendo em vista que se trata de um problema de optimização combinatória binário, existem 2n soluções possíveis, em que n é a quantidade de variáveis de decisão
do problema. Deste modo, no exemplo em questão, existem 32 soluções possíveis, as quais são ilustradas na Figura 13.
Pode-se constatar que as soluções 1, 3, 4, 11, 17, 25, 31 e 32 (vide Tabela 20) não são dominadas por nenhuma outra solução, tendo em conta os dois objectivos em análise. Deste modo, tais soluções formam a frente de Pareto (conjunto de soluções não- dominadas). As demais soluções para o MOKP em análise podem ser superadas por pelo menos uma das soluções óptimas de Pareto listadas acima.
Figura 13: Soluções possíveis para o exemplo do MOKP.
Tabela 20: Soluções possíveis para o exemplo do MOKP.
Solução z1(X) z2(X) Solução z1(X) z2(X) Solução z1(X) z2(X) Solução z1(X) z2(X)
1 0 100 9 95 50 17 280 46 25 230 56 2 80 75 10 110 60 18 215 35 26 125 46 3 120 85 11 200 71 19 230 45 27 295 21 4 80 86 12 135 60 20 175 36 28 245 31 5 15 75 13 150 70 21 190 46 29 205 21 6 30 85 14 95 61 22 125 35 30 245 20 7 200 60 15 110 71 23 215 46 31 310 31 8 160 61 16 45 60 24 165 45 32 325 6
De acordo com Ulungu et al. (1999), além da característica NP-difícil de muitos problemas de optimização combinatória, os problemas de optimização combinatória multiobjectivo são particularmente intratáveis por um método exacto.
Nos últimos anos, a resolução de problemas de optimização combinatória multiobjectivo tem-se caracterizado como uma área de investigação bastante activa, sendo as metaheurísticas um dos métodos mais utilizados para a resolução de tais problemas (VIANA, 2004; DIAS, 2005).
No caso dos problemas de optimização combinatória com um único objectivo, as metaheurísticas destinam-se a gerar movimentos que visem diversificar as soluções pesquisadas no espaço de busca e, após diversas iterações, intensificar a busca em uma região promissora e chegar a uma solução tão próxima do óptimo global quanto possível, em tempo computacional aceitável.
No que concerne aos problemas de optimização combinatória multiobjectivo, as metaheurísticas devem combinar mecanismos de diversificação e de intensificação para construir um conjunto diversificado de soluções não-dominadas tão próximas quanto possível da fronteira de Pareto, em tempo computacional admissível.