Você está na página 1de 14

Apostila de Pesquisa Operacional

Professor: Carla Faria


Capítulo 1

1 – Apresentação da Pesquisa Operacional:


1.1 – Conceito: É um método científico de tomadas de decisões. Em linhas gerais,
consiste na descrição de um sistema organizado com o auxílio de um modelo, e através
da experimentação com o modelo, na descoberta da melhor maneira de operar o
sistema.

1.2 – Fases de um estudo de PO:


Um estudo de Pesquisa Operacional costumar envolver 6 fases:
Formulação do problema;
Construção do modelo do sistema;
Cálculo da solução através do modelo;
Teste do modelo e da solução;
Estabelecimento de controles da solução;
Implantação e acompanhamento.

1.2.1 – Formulação do problema: Nesta fase, o administrador do sistema é o responsável


pelo estudo de PO. Deverão discutir no sentido de colocar o problema de maneira clara
e coerente, definido os objetivos a alcançar e quais os possíveis caminhos alternativos
para que isso ocorra.
Além disso, serão levantadas as limitações técnicas do sistema e as relações
desse sistema com os outros da empresa ou do ambiente externo, com a finalidade de
criticar a validade de possíveis soluções em face destes obstáculos.
Deverá ainda ser acordada uma medida de eficiência para o sistema, que permita
ao administrador ordenar as soluções encontradas, concluindo o processo decisório.

1.2.2 – Construção do modelo do sistema: os modelos que interessam em pesquisa


Operacional são modelos matemáticos, isto é, modelos formados por um conjunto de
equações e inequações.
Uma das equações do conjunto serve para medir a eficiência a eficiência do
sistema para cada solução proposta. É a função objetivo ou função de eficiência. As
outras equações geralmente descrevem as limitações ou restrições técnicas do sistema.
As variáveis que compõem as equações são de dois tipos:
Variáveis controladas ou de decisão: são variáveis cujo valor está sob controle
do administrador. Decidir, neste caso, é atribuir um particular valor a cada uma
dessas variáveis. Numa programação de produção, por exemplo, a variável de
decisão é a quantidade a ser produzida num período, o que compete ao
administrador controlar.
Variáveis não controladas: são as variáveis cujos valores são arbitrados por
sistemas fora do controle do administrador. Custos de produção, demanda de
produtos, preço de mercado são variáveis não controladas.

2
1.2.3 – Cálculo da solução através do modelo: é feito através de técnicas matemáticas
específicas. A construção do modelo deve levar em consideração a disponibilidade de
uma técnica para o cálculo da solução.

1.2.4 – Teste do modelo e da solução: esse teste é realizado com dados empíricos do
sistema. Se houver dados históricos, eles serão aplicados no modelo, gerando um
desempenho que pode ser comparado ao desempenho observado no sistema. Se o desvio
verificado não for aceitável, a reformulação ou mesmo o abandono do modelo será
inevitável. Caso não haja dados históricos, os dados empíricos serão anotados com o
sistema funcionando sem interferência, até que o teste possa ser realizado.

1.2.5 – Estabelecimento de controles da solução: a construção e experimentação: a


construção e experimentação com o modelo identificam parâmetros fundamentais para a
solução do problema. Qualquer mudança nesses parâmetros deverá ser controlada para
garantira validade da solução adotada. Caso alguns desses parâmetros sofra desvio além
do permitido, o cálculo de nova solução ou mesmo a reformulação do modelo poderá
ser necessária.

1.2.6 – Implementação e acompanhamento: Nesta fase, a solução será apresentada ao


administrador, evitando-se o uso da linguagem técnica do modelo. O uso da linguagem
do sistema em estudo facilita a compreensão e gera boa vontade para a implantação que
está sendo sugerida. Essa implantação deve ser acompanhada para se observar o
comportamento do sistema com a solução adotada. Algum ajuste pode ser requerido.

Apresentação:

A programação linear tem como objetivo alocar de forma otimizada os recursos


limitados de um empreendimento entre atividades ou produtos que competem entre si..
É particularmente útil em problemas de

 Análise de Sistemas;
 Engenharia de Produção;
 Economia e Finanças;
 Administração e Logística.

    Nessas áreas os problemas envolvendo maximização e minimização são constantes,


como por exemplo
 Maximização: lucro e receita de um produto, tempo de vida útil de um bem,
carga de um caminhão ou avião em rota, etc..
 Minimização: custo ou perdas de um produto, tempo de produção, parada para
escalas, transportes e rotas, etc..

    Para cada problema, sempre ocorrerão condições limitantes que dependem do meio
onde ocorre o problema.

   Um outro aspecto importante de problemas envolvendo decisões é o de otimização,


quando se procura estabelecer quais as maneiras mais eficientes de utilizar os recursos
disponíveis para atingir certos objetivos. Em geral, trata-se de recursos limitados e sua
utilização criteriosa possibilita melhorar o rendimento ou produtividade do processo em

3
estudo. A própria continuidade do processo pode mesmo depender de tal utilização
criteriosa. Na prática, tais recursos são usualmente de natureza econômica – capital,
matéria-prima, mão-de-obra, equipamento, tempo, mercado, etc. – mas, em geral,
podem tomar os aspectos mais variados.

    Dessa forma, a Programação Linear (PL) visa fornecer métodos eficientes para a
análise e resolução de problemas de otimização cujo modelo matemático é de um tipo
particularmente simples, mas muito freqüente na prática. Num problema típico de PL
tem-se:

a) um número finito de variáveis x1, x2, x3, etc...;


b) um número finito de restrições ou vínculos, do tipo desigualdade linear;
que as variáveis devem satisfazer;

c) procura-se maximizar ou minimizar conforme o caso, uma certa função


real do tipo linear nas variáveis x1, x2, etc.., chamada de função objetivo.

 
    EXEMPLO 1

    Um joalheiro produz colares (x1) e braceletes (x2). As margens de lucro são R$
320,00 para os colares e R$ 240,00 para os braceletes. Os colares requerem 2 horas para
o corte das pedras, 7 horas para a montagem e 6 horas para o polimento. Os braceletes
requerem 5 horas para o corte das pedras, 7 horas para a montagem e 3 horas para o
polimento. O joalheiro trabalha sozinho e dispõe mensalmente de 40 horas para o corte
das pedras, 70 horas para a montagem e 48 horas para o polimento. Calcule o número de
jóias de cada tipo que maximiza o lucro do joalheiro.

- Variáveis de decisão (quantidade de bens que devemos produzir dentro das limitações)

X1 – quantidade de colares

X2 – quantidade de braceletes

- Função objetivo: (é a função que determina o lucro máximo ou o custo mínimo)

Max L = 320x1 + 240x2

- Restrições

Tempo X1 X2 disponibilidade

Corte 2 5 40

Montagem 7 7 70

Polimento 6 3 48

Restrições técnicas 2x1 + 5x2 ≤ 40 Restrições de não negatividade x1≥0; x2≥0

4
7x1 + 7x2 ≤ 70

6x1 + 3x2 ≤ 4

    EXEMPLO 2

    Para uma boa alimentação, o corpo necessita de vitaminas e proteínas. A necessidade
mínima de vitaminas é de 32 unidades por dia e a de proteínas de 26 unidades por dia.
Uma pessoa tem disponível carne e ovos para se alimentar. Cada unidade de carne
contém 4 unidades de vitaminas e 6 unidades de proteínas. Cada unidade de ovo contém
8 unidades de vitaminas e 6 unidades de proteínas. Cada unidade de carne custa R$ 3,00
e cada unidade de ovo custa R$ 2,50. Qual a quantidade diária de carne e ovos que deve
ser consumida para suprir as necessidades de vitaminas e proteínas com o menor custo
possível?

- Variáveis de decisão

X1 – quantidade de carne

X2 – quantidade de ovos

-Função objetivo:

Min C = 3x1 + 2,5x2

Produtos X1 X2 Disponibilidade

Vitaminas 4 8 32

Proteínas 6 6 26

Restrições técinicas

4x1 + 8x2 ≥ 32

6x1 + 6x2 ≥26

Restrições de não negatividade

X1≥0

X2≥0

  

5
  EXEMPLO 3

    Uma empresa fabrica 2 artigos de camping: sacos de dormir e barracas. Cada saco de
dormir requer 2 horas para cortar os tecidos, 5 horas para costurar e 1 hora para
impermeabilizar. Cada barraca requer 1 hora para cortar os tecidos, 5 horas para as
costuras e 3 horas de impermeabilização. Dados os recursos limitados da empresa, ela
dispõe de 14 horas para o corte, 40 horas para a costura e 18 horas para a
impermeabilização, por dia. A margem de lucro é de R$ 50,00 por saco de dormir e de
R$ 30,00 por barraca. Maximize a função lucro em termos da quantidade de barracas e
sacos de dormir a serem produzidos por dia.

Variáveis de decisão

X1 – quantidade de sacos de dormir

X2 – quantidade de barracas

Função objetivo

Max Lucro : 50x1 + 30x2

Restrições

Tempo X1 X2 Disponibilidade

Corte 2 1 14

Costura 5 5 40

impermeabilização 1 3 18

Restrições técnicas

2x1 + x2 ≤14

5x1 + 5x2 ≤40

X1 + 3x2 ≤18

Restrições de não negatividade

6
X1≥0

X2≥0

  Capítulo 2

2 – Programação Linear:

2.1 – Modelo em Programação Linear:

Uma das técnicas mais utilizadas na abordagem de problemas em PO é a


programação linear. A simplicidade e do modelo envolvido e a disponibilidade de uma
técnica de solução programável em computador facilitam sua aplicação. As aplicações
mais conhecidas são feitas em sistemas estruturados, como os de produção, finanças,
controles de estoques, etc.
O modelo matemático de programação linear é composto de uma função
objetiva linear, e de restrições técnicas representadas por um grupo de inequações
também lineares.

Exemplo: Função objetiva a ser maximizada: Lucro: 2 x1  3 x 2

 4 x1  3 x2  10
técnicas 

Restrições
 6 x1  x 2  20




 x  0
denãonegat ividade 1

  x2  0

Roteiro:
a) Quais as variáveis de decisão?
b) Qual o objetivo?
c) Quais as restrições?

Pesquisa Operacional é um conjunto de técnicas quantitativas com o intuito de auxiliar


o processo de decisão dentro de uma filosofia de modelagem e, preferivelmente, de
otimização.
 
    Problemas como os que ocorrem na vida real apresentam dificuldades das mais
variadas naturezas. Inicialmente, é preciso estabelecer, entre os indivíduos que se

7
propõem a estudar o problema em foco, um certo consenso na percepção do problema
como um sistema.

    O primeiro passo para resolver o problema consiste em modelar o sistema a ser
estudado. Neste estágio é preciso identificar as variáveis exógenas e as endógenas ao
sistema, assim como seu interrelacionamento. Quanto à natureza o modelo poderá ser
determinístico ou estocástico (variáveis probabilísticas).

    Quanto aos usos do modelo, podemos salientar as finalidades: preditivas,


investigativas (ou descritivas ou explicativas) e normativas. É preciso sempre ter em
mente que modelo algum jamais poderá captar toda a realidade. Entretanto, podemos
construir modelos com o propósito de atender uma ou mais das três finalidades
mencionadas acima. Uma simples linha que, baseando-se em dados do passado, procure
extrapolar a tendência das vendas de uma firma pode ser útil do ponto de vista preditivo,
sem que, por isso, lance luz alguma sobre a estrutura do mercado para o produto em
pauta. O modelo de mecânica celeste que o mundo ocidental utilizou antes de Kepler
ainda é bastante bom do ponto de vista preditivo – os sucessivos epiciclos garantiam
combinações de movimentos circulares (esta era uma restrição ideológica). O modelo
fornecia previsões muito boas para os fenômenos, sem,  entretanto, concordar com
nossa presente concepção da estrutura da dinâmica celeste.

    Um modelo normativo não se propõe a descrever um fenômeno, mas a ditar normas
relativas às ações a serem tomadas, visando à otimização de um objeto predeterminado.

    Podemos dizer que a Pesquisa Operacional é constituída por diversas técnicas
quantitativas aplicadas às áreas de administração, produção, planejamento e
organização. O sucesso dessas diversas técnicas, tanto entre pesquisadores teóricos
como entre engenheiros, administradores e economistas, foi o fator aglutinantes para a
constituição de um setor do conhecimento humano que maior progresso  vem
apresentando. Após um século de espetaculares descobertas científicas, também
testemunhamos a utilização, graças as disciplinas aplicadas, destes resultados em nossa
vida diária. É relativamente recente, de apenas quatro décadas, a preocupação por
técnicas quantitativas para melhor aproveitamento, através de organização e
planejamento, do cabedal de conhecimentos acumulados. As aplicações da Pesquisa
Operacional estendem-se desde o balanceamento de linhas de produção em fábricas, ou
fluxo ótimo de pacientes em hospitais, até o estudo de estruturas sociais e de processos
psicológicos.

    As ferramentas empregadas são: Matemática, Análise de Sistemas e Estatística. O


escravo disposto a manipular as milhares de contas necessárias para resolver problemas
de grande porte é o computador.

    No presente texto, concentrar-nos-emos principalmente numa das técnicas mais úteis
e desenvolvidas da Pesquisa Operacional, isto é, na programação linear. Também
tocaremos ligeiramente em programação inteira, programação não-linear e programação
dinâmica. Estas técnicas aplicam-se a modelos normativos. Em outra disciplina será
apresentada uma técnica muito útil - simulação - aplicável a modelos não-normativos.

    Empregando simulação não é possível obter, de imediato, resultados que levem à
otimização de um objetivo desejado. Entretanto, é possível simular, por meio do

8
modelo, uma série de experimentos em diferentes condições e, posteriormente, escolher
a condição cujos resultados nos sejam mais aceitáveis. Simulação aplicada a processos
estocásticos requer certos conhecimentos de estatística, e é muito  empregada em
problemas de filas.

    Não existe uma regra que indique qual a melhor técnica a ser utilizada para resolver
determinado problema. A escolha deverá ser feita de modo intuitivo. Porém pode
ocorrer certos conflitos entre a elegância teórica e a obtenção de resultados práticos de
modo barato e rápido. Assim, se não tivermos acesso a um algoritmo específico pronto
para resolver um problema de transporte, poderemos resolvê-lo por programação linear
empregando os macroprogramas que a maioria dos computadores oferece. Um
problema de filas pode ser resolvido de modo menos elegante por meio de simulação
estocástica.

    Vamos, agora, iniciar o estudo da programação linear.

      2- APRESENTAÇÃO DA PROGRAMAÇÃO LINEAR

Exemplo 1-1 – O dilema do fabricante

    Um fabricante deseja maximizar a receita bruta. A tabela abaixo ilustra as


composições das ligas, seus preços e as limitações na disponibilidade de matéria-prima.
 
 
  ITENS \  ATIVIDADES Liga Tipo A Liga Tipo B Matéria Prima Disponível
  Cobre  2 1 16
  Zinco 1 2 11
  Chumbo 1 3 15
  Preço unitário de venda R$ 30,00 R$ 50,00
     Inicialmente temos de identificar quais são as variáveis de decisão.

    Seja:  

xA a quantidade de liga A a ser produzida,

xB a quantidade de liga B a ser produzida.

    O objetivo é maximizar o valor das vendas totais Z.  Portanto, o objetivo é:

             Max Z = 30xA + 50xB

Sujeito  a

2xA + xB  <= 16, para o cobre

xA +2xB <= 11, para o zinco

9
xA +3xB <= 15, para o chumbo

xA >= 0; xB >= 0 , não pode fabricar uma quantidade negativa  de liga.


 

3- REPRESENTAÇÃO GRÁFICA

    Como resolver o problema de programação linear? Vamos inicialmente visualizar o


caso muito simples do dilema do fabricante de ligas metálicas (Exemplo 1-1):
Construímos, as retas (linhas cheias) que limitam a disponibilidade de matéria prima; no
presente exemplo, são três restrições. A área comum às três restrições constituia região
permissível ou região de trabalho, na qual qualquer ponto é uma solução viável (mas
não necessariamente ótima).

    A função objetivo Z que desejamos maximizar determina a inclinação de um


conjunto de retas paralelas (linhas tracejadas). De todas essas retas paralelas,
escolhemos a que maximiza Z e tem pelo menos um ponto pertencente à região
permissível. Este ponto corresponde à solução ótima desejada. Substituindo os valores,
xA = 7 e xB = 2 obtidos, nas restrições observamos que todo o cobre e todo o zinco
disponíveis são utilizados .Entretanto, sobram duas unidades de chumbo não utilizadas
(folga=2).

    Veremos posteriormente, que o teorema da base garante que a solução ótima está em
um dos vértices do polígono convexo formado pela região de trabalho. Basta então
testar cada um desses vértices.

  Exercício 1:  Resolver graficamente o problema de Programação linear.


 
Maximizar  Z = x1 + 2x2

Sujeito à:

-x1 + 3x2 <= 9

x1 – 2x2 <= 0

2x1 +   x2 <= 10

2x1 +   x2 >= 5

x1 >= 0; x2 >= 0

 Resp.:  Zmax =11 e o ponto ótimo é x1=3; x2=4.


 
    Exercício 2: Resolva graficamente o problema de Programação Linear .

 Maximizar  Z = 2x1 + x2

Sujeito à:

10
x1 + 4x2 <= 24

x1 + 2x2 <= 14

2x1 -  x2 <=   8

x1 – x2 <=  3

x1>=0; x2>=  0

 (Resposta: Zmax = 16)

      Exercício 3: Um fazendeiro tem que decidir o quanto vai plantar de milho e de
alfafa. Os lucros são de R$ 2.000,00 por alqueire de milho e de R$ 1.000,00 por
alqueire de alfafa. Suponha que suas limitações sejam: terra disponível é de 8 alqueires
e água disponível para irrigação de 80.000 litros sendo que deseja-se plantar no máximo
4 alqueires de milho. Cada alqueire de milho requererá 10.000 litros de água para
irrigação e cada alqueire de alfafa requererá 20.000 litros de água. Formule o problema
como de programação linear e resolva-o graficamente. (Resp.: xA=2 e xM=4)

    Exercício 4: Resolva graficamente, mostrando claramente a região dos pontos viáveis
(região de trabalho) e a reta da função objetivo:

  Max Z = -10x + 15y

    Sujeito a:

x >= 2   (I)          x+ y <=12  (II)

x <= 8  (III)        2x+5y <= 40 (IV)

    Calcule as folgas de todas as restrições e mostre quais as restrições atuantes.  


(Resposta: Zmax = 88)

  Exercício 5: Resolva graficamente

      Min Z =-x1 + 2x2

sujeita:
 
- x1 +  x2 <= 1

6x1 +4x2 <= 24

x2 >= 2

x1 >= 0,   x2 >= 0

11
 
 

Exemplos de situações que podem ser descritas com o auxílio de um modelo linear:

Exemplo 1: Certa empresa fabrica dois produtos P1 e P2. O lucro unitário do produto
P1 é de 1.000para cada produto unidades monetárias e o lucro unitário de P2 é de 1.800
unidades monetárias. A empresa precisa de 20 horas para fabricar uma unidade de P1 e
30 horas para fabricar uma unidade de P2. O tempo anual de produção disponível para
isso é de 1.200 horas. A demanda esperada para cada produto é de 40 unidades para P1
e 30 unidades anuais para P2. Qual é o plano de produção para que a empresa maximize
seu lucro nesses itens? Construa o modelo de programação linear para esse caso.

Exemplo 2: Para uma boa alimentação, o corpo necessita de vitaminas e proteínas. A


necessidade mínima de vitaminas é de 32 unidades por dia e a de proteínas de 36
unidades por dia. Uma pessoa tem disponível carne e ovos para se alimentar. Cada
unidade de carne contém 4 unidades de vitaminas e 6 unidades de proteínas. Cada
unidade de ovo contém 8 unidades de vitaminas e 6 unidades de proteínas. Qual a
quantidade diária de carne e ovos que deve ser consumida para suprir as necessidades de
vitaminas e proteínas com o menor custo possível? Cada unidade de carne custa 3
unidades monetárias e cada unidade de ovo custa 2,5 unidades monetárias.

12
2.2 – Técnicas de solução para modelos de programação linear com duas variáveis de
decisão – método gráfico:

2.2.1 – Conceito:

Essa técnica consiste em representar num sistema de eixos ortogonais o conjunto


das possíveis soluções do problema, isto é, o conjunto de pontos ( x1 , x 2 ) que obedecem
ao grupo de restrições impostas pelo sistema em estudo. O desempenho do modelo é
avaliado através da representação gráfica da função objetivo. As soluções são
classificadas de acordo com a sua posição no gráfico.

2.2.2 – Gráfico do conjunto de soluções:

A representação gráfica de uma equação linear com duas variáveis é uma reta. A
a representação gráfica de uma inequação linear com duas variáveis é um dos
semiplanos definidos pela reta correspondente à equação.

Exemplo: Representar graficamente a inequação; x1  2 x 2  10 .

Exemplo 2: Representar graficamente a solução do sistema:


x1  3 x 2  12
2 x1  x 2  16
x1  0
x2  0

2.2.3 – Avaliação do objetivo

Avaliar o desempenho da função objetivo: Lucro: L = 2 x1  5 x 2 , na região de


soluções do gráfico abaixo:

13
2.2.4 – Método gráfico:
Exemplo 1: Resolver o problema de programação linear: minimizar: Z = 2 x1  3x 2
 x1  x 2  5

Sujeito às restrições:
  
5 x1

x 2 10
 x1  8
 x  0
 1
 x 2
  0

Exemplo 2: Resolver o problema de programação linear: MAX L = 2 x1  3x 2


 4 x1  6 x2  60

Sujeito a: 
 x1

 x1
 x2  12
 0; x 2  0

14

Você também pode gostar