Aula 01 - Gabarito
Aula 01 - Gabarito
Aula 01 - Gabarito
Objetivos:
Ao final desta aula, o estudante será capaz de:
1. Entender a estrutura básica de um modelo de Pesquisa Operacional.
2. Modelar via Programação Linear diversos problemas relacionados a diversas
áreas da Engenharia de Produção.
1 Introdução à Pesquisa Operacional
A área de conhecimento denominada Pesquisa Operacional (PO) estuda, desenvolve e
aplica métodos analíticos (modelos matemáticos, estatísticos ou computacionais) para
auxílio na tomada de decisão.
A Pesquisa Operacional (PO) surgiu formalmente na Inglaterra durante a Segunda Guerra
Mundial (1939-1945), quando um grupo de cientistas ingleses foi convocado para
solucionar diversos problemas de natureza logística e militar, que visavam definir
maneiras mais eficientes da utilização de recursos escassos.
Após a Guerra, as ideias e propostas pelos cientistas foram adaptadas ao setor civil. É
possível se encontrar desde então aplicações da PO visando a otimização de recursos em
diversas áreas, como por exemplo em logística, finanças, recursos humanos,
planejamento da produção, marketing, dentre outras.
2 Modelos de Pesquisa Operacional
Imagine um processo de tomada de decisão entre diversas alternativas conflitantes.
Imagine ainda que existe um número muito grande de variáveis que pode influenciar este
processo. Neste tipo de caso, um modelo pode auxiliar o decisor, para que o mesmo não
tome a decisão com base apenas na sua experiência.
Um modelo pode ser definido como uma simplificação de um sistema real que permite
ao decisor simular diversos cenários e realizar diversas análises sobre o sistema. A Figura
1.1 ilustra os passos dados quando um modelo é utilizado como auxílio na tomada de
decisão.
Figura 1.1 - Passos para o uso de modelos em um sistema real
Observando o fluxograma da Figura 1.1, note que o processo começa com a chamada
modelagem do problema, ou seja, com a construção de um modelo com base em
observações do sistema real. Por se tratar de uma simplificação, o modelo não precisa
contemplar todas as variáveis do sistema real, mas deve contemplar as suas principais. O
modelo então gera resultados, que são utilizados para validar o modelo. Caso o modelo
não seja validado, o modelo é revisto a fim de se identificar possíveis variáveis do sistema
real importantes que não foram consideradas. Já em caso de validação, decisões são
tomadas com base na interpretação dos resultados obtidos pelo modelo.
Esta aula foca nos dois primeiros módulos do fluxograma, ou seja, no processo de
modelagem do sistema real. Os modelos de PO possuem alguns componentes principais,
que são: parâmetros de entrada; variáveis de decisão; restrições; função objetivo.
2.1 Parâmetros de entrada
Os Parâmetros de entrada são constantes com valores já conhecidos antes da construção
do modelo e antes de se tomar qualquer decisão.
2.2 Variáveis de Decisão
As variáveis de decisão (incógnitas) são parâmetros para os quais os valores só serão
conhecidos após a execução do modelo. Os três tipos de variáveis mais usados neste curso
são: variáveis contínuas, inteiras ou binárias. Uma variável é dita contínua quando pode
assumir qualquer valor real. Já a variável inteira pode assumir apenas valores inteiros.
Finalmente, as variáveis binárias podem assumir apenas valores 1 (um) ou 0 (zero).
2.3 Restrições
As restrições são equações ou inequações matemáticas que limitam os possíveis valores
que as variáveis de decisão podem assumir.
2.4 Função Objetivo
A função ou critério objetivo é uma função das variáveis de decisão que se deseja
minimizar ou maximizar.
No Exemplo 1.1, temos o nosso primeiro modelo de PO.
Exemplo 1.1 (Mix de Produção) Uma empresa fabrica dois tipos de ração: R1 e R2. O
lucro para cada 1 Kg vendido de R1 é R$ 160 enquanto o lucro para 1 kg vendido de R2 é
100. Para se fabricar 1 kg da ração R1, são necessárias 3h, enquanto para se fabricar 1 kg
de R2 são necessárias 2h. O tempo máximo mensal disponível para a fabricação de R1 e
R2 são 90 h. Além disso, uma pesquisa de demanda do mercado mostra que o máximo
que se deve produzir mensalmente de R1 são 25 kg. Deseja-se um modelo que decida o
quanto deve ser produzido mensalmente de R1 e R2 de modo que o lucro desta empresa
seja o maior possível.
Solução: Todos os dados fornecidos no enunciado prévio, como por exemplo, o lucro
associado a cada tipo de ração e o tempo necessário para se fabricar cada tipo de ração
são considerados parâmetros de entrada do modelo. A decisão a ser tomada é a quantidade
que deve ser fabricada de cada tipo de ração. Assim, criam-se duas variáveis 𝑥1 e 𝑥2 ,
indicando a quantidade em Kg a ser fabricada de R1 e R2, respectivamente.
Uma vez definidas as variáveis, modela-se então a função objetivo. Neste exemplo,
deseja-se maximizar o lucro total da empresa dado que os lucros unitários de R1 e R2 são
respectivamente 160 e 100. Matematicamente, a seguinte função objetivo é obtida:
𝑀𝑎𝑥 𝑧 = 160𝑥1 + 100𝑥2
O uso de uma variável 𝑧 para representar a função objetivo completa é muito comum em
modelos de PO. Agora modela-se matematicamente as restrições do problema. Uma das
restrições diz que a produção a ser realizada deve respeitar a quantidade de horas máxima
de produção mensal, que é de 90 h. Dado que são necessárias respectivamente 3h e 2h
para se fabricar um 1 kg de R1 e R2, tem-se então que:
3𝑥1 + 2𝑥2 ≤ 90
A outra restrição do problema é relativa a uma pesquisa de mercado, que diz que o
máximo que se deve produzir mensalmente de R1 são 25 kg. Matematicamente, tem-se:
𝑥1 ≤ 25
Deve-se ainda incluir ainda as restrições 𝑥1 ≥ 0 e 𝑥2 ≥ 0, a fim de evitar que se
produzam quantidades negativas de cada ração. As restrições prévias são comumente
chamadas de restrições de não negatividade e aparecem em grande parte dos modelos de
PO. O modelo completo segue abaixo:
𝑥1 ≤ 25
𝑥1 ≥ 0
𝑥2 ≥ 0
O termo “s.a” é uma abreviação para “sujeito a”. Este termo é usado para separar a
função objetivo das restrições.
Nas restrições dos modelos estudados neste curso não são permitidos os sinais de
estritamente maior (>) e estritamente menor (<). São permitidos apenas os sinais de
igualdade (=), menor ou igual (≤) ou maior ou igual (≥).
Cada modelo pode ser classificado como modelo de programação linear (PL) ou não
linear (PNL). Um modelo linear é aquele em que tanto a função objetivo quanto as
restrições são lineares. Caso contrário, temos um modelo não linear. Para se compreender
melhor estas classificações, é necessário ter em mente o conceito do que é uma função
linear.
São exemplos de funções lineares: 𝑓(𝑥) = 2𝑥1 − 3𝑥2 , 𝑔(𝑥) = 0,5𝑥1 + 𝑥2 . Não são
𝑥
exemplos de funções lineares: ℎ(𝑥) = 2 𝑥1 − 3𝑥2 , 𝑚(𝑥) = 2(𝑥1 )2 + 𝑥2
2
Com base na Definição 1.1, note que tanto a função objetivo quanto as restrições do
modelo do Exemplo 1.1 são lineares. Logo, o Exemplo 1.1 é um exemplo de modelo PL.
Neste curso, são estudados apenas problemas que podem ser modelados através de algum
modelo PL. Estes problemas são chamados de Problemas de Programação Linear
(PPLs). A seguir, são apresentados mais alguns exemplos de PPLs.
Exemplo 1.2 (problema do transporte) Considere uma empresa que deseja transportar um
determinado tipo de produto (medido em Kg) das suas 2 fábricas (F1 e F2) até 3
consumidores (C1, C2, C3). As quantidades demandadas por C1, C2 e C3 são
respectivamente 40 kg, 60 Kg e 100 Kg. As fábricas F1 e F2 possuem disponível para
envio 120 Kg e 80 Kg, respectivamente. A Tabela 1.1 fornece o custo por Kg transportado
entre cada fábrica e cada consumidor.
Tabela 1.1: Custo por kg transportado entre cada fábrica e cada consumidor
C1 C2 C3
F1 10 12 10
F2 8 10 11
Deseja-se um modelo PL que decida como deve ser feito o transporte dos produtos ao
menor custo possível, garantindo que as demandas sejam atendidas e que a
disponibilidade de cada fábrica seja respeitada.
Solução: a decisão neste problema é o quanto é enviado de cada fábrica para cada
consumidor. Assim, as seguintes variáveis são criadas:
Note que a linha anterior define as seis variáveis do modelo de uma única vez. A função
objetivo seria
Para cada um dos três clientes, deve-se criar uma restrição garantindo que a quantidade
total a ser enviada para este cliente é igual à quantidade requisitada pelo mesmo:
𝑥11 + 𝑥21 = 40
𝑥12 + 𝑥22 = 60
𝑥13 + 𝑥23 = 100
Para cada uma das fábricas, deve-se criar uma restrição garantindo que sua capacidade de
envio é respeitada:
Note que a linha prévia define as seis restrições de não negatividade do modelo de uma
única vez. O modelo completo é:
Exemplo 1.3 (problema do transbordo) Considere o mesmo exemplo anterior mas com
uma ligeira diferença: o transporte agora não é feito direto da fábrica para o cliente, mas
sim passando por um dentre dois centros de distribuição (CD1 e CD2). Em outras palavras,
as fábricas transportam para os centros de distribuição, que por sua vez distribuem para
os clientes. Então os custos por Kg do produto transportado de cada fábrica para cada CD
e de cada CD para cada cliente são:
CD1 CD2
F1 7 9
F2 6 8
C1 C2 C3
CD1 5 6 4
CD2 3 7 6
A quantidade requisitada por cada cliente e a capacidade de envio de cada fábrica são as
mesmas do exemplo anterior. Deseja-se novamente um modelo de programação linear
que decida como deve ser feito o transporte dos produtos ao menor custo possível,
garantindo que as demandas sejam atendidas e que a disponibilidade de cada fábrica seja
respeitada.
Solução: a decisão agora é sobre o quanto vai ser transportado de cada fábrica para cada
CD e de cada CD para cada cliente. Assim, poderiam ser criadas as seguintes variáveis:
𝑚𝑖𝑛 𝑧 = 7𝑥11 + 9𝑥12 + 6𝑥21 + 8𝑥22 + 5𝑦11 + 6𝑦12 + 4𝑦13 + 3𝑦21 + 7𝑦22 + 6𝑦23
𝑦11 + 𝑦21 = 40
𝑦12 + 𝑦22 = 60
𝑦13 + 𝑦23 = 100
Também de maneira similar ao exemplo anterior, existem restrições que garantam que a
capacidade de cada fábrica deve ser respeitada:
Exemplo 1.4 (Investimentos) Um investidor possui hoje R$ 20.000,00 para investir nos
próximos 6 meses. Para isso, possui 4 opções de investimentos: A, B, C e D. Ao final de
cada aplicação, o capital investido é retornado com um percentual de acréscimo. A
descrição de cada tipo de investimento encontra-se na tabela 1.2 a seguir:
Tabela 2.2: Descrição dos investimentos
Assim, por exemplo, o investimento em B pode ser feito hoje (mês 1), no início do 3º
mês, ou no início do 5º mês. Em qualquer umas das opções prévias, o capital ficará
investido por 2 meses. Ao final da aplicação, será devolvido o capital investido acrescido
1,20%.
Solução: Inicialmente, uma variável é criada para cada aplicação em cada mês que esta
estiver disponível. Assim, sejam as variáveis 𝐴1 , 𝐴2 , 𝐴3 , 𝐴4 , 𝐴5 e 𝐴6 representando o
capital que será investido em A no início dos meses 1, 2, 3, 4, 5 e 6, respectivamente.
Com definição similar são criadas as variáveis 𝐵1 , 𝐵3 , 𝐵5 , 𝐶2 , 𝐶4 e 𝐷1 para os demais tipos
de investimentos.
A função objetivo visa maximizar o capital no final do investimento. Note que os
investimentos que duram até o final do investimento são 𝐴6 , 𝐵5 e 𝐷1 . Os demais terminam
antes. Logo, a função objetivo será:
Uma restrição deve garantir que 𝑅$ 20.000,00 serão investidos no primeiro mês.
Matematicamente, tem-se:
𝐴1 + 𝐵1 + 𝐷1 = 20.000
Depois, deve-se criar uma restrição para cada um dos demais meses garantindo que o total
investido em cada mês é igual ao retorno proveniente de meses anteriores.
𝐶2 + 𝐴2 = 1,005𝐴1 (𝑚ê𝑠 2)
𝐵3 + 𝐴3 = 1,005𝐴2 + 1,012𝐵1 (𝑚ê𝑠 3)
𝐶4 + 𝐴4 = 1,005𝐴3 + 1,014𝐶2 (𝑚ê𝑠 4)
𝐵5 + 𝐴5 = 1,005𝐴4 + 1,012𝐵3 (𝑚ê𝑠 5)
𝐴6 = 1,005𝐴5 + 1,014𝐶4 (𝑚ê𝑠 6)
Deve-se ainda criar as restrições que garantam que o investimento máximo em algum
investimento é de R$ 10.000,00
0 ≤ 𝐴1 , 𝐴2 , … , 𝐴6 , 𝐵1 , 𝐵3 , 𝐵5 , 𝐶2 , 𝐶4 , 𝐷1 ≤ 10000
Exercício 1.1: Uma empresa fabrica 4 tipos de refrigerante, que utilizam na sua
fabricação duas matérias primas em comum M1 e M2, ambas medidas em litros. Os lucros
por litro de cada tipo de refrigerante produzido bem como os consumos em litros de M1 e
M2 para se fabricar 1 litro de cada tipo de refrigerante encontram-se na Tabela 1.3
Tabela 3.3: lucro e consumo de cada tipo de refrigerante
Tipo de refrigerante
1 2 3 4
Consumo M1 (L) 2 6 5 2
Consumo M2 (L) 1 2 2 1
Solução comentada: Deseja-se saber o quanto de cada um dos quatro refrigerantes deve
ser produzido. Assim, deve-se criar variáveis 𝑥1 , 𝑥2 , 𝑥3 e 𝑥4 indicando a quantidade em L
que a ser produzida dos refrigerantes dos tipos 1, 2, 3 e 4 respectivamente. O modelo com
base nestas variáveis é o que segue:
Exercício 1.2: Uma nutricionista quer montar porções de salada de frutas que contenham
pelo menos 4000 UI de vitamina A e 60 mg de vitamina C. Para isso, ela dispõe de
abacaxi, banana, maçã e melancia. O custo e as quantidades das vitaminas A e C
associados a cada fruta disponível encontram-se na Tabela 1.4.
Tabela 1.4: Custo e quantidade das vitaminas A e C disponíveis para cada fruta.
Solução comentada: Para facilitar a modelagem, Abacaxi, Banana, Maçã e Melancia são
referidas como frutas 1, 2, 3 e 4, respectivamente. As seguintes variáveis são então
criadas:
𝑥𝑖 →Quantidade em Kg da fruta 𝑖 na salada de fruta; 𝑖 = 1, 2, 3, 4.
A função objetivo visa minimizar o custo final da salada:
𝑀𝑖𝑛 𝑧 = 2,2𝑥1 + 2,25𝑥2 + 3,5𝑥3 + 1,7𝑥4
Deve-se criar uma restrição garantindo a quantidade mínima de Vitamina A na salada:
7000𝑥1 + 3000𝑥2 + 8000𝑥3 + 6000𝑥4 ≥ 4000
De maneira similar, uma restrição é criada para garantir a quantidade mínima de Vitamina
C na salada:
550𝑥1 + 300𝑥2 + 400𝑥3 + 250𝑥4 ≥ 60
O modelo completo, já incluindo as restrições de não negatividade e fazendo
simplificações nas restrições é:
𝑀𝑖𝑛 𝑧 = 2,2𝑥1 + 2,25𝑥2 + 3,50𝑥3 + 1,70𝑥4
s.a.: 7𝑥1 + 3𝑥2 + 8𝑥3 + 6𝑥4 ≥ 4
55𝑥1 + 30𝑥2 + 40𝑥3 + 25𝑥4 ≥ 6
𝑥𝑖 ≥ 0; 𝑖 ∈ {1,2,3,4}
Exercício 1.3: Considere duas fazendas, onde deseja-se cultivar café e cana-de-açúcar. O
total a ser cultivado em cada fazenda depende da área total disponível para cultivo e da
quantidade de água total disponível para irrigação. A Tabela 1.5 fornece os valores
prévios associados a cada fazenda.
Tabela 1.5: Valores prévios associados a cada fazenda.
1 500 2.000
2 800 2.500
O consumo de Água e o Lucro associado a cada cultura é mostrado na Tabela 1.6 a seguir.
Tabela 1.6: Consumo de água e lucro associado a cada cultura.
Para haver uma diversificação, a seguinte condição deve ser ainda satisfeita:
● Uma única cultura pode ocupar no máximo 80% da área total cultivada de cada
uma das fazendas.
Deseja-se um modelo de PL que defina como deve ser feito o cultivo de modo a
maximizar o lucro total obtido.
C1 C2 C3
F1 10 12 10
F2 8 10 11
Solução comentada: Neste exercício, deve-se decidir o quanto deve ser transportado:
• De cada fábrica para cada CD.
• De cada CD para cada Cliente.
• De cada Fábrica diretamente para cada cliente.
Assim, pode-se criar três tipos de variáveis, uma associada a cada decisão prévia:
𝑥𝑖𝑗 → Quantidade enviada (em Kg) da fábrica 𝑖 para o CD 𝑗; 𝑖 = 1,2 e 𝑗 = 1,2
𝑧𝑖𝑘 → Quantidade enviada (em Kg) da fábrica 𝑖 diretamente para o cliente 𝑘; 𝑖 = 1,2 e
𝑘 = 1,2,3.
Devem haver restrições garantindo que as quantidades requisitadas por cada cliente
devem ser atendidas:
𝑚𝑖𝑛 𝑧 = 7𝑥11 + 9𝑥12 + 6𝑥21 + 8𝑥22 + 5𝑦11 + 6𝑦12 + 4𝑦13 + 3𝑦21 + 7𝑦22 +
6𝑦23 + 10𝑧11 + 12𝑧12 + 10𝑧13 + 8𝑧21 + 10𝑧22 + 12𝑧23
3. Conclusão
Nesta aula, a definição do que é um modelo PL foi apresentada e foi visto que este tipo
de modelagem pode ser usado para diversos problemas de diversas áreas da Engenharia
de Produção, como por exemplo planejamento da produção, logística e finanças. Para
assimilação e consolidação deste conteúdo, diversos exemplos e exercícios foram
propostos e discutidos detalhadamente.
Resumo
Foi visto nesta aula que um modelo é dito de Pesquisa Operacional (PO) quando faz uso
métodos analíticos (modelos matemáticos, estatísticos ou computacionais) para auxílio
na tomada de decisão. Um modelo de PO é dividido nas seguintes componentes:
𝑥1 ≤ 25
𝑥1 ≥ 0
𝑥2 ≥ 0
O modelo prévio possui duas variáveis de decisão (𝑥1 e 𝑥2 ). As constantes que aparecem
em todas as componentes do modelo formam os parâmetros de entrada do mesmo. O
modelo possui ainda uma função objetivo de maximização e quatro restrições. As duas
últimas são chamadas de restrições de não negatividade pois servem para dizer que as
variáveis não podem assumir valores negativos.
Referências