po apostila completa

Download PO Apostila Completa

If you can't read please download the document

Upload: luciane-crystal

Post on 05-Dec-2014

114 views

Category:

Documents


13 download

TRANSCRIPT

Pesquisa Operacional

Engenharia de Produo DEPROT / UFRGS Profs. Flavio Fogliatto, Ph.D.

1. INTRODUO PESQUISA OPERACIONAL A Pesquisa Operacional (PO) trata da modelagem matemtica de fenmenos estticos ou dinmicos. Os problemas estticos so denominados por determinsticos. Nestes problemas, todos os componentes so conhecidos a priori e nenhuma aleatoriedade em sua ocorrncia admitida. Os problemas dinmicos so denominados estocsticos, e seus elementos apresentam uma probabilidade de ocorrncia em uma determinada forma. Este material aborda problemas determinsticos de Pesquisa Operacional. Os problemas de PO existem desde longa data. Somente a partir da 2a Grande Guerra, todavia, passaram a ser tratados a partir de uma abordagem organizada, sendo organizados na forma de uma disciplina ou rea do conhecimento (Ravindran et al., 1987). Os primeiros casos reportados de aplicao da PO foram, em virtude de sua origem, de carter militar. Somente aps o final da Segunda Grande Guerra, problemas civis passaram a ser estudados pela PO. Os primrdios da PO encontram-se descritos no trabalho de Trefethen (1954). Ravindran, A., Phillips, D.T. & Solberg, J.J. (1987). Operations Research, Principles and Practice, 2nd Ed.. New York: John Wiley. Trefethen, F.N. (1954). A History of Operations Research, in Operations Research for Management, J.F. McCloskey & F.N. Trefethen (Eds.). Baltimore: Johns Hopkins Press.

1

EmentaINTRODUO 1. Programao Matemtica 2. Reviso de lgebra Linear 3. Uso de pacotes computacionais na soluo de problemas PROGRAMAO LINEAR 1. Introduo Programao Linear 2. O algoritmo Simplex

Prof. Fogliatto

Pesquisa Operacional

2

Dois eventos motivaram o rpido desenvolvimento da PO. O primeiro foi o desenvolvimento de um algoritmo simples para solucionar problemas de programao linear (isto , problemas determinsticos de PO), denominado algoritmo simplex e proposto por George Dantzig em 1947. Tal algoritmo permitiu a resoluo manual de diversos problemas de PO, especialmente aqueles de baixa complexidade. O segundo foi a proliferao dos microcomputadores e o rpido aumento em sua velocidade de processamento. Problemas de PO so usualmente modelados na forma de uma funo objetivo (por exemplo, maximizar o lucro da empresa) e diversas restries (associadas, por exemplo, disponibilidade de matrias-primas, mo-de-obra, etc.). A chave do algoritmo simplex est no formato da regio limitada pelas restries, comum a todos os problemas de PO, conforme verificado por Dantzig; tal regio denominada simplex. Quaisquer dois pontos selecionados no contorno de um simplex, quando unidos por uma linha, resultam em uma linha interiamente contida dentro do simplex. A partir dessa constatao, a busca pela soluo tima em problemas de PO passou a ser limitada a pontos extremos da regio simplex, o que permitiu o desenvolvimento de um algoritmo de baixa complexidade computacional por Dantzig.

2

EmentaMODELOS DE REDES 1. O problema do transporte 2. O problema da designao 3. O problema do transbordo 4. Modelos de Redes TPICOS AVANADOS 1. Programao Inteira

Prof. Fogliatto

Pesquisa Operacional

3

Os problemas determinsticos de PO podem ser classificados em duas categorias genricas: problemas de programao (i) linear e (ii) no-linear. Somente os problemas de programao linear podem ser resolvidos pelo algoritmo simplex. Um problema qualquer de programao linear um problema de otimizao (isto , busca pela melhor dentre vrias situaes, utilizando um critrio prestabelecido de otimalidade), com as seguintes caractersticas (Bronson & Naadimuthu, 1997): o problema possui um conjunto de variveis manipulveis no procedimento de busca pelo timo; essas so as variveis de deciso do problema. uma funo objetivo compe o critrio de otimalidade, sendo escrita em termos das variveis de deciso do problema. A funo objetivo uma funo linear das variveis de deciso, devendo ser maximizada ou minimizada. os valores assumidos pelas variveis de deciso devem satisfazer um conjunto de restries, que compem a regio de solues viveis do problema. as variveis de deciso podem assumir valores pr-estabelcidos no domnio dos nmeros reais (isto , valores positivos, negativos ou ambos).

3

Referncias BibliogrficasLIVRO-TEXTO: Operations Research, Applications and Algorithms, de Wayne L. Winston, 3a. Ed., Duxburry Press. Adicionais (no mesmo nvel): 1. Pesquisa Operacional, de Harvey Wagner, 2a. Ed., Prentice-Hall do Brasil. 2. Pesquisa Operacional, de Pierre J. Ehrlich, Ed. Atlas.

Prof. Fogliatto

Pesquisa Operacional

4

A soluo de problemas atravs da Pesquisa Operacional pode ser implementada atravs de um procedimento em sete etapas, conforme apresentado na Figura 1.1. As etapas so auto-explicativas para uma descrio completa das etapas, ver Winston, 1994.

Figura 1.1. A metodologia de Pesquisa Operacional (Winston, 1994).

Bronson, R. & Naadimuthu, G. (1997). Operations Research, 2nd Ed.. New York: McGraw-Hill. Winston, W.L. (1994). Operations Research, Applications and Algorithm, 3rd Ed.. Belmont (CA): Duxburry Press.

4

INTRODUO PROGRAMAO LINEAR Programao Linear uma ferramenta para soluo de problemas de otimizao. Em 1947, George Dantzig desenvolveu o algoritmo SIMPLEX, extremamente eficiente na soluo de problemas de PL. A partir de ento, PL passou a ser utilizada em diversos segmentos da atividade produtiva: Bancos Instituies Financeiras Empresas de Transportes, etc. Vamos introduzir a PL a partir de um exemplo.Prof. Fogliatto Pesquisa Operacional 5

2. PROGRAMAO LINEAR Problemas de programao so modelados tal que o melhor uso de recursos escassos possa ser determinado, conhecidos os objetivos e necessidades do analista. Problemas de programao linear compem uma sub-classe de problemas nos quais a modelagem interiamente expressa em termos de equaes lineares. Parece intuitivo que para ser possvel a soluo de um dado problema atravs da programao linear, o problema deve ser, incialmente, formulado em termos matemticos. A construo de um modelo de programao linear seguetrs passos bsicos (Ravindran et al., 1987): Passo I. Identifique as variveis desconhecidas a serem determinadas (elas so denominadas variveis de deciso) e represente-as atravs de smbolos algbricos (por exemplo, x e y ou x1 e x2). Passo II. Liste todas as restries do problema e expresse-as como equaes (=) ou inequaes (, ) lineares em termos das variveis de deciso definidas no passo anterior. Passo III. Identifique o objetivo ou critrio de otimizao do problema, representando-o como uma funo linear das variveis de deciso. O objetivo pode ser do tipo maximizar ou minimizar.

5

EXEMPLO: O caso PolitoyA Politoy S/A fabrica soldados e trens de madeira. Cada soldado vendido por $27 e utiliza $10 de matria-prima e $14 de mo-de-obra. Duas horas de acabamento e 1 hora de carpintaria so demandadas para produo de um soldado. Cada trem vendido por $21 e utiliza $9 de matria-prima e $10 de mo-de-obra. Uma hora de acabamento e 1 h de carpintaria so demandadas para produo de um trem.

Prof. Fogliatto

Pesquisa Operacional

6

Na sequncia, os passos acima so ilustrados atravs de dois exemplos. Os exemplos foram adaptados de Ravindran et al. (1987). Exemplo 1 - O problema do mix de produo A empresa Dalai-Lama deseja planejar a produo de incensos. Os incensos requerem dois tipos de recursos: mo-de-obra e materiais. A empresa fabrica trs tipos de incenso, cada qual com diferentes necessidades de mo-de-obra e materiais, conforme tabela abaixo:Modelo B 3 4 2

Mo-de-obra (horas por unidade) Materiais (g / unidade produzida) Lucro ($ / unidade)

A 7 4 4

C 6 5 3

A disponibilidade de materiais de 200 g/dia. A mo-de-obra disponvel por dia de 150 horas. Formule um problema de programao linear para determinar quanto deve ser produzido de cada tipo de incenso, tal que o lucro total seja maximizado. Para resolver o problema acima, aplicam-se os passos para a construo de um modelo de programao linear. Passo I - Identifique as variveis de deciso. As atividades a serem determinadas dizem respeito s quantidades de produo dos trs tipos de incenso. Representando essas quantidades em termos algbricos, tem-se:

6

EXEMPLO: O caso PolitoyA Politoy no tem problemas no fornecimento de matria-primas, mas s pode contar com 100 h de acabamento e 80 h de carpintaria. A demanda semanal de trens ilimitada, mas no mximo 40 soldados so comprados a cada semana. A Politoy deseja maximizar seus ganhos semanais. Formule um modelo matemtico a ser utilizado nessa otimizao.

Prof. Fogliatto

Pesquisa Operacional

7

xA = produo diria do incenso tipo A xB = produo diria do incenso tipo B xC = produo diria do incenso tipo C Passo II - Identifique as restries. Neste problema, as restries dizem respeito disponibilidade limitada dos recursos de mo-de-obra e materiais. O tipo A requer 7 horas de mo-de-obra por unidade, e sua quantidade produzida xA. Assim, a demanda por mo-de-obra para o incenso tipo A ser 7xA horas (se considerarmos uma relao linear). Analogamente, os tipos B e C vo requerer 3xB e 6xC horas, respectivamente. Assim, a quantidade total de horas de trabalho demandadas na produo dos trs tipos de incenso ser 7xA + 3xB + 6xC. Sabese que esta quantidade no deve axceder o total de horas disponveis na empresa, isto , 150 horas. Assim, a restrio relacionada a mo-de-obra ser: 7xA + 3xB + 6xC 150 Para obter a restrio relacionada aos materiais, utiliza-se raciocnio similar. A restrio resultante ser: 4xA + 4xB + 5xC 200 Para finalizar, deseja-se restringir as variveis de deciso no domnio dos reais no-negativos (isto , x 0). Essas restries, uma para cada varivel de deciso, so denominadas restries de no-negatividade. Apesar de serem comuns em muitas aplicaes de programao linear, no so necessrias para a utilizao da metodologia.

7

Ao desenvolver um modelo para a Politoy, investigaremos caractersticas comuns a todos os problemas de PL VARIVEIS DE DECISO O primeiro passo na formulao de um problema de PL a definio das variveis de deciso relevantes. Estas variveis devem descrever completamente as decises a serem tomadas. A Politoy deve decidir sobre: x1 = nm. de soldados produzidos a cada semana x2 = nm. de trens produzidos a cada semanaProf. Fogliatto Pesquisa Operacional 8

Passo III - Identifique o objetivo. O objetivo maximizar o lucro total oriundo das vendas dos produtos. Supondo que tudo o que for produzido encontre mercado consumidor, o lucro total resultante das vendas ser: z = 4 xA + 2 xB + 3 xC Assim, o problema de mix de produo apresentado acima pode ser escrito como um modelo de programao matemtica atravs das seguintes expresses: Determine os valores de xA, xB e xC que maximizem: z = 4 xA + 2 xB + 3 xC sujeito s restries: 7xA + 3xB + 6xC 150 4xA + 4xB + 5xC 200 xA 0 xB 0 xC 0.

8

FUNO OBJETIVO Em qualquer problema de PL, o analista sempre vai desejar maximizar (ex., lucro) ou minimizar (ex., custo) alguma funo das variveis de deciso. A funo a ser maximizada (ou minimizada) a funo objetivo. A Politoy deseja maximizar seus ganhos semanais. Ou seja: ganho semanal = ganho semanal oriundo da venda de soldados + ganho semanal oriundo da venda de trens. = ($/soldado).(soldados/sem) + ($/trem).(trem/sem) = 27x1 + 21x2 Tambm devemos considerar: custo semanal com matria-prima: 10x1 + 9x2 custo semanal com mo-de-obra: 14x1 + 10x2

Prof. Fogliatto

Pesquisa Operacional

9

Exemplo 2 - O problema do treinamento Uma empresa de componentes automotivos conduz um programa de treinamentos para seus operadores. Operadores treinados so utilizados como instrutores no programa, na proporo de um para cada dez trainees. O programa de treinamento conduzido durante um ms. Sabe-se que de cada dez trainees contratados, somente sete completam o programa (aqueles que no completam o programa de treinamento so dispensados). Os operadores treinados tambm devem cumprir suas funes usuais de operador. O nmero de operadores treinados necessrios para atender produo nos prximos trs meses vem apresentado abaixo: Janeiro: 100 Fevereiro: 150 Maro: 200 Alm disso, a empresa necessita de 250 operadores treinados para Abril. Existem 130 operadores treinados no incio do ano. As despesas mensais com salrios so as seguintes: Cada trainee: $400 Cada operador treinado (trabalhando nas mquinas ou realizando treinamento): $700 Cada operador treinado ocioso (por fora de acordo sindical, maquinistas ociosos recebem uma frao do seu salrio normal, no podendo, entretanto, ser demitidos): $500

9

FUNO OBJETIVO O que a Politoy deseja maximizar : (27x1 + 21x2) - (10x1 + 9x2) - (14x1 + 10x2) = 3x1 + 2x2 Usaremos a varivel z para designar o valor assumido pela funo objetivo. Assim: Max z = 3x1 + 2x2 Os nmeros 3 e 2 so chamados coeficientes da funo objetivo. Eles indicam a contribuio de cada varivel nos ganhos da empresa.

Prof. Fogliatto

Pesquisa Operacional

10

Deseja-se modelar o problema acima. O objetivo minimizar os custos com pessoal, atendendo demanda de pessoal da empresa. Formulao: Observe, inicialmente, que operadores treinados podem executar, em umdeterminado ms, um das seguinte atividades: (1) trabalhar nas mquinas, (2) realizar treinamento, ou (3) permanecer ocioso. J que o nmero de operadores trabalhando nas mquinas em cada ms fixo, as nicas variveis de deciso desconhecidas so o nmero de operadores realizando treinamento e o nmero de operadores ociosos em cada ms. Assim, as variveis de deciso do problema so: x1 = operadores treinados realizando treinamento em Janeiro x2 = operadores treinados ociosos em Janeiro x3 = operadores treinados realizando treinamento em Fevereiro x4 = operadores treinados ociosos em Fevereiro x5 = operadores treinados realizando treinamento em Maro x6 = operadores treinados ociosos em Maro Segundo as restries de demanda, um nmero suficiente de operadores treinados deve estar disponvel em cada ms para trabalhar nas mquinas. Para garantir esses operadores, deve-se escrever a seguinte equao para cada ms: Nmero nas mquinas + Nmero treinando + Nmero ocioso = Total de operadores disponveis no incio do ms

10

RESTRIES A medida que x1 e x2 crescem, o valor da funo objetivo aumenta. Mas x1 e x2 no podem crescer indefinidamente. Trs restries limitam seu crescimento: Restrio 1 - 100 h de acabamento / semana. Restrio 2 - 80 h de carpintaria / semana Restrio 3 - no mais que 40 soldados / semana, devido a limitaes na prpria demanda. Restries 1 3 devem ser expressas em termos das variveis de deciso x1 e x2.

Prof. Fogliatto

Pesquisa Operacional

11

A restrio para o ms de Janeiro, por exemplo, ser: 100 + x1 + x2 = 130 Em Fevereiro, o nmero total de operadores treinados disponvel ser dado pela soma dos operadores treinados disponveis em Janeiro e aqueles que completaram seu treinamento em Janeiro. Em Janeiro, 10x1 trainees esto em treinamento, mas somente 7x1 deles completam o programa, passando a ser considerados operadores treinados. Assim, a restrio para Fevereiro : 150 + x3 + x4 = 130 + 7x1 Analogamente, para o ms de Maro: 200 + x5 + x6 = 130 + 7x1 + 7x3 Como a empresa necessita de 250 operadores treinados para Abril, mais uma restrio necessria: 130 + 7x1 + 7x3 + 7x5 = 250 Todas as variveis de deciso so no-negativas. Na composio da funo objetivo, os nicos custos relevantes a serem considerados dizem respeito ao programa de treinamento (custo dos trainees e dos operadores realizando o treinamento) e o custo dos operadores ociosos. A funo objetivo : Min z = 400(10x1 + 10x3 + 10x5) + 700(x1 + x3 + x5) + 500(x2 + x4 + x6)

11

RESTRIES Restrio 1: (total hs acabamento/sem.) = (hs.acab./sold.).(sold. produzidos/sem.) + (hs.acab./trem).(trens produzidos/sem.) (total hs acabamento/sem.) = 2(x1) + 1(x2) = 2x1 + x2 A restrio 1 ser dada por: 2x1 + x2

100

Observe que todos os termos de uma restrio devem ter a mesma unidade de medida. Os valores 2 e 1 na restrio so denominados coeficientes tecnolgicos.Prof. Fogliatto Pesquisa Operacional 12

Reunindo funo objetivo e restries (as quais so reorganizadas tal que variveis de deciso so posicionadas esquerda da igualdade), chega-se ao seguinte modelo de programao linear: Min z = 400(10x1 + 10x3 + 10x5) + 700(x1 + x3 + x5) + 500(x2 + x4 + x6) sujeito a: x1 + x2 = 30 7x1 - x3 - x4 = 20 7x1 + 7x3 - x5 - x6 = 70 7x1 + 7x3 + 7x5 = 120 Todas as variveis so no-negativas.

12

Restrio 2 (determinada de maneira similar): (total hs carpintaria/sem.) = (hs.carp./sold.).(sold. produzidos/sem.) + (hs.carp./trem).(trens produzidos/sem.) (total hs carpintaria/sem.) = 1(x1) + 1(x2) = x1 + x2 A restrio 2 ser dada por: x1 + x2 Restrio 3: A restrio 3 definida pela limitao do nmero de soldados produzidos por semana (devido a limitaes na demanda): x1Prof. Fogliatto

80

4013

Pesquisa Operacional

2.1. Modelos de Programao Linear em Formato Padro O formato padro de um problema de programao linear com m restries e n variveis dado por (Bazaraa et al., 1990): Maximizar (ou minimizar): z = c1x1 + c2x2 + ... + cnxn sujeito a: a11x1 + a12x2 + ... + a1nxn = b1 a21x1 + a22x2 + ... + a2nxn = b2

M M am1x1 + am2x2 + ... + amnxn = bmx1 0, x2 0, , xn 0 b1 0, b2 0, , bm 0

Bazaraa, M.S., Jarvis, J.J. & Sherali, H.D. (1990). Linear Programming and Network Flows, 2nd Ed.. New York: John Wiley.

13

RESTRIES DE SINAL Identificam os tipos de valores que as variveis podem assumir. Podem ser de trs tipos: 0 0 irrestrita

Combinando a funo objetivo e as restries, chega-se a formulao matemtica do problema da Politoy: max z = 3x1 + 2x2 Sujeito a: 2x1 + x2 x1 + x2

100 80 x1 40 x1, x2 0

Restrio de horas de acabamento Restrio de horas de carpintaria Restrio de demandaPesquisa Operacional 14

Prof. Fogliatto

Algumas caractersticas importantes do formato padro so: (i) a funo objetivo do tipo maximizar ou minimizar; (ii) todas as restries so expressas como equaes; (iii) todas as variveis so no-negativas; e (iv) a constante no lado direito das restries no-negativa. O formato padro de um problema de programao linear pode ser escrito, tambm, em formato matricial, resultando em uma apresentao mais compacta: Maximizar (ou minimizar): sujeito a: Ax = b x 0 b 0 onde A uma matriz de dimenso (m n), x um vetor (n 1), b um vetor (m 1) e c um vetor transposto (1 n). A matriz A normalmente denominada matriz das restries ou matriz de coeficientes; ela contm os coeficientes tecnolgicos que compem as restries. O vetor x o vetor de deciso, j que contm a lista das variveis de deciso consideradas no problema. O vetor b conhecido como lado direito das restries ou vetor das necessidades; ele indica a disponibilidade de recursos associados cada restrio. Por fim, o vetor c conhecido como vetor de custos do problema; ele contm os coeficientes de custo que compem a funo objetivo. z = cx

14

PRTICA 1:Um fazendeiro deseja determinar quantos acres de milho e trigo ele deve plantar esse ano. Um acre de trigo rende 25 sacas e requer 10 horas de trabalho/semana. A saca vale $4 no mercado. Um acre de milho rende 10 sacas e requer 4 horas de trabalho/semana. A saca vale $3 no mercado. O governo garante a compra de pelo menos 30 sacas de milho/ano. O fazendeiro dispe de 7 acres de terra e pode trabalhar 40 horas/semana. Formule o problema tal que os ganhos do fazendeiro sejam maximizados.

Prof. Fogliatto

Pesquisa Operacional

15

Um problema qualquer de programao linear pode ser facilmente reescrito em formato matricial, facilitando, posteriormente, a operacionalizao do algoritmo simplex. Considere o exemplo ilustrativo abaixo: Maximizar (ou minimizar): z = 5x1 + 2x2 + 3x3 - x4 + x5 sujeito a: x1 + 2x2 + 2x3 + x4 3 x1 + 4 x2 + x3 x1 0, , x5 0 Em notao matricial, tem-se: = 8 + x5 = 7

1 2 2 1 0 A = ( 25 ) 3 4 1 0 1

8 b = ( 21) 7

x1 x 2 x = x3 ( 51) x4 x5

(15 )

c = (5 2 3 1 1)

15

Soluo - Prtica 1 Variveis de Deciso: Deciso x1 = no de acres de milho a serem plantados x2 = no de acres de trigo a serem plantados

Prof. Fogliatto

Pesquisa Operacional

16

Nem todos os problemas de programao linear so formulados em formato padro. No geral, as restries tendem a aparecer no formato de inequaes (, ). O algoritmo simplex, utilizado na soluo dos problemas de programao linear s pode ser rodado se o problema estiver escrito em formato padro. Assim, na maioria das aplicaes, ser necessrio converter inequaes em equaes. Para converter uma inequao em equao, dois tipos de variveis podero ser utilizadas: as variveis de folga e as variveis de excesso. Variveis de folga so utilizadas para converter inequaes do tipo em =; variveis de excesso so utilizadas para converter inequaes do tipo em =. A denominao folga e excesso pode ser facilmente compreendida atravs de exemplos. Considere a restrio x1 10 que indica o nmero mximo de operadores disponveis para executar tarefas no ms 1. Se x1 assumir o valor 10 no ponto timo (ou seja, no alor de x1 que melhor satisfaz funo objetivo do problema), a inequao assume o formato de uma igualdade. Se x1 assumir valores inferiores a 10, o nmero de operadores utilizados ser menor que o nmero disponvel; neste contexto, tem-se uma folga entre o nmero de operadores efetivamente utilizados no ms 1 e o nmero de operadores disponveis. Assim, para transformar a inequao x1 10 em equao, insere-se uma varivel de folga, f1, que poder assumir qualquer valor no-negativo.

16

ESPAO DE SOLUES E SOLUO TIMA O espao de solues formado por todos os pontos que satisfazem as restries do problema. A soluo tima em um problema de maximizao corresponde ao ponto no espao de solues onde o valor da funo objetivo mximo.

Prof. Fogliatto

Pesquisa Operacional

17

Para reescrever o problema em formato padro, as seguintes modificaes so necessrias: (a) A varivel x3 deve ser substituda por x4 x5, sendo x4 0 e x5 0. (b) Os dois lados da ltima restrio devem ser multiplicados por 1; lembre que as restries no formato padro no admitem constantes negativas no lado direito. (c) Introduza uma varivel de folga f1 na primeira restrio e uma varivel de excesso e2 na segunda restrio. Os ndices nessas variveis indicam a restrio onde cada varivel foi introduzida. (d) Aloque coeficientes de custo iguais a 0 nas variveis de folga e excesso. Elas no fazem parte do problema em sua forma original e no devem, assim, alterar a funo objetivo. Seguindo os passos acima, chega-se ao seguinte problema em formato padro: Minimizar: z = 5 x1 2 x2 + 3 x4 3 x5 sujeito a: = 7 x1 + x2 + x4 x5 + f1 e2 = 2 x1 x2 + x4 x5 = 5 3 x1 + x2 + 2 x4 2 x5 x1 0, x2 0, x4 0, x5 0, f1 0, e2 0

17

Representao grfica Representao da restrio 2x1 + 3x2 = 6:x24 3 2

2x1 + 3x2 6 x12 3 4

(0,0)

2x1 + 3x2 6Prof. Fogliatto Pesquisa Operacional

2x1 + 3x2 = 618

Na sequncia, alguns conceitos bsicos de programao linear so introduzidos a partir da representao matricial de um problema genrico de programao, em formato padro. Considere o problema: Maximizar (ou minimizar): sujeito a: Ax = b x 0 1. Uma soluo vivel para o problema acima dada por um vetor no-negativo x que satisfaa as restries Ax = b. 2. O espao de solues viveis do problema acima composto pelo conjunto S de todas as suas solues viveis. Em termos matemticos, z = cx

S = {x Ax = b, x 0}3. Uma soluo tima dada por um vetor xo correspondente a uma soluo vivel que resulta num valor de funo objetivo zo = cxo maior do que os valores de z obtidos para as demais solues viveis do problema. Em tremos matemticos, xo timo se e somente se xo S e cxo cx para todo x S (nesta definio, o smbolo denota pertinncia).

18

Representao grfica do problema Politoyx2100 (2) 80 (4) 60 Ponto timo: (20,60) O espao de solues encontra-se hachurado. (2) - (4) denotam as restries. As restries de sinal restringem o problema ao primeiro quadrante do espao bi-dimens.

Soluo tima: (1) Desenhe o vetor z. (2) Desenhe linhas ortogonais ao vetor z. Essas so as linhas de isocusto. (3) Calcule o valor de z no ponto timo.

40

20

z

(3)

z = 3(20) + 2(60) = 180

Prof. Fogliatto

20

40

Pesquisa Operacional

60

80

100

x119

4. Quando um problema de programao linear apresentar mais de uma soluo tima, diz-se que tal problema possui solues timas alternativas. Neste contexto, existe mais de uma soluo vivel para o problema apresentando o mesmo valor timo zo. 5. A soluo tima em um problema de programao linear dita nica quando no existir nenhuma outra soluo tima alternativa. 6. Quando um problema de programao linear no possuir um soluo finita (ou seja, zo + ou zo ), diz-se que o problema apresenta uma soluo ilimitada.

19

Restries crticas (binding) e no-crticasUma restrio crtica (binding) se, substituindo os valores correspondentes ao ponto timo na restrio, a igualdade de verifica. Ex.: restries (2) e (3) no grfico anterior.

Todas as demais restries so consideradas no-crticas. Ex.: restrio (4) e restries de sinal no grfico anterior.

Prof. Fogliatto

Pesquisa Operacional

20

2.2. Problemas tpicos de programao linear Alguns modelos de programao linear so adaptveis a uma gama de situaes prticas. Esses modelos so considerados como tpicos, por serem aplicados em diversos setores produtivos. Nesta seo, cinco famlias de problemas tpicos sero consideradas: A. Escolha do mix de produo B. Escolha da mistura para raes C. Planejamento dinmico da produo D. Distribuio de produtos atravs de uma rede de transportes Outras famlias de problemas tpicos podem ser encontradas nos slides 31 a 60 desta apostila. Os exemplos que se seguem foram adaptados de Wagner (1985).

Wagner, H.M. (1985). Pesquisa Operacional, 2a Ed.. So Paulo: Prentice-Hall do Brasil.

20

Outro exemplo:Solucione graficamente o problema e identifique o tipo de conjunto de solues resultante. Um empresa de eletrodomsticos planeja veicular seus produtos em comerciais de TV durante a novela das 8 e os jogos da seleo na Copa. Comerciais na novela so vistos por 7 milhes de mulheres e 2 milhes de homens e custam $50000. Comerciais nos jogos so vistos por 2 milhes de mulheres e 12 milhes de homens, e custam $100000. Qual a distribuio ideal de comerciais se a empresa deseja que eles sejam vistos por 28 milhes de mulheres e 24 milhes de homens a um menor custo possvel?

Prof. Fogliatto

Pesquisa Operacional

21

A. Escolha do Mix de Produo Neste tipo de problema, o analista deseja determinar nveis para atividades de produo. Os problemas consideram um horizonte de programao finito. Os nveis (ou intensidade de produo) de cada atividade sofrem restries de carter tecnolgico e prtico. As restries so expressas em termos matemticos, a partir das variveis de deciso selecionadas para o problema. Suponha uma empresa com quatro tipos distintos de processos e dois produtos, manufaturados a partir destes processos. Os insumos considerados para cada processo/produto so as horas disponveis de produo e as quantidades disponveis das matrias-primas. A empresa deseja uma programao da produo para a semana seguinte. Os dados do problema vm resumidos na tabela abaixo.

21

Variveis de deciso: x1 = num. de comerciais veiculados durante a novela. x2 = num. de comerciais veiculados durante os jogos Funo objetivo: Min z = 50x1 + 100x2 A soluo grfica ... Restries: Pblico feminino: 7x1 + 2x2 28 Pblico masculino: 2x1 + 12x2 24 x1, x2 0 Soluo tima: (3.6, 1.4) com z = $320. A soluo nica.Prof. Fogliatto Pesquisa Operacional 22

A formulao do problema do mix de produo, utilizando as variveis de deciso identificadas na tabela, dada por: Max z = 4xA1 + 5xB1 + 9xA2 + 11xB2 sujeito : 1xA1 + 1xB1 + 1xA2 + 1xB2 7xA1 + 5xB1 + 3xA2 + 2xB2 15 (mo-de-obra) 120 (material Y)

3xA1 + 5xB1 + 10xA2 + 15xB2 100 (material Z) xA1, xB1, xA2, xB2 0 (no-negatividade) A funo objetivo busca maximizar os lucros oriundos da produo (e conseqente venda) de cada produto. As restries dizerm respeito aos insumos, tendo sido formuladas diretamente da Tabela na pgina anterior. Uma vez tendo suas informaes organizadas em uma tabela, a maioria dos problemas de programao linear so de fcil formulao.

22

x2 10

Ponto timo no inteiro: Testar pontos (4,1), (3,2), (4,2), checando restries e z. Usar programao inteira.

8

6

Ponto timo: (3.6, 1.4)

4

2

zProf. Fogliatto

2

4

6

8

10

x123

Pesquisa Operacional

B. Escolha da mistura para raes Neste tipo de problema, o analista deseja determinar nveis de utilizao de matrias-primas na composio de uma rao alimentar. As restries normalmente dizem respeito a caractersticas nutircionais desejadas para o produto acabado, quantidades de matrias-primas e insumos disponveis e demanda a ser atendida. Suponha um problema no qual uma rao deva ser elaborada a partir da mistura de quatro tipos de gros. Quatro nutrientes so considerados no produto final. As informaes que compem as restries e funo objetivo do problema vm apresentadas na tabela abaixo.

23

CASOS ESPECIAIS:(1) Problemas com solues alternativas (vrias solues so simultaneamente timas). Nestes casos, a linha de isocusto, ao abandonar o espao de solues viveis, intersecciona com uma linha inteira (e no somente um ponto) desse conjunto.

Prof. Fogliatto

Pesquisa Operacional

24

A formulao do problema da mistura para raes, utilizando as variveis de deciso identificadas na tabela, dada por: Min z = 41x1 + 35x2 + 96x3 sujeito : 2 x1 + 3 x2 1 x1 + 1 x2 5 x1 + 3 x2 + 7 x3 1250 (nutriente A) 250 (nutriente B) 900 (nutriente C)

0,6x1 + 0,25x2 + 1x3 232,5 (nutriente D) Todas as variveis de deciso na formulao acima so restritas a valores nonegativos. Um segundo conjunto de restries poderia ser acrescentado formulao acima: restries relacionadas s quantidades disponveis de cada tipo de gro. Da mesma forma que as restries acima foram escritas diretamente das linhas da tabela na pgina anterior, as restries de disponibilidade de gros seriam obtidas das colunas da Tabela.

24

CASOS ESPECIAIS:(2) Problemas com soluo tendendo ao infinito.

Nestes casos, as restries formam um espao aberto de solues viveis. Se a funo objetivo for do tipo max, z e a formulao do problema pode estar incorreta. Se for do tipo Min, uma ou mais solues sero encontradas.

Prof. Fogliatto

Pesquisa Operacional

25

C. Planejamento dinmico da produo Os exempos vistos anteriormente contemplavam formulaes em um nico perodo de tempo. Em situaes reais, pode-se desejar formular o problema para gerar solues especficas para diferentes perodos de tempo. Neste caso, sero necessrias as formulaes do tipo multiperodo. Considere um problema onde as disponibilidades de matria-prima, mo de obra, alm dos lucros unitrios com a venda de produtos variem com o tempo. A estocagem de produtos de um perodo at perodos futuros admitida, apesar de um custo de estocagem ser praticado. Esse um exemplo de programao dinmica. A diviso deste tipo de problema em sub-problemas que contemplem um nico perodo no oferece bons resultados, j que aspectos como a estocagem de produtos acabados para atender demanda futura no so considerados.

25

CASOS ESPECIAIS:(3) Problemas sem soluo

Nestes casos, as restries no formam nenhum espao de solues viveis.

Prof. Fogliatto

Pesquisa Operacional

26

Suponha uma empresa fabricante de dois tipos de eletrodomsticos, mquinas de lavar loua e mquinas de lavar roupas. A demanda esperada (em unidades) para os prximos quatro trimestres vem dada no quadro abaixo.

Produto Lava-louas Lava-roupas

Designao Et Mt

Vendas esperadas (unidd/trimestre) 1 2 3 4 2000 1300 3000 1000 1200 1500 1000 1400

Durante este horizonte de planejamento, deseja-se utilizar a mo-de-obra disponvel da melhor maneira possvel e produzir as quantidades necessrias de cada tipo de mquina. Estoques so admitidos (ou seja, pode-se estocar mquinas montadas em um trimestre para atender a demanda em trimestres subsequentes). Alm disso, a fora-de-trabalho malevel, sendo admitidas demisses e contrataes. Os custos de produo (matrias-primas), mo-de-obra e estocagem de mquinas vem apresentados na tabela abaixo.

26

Resolva graficamente o problema formulado na Prtica 1

Prof. Fogliatto

Pesquisa Operacional

27

Tipo de custo Designao ct Lava-louas (matrias-primas) vt Lava-roupas (matrias-primas) jt Estocagem lava-louas kt Estocagem lava-roupas pt Hora de trabalho

Soluo grfica do problema:

Custos unitrios por trimestre 1 2 3 4 125 130 125 126 90 100 95 95 5 4,5 4,5 4 4,3 3,8 3,8 3,3 6 6 6,8 6,8

Observe que todas as variveis de deciso so dependentes do tempo. Em outras palavras, a medida que os trimestres passam, os custos de manufatura e estocagem mudam. Cada lava-louas demanda 1,5 horas de trabalho e cada lava-roupas demanda 2 horas de trabalho. No incio do 1o trimestre, 5000 horas de trabalho esto disponveis. Por fora de acordo sindical, a variao mxima permitida na forade-trabalho em um determinado trimestre no deve ultrapassar 10% (ou seja, de um trimestre para o outro, no permitido demitir ou contratar mais de 10% dos funcionrios em atividade no trimestre de origem). As variveis de deciso do problema so: dt = no de lava-louas produzidas durante o trimestre t. wt = no de lava-roupas produzidas durante o trimestre t. rt = estoque de lava-louas disponvel no final do trimestre t, descontadas as mquinas utilizadas para suprir a demanda naquele trimestre.

27

Outro exerccio Um fabricante deseja maximizar a receita. A tabela mostra as composies das ligas, seus preos e as limitaes na disponibilidade de matria-prima:Itens / Atividades Liga tipo A Liga tipo B Disponibilidade 2 1 16 Cobre 1 2 11 Zinco 1 3 15 Chumbo $30 $50 Preo de Venda

Formule o problema e encontre a soluo tima graficamente.

Prof. Fogliatto

Pesquisa Operacional

28

Soluo do exerccio:

28

Problemas Tpicos de Formulao

Escolha da dieta

Scheduling de pessoal Deciso Financeira Problema da Mistura Programao da Produo

Prof. Fogliatto

Pesquisa Operacional

29

Para garantir que a variao no nvel da fora-de-trabalho no exceda 10% no primeiro trimestre, so escritas as restries: h1 0,9 (5000) o que resulta em h1 4500 e h1 5500 As restries para o primeiro trimestre podem ser reescritas para os trimestres t = 2,,4 conforme apresentado abaixo: dt + rt-1 - rt = Et wt + st-1 - st = Mt 1,5dt + 2wt - ht 0 ht 0,9ht-1 e ht 1,1ht-1 A funo objetivo deve considerar a minimizao de todos os custos incidentes da fabricao, mo-de-obra e estocagem das mquinas nos quatro trimestres. Matematicamente, ela dada por: Minimizar [(c1d1 + v1w1 + j1r1 + k1s1 + p1h1) + (c2d2 + v2w2 + j2r2 + k2s2 + p2h2) + (c3d3 + v3w3 + j3r3 + k3s3 + p3h3) + (c4d4 + v4w4 + j4r4 + k4s4 + p4h4)]. e h1 1,1(5000)

29

FORMULAO 1: Escolha de dietaQuatro tipos de alimentos esto disponveis na elaborao da merenda de um grupo de crianas: biscoito de chocolate, sorvete, refrigerante e torta de queijo. A composio desses alimentos e seus preos so:Alimento (poro) Biscoito Sorvete Refrig. Torta queijo Calorias Chocolate (g) 3 2 0 0 Aucar (g) 2 2 4 4 Gordura (g) 2 4 1 5 Preo (poro) 0.5 0.2 0.3 0.8

400 200 150 500

As crianas devem ingerir pelo menos 500 calorias, 6 g de chocolate, 10 g de acar, e 8 g de gordura. Formule o problema tal que o custo seja minimizado.Prof. Fogliatto Pesquisa Operacional 30

D. Distribuio de produtos atravs de uma rede de transportes Os modelos de rede possuem, na maioria dos casos, uma estrutura com m pontos de fornecimento e n pontos de destino. O problema de programao linear consiste na definio do melhor caminho (ou rota) a ser utilizada para fazer com que uma determinada quantidade de produtos de um ponto de fornecimento chegue um ponto de destino. Problemas de planejamento dinmico da produo tambm podem ser tratados atravs de modelos de redes. Neste caso, a deciso passa a ser quanto produzir num determinado ms para consumo naquele ms e quanto deve ser produzido para estoque, para consumo nos meses subseqentes. Suponha uma empresa com m plantas distribudas em um determinado pas. A produo mxima de cada planta designada por Si, onde o ndice i designa a planta em questo (i = 1,, m). Existem n pontos de demanda a serem abastecidos pela empresa. Cada ponto de demanda requer Dj unidades do produto em questo. O ndice j denota os pontos de demanda, tal que j = 1,, n. Associado a cada par (i, j) existe um custo cij, que o custo de fornecer o produto ao ponto de demanda j a partir da planta i. O problema acima pode ser organizado em uma tabela, conhecida como tableau dos transportes. Essa tabela vem apresentada a seguir.

30

Variveis de deciso: x1 = pores de biscoitos; x2 = pores de sorvete; x3 = pores de refrigerante; x4 = pores de torta de queijo;

Funo objetivo: (custo total) = (custo dos biscoitos) + (custo do sorvete) + (custo do refrigerante) + (custo da torta de queijo) Min z = 50 x1 + 20 x2 + 30 x3 + 80 x4

Prof. Fogliatto

Pesquisa Operacional

31

Figura 2.2.1. Tableau dos transportes (Fonte: Wagner, 1986).A formulao de um problema de transportes pode ser obtida diretamente das linhas e colunas do table na Figura 2.2.1. As restries de fornecimento (capacidade) so obtidas das linhas da tabela; as restries de demanda, das colunas da tabela.

31

Restries: (1) Ingesto mnima de 500 calorias; (2) Ingesto mnima de 6 g de chocolate; (3) Ingesto mnima de 10 g de acar; (4) Ingesto mnima de 8 g de gordura. (1) 400 x1 + 200 x2 + 150 x3 + 500 x4 500 (2) 3 x1 + 2 x2 3 (3) 2 x1 + 2 x2 + 4 x3 + 4 x4 10 (4) 2 x1 + 4 x2 + x3 + 5 x4 8 Variveis 0.

Prof. Fogliatto

Pesquisa Operacional

32

Seja xij o nmero de unidades remetidas da planta i ao ponto de fornecimento j. O custo associado remessa de uma unidade do produto de i para j cij. O modelo matemtico do problema descrito acima dado por: Minimizar sujeito a:

c xi =1 j =1

m

n

ij ij

xj =1

n

ij

Si , para i = 1,, m (capacidade)

xi =1

m

ij

Dj

, para j = 1,, n (demanda)

xij 0Observe que uma soluo tima para o problema pode indicar uma mesma planta fornecendo para vrios pontos de demanda, ou um ponto de demanda recebendo os produtos demandados de diversas plantas.

32

FORMULAO 2: Otimizao da Fora de TrabalhoUma agncia de correios necessita de um nmero diferente de funcionrios, de acordo com o dia da semana:Dia Empr. Dia Empr. Seg. 17 Quarta 15 Tera 13 Quinta 19 Dia Sexta Sb. Empr. 14 16 Dia Dom. Empr. 11

Por exigncia sindical, cada trabalhador trabalha cinco dias consecutivos e descansa dois. Formule o problema tal que o nmero de empregados contratados seja o mnimo necessrio para atender s necessidades de mo-deobra.

Prof. Fogliatto

Pesquisa Operacional

33

3. ALGORITMO SIMPLEX Um simplex uma forma geomtrica com uma propriedade especial, a saber. Uma linha que passe por quaisquer dois pontos pertencentes um simplex deve estar contida inteiramente dentro do simplex. Por exemplo, A Figura 3.1(a) traz um exemplo de uma figura geomtrica que no apresenta a propriedade acima. Em contrapartida, a Figura 3.1(b) apresenta a propriedade que caracteriza uma simplex. De forma geral, a rea formada pela interseco das restries de um problema de programao linear (PL) uma forma geomtrica do tipo simplex. Conforme visto anteriormente, a regio formada pela interseco das restries de um problema de PL denominada espao de solues viveis.

33

Variveis de deciso: xi = nm. de empregados trabalhando no dia i; Funo objetivo: Min z = x1 + x2 + x3 + x4 + x5 + x6 + x7 Restries: x1 x2 x3 x4 x5 x6Prof. Fogliatto

Pesquisa Operacional

17 13 15 19 14 16 x7 11 xi 0

Qual o problema com essa formulao?

34

Num espao bi-dimensional, a regio formada pelo espao de solues viveis um plano. A equao que representa a funo-objetivo pode ser representada na forma de um vetor, digamos c. Desta forma, seguindo a direo de melhoria da funo objetivo determinada pelo vetor c dentro do espao de solues viveis, possvel encontrar o ponto timo. A busca garante que (a) o ponto timo maximiza ou minimiza a funo objetivo, sendo seu valor mximo ou mnimo, respectivamente; e (b) o ponto timo satisfaz o conjunto das restries que compem o problema de programao linear, j que a busca pelo timo se restringiu ao espao de solues viveis do problema em estudo. O mesmo raciocnio pode ser estendido a problemas de maior dimensionalidade. Considere o conjunto formado por todos os problemas de programao linear para os quais existe um espao de solues viveis. Pode-se demonstrar que tais espaos so formas geomtricas do tipo simplex (ver Bazaraa et al., 1990; p. 94). Ao rastrear-se o espao de solues viveis de um problema de PL em busca do ponto timo, este dever corresponder a um dos pontos extremos do simplex, o que, na prtica, poder corresponder a um ponto, uma reta, um plano ou outra forma de maior dimenso. O algoritmo simplex pode ser descrito de maneira bastante simplificada, conforme apresentado a seguir. Considere um espao de solues viveis bidimensional e um vetor c formado pelos coeficientes de custo da funo objetivo e posicionado na origem do plano bidimensional. Considere um ponto extremo p qualquer do espao de solues viveis e um vetor que passe

34

PROBLEMAS(1) A funo-objetivo no o nmero de funcionrios, como se imagina. Cada funcionrio est sendo computado 5 vezes. Por ex.: um funcionrio que comea a trabalhar na segunda, trabalha de segunda a sexta e est includo nas variveis x1, x2, x3, x4, x5. (2) A inter-relao entre as variveis x1, x2, ..., x5 no est capturada na formulao. Por ex.: alguns funcionrios que trabalham na segunda estaro trabalhando na tera. Ou seja x1 e x2 esto inter-relacionadas mas isso no aparece na formulao.Prof. Fogliatto Pesquisa Operacional 35

pela origem e pelo referido ponto, digamos p. Se a busca pelo timo iniciar, por exemplo, no ponto de origem do espao bidimensional, a funo objetivo tender a apresentar melhoria sempre que o ngulo formado pelos vetores c e p for inferior a 90. Quando esse no for o caso, o avano ir na direo contrria do vetor c (que indica a direo de melhoria da funo objetivo) e qualquer movimento naquela direo ser desinteressante. Por analogia, considere o conjunto de todos os pontos extremos do espao de solues viveis e os vetores que partem da origem at estes pontos. A partir de um ponto inicial qualquer no espao de solues viveis (por exemplo, o ponto correspondente origem do espao bi-dimensional), possvel determinar a direo de maior melhoria investigando os ngulos formados entre o vetor c e os demais vetores, formados a partir da unio da origem aos pontos extremos do simplex; o menor ngulo cp corresponde melhor direo para movimento. O mesmo mecanismo de busca pode ser descrito em termos algbricos. Para tanto, algumas definies prvias so necessrias. A primeira delas diz respeito a variveis bsicas e no-bsicas. Um exemplo deve auxiliar a introduzir esses conceitos. Considere o seguinte exemplo: Max x1 + 3x2 s.a x1 + 2 x2 4 x2 1 x1 , x2 0

35

FORMULAO CORRETA Variveis de deciso: xi = nm. de empregados comeando a trabalhar no dia i; Cada empregado comea a trabalhar em um nico dia, no sendo assim contados mais de uma vez.

Funo objetivo: Min z = x1 + x2 + x3 + x4 + x5 + x6 + x7

Prof. Fogliatto

Pesquisa Operacional

36

Aps introduzir as variveis de folga f1 e f2, o problema passa a ser escrito como: Max x1 + 3x2 s.a x1 + 2x2 + f1 x2 x1 , x2 0 = 4 + f2 = 1

Geometricamente, o problema pode ser representado da seguinte forma:

Figura 3.2. Representao de um problema de PL em um espao bidimensional.

36

17 funcionrios devem estar trabalhando na segunda. Quem estar trabalhando segunda? xi = trabalham nos dias i, i+1, i+2, i+3, i+4; i = 1 (segunda). Assim, estaro trabalhando na segunda os empregados x1 + x4 + x5 + x6 + x7. Assim, a restrio referente ao nmero de empregados trabalhando na segunda ser: x1 + x4 + x5 + x6 + x7 17 Os demais dias sero formulados de maneira similar.

Prof. Fogliatto

Pesquisa Operacional

37

Observe que para traar as retas correspondentes s restries, basta equacionlas para determinar os pontos de interseco com os eixos x1 e x2. Por exemplo, a primeira restrio intercepta o eixo x1 quando x2 = 0. Ignorando a varivel de folga associada primeira restrio (f1) e transformando a inequao em equao, tem-se: x1 + 2 x2 = 4 x1 + 2(0) = 4 x1 = 4 Repetindo o procedimento, para o caso em que x1 = 0, determina-se o ponto onde a primeira restrio intersecciona o eixo x2; isto : x1 + 2 x2 = 4 0 + 2 x2 = 4 x2 = 2 Sendo assim, para representar a primeira restrio no espao bidimensional (x1, x2), basta identificar os pontos (x1, x2) = (4, 0) e (x1, x2) = (0, 2) e traar uma reta que passe pelos dois pontos. Na Figura 3.2, a reta correspondente primeira restrio vem identificada como f1 = 0. Tal identificao procedente, j que exatamente sobre a reta, a varivel de folga assume um valor igual a 0 e a inequao correspondente restrio assume o formato de uma equao.

37

Restries: x1 x1 x1 x1 x1 x2 x3 + + + + + + + x4 x2 x2 x2 x2 x3 x4 + + + + + + + x5 x5 x3 x3 x3 x4 x5 + + + + + + + x6 x6 x6 x4 x4 x5 x6 + + + + + + + x7 x7 x7 x7 x5 x6 x7 xi 17 13 15 19 14 16 11 0

A soluo tima x1 = 4/3; x2 = 10/3; x3 = 2; x4 = 22/3 x5 = 0; x6 = 10/3; x7 = 5. xi fracionrio no faz sentido. Arredondando-se chegamos a uma soluo que, quando checada via otimizao inteira, resulta completamente sub-tima. Para esses problemas precisamos de programao inteira.Prof. Fogliatto Pesquisa Operacional 38

Para representar-se graficamente a segunda restrio, adota-se procedimento idntico aquele descrito nos pargrafos anteriores. A segunda restrio vem representada na Figura 3.2 como f2 = 0. Considere o ponto A, correspondente origem do espao (x1, x2). Para representar-se o ponto A em termos das coordenadas (x1, x2), escreve-se (x1, x2) = (0, 0). Todavia, o nmero total de variveis do problema exemplo quatro: x1, x2, f1 e f2. J que (x1, x2) = (0, 0), pode-se perguntar quais os valores assumidos por f1 e f2. Como na origem est-se distante das retas correspondentes s restries, natural imaginar-se que alguma folga exista nas restries. Sendo assim, alm de saber-se com certeza que (x1, x2) = (0, 0), sabe-se tambm que f1 > 0 e f2 > 0. Num espao bidimensional a representao de qualquer ponto dever ser feita atravs de dois valores 0. Tais valores podem ser atribudos s variveis x1, x2, f1 e f2. Na prtica, em qualquer ponto do espao representado na Figura 3.2, todas as variveis assumiro um valor. Todavia, como a dimenso do problema igual a 2 (j que temos somente duas restries), sabe-se que apenas duas das quatro variveis podero assumir valores >0. Na origem, essas variveis sero f1 e f2. Assim, diz-se que as variveis f1 e f2 formam (ou compem) a base no ponto A. As variveis x1 e x2 so variveis no-bsicas, j que no dispe-se de espao para mais do que duas variveis na base. Variveis bsicas podem assumir valores 0. Variveis no-bsicas s podem assumir valor = 0.

38

FORMULAO: Deciso Financeira O conceito de valor lquido presente: Considere que $1 investido hoje valer mais de $1 daqui h um ano. O novo valor depender da taxa anual de juros, r. Assim: $1 hoje = $(1 + r)k em k anos ou $ 1 recebidos em k anos = $ (1 + r)-k hoje $ x recebidos em k anos = $x / (1 + r)k hoje O valor lquido presente (VLP) de um investimento determinado descontando o fluxo de caixa de um investimento at o tempo atual, ou tempo 0.Prof. Fogliatto Pesquisa Operacional 39

Considere o ponto B na Figura 3.2, correspondente interseco da segunda restrio (f2 = 0) e do eixo x2. Neste ponto, as variveis bsicas so x2 e f1. Se x2 fosse uma varivel no-bsica, por exemplo, jamais seria possvel representar o ponto B, j que naquele ponto x2 = 1. O mesmo raciocnio se aplica varivel de folga f1. Se essa varivel estivesse for a da base, o ponto B deveria localizar-se, necessariamente, sobre a primeira restrio (onde f1 = 0, como a prrpia identificao da restrio indica). No ponto B, as variveis no-bsicas so x1 e f2. Continuando, no ponto C (interseco das duas restries), as variveis bsicas so x1 e x2. As variveis de folga so no-bsicas. Finalmente, no ponto D (interseco da primeira restrio com o eixo x1), as variveis bsicas so x1 e f2 e as variveis no bsicas so x2 e f1. Considere a representao matricial de um problema de PL introduzida na seo 2.1. Os vetores c, x e b e a matriz A devem ser expressos em termos das variveis bsicas e no-bsicas que compem o problema. A representao do problema na Figura 3.2, no ponto A, por exemplo, ser:

x1 x2 f1 f 2

1 2 1 0 A= 0 1 0 1 a1 a2 a3 a4

x1 x2 f1 f 2 c = [1, 3, 0, 0]t

x t = [x1 , x2 , f1 , f 2 ]

b=

f1 0 f2 0

39

EXEMPLO:Investim. 1 = requer um investimento de $10,000 no tempo 0 e de $14,000 em 2 anos e tem um retorno de $24,000 em 1 ano. Investim. 2 = requer um investimento de $6,000 no tempo 0 e de $1,000 em 2 anos e tem um retorno de $8,000 em 1 ano. Qual o melhor investimento (r = 0.2)? VLP (Inv. 1) = = VLP (Inv. 2) = = -10,000 + (24,000/1+0.2) - [14,000/(1+0.2)2] $277.78 -6,000 + (8,000/1+0.2) - [1,000/(1+0.2)2] - $27.78 O investimento 1 bem melhor!Prof. Fogliatto Pesquisa Operacional 40

Como no ponto A as variveis f1 e f2 compem a base, as matrizes e vetores apresentados acima podem ser divididos simplesmente em termos de seus componentes bsicos e no-bsicos. Para padronizar a apresentao, as variveis bsicas sempre vm apresentadas antes das no-bsicas. No exemplo anterior, os vetores e matrizes seriam reescritos como:

B NB A = [ f1 f 2 x1 x2 ]f b = 1 f2 B

c = [ f1 ,t

Bf2

x1 , x2 ]

NB

x t = [ f1 , f 2 x1 , x2 ]

NB

As colunas na matriz A so numeradas de a1 at an (no exemplo, n = 4), conforme apresentado no exemplo. De uma maneira genrica, qualquer problema de PL poder ser representada em termos dos vetores c, x e b e da matriz A particionados em suas pores bsicas e no-bsicas. Cada poro dever compor as variveis de deciso atualmente na base e fora-da-base, respectivamente. Por exemplo:

40

EXEMPLO DE FORMULAO: Formulao 3 Uma empresa est considerando 5 oportunidades de investimento, com caractersticas dadas a seguir:Gasto t =0 Gasto t =1 VLP Inv. 1 $11 $3 $13 Inv. 2 $53 $6 $16 Inv. 3 $5 $5 $16 Inv. 4 $5 $1 $14 Inv. 5 $29 $34 $39

A empresa tem $40 disponveis para investimento no tempo t = 0 e estima dispor de $20 no tempo t = 1. Capital no investido em t=0 no estar disponvel em t = 1. Fraes de cada investimento podem ser compradas. Formule o problema tal que o VLP da companhia seja maximizado.

Prof. Fogliatto

Pesquisa Operacional

41

ct = [c B c N ]

A = [B N ]

b t = [b1 , b2 , K , bn ]

x t = [x B x N ]

O algoritmo simplex pode ser derivado atravs da seguinte equao, que compe o sistema de restries de um problema de PL: Ax = b A soluo do sistema de equaes acima pode ser obtida resolvendo o sistema para x. Para tanto, basta multiplicar os dois lados da igualdade por A-1 (lembre que A A-1 = I, onde I designa uma matriz identidade; ver reviso de lgebra Linear a partir do slide 90): A-1 Ax = A-1b Ix = A-1b x = A-1b Reescrevendo a primeira equao utilizando matrizes e vetores particionados em variveis bsicas e no-bsicas resulta em:

x [B N]

=b x NB

41

Varivel de deciso: A empresa deseja determinar qual frao de cada investimento deve ser comprada: xi = frao do investimento i comprada pela empresa.

Funo objetivo: Consiste em maximizar os VLP dados na tabela: Max z = 13x1 + 16x2 + 16x3 + 14x4 + 39x5

Prof. Fogliatto

Pesquisa Operacional

42

Procedendo com a multiplicao entre os vetores no lado esquerdo da igualdade, obtemos:

Bx B + Nx N = be ento:

Bx B = b Nx Nresolvendo a equao acima para xB, isto , multiplicando-se ambos os lados da equao por B-1, obtm-se:

x B = B 1b B 1Nx NA matriz N, derivada de A e correspondendo s colunas no-bsicas de A, pode ser escrita em termos de suas colunas no-bsicas aj. O mesmo pode ser feito para o vetor xN, que contm as variveis de deciso no-bsicas; o vetor xN pode ser escrito em termos de suas variveis de deciso no-bsicas xj. Para reescrever N e xN conforme sugerido acima, necessrio observar a equivalncia de duas representaes algbricas, descritas a seguir. Sejam N e xN dados por:

42

Restries: (1) A empresa no pode investir mais de $40 no tempo 0: 11x1 + 53x2 + 5x3 + 5x4 + 29x5 40 (2) A empresa no pode investir mais de $20 no tempo 1: 3x1 + 6x2 + 5x3 + x4 + 34x5 20 Falta alguma restrio? (3) A empresa no pode comprar mais que 100% de nenhum investimento: xi 1 (4) Todas as variveis devem ser positivas.Prof. Fogliatto Pesquisa Operacional 43

N = [a1x tN = [x1

a2 L aP ]x2 L x P ]

Observe que N uma matriz; assim, suas partes componentes so vetores, designados por aj. Tal designao pertinente, j que a matriz N uma partio da matriz de restries A. Consequentemente, as colunas de N devem constituir um subconjunto das colunas de A. Tal subconjunto de variveis no-bsicas ser designado, doravante, por R. Existe um total de N colunas em A, uma associada a cada varivel de deciso do problema. Das N colunas de A, P correspondem a variveis no-bsicas. Assim, os ndices em N e xN variam de j = 1,, P. Note que as variveis xj no-bsicas compem o conjunto R. Deseja-se reescrever N e xN tornando explicitas as suas colunas e variveis nobsicas, respectivamente. Para tanto, utiliza-se a seguinte equivalncia:

Nx N = a j x jjR

A validade da equivalncia acima demonstrada a seguir atravs de um exemplo.

43

PRTICA 2:A empresa X deseja determinar quanto dinheiro investir e quanto dinheiro tomar emprestado no prximo ano. Cada real investido pela empresa reduz o VLP em 10 centavos e cada real tomado em emprstimo aumenta o VLP em 50 centavos (vale mais a pena tomar emprestado do que investir). X pode investir no mximo $1000000. O dbito pode somar at 40% do que for investido. X dispe de $800000 em caixa. Todo o investimento deve ser pago com o dinheiro em caixa ou com dinheiro emprestado. Formule o problema tal que o VLP de X seja maximizado. Resolva o problema graficamente.

Prof. Fogliatto

Pesquisa Operacional

44

Seja N uma matriz (2 3) constituda dos seguintes elementos:

3 6 8 N= 1 2 7 a1 a 2 a 3Por convenincia e para manter a consistncia notacional, as trs colunas da matriz N acima so denominadas aj, j = 1,2,3. Associada a cada coluna de N existe uma varivel de deciso xj. Essas variveis vm apresentadas no vetor xN, abaixo:

x tN = [x1

x2

x3 ]

O produto NxN, utilizando a matriz e vetor acima, resulta em:

x1 3 6 8 3x1 + 6 x2 + 8 x3 Nx = x2 = 1 2 7 x 1x1 + 2 x2 + 7 x3 3t N

44

FORMULAO: Problema da MisturaSituaes onde vrias matrias-primas devem ser misturadas em propores ideais so modelveis via programao linear. Alguns exemplos: (1) Mistura de vrios tipos de leos para produzir diferentes tipos de gasolina. (2) Mistura de compostos qumicos para gerar outros compostos. (3) Mistura de ingredientes para produo de raes. (4) Mistura de diferentes tipos de papis para produzir um papel reciclado.

Prof. Fogliatto

Pesquisa Operacional

45

A representao alternativa desse produto utiliza o somatrio:

Nx N = a j x jjR

No exemplo, j = 1, 2, 3. Ento:

a xjR j

j

= a1 x1 + a 2 x2 + a 3 x3 =

3 6 8 1 x1 + 2 x2 + 7 x3 =

3x1 + 6 x2 + 8 x3 1x + 2 x + 7 x 2 3 1

Comparando o resultado acima com aquele obtido a partir do produto NxN, possvel verificar a validade da equivalncia proposta. De maneira anloga, possvel demonstrar que o produto entre dois vetores, por exemplo,

ctN x Npode ser representado, alternativamente, como:

cjR

j

xj

45

EXEMPLO (Formulao 4): O caso TexacoA Texaco produz at 14000 barris/dia de 3 tipos de gasolina misturando 3 tipos de leos. Dados a respeito das gasolinas e leos so:Preo Deman Preo Preo DisponiVenda da/dia produo compra bilidade Gas 1 $70 3000 $4 leo 1 $45 5000 Gas 2 $60 2000 $4 leo 2 $35 5000 Gas 3 $50 1000 $4 leo 3 $25 5000

Prof. Fogliatto

Pesquisa Operacional

46

Agora possvel representar as matrizes e vetores da equao:

x B = B 1b B 1Nx Nutilizando somatrios. Assim, explicitam-se as variveis no-bsicas na equao. A representao dada por:

x B = B 1b

BjR

1

a jxj

(1)

lembrando que j o ndice que designa as variveis no-bsicas e R denota o conjunto de todas as variveis no-bsicas. Por convenincia, algumas pores da equao (1) acima so assim renomeadas:

B 1b = b B 1a j = y j Reescrevendo a equao (1) em termos das substituies, tem-se:

xB = b

yjR

j

xj

46

EXEMPLO (Formulao 4): O caso TexacoAs gasolinas tm especificaes de octanagem e contedo de enxofre dadas abaixo. A mistura de leos para produo de gasolina deve satisfazer essas especificaes.Oleo 1 Oleo 2 Oleo 3 12 6 8 0.5 2.0 3.0 Gas 1 10 1.0 Gas 2 8 2.0 Gas 3 6 1.0

Ocatanagem Enxofre (%)

Cada $/dia gasto em publicidade c/ qualquer tipo de gasolina, aumenta em 10 barris a venda daquele tipo de gasolina. Formule este problema tal que a Texaco maximize seus lucros dirios (= receita-despesa).

Prof. Fogliatto

Pesquisa Operacional

47

A funo objetivo de um problema genrico de PL pode ser escrita em termos dos vetores de custos e das variveis de deciso do problema. Em termos matemticos:

z = ct xMais uma vez particionando os vetores em termos de variveis bsicas e nobsicas, obtm-se:

x z = [c B c N ] B = c tB x B + c tN x N xN O vetor xB acima pode ser reescrito conforme apresentado na equao (1). Aps substituio, obtm-se: z = c tB B 1b B 1a j x j + c tN x N jR Efetuando-se a primeira multiplicao no somatrio acima, obtm-se:z = c tB B 1b

cjR

t B

B 1a j x j + c tN x N

47

Variveis de deciso: A Texaco deve decidir sobre (i) quanto dinheiro gastar na publicidade de cada tipo de gasolina e (ii) qual a mistura apropriada de leos. ai = $/dia gasto na publicidade da gasolina i. xij = barris de leo i gastos/dia para produzir gasolina j.

Funo objetivo: Primeiro, note que: x11 +x12 + x13 = bar.leo 1 consum./dia. x21 +x22 + x23 = bar.leo 2 consum./dia. x31 +x32 + x33 = bar.leo 3 consum./dia.

x11 +x21 + x31 = bar.gas.1 prod./dia. x12 +x22 + x32 = bar.gas.2 prod./dia. x13 +x23 + x33 = bar.gas.3 prod./dia.48

Prof. Fogliatto

Pesquisa Operacional

O ltimo termo na expresso acima deve ser explicitado em funo das variveis no-bsicas; ou seja,

z = c tB B 1b

cjR

t B

B 1a j x j +

c xjR j

j

Por convenincia, renomeia-se o primeiro termo da equao acima:

z 0 = c tB B 1bObserve que o valor z0 na equao acima corresponde ao valor atual da funo objetivo. Como as variveis no-bsicas assumem valor igual a 0 por definio (ou seja, xN = 0), o segundo termo direita da expresso

x B = B 1b B 1Nx Ndesaparece. Logo,

z 0 = c tB B 1b = c tB x Bo que efetivamente corresponde ao valor atual da funo objetivo, considerando a base atual representada por xB.

48

Funo objetivo: (1) Ganhos/dia com vendas de gasolina: 70(x11 +x21 + x31) + 60(x12 +x22 + x32) + 50(x13 +x23 + x33) (2) Custo/dia da compra de leo: 45(x11 +x12 + x13) + 35(x21 +x22 + x23) + 25(x31 +x32 + x33) (3) Custo/dia com propaganda: a1 + a2 + a3 (4) Custo/dia produo: 4(x11 +x12 + x13 + x21 +x22 + x23+ x31 +x32 + x33) Lucro dirio: (1) - (2) - (3) - (4)Prof. Fogliatto Pesquisa Operacional 49

Assim, a expresso:

z = c tB B 1b pode ser reescrita como:

cjRt B

t B

B 1a j x j +

c xjR j

j

z = z0

cjR

B 1a j x j +

c xjR j

j

Como os dois somatrios consideram o mesmo domnio (ou seja, as variveis no-bsicas pertencentes ao conjunto R), pode-se agrupar os dois termos de somatrio num nico termo:

z = z0 Como B-1aj = yj, tem-se:

(cjR

t B

B 1a j c j x j

)

z = z0

(cjR

t B

y j cj xj

)

Para finalizar esta primeira etapa do desenvolvimento do algoritmo simplex e obter-se o primeiro resultado, uma ltima substituio necessria; a saber:

z j = c tB y j

49

Funo objetivo: Max z = 21x11 +11x12 + x13 + 31x21 + 21x22 + 11x23 + 41x31 + 31x32 + 21x33 - a1 - a2 - a3 Restries: (1-3) Gas 1-3 produzida diariamente deve ser igual a demanda (no queremos estocar gasolina). Demanda diria gas 1: 3000 + demanda gas 1 gerada por publicidade = 3000 + 10a1 Demanda gas 2: 2000 + 10a2 Demanda gas 3: 1000 + 10a3 Assim: x11 + x21 + x31 - 10a1 = 3000 x12 + x22 + x32 - 10a2 = 2000 x13 + x23 + x33 - 10a3 = 1000Prof. Fogliatto Pesquisa Operacional 50

Assim, a expresso para z passa a ser escrita como:

z = z0 1o resultado:

(zjR

j

c j )x j

z0 representa o valor atual (ou presente) da funo objetivo. Num problema de maximizao, o valor de z pode ser melhorado se zj cj < 0, para qualquer j R. Num problema de minimizao, o valor de z pode ser melhorado sempre que zj cj > 0, para qualquer j R. Parece claro que o resultado apresentado acima estabelece o critrio utilizado pelo algoritmo simplex para mudana de base. Assim, num problema de maximizao, a base atual (que gera o valor atual z0 da funo objetivo) s ser substituda por uma outra base se, para alguma varivel no-bsica j R, o valor zj cj < 0. Quando este for o caso, o segundo termo direita da igualdade na expresso para z acima ser positivo e o valor de z sofrer um incremento, exatamente o que se deseja em um problema de maximizao.

50

Restries: (4-6) Compra diria de leo 1-3 no deve exceder 5000 barris. x11 + x12 + x13 5000 x21 + x22 + x23 5000 x31 + x32 + x33 5000 (7) Produo/dia de gas no deve exceder 14000 barris. x11 +x12 + x13 + x21 +x22 + x23+ x31 +x32 + x33 14000 (8) Mistura de leos p/produzir gas 1 deve ter uma octanagem mdia de pelo menos 10 graus.Oc tan. total gas. 1 12 x11 + 6x 21 + 8x 31 = 10 o x11 + x 21 + x 31 N barris na mistura

Para linealizar essa inequao, multiplica-se os dois lados pelo denominador: 2x11 - 4x21 - 2x31 0Prof. Fogliatto Pesquisa Operacional 51

Num problema de PL, o nmero de variveis que compem a base limitado. Assim, sempre que na busca pelo ponto timo a base atual for substituda por outra, uma das variveis bsicas que compem a base atual dever dar lugar varivel no-bsica para a qual zj cj < 0. Se mais de uma varivel no-bsica atender ao requisito zj cj < 0, seleciona-se aquela para a qual o mdulo de zj cj seja maior. Como a cada mudana de base uma varivel no-bsica assume o lugar de uma varivel bsica na base, necessrio adotar-se um critrio para retirada de variveis da base. Tal critrio compe o 2o resultado do algoritmo simplex, sendo ilustrado utilizando o exemplo na pgina 38. Relembrando a descrio do problema: Max x1 + 3x2 s.a x1 + 2x2 + f1 x2 x1 , x2 0 = 4 + f2 = 1

As bases possveis para este problema so (x1, x2), (x1, f1), (x1, f2), (x2, f1), (x2, f2) e (f1, f2). Tente identificar os pontos correspondentes a essas bases na Figura 3.2. Quatro bases j haviam sido identificadas previamente, correspondendo aos pontos A D da figura; essas so as bases viveis do problema. Outras duas bases no-viveis podem ser identificadas. Bases no-viveis no so consideradas no algoritmo simplex, j que no satisfazem o conjunto de restries que compem o problema.

51

(9) Mistura de leos p/produzir gas 2 deve ter uma octanagem mdia de pelo menos 8 graus. 4x12 - 2x22 0 (10) Mistura de leos p/produzir gas 3 deve ter uma octanagem mdia de pelo menos 6 graus. 6x13 + 2x33 0 A restrio (10) redundante e no precisa ser includa no modelo. Por qu? Porque x13 e x33 0 por definio. Verifique a octanagem dos leos crus para entender o porqu desta redundncia.Prof. Fogliatto Pesquisa Operacional 52

Suponha que uma primeira base selecionada para dar incio ao algoritmo. Independente das variveis selecionadas para compor a primeira base, para determinar o seu valor e verificar a viabilidade da base selecionada, deve-se resolver o seguinte sistema de equaes:

Bx B = b

x B = B 1b

Uma escolha razovel para a primeira base dada por (f1, f2), o ponto de origem no espao bidimensional (x1, x2). Particionando a matriz A do exemplo entre variveis bsicas e no-bsicas e rearranjando, tal que variveis bsicas passam a ser as primeiras colunas de A, obtm-se:

a3 a4 a1 a21 0 1 2 A = [B N ] = 0 1 0 1 f1 f 2 x1 x2Escolhendo as variveis de folga como primeira base para o problema, a matriz B assume a conformao de uma matriz identidade. Como para resolver o sistema xB = B-1b ser necessrio obter a matriz inversa B-1, a base selecionada bastante conveniente, j que se B = I, B-1 = B. Assim,

52

(11) Mistura de leos p/produzir gas 1 deve ter um teor de enxofre menor ou igual a 1%. -0.005x11 + 0.01x21 + 0.02x13 0 (12) Mistura de leos p/produzir gas 2 deve ter um teor de enxofre menor ou igual a 2%. -0.015x12 + 0.01x32 0 (13) Mistura de leos p/produzir gas 3 deve ter um teor de enxofre menor ou igual a 1%. -0.005x13 + 0.01x23 + 0.02x33 0Prof. Fogliatto Pesquisa Operacional 53

1 0 B= 0 1

1 0 B 1 = 0 1

Os vetores x, c e b obtidos do exemplo vm dados abaixo:

x t = [x B x N ] = [ f1 , f 2

x1 , x2 ]

c t = [c B c N ] = [0, 0 1, 3]

4 b= 1

Conforme descrito anteriormente, o vetor c contm os coeficientes associados a cada varivel de deciso na funo objetivo; estes foram rearranjados em coeficientes associados s variveis bsicas e no-bsicas, respectivamente. O vetor b corresponde ao lado direito das restries do problema. Deseja-se testar se algumas das variveis no-bsicas deve entrar na base, de forma a melhorar o valor z da funo objetivo. O problema exemplo de Maximizao, logo somente variveis no-bsicas para as quais zj cj < 0 sero candidatas a entrar na base. O conjunto R de variveis no bsicas contm duas variveis, j = 1 (x1) e j = 2 (x2). O teste realizado utilizando o formulrio que precede o 1o resultado:

53

FORMULAES MULTIPERODO (Formulao 5) O problema do estoque - O caso da empresa RegataA Regata S/A quer decidir quantos barcos produzir nos prximos 4 trimestres, de modo a satisfazer sua demanda a um menor custo:

Demanda

Trim. 1 40

Trim. 2 60

Trim. 3 75

Trim. 4 25

Prof. Fogliatto

Pesquisa Operacional

54

Para j = 1:

1 0 1 ( z1 c1 ) = ctB B 1a1 c1 = [0, 0] 1 = 1 0 1 0 Para j = 2:

1 0 2 ( z 2 c2 ) = c tB B 1a 2 c2 = [0, 0] 3 = 3 0 1 1 Introduzindo qualquer das duas variveis no-bsicas na base, observaria-se uma melhoria no valor z da funo objetivo. Todavia, x2 deve entrar na base, j que apresenta o maior valor absoluto de zj - cj. Uma das variveis atualmente na base deve sair, para dar lugar a x2. Para determinar qual varivel sai da base, utiliza-se a equao (1); isto :

x B = B 1b

BjR

1

a jxj

A varivel entrante x2 (j = 2). Assim, a equao (1) pode ser reescrita para conter as variveis bsicas e a varivel entrante x2:

x B = B 1b B 1a j x j

54

FORMULAES MULTIPERODO (Formulao 5) O problema do estoque - O caso da empresa RegataA Regata deve atender seus pedidos em dia. No incio do 1o trimestre, 10 barcos esto em estoque. No incio de cada trimestre, a Regata deve decidir quantos barcos sero produzidos naquele trimestre. Barcos produzidos num trimestre podem ser usados para atender pedidos naquele mesmo trimestre (pedidos so atendidos no final do trimestre). A Regata por produzir at 40 barcos/trim, a um custo de $400/barco. Para aumentar a produo, pode usar horas-extra, a um custo de $450/barco. Estocar um barco de um trim. para outro custa $20/barco. Formule o problema tal que a demanda seja atendida um mnimo custo.Prof. Fogliatto Pesquisa Operacional 55

Fazendo as devidas substituies, obtm-se:

1 0 4 1 0 2 xB = x2 0 1 1 0 1 1 As variveis que compem a base atual so (f1, f2). Explicitando o vetor xB e executando as multiplicaes entre matrizes e vetores na expresso acima, obtm-se:

f1 4 2 f = 1 1 x2 2 Todas as variveis do problema exemplo esto condicionadas a assumirem valores no-negativos. Analisando a equao acima, fcil observar que x2 no pode assumir valores maiores que 1 ou a varivel bsica f2 assumiria valores negativos. Assim, o valor mximo de x2 1 e, neste caso, f2 assume o valor 0, saindo da base. Logo, x2 entra na base e f2 sai da base para dar lugar a x2, j que no permitido mais do que 2 variveis na base. Alm disso, sabe-se que x2 entra na base com valor 1 e que f1 permanece na base, mas com valor 2 (e no 4, como na base inicial).

55

Variveis de deciso: A Regata deve determinar quantos barcos produzir usando mo-de-obra normal e horas-extra a cada trimestre: xt = barcos produzidos por m.o. normal durante trim. t. yt = barcos produzidos por horas-extra durante trim. t. Variveis de estoque tambm devem ser definidas: it = barcos em estoque no final do trimestre t. Assim: Custo total = custo produo normal + custo produo hora-extra + custo estocagem = 400 (x1 + x2 + x3 + x4) + 450(y1 + y2 + y3 + y4) + 20 (i1 + i2 + i3 + i4)Prof. Fogliatto Pesquisa Operacional 56

A partir do exemplo, estabeleceu-se o critrio de sada de variveis da base. Tal critrio est fundamentado no princpio de no-negatividade das variveis de deciso de um problema de PL. O 2o resultado formaliza esse critrio. 2o resultado: A varivel bsica xk que sai da base dando lugar a xj determinada pela seguinte expresso:

b xk = Min i , onde yij > 0. i y ij Os vetores e yj foram definidos na pgina 48. Os elementos que compem esses vetores bso identificados por e y, sendo utilizados no resultado acima.A operacionalizao da expresso nob 2o resultado bastante simples. Considere o exemplo anterior, com os vetores e y2 devidamente identificados:

b f1 4 2 f = 1 1 x2 2 b

y2

56

Funo objetivo: Min z = 400x1 + 400x2 + 400x3 + 400x4 + 450y1 + 450y2 + 450y3 + 450y4 + 20i1 + 20i2 + 20i3 + 20i4 Estoque no final de cada trimestre: it = it-1 + (xt + yt) - dt , t = 1,,4 onde dt = demanda no trimestre t. Para satisfazer a demanda ao final de cada trimestre: it-1 + (xt + yt) dt ou it = it-1 + (xt + yt) dt 0Prof. Fogliatto Pesquisa Operacional 57

A razo bi yij obtida dividindo os vetores:

{

}

f1 4 f = 1 2

2 2 1 = 1

Deseja-se determinar a menor razo; no caso, este valor 1, correspondendo a f2. Logo, f2 deve sair da base dando lugar a x2, a varivel entrante. A mnima razo tambm aponta para o valor de entrada de x2 na base: x2 = 1. No momento em que determina-se uma nova base para o problema de PL, completa-se uma iterao (ou pivot) do algoritmo simplex. Na sequncia, atualiza-se a base e repete-se o procedimento apresentado acima. A nova base para o problema exemplo dada abaixo, junto com os vetores necessrios para realizar mais uma iterao do simplex:

1 2 B = [ f1 , x2 ] = 0 1

ctB = [0, 3]

N = [x1 , f 2 ]

1 2 B 1 = 0 1

1 2 4 2 x B = B 1b = = 0 1 1 1

A base inversa B-1 foi obtida atravs do mtodo de Gauss-Jordan, no slide 96.

57

Restries: (1-4) Produo normal em cada trimestre no deve exceder 40 barcos: x1 40 x2 40 x3 40 x4 40 (5-8) Demanda deve ser satisfeita a cada trimestre: i1 = 10 + x1 + y1 - 40 i3 = i2 + x3 + y3 - 75 i2 = i1 + x2 + y2 - 60 i4 = i3 + x4 + y4 - 25

Todas as variveis so do tipo 0.Prof. Fogliatto Pesquisa Operacional 58

Antes de dar prosseguimento ao algoritmo, interessante interpretar geometricamente os resultados obtidos at agora. A base inicial selecionada para o problema exemplo continha as variveis de folga (f1, f2). Na figura 3.2, esta base corresponde ao ponto A. A partir daquele ponto, existem dois caminhos possveis de movimento: na direo de B ou na direo de D. No ponto B, a base constituda das variveis (f1, x2); no ponto D, a base constituda das variveis (x1, f2). Analisando o ngulo formado entre o vetor c e os vetores OB e OD [onde O denota o ponto de origem (x1, x2) = (0,0)], fcil constatar que o ngulo mais agudo (< 90o) aquele entre c e OB. Essa a direo de maior melhoria no valor z da funo objetivo. Observe, todavia, que o ngulo entre c e OD tambm agudo, caracterizando uma direo de melhoria no valor z. O algoritmo selecionou a melhor direo de movimento, introduzindo, assim, a varivel x2 na base e removendo f2 para fora da base. A nova base contendo as variveis (f1, x2) corresponde ao ponto B na Figura 3.2. Dando sequncia ao algoritmo simplex, testam-se as variveis no-bsicas em busca de uma direo de melhoria no valor z da funo objetivo: Para j = 1:

1 2 1 ( z1 c1 ) = c tB B 1a1 c1 = [0, 3] 1 = 1 0 1 0

58

PRTICA 3: Modelos Financeiros com mltiplos perodos.Uma empresa precisa definir sua estratgia financeira para os prximos trs anos. No tempo t = 0, $100000 esto disponveis para investimento. Planos A, B, C, D e E esto disponveis. Investir $1 em cada um desses planos gera o fluxo de caixa abaixo:A B C D E 0 -1 0 -1 -1 0 1 0.5 -1 1.2 0 0 2 1 0.5 0 0 -1 3 0 1 0 1.9 1.5

No mximo $75000 podem ser investidos num mesmo plano. A empresa pode ganhar 8% de juros se investir no mercado financeiro ao invs dos planos. Lucros gerados em qualquer perodo podem ser imediatamente reinvestidos (no mesmo perodo). A empresa no pode tomar dinheiro emprestado. Formule o problema tal que $ no ltimo priodo seja mximo.Prof. Fogliatto Pesquisa Operacional 59

Para j = 4:

1 2 0 ( z 4 c4 ) = ctB B 1a 4 c4 = [0, 3] 0 = 3 0 1 1 A nica varivel candidata a entrar na base x1. Para verificar qual varivel deve sair da base, utiliza-se a equao 1:

x B = B 1b B 1a1 x1

1 2 4 1 2 1 2 1 = xB = x 1 1 0 x1 x1 = 2 0 1 1 0 1 0 A varivel de folga f1 deve sair da base. A varivel x1 entra na base com valor 2. A nova base formada por (x1, x2). O mesmo resultado pode ser obtido utilizando-se a expresso no 2o Resultado. Analisando-se a Figura 3.2, identificase o movimento do ponto B para o ponto C no grfico. Atualizando-se a base, obtm-se as seguintes matrizes e vetores:

1 2 B = [x1 , x2 ] = 0 1 1 2 B 1 = 0 1

c tB = [1, 3]

N = [ f1 , f 2 ]

1 2 4 2 x B = B 1b = = 0 1 1 1

59

Utilizao do Whats Best na soluo de problemas de PL Whats Best um programa da famlia Lindo para otimizao linear, no-linear e inteira. Vantagens: implementado na planilha Excel; vrias funes algbricas do Excel so aceitas na formulao do problema: ABS, ACOS, AND, ASIN, ATAN, ATAN2, AVERAGE, COS, EXP, FALSE, IF, INT, LN, LOG, MAX, MIN, MOD, NOT, NPV, OR, PI, SIN, SQRT, SUM, SUMPRODUCT, TAN, TRUE, TRUNC, NORMINV, TRIAINV, EXPOINV, UNIFINV, MULTINV.Prof. Fogliatto Pesquisa Operacional 60

Na sequncia, testam-se as variveis no-bsicas em busca de uma direo de melhoria no valor z da funo objetivo. Para j = 3:

1 2 1 ( z3 c3 ) = c tB B 1a 3 c3 = [1, 3] 0 = 1 0 1 0 Para j = 4:

1 2 1 ( z 4 c4 ) = ctB B 1a 4 c4 = [1, 3] 0 = 1 0 1 0 Nenhuma varivel no-bsica apresenta valor de zj - cj < 0. Assim, a base atual (x1, x2) tima e o algoritmo simplex terminado. Geometricamente, possvel identificar o ponto C como ponto tima na Figura 3.2. Avanando na direo do vetor c, o ponto C o ponto de mximo avano antes de abandonar-se o espao de solues viveis. O algoritmo simplex pode ser compreendido como uma alternativa algbrica para o procedimento de soluo grfica. Tal recurso algbrico torna-se particularmente til em problemas de maior dimenso (tridimensionais, quadridimensionais, etc.).

60

Outras vantagens do Whats Best Programa permite alterar coeficientes da formulao facilmente: formulao fica explicita na planilha. Facilidade de uso: princpio de programao o mesmo do Excel. Gratuito para download da rede:www.lindo.com Opo: Whats BestProf. Fogliatto Pesquisa Operacional 61

3.1. O tableau do simplex Problemas de PL podem ser arranjados em uma tabela, conhecida como o tableau do simplex. O tableau contm todas as frmulas utilizadas no algoritmo, apresentadas na seo anterior. A grande vantagem da utilizao do tableau est na operacionalizao do algoritmo simplex: o tableau facilita a lgebra necessria para completar as iteraes do algoritmo, levando mais rapidamente a uma soluo tima. O formato padro do tableau do simplex vem apresentado abaixo:

zxB

zj cj

c tB B 1bB 1b

y j = B 1a j

Figura 3.3 - Tableau do simplex . O algoritmo simplex , via de regra, inicializado utilizando variveis de folga como base inicial. Quando variveis de folga no encontram-se disponveis, variveis de folga artificiais so utilizadas, conforme apresentado mais adiante.

61

Como utilizar o programa Abra o Excel. O Whats Best deve carregar-se como uma Macro daquela planilha. Abra o arquivo XYZPort, que contm o exemplo.

Este o arquivo.

Prof. Fogliatto

Pesquisa Operacional

62

Sempre que as variveis de folga formarem a primeira base em um problema de PL, a montagem do tableau do simplex extremamente facilitada. Considere o exemplo na pgina 38. Max x1 + 3x2 s.a x1 + 2x2 + f1 x2 x1 , x2 0 = 4 + f2 = 1

As variveis de folga (f1, f2) formam a primeira base. Como as variveis de folga no participam orginalmente da funo objetico, seus coeficientes de custo cj sero sempre 0 e o primeiro vetor cB utilizado no algoritmo simplex ser um vetor de zeros. Desta forma, a quantidade zj - cj dada pela expresso:

( z j c j ) = c tB B 1a j c jse reduzir a:

(z j c j ) = c jPara compor o primeiro tableau do simplex, quando variveis de folga constituem a primeira base, basta escrever o negativo dos coeficientes de custo das variveis no-bsicas na primeira linha do tableau. As variveis bsicas recebem valor 0, por definio. Como zj - cj representa a potencial

62

Os comandos do programa esto na barra de ferramentas e no menu

Prof. Fogliatto

Pesquisa Operacional

63

melhoria no valor z da funo objetivo representada pela jsima varivel, variveis atualmente bsicas devem receber valor igual a 0 simplesmente por j se encontrarem na base. Assim, para os dados do exemplo, a primeira linha do tableau dada por:x1 -1 x2 -3 f1 0 f2 0 RHS z0

z

Observe que, por convenincia, as variveis que compem o problema de PL vm devidamente identificadas no tableau. A sigla RHS direita das variveis denota right hand side e contm o valor atual de z (denominado z0) e o valor assumido pelas variveis atualmente na base. O valor atual de z, z0, dado pela equao:

z 0 = c tB B 1bComo cB um vetor de zeros, z0 = 0 sempre que as variveis de folga formarem a primeira base. Atualizando o tableau, tem-se:x1 -1 x2 -3 f1 0 f2 0

z

RHS 0

63

O Problema do Mix de Produo A XYZ Corporation monta dois modelos de computador. O modelo Padro gera um lucro por unidade produzida de $300, enquanto o modelo Luxo gera um lucro por unidade de $500. Os dois modelos utilizam trs componentes para sua montagem: o chassis Padro (60), o chassis de Luxo (50) e o drive de disquete (120). Disponveis em estoqueProf. Fogliatto Pesquisa Operacional 64

Na sequncia, deseja-se escrever as linhas que compem as restries no tableau. Elas vm dadas por:

y j = B 1a jPara cada varivel do problema, determina-se uma coluna yj. Sempre que as variveis de folga formarem a primeira base, B = I e B-1 = B = I. Assim, a expresso acima reduz-se a:

y j = Ia j = a je as linhas que compem as restries no tableau so copiadas diretamente do problema de PL em estudo. Utilizando os dados do exemplo: Max x1 + 3x2 s.a x1 + 2x2 + f1 x2 x1 , x2 0 = 4 + f2 = 1

z f1 f2

x1 -1 1 0

x2 -3 2 1

f1 0 1 0

f2 0 0 1

RHS 0

64

Necessidades de componentes em cada modelo O modelo Padro utiliza um chassis Padro e um drive de disquete. O modelo Luxo utiliza um chassis Luxo e dois drives de disquete. Problema: qual combinao de modelos Padro e Luxo maximiza os lucros da XYZ, considerando os componentes atualmente em estoque?Prof. Fogliatto Pesquisa Operacional 65

As variveis atualmente na base so identificadas esquerda do tableau (f1 e f2). O nico elemento faltante no tableau do exemplo corresponde frmula:1 b vez, = B quando b no lado direito do tableau. Mais uma as variveis de folga formam a -1 primeira base, B = I e a expresso acima reduz-se a:

b = Ib = b Desta forma, para completar o tableau, basta escrever os valores do lado direito das restries do problema para o lado direito do tableau. Isto :Max x1 + 3x2 s.a x1 + 2x2 + f1 x2 x1 , x2 0 = 4 + f2 = 1

z f1 f2

x1 -1 1 0

x2 -3 2 1

f1 0 1 0

f2 0 0 1

RHS 0 4 1

65

n Determinar as variveis de deciso (adjustable cells) Variveis de deciso: Padro = quantidd de computadores padro a serem produzidos. Luxo = quantidd de computadores luxo a serem produzidos.

Prof. Fogliatto

Pesquisa Operacional

66

Uma vez preenchido o tableau inicial do simplex, as iteraes seguem a seguinte sequncia de passos (equivalente utilizao das expresses matemticas apresentadas na seo anterior): a. Identifique as variveis candidatas a entrar na base na primeira linha (linha z ou linha zero) do tableau. Se o problema for de maximizao, a varivel mais negativa entra na base; se o problema for de maximizao, a varivel mais positiva entra na base. Sempre que houver empate (duas variveis candidatas com o mesmo valor de zj - cj, escolha aleatoriamente a varivel a ser introduzida na base). A varivel entrante na base ser designada por xj. No caso em que nenhuma varivel satisfizer o critrio de entrada na base, uma soluo tima foi encontrada para o problema. b. Inspecione a coluna yj correspondente varivel xj em busca de valores positivos. Se no houver nenhum valor positivo na coluna, a soluo para o problema de PL tende ao infinito e uma soluo tima foi encontrada. Caso contrrio, o teste da mnima razo identificar a varivel bsica que deve dar lugar a xj na base.

66

n Determinar as variveis de deciso (adjustable cells)

Identificao das variveis de deciso

Valor inicial das variveis de deciso (pode ser qualquer valor). Na busca pelo timo, o programa permitir que essas clulas assumam qualquer valor nonegativo.Prof. Fogliatto Pesquisa Operacional 67

c. Para realizar o teste da mnima razo, utilize a frmula:

b xk = Min i , onde yij > 0. i y ij ou seja, divida o lado direito do tableau pelos valores positivos em yj: a menor razo identifica a varivel xk a sair da base. O valor positivo em yj correspondente mnima razo o elemento de pivot da iterao. d. Atravs de operaes elementares com a linha que contm o elemento pivot, faa com que a coluna correspondente a xj assuma os valores na coluna correspondente a xk. As operaes elementares com a linha pivot sero apresentadas atravs do exemplo a seguir. e. Volte para o passo a e execute mais uma iterao do algoritmo. Os passos acima so agora aplicados ao exemplo na pgina 38. O tableau inicial para o problema exemplo foi obtido anteriormente, sendo reproduzido a seguir.

67

Identifique as clulas como variveis de deciso (adjustable cells)

Tela resultante n Selecione as clulas onde foram escritos os zeros.Prof. Fogliatto

o Na opo WB! do menu, selecione adjustable.Pesquisa Operacional 68

z f1 f2

x1 -1 1 0

x2 -3 2 1

f1 0 1 0

f2 0 0 1

RHS 0 4 1

a. O problema exemplo de maximizao. Assim, variveis com valores de zj cj na linha z do tableau so candidatas a entrar na base. Duas variveis, x1 e x2 satisfazem o critrio de entrada na base. A mais negativa delas, x2, entra na base. Assim, xj = x2 e ytj = yt2 = [2, 1]. b. O vetor y2 apresenta dois valores positivos (2 e 1), com os quais ser feito o teste da mnima razo. c. O teste da mnima razo vem apresentado no tableau abaixo.

xjx1 -1 1 0 x2 -3 2 1 f1 0 1 0 f2 0 0 1 RHS 0 4 1

xk

z f1 f2

4/2 = 2 1/1 = 1

elemento de pivot

mnima razo

68

p Caso as variveis de deciso sejam no-negativas, clique OK. o Opo caso as variveis de deciso sejam irrestritas no sinal.

n Identificao das clulas selecionadas como ajustveis. r Nomeie as variveis irrestritas no sinal (qualquer nome serve).

q Caso as variveis sejam irrestritas no sinal, siga os passos abaixo. t Clique em OK.

s Clique em Add.

WBFree identifica variveis irrestritas

Prof. Fogliatto

Pesquisa Operacional

69

d. Para completar a iterao do simplex, necessrio proceder com operaes elementares que utilizam a linha que contm o elemento de pivot. As operaes tm por objetivo fazer com que a coluna x2 (da varivel entrante) assuma a configurao da coluna f2 (varivel que sai da base). A sequncia de operaes vem descrita a seguir.x1 -1 1 0 x2 -3 2 1 f1 0 1 0 f2 0 0 1 RHS 0 4 1

z f1 f2

Os dois valores coincidem, logo nenhuma operao necessria. Identificao das linhas do tableau (0) (1) (2)x1 -1 1 0 x2 -3 2 1 f1 0 1 0 f2 0 0 1 RHS 0 4 1

z f1 f2

Valores no coincidem: executa-se uma operao elementar. Seja (1) a linha (1) aps a operao. A operao que transformar 2 em 0 : (1) = (1) 2 (2)69

Variveis de deciso so identificadas em azul pelo WB.

Existe um cone de atalho p/ identificao de variveis de deciso no-negativas, conforme apresentado abaixo. n Selecione as variveis de deciso. o Clique no cone . Clulas passam a ser apresentadas em azul.

Prof. Fogliatto

Pesquisa Operacional

70

Explicitando a operao:x1 -1 1 0 x2 -3 2 1 f1 0 1 0 f2 0 0 1 RHS 0 4 1

z f1 f2

(1)' = (1) - 2 x (2)

z f1 x2

x1 -1 1 0

x2 -3 0 1

f1 0 1 0

f2 0 -2 1

RHS 0 2 1

Na sequncia, trabalham-se os valores na linha z:x1 -1 1 0 x2 -3 0 1 f1 0 1 0 f2 0 -2 1 RHS 0 2 1

(0) (1) (2)

z f1 x2

Valores no coincidem. Seja (0) a linha (0) aps a operao elementar. A operao que transformar -3 em 0 : (0) = (0) + 3 (2)70

o Escreva a funo objetivo (best) Funo objetivo: Lucro Total = (Lucro por unidade do Modelo Padro) (Qtdd de Modelos Padro produzidos) + (Lucro por unidade do Modelo Luxo) (Qtdd de Modelos Luxo produzidos) Lucro Total = 300 Padro + 500 LuxoProf. Fogliatto Pesquisa Operacional 71

Explicitando a operao:x1 -1 1 0 x2 -3 0 1 f1 0 1 0 f2 0 -2 1 RHS 0 2 1

z f1 x2

(0)' = (0) + 3 x (2)

z f1 x2

x1 -1 1 0

x2 0 0 1

f1 0 1 0

f2 3 -2 1

RHS 3 2 1

Observe que a coluna x2 assumiu a configurao anterior da coluna f2. Isso foi obtido atravs de operaes elementares com a linha que contm o elemento pivot. As operaes elementares sempre devem utilizar a linha pivot, ocorrendo da forma exemplificada acima e generalizada a seguir (na expresso abaixo, w um nmero real qualquer, positivo ou negativo): (linha nova) = (linha antiga) + [w (linha pivot)] e. Concluda a iterao, retorna-se ao passo a. As demais iteraes sero apresentadas diretamente no tableau.

71

Coeficientes de custo da funo objetivo.

Frmula da funo objetivo.

Prof. Fogliatto

Pesquisa Operacional

72

2a Iterao:

xjx1 -1 1 0 x2 0 0 1 f1 0 1 0 f2 3 -2 1 RHS 3 2 1

xk

z f1 x2

2/1 = 2

mnima razo elemento de pivotx1 -1 1 0 x2 0 0 1 f1 0 1 0 f2 3 -2 1

z f1 x2

RHS 3 2 1

Nenhuma operao necessria

z f1 x2

x1 -1 1 0

x2 0 0 1

f1 0 1 0

f2 3 -2 1

RHS 3 2 1

Nenhuma operao necessria

72

o Identifique a clula que contm a frmula como funo objetivo (best)n Clique na clula onde a frmula da funo objetivo foi escrita.

o Selecione WB! no menu e a opo Best. Este a tela correspondente opo Best.Prof. Fogliatto Pesquisa Operacional 73

Finalizando a iterao:x1 -1 1 0 x2 0 0 1 f1 0 1 0 f2 3 -2 1 RHS 3 2 1

z f1 x2

(0)' = (0) + (1)

z f1 x2

x1 0 1 0

x2 0 0 1

f1 1 1 0

f2 1 -2 1

RHS 5 2 1

Observe que nenhuma varivel no-bsica apresenta valor negativo na linha z. Esse o critrio de finalizao do algoritmo simplex.

73

o Identifique se o problema de Minimizao ou Maximizao (default Minimizao).

n Identificao das clulas selecionadas como ajustveis.

p Confirme clicando OK.

Clula contendo funo objetivo passar a ser identificada como clula a ser maximizada (WBMAX).

Prof. Fogliatto

Pesquisa Operacional

74

3.1.1. Casos Especiais Dois casos especiais merecem nota: (i) problemas com solues timas alternativas e (ii) problemas com soluo ilimitada (tendendo ao infinito). Esses dois casos especi