Procedimento interactivo dedicado ao problema da mochila bicritério Carlos Gomes da Silva(2;3); José Figueira(1;3;4) e João Clímaco(1;3) (1) Faculdade de Economia da Universidade de Coimbra Av. Dias da Silva, 165 3004-512 Coimbra Tel: 239 760 500, Fax: 239 403 511 E-mail: …[email protected] (2) Instituto Politécnico de Leiria Escola Superior de Tecnologia e Gestão de Leiria Morro do Lena, Alto Vieiro 2401-951 Leiria Tel: 244 820 300, Fax: 244 820 301 E-mail: [email protected] (3) INESC-Coimbra Rua Antero de Quental, 199 3000-033 Coimbra Tel.: 239 851 040, Fax: 239 824 692 E-mail: [email protected] (4) Dimacs Center-Rutgers University 96 Frelinghusysen, Road Piscataway, N108855-8018 USA Tel.: 1732 445 5932 Fax: 1732 445 0075 March 17, 2003 1 Resumo Apesar de inúmeros investigadores se terem dedicado ao estudo do problema combinatório da mochila, a determinação de uma solução óptima permanece um problema de difícil resolução. Para além disso, os problemas de decisão reais requerem frequentemente a incorporação de mais do que um critério. A noção de óptimo dá lugar ao conceito de solução não dominada. Identi…car o conjunto completo das soluções não dominadas tem sido objecto dos trabalhos publicados nesta área. No entanto, até à data, não se conhece um procedimento e…ciente para obter esse conjunto. A adaptação e extensão dos resultados teóricos do caso monocritério para o multicritério ainda não permitiu conceber algoritmos e…cientes. A dimensão dos problemas que podem ser resolvidos por esta via não ultrapassa um milhar de variáveis, para o caso mais simples, isto é, para instâncias bicritério. Neste trabalho, abordamos o problema da mochila numa perspectiva de estudo interactivo. O agente de decisão (AD) dispõe de procedimentos de pesquisa global e local, o que lhe permite apreender a diversidade de soluções do problema, no que se refere aos valores dos critérios. Pode, assim, circunscrever progressivamente o âmbito da sua análise. Estes procedimentos são integrados num sistema interactivo de apoio à decisão (SIAD) que incorpora diversas opções para interagir com o AD. Palavras-chave: problema da mochila, análise multicritério, abordagem interactiva, sistema de apoio à decisão. Agradecimentos: Projecto MONET (POCTI/GES/37707/2001). O segundo autor agradece também o suporte da bolsa SFRH/BDP/6800/2001. 2 Índice 1 Introdução 5 2 A abordagem interactiva dedicada ao problema da mochila bicritério 2.1 Opções interactivas com informação de nível global . . . . . . . . . . . . 2.1.1 Óptimos individuais . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Subconjunto de soluções suportadas . . . . . . . . . . . . . . . . . 2.1.3 Conjunto das soluções suportadas . . . . . . . . . . . . . . . . . . 2.2 Opções interactivas com informação de nível local . . . . . . . . . . . . . 2.2.1 Análise de uma região de interesse . . . . . . . . . . . . . . . . . . 2.2.2 Análise de uma solução . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Análise decorrente da de…nição de um per…l de solução . . . . . . . . . . . . . . 8 11 11 11 12 14 14 21 26 3 Utilização da abordagem interactiva proposta com recurso a um SIAD 46 4 Conclusão 51 A Apêndice: Método simplex com variáveis limitadas 55 3 Índice de Figuras 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Opções interactivas segundo níveis de informação requeridos . . . . . . . . Processo de obtenção do conjunto das soluções não dominadas suportadas Soluções não dominadas numa região de interesse . . . . . . . . . . . . . . Árvore de exploração da região de interesse . . . . . . . . . . . . . . . . . . Soluções não dominadas na região de interesse . . . . . . . . . . . . . . . . Vizinhança de uma solução . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximização de f(x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espaço dos objectivos do problema relaxado . . . . . . . . . . . . . . . . . Valor máximo para f (x) na região de interesse . . . . . . . . . . . . . . . . Convergência para a região seleccionada . . . . . . . . . . . . . . . . . . . Mudança de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Árvore binária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Óptimos individuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subconjunto de soluções suportadas . . . . . . . . . . . . . . . . . . . . . . Introdução de restrições por imposição de níveis mínimos nos critérios . . . Análise de uma região de interesse de…nida por selecção de soluções . . . . Per…l de solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soluções não dominadas num raio de vizinhança . . . . . . . . . . . . . . . Soluções alternativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conjunto de soluções não dominadas . . . . . . . . . . . . . . . . . . . . . 4 10 14 15 20 21 22 29 33 35 36 39 45 46 47 48 48 49 49 50 51 1 Introdução Suponhamos que dispomos de um conjunto de objectos, com um peso e valor conhecidos, e de uma mochila com capacidade limitada. Determinar o subconjunto destes objectos cujo peso não excede aquela capacidade e que maximiza o seu valor total, corresponde a resolver o problema da mochila. Este problema, de natureza combinatória, é bastante conhecido e tem sido extensivamente estudado por muitos autores (ver, por exemplo, Martello e Toth, 1990 e Pissinger, 1995). Inúmeros problemas reais podem ser formulados como o problema da mochila, ou como variantes deste. As aplicações mais familiares são os problemas de embalagem, de carregamento de equipamentos, de corte de materiais, de controlo orçamental e de selecção de projectos de investimento. O problema da mochila também é interessante por constituir um subproblema de modelos mais vastos, como por exemplo, os de constituição de tripulações de voo, de planeamento da produção, de problemas de partição e de concepção de circuitos eléctricos. Enquanto problema combinatório, pode ser resolvido por enumeração exaustiva de todas as soluções, procedendo-se posteriormente e por comparação, à identi…cação da melhor solução. Todavia, a determinação exaustiva destas soluções é um processo computacionalmente moroso, tornando-se mesmo inviável a partir de determinadas dimensões (um problema com apenas 20 itens pode possuir até 1.048.576 soluções). Assim, a via de resolução por enumeração exaustiva é de utilidade muito reduzida, senão mesmo nula, para problemas de grande dimensão. A primeira resolução deste problema, por técnicas mais inteligentes, data dos anos 50, por aplicação da função recursiva (programação dinâmica) de Bellman. A partir de então, foram propostos inúmeros melhoramentos: a de…nição do limite superior para o valor óptimo da função objectivo, por Dantzig em 1957; a resolução do problema pela técnica de partição e avaliação sucessivas, por Kolesar em 1967; a resolução de problemas de grandes dimensões, igualmente pela técnica de partição e avaliação sucessivas, por Harowitz e Sahni, nos anos 70; o primeiro procedimento de redução da dimensão do problema (por …xação do valor de algumas variáveis) de Ingargiola e Korsh em 1973; um novo limite superior, por Martello e Toth, em 1977; o algoritmo de Balas e Zemel, em 1980, baseado na ordenação de apenas um subconjunto de itens; um novo algoritmo de Martello e Toth que permite resolver instâncias difíceis (Pissinger, 1995; Martello e Toth, 1998). A totalidade destes estudos foram dedicados à resolução do problema monocritério. No entanto, os problemas de decisão reais requerem, vulgarmente, uma análise considerando explicitamente vários critérios. São exemplos de aplicação do problema da mochila multicritério a selecção de projectos de investimento com decisores e critérios múltiplos (Kwark et al., 1996); a selecção de projectos de investimento que não são independentes entre si, 5 em vias de comunicação (Teng e Tzeng, 1996) e a geração da fronteira e…ciente discreta na selecção de projectos de investimento (Rosenblatt e Sinnuany-Stern, 1989). Nos problemas com mais do que um critério não existe, em geral, uma solução que optimize simultaneamente todos os critérios envolvidos. Assim, a noção de solução óptima deixa de fazer sentido. Em contrapartida, existem soluções admissíveis com características particulares, designadas por soluções não dominadas, em que a melhoria do valor de um dos critérios é sempre feita à custa da degradação do valor de pelo menos um dos restantes, ou seja, os critérios estão em con‡ito. É característica destes problemas o aumento signi…cativo do número de soluções não dominadas com o aumento do número de critérios, o que di…culta a sua resolução. Existem várias abordagens para analisar problemas deste tipo, como, por exemplo, a enumeração exaustiva de todas as soluções não dominadas, a pesquisa de um conjunto reduzido de soluções não dominadas, ou a pesquisa interactiva de soluções mediante um protocolo do tipo questão-resposta, onde se incorporam progressivamente e de modo interactivo as preferências do AD, durante o processo de decisão que, em geral, consiste na escolha da ”melhor solução possível”. Os métodos utilizados podem classi…car-se como exactos ou aproximados. Nos métodos exactos as soluções obtidas são efectivamente não dominadas, ao contrário das apresentadas pelos métodos aproximados, onde são apenas potencialmente não dominadas. Nos métodos exactos são utilizadas as técnicas soma ponderada, "¡restrição e a minimização da distância a um ponto de referência para obtenção das soluções não dominadas (Steuer, 1986). Aos métodos aproximados pertencem as heurísticas e as meta-heurísticas, tais como os algoritmos genéticos, os métodos evolutivos, o simulated annealing, as redes neuronais, a pesquisa tabu, entre outros. Nestes métodos pretende-se estabelecer um compromisso entre a qualidade das soluções obtidas e o tempo necessário para as calcular. Recentemente, foram propostos métodos para a geração de todas as soluções não dominadas para o caso bicritério, nomeadamente o método de Visée et al. (1998) e de Captivo et al. (2003). O método proposto por Visée et al. (1998) encontra-se estruturado em duas fases. Na primeira fase, determinam-se todas as soluções suportadas extremas e não extremas da envolvente convexa da região admissível, com recurso a um problema soma ponderada dos critérios. Na segunda fase, são analisadas, com recurso à técnica de partição e avaliação sucessivas, todas as soluções suportadas adjacentes com o objectivo de obter o conjunto das soluções não suportadas. O método proposto por Captivo et al. (2003) converte o problema da mochila bicritério numa rede acíclica sobre a qual aplica um algoritmo de etiquetagem. O problema é transformado num problema de caminho mais longo bicritério. Este método calcula indistintamente as soluções suportadas e as soluções não suportadas. Para o caso multicritério, Ulungu et al. (1997), apresentaram um procedimento de cálculo baseado na técnica de partição e avaliação sucessivas, mas não publicaram quaisquer resultados, pelo que a sua e…ciência não foi avaliada. Outras referências a métodos exactos e aproximados podem ser encontradas em Ehrgott e Gandibleux (2002). Mesmo no caso bicritério, os métodos disponíveis ainda não podem ser aplicados com sucesso à resolução de problemas de grandes dimensões, o que tem motivado o desenvolvi6 mento de métodos aproximados. É o caso do método de Gandibleux e Fréville (2000), que aproxima a fronteira não dominada através da aplicação da pesquisa tabu. Contudo, mesmo quando a geração de todas as soluções não dominadas é possível, muitas vezes grande parte do esforço computacional requerido é inútil, porque o AD pode não ser capaz, ou não estar interessado, em analisar todas essas soluções. A abordagem interactiva tira partido deste facto, articulando fases de cálculo com fases de diálogo com o AD, propiciando a incorporação progressiva das suas preferências. Teghem et al. (2000) utilizam de um modo interactivo um procedimento heurístico baseado no simulated annealing, para estudar o problema da mochila multicritério de grandes dimensões. Neste trabalho, abordamos o problema bicritério numa perspectiva interactiva, porém, com recurso exclusivo a métodos exactos. São disponibilizadas diferentes opções interactivas que se caracterizam pelo tipo de informação que o AD pretende utilizar/obter. Distinguimos entre informação global e informação local, na construção destas opções de interacção. Desenvolvemos ainda um SIAD, em Delphi 4, da Borland, onde se encontram implementados os procedimentos interactivos propostos. Este texto está estruturado em quatro secções. Na secção 2 - Abordagem interactiva dedicada ao problema da mochila bicritério - analisamos o problema da mochila numa perspectiva interactiva; propomos algumas opções de interacção com o AD divididas segundo níveis de informação prestada; a exploração das propriedades do problema matemático subjacente a cada uma daquelas opções é aqui apresentada, justi…cando os processos de resolução propostos. Na secção 3 - Utilização da abordagem interactiva proposta com recurso a um SIAD - utilizamos como instrumento de apoio à decisão num problema simulado. Algumas janelas da aplicação são apresentadas. Na secção 4 - Conclusão sintetizamos as principais valências, as maiores limitações e os aspectos que merecem ser desenvolvidos no futuro. 7 2 A abordagem interactiva dedicada ao problema da mochila bicritério O problema da mochila bicritério pode formular-se como segue: max z1 (x1 ; :::; xn ) = max z2 (x1 ; :::; xn ) = n P j=1 n P j=1 n P sujeito a : c1j xj c2j xj (1) wj xj · W j=1 xj 2 f0; 1g; j = 1; :::; n onde xj = 1 se o item j (j = 1; :::; n) é incluído na mochila e xj = 0 caso contrário, W é a capacidade da mochila, wj corresponde ao peso do item j e cij representa a valorização do item j segundo o critério i, com i = 1; 2, assumindo-se ainda que cij ; W e wj são valores n P inteiros positivos e que wj · W com wj > W . j=1 Mais sucintamente podemos reescrever (1) do seguinte modo: max z1 (x) = c1 x max z2 (x) = c2 x sujeito a : wx · W x 2 f0; 1gn (2) em que c1 = (c11 ; :::; c1n ) ; c2 = (c21 ; :::; c2n ) ; w = (w1 ; :::; wn ) e xT = (x1 ; :::; xn ). Não existindo, em geral, uma solução que maximize simultaneamente os dois critérios, importa confrontar o AD apenas com as soluções em que a melhoria de um deles não se pode concretizar sem a degradação do outro. Este conceito é explicitado na de…nição seguinte. De…nição 1 (Solução não dominada) Um vector z a = (z1a ; z2a ) 2 Z diz-se não dominado sse @ z = (z1 ; z2 ) 2 Z : z ¸ z a ; z 6= z a (z ¸ z a sse (zi ¸ zia , i = 1; 2) e z 6= z a sse (9 i 2 f1; 2g : zi 6= zia )) : No espaço de decisão o conceito de solução não dominada corresponde ao de solução e…ciente. Assim, a solução x+ 2 X = fx 2 f0; 1gn : wx · W g diz-se uma solução e…ciente sse @ x 2 X : z(x) ¸ z(x+ ); z(x) 6= z(x+ ). 8 Existem múltiplas técnicas que podem ser utitlizadas na determinação de soluções não dominadas (ver Steuer, 1986). Uma delas consiste na optimização de uma função soma ponderada dos critérios1 . O teorema seguinte fornece essa garantia. Teorema 1 (Soluções e…cientes) Se x+ 2 X é uma solução do problema max f¸1 z1 (x) +¸2 z2 (x) : x 2 Xg ;com ¸i > 0, i = 1; 2 e ¸1 + ¸2 = 1, então x+ é uma solução e…ciente deste problema (e z(x+ ) é uma solução não dominada). Contudo, a determinação de todas as soluções não dominadas nem sempre se revela apropriada no sentido de utilização da capacidade cognitiva limitada do AD em analisar, de uma só vez, um conjunto elevado de soluções, nomeadamente, porque estas podem ser em número muito elevado, por outro lado, o esforço computacional subjacente à sua determinação, em instâncias de dimensões elevadas, ou mesmo, médias, também é considerável. Os procedimentos interactivos são particularmente úteis nestas circunstâncias. Aquelas duas di…culdades estão de facto presentes nos problemas da mochila com um elevado número de itens. Por exemplo, em Visée et al. (1998), podemos veri…car que um problema com 500 itens tem em média 1778 soluções não dominadas, sendo o tempo de cálculo para as determinar de 55 minutos. Os procedimentos interactivos caracterizam-se por alternar fases de cálculo com fases em que existe incorporação de informação do AD. As fases de cálculo são dirigidas à resolução de subproblemas originados por introdução e/ou modi…cação de parâmetros com base nas indicações do AD. As soluções obtidas apresentam a dupla vantagem de veri…carem os requisitos impostos e de serem em bastante menor número. A abordagem interactiva, aqui apresentada, tem como principais vectores de orientação o tipo de informação que é prestada e requerida ao AD. A natureza da informação trocada com o AD in‡uencia a qualidade do procedimento interactivo, sendo esta tanto maior quanto mais simples e perceptível aquela for (ver, por exemplo, Roy, 1996, para detalhes sobre características potenciadoras da qualidade dos métodos interactivos). Neste trabalho, e relativamente ao nível da informação apresentada, distinguimos entre informação de nível global e informação de nível local. Em cada um dos tipos o AD pode seleccionar a informação a apresentar a partir de um conjunto de procedimentos alternativos que de…nimos a seguir e que se ilustram na Figura 1. A intervenção do AD consiste em utilizar as opções de interacção disponíveis, concretizando o valor de alguns parâmetros requeridos e reagindo aos resultados que lhe são apresentados, procurando reduzir de forma progressiva o âmbito da pesquisa. No conjunto das opções disponíveis o AD é solicitado a especi…car um conjunto de informações muito simples, como o número máximo de soluções a serem apresentadas, uma região de interesse (delimitada pela indicação de duas soluções ou de níveis mínimos para os critérios), a relaxação permitida nos valores dos critérios, ponderadores dos critérios, com o objectivo único de guiar o processo de determinação de soluções não dominadas. 1 Mais adiante ressalvamos a impossibilidade de determinação de certas soluções com recurso a esta técnica 9 Informação Global Óptimos Individuais Parâmetros requeridos número máximo de soluções a apresentar Subconjunto de soluções suportadas Conjunto integral das soluções suportadas Informação Local Análise de uma região de interesse ¾ determinação de todas as soluções não dominadas Análise de uma solução ¾ especificação de níveis de relaxação nos valores dos critérios ¾ determinação das soluções não dominadas num raio de vizinhança de uma solução ¾ determinação de soluções alternativas no espaço de decisão Parâmetros requeridos região de interesse (duas soluções ou níveis mínimos para os critérios) relaxação permitida nos critérios uma solução não dominada Análise decorrente da definição de um perfil de solução ponderadores dos critérios ¾determinação da solução que maximiza uma função numa região de interesse Figura 1: Opções interactivas segundo níveis de informação requeridos 10 2.1 Opções interactivas com informação de nível global Consideramos informação de nível global a que se destina a fornecer ao AD uma representação rápida e genérica do conjunto das soluções não dominadas do problema. Trata-se de informação que não requer quaisquer parâmetros de entrada por parte do AD. Na informação de nível global incluímos a determinação: ² dos óptimos individuais; ² do subconjunto de soluções suportadas; ² do conjunto integral das soluções suportadas; 2.1.1 Óptimos individuais A determinação dos óptimos individuais para cada um dos critérios é feita pela resolução do problema (3) com ponderador próximo de um no critério que se pretende maximizar (não exactamente igual a um para evitar a obtenção eventual de soluções fracamente não dominadas; ver Steuer, 1986). max ¸1 c1 x + ¸2 c2 x sujeito a : wx · W x 2 f0; 1gn ¸i > 0; i = 1; 2 e ¸1 + ¸2 = 1 (3) Resolvemos este problema com o algoritmo MT1 de Martello e Toth (1990). Com a solução óptima do problema é construída a sua imagem no espaço dos critérios. Ao AD são apresentados os valores extremos de ambos os critérios. 2.1.2 Subconjunto de soluções suportadas Comecemos por distinguir entre soluções não dominadas suportadas e soluções não dominadas não suportadas. De…nição 2 (Solução não dominada suportada) Uma solução não dominada z a = (z1a ; z2a ) 2 Z = f(z1 (x); z2 (x)) : x 2 Xg diz-se suportada se existir um vector (¸1 ; ¸2 ) com ¸i > 0 tal que z a =argmax f¸1 z1 + ¸2 z2 : (z1 ; z2 ) 2 Zg : Portanto, a resolução de um problema soma ponderada tipo (3) permite determinar soluções não dominadas, mais especi…camente, soluções não dominadas suportadas. Existem, contudo, algumas soluções que, sendo não dominadas, não podem ser obtidas pela resolução do problema de optimização da De…nição 2 (temos portanto que o reverso do Teorema 1 não é verdade). Estas soluções designam-se por soluções não dominadas não suportadas. 11 Com base nos desenvolvimentos presentes do problema da mochila, as soluções mais fáceis de obter são as soluções suportadas. Estas são obtidas por resolução de instâncias monocritério, para as quais existem métodos bastante rápidos. Esta opção é particularmente adequada em problemas com um elevado número de itens onde, em geral, o conjunto de soluções não dominadas é bastante elevado. Este subconjunto deve possuir, de preferência, soluções bem distribuídas no espaço dos critérios. Em geral, uma distribuição uniforme dos ponderadores utilizados na resolução daquelas instâncias permite obter soluções com aquela característica. Se representarmos por À o número máximo de soluções a ser calculado, resolvemos À problemas do tipo (3), em que ¸k1 e ¸k2 são os ponderadores utilizados na resolução do k ¡ e¶simo problema. Os ponderadores são uniformemente distribuídos no intervalo [0,1]: ¸k1 1 1 = + (k ¡ 1) ) ¸k2 = 1 ¡ 2À À µ 1 1 + (k ¡ 1) 2À À ¶ (4) Note-se que é possível obter soluções repetidas, o que é particularmente frequente em problemas com um número reduzido de itens e um À elevado. 2.1.3 Conjunto das soluções suportadas Num procedimento interactivo, o cálculo exclusivo das soluções suportadas, permite ao AD ter uma ideia aproximada da con…guração da fronteira não dominada do problema, podendo estas, em geral, ser determinadas rapidamente. O conjunto das soluções não dominadas suportadas é obtido por resolução de problemas monocritério onde os ponderadores são modi…cados iterativamente, à semelhança do método de Visée et al. (1998). Na primeira fase deste método, começa-se por determinar as soluções que optimizam individualmente os critérios e colocam-se essas soluções, ordenadas de modo lexicográ…co segundo valores crescentes de z1 , numa lista S, que contém apenas soluções e…cientes. As soluções desta lista serão utilizadas para de…nir os ponderadores dos critérios na função soma ponderada em problemas seguintes, conforme segue: sendo xp e xq duas soluções consecutivas de S, resolve-se o problema (3) com ¸1 = z2p ¡z2q e ¸1 = z1q ¡z1p (aqui deixamos de satisfazer, sem consequências adicionais, a restrição ¸1 + ¸2 = 1): Designe-se por xr uma solução do problema (3) com xr 6= xp 6= xq . Se f (xr ) = f (xp ) = f (xq ), coloca-se xr , numa outra lista, S0. Caso contrário, coloca-se xr em S, reordenando-a. Este processo é repetido, resolvendo o problema (3) com novos ponderadores, até que todos os pares de soluções consecutivas de S tenham sido analisados. A lista S0 tem como função evitar que o mesmo problema de optimização (3) seja resolvido mais do que uma vez, já que as suas soluções, no espaço dos critérios, se encontram sobre o segmento de recta que une z p e zq . O conjunto de todas as soluções suportadas e…cientes do problema corresponde às soluções constantes nas listas S e S0. Este conjunto é ordenado lexicogra…camente segundo valores crescentes de z1 . 12 Exemplo 1 Consideremos o seguinte problema bicritério com 10 itens. max z1 = 68x1 + 26x2 + 32x3 + 70x4 + 48x5 + 75x6 + 42x7 + 89x8 + 48x9 + 6x10 max z2 = 23x1 + 37x2 + 32x3 + 91x4 + 30x5 + 56x6 + 55x7 + 67x8 + 41x9 + 55x10 sujeito a: 58x1 + 84x2 + 66x3 + 32x4 + 77x5 + 73x6 + 60x7 + 12x8 + 12x9 + 68x10 · 271 xj 2 f0; 1g; j = 1; :::; 10: (a) S = ;; S 0 = ;: (b) Óptimo de z1 : x¤1 = (1001110110) : No espaço dos critérios esta solução corresponde ao ponto z(x¤1 ) = (398; 308): © ª S = x¤1 : (c) Óptimo de z2 : x¤2 = (0001010111) : No espaço dos critérios esta solução corresponde ao ponto z(x¤2 ) = (330; 365): © ª S= x¤1 ; x¤2 . (d) O próximo problema a ser resolvido é então, max ¸1 (68x1 + 26x2 + 32x3 + 70x4 + 48x5 + 75x6 + 42x7 + 89x8 + 48x9 + 6x10 ) + ¸2 (23x1 + 37x2 + 32x3 + 91x4 + 30x5 + 56x6 + 55x7 + 67x8 + 41x9 + 55x10 ) sujeito a: 58x1 + 84x2 + 66x3 + 32x4 + 77x5 + 73x6 + 60x7 + 12x8 + 12x9 + 68x10 · 271 xj 2 f0; 1g; j = 1; :::; 10 com ¸1 = 330 ¡ 308 = 22 e ¸2 = 398 ¡ 365 = 33: A solução óptima deste problema corresponde a x¤3 =(1001011110) que tem como imagem no espaço dos critérios o ponto z(x¤3 ) =(392; 333). S = f(1001110110) ; (1001011110) ; (0001010110)g : (e) Como z(x¤2 ) = (330; 365) e z(x¤3 ) =(392; 333) são soluções adjacentes, a próxima função soma ponderada a ser maximizada é (365 ¡ 333)z1 (x) + (392 ¡ 330)z2 (x) = 32z1 (x)+62z2 (x): A solução óptima obtida corresponde novamente ao ponto z(x¤2 ) = (330; 365). Isto signi…ca que as únicas soluções suportadas, a exitirem entre estas duas soluções, se situam no segmento que as une. (f) Agora os pontos z(x¤3 ) = (392; 333) e z(x¤1 ) = (398; 308) são os primeiros pontos adjacentes a serem analisados, a próxima função soma ponderada a ser maximizada é então (333 ¡ 308)z1 (x) + (398 ¡ 392)z2 (x) = 25z1 (x) + 6z2 (x): A solução óptima obtida corresponde ao ponto z(x¤3 ) =(392; 333), já anteriormente obtido. Mais uma vez, isto signi…ca que as únicas soluções suportadas a existirem entre estas duas soluções situam-se no segmento que as une. S0 permanece vazia o que signi…ca que o problema tem como soluções não dominadas suportadas as imagens das soluções em S. 13 z2 • z(x*2)=(330,365) 32 • z(x*3)= (392,333) 62 25 6 • z(x*1)= (398,308) z1 Figura 2: Processo de obtenção do conjunto das soluções não dominadas suportadas 2.2 Opções interactivas com informação de nível local Consideramos como informação de nível local a que respeita a uma dada solução, a uma vizinhança de uma solução ou a uma subregião do espaço dos critérios. Associamos a informação de nível local à análise: ² de uma área de interesse; ² de uma solução seleccionada; ² decorrente da de…nição de um per…l de solução. 2.2.1 Análise de uma região de interesse A de…nição de uma região de interesse consiste na selecção de uma subregião do espaço dos critérios, sobre a qual o AD pretende fazer incidir a sua análise. Esta selecção pode ser realizada por indicação de níveis mínimos para o valor dos critérios, ou ainda, por selecção de duas soluções previamente obtidas. Nesta região de interesse de…nimos como objectivo conhecer todas as soluções não dominadas aí contidas. A de…nição de uma área de interesse tem sido utilizada noutros procedimentos interactivos. Em Ferreira et al. (1994), por exemplo, o procedimento aplica-se a problemas de localização de equipamentos perigosos contemplando a maximização de uma função soma ponderada. O problema a resolver quando se de…ne uma região de interesse com o objectivo de conhecer todas as soluções não dominadas aí contidas, é o seguinte: 14 max z1 (x) = c1 x max z2 (x) = c2 x sujeito a : x 2 X¸ (5) © ª onde X ¸ = x 2 f0; 1gn : wx · W; z1 (x) ¸ z1min ; z2 (x) ¸ z2min . Quando a região de interesse é de…nida por selecção de duas soluções (z11 ; z21 ) e (z12 ; z22 ); então z1min = z11 + " e z2min = z22 + " (com " > 0 e convenientemente pequeno). Vamos resolver o problema de determinação do conjunto completo das soluções não dominadas na região, por adaptação do método gerador de Visée et al. (1998). Assim, após a determinação das soluções suportadas na região (ver Figura 3), e ainda da primeira solução à esquerda de z1min (z e ) e da primeira abaixo de z2min (z a ), a única diferença em relação ao caso geral, consiste na delimitação de triângulos para localização das soluções não suportadas, resultado da redução da região de pesquisa. z2 • ze • • ( z1min , z 2min ) • za z1 Figura 3: Soluções não dominadas numa região de interesse A principal preocupação, com a adaptação daquele método à região especí…ca, consiste em minimizar o número de problemas (3) a serem resolvidos com vista a obter todas as soluções não dominadas suportadas na região. De facto, se a região se situar próxima de um dos óptimos individuais, e devido ao modo de selecção dos ponderadores, as primeiras soluções dos problemas (3) tendem a afastar-se dos óptimos individuais dos critérios, retardando-se assim a determinação das soluções procuradas. Vamos tentar reduzir o número de problemas a serem resolvidos com a modi…cação dos ponderadores do primeiro problema. Em vez de considerarmos como ponderadores o vector perpendicular ao segmento de recta que une os óptimos individuais, vamos considerar o vector que une o ponto nadir ao ponto dos mínimos da região de interesse 15 ¡ ¢ z1min ; z2min : Procedendo deste modo, o gradiente da função a ser maximizada pode favorecer a obtenção de soluções na região. A partir daqui os ponderadores são obtidos com base nas soluções consecutivas de S , sem que nesta lista sejam analisados os pares de soluções com imagem no espaço dos critérios à esquerda de z1min ou abaixo de z2min . A determinação das soluções não suportadas do problema faz-se analisando todos os triângulos de…nidos pelas soluções suportadas adjacentes, região possível para a sua localização. Cada triângulo é analisado separadamente por aplicação de um procedimento de partição e avaliação sucessivas. Consideremos z p e z q duas soluções suportadas adjacentes e notemos por ¢pq o triângulo correspondente. Quando z p ( z q ) se situa fora da região de…nida, substitui-se z p (z q ) pelo ponto de intersecção do segmento de recta z p z q com a recta z1min (z2min ): Começamos por aplicar o procedimento de redução da dimensão do problema e que descrevemos de seguida. Designemos por zi+ um valor mínimo para o critério zi . Se ao colocarmos xk = µ; k 2 f1; :::; ng, com µ 2 f0; 1g e resolvermos o problema (6) abaixo se veri…car que fi¤ < zi+ , então pode-se …xar xk = 1 ¡ µ. fi¤ = cik µ + max ( n X cij xj : j=1;j6=k n X j=1;j6=k ) wj xj · W ¡ wk µ; 0 · xj · 1; j 2 f1; :::; ng n fkg (6) O valor de fi¤ pode ser substituído pelo limite U2 , traduzindo-se numa restrição mais exigente, o que em princípio permite …xar mais variáveis 2 . 2 Em Martello e Toth (1990) são apresentados limites mais exigentes para o valor óptimo da função objectivo do problema max n P cj xj j=1 s.a: n P wj xj · W (7) j=1 xj 2 f0; 1g ; j = 1; :::; n Neste trabalho, utilizamos frequentemente o limite U2 que consideramos ser um bom compromisso entre o tempo necessário no seu cálculo e a sua qualidade. Este limite baseia-se na inclusão e exclusão do item crítico: U2 = ½ ¾ cf +1 cf ¡1 cj + max w ; cf ¡ (wf ¡ w) wf +1 wf ¡1 j=1 f¡1 X fP ¡1 cj+1 cj ¸ ; j = 1; :::; n ¡ 1 e w = W ¡ wj : wj wj+1 j=1 Como cj e wj são inteiros, U2 pode ser substituído por onde 16 (8) Consideremos o critério zi e ordenemos os itens segundo valores não crescentes do seu j P valor relativo. Designemos por fzi o item crítico: f zi = minfj : wh > W g e por '(k) h=1 a posição do item k original na ordenação estabelecida. Sendo assim, o problema anterior apenas tem que ser resolvido quando se está a analisar a rami…cação xk = 0 e '(k) · fzi , ou, quando se está a analisar a rami…cação xk = 1 e '(k) ¸ f zi . No …nal do procedimento, designemos por N0 o conjunto dos índices das variáveis …xadas a zero, por N1 o conjunto dos índices das variáveis …xadas a um, e por F o conjunto dos índices das variáveis não …xadas: F = f1; :::; ngn(N0 [ N1 ). O problema original (2) é reduzido, resumindo-se então a: max z1 (x) = P c1j + j2N1 max z2 (x) = P P c1j xj j2F c2j + j2N1 P c2j xj j2F sujeito a : P P wj xj · W ¡ wj j2F (10) j2N1 x 2 f0; 1gjF j As variáveis, cujo valor não está de…nido (variáveis livres), são ordenadas segundo valores não crescentes do rácio ¸1 c1j + ¸2 c2j wj (11) com ¸1 = z2p ¡ z2q e ¸2 = z1q ¡ z1p : Em cada nodo, distinguem-se então as variáveis livres e as variáveis …xas. Das variáveis livres, escolhe-se a que apresenta maior valor no rácio (11). Designemos essa variável por xk . Criam-se dois subnodos, por …xação de xk = 1 e de xk = 0, respectivamente. Um subnodo é abandonado quando se veri…car pelo menos uma das seguintes condições: ² se para o valor das variáveis …xas e o valor nulo das variáveis livres, não se veri…car a condição de admissibilidade da solução; ² se o valor de z1 for superior a z1q ; ou, ² se o valor de z2 for superior a z2p : Caso contrário, determinam-se os limites superiores para z1 , z2 e zl (utilizamos o limite U2 ). O subnodo é abandonado se: U2 = f ¡1 X cj + max j=1 ½¹ º ¹ º¾ cf +1 cf ¡1 w ; cf ¡ (wf ¡ w) wf +1 wf ¡1 onde b²c representa o maior inteiro não superior a ²: 17 (9) ² o limite para z1 não for superior a z1p , ou; ² o limite para z2 não for superior a z2q , ou ² o limite para zl não for superior ao seguinte limite u (Visée et al., 1998). © ª u = min ¸1 z1i + ¸2 z2i+1 i=0;:::;m (12) com z 0 = z p e z m = z q : Quando um determinado subnodo for abandonado, analisa-se o último subnodo criado. Quando todas as variáveis estiverem …xadas (nodo terminal), coloca-se esta solução numa lista L (vazia no início do procedimento) caso não seja dominada por nenhuma outra solução dessa lista. As soluções em L que sejam dominadas pela solução introduzida, são eliminadas. Actualiza-se o limite u e analisa-se o último nodo criado e não abandonado. Quando todos os nodos forem abandonados ou quando todos os nodos forem terminais, então a lista L contém todas as soluções e…cientes não suportadas no triângulo ¢pq . Exemplo 2 Suponhamos que no problema bicritério do Exemplo 1 é de…nida uma região de interesse pela introdução das restrições z1 (x) ¸ 354 e z2 (x) ¸ 338: 1. Apliquemos as Fases 1 e 2 do método de Visée et al. (1998). Fase 1: Determinação das soluções suportadas na região (a) Conforme referido anteriormente, os ponderadores do primeiro problema são obtidos das componentes do vector que resulta da diferença entre o ponto mínimo (354; 338) e o ponto nadir (330; 308) ; ou seja, ¸1 = 338 ¡ 308 = 30 e ¸2 = 354 ¡ 330 = 24. Maximizando então a função 30z1 (x) + 24z2 (x) obtemos como solução óptima única x¤ = (1001011110) que tem como imagem no espaço dos critérios o ponto (392,333), que se situa fora da região. S = f(1001110110) ; (1001011110) ; (0001010111)g : (b) Consideremos agora a primeira e a segunda soluções de S. A próxima função a ser maximizada é (365 ¡ 333)z1 (x)+ (392 ¡ 330)z2 (x) = 32z1 (x)+ 62z2 (x). A solução óptima coincide com a solução obtida anteriormente. Como as únicas soluções obtidas neste problema são as soluções de partida, isto signi…ca que não existem soluções não dominadas suportadas na região de interesse. Fase 2: Determinação das soluções não suportadas na região 18 (a) Nesta fase consideramos a função f(x) = 32z1 (x) + 62z2 (x): Ordenando os itens segundo valores não crescentes do rácio x7  x1  x10  x3  x5  x2 : 32c1j +62c2j wj obtemos x8  x9  x4  x6  (b) O valor mínimo para a função f (x), na região de…nida, é 32z1min + 62z2min = 32 £ 354 + 62 £ 338 = 32284: Tendo como referência este valor, aplicamos o procedimento de …xação de variáveis. O resultado do cálulo do limite U2 para cada valor de teste é o seguinte: Variável x2 = 1 x3 = 1 x5 = 1 x10 = 1 Limite f(x) 31562 32820 32323 33253 Decisão …xar x2 = 0 não …xar não …xar não …xar Variável x1 = 0 x4 = 0 x6 = 0 x7 = 0 x8 = 0 x9 = 0 x10 = 0 Limite f (x) 33807 28165 32199 32744 27829 30753 34248 Decisão não …xar …xar x4 = 1 …xar x6 = 1 . não …xar …xar x8 = 1 …xar x9 = 1 não …xar Este procedimento permitiu …xar 5 das 10 variáveis. Com as variáveis …xadas temos z1 = 282, z2 = 255 e f(x) = 24834. São variáveis livres x1 ; x3 ; x5 ; x7 e x10 : A capacidade residual é igual a W ¡ w4 ¡ w6 ¡ w8 ¡ w9 = 142: Na Figura 4 apresentamos a árvore binária associada à exploração da região seleccionada. As razões de abandono dos nodos encontram-se no quadro seguinte. Nodo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 z1 324 392 324 330 324 356 356 324 372 282 350 356 356 282 356 z2 310 333 310 365 310 342 342 310 340 255 278 333 333 255 333 Limite z1 (x) 403 403 372 336 372 356 356 372 372 398 398 363 356 398 361 Limite z2 (x) 370 344 370 370 342 342 342 340 340 345 339 339 338 311 342 Limite f (x) 34283 34284 33807 33807 33212 33212 33212 32596 32984 32744 32744 32744 32203 32151 31695 Decisão NA A NA A NA NA A . NA A NA NA NA A A A A - signi…ca abandonar; NA - signi…ca não abandonar (c) Analisemos, por exemplo, o cálculo dos limites f(x) no nodo 1 (os restantes valores foram obtidos de modo idêntico). Atendendo à ordenação de acordo com f(x); obtemos como item crítico x10 dado que 19 0 x8=1 0 x9=1 0 x4=1 0 x6=1 0 x2=0 0 x7=0 x7=1 10 1 x1=1 2 x1=0 x1=1 x1=0 14 11 3 x10=1 x10=1 x10=0 12 4 15 5 x3=1 x3=0 6 8 x10=0 x5=0 13 x5=1 x5=0 7 9 Figura 4: Árvore de exploração da região de interesse w7 + w1 + w10 > 142 e w7 ¡¥ + w1 = 118 · 142: Calculamos agora o limite¦¢U2 : ¦ ¥ ¡ ¡ 24) 3602 U2 = 4754 + 3602 + max (142 ¡ 118) £ 3008 ; 3602 (68 = 8356+ 66 58 max (1093; 869) = 9449: Adicionando o valor da função com as variáveis …xadas a 1, otemos, …nalmente 24834 + 9449=34823. (d) No interior do triângulo existem duas soluções não dominadas (ver Figura 5). A primeira foi obtida no nodo 7, (356; 342) ; e a segunda foi obtida no nodo 9, (372; 340). Com a obtenção da primeira solução actualizou-se o limite u, de acordo com (12), passando o seu valor a ser igual a 3.2348 = min f32 £ 354 + 62 £ 342; 32 £ 356 + 62 £ 338g. 20 z2 • • (356,340) • (372,340) 338 • 354 z1 Figura 5: Soluções não dominadas na região de interesse 2.2.2 Análise de uma solução Na análise de uma solução consideramos a especi…cação de níveis de relaxação para os valores dos critérios, a especi…cação de um raio de vizinhança, a determinação de todas as soluções não dominadas na subregião de…nida, assim como a determinação de soluções alternativas no espaço de decisão, i.e., soluções que permitem obter os mesmos valores dos critérios mas com diferente composição no espaço de decisão.Vejamos seguidamente como é que estas opções são concretizadas. 2.2.2.1 Especi…cação de níveis de relaxação nos valores dos critérios Perante uma solução não dominada já conhecida, o AD pronuncia-se relativamente aos valores dos critérios. Como resultado, especi…ca o valor que está disposto a prescindir num deles, de modo a obter um acréscimo mínimo desejado no valor do outro. Matematicamente este problema pode formular-se do seguinte modo: max z1 (x) = c1 x max z2 (x) = c2 x sujeito a : wx · W z1 (x) ¸ z1+ + 41 z2 (x) ¸ z2+ + 42 x 2 f0; 1gn (13) com 41 £ 42 < 0: A sua estrutura é equivalente à do problema da secção (2.2.1), tendo portanto o mesmo processo de resolução. 21 De notar que o acréscimo pretendido para um dado critério pode não ser alcançável com a relaxação máxima especi…cada para o outro critério. Neste caso, o problema (13) é impossível. 2.2.2.2 Determinação das soluções não dominadas num determinado raio de vizinhança de uma solução Após conhecer uma solução que considera interessante, o AD pode pretender conhecer soluções não dominadas na sua vizinhança. Para tal, especi…ca um raio de pesquisa em relação aos critérios em análise. Como resultado apresentam-se todas as soluções não dominadas contidas na região de…nida. z2 ∆z2 z+ • ∆ z1 z1 Figura 6: Vizinhança de uma solução O raio pode ser de…nido em termos de incremento absoluto ou relativo (em percentagem do valor corrente dos critérios na solução escolhida) dos valores dos critérios para a solução escolhida. Como a solução seleccionada é não dominada, a região de vizinhança apenas de…ne duas zonas possíveis para a localização de soluções não dominadas: a região à esquerda e acima de z + e a região à direita e abaixo de z + (ver Figura 6) : De facto, uma vez que a solução seleccionada é não dominada, a região à direita e acima de z + …ca excluída por impossibilidade, i.e., apenas pode conter soluções não admissíveis, enquanto que a região à esquerda e abaixo de z + …ca excluída por apenas poder conter soluções dominadas por z+: Cada uma daquelas regiões gera um problema que pode ser formulado conforme (5), com z1min = z1+ ¡ ¢z1 e z2min = z2+ , no primeiro caso e com z1min = z1+ e z2min = z2+ ¡ ¢z2 , no segundo caso. A determinação das soluções não dominadas no raio de vizinhança pode, portanto, efectuar-se com recurso aos procedimentos utilizados na resolução de (5) (ver secção 2.2.1). Esta resolução, que envolve a determinação das soluções suportadas adjacentes à região, tem como vantagem garantir que as soluções obtidas são efectivamente não dominadas globalmente. 22 Adicionalmente, devem excluir-se as soluções com valor superior a z1+ +¢z1 no critério z1 ; ou com valor superior a z2+ + ¢z2 no critério z2 : Contudo, sendo o objectivo desta opção facultar uma análise local relativamente à solução z + é de esperar que o raio de vizinhança seja, em geral, bastante pequeno. Assim, o processo de separação do cálculo de soluções suportadas e de não suportadas é mais moroso do que o cálculo indiferenciado das soluções. 2.2.2.3 Determinação de soluções alternativas no espaço de decisão Nesta opção interactiva permite-se que o AD proceda a uma análise a posteriori de uma solução não dominada já obtida, no sentido de poder averiguar se, no espaço de decisão, existe(m) alguma(s) solução(ões) que embora tenham os mesmos valores nos critérios da solução seleccionada, têm composição diversa no espaço de decisão (designaremos estas soluções por soluções alternativas). Esta análise é justi…cada pela possibilidade de muitos aspectos relevantes na análise das soluções não estarem retratados nos critérios explicitados, o conhecimento do espaço de decisão revela-se útil, permitindo ao AD reter uma solução que embora equivalente no espaço dos critérios de…nidos é preferível tendo em conta outras perspectivas de análise. Nesta opção interactiva possibilita-se ao AD a visualização das imagens no espaço de decisão de uma solução não dominada que considera interessante. Consideremos z + = (z1+ ; z2+ ) uma solução não dominada no espaço dos critérios. Perante esta solução, o AD pretende conhecer todas as soluções alternativas no espaço de decisão. Caso as soluções alternativas ainda não tenham sido obtidas em interacções anteriores (isto é, quando não se coloca a obrigatoriedade de obter todas as soluções no espaço de decisão), empregamos o procedimento de resolução que se segue. Podemos formular o problema dos óptimos alternativos como o problema de determinação de todas as soluções óptimas do problema (14) : max z1 (x) sujeito a : z2 (x) ¸ z2+ x2X (14) Um modo de obter todas as soluções alternativas de (14) seria recorrer a um programa de optimização de programação linear inteira e resolver iterativamente o problema, introduzindo em cada iteração uma restrição adicional relativa à cardinalidade da solução obtida, até que o problema fosse impossível ou o valor de z1 (x) fosse inferior a z1+ . Ou © ª k k k seja, representando por a solução óptima obtida na iteração com , x k N = j : x = 1 1 j P k inclui-se a restrição xj · jN1 j ¡ 1 de modo a determinar a solução óptima alternativa j2N1k seguinte. 23 No entanto, este procedimento requer a resolução de vários problemas desde o ínício, o que o torna ine…ciente. Para resolver esta questão vamos construir um procedimento de partição e avaliação sucessivas com aproveitamento da informação disponível em cada momento. Começamos por tentar …xar o valor de algumas variáveis, utilizando o procedimento da secção 2.2.1. O problema reduzido é depois resolvido com um procedimento de partição e avaliação sucessivas. Neste procedimento utilizamos duas condições de cardinalidade para o número de itens incluídos nas soluções alternativas, são elas as condições de cardinalidade máxima e de cardinalidade mínima, que descrevemos de seguida. Notemos por z1+ e por z2+ os valores pretendidos para os critérios z1 e z2 respectivamente. O número mínimo de itens necessário para se obter esta solução pode ser determinado resolvendo o problema (15) abaixo. À condição correspondente àquela solução, chamamos condição de cardinalidade mínima para z + : hmin i ( n ) n X X = min xj : cij xj ¸ zi+ ; 0 · xj · 1; j = 1; :::; n j=1 (15) j=1 Representemos por #min(zi ) o valor de hmin arredondado por excesso, i.e., #min(zi ) = i min dhi e. Uma vez que as soluções pretendidas devem ter como imagem no espaço dos critérios, + z1 e z2+ , respectivamente, a condição de cardinalidade mínima traduz-se por: n X xj ¸ max (#min(zi )) i=1;2 j=1 (16) A resolução do problema (15) pode fazer-se ordenando os itens segundo valores não crescentes de cij e incluir os itens até que se atinja o valor pretendido. A ideia subjacente é simples: incluir os itens de maior valor, até que se atinja zi+ : A restrição de capacidade também permite impor uma condição de cardinalidade máxima. De facto, o número máximo de itens que pode ser colocado na mochila corresponde ao valor de hmax arredondado por defeito: hmax ( n ) n X X = max xj : wj xj · W; 0 · xj · 1; j = 1; :::; n j=1 (17) j=1 Por conseguinte, a condição de cardinalidade máxima traduz-se por: n X xj · bhmax c j=1 24 (18) A solução óptima do problema (17) pode ser obtida ordenando os itens segundo valores não decrescentes de wj e incluindo os itens até que se atinja a capacidade da mochila. No procedimento de partição e avaliação sucessivas, e como é usual, distinguem-se as operações de rami…cação, cálculo de limites e abandono. O procedimento que apresentamos, parte da árvore binária correspondente à solução associada a z + = (z1+ ; z2+ ). Representemos essa solução por x+ . 1. Rami…cação A rami…cação da variável xk pertencente à árvore de partida faz-se do seguinte + modo: xk = 1 se x+ k = 0, ou xk = 0 se xk = 1. A partir de um nodo que não pertence à árvore de partida são criadas duas rami…cações xk = 1 e xk = 0, onde k representa o nível da árvore de partida. Esta operação gera dois novos nodos. Analisa-se, primeiramente, a rami…cação xk = 1. No entanto, em qualquer nodo, não se procede à rami…cação xk = 1 se wk > k¡1 P W¡ wj xj (o peso do item excede a capacidade remanescente). j=1 A rami…cação xk = 0 também pode ser evitada, se: ² n ¡ max (# min(zi )) = i=1;2 k¡1 P j=1;xj =0 (1 ¡ xj ) ² xk 2 = F (variáveis …xadas a zero ou a um). Por outro lado, a rami…cação xk = 1 também pode ser evitada, se: 1. ² k P j=1;xj =1 xj = bhmax c = F (variáveis …xadas a zero ou a um) ² xk 2 2. Cálculo de limites Suponhamos que estamos a analisar uma rami…cação da variável xk , k 2 F . Neste nodo veri…ca-se que o acréscimo alcançável no valor do i ¡ e¶simo critério é limitado por: ( n n n k P P P P cij + max cij xj : wj xj · W ¡ wj xj ¢zik = cik xk + j=k+1;j2N1 j=k+1;j2F 25 j=k+1;j2F j=1 ¡ n X j=k+1;j2N1 wj ; 0 · xj · 1; j = k + 1; :::; n; j 2 F ) (19) A resolução do problema (19) pode ser efectuada por aplicação da heurística gulosa, que consiste em preencher a capacidade remanescente, com os itens com maior valor relativo. Um limite mais apertado para o acréscimo do valor do i ¡ e¶simo critério pode ser conseguido por utilização do limite U2 . 3. Abandono Um nodo, correspondente à rami…cação da variável xk , é abandonado se se veri…car pelo menos uma das seguintes condições: k¡1 P i a) ¢zik + cj xj < zj+ ; j = 1; 2 (limite para os critérios inferior z + ) ; j=1 b) nodo terminal. Quando um nodo é abandonado, analisa-se o último nodo criado e não abandonado. Se o nodo abandonado for terminal, a solução é colocada numa lista das soluções alternativas, X a , vazia no início do procedimento, se a sua imagem no espaço dos critérios for z + = (z1+ ; z2+ ). Quando todos os nodos forem abandonados o procedimento termina e as soluções em X a são alternativas de x+ . 2.2.3 Análise decorrente da de…nição de um per…l de solução Nesta opção interactiva o AD selecciona uma região no espaço dos critérios onde pretende conhecer uma solução não dominada. Esta especi…cação de…ne um per…l de solução, uma vez que se concretizam os valores possíveis para os critérios de…nidos. Então, o AD especi…ca: ² a região de interesse, por indicação dos níveis mínimos para os critérios ou por selecção de duas soluções não dominadas previamente obtidas; ² os ponderadores dos critérios, na função soma ponderada que pretende maximizar na região de interesse. Estes ponderadores têm aqui a função exclusiva de privilegiar a obtenção de uma solução mais próxima de um dado critério. O AD pretende obter uma solução, pertencente à região, que maximiza a função especi…cada. O problema matemático subjacente a resolver é o seguinte: 26 ¤ frb = max f (x) = ¸1 c1 x + ¸2 c2 x sujeito a : wx · W c1 x ¸ z1min c2 x ¸ z2min x 2 f0; 1gn (20) Com a introdução das restrições adicionais o problema perde a estrutura do problema da mochila monocritério, o que inviabiliza, a priori, a sua resolução pelos métodos conhecidos. Vejamos um procedimento possível para a sua resolução. Começamos por resolver o problema bicritério soma ponderada sem as restrições adicionais (problema 3). A solução óptima deste problema, x¤ , é obtida através da aplicação do algoritmo MT1 de Martello e Toth (1990). Duas situações distintas podem ocorrer em relação à solução óptima, x¤ : 1. Esta solução veri…ca as restrições adicionais c1 x¤ ¸ z1min e c2 x¤ ¸ z2min : Neste caso, o procedimento termina. 2. Esta solução não veri…ca pelo menos uma das restrições adicionais. Neste caso, tem início um processo que se divide em quatro fases: Fase 1: obtenção de um limite superior para f (x) na região de interesse; Fase 2: obtenção de um limite inferior para f (x) na região de interesse; Fase 3: redução da dimensão do problema; Fase 4: identi…cação da solução óptima. Vejamos, em detalhe, cada uma destas quatro fases. 2.2.3.1 Obtenção de um limite superior para f (x) numa região de interesse de…nida Nesta fase, pretendemos obter um limite superior para o valor óptimo da função objectivo do problema (20). Este limite será posteriormente utilizado nas fases 3 e 4. Vamos considerá-lo como o valor óptimo da função objectivo do problema linear: ¤ = max f (x) = ¸1 c1 x + ¸2 c2 x frc sujeito a : wx · W c1 x ¸ z1min c2 x ¸ z2min x 2 [0; 1]n 27 (21) A solução óptima de (21) pode determinar-se indirectamente atendendo ao facto de que, sem as restrições adicionais, estamos perante a versão relaxada do problema da mochila monocritério. Para tal, começamos por resolver o problema (21) sem estas duas restrições, ou seja, o problema (22): fr¤ = max f (x) = ¸1 c1 x + ¸2 c2 x sujeito a : wx · W x 2 [0; 1]n (22) O problema (22) tem uma estrutura particular o que permite determinar a solução óptima de um modo elegante, conforme demonstrou Dantzig em 1957. A solução óptima de (22) coincide com a solução obtida por aplicação da heurística gulosa, que consiste em ² ordenar os itens segundo valores relativos ( seguidamente; ¸1 c1j +¸2 c2j wj ; j = 1; :::; n) não crescentes e, ² esgotar a capacidade da mochila, W; com a inclusão dos itens segundo a ordenação de…nida anteriormente. Com os itens ordenados segundo valores relativos não crescentes, o primeiro item que não pode ser integralmente incluído designa-se por item crítico e representa-se por f , isto é: ( k X wj > W f = min k : Por conseguinte, a solução óptima, x¤ seguinte composição: 8 1 > > fP ¡1 < W¡ wk ¤ xj = k=1 > wj > : 0 j=1 ) (23) ¡ ¢ = x¤1 ; :::; x¤j ; :::; x¤n , do problema (22) tem a se j = 1; :::; f ¡ 1 se j = f se j = f + 1; :::; n (24) Assim, consideremos x¤ a solução óptima de (22). O valor de fr¤ constitui um limite superior para f (x). Contudo, quando z(x¤ ) = (z1 (x¤ ) ; z2 (x¤ )) não respeita as restrições adicionais e, de facto, tal é possível, o valor máximo desta função na região é sempre inferior ou igual ao o valor de fr¤ , i.e., fr¤ ¸ f (x); x 2 X ¸ . Como consequência, teremos uma menor e…cácia nas fases 3 e 4, uma vez que este valor é utilizado para reduzir a dimensão do problema. 28 Importa, pois, determinar o valor máximo de f(x) na região de interesse. Para tal, observemos que, se a solução óptima de um problema não veri…ca determinada restrição, então, quando a restrição é incluída no problema, encontra-se activa na solução óptima do mesmo. Assim, a determinação da solução que maximiza f (x), na região, pode fazer-se através da identi…cação da sucessão de pontos extremos adjacentes e…cientes. Esta sucessão iniciase em x¤ e termina quando se obtiver o primeiro ponto e…ciente na região ou, caso não exista, o primeiro fora dela. A localização de z(x¤ ) indica o sentido de procura de pontos e…cientes adjacentes. Sendo zi (x¤ ) < zimin e x+ um ponto e…ciente adjacente a x¤ com zi (x+ ) ¸ zimin então o processo de determinação de pontos extremos e…cientes termina, caso contrário, determinamos um novo ponto extremo e…ciente. Consideremos os dois últimos pontos adjacentes determinados. A função f(x) atinge o seu valor máximo no primeiro ponto de intersecção do segmento de recta que une esses dois pontos com a recta de equação z1 = z1min ou z2 = z2min (ver Figura 7). z2 z2 • z min 2 •2 • • • • z1min z •1 •2 • • min 2 • z1 z1min •1 z1 Figura 7: Maximização de f(x) De modo a determinarmos a sucessão de pontos extremos e…cientes adjacentes utilizamos o método simplex bicritério, tendo por base o problema (25). max z1 (x) = c1 x max z2 (x) = c2 x sujeito a : wx · W x 2 [0; 1]n (25) No entanto, observemos que o problema (25) é composto por n+1 restrições (excluindo as de não negatividade), em que n das quais são referentes à limitação das variáveis. Considerar explicitamente estas restrições releva-se muito pouco e…ciente e não tira partido da sua estrutura particular. Neste sentido, utilizaremos o método simplex com variáveis limitadas. Neste método, o valor de todas as variáveis, à excepção da variável básica, 29 está …xado no seu limite superior (um) ou no seu limite inferior (zero). O quadro simplex bicritério, que se apresenta a seguir, tem apenas uma restrição (restrição de capacidade). Relativamente ao quadro simplex habitual, são introduzidas as seguintes alterações: 1. uma linha com os coe…cientes das variáveis em ambos os objectivos; 2. para cada variável básica apresenta-se o seu coe…ciente em ambos os objectivos; 3. uma linha de preços reduzidos associada a cada um dos objectivos, que é actualizada como habitualmente. c1 c2 c1b c2b xb c1f c2f xf c1j ¡ zj1 c2j ¡ zj2 c11 c21 x1 w1 =wf c11 ¡ w1 =wf c1f c21 ¡ w1 =wf c2f ::: c1j ::: c2j ::: xj ::: wj =wf ::: c1j ¡ wj =wf c1f ::: c2j ¡ wj =wf c2f ::: c1n ::: c2n ::: xn ::: wn =wf ::: c1n ¡ wn =wf c1f ::: c2n ¡ wn =wf c2f 0 0 s 1=wf ¡1=wf c1f ¡1=wf c2f b . No quadro acima: ² xf é a variável fraccionária que também denominamos por variável básica (xf = xb ); ² a variável xf constitui a base corrente, designação utilizada quando as restrições de limitação das variáveis são incluídas implicitamente; ² s é a variável desvio da restrição de capacidade. As condições de optimalidade do problema de maximização do critério zi , correspondem a: 8 i i > < cj ¡ zj ¸ 0 se xj = 1; i cj ¡ zji · 0 se xj = 0; : i > : ¡ cf · 0 (o que é sempre verdade com ci ¸ 0 e w > 0): f f wf No quadro simplex anterior, as operações usuais (partindo da solução óptima) são as seguintes: (1) identi…cação da variável básica que sai da base; (2) identi…cação da variável não básica e…ciente, que entra na base; (3) actualização do valor da variável que entra na base; e (4) de…nição do valor da variável que deixa a base. As operações (3) e (4) efectuam-se de modo distinto do que é feito habitualmente, devido à inclusão implícita das restrições de limitação das variáveis (ver Bazaraa et al., 1990 ou Nash e Sofer, 1996). No Anexo (A) descrevemos o método simplex com variáveis limitadas e derivamos as operações acima para o caso especí…co do problema da mochila, resultados que sintetizamos a seguir. 1. Variável que sai da base: A variável xf é a única candidata a sair da base corrente. 30 2. Variável que entra na base: Analisando a linha cij ¡ zji considera-se candidata a entrar na base a variável xj que satisfaz as condições de optimalidade para uma função combinação linear convexa dos objectivos3 e em que a alteração do seu valor conduz à melhoria do critério zi (cij ¡ zji < 0 se xj = 1 ou cij ¡ zji > 0 se xj = 0). De…nição 3 (Solução básica e…ciente) Uma solução x¤ diz-se uma solução básica e…ciente para (25) sse for uma solução óptima de max f¸1 z1 (x) + ¸2 z2 (x) : wx · w; 0 · x · 1g, com ¸1 ; ¸2 > 0 e ¸1 + ¸2 = 1: De…nição 4 (Base e…ciente) B é uma base e…ciente sse corresponder à solução óptima do problema max f¸1 z1 (x) + ¸2 z2 (x) : wx · w; 0 · x · 1g, com ¸1 ; ¸2 > 0 e ¸1 + ¸2 = 1. De…nição 5 (Variável não básica e…ciente) Considere-se B uma base e…ciente do problema (25). Então, xj ; uma variável não básica, diz-se e…ciente em relação a B sse existir ¸1 ; ¸2 > 0 e ¸1 + ¸2 = 1, tal que ² ¸1 (c1k ¡ zk1 ) + ¸2 (c2k ¡ zk2 ) ¸ 0 se xk = 1(k 2 f1; :::; ngnff g); ² ¸1 (c1k ¡ zk1 ) + ¸2 (c2k ¡ zk2 ) · 0 se xk = 0(k 2 f1; :::; ngnff g); ² ¸1 (¡c1f =wf ) + ¸2 (¡c2f =wf ) · 0 (o que é sempre veri…cado);e, ² ¸1 (c1j ¡ zj1 ) + ¸2 (c2j ¡ zj2 ) = 0: Teorema 2 (Base e…ciente adjacente) Se B é uma base e…ciente e xj uma variável não básica e…ciente, então a entrada na base de xj conduz a uma base e…ciente adjacente a B. Assim, a variável candidata a entrar na base é a que veri…ca as condições da De…nição 5 e que conduz à melhoria do valor do critério zi , i.e., cij ¡ zji < 0 se xj = 1; ou cij ¡ zji > 0 se xj = 0: O Teorema 2 garante a obtenção de uma solução e…ciente adjacente. Contudo, a variável xf pode permanecer básica se a variável xj transitar do seu limite superior para o inferior ou vice-versa. Neste caso, xj permanece não básica. 3. Actualização do valor da variável xj (candidata a pertencer à base): Vamos distinguir as seguintes situações: ² Se xj = 0; então o novo valor de xj corresponde a 3 A função ¸1 z1 (x) + ¸2 z2 (x) diz-se combinação linear convexa de z1 (x) e de z2 (x) sse ¸1 + ¸2 = 1 e ¸1 ; ¸2 ¸ 0: 31 ½ ¾ wf min xf ; 1 wj (26) o n w Se min xf wfj ; 1 = 1; então xj permanece não básica, agora no seu limite superior. Caso contrário, xj passa a substituir xf na base. ² Se xj = 1; então o novo valor de xj corresponde a ¾ ½ wf 1 ¡ min (1 ¡ xf ) ; 1 wj (27) n o wf Se min (1 ¡ xf ) wj ; 1 = 1, então xj permanece não básica, mas desta vez no seu limite inferior. Caso contrário, xj passa a substituir xf na base. 4. Actualização do valor da variável xf (candidata a sair da base): Se xf passa a ser uma variável não básica, o seu valor é determinado atendendo à de…nição do valor da variável que passa a pertencer à base. Isto é, 8 n o < Se xj = 0 e min xf wf ; 1 = xf wf , então xf = 0; wj nwj o . w : Se xj = 1 e 1 ¡ min (1 ¡ xf ) f ; 1 = 1 ¡ (1 ¡ xf ) wf , então xf = 1 wj wj No …nal do processo de determinação dos pontos e…cientes adjacentes, designemos por x e x2 as duas últimas soluções obtidas e em que, sem perda de generalidade, admitimos z1 (x1 ) < z1 (x2 ). O limite superior de f (x) é, então, dado por ¸1 z1 (x) + ¸2 z2 (x), com z1 (x) e z2 (x) determinados pela resolução do sistema ½ ®1 z1 (x) + ®2 z2 (x) = ®3 zi (x) = zimin 1 onde 8 < ®1 = z2 (x1 ) ¡ z2 (x2 ) ® = z1 (x2 ) ¡ z1 (x1 ) : : 2 1 2 1 2 ®3 = z2 (x )z1 (x ) ¡ z1 (x )z2 (x ) Exemplo 3 Consideremos o problema bicritério do Exemplo (1) onde introduzimos as restrições adicionais z1 (x) ¸ 300 e z2 (x) ¸ 350: 1. Suponhamos que o AD de…ne a seguinte função agregada, que pretende maximizar: f(x) = 0; 5z1 (x) + 0; 5z2 (x). 32 (a) Começamos por resolver o problema sem as restrições adicionais z1 (x) ¸ 300 e z2 (x) ¸ 350: max f(x) = 45; 5x1 + 31; 5x2 + 32x3 + 80; 5x4 + 39x5 + 65; 5x6 + 48; 5x7 + 78x8 + 44; 5x9 + 30; 5x10 sujeito a: 58x1 + 84x2 + 66x3 + 32x4 + 77x5 + 73x6 + 60x7 + 12x8 + 12x9 + 68x10 · 271 xj 2 f0; 1g; j = 1; :::; 10: Aplicando o algoritmo MT1, obtemos como solução óptima x¤ = (1001011110), com a imagem z(x¤ ) = (392; 333) no espaço dos critérios, que não pertence à região seleccionada. (b) Fase 1: Obtenção de um limite superior para f (x) na região de interesse fr¤ = max f(x) = 45; 5x1 + 31; 5x2 + 32x3 + 80; 5x4 + 39x5 + 65; 5x6 + 48; 5x7 + 78x8 + 44; 5x9 + 30; 5x10 sujeito a: 58x1 + 84x2 + 66x3 + 32x4 + 77x5 + 73x6 + 60x7 + 12x8 + 12x9 + 68x10 · 271 xj 2 [0; 1]; j = 1; :::; 10: Na Figura 8 mostramos o espaço dos objectivos deste problema. z2 (336.79, 371.79) • • (346.41, 370.55) • (394.12, 352.41) 350 • (406.96, 342.35) •(0,0) z1 300 Figura 8: Espaço dos objectivos do problema relaxado (c) Ordenando os itens segundo valores relativos µ cj wj ¶ não crescentes e incluindo-os, nesta ordem, até que se esgote a capacidade da mochila, obtemos a solução óptima x¤ = (10010; 3111110), que no espaço dos critérios corresponde a z(x¤ ) = (406; 96; 342; 35). Com esta solução, obtemos fr¤ = f(x¤ ) = 374; 657. 33 i. Reconstruindo o quadro simplex bicritério referido atrás, temos: b Solu ção x c c 1 2 1 0 0 1 0 1 1 1 1 0 0 68 26 32 70 48 75 42 89 23 37 32 91 30 56 55 67 48 6 0 41 55 0 1 cb 2 cb xb x1 x2 x3 x4 x5 x6 x7 x8 x9 x 10 s b 48 30 x5 58/77 84/77 66/77 32/77 1 73 /77 60/77 12/77 12/77 68/77 1/77 0.3116 1 1 c j -z j 31,8 -26,4 -9,1 50,1 0 29,5 4,6 81,5 40,5 -36,4 -0,6 2 2 c j -z j 0,4 4,3 6,3 78,5 0 27,6 31,6 62,3 36,3 28,5 -0,4 . Neste quadro o valor da variável x5 foi obtido do seguinte modo: x5 = (W ¡ wb x)=w5 = (271 ¡ 247)=77 = 0; 3116. Uma vez que este valor é inferior ao mínimo estabelecido, o valor de z2 (x) deve aumentar. De modo a identi…carmos a variável não básica e…ciente candidata a entrar na base, determinamos o intervalo de valores dos ponderadores ¸1 e ¸2 que permite obter a solução. Este intervalo é de…nido por resolução do sistema de inequações que garante a optimalidade da solução encontrada: ¸0 31; 8¸1 + 0; 4¸2 ¡26; 4¸1 + 4; 3¸2 ·0 ¡9; 1¸1 + 6; 3¸2 ·0 ¸0 50; 1¸1 + 78; 5¸2 ¸0 29; 5¸1 + 27; 6¸2 ¸0 4; 6¸1 + 31; 6¸2 ¸0 81; 5¸1 + 62; 3¸2 ¸0 40; 5¸1 + 36; 3¸2 ¡36; 4¸1 + 28; 5¸2 ¡0; 6¸1 ¡ 0; 4¸2 ¸0 ·0 Este sistema de inequações é coerente se ¸1 2 [0; 439264; 1]: Notemos então que x10 é a variável que satisfaz a de…nição de variável não básica e…ciente (ver De…nição (5)) e que permite, por activação, a melhoria do valor de z2 : 1 ) + (1 ¡ 0; 439264)(c2 ¡ z 2 ) = 0 e (c2 ¡ z 2 ) > 0: Assim, a 0; 439264(c110 ¡ z10 10 10 10 10 variável x10 é candidata a entrar na base em substituição de x5 . ii. Efectuando a mudança de base, obtemos o quadro seguinte: b Solu ção x c c . 1 2 1 0 0 1 0 1 1 1 1 0 0 68 26 32 70 48 75 42 89 23 37 32 91 30 56 55 67 48 6 0 41 55 0 1 cb 2 cb xb x1 x2 x3 x4 x5 x6 x7 x8 x9 x 10 s 6 55 x 10 58/68 84/68 32/68 7 7/68 77/68 73/68 60/68 12/68 12/68 1 1/68 1 1 c j -z j 2 2 c j -z j 62,9 18,6 26,2 67,2 41,2 68,6 36,7 87,9 46 ,9 0 -0,08 -23,9 -30,9 -21,4 65,1 -32,3 -0,3 6,5 57,3 31 ,3 0 -0,81 O valor da variável x10 corresponde a 0; 3116 34 ¡ 77 ¢ 68 = 0; 3529. Logo, x5 = 0. 0.3529 A solução (394; 12; 352; 41) já pertence à região seleccionada. Sendo assim, paramos o procedimento de determinação de novos pontos extremos adjacentes. iii. Os últimos dois pontos extremos adjacentes, a considerar seguidamente, são (406; 96; 342; 35) e (394; 12; 352; 41), sendo a equação da recta que os une, z2 = ¡0; 7835z1 + 661; 2. (d) Como na solução óptima, com as restrições adicionais, a restrição z2 (x) ¸ 350 está activa, i.e. (z2 (x) = 350), podemos obter o valor máximo para f(x) na região, por resolução do sistema: ½ ½ z2 = ¡0; 7835z1 + 661; 2 z1 = 397; 19 , z2 = 350 z2 = 350 Obtemos então 0; 5 £ 397; 19 + 0; 5 £ 350 = 373; 595, como um limite superior para f(x) na região. z2 • (394.12, 352.41) (300, 350) f(x)=374.7 f(x)=373.6 z1 • (406.96, 342.35) Figura 9: Valor máximo para f(x) na região de interesse 35 2.2.3.2 Obtenção de um limite inferior para f (x) na região de interesse de…nida Nesta fase, pretendemos obter um limite inferior para a função f (x), na região de interesse. Este limite inferior é de…nido a partir de uma solução admissível para o problema, que devido ao modo de de…nição da região, nunca será inferior a ¸1 z1min + ¸2 z2min . Assim, é objectivo desta fase procurar uma ”boa solução” inteira admissível para o problema (22). Reparemos que uma tal solução admissível pode ser facilmente obtida a partir de b esta solução. Este é um arredondamento admissível x¤ , fazendo xf = 0: Designemos por x que, contudo, pode não satisfazer as restrições adicionais c1 x ¸ z1min e c2 x ¸ z2min . Deste arredondamento ocorre uma das seguintes situações, que se ilustram na Figura 10: 1. x x) ¸ z1min ; b não pertence à região e z1 (b 2. x b não pertence à região e z2 (b x) ¸ z2min ; 3. x b não pertence à região e z1 (b x) < z1min ; z2 (b x) < z2min ; 4. x b pertence à região. z2 • 2 •4 z min 2 •1 •3 z1min z1 Figura 10: Convergência para a região seleccionada Para obtermos uma solução inteira na região seleccionada, se tal existir, o valor do critério z2 deve aumentar, na situação 1, enquanto que na situação 2, deve ser o valor do critério z1 a aumentar. Na situação 3, os valores de ambos os critérios devem aumentar. Por …m, na situação 4, apenas se tem que explorar a região seleccionada, a partir de x b. Representemos por zi , o critério cujo valor deve aumentar (nas situações 3 e 4, escolhese o critério que mais se afasta do valor mínimo de referência) e aplicamos o procedimento heurístico seguinte, que susbtitui itens incluídos por itens excluídos na solução arredondada, melhorando o valor do critério pretendido, e mantendo a admissibilidade da solução. Begin Inicialização: Construção dos conjuntos N0 = fi :xbi = 0 g, N1 = fi :xbi = 1 g ordenados segundo valores não crescentes do critério zi : Substituição dos itens de N1 por itens de 36 N0 , de acordo com o seguinte procedimento. j = 1; k = 1; P 1 P 2 ci ; z2 = ci ; z1 = i2N1 ¡ w =W¡ P { co n stru ir va lo re s in ic ia is} i2N1 wi ; f min = 0; i2N1 F imN 0 á false; Repeat Begin If k > jN1 j then Begin j á j + 1; If j > jN0 j then F imN 0 á true else k á 1; End If F imN0 = f alse then Begin ¡ i > cikN1 and wjN0 · w + wkN1 then If cjN 0 Begin bkN1 = 0; x bjN0 = 1, x N1 á N1 nfkg; z1 á z1 + c1jN0 ¡ c1kN1 ; z2 á z2 + c2jN0 ¡ c2kN1 ; w á w + wkN1 ¡ wjN0 ; If z1 ¸ z1min and z2 · z2min then x) > f min then f min á f (b x) ; If f(b Else j á j + 1; End Else k á k + 1 ; End End Until FimN0=true; End {ve ri… ca r s e o valor d o crité rio zi m elh ora } { a ctu a liz a r a s o lu ç ã o inte ira } N1 } z1 } { actu aliz ar o va lo r d e z2 } { retirar o k -ésim o elem ento d e {a ctu aliza r o valor d e {ac tu a lizar a cap a cid ad e res id u a l} { ve ri… ca se a so lu çã o p erten ce à re g iã o } {m elh o rar o valor d e f(x)e a ctu a liz a va lo r d e f min } Procedimento de obtenção de solução na região de interesse No …nal da aplicação deste procedimento pode acontecer que nenhuma solução tenha sido encontrada, devido à natureza heurística ou à inexistência de uma solução inteira admissível na região. Neste caso, consideramos ¸1 z1min + ¸2 z2min como valor mínimo teórico para f (x) na região de interesse. Exemplo 4 (Continuação do Exemplo 3) Fase 2: Obtenção de um limite inferior para f (x) na região de interesse. Consideremos a solução não inteira obtida no …nal da fase 1: x¤ =(100101111 (0; 3529)). 37 (a) Arredondando esta solução, obtemos xb = (10 0 1 0 1 1 1 1 0), que corresponde ao ponto z(b x) =(392; 333), não pertencente à região de…nida. Vamos aplicar o procedimento heurístico, tendo em conta que os conjuntos N0 e N1 serão ordenados segundo valores crescentes do critério z2 , uma vez que é este o critério cujo valor deve aumentar de modo a obtermos uma solução admissível na região. N0 = f2; 3; 5; 10g, N1 = f1; 4; 6; 7; 8; 9g. i. Ordenando os conjuntos obtidos, temos N0 = f5; 3; 2; 10g, N1 = f4; 8; 6; 7; 9; 1g. ii. Reconstruamos estes conjuntos, com informação relativa ao valor dos itens nos critérios e o seu peso: j c1 c2 w x10 6 55 68 N0 x2 26 37 84 x3 32 32 66 x5 48 30 77 k c1 c2 w x4 70 91 32 x8 89 67 12 N1 x6 75 56 73 x7 42 55 60 x9 48 41 12 x1 68 : 23 58 Passo2: j = 1, k = 1; 55 > 91 falso; 55 > 67 falso; 55 > 56 falso; 55 > 55 falso; 55 > 41verdade, 68 · 24 + 12 falso; 55 > 23 verdade, 68 · 24 + 58 verdade x1 = 0 ; N1 = f4; 8; 6; 7; 9g; z1 = 330; z2 = 365; w = 14; (k = 6); xc 10 = 1, c min z1 ¸ z1 = 300 verdade; z2 ¸ z2min = 350 verdade; f min = 0; 5 £ 330 + 0; 5 £ 350 = 347; 5; j = 2;k = 1; 37 > 91 falso; 37 > 67 falso; 37 > 56 falso;37 > 55 falso; 37 > 41 falso; j = 3;k = 1; 32 > 91 falso; 32 > 67 falso; 32 > 56 falso; 32 > 55 falso; 32 > 41 falso; j = 4;k = 1; 30 > 91 falso; 30 > 67 falso; 30 > 56 falso; 30 > 55 falso; 30 > 41 falso. Solução obtida: (330; 365): Com esta solução, f (x) = 347; 5, que é um limite inferior para f (x) na região de interesse de…nida. 2.2.3.3 Redução da dimensão do problema Nesta fase reduzimos a dimensão do problema. Esta redução vai efectuar-se com base na proposição abaixo, que relaciona os limites superior e inferior conhecidos, e os preços reduzidos das variáveis não básicas. Proposição 1 (Nemhauser e Wolsey, 1988) Se xj é uma variável não básica e está no seu limite inferior (superior) na solução óptima, x¤ , do problema relaxado e f(x¤ ) + cj · f (b x) (f (x¤ ) ¡ cj · f(b x)), então existe uma solução óptima para o problema inteiro correspondente, com xj no seu limite inferior (superior). Em resumo, temos que: a) se x¤j = 0 e f(x¤ ) + cj · f(b x), então xj pode ser de…nitivamente …xada a zero; 38 b) se x¤j = 1 e f (x¤ ) ¡ cj · f(b x), então xj pode ser de…nitivamente …xada a um. Vejamos como obter os preços reduzidos. Com base na resolução do problema (21) e caso a sua solução óptima tenha imagem na região seleccionada, o preço reduzido de cada uma das variáveis não básicas (j = c 1; :::; f ¡ 1; f + 1; :::; n) corresponde a cj = cj ¡ wj wff ; j = 1; :::; f ¡ 1; f + 1; :::; n, o que não é mais do que a diferença entre o valor do item cj e a sua valorização segundo o item c fraccionário: wj wff . Quando a imagem de x¤ não pertence à região, o cálculo dos preços reduzidos requer o conhecimento da base associada à solução óptima. Notemos que, na sucessão de pontos extremos e…cientes adjacentes, e considerando ¡ ¢ ¤ min os dois últimos pontos determinados, a restrição zi (x) ¸ zi zi (x ) ¡ si = zimin passa de uma situação de não satisfação (si < 0), para uma situação de satisfação (si ¸ 0). Designemos por xf1 e por xf2 as soluções, no espaço de decisão, correspondentes aos dois últimos pontos determinados e ainda, por B1 (xf1 ) e B2 (xf2 ) as bases correntes associadas às soluções xf1 e xf2 , respectivamente. Se considerarmos o sistema inicial com a inclusão desta restrição, veri…camos que aquelas bases são compostas por B1 (xf1 ; ¡si ) e B2 (xf2 ; si ). Por conseguinte, a base óptima adjacente, do problema com as restrições adicionais, substituirá, na base B2 , si pelo item xf1 , obtendo-se B3 (xf1 ; xf2 ). z2 B2 (xf2, s2) • c 2 x − s 2 = z 2min z 2min B3 (xf1, xf2) •B1 (xf1, -s2) f(x) z1 z1min Figura 11: Mudança de base Conhecida a base B3 , os preços reduzidos são determinados como habitualmente, i.e., cj = cj ¡ cB3 B3¡1 µ wj cij ¶ (28) Uma vez determinados os preços reduzidos, podemos aplicar a proposição acima e …xar o valor de algumas variáveis. 39 Exemplo 5 (Continuação do Exemplo 3) Fase 3: Redução da dimensão do problema. Comecemos por determinar os preços reduzidos. Recordemos que (397; 19; 350) é o ponto óptimo do problema relaxado (Fase 2). Neste ponto, x10 e x5 são as variáveis básicas. Logo, temos: ¶ µ ¶ µ ¡6 77 68 77 ¡1 439 2195 . e B3 = B3 = ¡68 11 55 30 439 2195 (a) Os preços reduzidos, para as variáveis não básicas, de acordo com (28), são: ¡ c1 = 45; 5 ¡ c2 c3 c4 c6 c7 c8 c10 = ¡10; 455 = ¡0; 559 = 75; 151 = 32; 336 = 22; 483 = 80; 536 = 43; 445 30; 5; 39 ¢ µ ¡6 439 11 439 77 2195 ¡68 2195 ¶µ 58 23 ¶ = 16; 179 . (b) Utilizando os preços reduzidos obtidos, o limite superior (f(x) · 373; 595) e inferior (f (x) ¸ 347; 5), podemos, então, com base na proposição acima, …xar o valor de todas as variáveis com preço reduzido em módulo, superior à diferença entre os dois limites (373; 595¡347; 5 = 26; 095). Assim, …xamos x4 = 1; x6 = 1; x8 = 1; x9 = 1. (c) O problema original, após redução, é constituído por apenas 6 variáveis e corresponde a: max z1 = 282 + 68x1 + 26x2 + 32x3 + 48x5 + 42x7 + 6x10 max z2 = 255 + 23x1 + 37x2 + 32x3 + 0x5 + 55x7 + 55x10 sujeito a : 58x1 + 84x2 + 66x3 + 77x5 + 60x7 + 68x10 · 142 xi 2 f0; 1g; i = 1; 2; 3; 5; 7; 10: 2.2.3.4 Identi…cação da solução óptima Nesta fase, determinamos a solução óptima do problema (20) depois de reduzido. Utilizamos um procedimento de partição e avaliação sucessivas para resolver o problema reduzido da fase 3, ordenando os itens segundo valores relativos não crescentes, em relação a f (x). No …nal deste processo, será(ão) obtida(s) a(s) solução(ões) não dominada(s) (caso existam) que maximizam f (x) na região de…nida. O procedimento de partição e avaliação sucessivas é de…nido da seguinte forma: 1. Rami…cação Consideremos a variável xk , cujo valor ainda não foi …xado. Seguimos a estratégia de analisar primeiramente a rami…cação xk = 1. 40 Note-se que não se procede à rami…cação xk = 1 se wk > W ¡ item excede a capacidade remanescente). k¡1 P wj xj (o peso do j=1 Também, não se procede à rami…cação xk = 0, se o nodo correspondente, for terminal e xk = 1 conduzir a uma solução admissível. 2. Cálculo de limite Suponhamos que estamos a analisar uma rami…cação de xk . No nodo criado, veri…case que o acréscimo alcançável no valor do i-ésimo critério é limitado por: ( n ) n k X X X 4zik = max cij xj : wj xj · W ¡ wj xj ; 0 · xj · 1; j = k + 1; :::; n j=k+1 j=1 j=k+1 (29) A resolução deste problema pode ser efectuada por aplicação da heurística gulosa. Do mesmo modo, obtemos o acréscimo máximo para a função f (x): 4f k = max ( n X cj xj : j=k+1 n X ) k X wj xj · W ¡ wj xj ; 0 · xj · 1; j = k + 1; :::; n j=1 j=k+1 (30) Na resolução deste problema, determinamos os preços reduzidos, cj , das variáveis livres não básicas, como anteriormente. k P Se para alguma destas variáveis se veri…car jcj j > ( ci xi +4f k )¡f (b x), então, o seu i=1 valor é …xado e criam-se as rami…cações correspondentes ao valor …xado, passando-se a analisar a variável que sucede a xk e que não está …xada. Notemos que, devido à ordenação dos itens, o acréscimo máximo para a função f (x) não se altera, até que se atinja o item crítico. Assim, podemos dispensar a sua determinação enquanto k for inferior ao índice do item crítico. 3. Abandono Um nodo, correspondente à rami…cação da variável xk , é abandonado se veri…car pelo menos uma das seguintes condições: a) Limite para o valor dos critérios, inferior ao limite mínimo especí…cado: k P cij xj + 4zik < zimin , i = 1; 2 (limite para os critérios) ; j=1 b) Limite para o valor de f (x), inferior ao seu melhor limite inferior conhecido: 41 k P cj xj + 4f k < f (b x) , i = 1; 2 (limite para os critérios) ; j=1 c) nodo terminal. Estas condições serão substituídas por outras mais exigentes, que resultam da aplicação do limite U2 , na determinação de 4zik , i = 1; 2 e de 4f k . Esta substituição não acarreta muitos cálculos adicionais e possibilita, potencialmente, o abandono mais precoce de alguns nodos, impedindo que nodos não promissores sejam analisados. Assim, o acréscimo máximo para as funções envolvidas, passa a ser determinado por: fki ¡1 X 4zik = cij xj + max j=k+1 ($ %) (31) % ¹ º) cifk +1 cf ¡1 w ; cfk ¡ (wfk ¡ w) k wfk +1 wfk ¡1 (32) w cif i +1 k wfki +1 % $ ; cif i ¡ (wfki ¡ wi ) k cif i ¡1 k wfki ¡1 e 4f k = fk ¡1 X cj xj + max j=k+1 ($ onde fki e fk representam, respectivamente, o item crítico dos subproblemas ( 4zik = max n X cij xj : j=k+1 ) n X k X wj xj · W ¡ wj xj ; 0 · xj · 1; j = k + 1; :::; n n X ) k X wj xj · W ¡ wj xj ; 0 · xj · 1; j = k + 1; :::; n j=1 j=k+1 (33) e 4f k = max wi = W ¡ w=W¡ à à ( n X cj xj : j=k+1 k P wj xj + j=1 k P wj xj + j=1 j=1 j=k+1 fki ¡1 P wj xj j=k+1 fP k ¡1 wj xj j=k+1 (34) ! ! ;e : 42 Neste cálculo, os itens encontram-se ordenados, sucessivamente, segundo valores relativos não crescentes da função envolvida z1 (x), z2 (x) e f (x), respectivamente. Quando um nodo é abandonado, analisa-se o último nodo criado e não abandonado. Se o nodo abandonado for terminal e não veri…car a) e b), a solução é colocada numa lista de soluções, X e , vazia no início do procedimento. As soluções dominadas são eliminadas. Com a actualização de X e actualizamos também o limite inferior f (b x). Quando todos os nodos forem abandonados o procedimento termina e as soluções em X e são as que maximizam f (x) na região seleccionada. Exemplo 6 (Continuação do Exemplo 3) Fase 4: Identi…cação da solução óptima, uti- lizando um procedimento de partição e avaliação sucessivas. Ao problema reduzido, aplicamos agora o procedimento de partição e avaliação sucessivas. Ordenando os itens cujo valor ainda não foi …xado, segundo valores relativos de f(x) não crescentes, obtemos: x7  x1  x5  x3  x10  x2 . (a) Começamos por construir os ramos x7 = 1 e x1 = 1. O limite para z2 (x) permite abandonar o nodo associado a este ramo. (b) Retrocedemos na árvore e rami…camos x1 = 0. Os limite calculados para z1 ; z2 e f(x) não permitem abandonar o nodo criado. (c) A próxima variável a ser rami…cada é x5 , onde fazemos x5 = 1. Mais uma vez, o valor limite para z2 conduz ao abandono do nodo. (d) Analisa-se a rami…cação x5 = 0. Calculamos os limites para as funções envolvidas, que viabilizam a obtenção de um melhor valor para f(x) na região de…nida. (e) Na rami…cação x3 = 1, o limite para a função z2 , conduz ao abandono do nodo criado. Procedemos à análise da rami…cação x3 = 0. Os limites calculados não impedem a rami…cação da variável x10 . Igual razão leva à rami…cação x2 = 0, já que x2 = 1 não é admissível. O nodo é terminal, tendo-se obtido os valores 330 e 365 para os limites das funções f (x), z1 (x) e z2 (x), respectivamente. A solução associada é colocada na lista X e . (f) Retrocedendo na árvore, analisamos a rami…cação x10 = 0. Os valores limite para f(x) e z2 (x) proíbem a análise das variáveis subsequentes. O nodo 11, correspondente à rami…cação x7 = 0, é o último a ser analisado. O limite para z2 , conduz ao seu abandono. (g) Todos os nodos estão abandonados, pelo que o procedimento termina. (h) X e contém as soluções e…cientes, que maximizam f (x) na região. Neste caso, a solução em X e coincide com a solução obtida com a heurística da segunda fase. 43 (i) No quadro seguinte, encontra-se a informação relativa aos nodos gerados, e na Figura 12 encontra-se a exploração da Nodo V alores observados z1 z2 1 324 310 2 392 333 3 324 310 4 372 340 5 324 310 6 356 342 7 324 310 8 330 365 9 330 365 10 324 310 11 282 285 árvore binária correspondente ao procedimento. Limites Decis~ ao f(x) z1 z2 – 403 371 NA – 403 344 A 358 373 371 NA 358 373 342 A . 355 357 371 NA 355 357 349 A 347 348 365 NA 347 330 365 NA 347 330 365 A 317 348 345 A 356 400 345 A (j) Exempli…quemos o cálculo de alguns destes valores. Por exemplo, no nodo 3, o cálculo dos limites para z1 (x), z2 (x) e f(x) é o que se segue. Capacidade residual: W ¡ (w8 + w9 + w4 + w6 + w7 + w1 + w5 ) = 271 ¡ 247 = 24. Itens com valor não …xado: x3 ; x10 ; x2 . Limite para z1 (x): A ordenação dos itens, de acordo com os valores relativos desta  x2 ¦ x¥10 . x3 corresponde¦ª função, é x3©¥ ao item crítico (w3 = 66 > 24), 0 4z18 = max 24 26 ¡ ¡ (66 24)) 1 = 7, logo lz18 = 392 + 7 = 399. 84 ; (32 Limite para z2 (x): A ordenação dos itens segundo valores relativos nesta função é x10 ¡ x3 ¡ x2 . x10 é o item crítico (w10 = 68 > 24), ¦ ¥ ¦ª ©¥ 0 4z28 = max 24 32 ¡ ¡ ; (55 (68 24)) = 11 , logo lz28 = 333 + 11 = 344. 66 1 Limite para f (x): A ordenação dos itens segundo valores relativos nesta função é . x3 é okitem crítico (w10 = 66o> 24), x3 ¡ x10 ¡ x2nj ¦ ¥ 0 8 4f = max 24 30;5 = 10; 76, logo lf 8 = 362; 5 + 10; 76 = 68 ; (32 ¡ (66 ¡ 24)) 1 373; 26: 44 0 x8=1 0 x9=1 0 x4=1 0 x6=1 0 x7=1 x7=0 1 x1=1 11 x1=0 2 3 x5=1 x5=0 4 5 x3=1 x3=0 6 7 x10=0 x10=1 10 8 x2=0 9 Figura 12: Árvore binária 45 3 Utilização da abordagem interactiva proposta com recurso a um SIAD Nesta secção utilizamos a abordagem interactiva proposta na secção anterior incorporada num sistema interactivo de apoio à decisão que desenvolvemos e implementámos em Delphi 4 da Borland. De referir que este SIAD é totalmente autónomo de outras aplicações ou rotinas de programação linear e/ou inteira. O SIAD é aqui utilizado como instrumento de apoio à decisão num problema da mochila bicritério, simulado, com 250 itens. Não pertence ao âmbito deste texto a descrição de todas as funcionalidades do mesmo, pelo que nos limitamos a apresentar o estritamente relacionado com as opções de interacção concebidas. Começamos por determinar os valores máximos de cada um dos critérios (Figura 13) seleccionando a opção de determinação dos óptimos individuais (cf. secção 2.1.1). Figura 13: Óptimos individuais Com o objectivo de caracterizar a con…guração da fronteira não dominada, solicitamos a geração de um número máximo de 10 soluções não dominadas, preferencialmente dispersas (cf. secção 2.1.2). As soluções obtidas podem ser visualizados na Figura 14. Com base nas soluções obtidas pretendemos conhecer mais soluções numa região considerada de interesse, de…nida por soluções que possuam um valor não inferior a 9.520 unidades, no primeiro critério, e um valor não inferior a 8.200 unidades, no segundo critério (cf. secção 2.2.1). Na Figura 15 constam as soluções que satisfazem os requisitos 46 Figura 14: Subconjunto de soluções suportadas impostos. As soluções (9057, 9661) e (9421, 9420) são utilizadas para de…nir uma região na qual pretendemos conhecer, com maior detalhe, a con…guração da fronteira não dominada. Com este objectivo, optamos por solicitar apenas soluções suportadas na região de…nida. Foram obtidas 7 soluções, conforme ilustramos na Figura 16. Consideramos agora interessante conhecer uma solução na região de…nida pelas soluções (8683, 9824) e (9057, 9661)(cf. secção 2.2.3). Obtivemos a solução (8907, 9734), conforme se visualiza na Figura 17. A solução obtida é considerada interessante pelo que procedemos à inspecção de soluções não dominadas numa vizinhança com raio de 1% relativamente aos valores dos critérios (cf. secção 2.2.2.2). Foi obtido um conjunto considerável de soluções, que se mostram na Figura 18. Estas soluções foram analisadas sequencialmente considerando-se como uma potencial solução de compromisso entre os critérios o ponto (8973, 9698). Averiguou-se ainda a possibilidade de existirem soluções alternativas para esta solução, que não existem conforme se visualiza na Figura 19, pela presença de uma solução única. Consideramos su…cientemente explorada a região de localização de soluções não dominadas e satisfatório o conhecimento das soluções possíveis para o problema, pelo que damos por concluído o processo de interacção com o SIAD. A utilização do SIAD permitiu obter, progressiva e interactivamente, possíveis soluções de compromisso para o problema. Ao longo do processo de interacção, dirigiu-se o processo 47 Figura 15: Introdução de restrições por imposição de níveis mínimos nos critérios Figura 16: Análise de uma região de interesse de…nida por selecção de soluções 48 Figura 17: Per…l de solução Figura 18: Soluções não dominadas num raio de vizinhança 49 Figura 19: Soluções alternativas de busca de soluções, circunscrevendo-o a regiões mais promissoras. O esforço computacional e cognitivo foi melhor aproveitado do que o necessário para analisar o conjunto integral das soluções não dominadas do problema. A título de curiosidade apresentamos o conjunto completo das soluções não dominadas do problema, que é composto por 587 soluções, 39 suportadas e 548 não suportadas. 50 Figura 20: Conjunto de soluções não dominadas 4 Conclusão Neste trabalho abordámos o problema da mochila bicritério numa perspectiva interactiva. Esta abordagem estruturou-se segundo níveis de informação solicitados pelo AD: informação de nível global e informação de nível local. Em cada um destes níveis facultámos diversas opções interactivas de modo a ‡exibilizar o processo de decisão. Nas opções interactivas de informação de nível local, o AD de…ne uma subregião que pretende analisar. Nesta região pode obter todas as soluções não dominadas ou apenas aquela que optimiza uma função linear especí…ca. Em ambos os casos o problema matemático subjacente passa a incluir duas restrições adicionais o que destrói a estrutura, muito particular, do problema original. A resolução deste problema, não como um caso genérico de programação inteira, ainda não tinha sido abordado na literatura. No sentido de obtermos todas as soluções na região, adaptámos o método gerador de Visée et al. (1998), e desenvolvemos um procedimento dividido em quatro fases para determinar a solução que maximiza uma certa função naquela região. O estudo do modo como duas restrições adicionais podem ser integradas no problema da mochila, utilizando as propriedades bem conhecidas do problema original, constituiu uma das questões centrais deste trabalho. As opções interactivas foram incorporadas num SIAD, desenvolvido em Delphi 4, totalmente autónomo de outras aplicações ou rotinas de programação linear e/ou inteira. Inúmeros melhoramentos devem contudo ser considerados no futuro, nomeadamente ao 51 nível da sua arquitectura e da optimização de algumas rotinas de cálculo utilizadas. É nosso objectivo desenvolver a aplicação, incorporando novos procedimentos de cálculo de soluções não dominadas. Como investigação futura apresentamos o estudo do problema com mais do que dois critérios. Re…ra-se que esta pista não é inédita se a entendermos no âmbito de desenvolvimento de métodos geradores. Contudo, estamos particularmente interessados no caso de aproximações interactivas. Também, importa alargar as opções interactivas, possibilitando a obtenção de soluções por minimização de uma distância a pontos de referência especi…cados. Habitualmente, o conjunto das soluções não dominadas é identi…cado por comparação das soluções obtidas, armazenadas numa única lista, retendo apenas as que são não dominadas por outra solução. Se este modo de proceder é particularmente simples no caso bicritério, a sua extensão requer a utilização de estruturas de dados mais complexas e métodos mais e…cientes. 52 References [1] Bazaraa, M., Jarvis, J., Sherali, H. (1992) Linear Programming and Network Flows, 2nd edition, John Wiley & Sons. [2] Captivo, M., Clímaco, J., Figueira, J., Martins, E., Santos, J.L. (2003) ”Solving Multiple Criteria 0-1 Knapsack Problems Using a Labeling Algorithm”, Computers & Operations Research. (a aparecer) [3] Ehrgott, M., Gandibleux, X. (2002) Multiobjective Combinatorial Optimization Theory, Methodology and Applications, in Multiple Criteria Optimization: State of the art annotathed bibliographic surveys, Kluwer Academic Publishers.pp. 369-444. [4] Ferreira, C., Santos, B., Captivo, M., Clímaco, J., Silva, Carlos C. (1996) ”Multiobjective Location of unwelcome or central facilities involving environmental aspects: a prototype of a decision support system”, Belgium Journal of Operations Research, Statistics and Computer Science, 36, pp. 159-172.. [5] Ferreira, C., Clímaco, J., Paixão, J. (1994) ”The location-covering problem: a bicriterion interactive approach”, Investigación Operativa, Vol. 4 No 2, pp. 119-140. [6] Kwark, W., Lee, H., Lee, C. (1996) ”Capital Budgeting With Multiple Criteria and Multiple Decision Makers”, Review of Quantitative Finance and Acounting, 7, pp. 97-112. [7] Martello, S., Toth, P. (1990) Knapsack Problems - Algorithms and computer implementation, John Wiley & Sons, Inc. [8] Nash, S., Sofer, A. (1996) Linear and Nonlinear Programming, Mcgraw-Hill International Editions. [9] Nemhauser, G., Wolsey, L. (1988) Integer and Combinatorial Optimization, John Wiley & Sons, Inc. [10] Pissinger, D., Toth, P. (1998) Knapsak Problems in Handbook of Combinatorial Optimization, Du, D-Z., Pardalos, P. (Eds), Vol 1, Kluwer Academic Publishers. [11] Rosenblatt, M., Sinnuany-Stern, Z. (1989) ”Generating the Discrete E¢ciente Frontier to the Capital Budgeting Problem”, Operations Research, vol. 37, N.o 3, pp.384394. [12] Roy, B. (1996) Multicriteria Methodology for Decision Aiding, Kluwer Academic Publishers. [13] Steuer, R. (1986) Multiple Criteria Optimization, Theory, Computation and Application, John Wiley & Son, Inc. 53 [14] Teng, J., Tzeng G. (1996) ”A Multiobjective Programming Approach for Selecting Non-independent Transportation Investement Alternatives”, Transportation Research, B. Vol. 30, N.o 4, pp. 291-307. [15] Visée, M., Teghem, J., Ulungu, E.L. (1998) ”Two-Phases method and branch and bound procedures to solve the bi-objective knapasack problem”, Journal of Global Optimization, 12, pp. 139-155. [16] Wolsey, L. (1998) Integer Programming, John Wiley & Sons, Inc. 54 A Apêndice: Método simplex com variáveis limitadas Consideremos o problema linear na forma4 max z = cT x sujeito a : Ax = b 0·x·u (35) (36) onde u > 0 e A é uma matriz m £ n, com característica m, c e x são vectores n £ 1 . As inequações (36) traduzem os limites superiores e inferiores das variáveis x. Uma solução x diz-se solução básica admissível se veri…car as condições do problema linear e se as colunas da matriz A, correspondentes às componentes de x que estão estritamente compreendidas entre os seus limites, forem linearmente independentes. Se alguma das variáveis básicas assumir o valor 0 ou o seu limite superior, u, então a solução diz-se básica admissível degenerada, caso contrário, diz-se solução básica admissível não degenerada. As variáveis não básicas podem assumir ou o valor 0 ou o valor do limite superior, u. Suponhamos que se dispõe de uma base admissível inicial - base corrente - (utilizandose ou o método das duas fases ou o método do M-grande) e que se designa por B (matriz invertível m £ m): Associada a esta base é possível identifcar m variáveis básicas, xB ; e n ¡ m variáveis não básicas, xN . O sistema Ax = b, pode então escrever-se como BxB + NxN = b. Isolando xB ; obtemos xB = B ¡1 b ¡ B ¡1 N xN (37) Façamos bb = B ¡1 b ¡ B ¡1 N xN : A função objectivo pode agora ser reescrita do seguinte modo ¡ ¢ z = cTB xB + cTN xN = cTB B ¡1 b ¡ B ¡1 NxN + cTN xN (38) Representando cTB B ¡1 por y T e designando por G o conjunto dos índices das variáveis não básicas, a expressão (38) vem, X ¢ ¡ (39) z = y T b ¡ y T N ¡ cTN xN = y T b + cbj xj j2G com cbj = cj ¡ y T Aj (preços reduzidos). O teste de optimalidade da solução baseia-se, como habitualmente, no sinal dos preços reduzidos das variáveis não básicas. Contudo, como as variáveis não básicas podem assumir valores diferentes de zero, este é agora mais complicado. Assim, consideremos a variável não básica xj e as seguintes situações: 4 A descrição que fazemos do método simplex com variáveis limitadas segue as referências Nash e Sofer (1996) e Bazaraa et al. (1990). 55 1. se xj for igual a zero (limite inferior), então, se cbj · 0, o valor da função objectivo não melhora com a sua entrada na base; 2. se xj for igual a uj (limite superior), então, se cbj ¸ 0, o valor da função objectivo não melhora com a sua entrada na base. Se estas condições não forem veri…cadas para todas as variáveis não básicas, então a solução não é óptima. Suponhamos então que o teste de optimalidade da solução acima falha na variável xt , sendo, portanto, uma candidata a entrar na base. No quadro simplex, a coluna associada a esta variável é ct = B ¡1 At A (40) A determinação da variável que deixa a base é também mais complicada do que habitualmente. Consideremos as diferentes situações que podem ocorrer: 1. a variável xt pode mover-se de um limite para o outro, i.e., se está no limite inferior passa para o superior ou se está no limite superior passa para o limite inferior; 2. uma variável básica pode aumentar o seu valor, atingindo o seu limite superior, e deixar a base; 3. uma variável básica pode diminuir o seu valor, atingindo o seu limite inferior, e deixar a base. Admitamos que a variável xt é alterada no valor de µ: Atendendo à expressão (37) o valor das variáveis básicas passa a ser: xB = B ¡1 b ¡ B ¡1 N(xN + µet ) (41) onde et é um vector (n ¡ m) £ 1 com valor 1 na linha correspondente à variável xt e com valor 0 nas restantes posições. Esta expressão pode ainda simpli…car-se, reduzindo-se a: ct xB = bb ¡ µA (42) Como o valor de xB deve pertencer ao intervalo [0; uB ] (uB representa o vector com os limites superiores das variáveis xB ) sob pena da solução não ser admissível, o valor que µ pode assumir está portanto limitado. Assim, para cada uma das m variáveis básicas devem veri…car-se as seguintes condições: ( bbi ¡ µc ait · ui (43) b bi ¡ µc ait ¸ 0 c sendo ac it o elemento i da coluna At . 56 Comecemos por considerar o caso da variável não básica xt estar no seu limite inferior (µ > 0): Se ac it > 0 a veri…cação das condições (43) impõe que 8 u ¡ bbi > > < µ¸ i ¡c ait (44) b > b i > : µ· ac it Visto que ui ¡ bbi · 0; ¡c ait µ · min i=1;:::;m ( bbi ac it ) (45) Do mesmo modo, se ac it < 0 a veri…cação das condições (43) impõe que 8 u ¡ bbi > > < µ· i ¡c ait b > b > : µ¸ i ac it Porque bbi · 0; ac it µ · min i=1;:::;m ( ui ¡ bbi ¡c ait ) (46) (47) Vejamos agora o caso da variável não básica xt estar no seu limite superior (µ < 0): Se ac it > 0 a veri…cação das condições (43) impõe que 8 u ¡ bbi > > < µ¸ i ¡c ait (48) b > bi > : µ· ac it Mas, visto que bbi ¸ 0; ac it µ ¸ max i=1;:::;m ( 57 ui ¡ bbi ¡c ait ) (49) De modo análogo, se ac it < 0 a veri…cação das condições (43) impõe que 8 u ¡ bbi > > < µ· i ¡c ait b > b > : µ¸ i ac it Contudo, uma vez que ui ¡ bbi ¸ 0; ¡c ait µ ¸ max i=1;:::;m ( bbi ac it ) (50) (51) Os passos do método simplex com variáveis limitadas podem então ser sumariados como segue. Passo 1 Teste de optimalidade. Se para todas as variáveis não básicas se veri…car: (a) xj = 0 e cbj · 0; (b) xj = uj e cbj ¸ 0 então a base actual é óptima. Caso contrário, selecciona-se, como candidata a entrar na base, a variável xt que mais viola o teste de optimalidade. Passo 2 Cálculo da variação do valor de xt . Determinar o valor mínimo de µ nas hipóteses seguintes: (a) µ = ut ; k = t; ¯ ¯ ) ) ( bbi ¯¯ ui ¡ bbi ¯¯ (b) se xt = 0, µ = min ;k é o ¯ ac ¯ ac it > 0 ; µ = min it < 0 i=1;:::;m i=1;:::;m ac ¡c ait ¯ it ¯ índice associado à determinação de µ: ¯ ) ) ( ¯ ( ¯ b b bi ¯ ui ¡ bi ¯¯ (c) se xt = ut , µ = max ¯ ac ¯ ac it < 0 ; µ = max it > 0 ; k é o i=1;:::;m i=1;:::;m ac ¡c ait ¯ it ¯ índice associado à determinação de µ: ( A variável que sai da base é xt ; no primeiro caso, e é a k-ésima variável básica, nos restantes casos. Passo 3 Pivotação: Alterar a base B e o vector das variáveis básicas xB . Se xt corresponder simultaneamente à variável que deixa a base e entra na base, então B não sofre alteração. 58 O valor das variáveis básicas e não básicas, na base corrente, passa a ser, respectivact e xN ¡ µet se xt = ut ou xB + µA ct e xN + µet se xt = 0. O novo valor da mente, xB ¡ µA variável que entra na base passa a xt ¡ µ se xt = ut ou xt + µ se xt = 0: No problema da mochila, por apenas possuir uma restrição e atendendo aos pressupostos assumidos para os seus coe…cientes, os passos do método simplex descrito são bastante mais simples, dispensando-se mesmo a veri…cação de algumas condições. Relembremos a estrutura do problema linear deste problema. max z = cT x sujeito a : wx + s = W 0 · x · 1; s ¸ 0 Neste problema a base corrente é uma matriz 1 £ 1, sendo imediato o cálculo da sua matriz inversa (inverso do elemento da matriz). A variável candidata a deixar a base é obviamente única. A variável candidata a entrar na base é a que mais viola as condições do teste de optimalidade. A maior simpli…cação do método, neste problema particular, veri…ca-se no Passo 2, que podemos resumir a: Passo 2 Cálculo da variação do valor de xt : Determinar o valor mínimo de µ nas hipóteses seguintes: (a) µ = 1 (limite superior é 1); k = t; bb1 (b) se xt = 0, µ = (c a1t é sempre positivo); k = 1; ac 1t 1 ¡ bb1 (c) se xt = 1, µ = ; k = 1: ¡c a1t A variável que sai da base é a xt ; no primeiro caso, e é a variável básica, nos restantes casos: wt Designando por xf a variável básica, ac ; e porque bb1 = xf ; podemos ainda 1t = wf wf wf se xt = 0 e µ = ¡(1 ¡ xf ) se xt = 1: escrever: µ = xf wt wt ct = xf ¡ xf wf wt = 0; se xt = 0 ou O novo valor da variável xf passa a ser xf ¡ µA wt wf w w f t ct = xf + (1 ¡ xf ) = 1; se xt = 1: xf ¡ µ A wt wf ½ ½ ¾ ¾ wf wf O valor da variável que entra na base é min 1; xf ; se xt = 0 ou min 1; (1 ¡ xf ) ; wt wt se xt = 1: 59