




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Apostila de Pesquisa Operacional
Tipologia: Notas de estudo
1 / 167
Esta página não é visível na pré-visualização
Não perca as partes importantes!
A Pesquisa Operacional (PO) trata da modelagem matemática de fenômenos estáticos ou dinâmicos. Os problemas estáticos são denominados por determinísticos. Nestes problemas, todos os componentes são conhecidos a priori e nenhuma aleatoriedade em sua ocorrência é admitida. Os problemas dinâmicos são denominados estocásticos , e seus elementos apresentam uma probabilidade de ocorrência em uma determinada forma. Este material aborda problemas determinísticos de Pesquisa Operacional.
Os problemas de PO existem desde longa data. Somente a partir da 2 a^ 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 aplicação da PO foram, em virtude de sua origem, de caráter militar. Somente após o final da Segunda Grande Guerra, problemas civis passaram a ser estudados pela PO. Os primórdios da PO encontram-se descritos no trabalho de Trefethen (1954).
Ravindran, A., Phillips, D.T. & Solberg, J.J. (1987). Operations Research, Principles and Practice , 2 nd^ 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.
Prof. Fogliatto Pesquisa Operacional 2
INTRODUÇÃO
PROGRAMAÇÃO LINEAR
Dois eventos motivaram o rápido desenvolvimento da PO. O primeiro foi o desenvolvimento de um algoritmo simples para solucionar problemas de programação linear (isto é, problemas determinísticos de PO), denominado algoritmo simplex e proposto por George Dantzig em 1947. Tal algoritmo permitiu a resolução manual de diversos problemas de PO, especialmente aqueles de baixa complexidade. O segundo foi a proliferação dos microcomputadores e o rápido aumento em sua velocidade de processamento.
Problemas de PO são usualmente modelados na forma de uma função objetivo (por exemplo, maximizar o lucro da empresa) e diversas restrições (associadas, por exemplo, à disponibilidade de matérias-primas, mão-de-obra, etc.). A chave do algoritmo simplex está no formato da região limitada pelas restrições, comum a todos os problemas de PO, conforme verificado por Dantzig; tal região é 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 constatação, a busca pela solução ótima em problemas de PO passou a ser limitada a pontos extremos da região simplex , o que permitiu o desenvolvimento de um algoritmo de baixa complexidade computacional por Dantzig.
Prof. Fogliatto Pesquisa Operacional 4
LIVRO-TEXTO : Operations Research, Applications and Algorithms , de Wayne L. Winston, 3a^. Ed., Duxburry Press.
Adicionais (no mesmo nível):
1. Pesquisa Operacional , de Harvey Wagner, 2a^. Ed., Prentice-Hall do Brasil. 2. Pesquisa Operacional , de Pierre J. Ehrlich, Ed. Atlas.
A solução de problemas através da Pesquisa Operacional pode ser implementada através de um procedimento em sete etapas, conforme apresentado na Figura 1.1. As etapas são auto-explicativas para uma descrição completa das etapas, ver Winston, 1994.
Bronson, R. & Naadimuthu, G. (1997). Operations Research , 2 nd^ Ed.. New York: McGraw-Hill.
Winston, W.L. (1994). Operations Research, Applications and Algorithm, 3 rd^ Ed.. Belmont (CA): Duxburry Press.
Prof. Fogliatto Pesquisa Operacional 5
Bancos Instituições Financeiras Empresas de Transportes, etc.
Problemas de programação são modelados tal que o melhor uso de recursos escassos possa ser determinado, conhecidos os objetivos e necessidades do analista. Problemas de programação linear compõem uma sub-classe de problemas nos quais a modelagem é interiamente expressa em termos de equações lineares. Parece intuitivo que para ser possível a solução de um dado problema através da programação linear, o problema deve ser, incialmente, formulado em termos matemáticos.
A construção de um modelo de programação linear seguetrês passos básicos (Ravindran et al. , 1987):
Passo I. Identifique as variáveis desconhecidas a serem determinadas (elas são denominadas variáveis de decisão) e represente-as através de símbolos algébricos (por exemplo, x e y ou x 1 e x 2 ). Passo II. Liste todas as restrições do problema e expresse-as como equações (=) ou inequações (≤, ≥) lineares em termos das variáveis de decisão definidas no passo anterior. Passo III. Identifique o objetivo ou critério de otimização do problema, representando-o como uma função linear das variáveis de decisão. O objetivo pode ser do tipo maximizar ou minimizar.
Prof. Fogliatto Pesquisa Operacional 7
A Politoy não tem problemas no fornecimento de matéria-primas, mas só pode contar com 100 h de acabamento e 80 h de carpintaria.
A demanda semanal de trens é ilimitada, mas no máximo 40 soldados são comprados a cada semana.
A Politoy deseja maximizar seus ganhos semanais.
Formule um modelo matemático a ser utilizado nessa otimização.
x A = produção diária do incenso tipo A
x B = produção diária do incenso tipo B
x C = produção diária do incenso tipo C
Passo II - Identifique as restrições. Neste problema, as restrições dizem respeito à disponibilidade limitada dos recursos de mão-de-obra e materiais. O tipo A requer 7 horas de mão-de-obra por unidade, e sua quantidade produzida é x A. Assim, a demanda por mão-de-obra para o incenso tipo A será 7 x A horas (se considerarmos uma relação linear). Analogamente, os tipos B e C vão requerer 3 x B e 6 x C horas, respectivamente. Assim, a quantidade total de horas de trabalho demandadas na produção dos três tipos de incenso será 7 x A + 3 x B + 6 x C. Sabe- se que esta quantidade não deve axceder o total de horas disponíveis na empresa, isto é, 150 horas. Assim, a restrição relacionada a mão-de-obra será:
7 x A + 3 x B + 6 x C ≤ 150
Para obter a restrição relacionada aos materiais, utiliza-se raciocínio similar. A restrição resultante será:
4 x A + 4 x B + 5 x C ≤ 200
Para finalizar, deseja-se restringir as variáveis de decisão no domínio dos reais não-negativos (isto é, x ≥ 0). Essas restrições, uma para cada variável de decisão, são denominadas restrições de não-negatividade. Apesar de serem comuns em muitas aplicações de programação linear, não são necessárias para a utilização da metodologia.
Prof. Fogliatto Pesquisa Operacional 8
O primeiro passo na formulação de um problema de PL é a definição das variáveis de decisão relevantes.
Estas variáveis devem descrever completamente as decisões a serem tomadas.
A Politoy deve decidir sobre:
x 1 = núm. de soldados produzidos a cada semana x 2 = núm. de trens produzidos a cada semana
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 x A + 2 x B + 3 x C
Assim, o problema de mix de produção apresentado acima pode ser escrito como um modelo de programação matemática através das seguintes expressões:
Determine os valores de x A, x B e x C que maximizem:
z = 4 x A + 2 x B + 3 x C
sujeito às restrições:
7 x A + 3 x B + 6 x C ≤ 150 4 x A + 4 x B + 5 x C ≤ 200 x A ≥ 0 x B ≥ 0 x C ≥ 0.
Prof. Fogliatto Pesquisa Operacional 10
O que a Politoy deseja maximizar é:
(27 x 1 + 21 x 2 ) - (10 x 1 + 9 x 2 ) - (14 x 1 + 10 x 2 ) = 3 x 1 + 2 x 2
Usaremos a variável z para designar o valor assumido pela função objetivo.
Assim: Max z = 3 x 1 + 2 x 2
Os números 3 e 2 são chamados coeficientes da função objetivo. Eles indicam a contribuição de cada variável nos ganhos da empresa.
Deseja-se modelar o problema acima. O objetivo é minimizar os custos com pessoal, atendendo à demanda de pessoal da empresa.
Formulação:
Observe, inicialmente, que operadores treinados podem executar, em umdeterminado mês, um das seguinte atividades: (1) trabalhar nas máquinas, (2) realizar treinamento, ou (3) permanecer ocioso.
Já que o número de operadores trabalhando nas máquinas em cada mês é fixo, as únicas variáveis de decisão desconhecidas são o número de operadores realizando treinamento e o número de operadores ociosos em cada mês. Assim, as variáveis de decisão do problema são:
x 1 = operadores treinados realizando treinamento em Janeiro x 2 = operadores treinados ociosos em Janeiro x 3 = operadores treinados realizando treinamento em Fevereiro x 4 = operadores treinados ociosos em Fevereiro x 5 = operadores treinados realizando treinamento em Março x 6 = operadores treinados ociosos em Março
Segundo as restrições de demanda, um número suficiente de operadores treinados deve estar disponível em cada mês para trabalhar nas máquinas. Para garantir esses operadores, deve-se escrever a seguinte equação para cada mês:
Número nas máquinas + Número treinando + Número ocioso = Total de operadores disponíveis no início do mês
Prof. Fogliatto Pesquisa Operacional 11
A medida que x 1 e x 2 crescem, o valor da função objetivo aumenta.
Mas x 1 e x 2 não podem crescer indefinidamente. Três restrições limitam seu crescimento:
Restrições 1 Î 3 devem ser expressas em termos das variáveis de decisão x 1 e x 2.
A restrição para o mês de Janeiro, por exemplo, será:
100 + x 1 + x 2 = 130
Em Fevereiro, o número total de operadores treinados disponível será dado pela soma dos operadores treinados disponíveis em Janeiro e aqueles que completaram seu treinamento em Janeiro. Em Janeiro, 10 x 1 trainees estão em treinamento, mas somente 7 x 1 deles completam o programa, passando a ser considerados operadores treinados. Assim, a restrição para Fevereiro é:
150 + x 3 + x 4 = 130 + 7 x 1
Analogamente, para o mês de Março:
200 + x 5 + x 6 = 130 + 7 x 1 + 7 x 3
Como a empresa necessita de 250 operadores treinados para Abril, mais uma restrição é necessária:
130 + 7 x 1 + 7 x 3 + 7 x 5 = 250
Todas as variáveis de decisão são não-negativas.
Na composição da função 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 função objetivo é:
Min z = 400(10 x 1 + 10 x 3 + 10 x 5 ) + 700( x 1 + x 3 + x 5 )
Prof. Fogliatto Pesquisa Operacional 13
Restrição 2 (determinada de maneira similar):
(total hs carpintaria/sem.) = (hs.carp./sold.).(sold. produzidos/sem.)
(total hs carpintaria/sem.) = 1( x 1 ) + 1( x 2 ) = x 1 + x 2
Restrição 3 :
A restrição 3 é definida pela limitação do número de soldados produ- zidos por semana (devido a limitações na demanda):
2.1. Modelos de Programação Linear em Formato Padrão
O formato padrão de um problema de programação linear com m restrições e n variáveis é dado por (Bazaraa et al ., 1990):
Maximizar (ou minimizar): z = c 1 x 1 + c 2 x 2 + ... + c (^) n x (^) n
sujeito a:
a 11 x 1 + a 12 x 2 + ... + a 1 n x (^) n = b 1 a 21 x 1 + a 22 x 2 + ... + a 2 n x (^) n = b 2
a (^) m 1 x 1 + a (^) m 2 x 2 + ... + a (^) mn x (^) n = b (^) m
x 1 ≥ 0, x 2 ≥ 0, …, x (^) n ≥ 0 b 1 ≥ 0, b 2 ≥ 0, …, b (^) m ≥ 0
Bazaraa, M.S., Jarvis, J.J. & Sherali, H.D. (1990). Linear Programming and Network Flows , 2 nd^ Ed.. New York: John Wiley.
Prof. Fogliatto Pesquisa Operacional 14
Identificam os tipos de valores que as variáveis podem assumir.
Podem ser de três tipos: ≥ 0 ≤ 0 irrestrita
Combinando a função objetivo e as restrições, chega-se a formulação matemática do problema da Politoy:
max z = 3 x 1 + 2 x 2
Sujeito a:
Restrição de horas de acabamento
Restrição de horas de carpintaria
Restrição de demanda
Algumas características importantes do formato padrão são: ( i ) a função objetivo é do tipo maximizar ou minimizar ; ( ii ) todas as restrições são expressas como equações; ( iii ) todas as variáveis são não-negativas; e ( iv ) a constante no lado direito das restrições é não-negativa.
O formato padrão de um problema de programação linear pode ser escrito, também, em formato matricial, resultando em uma apresentação mais compacta:
Maximizar (ou minimizar): z = cx
sujeito a:
Ax = b x ≥ 0 b ≥ 0
onde A é uma matriz de dimensão ( 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 restrições ou matriz de coeficientes ; ela contém os coeficientes tecnológicos que compõem as restrições. O vetor x é o vetor de decisão , já que contém a lista das variáveis de decisão consideradas no problema. O vetor b é conhecido como lado direito das restrições ou vetor das necessidades ; ele indica a disponibilidade de recursos associados à cada restrição. Por fim, o vetor c é conhecido como vetor de custos do problema; ele contém os coeficientes de custo que compõem a função objetivo.
Prof. Fogliatto Pesquisa Operacional 16
Nem todos os problemas de programação linear são formulados em formato padrão. No geral, as restrições tendem a aparecer no formato de inequações (≤, ≥). O algoritmo simplex , utilizado na solução dos problemas de programação linear só pode ser rodado se o problema estiver escrito em formato padrão. Assim, na maioria das aplicações, será necessário converter inequações em equações.
Para converter uma inequação em equação, dois tipos de variáveis poderão ser utilizadas: as variáveis de folga e as variáveis de excesso. Variáveis de folga são utilizadas para converter inequações do tipo ≤ em =; variáveis de excesso são utilizadas para converter inequações do tipo ≥ em =. A denominação folga e excesso pode ser facilmente compreendida através de exemplos.
Considere a restrição
x 1 ≤ 10
que indica o número máximo de operadores disponíveis para executar tarefas no mês 1. Se x 1 assumir o valor 10 no ponto ótimo (ou seja, no alor de x 1 que melhor satisfaz à função objetivo do problema), a inequação assume o formato de uma igualdade. Se x 1 assumir valores inferiores a 10, o número de operadores utilizados será menor que o número disponível; neste contexto, tem-se uma folga entre o número de operadores efetivamente utilizados no mês 1 e o número de operadores disponíveis. Assim, para transformar a inequação x 1 ≤ 10 em equação, insere-se uma variável de folga, f 1 , que poderá assumir qualquer valor não-negativo.
Prof. Fogliatto Pesquisa Operacional 17
ESPAÇO DE SOLUÇÕES E SOLUÇÃO ESPAÇO DE SOLUÇÕES E SOLUÇÃO
ÓTIMAÓTIMA
Para reescrever o problema em formato padrão, as seguintes modificações são necessárias:
( a ) A variável x 3 deve ser substituída por x 4 – x 5 , sendo x 4 ≥ 0 e x 5 ≥ 0.
( b ) Os dois lados da última restrição devem ser multiplicados por –1; lembre que as restrições no formato padrão não admitem constantes negativas no lado direito.
( c ) Introduza uma variável de folga f 1 na primeira restrição e uma variável de excesso e 2 na segunda restrição. Os índices nessas variáveis indicam a restrição onde cada variável foi introduzida.
( d ) Aloque coeficientes de custo iguais a 0 nas variáveis de folga e excesso. Elas não fazem parte do problema em sua forma original e não devem, assim, alterar a função objetivo.
Seguindo os passos acima, chega-se ao seguinte problema em formato padrão:
Minimizar: z = 5 x 1 – 2 x 2 + 3 x 4 – 3 x 5
sujeito a: x 1 + x 2 + x 4 – x 5 + f 1 = 7 x 1 – x 2 + x 4 – x 5 – e 2 = 2
Prof. Fogliatto Pesquisa Operacional 19
Representação gráfica do problema Politoy Representação gráfica do problemaPolitoy
20
20
40
40
60
60
80
80
100
100
(2)
(4)
(3)
O espaço de soluções encontra-se hachurado. (2) - (4) denotam as restrições.
As restrições de sinal restringem o problema ao primeiro quadrante do espaço bi-dimens.
Solução ótima: (1) Desenhe o vetor z.
z
(2) Desenhe linhas ortogonais ao vetor z. Essas são as linhas de isocusto.
Ponto Ótimo: (20,60)
(3) Calcule o valor de z no ponto ótimo.
z = 3(20) + 2(60) = 180
x 1
x 2
Prof. Fogliatto Pesquisa Operacional 20
Restrições críticas ( Restrições críticas ( bindingbinding ) e não-) e não-críticascríticas
Uma restrição é crítica ( binding ) se, substituindo os valores correspondentes ao ponto ótimo na restrição, a igualdade de verifica.
Ex .: restrições (2) e (3) no gráfico anterior.
Todas as demais restrições são consideradas não-críticas.
Ex .: restrição (4) e restrições de sinal no gráfico anterior.
2.2. Problemas típicos de programação linear
Alguns modelos de programação linear são adaptáveis a uma gama de situações práticas. Esses modelos são considerados como “típicos”, por serem aplicados em diversos setores produtivos. Nesta seção, cinco famílias de problemas típicos serão consideradas:
A. Escolha do mix de produção B. Escolha da mistura para rações C. Planejamento dinâmico da produção D. Distribuição de produtos através de uma rede de transportes
Outras famílias de problemas típicos 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.. São Paulo: Prentice-Hall do Brasil.