Instituto de Matem´atica, Estat´ıstica e Computa¸c˜ao Cient´ıfica
Disserta¸c˜ao de Mestrado
Estudos em Programa¸c˜
ao Linear
por
Ad˜
ao Nascimento dos Passos
Mestrado Profissional em Matem´atica - Campinas - SP
Orientadora:
Prof
a. Dr
aEste exemplar corresponde `a reda¸c˜ao final da disserta¸c˜ao devidamente cor-rigida e defendida por Ad˜ao Nasci-mento dos Passos e aprovada pela Comiss˜ao Julgadora.
Campinas, 16 de outubro de 2009.
Banca Examinadora:
Profa. Dra. Val´eria Abr˜ao de Podest´a Prof. Dr. Aur´elio Ribeiro Leite de Oliveira Prof. Dr. Anibal Tavares de Azevedo
Disserta¸c˜ao apresentada ao Instituto de Matem´atica, Estat´ıstica e Computa¸c˜ao Cient´ıfica, UNICAMP, como requisito parcial para a obten¸c˜ao do t´ıtulo de Mestre em Matem´atica.
!"#$& '# ( )# ' * + ',$ "#$ & ' # .. '* !/011 112!3341 5 # 67 " $## 8 ,$ 9 # : ; . <= ## ( #) # '* !> )#' !( ? '*),$?: 1 1 + ',$ 1 1 + ',$ 9' ;1 A10'*B 9' ;1C17### '* ,$1>1D' !67 ## 1 >>1 <= ## ( #) # '* 1 > ) # ' ! ( ? '*),$?: 1>>>1E?)1 E?)'+F 0)# * + ''+ = . H='+F 9IJK # ;1L * + ''+11 + ''+9H' ;1A10'*B 9H' ;1C18 '* 'H#1 M # ,$ + ',$ E),$ # : B'# :18 167 " $## 9>(.<&>"; :18 1") 7 L#5= 9>(.<&>"; :18 1"E= #"=#9(D.<&(0; 8##: 3334 + '#N .D #),$ # : ''
A Deus, em primeiro lugar, por tudo, especialmente por nunca ter fechado uma porta, sem antes, ter aberto outra.
`
A minha amada esposa Neurene e minhas adoradas filhas Amanda, Fernanda e Anna Beatriz, pelo apoio, carinho, incentivo e acompanhamento.
Aos meus pais e meus irm˜aos, por acreditarem em mim e me incentivarem. `
A Profa. Dra. Val´eria Podest´a, pela orienta¸c˜ao, cujas id´eias, na sua maioria simples e bem did´aticas, deram o car´ater elegante e did´atico a esse texto.
`
A Profa. Dra. Sueli Costa, pelo incentivo e por coordenar de forma t˜ao brilhante esse mestrado.
A todos os professores do Mestrado Profissional em Matem´atica, que com seus conhecimentos e dedica¸c˜ao levaram ao Maranh˜ao a possibilidade de melhor qualificar seus profissionais.
`
As Universidades Estaduais de Campinas e do Maranh˜ao, conjuntamente com a Capes por propiciarem a realiza¸c˜ao do Mestrado Profissional em Matem´atica.
Aos meus colegas do grupo de estudos de Imperatriz, Bosco, Gilson, Heron, Ociran e Remi, que de forma direta foram indispens´aveis para a conclus˜ao desse curso.
Ao amigo Sergiomar de Assis pela ajuda e incentivo. Ao colega Felix pela ajuda, principalmente com o Latex.
Neste trabalho ´e feito um estudo sobre Programa¸c˜ao Linear e um texto sobre alguns de seus assuntos b´asicos, constru´ıdo com uma linguagem did´atica, visando sua uti-liza¸c˜ao em sala de aula. S˜ao apresentados alguns problemas lineares, os fundamentos matem´aticos da Programa¸c˜ao Linear e o m´etodo Simplex, finalizando com um estudo do princ´ıpio da decomposi¸c˜ao de Dantzig-Wolfe, que ´e um procedimento para a resolu¸c˜ao de problemas lineares de grande porte e com estrutura especial.
Palavras-chave: Problemas Lineares, M´etodo Simplex, Decomposi¸c˜ao de Dantzig-Wolfe.
In this work we have done a study on Linear Programming and a text with some basic issues, using a didactic language, and aiming its utilization in the classroom. Some linear problems are shown here, the mathematical background of Linear Programming and the Simplex method. Finaly, we have also presented a study on the principle of Dantzig-Wolfe’s decomposition, which is a procedure for solving large linear problems with special structure.
keywords: Linear Problems, Simplex Method, Dantzig-Wolfe’s Decomposition.
Agradecimentos v
Resumo vii
Abstract ix
Introdu¸c˜ao 1
1 Problemas de Programa¸c˜ao Linear 5
1.1 Preliminares e hist´orico da Pesquisa Operacional . . . 5
1.2 Modelos de Programa¸c˜ao Linear . . . 10
1.2.1 Defini¸c˜ao do problema . . . 11
1.2.2 Exemplos de modelos de Programa¸c˜ao Linear . . . 11
1.2.3 Formula¸c˜ao matem´atica do problema geral de Programa¸c˜ao Linear 18 1.2.4 Formas de apresenta¸c˜ao do modelo de Programa¸c˜ao Linear . . . 20
1.2.5 Hip´oteses b´asicas da Programa¸c˜ao Linear . . . 23
1.3 Solu¸c˜ao gr´afica de problemas de Programa¸c˜ao Linear . . . 24
1.3.1 Tipos de solu¸c˜oes de um problema de Programa¸c˜ao Linear . . . 27
2 Fundamentos Matem´aticos da Programa¸c˜ao Linear 31 2.1 Caracteriza¸c˜ao do conjunto solu¸c˜ao . . . 31
2.1.1 Retas, hiperplanos e semiespa¸cos . . . 32
2.2 Conjuntos convexos . . . 33
2.2.1 Raio e dire¸c˜oes . . . 37
2.3 Solu¸c˜oes b´asicas de um sistema linear . . . 45
2.3.1 Discuss˜ao das solu¸c˜oes de um sistema linear . . . 45
2.3.2 Solu¸c˜oes b´asicas de um sistema linear . . . 46
2.4 Correspondˆencia entre SBV e pontos extremos . . . 55
3 O M´etodo Simplex 61 3.1 Introdu¸c˜ao . . . 61 3.2 Parti¸c˜ao e prepara¸c˜ao . . . 62 3.2.1 Parti¸c˜ao . . . 63 3.2.2 Equa¸c˜oes b´asicas . . . 63 3.2.3 A fun¸c˜ao objetivo . . . 64
3.2.4 Teste de otimalidade - entrada na base . . . 66
3.2.5 Teste da raz˜ao - sa´ıda da base . . . 67
3.2.6 Atualiza¸c˜ao - c´alculo da nova SBV . . . 69
3.2.7 O algoritmo Simplex . . . 69
3.3 Problemas de PL com diferentes tipos de solu¸c˜oes . . . 75
3.4 O M´etodo das Duas Fases . . . 77
3.5 M´etodo Simplex na Forma Tableau . . . 86
3.5.1 Algoritmo do m´etodo Simplex tabular . . . 91
3.6 Convergˆencia e degenera¸c˜ao . . . 95
3.7 Dualidade . . . 103
4 O Princ´ıpio da Decomposi¸c˜ao 121 4.1 Um estudo de caso . . . 121
4.2 O princ´ıpio da Decomposi¸c˜ao de Dantzig-Wolfe . . . 136
4.2.1 A gera¸c˜ao de colunas . . . 137
4.2.2 Desenvolvimento do princ´ıpio da decomposi¸c˜ao . . . 138
4.2.3 Algoritmo simplificado do m´etodo da decomposi¸c˜ao . . . 144
4.3 Considera¸c˜oes finais . . . 155
No estado do Maranh˜ao, em particular na micro regi˜ao de Imperatriz, atual polo universit´ario do interior do estado, o estudo e o uso da Programa¸c˜ao Matem´atica n˜ao despertou, ainda, o necess´ario e devido interesse para a sistematiza¸c˜ao dessa ´area do conhecimento.
O presente texto ´e destinado aos estudantes dos cursos de licenciatura em ma-tem´atica, administra¸c˜ao de empresas, economia, engenharia de produ¸c˜ao, ciˆencia da computa¸c˜ao, entre outros que s˜ao praticados nessa regi˜ao, visto que o autor tem como meta apresentar e disseminar a Programa¸c˜ao Linear, bem como demonstrar a importˆancia que tem esse tema, em especial, para as ´areas de produ¸c˜ao e gest˜ao.
A id´eia de escrever esse texto surgiu porque o autor fez um curso de licenciatura em matem´atica onde sequer ouviu falar de Programa¸c˜ao Matem´atica, Programa¸c˜ao Linear ou Pesquisa Operacional, tendo tido seu primeiro contato com essa ´area ao fazer um curso de especializa¸c˜ao na PUC/MG, e numa disciplina de ´Algebra Linear lhe foi apresentado, como uma aplica¸c˜ao, alguns problemas de Programa¸c˜ao Linear e a solu¸c˜ao geom´etrica para os mesmos. Foi nesse per´ıodo que o autor se familiarizou com essa ´area do conhecimento.
O professor Geraldo ´Avila, num artigo intitulado Limites e derivadas no ensino
m´edio [7] trata como est˜ao sendo e como devem ser abordados esses t´opicos, colocando
que (pg 38) “... no contexto dos sistemas de equa¸c˜oes lineares ´e interessante desenvolver a equa¸c˜ao da reta. Essa equa¸c˜ao na forma normal j´a ´e suficiente para interpretar geometricamente o significado da solu¸c˜ao, das solu¸c˜oes ou n˜ao solu¸c˜oes dos sistemas lineares. E serve tamb´em para tratar de problemas simples de programa¸c˜ao linear. Com esse procedimento, tem-se a intera¸c˜ao de diferentes t´opicos da Matem´atica ...” Portanto observe que, em sua opini˜ao, a Programa¸c˜ao Linear n˜ao s´o deve ser tratada nos cursos
superiores citados acima, como tamb´em j´a pode ser introduzida no ensino m´edio. Apesar de introdut´orio, o texto traz diversos exemplos de aplica¸c˜ao de Programa¸c˜ao Linear que s˜ao comuns em quase todos os setores de nosso quotidiano, como por exem-plo, na ind´ustria, nos transportes, na sa´ude, na educa¸c˜ao, na agricultura, na admi-nistra¸c˜ao, na alimenta¸c˜ao, bem como alguns m´etodos de resolu¸c˜ao. Ao longo de todo o texto, a preocupa¸c˜ao com a did´atica e a precis˜ao est´a presente e se faz necess´aria, visando cobrir um aspecto desse programa de mestrado, que ´e o estudo e detalhamento de temas de interesse que tenham conex˜ao com as disciplinas de matem´atica do ensino superior.
A Programa¸c˜ao Linear surgiu na d´ecada de 40, gra¸cas, sobretudo, aos estudos de L. V. Kantor´ovitch (prˆemio Nobel de economia) e permitiu abordar numerosos pro-blemas relativos `a otimiza¸c˜ao da gest˜ao industrial e da planifica¸c˜ao econˆomica, entre outros [10]. In´umeros trabalhos posteriores, especialmente os de George Dantzig, leva-ram a elabora¸c˜ao de m´etodos distintos, em particular, o m´etodo Simplex (Dantzig) e o princ´ıpio da decomposi¸c˜ao (Dantzig-Wolfe).
Quando se procura refletir sobre uma situa¸c˜ao real, na tentativa de explicar, de entender ou de agir sobre ela, um modelo matem´atico pode surgir. Este modelo em geral traz simplifica¸c˜oes que nem sempre condizem com a realidade. Assim, de modo geral um modelo matem´atico retrata uma situa¸c˜ao idealizada da realidade, simplificada o bastante para permitir c´alculos matem´aticos, e tem como objetivo o entendimento do fenˆomeno e poss´ıveis previs˜oes de seu comportamento futuro [19].
Alguns conceitos s˜ao fundamentais para o entendimento desse texto, dentre eles os conceitos de modelo, sistema, modelo matem´atico e itera¸c˜ao. Faremos um parˆentesis, colocando uma breve defini¸c˜ao deles.
Modelo: conjunto de hip´oteses sobre a estrutura ou o comportamento de um sistema
f´ısico pelo qual se procura explicar ou prever, dentro de uma teoria cient´ıfica, as pro-priedades do sistema.
Sistema: reuni˜ao coordenada e l´ogica de princ´ıpios ou id´eias relacionadas, de modo que
Modelo Matem´atico: conjunto de s´ımbolos e rela¸c˜oes matem´aticas que representam de
alguma forma o objeto estudado.
Itera¸c˜ao: processo de resolu¸c˜ao de uma equa¸c˜ao mediante uma sequˆencia de opera¸c˜oes
em que o objeto de cada uma ´e o resultado da que a precede.
O trabalho est´a dividido em quatro cap´ıtulos, onde ´e apresentado inicialmente no Cap´ıtulo 1 um contexto hist´orico, os principais modelos de Programa¸c˜ao Linear e suas hip´oteses b´asicas. Finalizamos este cap´ıtulo com a solu¸c˜ao gr´afica de v´arios modelos apresentados.
No Cap´ıtulo 2 s˜ao discutidos os principais fundamentos matem´aticos e resultados existentes na literatura necess´arios para a fundamenta¸c˜ao do m´etodo Simplex. S˜ao definidas e estudadas com mais detalhes as rela¸c˜oes entre solu¸c˜oes b´asicas e pontos extremos, bem como o teorema geral da representa¸c˜ao. Sup˜oe-se que o leitor tenha conhecimentos b´asicos de ´Algebra Linear, de forma que os mesmos n˜ao s˜ao detalhados nesse texto.
No Cap´ıtulo 3, a fundamenta¸c˜ao matem´atica do Cap´ıtulo 2 ´e utilizada para justificar o m´etodo Simplex, o qual ´e apresentado juntamente com duas t´ecnicas: m´etodo das duas fases e forma Tableau. Encerra-se esse cap´ıtulo com uma introdu¸c˜ao ao estudo da Dualidade.
Finalmente, no Cap´ıtulo 4, apresenta-se o princ´ıpio da decomposi¸c˜ao de Dantzig-Wolge, princ´ıpio aplicado a problemas de grande porte, juntamente com o algoritmo, utilizando a t´ecnica de gera¸c˜ao de colunas.
Para c´alculos simb´olicos e num´ericos foi utilizado o software MatLab, bem como as referˆencias [22] e [23] que foram utilizadas como fontes de pesquisa e estudos. Tamb´em utilizamos o software Geogebra [8] (que ´e livre) para o tra¸cado de gr´aficos no plano. Assim, alguns procedimentos como os que utilizamos aqui, podem ser usados livremente, novamente dentro dos objetivos deste trabalho e do programa de p´os-gradua¸c˜ao.
Para aprendizado do Latex utilizamos uma apostila, que funcionou como um guia para principiantes nessa linguagem [13].
Problemas de Programa¸c˜
ao Linear
1.1
Preliminares e hist´
orico da Pesquisa
Operacio-nal
Tomar decis˜oes constitui uma tarefa b´asica de gest˜ao. Decidir ´e escolher ou optar entre alternativas vi´aveis, tamb´em designadas por cursos de a¸c˜ao. Estes processos ocorrem sempre que o respons´avel por elas enfrenta problemas, problemas esses que podem ser rotineiros ou excepcionais.
Formaliza-se os processos de decis˜ao numa abordagem qualitativa ou quantitativa, atrav´es, principalmente, da modelagem matem´atica, que expressa por interm´edio da linguagem matem´atica situa¸c˜oes-problemas do nosso meio. No entanto, a complexidade crescente dos problemas de gest˜ao, associada ao crescimento das unidades econˆomicas, faz surgir a necessidade de uma abordagem segundo uma ´otica cient´ıfica, o que exige recorrer aos m´etodos quantitativos.
Nesta linha de evolu¸c˜ao se enquadra a Pesquisa Operacional, que, como ciˆencia, estrutura processos, propondo um conjunto de alternativas de a¸c˜ao, fazendo a previs˜ao e compara¸c˜ao de valores, de eficiˆencia e de custos.
A Pesquisa Operacional consolidou-se durante a 2a Guerra, devido `a necessidade de adequar as opera¸c˜oes execut´aveis aos novos armamentos desenvolvidos. As palavras “Pesquisa” e “Operacional” refletem a id´eia de integrar, respectivamente, o car´ater te´orico e aplicado dos m´etodos de Pesquisa Operacional, entre os quais a Programa¸c˜ao Linear [16].
A maioria de suas aplica¸c˜oes abrange as ´areas de administra¸c˜ao, produ¸c˜ao, plane-jamento e organiza¸c˜ao.
Seus fundamentos encontram-se na matem´atica, na an´alise de sistemas e na es-tat´ıstica. A ferramenta de resolu¸c˜ao, por excelˆencia, ´e o computador, dado que os problemas reais aos quais as t´ecnicas normalmente se aplicam conduzem `a constru¸c˜ao de modelos matem´aticos de porte m´edio ou grande, de solu¸c˜ao manual muito dif´ıcil ou mesmo impratic´avel.
O objeto deste trabalho ´e a Programa¸c˜ao Linear que, mesmo sendo um dos ramos mais desenvolvidos e utilizados da Pesquisa Operacional, era at´e ent˜ao desconhecida ou pouco difundida na regi˜ao de onde provem o autor desse trabalho, e por que n˜ao dizer, pelo pr´oprio autor, que se interessou pelo tema, basicamente, “por se tratar de uma aplica¸c˜ao da ´Algebra Linear”. Interesse esse proveniente da leitura de textos de ´Algebra Linear nos livros de Bernard Kolman [3] e Boldrini e outros [11] quando o mesmo estava cursando a disciplina de ´Algebra Linear nesse mestrado. Mas como veremos no decorrer desse trabalho, n˜ao se trata “apenas de uma aplica¸c˜ao `a ´Algebra Linear”: na verdade a Programa¸c˜ao Linear (que chamaremos simplesmente de PL) caracteriza-se por utilizar m´etodos de c´alculo baseados na execu¸c˜ao repetida de opera¸c˜oes relativamente simples, beneficiando-se do advento do computador.
As ra´ızes da Programa¸c˜ao Matem´atica vem desde a antiguidade, visto que Euclides (s´eculo III a.C.), por exemplo no seu livro III, procurava encontrar a maior e a me-nor distˆancia de um ponto a uma circunferˆencia, e no livro IV descreveu uma forma de encontrar um paralelogramo de ´area m´axima com um per´ımetro conhecido. Ele t´ambem propunha outros problemas, que foram elucidados nos s´eculos XVII e XVIII, quando desenvolveram-se m´etodos de c´alculo que permitiram resolver esses problemas de maximar ou de minimizar ´areas [16].
Considera-se Cournot como um dos precursores da Programa¸c˜ao Matem´atica, de-vido ao seu estudo sobre a igualdade entre receita marginal e custo marginal, logo, implicitamente a determina¸c˜ao do ponto de equil´ıbrio que origina o lucro m´aximo.
Em 1759, Quesnay publica o Tableau Economique, que pode ser considerada a pri-meira grande tentativa de modelar a economia - ´e assim o primeiro marco no caminho
dos modelos de programa¸c˜ao ao n´ıvel macroeconˆomico.
Dois desenvolvimentos concomitantes, no in´ıcio deste s´eculo, estimularam o desen-volvimento da PL.
O primeiro iniciou-se em 1928, quando John von Neuman publicou o teorema central da Teoria dos Jogos, que mais tarde foi formulada atrav´es da PL e interpretada `a luz da teoria da dualidade. Em 1944, von Neuman publicou “Theory of Games and Economic
Behaviour”. A intera¸c˜ao entre jogos e a economia encorajou um interesse maior na PL.
O segundo desenvolvimento foi a an´alise insumo-produto (input-output) proposta por Leontief em 1936: em seu artigo “Quantitative input and output Relations in the
Economic Systems of the United States”, ele apresentou um modelo matricial linear que
posteriormente veio a ser utilizado sob a forma de um problema de PL.
Em 1937, von Newman publica “A Model of General Economic Equilibrium”, onde formula um modelo de Programa¸c˜ao Linear dinˆamica, em que admite m´etodos alterna-tivos de produ¸c˜ao simples, ou ent˜ao, de produ¸c˜ao conjunta.
Em 1939, Kantorovich formulou de forma rigorosa um problema de PL no traba-lho “M´etodos Matem´aticos de Organiza¸c˜ao e Planejamento da Produ¸c˜ao”, mas n˜ao apresentou um algoritmo de resolu¸c˜ao. Todavia, este trabalho n˜ao teve ent˜ao o reco-nhecimento merecido e s´o muitos anos mais tarde foi efetivamente apreciado.
Por´em, ligado `a log´ıstica militar em tempos de guerra, ´e que vai ocorrer o grande salto da Pesquisa Operacional, visto que foi durante a segunda Guerra Mundial que a for¸ca ´aerea americana organizou um grupo de pesquisadores de nome SCOOP (Scientific
Computation of Optimum Program,) sob a dire¸c˜ao de Marshall K. Wood, para tentar
solucionar o problema de aloca¸c˜ao de recursos limitados, de modo a otimizar certos objetivos. George B. Dantzig era um dos membros deste grupo, e embora nenhum m´etodo de expressivo sucesso fosse descoberto durante a guerra, ele formulou o problema de PL geral e inventou o m´etodo Simplex em 1947. A partir deste trabalho, a PL tornou-se uma realidade. Com a apretornou-senta¸c˜ao do m´etodo Simplex, a Programa¸c˜ao Matem´atica em geral sofreu uma expans˜ao quase inacredit´avel.
Antes de apresentar algumas contribui¸c˜oes mais importantes no campo da teoria econˆomica, conv´em real¸car que a PL beneficiou-se tamb´em das valiosas contribui¸c˜oes
de muitos matem´aticos, quer sob o ponto de vista te´orico, quer computacional.
Em 1949, Koopmans organizou a c´elebre conferˆencia Cowles Commission for
Re-search in Economics sobre PL, onde a numerosa participa¸c˜ao de economistas e
ma-tem´aticos de grande valor foi sem d´uvida a melhor forma de reconhecimento das po-tencialidades de PL e tamb´em a sua divulga¸c˜ao. As comunica¸c˜oes apresentadas nesta conferˆencia foram publicadas no livro Activity Analysis of Production and Allocation.
A partir desta conferˆencia surgiram publica¸c˜oes com o nome de Cowles Commission
Monograph e, no volume 13, foi publicado o trabalho de Dantzig, que foi amplamente
avaliado em 1951 e que se revelou duma efic´acia extraordin´aria. A partir de ent˜ao as aplica¸c˜oes da PL `a economia n˜ao cessaram.
Em 1951, H. W. Khun e A. W. Tucker estendem os resultados de Lagrange aos sistemas de inequa¸c˜oes e apresentam o trabalho “Non Linear Programming” no
Se-cond Berkeley Symposium on Mathematical Statistics and Probability, que constitui um
marco fundamental na Programa¸c˜ao Matem´atica.
Ainda em 1951, Dorfman publicou o seu livro “Theory of The Firm” onde expressou em termos de PL a teoria econˆomica da empresa em condi¸c˜oes de concorrˆencia perfeita e em monop´olio.
Tamb´em em 1951, Tucker obteve os primeiros resultados no desenvolvimento da teoria da dualidade.
A primeira solu¸c˜ao bem sucedida de um problema de PL de grande porte ocorreu em janeiro de 1952 no computador do National Bureau of Standards. Para que se tenha uma id´eia da situa¸c˜ao, em 1952 havia d´uvidas se uma matriz quadrada de ordem 100 poderia ser invertida ou n˜ao. Nos dias de hoje, um problema de 100 vari´aveis e/ou 100 restri¸c˜oes, ´e considerado pequeno.
Quatro grandes obst´aculos para resolver problemas de PL foram enfrentados em 1952 e durante os dois ou trˆes anos posteriores. Foram eles:
a) encontrar uma solu¸c˜ao b´asica inicial, ponto de partida do algoritmo; b) resolver problemas que envolviam degenera¸c˜ao;
c) reduzir a ´area de mem´oria e o n´umero de opera¸c˜oes aritm´eticas requeridas sem causar limita¸c˜oes de uso;
d) manter precis˜ao num´erica suficiente para a obten¸c˜ao de resultados significativos. Foi reconhecido que encontrar uma solu¸c˜ao b´asica vi´avel inicial era o mesmo pro-blema que achar uma solu¸c˜ao ´otima de um propro-blema de PL auxiliar. Propro-blemas de de-genera¸c˜ao foram amplamente discutidos em v´arios trabalhos publicados na ´epoca, e di-ficuldades ocasionais foram resolvidas. Com rela¸c˜ao `a redu¸c˜ao de opera¸c˜oes aritm´eticas e espa¸co de armazenagem, a forma produto da inversa foi desenvolvida em 1953 e bem aceita, exceto em algumas circunstˆancias muito especiais. Ainda em 1953, Dantzig e Orchard-Hays desenvolveram o m´etodo Simplex Revisado, importante para a imple-menta¸c˜ao computacional do m´etodo Simplex.
Em 1954, o uso da dupla precis˜ao num´erica veio resolver o ´ultimo dos obst´aculos mencionados, embora seu uso aumentasse o tempo de opera¸c˜ao aritm´etica, suscitando muita controv´ersia sobre o dilema da precis˜ao num´erica versus tempo computacional.
A parametriza¸c˜ao do vetor de recursos (lado direito) de um problema de PL, bem como dos coeficientes da fun¸c˜ao objetivo, s˜ao extens˜oes importantes do problema, e estas t´ecnicas foram inicialmente usadas em 1954 e 1955, tornando-se de amplo uso em 1957.
A partir de 1957, outros aperfei¸coamentos ocorreram: nas t´ecnicas de invers˜ao de matrizes, na considera¸c˜ao de vari´aveis canalizadas e na introdu¸c˜ao do algoritmo dual, cuja teoria j´a havia sido lan¸cada em 1953. Por volta de 1963, os desenvolvimentos se voltaram para programas computacionais. Todos estes aperfei¸coamentos, especial-mente as t´ecnicas alg´ebricas, foram cada vez mais consideradas, e novas vers˜oes foram melhoradas sucessivamente, fazendo parte de programas computacionais de PL.
T´ecnicas de decomposi¸c˜ao foram estudadas desde 1953, por´em, tais t´ecnicas eram na ´epoca impratic´aveis ou ineficientes. No entanto, com a publica¸c˜ao em 1959, do algoritmo Dantzig-Wolfe, o interesse por estas t´ecnicas cresceu muito.
Em 1958, Dorfman, Samuelson e Solow publicaram “Linear Programming and
Eco-nomic Analysis”, onde foi feita uma aplica¸c˜ao sistem´atica da PL `a economia. E as aplica¸c˜oes da PL `a economia tornaram-se parte da pr´opria evolu¸c˜ao da ciˆencia econˆomica.
algorit-mos para resolver problemas de PL, um trabalho de Klee e Minty ilustrou, atrav´es de um exemplo patol´ogico, que o Simplex pode apresentar um crescimento exponencial no tempo de computa¸c˜ao (quando todos os v´ertices s˜ao pesquisados antes que se encontre a solu¸c˜ao ´otima). Despertou-se, ent˜ao, um grande interesse pela busca de um prov´avel algoritmo com tempo polinomial.
Em 1979, atrav´es do trabalho de Khachian e em 1984, com o algoritmo de Kar-markar, os algoritmos de pontos interiores mostraram-se de complexidade polinomial. Entretanto, para problemas de grande porte, utilizam-se algoritmos de pontos interio-res.
O desenvolvimento de computadores pessoais potentes no in´ıcio da d´ecada de 80 foi essencial para uma dissemina¸c˜ao ainda maior da Programa¸c˜ao Linear e da Pesquisa Operacional.
Uma boa forma de se avaliar o potencial da Pesquisa Operacional e da Programa¸c˜ao Linear ´e atrav´es de aplica¸c˜oes que resultam em substanciais economias de divisas. A associa¸c˜ao norte-americana de Pesquisa Operacional, Institute for Operations Research
and Management Science (INFORMS) promove anualmente um concurso para
selecio-nar as melhores aplica¸c˜oes (Franz Edelmn prize), as quais s˜ao publicadas no peri´odico
Interfaces.
O leitor interessado em maiores informa¸c˜oes a respeito desse hist´orico aqui levan-tado, poder´a procur´a-las nas referˆencias bibliogr´aficas [3], [4], [10], [11], [15], [16], [17] e [21].
1.2
Modelos de Programa¸c˜
ao Linear
Para os problemas de otimiza¸c˜ao, principalmente os encontrados em administra¸c˜ao, economia e na ind´ustria, estamos interessados em tomar decis˜oes que ir˜ao maximizar ou minimizar algumas quantidades. S˜ao de particular importˆancia os problemas de Programa¸c˜ao Matem´atica que dizem respeito ao aproveitamento de recursos escassos e usos alternativos, de forma a satisfazer determinado(s) objetivo(s). Tais problemas s˜ao caracterizados pela infinidade de solu¸c˜oes (programas), processando-se a escolha
da “melhor” solu¸c˜ao em fun¸c˜ao do objetivo pr´e-estabelecido. A solu¸c˜ao que satisfaz simultaneamente as condi¸c˜oes do problema e o objetivo ´e chamada de solu¸c˜ao ´otima.
Das classes de problemas de Programa¸c˜ao Matem´atica, veremos aqui, em particular, a designada por Programa¸c˜ao Linear. O termo linear adv´em do fato de que tanto as restri¸c˜oes (condi¸c˜oes) quanto o objetivo desse tipo de problema podem ser descritos atrav´es de rela¸c˜oes lineares (equa¸c˜oes e inequa¸c˜oes lineares).
Nesta se¸c˜ao vamos dar diversos exemplos de problemas de PL e mostrar como mo-del´a-los matematicamente. Vamos tamb´em mostrar uma solu¸c˜ao geom´etrica para al-guns deles.
1.2.1
Defini¸c˜
ao do problema
Matematicamente, um problema de PL consiste em determinar os valores de n vari´aveis, x1, x2, ..., xn, que tornam m´aximo ou m´ınimo o valor de uma fun¸c˜ao linear
z = f (x1, x2, ..., xn),
sujeito a m restri¸c˜oes ou condi¸c˜oes lineares,
gi(x1, x2, ..., xn) {≥, =, ≤} bi, i = 1, 2, ..., m,
al´em da condi¸c˜ao de n˜ao negatividade das vari´aveis, xj≥ 0, j = 1, 2, ..., n. A fun¸c˜ao z a ser otimizada, ´e chamada de fun¸c˜ao objetivo (f.o.).
1.2.2
Exemplos de modelos de Programa¸c˜
ao Linear
Exemplo 1 - Problema da an´alise das atividades
Este modelo pode ser associado a uma empresa que tem recursos dispon´ıveis para a realiza¸c˜ao de n atividades. O problema consiste em determinar as vari´aveis x1, x2, ..., xn que maximizam a fun¸c˜ao objetivo:
z = n X
j=1 cjxj
sujeito `as restri¸c˜oes n X j=1 aijxj≤ bi, i = 1, 2, ..., m (1.1) xj ≥ 0, j = 1, 2, ..., n. (1.2)
Supondo que as atividades representam a fabrica¸c˜ao de produtos, temos ent˜ao para todo j = 1, 2, ..., n e para todo i = 1, 2, ..., m:
bi : quantidade do recurso i dispon´ıvel para as n atividades, com bi≥ 0, ∀i; xj : n´ıvel de produ¸c˜ao da atividade j;
cj : lucro na produ¸c˜ao da atividade j;
aij : quantidade de recurso i necess´ario `a produ¸c˜ao de uma unidade do produto j. NOTAS:
1. A fun¸c˜ao objetivo z a ser maximizada representa o lucro total da empresa nessas n atividades.
2. As restri¸c˜oes em (1.1) indicam que o total gasto de recurso i nas atividades, deve ser menor ou no m´aximo igual `a quantidade bi dispon´ıvel destes recursos.
3. As restri¸c˜oes em (1.2) eliminam a possibilidade de n´ıveis negativos.
Exemplo 2 - Problema de Transporte
O modelo dos transportes tem por objetivo minimizar o custo total do transporte necess´ario para atender n centros distribuidores (destinos) a partir de m centros forne-cedores (origens). Vamos definir xij com (xij ≥ 0) como o n´umero de unidades enviadas da origem i para o destino j. Se ai representa o n´umero de unidades do produto dis-pon´ıveis na origem i, e bj o n´umero de unidades requeridas no destino j, ent˜ao:
n X
j=1
xij = xi1+ xi2+ ... + xin≤ ai, i = 1, 2, ..., m,
o que implica que n˜ao se pode enviar mais mercadorias de qualquer uma origem do que as dispon´ıveis nesta origem.
´
E preciso suprir cada destino com o n´umero de unidades desejadas, ou seja, m
X i=1
xij = x1j+ x2j+ ... + xmj ≥ bj, j = 1, 2, ..., n.
Isso implica que a quantidade total recebida em qualquer destino ´e a soma das quanti-dades recebidas de cada origem. Evidentemente, deve-se ter
m X i=1 ai ≥ n X j=1 bj
a fim de que as necessidades dos mercados possam ser satisfeitas.
Se cij ´e o custo de envio de uma unidade da origem i para o destino j, ent˜ao o modelo tem a seguinte forma:
minimizar z = n X j=1 m X i=1 cijxij sujeito a n X j=1 xij ≤ ai, i = 1, 2, ..., m m X i=1 xij ≥ bj, j = 1, 2, ..., n xij ≥ 0, ∀i, ∀j
Observa¸c˜ao: conforme nota¸c˜ao usual da literatura de PL, abreviaremos os termos “sujeito a, maximizar e minimizar” por “s.a., max e min”, respectivamente.
Exemplo 3 - Problema de multiper´ıodo
Este ´e um problema que envolve a estocagem de uma quantidade de produto de um per´ıodo para o seguinte.
Considere uma f´abrica de suco de laranja com capacidade de moer 4.000 caixas de laranjas por mˆes. A f´abrica disp˜oe de diversos pomares, atualmente totalizando 10.000 caixas de laranjas para serem colhidas e mo´ıdas nos pr´oximos trˆes meses. A produtividade esperada nos pr´oximos trˆes meses ´e de 2.6, 2.9 e 2.8 toneladas de suco por mil caixas de laranja. Deseja-se determinar um esquema de funcionamento/colheita da f´abrica que maximize a quantidade de suco produzida [5].
O problema consiste em determinar a quantidade (em mil caixas) de laranjas a ser processada em cada um dos trˆes meses. Denote por xj as vari´aveis que v˜ao indicar o n´ıvel de produ¸c˜ao da f´abrica no mˆes j: ´e claro que 0 ≤ xj ≤ 4. Deve-se observar que os valores a serem atribu´ıdos a estas vari´aveis est˜ao relacionados entre si atrav´es da quantidade de laranjas que permanece no p´e no final do mˆes.
Seja sj a quantidade (em mil caixas) de laranjas que est˜ao no p´e ao final de cada mˆes. Observe que estas vari´aveis de n´ıvel de estoque est˜ao associadas `a atividade de armazenagem de um per´ıodo para outro e servem de acoplamento entre os per´ıodos do horizonte de planejamento:
s1= 10 − x1 ≥ 0 s2= s1− x2 ≥ 0 s3= s2− x3 ≥ 0.
Assim, o problema pode ser formulado por:
max 2.6x1+ 2.9x2+ 2.8x3 s.a. x1 + s1 = 10 x2 − s1+ s2 = 0 x3 − s2+ s3= 0 xj ≤ 4, j = 1, 2, 3 x1, x2, x3, s1, s2, s3≥ 0
De um modo geral, problemas de estoque s˜ao modelados na forma
min X k ckxk+X k dkxk s.a. Axk− sk−1+ sk = bk, ∀k xk , sk ≥ 0, ∀k
onde os vetores de vari´aveis xk e sk denotam os vetores de produ¸c˜ao do per´ıodo k e de estoque do per´ıodo k − 1 para o per´ıodo k. Os vetores ck, dk e bk representam os vetores de custos de produ¸c˜ao, de custos de estoque e de reposi¸c˜ao de recursos do per´ıodo k, e a matriz A ´e matriz de produ¸c˜ao supostamente comum a todos os per´ıodos. Note que, para cada per´ıodo e para cada recurso, a quantidade estocada no per´ıodo anterior
mais a quantidade produzida menos a quantidade estocada para o per´ıodo seguinte ´e igual `a demanda do per´ıodo. A matriz de restri¸c˜oes do problema ´e esparsa e pode ser visualizada como uma matriz bloco angular:
I A −I I A −I . .. ... ... I A −I
No caso espec´ıfico da laranja ´e poss´ıvel considerar uma perda de estoque causada por frutas que caem do p´e antes de serem colhidas. Supondo que isto ocorre a uma taxa ak no per´ıodo k, ent˜ao as equa¸c˜oes de cada per´ıodo passam a ser expressas na forma:
Axk− ak−1sk−1+ sk = 0, ∀k.
Exemplo 4 - Problema de multiproduto
Considere uma empresa com diversas f´abricas que produzem diferentes produtos a partir de um conjunto de recursos. Seja ck
j o custo de produ¸c˜ao do produto j na f´abrica k; bk
i a disponibilidade do recurso i na f´abrica k; dj a quantidade total a ser produzida do produto j (demanda) e aij o coeficiente de produ¸c˜ao do recurso i para o produto j supostamente comum a todas as f´abricas.
O problema de multiproduto consiste em determinar vari´aveis xk
j que minimizam o custo total de produ¸c˜ao satisfazendo as demandas e utilizando os recursos dispon´ıveis em cada f´abrica: min X k ckxk s.a. Axk = bk, ∀k P xk = d xk ≥ 0, ∀k
Note que a matriz de restri¸c˜oes do problema ´e esparsa e pode ser visualizada como uma matriz bloco angular com acoplamento:
A A . .. A I I · · · I
Exemplo 5 - Problema da dieta mais econˆomica
O modelo da dieta pode ser associado a uma pessoa que deseja minimizar o custo da sua dieta di´aria. As atividades representam o consumo dos alimentos que entram na dieta, e os recursos s˜ao os nutrientes que n˜ao podem deixar de ser supridos na dieta. O problema consiste em encontrar x1, x2, ..., xn que minimizem o custo da dieta, onde s˜ao dados os custos unit´arios de cada alimento j, as quantidades m´ınimas exigidas dos nutrientes e a quantidade de nutrientes em cada alimento.
Definindo:
xj : quantidade (a ser determinada) do alimento j na dieta; cj : custo unit´ario do alimento j;
bi : quantidade m´ınima do nutriente i que deve ser obtida dos alimentos; aij: quantidade do nutriente i fornecida por uma unidade do alimento j, podemos formular o problema como se segue:
min z = c1x1+ c2x2+ ... + cnxn s.a. a11x1+ a12x2+ ... + a1nxn ≥ b1 a21x1+ a22x2+ ... + a2nxn ≥ b2 ... am1x1+ am2x2+ ... + amnxn≥ bm xj ≥ 0, j = 1, 2, ..., n
De maneira mais compacta, temos: min z = n X j=1 cjxj s.a. n X j=1 aijxj ≥ bi, i = 1, 2, ..., m xj ≥ 0, j = 1, 2, ..., n (1.3) NOTAS:
1. A fun¸c˜ao objetivo z a ser minimizada, representa o custo total da dieta a ser realizada com os n alimentos.
2. A primeira restri¸c˜ao em (1.3) indica que o total do nutriente i obtido dos m alimentos deve ser maior ou igual `a quantidade m´ınima bi deste nutriente.
Exemplo 6 - Um exemplo particular do problema da dieta
Uma m˜ae deseja que seu filho pequeno obtenha no m´ınimo 1 mg de Tiamina, 5 mg de Niacina e 400 calorias a partir de sua refei¸c˜ao matinal, que pode consistir de farinha l´actea, ou de leite em p´o, ou de uma mistura dos dois.
Supondo que 100 g de farinha l´actea cont´em 0,3 mg de Tiamina, 3,0 mg de Niacina e 330 calorias, enquanto 100 g de leite em p´o cont´em 0,75 mg de Tiamina, 0,75 mg de Niacina e 360 calorias; e que 100 g de farinha l´actea e 100 g de leite em p´o custam R$ 1,20 e R$ 1,50 respectivamente, qual ´e o PL que minimiza o custo dessa refei¸c˜ao? [10]
Como no Exemplo 5, sejam x1 e x2 as quantidades (em 100 g) de farinha l´actea e leite em p´o, respectivamente, que devem ser consumidas diariamente pela crian¸ca.
O custo total, em reais, com a alimenta¸c˜ao da crian¸ca ´e dada por:
z = f (x1, x2) = 1, 2x1+ 1, 5x2
O objetivo da m˜ae ´e minimizar o custo total, sendo suas possibilidades limitadas pelas seguintes restri¸c˜oes relativas ao regime alimentar (di´ario) da crian¸ca:
isto ´e, a quantidade (em mg) de Tiamina a ser consumida diariamente, deve ser maior ou igual `a quantidade (em mg) m´ınima necess´aria de Tiamina por dia.
Analogamente para a Niacina,
3, 00x1+ 0, 75x2 ≥ 5
e para as calorias
330x1+ 360x2≥ 400
Sabendo-se que as quantidades de farinha l´actea e leite em p´o a serem fornecidas dia-riamente s˜ao n˜ao negativas, isto ´e, x1 ≥ 0 e x2 ≥ 0, temos ent˜ao, o modelo de PL que permite estabelecer a “dieta” da crian¸ca:
min z = 1, 2x1+ 1, 5x2 s.a. 0, 30x1+ 0, 75x2 ≥ 1 3, 00x1+ 0, 75x2 ≥ 5 330 x1+ 360 x2≥ 400 x1, x2≥ 0
Observa¸c˜ao: existem na realidade algumas restri¸c˜oes impl´ıcitas no modelo, que ap´os uma an´alise mais detalhada do problema podem se tornar importantes. Al´em disso, os parˆametros do modelo podem envolver algumas incertezas ou n˜ao serem conhecidos. Por exemplo, existem restri¸c˜oes impl´ıcitas que limitam a quantidade m´axima de leite em p´o e ou de farinha l´actea, que n˜ao foram consideradas porque se espera a priori, que n˜ao sejam ultrapassados esses limites.
Apesar das limita¸c˜oes e de simplifica¸c˜oes introduzidas nos modelos, a experiˆencia tem revelado que a PL ´e uma das ferramentas mais utilizadas na resolu¸c˜ao de problemas reais que envolvem formula¸c˜oes de modelos matem´aticos.
1.2.3
Formula¸c˜
ao matem´
atica do problema geral de Programa¸c˜
ao
Linear
Veremos agora os conceitos da Programa¸c˜ao Linear em que se asseguram a cons-tru¸c˜ao de modelos que descrevem as inter-rela¸c˜oes entre as componentes de um sistema.
De forma geral, a preocupa¸c˜ao fundamental da PL ´e o estudo do comportamento de um conjunto complexo ou sistema, onde se pressup˜oe que este sistema ´e decomposto em fun¸c˜oes elementares que chamaremos de atividades.
Uma atividade consiste em produzir certo conjunto de produtos a partir de um determinado conjunto de fatores; ela ´e caracterizada por ser as propor¸c˜oes entre seus “bens”(fatores e produtos) fixas e bem determinadas. A medida quantitativa de cada atividade ´e chamada “n´ıvel da atividade”. Como ´e sempre poss´ıvel associar `a cada ati-vidade unit´aria um certo lucro (custo), o problema de PL, do ponto de vista econˆomico, ´e o de determinar os n´ıveis das diversas atividades que maximizam o lucro total (mi-nimizam o custo total), respeitando as limita¸c˜oes impostas pela disponibilidade dos recursos, quantidade e qualidade dos produtos.
Os exemplos anteriores tˆem em comum o fato de poderem ser formulados de acordo com um modelo matem´atico bastante geral, que consiste em determinar os valores n˜ao negativos das vari´aveis xj, j = 1, 2, ..., n, que satisfazem um sistema de m equa¸c˜oes e/ou inequa¸c˜oes lineares, e que minimizam (maximizam), uma fun¸c˜ao (real)z = z(x) linear dessas vari´aveis, isto ´e,
min z = c1x1+ c2x2+ ... + cnxn (1.3) s.a. a11x1+ a12x2+ ... + a1jxj+ ... + a1nxn ≤, =, ≥ b1 a21x1+ a22x2+ ... + a2jxj+ ... + a2nxn ≤, =, ≥ b2 ... ai1x1+ ai2x2+ ... + aijxj+ ... + ainxn ≤, =, ≥ bi (1.4) ... am1x1+ am2x2+ ... + amjxj+ ... + amnxn ≤, =, ≥ bm x1, x2, ..., xj, ..., xn ≥ 0, (1.5) onde:
i) As vari´aveis xjs˜ao chamadas vari´aveis principais ou de decis˜ao (vari´aveis do modelo). ii) A fun¸c˜ao dada por (1.3) ´e chamada fun¸c˜ao objetivo (f.o.), ou fun¸c˜ao crit´erio. iii) As equa¸c˜oes e inequa¸c˜oes (1.4) s˜ao chamadas restri¸c˜oes e as desigualdades xj ≥ 0 em (1.5) s˜ao chamadas de condi¸c˜oes de n˜ao negatividade.
iv) As constantes aij, bi e cj (parˆametros fornecidos pelo modelo) s˜ao chamadas res-pectivamente, de coeficientes t´ecnicos, termos independentes (constantes de restri¸c˜ao) e coeficientes da fun¸c˜ao objetivo.
v) Em cada restri¸c˜ao se verifica uma e s´o uma das rela¸c˜oes ≤, = ou ≥.
1.2.4
Formas de apresenta¸c˜
ao do modelo de Programa¸c˜
ao
Li-near
Devido `a utilidade de se considerar certos aspectos da PL, em especial o problema da dualidade, o modelo ´e normalmente apresentado em uma das seguintes formas t´ıpicas:
max z = cTx s.a. Ax ≤ b x ≥ 0 ou min z = cTx s.a. Ax ≥ b x ≥ 0
As duas formas acima s˜ao chamadas de forma canˆonica e s˜ao t˜ao gerais quanto a forma definida em (1.3), (1.4) e (1.5), pois ´e sempre poss´ıvel dar a qualquer problema uma dessas formas. Para isso, basta observar o seguinte:
a) Para passar o valor da fun¸c˜ao objetivo de m´aximo (max) para m´ınimo (min), ou vice-versa, basta multiplicar os coeficientes cj por (−1) e trocar ainda o sinal da f.o., isto ´e, min n X j=1 cjxj = −max n X j=1 (−cj)xj
b) Para inverter o sentido de desigualdades nas restri¸c˜oes, basta, tamb´em, multiplicar por (−1) ambos os membros das desigualdades:
n X j=1 aijxj ≥ bi⇒ n X j=1 (−aij)xj≤ −bi
c) Uma restri¸c˜ao com igualdade ´e equivalente a duas desigualdades simultˆaneas: n X j=1 aijxj = bi⇔ n X j=1 aijxj ≤ bi n X j=1 aijxj ≥ bi
d) Qualquer vari´avel xj livre (vari´avel irrestrita em sinal) pode, sempre, ser substitu´ıda por xj = x ′ j− x ′′ j, com x ′ j , x ′′
j ≥ 0 e qualquer vari´avel xj ≤ 0 pode ser substitu´ıda por xj= −x
′
j, com x
′
j ≥ 0. e) Uma restri¸c˜ao do tipo
am1x1+ am2x2+ ... + amnxn ≥ bm
pode ser transformada numa restri¸c˜ao de igualdade subtraindo uma nova vari´avel de excesso, sm≥ 0:
am1x1+ am2x2+ ... + amnxn− sm= bm.
Por outro lado, para as restri¸c˜oes do tipo
am1x1+ am2x2+ ... + amnxn ≤ bm
basta acrescentar uma nova vari´avel de folga sm≥ 0, o que corresponde a transformar a restri¸c˜ao dada na equa¸c˜ao
am1x1+ am2x2+ ... + amnxn+ sm= bm.
Com base nessas observa¸c˜oes, podemos efetuar a mudan¸ca da forma de apresenta¸c˜ao de qualquer modelo de PL para a chamada forma padr˜ao que ´e:
max z = cTx s.a. Ax = b x ≥ 0 ou min z = cTx s.a. Ax = b x ≥ 0
onde A ´e uma matriz de ordem m × n, geralmente com m < n.
Observa¸c˜ao: a forma padr˜ao ´e particularmente importante porque nos permite re-solver sistemas de equa¸c˜oes lineares (ao inv´es de inequa¸c˜oes) e ´e a forma utilizada pelo m´etodo Simplex.
A forma canˆonica ´e uma forma que aparece naturalmente em duas situa¸c˜oes. Por exemplo, os problemas da dieta e o da an´alise de atividades, se apresentam na forma canˆonica, com fun¸c˜ao objetivo de m´ınimo e de m´aximo respectivamente. Observe nos exemplos a seguir que ´e poss´ıvel transformar um problema qualquer de PL em um problema de PL na forma padr˜ao:
Exemplo 7 - Problema com vari´avel n˜ao-positiva
min z = x1− 3x2 s.a. 3x1+ x2 ≤ 5 2x1− x2 ≤ 3 x1≥ 0, x2≤ 0
Para colocar na forma padr˜ao como um problema de m´ınimo basta fazer a seguinte mudan¸ca de vari´avel: x′
2= −x2, x
′
2≥ 0 e acrescentar as vari´aveis de folga x3 e x4, de modo que teremos:
min z = x1+ 3x ′ 2 s.a. 3x1− x ′ 2+ x3 = 5 2x1+ x ′ 2 + x4 = 3 x1, x ′ 2, x3, x4≥ 0
Exemplo 8 - Problema com vari´avel n˜ao-positiva e com vari´avel livre
O problema a seguir pode ser colocado como um problema na forma padr˜ao com fun¸c˜ao objetivo de m´aximo: min z = x1− 2x2+ x3 s.a. 2x1+ x2− 3x3 ≤ 9 −x1+ 5x2+ x3≥ 5 x1 ≥ 0, x2≤ 0, x3 livre
Para isto, procedemos como a seguir:
1. multiplicamos os coeficientes das vari´aveis na fun¸c˜ao objetivo por (−1) e trocamos o sinal da fun¸c˜ao objetivo, ou seja, min z = x1−2x2+x3 = −max (−z) = −x1+2x2−x3; 2. mudan¸ca de vari´avel: x′ 2= −x2, x ′ 2≥ 0; 3. mudan¸ca de vari´avel: x3= x′3− x ′′ 3, x ′ 3≥ 0 e x ′′ 3 ≥ 0;
4. acrescentamos a vari´avel de folga x4 na restri¸c˜ao (1) e a vari´avel de excesso x5 na restri¸c˜ao (2).
Deste modo, teremos:
max −z = −x1− 2x ′ 2− x ′ 3+ x ′′ 3 s.a. 2x1− x ′ 2− 3x ′ 3+ 3x ′′ 3+ x4 = 9 −x1− 5x ′ 2+ x ′ 3− x ′′ 3 − x5 = 5 x1, x ′ 2, x ′ 3, x ′′ 3, x4, x5 ≥ 0
1.2.5
Hip´
oteses b´
asicas da Programa¸c˜
ao Linear
As hip´oteses seguintes j´a foram utilizadas nas formula¸c˜oes anteriores: (1) Proporcionalidade (propriedade multiplicativa)
Dada a vari´avel xj, ent˜ao:
(i) sua contribui¸c˜ao na restri¸c˜ao i ´e aijxj; (ii) sua contribui¸c˜ao na fun¸c˜ao objetivo ´e cjxj.
O item (i) ´e bem razo´avel: se 100g de farinha l´actea cont´em 330 calorias, ent˜ao 200g de farinha l´actea conter˜ao 660 calorias.
O item (ii) n˜ao ´e t˜ao razo´avel: se o custo de produ¸c˜ao de uma unidade de certo produto ´e R$ 10,00, ent˜ao o custo de produ¸c˜ao de 100 unidades deste produto pode ser menor do que R$ 1000,00, pois este custo (por unidade) tende a cair com o aumento do n´umero de unidades produzidas.
(2) Aditividade
(i) o consumo total de um determinado recurso ´e a soma dos consumos de cada atividade indiviual;
(ii) o custo total ´e a soma dos custos individuais.
O item (i) parece ser bem colocado. Tomando ainda o problema da dieta, a quantidade total de calorias exigida na refei¸c˜ao ´e a soma das quantidades de calorias existentes na farinha l´actea e no leite em p´o: 300x1+ 360x2.
O item (ii) nem sempre ´e v´alido. Por exemplo, se misturarmos v´arios metais para fazer uma liga, n˜ao ´e verdade que o peso da liga ´e igual `a soma dos pesos dos metais em separado.
(3) Divisibilidade (continuidade das vari´aveis)
Esta hip´otese assegura que as vari´aveis podem assumir qualquer valor real, em geral, em um certo intervalo (por exemplo, x ≥ 0). Se as vari´aveis assumem apenas valores inteiros, temos a Programa¸c˜ao Linear Inteira em vez de Programa¸c˜ao Linear.
(4) Hip´otese Determin´ıstica
Todos os coeficientes de custos, recursos e produ¸c˜ao, s˜ao conhecidos com exatid˜ao. N˜ao pode haver incerteza ou aleatoriedade.
1.3
Solu¸c˜
ao gr´
afica de problemas de Programa¸c˜
ao
Linear
Problemas de PL envolvendo duas vari´aveis podem ser resolvidos graficamente de maneira bastante simples; sendo os problemas de trˆes vari´aveis de dif´ıcil solu¸c˜ao gr´afica e os que apresentam mais de trˆes vari´aveis, imposs´ıveis de serem resolvidos graficamente [12].
A interpreta¸c˜ao geom´etrica dos problemas de PL permite pˆor em evidˆencia propri-edades importante de tais problemas, bem como a natureza das suas solu¸c˜oes [12].
Vamos considerar o seguinte problema de PL: max z = 6x1+ 3x2 s.a. x1+ x2 ≤ 220 (a) x1+ 2x2 ≤ 360 (b) x1 ≤ 160 (c) x1, x2≥ 0
Constru´ımos um sistema de eixos cartesianos x10x2, e identificamos os valores de x1 e x2 que satisfa¸cam todas as restri¸c˜oes. As condi¸c˜oes de n˜ao negatividade x1, x2 ≥ 0, indicam que todos os pontos (x1, x2) admiss´ıveis do problema, encontram-se no primeiro quadrante. As restri¸c˜oes x1+2x2 ≤ 360 e x1+x2 ≤ 220 imp˜oem que (x1, x2) encontram-se abaixo ou sob as retas x1+ 2x2= 360 e x1+ x2= 220, e a restri¸c˜ao x1 ≤ 160 significa que (x1, x2) est´a a esquerda da reta x1 = 160.
A Figura 1.1 ilustra o gr´afico, onde a regi˜ao sombreada indica o conjunto dos pontos que satisfazem todas as restri¸c˜oes (conjunto das solu¸c˜oes vi´aveis).
Figura 1.1: regi˜ao vi´avel
Para determinar um ponto ´otimo (ponto que maximiza o valor de z = 6x1+ 3x2) situado na regi˜ao das solu¸c˜oes admiss´ıveis, procedemos como se segue:
1. determinamos o gradiente de z, ∇z, dado por (∂z ∂x1,
∂z
2. deslocamos no sentido do gradiente a reta de n´ıvel, dada por
{(x1, x2) ∈ R2/ 6x1+ 3x2= z0}, perpendicular ao gradiente de z, at´e encontrar o(s) ´
ultimo(s) ponto(s) de contato com a regi˜ao admiss´ıvel. A Figura 1.2 a seguir, ilustra esse procedimento. Note que o ´ultimo ponto encontrado ´e o ponto F = (160, 60), intersec¸c˜ao das retas x1+ x2 = 220 e x2 = 160. O valor da f.o. neste ponto ´e dado por z = 6 × 160 + 3 × 60 = 960 + 180 = 1140.
Figura 1.2: solu¸c˜ao ´otima (max)
Neste caso dizemos que problema tem solu¸c˜ao ´otima ´unica x∗ = (160 , 60) e valor ´otimo da f.o. z∗ = 1140.
Exemplo 10 - Problema de minimiza¸c˜ao
Vamos considerar agora o seguinte problema de PL: min z = 2x1+ 3x2 s.a. x1+ x2≤ 10 (a) 5x1+ x2≥ 10 (b) x1+ 2x2≥ 4 (c) x1, x2≥ 0
Procedendo de maneira semelhante `a anterior, observando que para determinar o(s) ponto(s) que minimiza(m) o valor de z = 2x1+ 3x2 , devemos deslocar a reta de n´ıvel
(dentro da regi˜ao admiss´ıvel) no sentido contr´ario ao sentido de gradiente de z, como ilustrado na Figura 1.3. Neste caso, o ponto ´otimo ´e dado por F = (16
9, 10
9), intersec¸c˜ao das retas (b) e (c). Em F o valor da f.o. ´e dado por z = 2 ×169 + 3 ×109 = 329 +309 = 629.
Figura 1.3: regi˜ao vi´avel e solu¸c˜ao ´otima (min)
O problema possui solu¸c˜ao ´otima ´unica x∗ = (16 6,
10
9) e valor ´otimo da f.o. z ∗= 62
9.
1.3.1
Tipos de solu¸c˜
oes de um problema de Programa¸c˜
ao
Li-near
Nos exemplos anteriores, as solu¸c˜oes ´otimas dos problemas dados eram ´unicas. En-tretanto, h´a casos excepcionais onde os problemas apresentam m´ultiplas solu¸c˜oes, ou n˜ao apresentam solu¸c˜ao.
Exemplo 11 - Solu¸c˜oes ´otimas alternativas
max z = 2x1+ x2 s.a. 3x1+ 4x2 ≤ 12 (a) 2x1+ x2≤ 5 (b) x1, x2 ≥ 0
A resolu¸c˜ao gr´afica deste problema est´a representada na Figura 1.4, de onde podemos concluir que, tanto o ponto A quanto o ponto B conduzem ao mesmo valor m´aximo da f.o., z = 5, porque a f.o. ´e paralela `a segunda restri¸c˜ao. Portanto, qualquer ponto pertencente `a aresta AB ´e tamb´em solu¸c˜ao ´otima. Neste caso existe uma infinidade de solu¸c˜oes ´otimas, chamadas de solu¸c˜oes ´otimas alternativas.
Figura 1.4: solu¸c˜oes ´otimas alternativas
Exemplo 12 - Solu¸c˜ao n˜ao-limitada
max z = 2x1+ 3x2 s.a. 3x1+ 2x2≥ 6 (a) −x1+ x2≤ 1 (b) x2≤ 4 (c) x1, x2 ≥ 0
A Figura 1.5 mostra a regi˜ao vi´avel e a solu¸c˜ao ´otima deste problema.
Nesse caso, a fun¸c˜ao objetivo pode assumir qualquer valor arbitrariamente grande. Portanto, n˜ao existe um valor m´aximo finito para z. Note que o conjunto solu¸c˜ao ´e ilimitado. Neste caso dizemos que o problema ´e ilimitado, ou que z → ∞.
Figura 1.5: regi˜ao vi´avel ilimitada
limitada (dada pelo ponto B = (2, 0)), apesar do conjunto das solu¸c˜oes admiss´ıveis ser n˜ao limitado.
Exemplo 13 - Valor ´otimo da f.o. finito num conjunto de solu¸c˜ao ilimitado
max z = −2x1+ 4x2 s.a. − x1+ x2≤ 1 (a) −2x1+ 4x2≤ 8 (b) x1, x2≥ 0
O conjunto das solu¸c˜oes vi´aveis desses problema est´a mostrado na Figura 1.6.
Neste caso, z = 8 ´e o m´aximo valor da fun¸c˜ao objetivo. Entretanto, todo ponto (x1, x2) pertencente `a semi-reta −2x1+ 4x2 = 8 com extremidade inicial no ponto G = (2, 3) conduz a z = 8 e, portanto, ´e uma solu¸c˜ao ´otima do problema.
Exemplo 14 - Restri¸c˜oes incompat´ıveis
No exemplo que segue, ilustrado pela Figura 1.7, vemos que o problema n˜ao possui solu¸c˜ao vi´avel. Suas restri¸c˜oes s˜ao incompat´ıveis ou, seu conjunto de solu¸c˜oes vi´aveis ´e
Figura 1.6: solu¸c˜oes ´otimas alternativas v´azio. max z = x1+ 2x2 s.a. x1+ x2 ≥ 3 (a) 2x1+ x2≤ 2 (b) x1, x2 ≥ 0
Figura 1.7: restri¸c˜oes incompat´ıveis
Observa¸c˜ao: um fato importante que notamos em todos estes exemplos ´e que a solu¸c˜ao ´otima, quando existe, ocorre sempre em pelo menos um v´ertice do conjunto de solu¸c˜oes admiss´ıveis ou regi˜ao vi´avel.
Fundamentos Matem´
aticos da
Programa¸c˜
ao Linear
Ser˜ao apresentados neste cap´ıtulo alguns dos aspectos matem´aticos fundamentais da teoria da Programa¸c˜ao Linear referentes `as condi¸c˜oes para existˆencia de solu¸c˜oes do problema, visto que, para compreender os principais aspectos te´oricos da Programa¸c˜ao Linear, ´e indispens´avel conhecer um conjunto de conceitos e elementos matem´aticos, principalmente no campo da ´algebra linear, dos quais podemos destacar: combina¸c˜ao linear convexa, conjuntos convexos, solu¸c˜oes b´asicas de sistemas lineares, al´em de re-sultados importantes nos quais se fundamentam a teoria da PL e do m´etodo Simplex.
2.1
Caracteriza¸c˜
ao do conjunto solu¸c˜
ao
Nesta se¸c˜ao vamos come¸car a analisar a estrutura alg´ebrica da solu¸c˜ao de um pro-blema de Programa¸c˜ao Linear, que denotaremos apenas por propro-blema de PL.
Defini¸c˜ao 2.1.1. Um vetor b ∈ Rn ´e uma combina¸c˜ao linear dos vetores a1, a2, ..., ar ∈ Rn se b = λ 1a1+ λ2a2+ ... + λrar = r X i=1
λiai, onde λi s˜ao n´umeros reais quaisquer, i = 1, 2, ..., r [1].
Defini¸c˜ao 2.1.2. Um vetor b ∈ Rn ´e uma combina¸c˜ao linear convexa dos vetores a1, a2, ..., ar ∈ Rn se b = r X i=1 λiai, onde λi≥ 0, i = 1, 2, ..., r e r X i=1 λi= 1.
Defini¸c˜ao 2.1.3. Um vetor b ∈ Rn ´e uma combina¸c˜ao linear n˜ao negativa dos vetores a1, a2, ..., ar ∈ Rn se for combina¸c˜ao linear e tiver todos os valores de λ
i n˜ao negativos [2].
Na figura abaixo cada um dos vetores x3, x4 e x5´e uma combina¸c˜ao linear convexa de x1 e x2, para α ∈ R, 0 ≤ α ≤ 1.
Figura 2.1: combina¸c˜ao linear convexa de dois vetores
2.1.1
Retas, hiperplanos e semiespa¸cos
Veremos agora uma generaliza¸c˜ao do conceito de reta e plano (no R2 e R3) num espa¸co de dimens˜ao n maior que trˆes.
Defini¸c˜ao 2.1.4. No R2 (plano) uma reta 2 X
i=1
aixi = b com ai, b ∈ R, separa o plano em duas regi˜oes chamadas semiplanos. As inequa¸c˜oes
2 X i=1 aixi ≥ b e 2 X i=1 aixi ≤ b repre-sentam esses dois semiplanos [21].
No R3 (espa¸co) um plano 3 X
i=1
aixi= b, ai, b ∈ R, separa o R3 em duas regi˜oes chamadas semiespa¸cos. As inequa¸c˜oes
3 X i=1 aixi ≥ b e 3 X i=1 aixi≤ b representam esses dois semiespa¸cos [2].
Defini¸c˜ao 2.1.5. Um hiperplano em Rn´e um conjunto dos pontos da forma©x ∈ Rn/aTx = bª, onde a ∈ Rn
e ´e n˜ao nulo e b ∈ R.
O hiperplano separa o Rnem duas regi˜oes que tamb´em s˜ao chamadas de semiespa¸cos. As inequa¸c˜oes n X i=1 aixi≥ b e n X i=1
aixi ≤ b representam esses dois semiespa¸cos.
Defini¸c˜ao 2.1.6. Chamamos de semiespa¸co fechado ao conjunto de pontos da forma ©
x/pTx ≥ kª ou ©x/pTx ≤ kª
, onde p ∈ Rn
´e um vetor n˜ao nulo, x ∈ Rn e k ´e um escalar.
NOTA:
Em problemas de PL, a fun¸c˜ao objetivo (a ser maximizada ou minimizada) z =X i
cixi, ´e um hiperplano para um dado valor de z. Como os valores ci s˜ao constantes, os hiperplanos que correspondem aos diferentes valores de z s˜ao paralelos, pois tˆem o mesmo vetor normal. Portanto, para maximizar (minimizar) z, o hiperplano deve ser deslocado paralelo a si mesmo atrav´es da regi˜ao das solu¸c˜oes admiss´ıveis at´e que o valor de z seja o maior (menor) poss´ıvel.
2.2
Conjuntos convexos
A convexidade do conjunto de solu¸c˜oes vi´aveis de um problema de PL ´e importante para garantir que uma solu¸c˜ao ´otima do problema ´e atingida quando nenhum v´ertice adjacente for melhor do que o atual. Explicaremos estes conceitos no Cap´ıtulo 3.
Defini¸c˜ao 2.2.1. X ´e um conjunto convexo se para quaisquer pontos x1, x2 ∈ X, o segmento de reta unindo estes pontos encontra-se tamb´em em X. Em outras palavras, se x1, x2 ∈ X, ent˜ao todo ponto x = λx1+ (1 − λ)x2, com λ ∈ [0 , 1] tamb´em pertence a X.
As Figuras 2.2.a e 2.2.b representam um conjunto convexo e um n˜ao convexo.
Figura 2.2: Conjuntos convexo e n˜ao convexo
Proposi¸c˜ao 2.2.1. O conjunto de todas as combina¸c˜oes convexas de um n´umero finito de pontos x1, x2, ...xm´e um conjunto convexo. Isto ´e, o conjunto definido por
X = ( x/x = m X i=1 λixi, ∀λi≥ 0, i = 1, 2, ..., m, e m X i=1 λi= 1 )
´e um conjunto convexo.
DEMONSTRAC¸ ˜AO:
Sejam u e v dois pontos quaisquer de X, tais que u = m X i=1 λ′ix i ; λ′i ≥ 0, e m X i=1 λ′i = 1 e v = m X i=1 λ′′ix i ; λ′′i ≥ 0, e m X i=1
λ′′i = 1. X ser´a convexo se αv + (1 − α)u ∈ X, ∀α ∈ [0 , 1]. Substituindo as express˜oes de u e v, teremos
αv + (1 − α)u = α m X i=1 λ′′ix i + (1 − α) m X i=1 λ′ix i = m X i=1 [αλ′′i + (1 − α)λ ′ i]x i = m X i=1 µixi onde µi = αλ ′′ i + (1 − α)λ ′
i ≥ 0 uma vez que os escalares α, λ
′
i e λ
′′
i pertencem ao intervalo fechado [0 , 1]. Como
m X i=1 µi = α m X i=1 λ′′i + (1 − α) m X i=1 λ′i = α + (1 − α) = 1,
conclu´ımos que αv + (1 − α)u tamb´em ´e uma combina¸c˜ao convexa dos pontos xi e portanto, X ´e convexo.
Teorema 2.2.1. A intersec¸c˜ao finita de conjuntos convexos ´e ainda um conjunto
con-vexo. Em outras palavras: Se Xi (i = 1, 2, ..., n) s˜ao conjuntos convexos, ent˜ao X = n \ i=1 Xi ´e convexo. DEMONSTRAC¸ ˜AO: Se x1, x2 ∈ X ent˜ao x1, x2 ∈ X i (i = 1, ..., n) e o segmento x = λx1+ (1 − λ)x2 ∈ Xi, i = 1, 2, ..., n, λ ∈ [0 , 1], pois todos os Xi s˜ao convexos. Em outras palavras, x ∈ X. Logo X =
n \ i=1
Xi ´e convexo.
Proposi¸c˜ao 2.2.2. Um hiperplano H ´e um conjunto convexo.
DEMONSTRAC¸ ˜AO:
Considere o hiperplano na forma: H = ©x ∈ Rn/cTx = zª,
c ∈ Rn,
z ∈ R. Se x1, x2∈ H, isto ´e, cTx1= z e cTx2= z ent˜ao x = λx1+ (1 − λ)x2∈ H, pois
cTx = cT[λx1+ (1 − λ)x2] = λcTx1+ (1 − λ)cTx2 = λz + (1 − λ)z = z.
Proposi¸c˜ao 2.2.3. Um semiespa¸co ´e um conjunto convexo.
DEMONSTRAC¸ ˜AO:
Considere o semiespa¸co fechado H =©x ∈ Rn/cTx ≤ bª
, c ∈ Rn
, b ∈ R. Sejam x1, x2 ∈ H. Ent˜ao cTx1≤ b e cTx2≤ b.
Seja x a combina¸c˜ao linear convexa de x1 e x2, isto ´e, x = λx1+ (1 − λ)x2, λ ∈ [0 , 1]. cTx = cT(λx1 + (1 − λ)x2) = λcTx1+ (1 − λ)cTx2 ≤ λb + (1 − λ)b = b. Portanto, cTx ≤ b ⇒ x ∈ H ⇒ H ´e convexo.
Teorema 2.2.2. O conjunto de solu¸c˜oes de um problema de PL ´e um conjunto convexo.
DEMONSTRAC¸ ˜AO:
Segue dos resultados anteriores. Vamos supor o problema na forma padr˜ao, isto ´e, o conjunto de solu¸c˜oes ´e da forma:
Seja ai a linha i da matriz A, i = 1, 2, ..., m. Ent˜ao
Ax = b ⇔ aix = bi (∗), i = 1, 2, ..., m,
ou seja, cada equa¸c˜ao de (∗) (hiperplano) ´e um conjunto convexo. Al´em disso, x ≥ 0 ⇔ xj≥ 0, j = 1, 2, ..., n, isto ´e, cada inequa¸c˜ao destas ´e um conjunto convexo (semiespa¸co fechado).
Finalmente, o conjunto de solu¸c˜oes de um problema de PL ´e a intersec¸c˜ao de hiperpla-nos e semiespa¸cos e o teorema 2.2.1 garante que a intersec¸c˜ao de conjuntos convexos ´e convexo.
Defini¸c˜ao 2.2.2. Definimos um politopo como a intersec¸c˜ao de um n´umero finito de semiespa¸cos fechados. Pode ser vazio, ilimitado ou limitado.
O exemplo da Figura 2.3 ´e de um politopo ilimitado.
Figura 2.3: Politopo
Defini¸c˜ao 2.2.3. Um ponto de um conjunto convexo X ´e um ponto extremo de X, ou
v´ertice de X se, e somente se, n˜ao existem pontos x1, x2, x1-= x2 no conjunto, tais que x = λx1+ (1 − λ)x2, ∀λ ∈ [0 , 1], ou seja, x n˜ao pode ser escrito como combina¸c˜ao linear convexa de dois pontos distintos de X.
No exemplo seguinte, B e C s˜ao pontos extremos do conjunto convexo, ao passo que F n˜ao ´e.
Figura 2.4: Exemplo de ponto extremo e n˜ao extremo
Defini¸c˜ao 2.2.4. O conjunto de todas as combina¸c˜oes convexas de um n´umero finito de pontos ´e chamado de poliedro convexo gerado por esses pontos.
NOTA: alternativamente, podemos definir um poliedro como a interse¸c˜ao de um n´umero finito de semiespa¸cos fechados. Dessa forma, todo poliedro convexo ´e um conjunto fechado. Quando a interse¸c˜ao de um n´umero finito de semiespa¸cos fechados n˜ao ´e limitada, ´e chamada de regi˜ao poli´edrica ilimitada.
2.2.1
Raio e dire¸c˜
oes
Defini¸c˜ao 2.2.5. Raio ´e uma cole¸c˜ao de pontos da forma {x0+ λd, λ ≥ 0} onde d ´e um vetor n˜ao nulo que representa a dire¸c˜ao e x0 ´e o v´ertice do raio.
A Figura 2.5 ilustra um conjunto de raios, com origem no ponto extremo x0.
Defini¸c˜ao 2.2.6. Dado um conjunto convexo, um vetor n˜ao nulo d ´e chamado dire¸c˜ao
do conjunto se, para cada x0desse conjunto, o raio {x0+ λd, λ ≥ 0} tamb´em pertence ao conjunto [15].
Figura 2.5: Conjunto de raios Figura 2.6: Dire¸c˜oes de um conjunto
Uma ilustra¸c˜ao pode ser vista na Figura 2.6.
Em outras palavras, partindo de algum ponto no conjunto, existe a possibilidade de se mover na dire¸c˜ao d para alguma medida de comprimento λ ≥ 0 e permanecer dentro do conjunto.
´
E claro que neste caso, se o conjunto ´e limitado, ele n˜ao tem dire¸c˜ao.
Considere o conjunto poli´edrico n˜ao vazio X = {x/Ax ≤ b, x ≥ 0}. Ent˜ao um vetor d n˜ao nulo ´e uma dire¸c˜ao de X se, e somente se,
A(x + λd) ≤ b e x + λd ≥ 0
para cada λ ≥ 0 e cada x ∈ X. Como x ∈ X, isto ´e, Ax ≤ b, ent˜ao, a primeira ine-qua¸c˜ao (Ax + λAd ≤ b) se mant´em satisfeita com λ ≥ 0 podendo ser arbitrariamente grande se, e somente se Ad ≤ 0. Similarmente x + λd ´e n˜ao negativo para valores de λ que podem ser arbitrariamente grandes, se, e somente se d ≥ 0. Para resumir, d ´e uma dire¸c˜ao de X se, e somente se d ≥ 0, d -= 0 e Ad ≤ 0.
O conjunto das dire¸c˜oes em qualquer caso forma um conjunto convexo.
Defini¸c˜ao 2.2.7. Uma dire¸c˜ao extrema de um conjunto convexo ´e uma dire¸c˜ao do conjunto que n˜ao pode ser representada como uma combina¸c˜ao linear positiva de duas
dire¸c˜oes distintas do conjunto.
Dois vetores, d1e d2, s˜ao distintos ou n˜ao equivalentes, se d1 n˜ao pode ser representado como um m´ultiplo de d2.
A Figura 2.7, ilustra as dire¸c˜oes extremas d1 e d2 de um conjunto convexo. As outras dire¸c˜oes do conjunto (combina¸c˜ao linear positiva de d1 e d2) est˜ao dentro do cone gerado por d1 e d2.
Figura 2.7: Dire¸c˜oes extremas de um conjunto
NOTA: qualquer raio contido no conjunto convexo cuja dire¸c˜ao ´e uma dire¸c˜ao extrema ´e chamado de raio extremo.
Exemplo 15 - Dire¸c˜oes extremas de um conjunto convexo Considere o conjunto X = x1− 2x2≥ −6 (a) x1− x2≥ −2 (b) x2≥ 1 (c) x1 , x2 ≥ 0
ilustrado na Figura 2.8. Seja x0 = x1
x2
um ponto vi´avel desse conjunto e d =
d1 d2
Figura 2.8: Dire¸c˜oes extremas de um conjunto
Para acompanhar a defini¸c˜ao, vamos colocar as inequa¸c˜oes de X com desigualdades do tipo ≤: X = −x1+ 2x2≤ 6 −x1+ x2 ≤ 2 − x2≤ −1 x1 , x2 ≥ 0 com A = −1 2 −1 1 0 −1 .
Temos que d ´e uma dire¸c˜ao de X se e somente se d ≥ 0, d -= 0 e Ad ≤ 0.
Ad ≤ 0 ⇒ −d1+ 2d2≤ 0 −d1+ d2≤ 0 −d2≤ 0 ⇒ d1≥ 2d2 d1≥ d2 d2≥ 0
Como d1≥ 2d2 e d1 ≥ d2, ent˜ao d1≥ 2d2. Al´em disso, d1≥ 0 e d2 ≥ 0. Portanto d1 d2
´e uma dire¸c˜ao de X se e somente se d1 d2 -= 0 0 d1≥ 0, d2≥ 0 e d1≥ 2d2.
Neste exemplo, podemos representar graficamente o sistema
Ad ≤ 0 d ≥ 0
como na Figura 2.9 abaixo, onde inclu´ımos a restri¸c˜ao d1+ d2 = 1 para que a dire¸c˜ao fique normalizada: −d1+ 2d2≤ 0 (1) −d1+ d2≤ 0 (2) − d2 ≤ 0 d1+ d2= 1 (3) d1, d2≥ 0
A solu¸c˜ao deste sistema de inequa¸c˜oes ´e o segmento de reta AB.
Em A temos que d1= 1, d2= 0 ⇒ d1= 1 0 .
O ponto B resulta de d1+ d2= 1 e d1 = 2d2 ⇒ 2d2+ d2= 1 ⇒ d2= 13 e d1 = 23. Logo
d2= 2 3 1 3 .
Assim, o conjunto X dado pelo Exemplo 15 possui duas dire¸c˜oes extremas: d1 = 1 0 e d2= 2 3 1 3
Figura 2.9: Dire¸c˜oes extremas do conjunto de restri¸c˜oes
Qualquer dire¸c˜ao d ≥ 0 de X pode ser expressa por combina¸c˜ao linear positiva de d1 e d2, isto ´e, d = λ 1 0 + µ 2 3 1 3 , λ ≥ 0, µ ≥ 0.
O pr´oximo teorema mostra como um ponto que est´a no conjunto das solu¸c˜oes vi´aveis de um problema de PL pode ser escrito em fun¸c˜ao de seus pontos extremos e suas dire¸c˜oes extremas:
Teorema 2.2.3. Teorema Geral da Representa¸c˜ao
Seja X = {x/Ax ≤ b, x ≥ 0} um conjunto (poli´edrico) n˜ao vazio. Ent˜ao seu con-junto de pontos extremos ´e n˜ao vazio e possui um n´umero finito de pontos extremos
x1, x2, ..., xk. Al´em disso, o conjunto de dire¸c˜oes extremas ´e vazio se, e somente se X
´e limitado. Se X ´e ilimitado, ent˜ao o conjunto de dire¸c˜oes extremas ´e n˜ao vazio e possui um n´umero finito de vetores d1, d2, ..., dl. E mais: x ∈ X se, e somente se x
pode ser representado como uma combina¸c˜ao linear convexa de x1, x2, ..., xk mais uma
combina¸c˜ao linear n˜ao negativa de d1, d2, ..., dl, isto ´e,
x = k X j=1 λjxj+ l X j=1 µjdj (2.1) com Pkj=1λj = 1, λj ≥ 0, j = 1, 2, ..., k e µj ≥ 0, j = 1, 2, ..., l.
NOTA: uma prova para o teorema pode ser encontrado em Bazaraa e outros [18].
Exemplo 16 - Teorema geral da representa¸c˜ao Vamos considerar o conjunto X dado no Exemplo 15:
X = x1− 2x2≥ −6 (a) x1− x2 ≥ −2 (b) − x2≥ 1 (c) x1 , x2≥ 0
A Figura 2.11 mostra os pontos extremos e as dire¸c˜oes extremas de X (que j´a calcula-mos): x1= 0 1 , x2 = 0 2 , x3= 2 4 ; d1 = 1 0 e d2= 2 3 1 3 .
Assim, qualquer ponto x de X pode ser expresso por meio dos pontos extremos e das dire¸c˜oes extremas de X, isto ´e,
x = 3 X j=1 λjxj+ 2 X j=1 µjdj = λ1 0 1 + λ2 0 2 + λ3 2 4 + µ1 1 0 + µ2 2 3 1 3 . Vamos colocar algumas situa¸c˜oes como exemplo:
Figura 2.11: Pontos extremos e dire¸c˜oes extremas de X
i) O ponto x = 1
3
pode ser representado por uma combina¸c˜ao linear convexa de
x2 e x3, pois x = 1 3 = 1 2 0 2 + 1 2 2 4 isto ´e, λ2 = λ3= 12. ii) O ponto y = 1, 5 3, 25
pode ser representado por uma combina¸c˜ao linear convexa de x1 e x3, pois est´a no segmento de reta que une x1 a x3:
y = 1, 5 3, 25 = 0, 25 0 1 + 0, 75 2 4 , isto ´e, λ1 = 0, 25 e λ3= 0, 75.
iii) A representa¸c˜ao do ponto z = 3
4
j´a envolve a dire¸c˜ao d2 e os pontos extremos x1 e x3: