Apostila de Pesquisa Operacional I - 57pg

Download Apostila de Pesquisa Operacional I - 57pg

Post on 01-Jul-2015

378 views

Category:

Documents

4 download

TRANSCRIPT

APOSTILA DO CURSOPESQUISA OPERACIONALProf. Erico Fagundes Anicet Lisboa, M. Sc. erico@ericolisboa.eng.brVerso digital disponvel na internet http://www.ericolisboa.eng.brRIO DE JANEIRO, RJ - BRASIL FEVEREIRO DE 2002iiNDICE1. INTRODUO PESQUISA OPERACIONAL _________________________ 11.1 O Desenvolvimento da Pesquisa Operacional _________________________________________ 1 1.2 Modelagem ___________________________________________________________________ 1 1.3 Estrutura de Modelos Matemticos_________________________________________________ 2 1.4 Tcnicas Matemticas em Pesquisa Operacional_______________________________________ 2 1.5 Fases do Estudo de Pesquisa Operacional ____________________________________________ 31.5.1 Definio do problema ___________________________________________________________________ 3 1.5.2 Construo do modelo ___________________________________________________________________ 3 1.5.3 Soluo do modelo _____________________________________________________________________ 3 1.5.4 Validao do modelo ____________________________________________________________________ 3 1.5.5 Implementao da soluo________________________________________________________________ 42. LGEBRA LINEAR ______________________________________________ 52.1 Vetores ______________________________________________________________________ 52.1.1 Soma e subtrao de vetores ______________________________________________________________ 5 2.1.2 Vetores LD e LI________________________________________________________________________ 52.2 Matrizes _____________________________________________________________________ 62.2.1 Soma e subtrao de matrizes _____________________________________________________________ 6 2.2.2 Produto de matrizes _____________________________________________________________________ 7 2.2.3 Matrizes especiais ______________________________________________________________________ 8 2.2.4 A inversa de uma matriz _________________________________________________________________ 82.3 Sistemas de Equaes Lineares ____________________________________________________ 92.3.1 Mtodo algbrico por adio _____________________________________________________________ 10 2.3.2 Mtodo algbrico por substituio _________________________________________________________ 10 2.3.3 Mtodo de Gauss-Jordan ________________________________________________________________ 113. PROGRAMAO LINEAR________________________________________ 123.1 Definio____________________________________________________________________ 12 3.2 Formulao de Modelos ________________________________________________________ 12 3.3 Exemplo ____________________________________________________________________ 13 3.4 Soluo Grfica_______________________________________________________________ 13iii4. O MTODO SIMPLEX ___________________________________________ 154.1 Exemplo de um Problema _______________________________________________________ 15 4.2 Desenvolvimento do Mtodo Simplex ______________________________________________ 18 4.3 Procedimento do Mtodo Simplex (Problemas de Maximizao) _________________________ 21 4.4 Outro Exemplo _______________________________________________________________ 21 4.5 Aspectos Matemticos Singulares _________________________________________________ 234.5.1 Minimizao de uma funo _____________________________________________________________ 23 4.5.2 Restries de limite inferior () ___________________________________________________________ 23 4.5.3 Restries de igualdade _________________________________________________________________ 23 4.5.4 Varivel irrestrita em sinal_______________________________________________________________ 234.5 Mtodo Simplex em Duas Fases __________________________________________________ 245. A FERRAMENTA SOLVER (EXCEL) _______________________________ 275.1 Definindo e Resolvendo um Problema______________________________________________ 27 5.2 Instalando o Solver____________________________________________________________ 306. O PROBLEMA DE TRANSPORTE__________________________________ 316.1 Um Exemplo de Problema de Transporte ___________________________________________ 31 6.2 Problema Clssico de Transporte _________________________________________________ 32 6.3 Mtodo de Stepping-Stone ______________________________________________________ 336.3.1 Soluo inicial________________________________________________________________________ 33 6.3.2 Processo iterativo______________________________________________________________________ 336.4 Dificuldades do Problema de Transporte ___________________________________________ 356.4.1 No balanceamento entre oferta e demanda __________________________________________________ 35 6.4.2 Solues mltiplas _____________________________________________________________________ 357. ANLISE DE REDES____________________________________________ 367.1 Conceitos Bsicos em Teoria dos Grafos ____________________________________________ 36 7.2 Problema de Fluxo Mximo _____________________________________________________ 37 7.3 Problema de Caminho Mnimo ___________________________________________________ 398. TEORIA DOS JOGOS____________________________________________ 448.1 Introduo __________________________________________________________________ 44 8.2 Jogos de Dois Jogadores e Soma Zero ______________________________________________ 45 8.3 Estratgias Mistas _____________________________________________________________ 469. RISCO E INCERTEZA ___________________________________________ 489.1 Conceito de Risco _____________________________________________________________ 48iv9.2 Critrios para Deciso sob Condies de Incerteza ____________________________________ 489.2.1 Critrio Maximin (ou Minimax) ___________________________________________________________ 49 9.2.2 Critrio Maximax (ou Minimin)___________________________________________________________ 50 9.2.3 Critrio de Hurwicz____________________________________________________________________ 50 9.2.4 Critrio de Savage _____________________________________________________________________ 51 9.2.5 Comparao Final _____________________________________________________________________ 52BIBLIOGRAFIA__________________________________________________ 531 - Introduo pesquisa operacionalPesquisa OperacionalCAPTULO 1INTRODUO PESQUISA OPERACIONAL11.1 O Desenvolvimento da Pesquisa Operacional Durante a Segunda Guerra Mundial, um grupo de cientistas foi convocado na Inglaterra para estudar problemas de estratgia e de ttica associados com a defesa do pas. O objetivo era decidir sobre a utilizao mais eficaz de recursos militares limitados. A convocao deste grupo marcou a primeira atividade formal de pesquisa operacional. Os resultados positivos conseguidos pela equipe de pesquisa operacional inglesa motivaram os Estados Unidos a iniciarem atividades semelhantes. Apesar de ser creditada Inglaterra a origem da Pesquisa Operacional, sua propagao deve-se principalmente equipe de cientistas liderada por George B. Dantzig, dos Estados Unidos, convocada durante a Segunda Guerra Mundial. Ao resultado deste esforo de pesquisa, concludo em 1947, deu-se o nome de Mtodo Simplex. Com o fim da guerra, a utilizao de tcnicas de pesquisa operacional atraiu o interesse de diversas outras reas. A natureza dos problemas encontrados bastante abrangente e complexa, exigindo portanto uma abordagem que permita reconhecer os mltiplos aspectos envolvidos. Uma caracterstica importante da pesquisa operacional e que facilita o processo de anlise e de deciso a utilizao de modelos. Eles permitem a experimentao da soluo proposta. Isto significa que uma deciso pode ser mais bem avaliada e testada antes de ser efetivamente implementada. A economia obtida e a experincia adquirida pela experimentao justificam a utilizao da Pesquisa Operacional. Com o aumento da velocidade de processamento e quantidade de memria dos computadores atuais, houve um grande progresso na Pesquisa Operacional. Este progresso devido tambm larga utilizao de microcomputadores, que se tornaram unidades isoladas dentro de empresas. Isso faz com que os modelos desenvolvido pelos profissionais de Pesquisa Operacional sejam mais rpidos e versteis, alm de serem tambm interativos, possibilitando a participao do usurio ao longo do processo de clculo. 1.2 Modelagem Um modelo uma representao de um sistema real, que pode j existir ou ser um projeto aguardando execuo. No primeiro caso, o modelo pretende reproduzir o funcionamento do sistema, de modo a aumentar sua produtividade. No segundo caso, o modelo utilizado para definir a estrutura ideal do sistema. A confiabilidade da soluo obtida atravs do modelo depende da validao do modelo na representao do sistema real. A validao do modelo a confirmao de que ele realmente representa o sistema real. A diferena entre a soluo real e a soluo proposta pelo modelo depende diretamente da preciso do modelo em descrever o comportamento original do sistema. Um problema simples pode ser representado por modelos tambm simples e de fcil soluo. J problemas mais complexos requerem modelos mais elaborados, cuja soluo pode vir a ser bastante complicada.Prof. Erico Lisboa1http://www.ericolisboa.eng.br1 - Introduo pesquisa operacionalPesquisa Operacional1.3 Estrutura de Modelos Matemticos Em um modelo matemtico, so includos trs conjuntos principais de elementos: (1) variveis de deciso e parmetros: variveis de deciso so as incgnitas a serem determinadas pela soluo do modelo. Parmetros so valores fixos no problema; (2) restries: de modo a levar em conta as limitaes fsicas do sistema, o modelo deve incluir restries que limitam as variveis de deciso a seus valores possveis (ou viveis); (3) funo objetivo: uma funo matemtica que define a qualidade da soluo em funo das variveis de deciso. Para melhor ilustrar ao conjuntos acima, considere o seguinte exemplo: "Uma emp resa de comida canina produz dois tipos de raes: Tobi e Rex. Para a manufatura das raes so utilizados cereais e carne. Sabe-se que: a rao Tobi utiliza 5 kg de cereais e 1 kg de carne, e a rao Rex utiliza 4 kg de carne e 2 kg de cereais; o pacote de rao Tobi custa $ 20 e o pacote de rao Rex custa $ 30; o kg de carne custa $ 4 e o kg de cereais custa $ 1; esto disponveis por ms 10 000 kg de carne e 30 000 kg de cereais. Deseja-se saber qual a quantidade de cada rao a produzir de modo a maximizar o lucro." Neste problema as variveis de deciso so as quantidades de rao de cada tipo a serem produzidas. Os parmetros fornecidos so os preos unitrios de compra e venda, alm das quantidades de carne e cereais utilizadas em cada tipo de rao. As restries so os limites de carne e cereais e a funo objetivo uma funo matemtica que determine o lucro em funo das variveis de deciso e que deve ser maximizada. 1.4 Tcnicas Matemticas em Pesquisa Operacional A formulao do modelo depende diretamente do sistema a ser representado. A funo objetivo e as funes de restries podem ser lineares ou no- lineares. As variveis de deciso podem ser contnuas ou discretas (por exemplo, inteiras) e os parmetros podem ser determinsticos ou probabilsticos. O resultado dessa diversidade de representaes de sistemas o desenvolvimento de diversas tcnicas de otimizao, de modo a resolver cada tipo de modelo existente. Estas tcnicas incluem, principalmente: programao linear, programao inteira, programao dinmica, programao estocstica e programao no- linear. Programao linear utilizada para analisar modelos onde as restries e a funo objetivo so lineares; programao inteira se aplica a modelos que possuem variveis inteiras (ou discretas); programao dinmica utilizada em modelos onde o problema completo pode ser decomposto em subproblemas menores; programao estocstica aplicada a uma classe especial de modelos onde os parmetros so descritos por funes de probabilidade; finalmente, programao no-linear utilizada em modelos contendo funes no- lineares. Uma caracterstica presente em quase todas as tcnicas de programao matemtica que a soluo tima do problema no pode ser obtida em um nico passo, devendo ser obtida iterativamente. escolhida uma soluo inicial (que geralmente no a soluo tima). Um algoritmo especificado para determinar, a partir desta, uma nova soluo, que geralmente superior anterior. Este passo repetido at que a soluo tima seja alcanada (supondo que ela existe).Prof. Erico Lisboa2http://www.ericolisboa.eng.br1 - Introduo pesquisa operacionalPesquisa Operacional1.5 Fases do Estudo de Pesquisa Operacional Um estudo de pesquisa operacional geralmente envolve as seguintes fases: (1) definio do problema; (2) construo do modelo; (3) soluo do modelo; (4) validao do modelo; (5) implementao da soluo. Apesar da seqncia acima no ser rgida, ela indica as principais etapas a serem vencidas. A seguir, apresentado um resumo da cada uma das fases. 1.5.1 Definio do problema A definio do problema baseia-se em trs aspectos principais: descrio exata dos objetivos do estudo; identificao das alternativas de deciso existentes; reconhecimento das limitaes, restries e exigncias do sistema. A descrio dos objetivos uma das atividades mais importantes em todo o processo do estudo, pois a partir dela que o modelo concebido. Da mesma forma, essencial que as alternativas de deciso e as limitaes existentes sejam todas explicitadas, para que as solues obtidas ao final do processo sejam vlidas e aceitveis. 1.5.2 Construo do modelo A escolha apropriada do modelo fundamental para a qualidade da soluo fornecida. Se o modelo elaborado tem a forma de um modelo conhecido, a soluo pode ser obtida atravs de mtodos matemticos convencionais. Por outro lado, se as relaes matemticas so muito complexas, talvez se faa necessria a utilizao de combinaes de metodologias. 1.5.3 Soluo do modelo O objetivo desta fase encontrar uma soluo para o modelo proposto. Ao contrrio das outras fases, que no possuem regras fixas, a soluo do modelo baseada geralmente em tcnicas matemticas existentes. No caso de um modelo matemtico, a soluo obtida pelo algoritmo mais adequado, em termos de rapidez de processamento e preciso da resposta. Isto exige um conhecimento profundo das principais tcnicas existentes. A soluo obtido, neste caso, dita "tima". 1.5.4 Validao do modelo Nessa altura do processo de soluo do problema, necessrio verificar a validade do modelo. Um modelo vlido se, levando-se em conta sua inexatido em representar o sistema, ele for capaz de fornecer uma previso aceitvel do comportamento do sistema. Um mtodo comum para testar a validade do sistema analisar seu desempenho com dados passados do sistema e verificar se ele consegue reproduzir o comportamento que o sistema apresentou.Prof. Erico Lisboa3http://www.ericolisboa.eng.br1 - Introduo pesquisa operacionalPesquisa Operacional importante observar que este processo de validao no se aplica a sistemas inexistentes, ou seja, em projeto. Nesse caso, a validao feita pela verificao da correspondncia entre os resultados obtidos e algum comportamento esperado do novo sistema. 1.5.5 Implementao da soluo Avaliadas as vantagens e a validao da soluo obtida, esta deve ser convertida em regras operacionais. A implementao, por ser uma atividade que altera uma situao existente, uma das etapas crticas do estudo. conveniente que seja controlada pela equipe responsvel, pois, eventualmente, os valores da nova soluo, quando levados prtica, podem demonstrar a necessidade de correes nas relaes funcionais do modelo conjunto dos possveis cursos de ao, exigindo a reformulao do modelo em algumas de suas partes.Prof. Erico Lisboa4http://www.ericolisboa.eng.br2 - lgebra linearPesquisa OperacionalCAPTULO 2LGEBRA LINEAR2Ao longo do curso de pesquisa operacional, conceitos matemticos como matrizes e vetores so largamente utilizados. Este captulo tem como objetivo apresentar uma reviso desses fundamentos matemticos, de modo que o curso possa ser compreendido. 2.1 Vetores Um vetor um conjunto de nmeros, que pode ser escrito como p = (p1, p2, ... , pn). O vetor p um vetor de dimenso n, ou seja, possui n elementos. Vetores so geralmente representadas por letras minsculas em negrito, e seus elementos so geralmente representados por letras minsculas com um subscrito. A letra usada para os elementos normalmente a mesma letra utilizada para o vetor. O subscrito representa o ndice do elemento no vetor. Por exemplo, p2 o segundo elemento do vetor. A notao pi indica o i-simo elemento do vetor. 2.1.1 Soma e subtrao de vetores Dois vetores podem ser adicionados se e somente se eles tiverem a mesma dimenso. Para somar dois vetores, basta somar individualmente cada elemento deles. O vetor resultante ser da mesma dimenso do vetores originais. Simbolicamente, temos que, se r = p + q, ento ri = pi + qi, para todo i. Dados os vetores p = (4, 5, 1, 7) temos que: p + q = (5, 3, 4, 3); no possvel computar p + r, nem q + r, visto que p e q so de 4 dimenso e r de 3. Um vetor pode ser multiplicado por um escalar, multiplicando-se cada elemento do vetor por este escalar. Por exemplo, 2 (1, 3, -2) = (2, 6, -4) Subtrao entre dois vetores equivalente a somar o primeiro com o produto do segundo pelo escalar -1. Ento s - t = s + (-t). Por exemplo. (1, 4, 3) - (0, 2, -1) = (1, 4, 3) + (0, -2, 1) = (1, 2, 4) 2.1.2 Vetores LD e LI Um conjunto de vetores p1, p2, ... , pn, dito linearmente independente (LI) se e somente se, para todo j real, q = (1, -2, 3, -4) r = (1, 5, 4)j =1njpj =0Prof. Erico Lisboa5http://www.ericolisboa.eng.br2 - lgebra linear implica que todo j = 0, onde j so quantidades escalares. SePesquisa Operacionalj =1njpj =0para algum j 0, os vetores so ditos linearmente dependentes (LD). Por exemplo, os vetores p1 = (1, 2) p2 = (2, 4) so linearmente dependentes, j que existe 1 = 2 e 2 = -1 para os quais 1 p1 + 2 p2 = 0. 2.2 Matrizes Uma matriz um conjunto retangular de nmeros, que pode ser escrito como a11 a 21 . A= . . a m1 a12 a 22 . . . a mn . . . . . . . . . a1n a 2n . . . . a mn A matriz A uma matriz de ordem m x n, ou seja, possui m linha e n colunas. Matrizes so geralmente representadas por letras maisculas em negrito, e seus elementos so geralmente representados por letras minsculas com dois subscritos. A letra usada para os elementos normalmente a mesma letra utilizada para a matriz. Os subscritos representam respectivamente a linha e a coluna ocupadas pelo elemento na matriz. Por exemplo, a23 o elemento localizado na segunda linha e na terceira coluna da matriz. A notao aij indica o elemento localizado na i-sima linha e na j-sima coluna da matriz. Duas matrizes A e B so iguais se aij = bij para qualquer i e j. Para isso, necessrio que as matrizes A e B sejam de mesma ordem, ou seja, tenham o mesmo nmero de linhas e o mesmo nmero de colunas. 2.2.1 Soma e subtrao de matrizes Duas matrizes podem ser adicionadas se e somente se elas forem da mesma ordem. Para somar duas matrizes, basta somar individualmente cada elemento delas. A matriz resultante ser da mesma ordem das matrizes originais. Simbolicamente, temos que, se C = A + B, ento cij = aij + bij, para todo i e j. Dadas as matrizes 4 A= 5 1 4 C= 5 1 5 1 7 2 0 1 3 2 4 5 1 7 2 0 1 3 2 4 1 2 3 4 B = 2 1 2 0 4 0 1 5 1 5 4 D = 2 7 0 2 1 3 Prof. Erico Lisboa6http://www.ericolisboa.eng.br2 - lgebra linearPesquisa Operacionaltemos que: as matrizes A e C so iguais; 5 3 4 3 A + B = 7 3 2 1 ; 3 3 3 1 no possvel computar A + D, nem B + D, visto que A e B so 3 x 4 e D 3 x 3. Uma matriz pode ser multiplicada por um escalar, multiplicando-se cada elemento da matriz por este escalar. Por exemplo, 1 3 2 6 2 2 0 = 4 0 . Subtrao entre duas matrizes equivalente a somar a primeira com o produto da segunda pelo escalar -1. Ento E - F = E + (-F). Por exemplo. 1 4 0 2 1 4 0 2 1 2 2 0 1 1 = 2 0 + 1 1 = 3 1 . 2.2.2 Produto de matrizes O produto de duas matrizes somente pode ser efetuado se o nmero de colunas da matriz esquerda for igual ao nmero de linhas da matriz direita. O produto de matrizes , em geral, no comutativo, ou seja, dadas duas matrizes A e B e seu produto, AB, o produto BA pode no existir e, se existe, pode no ser igual a AB. O produto de duas matrizes tem o nmero de linhas da matriz esquerda e o nmero de colunas da matriz direita. Ou seja, sendo C = AB, se A m x n e B n x p, C m x p. Os elementos da matriz resultante so calculados atravs do somatrio dos produtos de elementos das duas matrizes. Especificamente, cij calculado por ai1 b1j + ai2 b2j + ... + ain bnj, onde n o nmero de colunas de A e de linhas de B. Exemplos: 1 2 1 A= 2 1 3 4 3 1 AB = 7 7 10 1 2 1 A= 2 1 3 2 3 AB = 4 6 1 1 0 B = 2 1 1 1 2 3 (BA no existe) 1 2 B = 1 1 1 3 3 0 7 BA = 1 1 4 7 5 8 1.2.Prof. Erico Lisboa7http://www.ericolisboa.eng.br2 - lgebra linearPesquisa OperacionalNote que no primeiro exemplo existe apenas o produto AB, no sendo possvel efetuar o produto BA. No segundo exemplo, apesar de ser possvel efetuar os dois produtos, as matrizes resultantes no so iguais, no sendo sequer do mesmo tipo. 2.2.3 Matrizes especiais Matriz quadrada Uma matriz quadrada tem o mesmo nmero de linhas e de colunas. A ordem de uma matriz quadrada o seu nmero de linhas (ou de colunas). Exemplos: matrizes 2 x 2 (2 ordem), 3 x 3 (3 ordem), n x n (n-sima ordem). Matriz nula Uma matriz nula possui zeros em todos os seus elementos. 0 0 0 Exemplos: 0 0 0 , 0 0 0 0 0 0 0 0 A matriz nula equivalente ao zero para adio em lgebra escalar, ou seja, se B uma matriz nula de mesmo tipo de A, ento A + B = B + A = A. Matriz identidade Uma matriz identidade, denotada por I, uma matriz quadrada onde sua diagonal principal composta de 1's e todos os outros elementos so zero. 1 1 0 0 0 Exemplos: 0 1 0 , 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A matriz identidade equivalente ao um para produto em lgebra escalar, ou seja, AI = A. Matriz transposta A transposta de uma matriz a matriz obtida pela troca das linhas pelas colunas da matriz original, de modo que a coluna j da matriz original passe a ser a linha j da matriz transposta e a linha i da matriz original passe a ser a coluna i da matriz transposta. A transposta de uma matriz A indicada pela notao AT ou A'. 1 2 1 2 1 T , A = 2 1 Exemplos: A = 2 1 3 1 3 A transposta de uma matriz m x n ser sempre uma matriz n x m.Prof. Erico Lisboa8http://www.ericolisboa.eng.br2 - lgebra linearPesquisa OperacionalMatriz simtrica Uma matriz dita simtrica se ela for igual sua transposta. Ou seja, uma matriz A, simtrica, necessariamente quadrada e aij = aji. 4 5 1 1 1 T Exemplos: A = A = 1 2 , B = B = 5 7 0 1 0 3 TMatriz anti-simtrica Uma matriz dita anti-simtrica se ela for simtrica sua transposta, isto , A = - AT. Ou seja, uma matriz A, simtrica, necessariamente quadrada e aij = - aji. Os elementos da diagonal principal de uma matriz anti-simtrica so necessariamente nulos. 0 5 1 0 1 T , B = B = 5 Exemplos: A = A = 0 0 1 0 1 0 0 T2.2.4 A inversa de uma matriz A operao de diviso no definida em lgebra matricial. Entretanto, para certas matrizes quadradas existe outra (nica) matriz quadrada de mesma ordem que o produto das duas matrizes a matriz identidade. Esta matriz chamada de matriz inversa da primeira matriz. A inversa de uma matriz designada pelo expoente -1. 2 3 2 3 -1 -1 1 Exemplo: A = 1 2 , A = 1 2 , A A = A A = I 2.3 Sistemas de Equaes Lineares Tanto as linhas quanto as colunas de uma matriz podem ser tratadas por vetores. Um vetor pode ser considerado uma matriz de uma nica linha, ou uma nica coluna. Quando um vetor considerado uma matriz com uma nica linha, chamado vetor linha. Quando uma matriz de uma nica coluna, chamado de vetor coluna. Um vetor coluna ser representado da mesma forma que um vetor convencional, ou seja, uma letra minscula em negrito (p, q, r). Quando for o caso de um vetor linha, ele ser representado como um vetor transposto (pT, qT, rT). Suponha o seguinte sistema de equaes lineares: 2 x1 - x2 = 7 - x1 + 4 x2 = 0 Este sistema pode ser representado na forma matricial por 2 1 x1 7 1 4 x = 0 2 ou Ax = bProf. Erico Lisboa9http://www.ericolisboa.eng.br2 - lgebra linearPesquisa Operacional 2 1 onde A = 1 4 , b = 7 ex= 0 x1 . x 2 x = A-1 b.O vetor coluna x o vetor soluo do sistema de equaes e pode ser calculado por Para a soluo de um sistema de equaes lineares, so propostos alguns mtodos. 2.3.1 Mtodo algbrico por adio Pelo menos uma das equaes deve ser multiplicada por um escalar real, de modo que, aps a soma das equaes, apenas uma das variveis seja efetivamente a incgnita do problema. Por exemplo, 4 x1 + 8 x2 = 160 6 x1 + 4 x2 = 120 Multiplicando a segunda equao por (-2), temos 4 x1 + 8 x2 = 160 -12 x1 - 8 x2 = -240 Somando as duas equaes, chega-se a: -8 x1 = -80 Da, calcula-se facilmente o valor de x1 e, substituindo este valor em qualquer uma das equaes acima, calcula-se o valor de x2. x1 = 10 x2 = 15 2.3.2 Mtodo algbrico por substituio Isola-se uma das variveis em uma das equaes, substituindo-se a relao obtida na outra equao. Por exemplo, 4 x1 + 8 x2 = 160 6 x1 + 4 x2 = 120 Manipulando a primeira equao, temos que x1 = Substituindo x1 na segunda equao, 6 (40 - 2 x2) + 4 x2 = 120 Resolvendo a equao algebricamente, e aplicando o valor de x2 encontrado na primeira equao 240 - 12 x2 + 4 x2 = 120 -8 x2 = -120 x2 = 15 x1 = 10 160 8 x 2 = 40 2 x 2 4Prof. Erico Lisboa10http://www.ericolisboa.eng.br2 - lgebra linearPesquisa Operacional2.3.3 Mtodo de Gauss-Jordan Consiste da derivao de um sistema especfico de equaes lineares que tenha a mesma soluo que o sistema original. Este novo sistema dever ter o formato de uma matriz identidade, o que pode ser obtido atravs de combinaes lineares das equaes originais. Assim, pretende-se que 4 x1 + 8 x2 = 160 6 x1 + 4 x2 = 120 1 x1 + 0 x2 = a 0 x1 + 1 x2 = bSo permitidas as seguintes transformaes lineares: Troca de linhas Multiplicao da linha por um escalar Soma de uma linha multiplicada por um escalar a uma outra linha Notao: LnLm LnkLn L n L n+ k L m troca das linhas n e m; multiplicao da linha n pelo escalar k; soma da linha m multiplicada pelo escalar k linha n.Para resolver o exemplo acima, so seguidos os seguintes passos: 1. L1 L1 / 4 (diviso da linha 1 por 4) - transformao do coeficiente de x1 na equao 1 para 1. x1 + 2 x2 = 40 6 x1 + 4 x2 = 120 2. L2 L2 - 6 L1 (subtrao da linha 2 pela linha 1 multiplicada por 6) - transformao do coeficiente de x1 na equao 2 para 0. x1 + 2 x2 = 40 0 x1 - 8 x2 = -120 3. L2 - L2 / 8 (diviso da linha 2 por (-8)) - transformao do coeficiente de x2 na equao 2 para 1. x1 + 2 x2 = 40 0 x1 + 1 x2 = 15 4. L1 L1 - 2 L2 (subtrao da linha 1 pela linha 2 multiplicada por 2) - transformao do coeficiente de x2 na equao 1 para 0. x1 + 0 x2 = 10 0 x1 + 1 x2 = 15 Soluo x1 = 10 x2 = 15Prof. Erico Lisboa11http://www.ericolisboa.eng.br3 - Programao linearPesquisa OperacionalCAPTULO 3PROGRAMAO LINEAR33.1 Definio O problema geral de programao linear utilizado para otimizar (maximizar ou minimizar) uma funo linear de variveis, chamada de "funo objetivo", sujeita a uma srie de equaes ou inequaes lineares, chamadas restries. A formulao do problema a ser resolvido por programao linear segue alguns passos bsicos. deve ser definido o objetivo bsico do problema, ou seja, a otimizao a ser alcanada. Por exemplo, maximizao de lucros, ou de desempenhos, ou de bem-estar social; minimizao de custos, de perdas, de tempo. Tal objetivo ser representado por uma funo objetivo, a ser maximizada ou minimizada; para que esta funo objetivo seja matematicamente especificada, devem ser definidas as variveis de deciso envolvidas. Por exemplo, nmero de mquinas, a rea a ser explorada, as classes de investimento disposio etc. Normalmente, assume-se que todas estas variveis possam assumir somente valores positivos; estas variveis normalmente esto sujeitas a uma srie de restries, normalmente representadas por inequaes. Por exemplo, quantidade de equipamento disponvel, tamanho da rea a ser explorada, capacidade de um reservatrio, exigncias nutricionais para determinada dieta etc. Todas essas expresses, entretanto, devem estar de acordo com a hiptese principal da programao linear, ou seja, todas as relaes entre as variveis deve ser lineares. Isto implica proporcionalidade das quantidades envolvidas. Esta caracterstica de linearidade pode ser interessante no tocante simplificao da estrutura matemtica envolvida, mas prejudicial na representao de fenmenos no lineares (por exemplo, funes de custo tipicamente quadrticas). 3.2 Formulao de Modelos O problema geral de programao linear pode ser definido por Maximizar (ou minimizar) Z = c1 x1 + c 2 x 2 + ... + c n x n sujeito a a11 x1 + a12 x 2 + ... + a1n x n b1 (ou , ou =) a 21 x1 + a 22 x 2 + ... + a 2n x n b2 (ou , ou =) ... a m1 x1 + a m 2 x 2 + ... + a mn x n bm (ou , ou =) x1 , x 2 ,..., x n 0Prof. Erico Lisboa12http://www.ericolisboa.eng.br3 - Programao linearPesquisa Operacional3.3 Exemplo Vamos rescrever aqui o exemplo da seo 1.3. "Uma empresa de comida canina produz dois tipos de raes: Tobi e Rex. Para a manufatura das raes so utilizados cereais e carne. Sabe-se que: a rao Tobi utiliza 5 kg de cereais e 1 kg de carne, e a rao Rex utiliza 4 kg de carne e 2 kg de cereais; o pacote de rao Tobi custa $ 20 e o pacote de rao Rex custa $ 30; o kg de carne custa $ 4 e o kg de cereais custa $ 1; esto disponveis por ms 10 000 kg de carne e 30 000 kg de cereais. Deseja-se saber qual a quantidade de cada rao a produzir de modo a maximizar o lucro." Nosso modelo deseja maximizar o lucro (Z) a partir da quantidade de rao Tobi (x1) e de rao Rex (x2). A Tabela 3.1 apresenta o clculo do lucro unitrio de cada rao. Tabela 3.1 - Clculo do lucro unitrio de cada rao Custo de carne Custo de cereais Custo total Preo Lucro A funo objetivo pode ser escrita como maximizar sujeito a: Z = 11 x1 + 12 x2 1 x1 + 4 x2 10000 5 x1 + 2 x2 30000 x1, x2 0 (restrio de carne) (restrio de cereais) (positividade das variveis) Rao Tobi 1 kg x $ 4 = $ 4 5 kg x $ 1 = $ 5 $9 $ 20 $ 11 Rao Rex 4 kg x $ 4 = $ 16 2 kg x $ 1 = $ 2 $ 18 $ 30 $ 123.4 Soluo Grfica Este problema com apenas duas variveis pode ser resolvido graficamente. Traa-se um grfico com os seus eixos sendo as duas variveis x1 e x2. A partir da, traam-se as retas referentes s restries do problema e delimita-se a regio vivel (Figura 3.1). Encontrada a regio vivel, deve-se traar uma reta com a inclinao da funo objetivo. So ento traadas diversas paralelas a ela no sentido de Z crescente (maximizao da funo), como na Figura 3.2. O ponto timo o ponto onde a reta de maior valor possvel corta a regio vivel (normalmente num vrtice).Prof. Erico Lisboa13http://www.ericolisboa.eng.br3 - Programao linearPesquisa Operacionalx11 x1 + 4 x2 100005 x1 + 2 x2 30000x2Figura 3.1 - Regio vivel para o problema das raes.x1Z = 11 x1 + 12 x2 = 74444,4 (soluo tima)Z = 11 x1 + 12 x2x2Figura 3.2 - Busca da soluo tima para o problema das raes.Prof. Erico Lisboa14http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa OperacionalCAPTULO 4O MTODO SIMPLEX4O Mtodo Simplex caminha pelos vrtices da regio vivel at encontrar uma soluo que no possua solues vizinhas melhores que ela. Esta a soluo tima. A soluo tima pode no existir em dois casos: quando no h nenhuma soluo vivel para o problema, devido a restries incompatveis; ou quando no h mximo (ou mnimo), isto , uma ou mais variveis podem tender a infinito e as restries continuarem sendo satisfeitas, o que fornece um valor sem limites para a funo objetivo. 4.1 Exemplo de um Problema O modelo de programao linear pode ser resolvido por um mtodo de soluo de sistema de equaes lineares. O processo que ser apresentado no exemplo a seguir, retirado de ANDRADE (2000), bastante intuitivo e tem por finalidade apresentar a metodologia utilizada pelo mtodo Simplex. a) Formulao do problema "Uma marcenaria deseja estabelecer uma programao diria de produo. Atualmente, a oficina faz apenas dois produtos: mesa e armrio, ambos de um s modelo. Para efeito de simplificao, vamos considerar que a marcenaria tem limitaes em somente dois recursos: madeira e mo-de-obra, cujas disponibilidades dirias so mostradas na tabela a seguir. Recurso Madeira Mo-de-obra Disponibilidade 12m2 8 H.hO processo de produo tal que, para fazer uma mesa a fbrica gasta 2 m2 de madeira e 2 H.h de mo-de-obra. Para fazer um armrio, a fbrica gasta 3 m2 de madeira e 1 H.h de mo de obra. Alm disso, o fabricante sabe que cada mesa d uma margem de contribuio para o lucro de $ 4 e cada armrio de $ 1. O problema encontrar o programa de produo que maximiza a margem de contribuio total para o lucro." b) Montagem do modelo As variveis de deciso envolvidas no problema so: x1: quantidade a produzir de mesas x2: quantidade a produzir de armrios A funo objetivo : Lucro: z = 4 x1 + x2 Para as restries, a relao lgica existente : Utilizao de recurso DisponibilidadeProf. Erico Lisboa15http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa OperacionalAssim temos Madeira: 2 x1 + 3 x2 12 Mo-de-obra: x1, x2 0 O modelo completo : Maximizar: Sujeito a z = 4 x1 + x2 2 x1 + 3 x2 12 2 x1 + x2 8 x1, x2 0 2 x1 + x2 8c) Soluo do modelo J conhecemos o mtodo de soluo grfica para problemas de programao linear de duas variveis. Ser agora apresentada a soluo por sistemas de equaes lineares. De forma a transformar as restries do problema de programao linear de inequaes em equaes, so introduzidas as variveis de folga. Neste problema, as restries tm a seguinte estrutura lgica: Utilizao de recurso Disponibilidade. Ao se introduzir o conceito de folga de recurso, a inequao pode ser escrita como Utilizao de recurso + Folga = Disponibilidade. Isso significa que Utilizao de recurso < Disponibilidade implica Utilizao de recurso = Disponibilidade implica Folga > 0; Folga = 0.Deste modo, a folga de cada recurso pode ser representada por uma varivel de forma exatamente igual produo de cada produto. Desse modo, vamos chamar: f1: folga de madeira; f2: folga de mo-de-obra. Introduzindo as variveis de folga, o problema a ser resolvido passa a ser: Maximizar: Sujeito a z = 4 x1 + x2 2 x1 + 3 x2 + f1 = 12 2 x1 + x2 + f2 = 8 x1, x2, f1, f2 0 O problema se transformou em encontrar a soluo do sistema de equaes lineares que maximiza o lucro. Como neste caso o nmero de variveis (m = 4) superior ao nmero de equaes (n = 2), o sistema indeterminado, apresentando infinitas solues. No entanto, todas as variveis devem ser maiores ou iguais a zero. Atribuir zero a uma varivel significa no produzir um dos produtos (se a varivel for x1 ou x2) ou utilizar toda aProf. Erico Lisboa16http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacionaldisponibilidade de recursos (se a varivel for f1 ou f2). Desta forma, podemos encontrar solues para o sistema de equaes zerando duas variveis (n - m = 2) e encontrando o valor para as duas variveis restantes. Teremos que resolver ento C 2 = 4! / (2! 2!) = 6 4 sistemas de equaes lineares. Uma vez resolvido um sistema, sero aplicados na funo objetivo os valores encontrados. As variveis zeradas so chamadas variveis no-bsicas. As variveis cujos valores so calculados pelo sistema de equaes so chamadas variveis bsicas. c.1) Variveis no-bsicas: temos as variveis bsicas dando o lucro c.2) Variveis no-bsicas: temos as variveis bsicas dando o lucro c.3) Variveis no-bsicas: temos as variveis bsicas x1 = 0 x2 = 0 f1 = 12 f2 = 8 z=0 x1 = 0 f1 = 0 x2 = 4 f2 = 4 z=4 x1 = 0 f2 = 0 x2 = 8 f1 = -12 como f1 < 0, a soluo obtida INVIVEL. c.4) Variveis no-bsicas: temos as variveis bsicas x2 = 0 f1 = 0 x1 = 6 f2 = -4 como f2 < 0, a soluo obtida INVIVEL.Prof. Erico Lisboa17http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacionalc.5) Variveis no-bsicas: temos as variveis bsicas dando o lucro c.6) Variveis no-bsicas: temos as variveis bsicas dando o lucrox2 = 0 f2 = 0 x1 = 4 f1 = 4 z = 16 f1 = 0 f2 = 0 x1 = 3 x2 = 2 z = 14Comparando todas as solues encontradas por este processo, achamos a soluo tima, ou seja, x1 = 4, x2 = 0, f1 = 4, f2 = 0, dando um lucro z = 16. 4.2 Desenvolvimento do Mtodo Simplex Da forma como foi resolvido o problema anteriormente, necessrio que muitos sistemas de equaes sejam resolvidos e suas solues comparadas. Para problemas reais de programao linear, esta soluo se torna invivel. Desta forma, para termos condies de resolver um problema de programao linear, precisamos de uma sistemtica que nos diga: qual o sistema de equaes que deve ser resolvido; que o prximo sistema a ser resolvido fornecer uma soluo melhor que os anteriores; como identificar um soluo tima, uma vez que a tenhamos encontrado. Essa sistemtica o mtodo Simplex, e as regras que o mtodo utiliza para atender s trs questes acima so, basicamente, os critrios que desenvolvemos nos itens anteriores. Vamos voltar ao nosso pequeno problema, j com as variveis de folga: maximizar sujeito a z = 4 x1 + x2 2 x1 + 3 x2 + f1 = 12 2 x1 + x2 + f2 = 8 x1, x2, f1, f2 0 Vamos montar um quadro para ordenarmos as operaes, colocando nele apenas os coeficientes das variveis. No caso da funo objetivo, vamos realizar a seguinte transformao: de: para: z = 4 x1 + x2 z - 4 x1 - x2 = 0Prof. Erico Lisboa18http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa OperacionalQuadro 1 Base f1 f2 z x1 2 2 -4 x2 3 1 -1 f1 1 0 0 f2 0 1 0 b 12 8 0A ltima coluna corresponde aos termos independentes das equaes, e a ltima linha contm os coeficientes das variveis na funo objetivo. Nessa ltima linha teremos sempre a contribuio que cada varivel d para o lucro total z, por unidade, em cada iterao do processo de soluo. Essa ltima linha ser chamada de funo objetivo transformada, ou funo z-transformada. a) Soluo inicial A soluo inicial para o problema ser sempre obtida fazendo as variveis originais do modelo (no caso x1 e x2) iguais a zero e achando o valor das demais. Assim, fazendo x1 = x2 = 0 (variveis no bsicas), obtemos do Quadro 1: f1 = 12 f2 = 8 z=0 As variveis bsicas esto indicadas no Quadro 1, para facilitar o acompanhamento das operaes. b) Segunda soluo Como a primeira soluo claramente no a melhor, vamos procurar outra que d um valor maior para z. O problema descobrir: Das duas variveis no bsicas (nulas) na primeira soluo, qual deve se tornar positiva? Das duas variveis bsicas (positivas) na primeira soluo, qual dever ser anulada? Qual varivel dever se tornar positiva? Vamos observar que na ltima linha do Quadro 1 temos os coeficientes da funo objetivo que mostram a contribuio para o lucro z de cada unidade produzida de mesa (x1) e de armrio (x2). Assim, aplicando o critrio de que devemos produzir primeiro o produto que mais contribui para o lucro, vamos comear a produo pela varivel x1, j que sua contribuio unitria para o lucro (4) maior que a contribuio de x2, igual a 1. Logo, a varivel que dever se tornar positiva x1. Qual varivel dever ser anulada? Nota-se pelo Quadro 1 que, na primeira equao, o maior valor possvel de x1 6, quando f1 for igual a zero (note que x2 vale zero por ser varivel no bsica). Qualquer valor maior de x1 far com que o valor de f1 fique negativo, o que no permitido. Na segunda equao, o maior valor permitido para x1 4, quando f2 for igual a zero. Analisando simultaneamente as duas equaes, percebe-se que o maior valor possvel para x1 4, j que atende s duas equaes. Observe que esta anlise pode ser feita diretamente do Quadro 1, atravs da diviso dos elementos da coluna b pelos correspondentes elementos da coluna x1. O menor quociente indica, pela linha em que ocorreu, qual a varivel bsica que deve ser anulada. Assim, como o menor quociente dado pela (variveis bsicas)Prof. Erico Lisboa19http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacionaldiviso 8 / 2 = 4, a varivel bsica a ser anulada f2, que a varivel positiva na atual soluo, cujo valor foi encontrado na segunda linha. Assim temos: x2 = 0 f2 = 0 e o sistema restante deve ser resolvido para acharmos o valor de x1 e f1. A soluo desse sistema ser feita usando o Quadro 1 com as equaes completas e usando as operaes vlidas com as linhas da matriz, como apresentado no Captulo 2. 1 operao: Dividir a segunda linha por 2 (L2 L2 / 2) Quadro 1A Base f1 x1 z x1 2 1 -4 x2 3 1/2 -1 f1 1 0 0 f2 0 1/2 0 b 12 4 02 operao: Multiplicar a segunda linha do Quadro 1A por (-2) e somar com a primeira linha do mesmo quadro, colocando o resultado na primeira linha (L1 L1 - 2 L2) Quadro 1B Base f1 x1 z x1 0 1 -4 x2 2 1/2 -1 f1 1 0 0 f2 -1 1/2 0 b 4 4 03 operao: Multiplicar a segunda linha do Quadro 1B por (4) e somar com a terceira linha do mesmo quadro, colocando o resultado na terceira linha (L3 L3 + 4 L2) Quadro 2 Base f1 x1 z x1 0 1 0 x2 2 1/2 1 f1 1 0 0 f2 -1 1/2 2 b 4 4 16Como a ltima linha (funo z-transformada) mostra as contribuies lquidas para o lucro, caso as variveis x1 e f2 venha a ter seus valores aumentados de 0 para 1 e como estas contribuies tm seus valores trocados com relao ao quadro original, conclumos que a soluo encontrada tima. x1 = 4, x2 = 0, f1 = 4, f2 = 0 e z = 16Prof. Erico Lisboa20http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacional4.3 Procedimento do Mtodo Simplex (Problemas de Maximizao) Passo 1: Introduzir as variveis de folga; uma para cada desigualdade. Passo 2: Montar um quadro para os clculos, colocando os coeficientes de todas as variveis com os respectivos sinais e, na ltima linha, incluir os coeficientes da funo objetivo transformada. Passo 3: Estabelecer uma soluo bsica inicial, usualmente atribuindo valor zero s variveis originais e achando valores positivos para as variveis de folga. Passo 4: Como prxima varivel a entrar na base, escolher a varivel no bsica que oferece, na ltima linha, a maior contribuio para o aumento da funo objetivo (ou seja, tem o maior valor negativo). Se todas as variveis que esto fora da base tiverem coeficientes nulos ou positivos nesta linha, a soluo atual tima. Se alguma dessas variveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da funo objetivo. Isso quer dizer que temos uma soluo tima, com o mesmo valor da funo objetivo. Passo 5: Para escolher a varivel que deve deixar a base, deve-se realizar o seguinte procedimento: a) Dividir os elementos da ltima coluna pelos correspondentes elementos positivos da coluna da varivel que vai entrar na base. caso no haja elemento algum positivo nesta coluna, o processo deve parar, j que a soluo seria ilimitada. b) O menor quociente indica a equao cuja respectiva varivel bsica dever ser anulada, tornando-se varivel no bsica. Passo 6: Usando operaes vlidas com as linhas da matriz, transformar o quadro de clculos de forma a encontrar a nova soluo bsica. A coluna da nova varivel bsica dever se tornar um vetor identidade, onde o elemento 1 aparece na linha correspondente varivel que est sendo anulada. Passo 7: Retornar ao passo 4 para iniciar outra iterao. 4.4 Outro Exemplo Vamos resolver pelo mtodo Simplex o problema das raes proposto no Captulo 1, cujo modelo foi apresentado no Captulo 3. maximizar sujeito a: Z = 11 x1 + 12 x2 x1 + 4 x2 10000 5 x1 + 2 x2 30000 x1, x2 0 a) Incluso das variveis de folga Com a incluso das variveis de folga, o problema torna-se: maximizar sujeito a: Z = 11 x1 + 12 x2 x1 + 4 x2 + f1 10000 5 x1 + 2 x2 + f2 30000 x1, x2, f1, f2 0Prof. Erico Lisboa21http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacionalb) Soluo inicial Base f1 f2 z c) Primeira iterao Varivel a entrar na base: x2 (coluna com maior valor negativo na ltima linha) Varivel a sair da base: f1 (o quociente 10000/4 o menor quociente entre a ltima coluna e a coluna da varivel x2, que vai entrar na base) L1 L1 / 4 L2 L2 - 2 L1 L3 L3 + 12 L1 Base x2 f2 z d) Segunda iterao Varivel a entrar na base: x1 (coluna com maior valor negativo na ltima linha) Varivel a sair da base: f2 (o quociente 25000/ 4,5 o menor quociente entre a ltima coluna e a coluna da varivel x1, que vai entrar na base) L2 L2 / 4,5 L1 L1 - L2 / 4 L3 L3 + 8 L2 Base x2 x1 z e) Soluo tima encontrada Como todos os valores da ltima linha (funo z-transformada) so positivos ou nulos, conclumos que a soluo encontrada tima, ou seja: x1 = 5555,55 x2 = 1111,11 z = 74444,44 x1 0 1 0 x2 1 0 0 f1 0,2778 -0,1111 2,1111 f2 -0,0556 0,2222 1,7778 b 1111,11 5555,56 74444,44 x1 1/4 4,5 -8 x2 1 0 0 f1 1/4 -1/2 3 f2 0 1 0 b 2500 25000 30000 x1 1 5 -11 x2 4 2 -12 f1 1 0 0 f2 0 1 0 b 10000 30000 0Prof. Erico Lisboa22http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacional4.5 Aspectos Matemticos Singulares Na modelagem de um problema de programao linear, algumas situaes especficas podem ocorrer, o que pode levar a casos em uma forma matemtica diferente da apresentada at o momento. Entretanto, alguns artifcios matemticos ajudam a reduzir o modelo obtido forma padro estudada. Estes artifcios so mostrados a seguir. 4.5.1 Minimizao de uma funo A minimizao de uma funo z(x) matematicamente anloga maximizao da negativa desta funo (-z(x)). Exemplo: minimizar z = c1 x1 + c2 x2 + ... + cn xn maximizar z' = - c1 x1 - c2 x2 - ... - cn xn com z' = - z. Essa uma das formas de se resolver os problemas de minimizao utilizando o mesmo algoritmo. Caso que queira resolver diretamente, devemos alterar o critrio de entrada das variveis na base. A varivel que entra na base passa a ser aquela que tem o maior valor positivo na linha z-transformada. Caso todas tenham coeficientes negativos ou nulos, a soluo obtida tima. 4.5.2 Restries de limite inferior () Uma desigualdade em uma direo ( ou ) pode ser mudada para uma desigualdade na direo oposta, pela multiplicao de ambos os lados da desigualdade por (-1). Exemplo: a1 x1 + a2 x2 b - a1 x1 - a2 x2 -b 4.5.3 Restries de igualdade Uma equao pode ser substituda por duas desigualdades de direes opostas. Exemplo: a1 x1 + a2 x2 = b a1 x1 + a2 x2 b a1 x1 + a2 x2 b 4.5.4 Varivel irrestrita em sinal Uma varivel irrestrita em sinal (ou seja, que pode ser positiva, nula ou negativa) pode ser substituda pela diferena de duas variveis no negativas. Exemplo: com x'1 0 e x''1 0. se a varivel x1 for irrestrita em sinal, pode ser substituda pela diferena (x'1 - x''1) equivalente a duas desigualdades simultneas: equivalente a equivalente aProf. Erico Lisboa23http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa Operacional4.6 Mtodo Simplex em Duas Fases O Mtodo Simplex utiliza uma soluo inicial vivel para comear o processo iterativo, trabalhando sempre dentro da regio vivel. Nos casos apresentados at o presente momento, a soluo xi = 0, para i = 1, ..., n era uma soluo vivel, j que todas as restries apresentadas foram do tipo (). Quando as restries so do tipo (=) ou (), esta soluo no existe. Seja o exemplo abaixo: minimizar sujeito a: z = 10 x1 + 4 x2 + 5 x3 8 x1 + 3 x2 + 4 x3 10 4 x1 + 3 x2 8 x1, x2, x3 0 Como temos uma restrio do tipo (), a varivel de folga deve ter coeficiente negativo, tendo o significado de uma varivel de excesso. O problema transformado : minimizar sujeito a: z = 10 x1 + 4 x2 + 5 x3 8 x1 + 3 x2 + 4 x3 - f1 = 10 4 x1 + 3 x2 + f2 = 8 x1, x2, x3, f1, f2 0 onde f1 uma varivel de excesso e f2 uma varivel de folga. Note que, pelo processo de soluo anterior, a varivel de excesso (f1) passaria a ter valor negativo na soluo inicial (-10), o que no permitido. Assim, a soluo x1 = x2 = x3 = 0 invivel. necessrio ento encontrar uma soluo vivel para que o mtodo Simplex possa ser iniciado. A forma de se resolver isto inventando novas variveis. Estas variveis so chamadas de variveis artificiais, e representadas por zi. Ser colocada uma varivel artificial em cada restrio do modelo, ou seja: 8 x1 + 3 x2 + 4 x3 - f1 + z1 = 10 4 x1 + 3 x2 + f2 + z2 = 8 x1, x2, x3, f1, f2, z1, z2 0 Como pode-se perceber, o problema com as restries acima no o mesmo problema, a no ser que todas as variveis zi sejam iguais a zero. Desta forma, podemos resolver o problema em duas fases: na primeira fase, substitumos a funo objetivo original por uma funo objetivo auxiliar: zaux = - z1 - z2 = 12 x1 + 6 x2 + 4 x3 - f1 + f2 - 18 Nesse momento, aplicamos o mtodo Simplex de forma a maximizar a funo objetivo auxiliar, com as restries contendo as variveis auxiliares. A funo objetivo auxiliar ser maximizada quando todas as variveis zi forem iguais a zero, j que no podem conter valores negativos.Prof. Erico Lisboa24http://www.ericolisboa.eng.br4 - O Mtodo SimplexPesquisa OperacionalA primeira fase do problema, que consiste na maximizao da funo objetivo auxiliar, fornecer uma soluo vivel para o problema original. A segunda fase consiste em resolver o problema original tomando como soluo inicial os valores obtidos pela primeira fase para as variveis xi e fi. a) Soluo inicial Para resolver o problema, monta-se o quadro de forma semelhante sistemtica, colocando-se a funo objetivo artificial na ltima linha. O quadro do exemplo fica:Base z1 z2 z' = -z zaux x1 8 4 10 -12 x2 3 3 4 -6 x3 4 0 5 -4 f1 -1 0 0 1 f2 0 1 0 -1 z1 1 0 0 0 z2 0 1 0 0 b 10 8 0 -18Obs. Como a funo objetivo de minimizao, ele foi transformado em um problema de maximizao atravs da multiplicao de todos os coeficientes por (-1). A seguir, aplica-se o mtodo Simplex normalmente, usando como funo objetivo a ltima linha. Quando a soluo tima for atingida, dois casos podem ocorrer: zaux = 0: neste caso foi obtida uma soluo bsica do problema original e o processo de soluo deve continuar, desprezando-se as variveis artificiais e os elementos da ltima linha. o incio da segunda fase do processo. zaux 0: neste caso o problema original no tem soluo vivel, o que significa que as restries devem ser inconsistentes. b) Fase 1 - Primeira iterao Varivel a entrar na base: x1 (coluna com maior valor negativo na ltima linha) Varivel a sair da base: z1 (o quociente 10/8 o menor quociente entre a ltima coluna e a coluna da varivel x1, que vai entrar na base) L1 L1 / 8 L2 L2 - 4 L1 L3 L3 - 10 L1 L4 L4 + 12 L1Base x1 z2 z' = -z zaux x1 1 0 0 0 x2 3/8 3/2 1/4 -3/2 x3 1/2 -2 0 2 f1 -1/8 1/2 5/4 -1/2 f2 0 1 0 -1 z1 1/8 -1/2 -5/4 3/2 z2 0 1 0 0 b 5/4 3 -12,5 -3c) Fase 1 - Segunda iterao Varivel a entrar na base: x2 (coluna com maior valor negativo na ltima linha) Varivel a sair da base: z2 (o quociente 3/(3/2) o menor quociente entre a ltima coluna e a coluna da varivel x2, que vai entrar na base)Prof. Erico Lisboa25http://www.ericolisboa.eng.br4 - O Mtodo Simplex L2 2 L2 / 3 L1 L1 - 3 L2 / 8 L3 L3 - L2 / 4 L4 L4 + 3 L2 / 2Base x1 x2 z' = -z zaux x1 1 0 0 0 x2 0 1 0 0 x3 1 -4/3 1/3 0 f1 -1/4 1/3 7/6 0 f2 -1/4 2/3 -1/6 0 z1 1/4 -1/3 -7/6 1Pesquisa Operacionalz2 -1/4 2/3 1/6 1b 1/2 2 -13 0Como na ltima linha o valor da funo objetivo artificial zero, a primeira fase terminou e a soluo encontrada a soluo bsica inicial para a segunda fase. Removendo a ltima linha e as colunas referentes s variveis artificiais, o quadro se tornaBase x1 x2 z' = -z x1 1 0 0 x2 0 1 0 x3 1 -4/3 1/3 f1 -1/4 1/3 7/6 f2 -1/4 2/3 -1/6 b 1/2 2 -13d) Fase 2 - Primeira iterao Varivel a entrar na base: f2 (coluna com maior valor negativo na ltima linha) Varivel a sair da base: x2 (o quociente 2/(2/3) o menor quociente entre a ltima coluna e a coluna da varivel x2, que vai entrar na base) L2 3 L2 / 2 L1 L1 + L2 / 4 L3 L3 + L2 / 6Base x1 x2 z' = -z x1 1 0 0 x2 3/8 3/2 1/4 x3 1/2 -2 0 f1 -1/8 1/2 5/4 f2 0 1 0 b 5/4 3 -12,5e) Soluo tima encontrada Como todos os valores da ltima linha (funo z-transformada) so positivos ou nulos, conclumos que a soluo encontrada tima, ou seja: x1 = 1,25 x2 = 0 z = -z' = 12,5Prof. Erico Lisboa26http://www.ericolisboa.eng.br5 - A ferramenta Solver (Excel)Pesquisa OperacionalCAPTULO 5A FERRAMENTA SOLVER (EXCEL)5Diversas ferramentas para soluo de problemas de otimizao, comerciais ou acadmicos, sejam eles lineares ou no, foram desenvolvidas. Dentre as ferramentas disponveis, este curso se prope a apresentar a ferramenta Solver, que acompanha o Microsoft Excel. Apesar de a ferramenta Solver poder ser utilizada tambm para problemas de programao no-linear, neste curso ser apresentada apenas a sua utilizao para a soluo de problemas de programao linear. A utilizao para outros tipos de problemas segue o mesmo padro, sendo por isso intuitivo ao usurio o seu aprendizado. 5.1 Definindo e Resolvendo um Problema Inicialmente, devemos definir o problema na planilha do Excel. Vamos resolver como exemplo o problema da raes, do Captulo 3. A formulao do problema a seguinte: maximizar sujeito a: z = 11 x1 + 12 x2 1 x1 + 4 x2 10000 5 x1 + 2 x2 30000 x1, x2 0 Para definir o problema na planilha, devemos definir clulas para representar as variveis de deciso e uma clula para representar o valor da funo objetivo. Alm disso, as restries tambm devem ser definidas. Abra um novo arquivo no Microsoft Excel e siga os seguintes passos: na clula A1 digite "x1"; na clula B1 digite "0"; na clula A2 digite "x2"; na clula B2 digite "0". As clulas A2 e B2 guardaro os valores das variveis de deciso x1 e x2, respectivamente. Vamos agora definir a funo objetivo. As equaes do Excel so sempre precedidas do sinal de igualdade (=), que indica que nesta clula ser efetuada uma conta. Preencha as clulas da planilha conforme indicado a seguir: na clula A4 digite "Funo objetivo"; na clula B4 digite "=11*B1+12*B2". Na clula B4 ser calculado automaticamente o valor da funo objetivo, a partir da funo fornecida. Qualquer alterao nos valores das clulas B1 ou B2 far com que o valor da funo objetivo seja recalculado.Prof. Erico Lisboa27http://www.ericolisboa.eng.br5 - A ferramenta Solver (Excel)Pesquisa OperacionalSero definidas agora as restries do problema: As clulas de restrio devem ser preenchidas da seguinte forma: na clula A6 digite "Restries"; na clula B6 digite "= B1+4*B2"; na clula C6 digite "="; na clula D9 digite "0". Aps preenchidas as clulas, a planilha deve estar igual apresentada na Figura 5.1. Figura 5.1 - Planilha com as clulas preenchidas para utilizao da ferramenta Solver.Prof. Erico Lisboa28http://www.ericolisboa.eng.br5 - A ferramenta Solver (Excel)Pesquisa OperacionalPara otimizar a funo objetivo, vamos utilizar a ferramenta Solver. No menu Ferramentas, clique em Solver. A janela apresentada na Figura 5.2 se abrir. Na caixa "Definir clula de destino", selecione a clula da funo objetivo (B4) clicando sobre ela, ou simplesmente digiteB4. Logo abaixo, requerido que se escolha entre trs opes: Mx, para maximizar a funo objetivo, Mn, para minimizar a funo objetivo, e Valor, que faz com que a funo objetivo tenha determinado valor. No nosso exemplo, como queremos maximizar a funo objetivo, escolheremos a opo Mx. Na caixa "Clulas variveis", devem ser inseridas as clulas ajustveis, que contm os valores das variveis de deciso. Deve-se inserir um nome ou uma referncia para cada clula ajustvel, separando as clulas no-adjacentes por ponto-e-vrgula. As clulas ajustveis devem estar relacionadas direta ou indiretamente clula que contm o valor da funo objetivo. Podem ser especificadas at 200 clulas ajustveis. Para que o Solver proponha automaticamente as clulas ajustveis com base na clula de destino, clique em Estimar. Na caixa Submeter s restries, devem ser inseridas as restries do problema. Para inserir uma restrio, siga os seguintes passos: clique no boto "Adicionar". A janela apresentada na Figura 5.3 se abrir; na caixa "Referncia de clula", selecione a clula contendo a primeira restrio (B6); na caixa de seleo, escolha a opo que corresponde ao tipo de restrio, que pode ser menor ou igual (=), igual (=), valor inteiro (nm) ou valor binrio (bin). No nosso caso a opo a ser escolhida