Escolar Documentos
Profissional Documentos
Cultura Documentos
São Paulo – SP
2022
Sumário
Introdução 3
Descrição do Problema 4
Problema 4
Técnica 5
Modelagem do Problema 6
Variáveis 7
Função objetivo 7
Restrições 8
Resultados Iniciais 10
Solução obtida 10
Análise dos resultados obtidos 11
Análise de Sensibilidade 11
Aplicação ao problema de programação linear inteira 11
Sensibilidade de limitante da produção 12
Sensibilidade de mínimo de produção para a frente de queijos em barra 14
Sensibilidade de restrição ativa, sem igualdade de restrição na capacidade de
produção 17
Considerações Finais 22
Referências bibliográficas 25
1. Introdução
O trabalho conduzido visa elencar a importância da aplicação das Pesquisas
Operacionais. Isso, por sua vez, será guia para a aplicação na empresa escolhida,
que, de um modo geral, responde coerentemente às exigências de mercado.
Tem-se verificado, portanto, uma tendência de aperfeiçoamento e refinamento nos
processos, tal que acarreta a necessidade de pesquisa e desenvolvimento para
maximizar a capacidade produtiva e que seja compatível com as demandas
mercadológicas, prezando a eficiência nas minúcias em cada etapa do processo.
Em primeira instância, o grupo havia optado por analisar um problema que
visava maximizar o lucro da LATICÍNIOS BELA VISTA Ltda. (Piracanjuba) por meio
da produção de inúmeros queijos. No entanto, dada a tamanha customização,
variedade e complexidade nos diferentes tipos de queijo, optou-se por restringir-se à
produção do queijo muçarela, uma vez que este é o queijo que é mais vendido pela
empresa, com uma significativa folga diante do segundo (queijo branco/fresco).
Sendo assim, acredita-se que, ao analisar especificamente o queijo muçarela,
pode-se ter uma boa noção dos fatores cruciais para a maximização do lucro
estendendo ao braço de queijos da fábrica de maneira holística.
Para tal, o grupo separou os principais insumos necessários para a
fabricação do queijo muçarela, elencando as quantidades e proporções necessárias
para cada unidade, além dos custos envolvidos. Em seguida, foi feita uma análise
com estimativas de preços de venda, para que se pudesse maximizar a margem de
contribuição dada pela diferença entre o preço de venda e os custos variáveis. Por
último, ressalta-se que, uma vez estruturadas as restrições condizentes com o
comportamento da demanda e da rentabilidade de cada item, usou-se o software
Gurobi para auxílio nos cálculos do problema de programação linear modelado por
meio do algoritmo Branch-and-Bound, já que a situação é para o caso discreto cujas
variáveis de decisão assumem apenas valores inteiros unitários.
Diante dos resultados preliminares obtidos e das conclusões iniciais para a
primeira formatação das restrições do problema, compilou-se, na sequência, uma
análise de sensibilidade para entendimento de possíveis incrementos à solução
inicial, mas que respeitassem as condições prévias de capacidade fabril e de
manutenção do objetivo de melhorar o lucro marginal. Assim, este estudo
concretizou-se em propostas para a companhia conforme o auxílio que o grupo se
dispôs a prestar no primeiro contato de escolha da empresa.
2. Descrição do Problema
2.1. Problema
A empresa envolvida neste trabalho de campo é a LATICÍNIOS BELA VISTA
Ltda., fundada em 1955, que é uma companhia de capital fechado produtora de leite
e derivados, como iogurtes, manteiga, doce de leite e creme de leite. Seu portfólio
conta com mais de 180 produtos, distribuídos nas marcas Piracanjuba, Pirakids,
LeitBom, ChocoBom e MeuBom. Mantém parcerias com a Blue Diamond
(cooperativa americana produtora de amêndoas), para produção e comercialização
da marca Almond Breeze, e com a Nestlé, para a produção e comercialização das
marcas Ninho e Molico, na modalidade leite UHT.
Em termos de plantas industriais, a companhia possui sete unidades fabris,
localizadas em Bela Vista de Goiás (GO), Governador Valadares (MG), Maravilha
(SC), Sulina (PR), Araraquara (SP), Três Rios (RJ) e Carazinho (RS). Juntas, as
fábricas têm capacidade de processar mais de 6 milhões de litros de leite por dia.
Em 2019, faturou 870 milhões de dólares. É considerada a 6ª marca com maior
aceitação dentro dos lares brasileiros, segundo os levantamentos da empresa de
consultoria Kantar, no ranking Brand Footprint.
2.2. Técnica
O Problema de Programação Linear (PPL) consiste em criar uma função
objetivo cujo resultado (lucro, custos etc.) deseja-se maximizar ou minimizar,
somado às restrições impostas a essa função. Em outras palavras, a função objetivo
é uma combinação de variáveis de decisão, que são expressas em valores
quantitativos. Já as restrições são as limitações de recursos expressas por
equações e inequações.
Na área de modelagem, problemas semelhantes podem ser resolvidos
usando métodos de programação linear a partir da formulação de uma função
objetivo com comportamento linear (variáveis com grau de expoente menor ou igual
a 1). Dado um conjunto de restrições na forma de igualdades ou desigualdades
matemáticas, pode ser limitada uma região de valores em um subespaço vetorial
possível, a serem calculadas pela função objetivo. Após essas condições, a função
tende a ser maximizada ou minimizada por algum tipo de algoritmo.
Para resolver um PPL, existem inúmeras formas de resolução. Por exemplo,
em um problema envolvendo somente duas variáveis, pode-se utilizar o método
gráfico, que consiste em plotar em um plano cartesiano as retas com as restrições,
encontrar a região factível, analisar os vértices da figura criada e concluir qual o
valor ótimo da função.
No caso do problema analisado neste relatório, lida-se com um número
significativo de variáveis, impossibilitando o uso do método gráfico. Por tal motivo, o
grupo decidiu apoiar-se no Método Simplex aprendido em sala, com o auxílio do
software Gurobi, sendo este fundamental, dada a quantidade de variáveis e a
quantidade de cálculos necessários. O Método Simplex de Dantzig consiste em uma
técnica matemática de resolução de sistemas lineares com equações e inequações
por artifício de inversão sucessiva de matrizes, o que, com as iterações do
procedimento, permite a modelagem matemática de destino à uma solução aplicável
a variáveis mensuráveis sujeitas a uma alocação de recursos predefinida.
Em particular, a tipologia de programação linear usada na concepção da
resolução é o Problema de Programação Linear Inteira (PPLI). Neste, todas as
variáveis de decisão só podem assumir valores discretos, e, para este caso, inteiros
não negativos. Por causa disso, resolve-se, na verdade, a relaxação do problema
(do PPLI, tomando a mesma função objetivo e as mesmas restrições, mas com o
requisito de que as variáveis inteiras substituídas por restrições contínuas
apropriadas que assumem esses mesmos valores discretos). Caso a solução obtida
seja inteira, então este é um dos resultados sondados. Do contrário, criam-se
subproblemas por branching de uma variável contínua. A esse mecanismo adaptado
de pesquisa de solução dá-se o nome Branch-and-Bound.
Como forma de espelhar a aplicação teórica desses conceitos ao problema
da Piracanjuba, recorreu-se à pesquisa acadêmica compatível com as mesmas
interações para solução da função objetivo. Diante disso, chegou-se a um trabalho
que foi realizado por ZILS et al. (2016) de modelagem e otimização dos processos
da produção de queijos e seus subprodutos para determinar um mix de produtos
que resultasse na maior margem de contribuição possível em uma indústria de
lácteos do interior do estado de Santa Catarina. ZILS et al. (2016) classificaram,
inicialmente, os gastos da empresa em custos e despesas e, em seguida,
determinaram o custo unitário de cada produto, para, assim, calcular a margem de
contribuição unitária de cada produto.
Tendo os dados de custo e contribuição unitária, bem como o histórico de
demanda de cada produto, foram definidas as restrições e a função objetivo do
problema da frente de queijo muçarela da Piracanjuba. O sistema resultante foi
resolvido por meio do método Simplex adaptado à análise de nós pela ferramenta
Branch-and-Bound, algoritmo utilizado para encontrar soluções ótimas de problemas
de programação linear inteira que também está integrado ao software Gurobi.
É importante ressaltar que, apesar de toda a base teórica por detrás, uma
parte significativa do projeto foi encontrar os valores quantitativos para as restrições,
isto é, primeiro, por meio dos conhecimentos obtidos na disciplina, montaram-se as
equações e inequações necessárias, junto com a formulação de todo o problema.
No entanto, foi necessário encontrar por meio de conversas com a empresa e
pesquisas na internet os valores que cada coeficiente iria assumir, algo
demandante. Em uma conversa com o sócio cofundador Marcos Helou,
conseguimos valores aproximados da capacidade máxima mensal da linha de queijo
muçarela. Ademais, foi nos informada a demanda máxima mensal aproximada de
cada produto no mercado atual. Fora isso, foi nos informado que, para a produção
de queijo fatiado e de queijo em barra ser viável, era necessário que fosse utilizada
no mínimo a capacidade de 50% de cada linha.
3. Modelagem do Problema
Inicialmente, pensamos em modelar o problema com a unidade das variáveis
em quilogramas vendidos, visto que as informações que recebemos da empresa
eram todas padronizadas em quilogramas. No entanto, como decidimos modelar um
Problema de Programação Linear Inteira (PPLI), os diferentes pesos nas
embalagens poderiam nos levar a um resultado incoerente. Por exemplo, caso o
ótimo do problema dependesse de que o número de quilos ideal do queijo fatiado de
150g fosse 301 quilogramas, isso resultaria em 2006,667 unidades, porém na
realidade isso não faz sentido. Por isso, decidimos alterar o dimensionamento das
variáveis para "unidade de produto", uma vez que os resultados sempre seriam
coerentes com os produtos ofertados nas gôndolas. Logo, modelamos um problema
de maximização, em que a função objetivo representa o lucro obtido. Portanto, os
coeficientes que foram usados na função objetivo foram calculados a partir da
conversão de lucro por quilograma vendido para lucro por unidade vendida.
Adicionalmente, as construções das restrições foram baseadas nas
limitações que nos foram fornecidas, sendo elas: capacidade máxima de produção
da fábrica em quilogramas, capacidade máxima de absorção do mercado em
quilogramas e o mínimo produzido de cada linha em quilogramas.
3.1. Variáveis
As variáveis de decisão envolvidas basearam-se na quantidade vendida para
cada abordagem de produto:
( )
● Variável 1 𝑥1 : Número de unidades vendidas do produto "Queijo Fatiado
150 gramas".
( )
● Variável 2 𝑥2 : Número de unidades vendidas do produto "Queijo Fatiado
500 gramas".
( )
● Variável 3 𝑥3 : Número de unidades vendidas do produto "Queijo Fatiado
1 quilograma".
( )
● Variável 4 𝑥4 : Número de unidades vendidas do produto "Queijo em
Barra 2 quilogramas".
( )
● Variável 5 𝑥5 : Número de unidades vendidas do produto "Queijo em
Barra 4 quilogramas".
𝑅$ 0.150 𝑘𝑔 𝑅$
𝑐𝑥 = (44 − 35) 𝑘𝑔
· 𝑢𝑛𝑖𝑑. 𝑑𝑒 𝑥1
∴ 𝑐𝑥 = 1. 35 𝑢𝑛𝑖𝑑. 𝑑𝑒 𝑥1
1 1
Essa formulação para o lucro unitário se repete de maneira análoga para
cada frente de queijo vendida, o que se concretiza através da função objetivo:
3.3. Restrições
● Restrição 1 (c1): Está ligada à capacidade da fábrica. É possível produzir
até 600 mil quilogramas de queijo mensalmente. Mas, para esta situação
inicial, considerou-se que a fábrica admitiria exatamente essa produção
mensal (igualdade na restrição). Ainda, os coeficientes ligados às
variáveis correspondem aos pesos unitários em quilogramas de cada
categoria de muçarela vendida:
\ Model Producao_Mozzarella
\ LP format - for model browsing. Use MPS format to capture
full model detail.
Maximize
1.35 x1 + 3.5 x2 + 6 x3 + 6 x4 + 10 x5
Subject To
c1: 0.15 x1 + 0.5 x2 + x3 + 2 x4 + 4 x5 = 600000
c2: 0.15 x1 <= 110000
c3: 0.5 x2 <= 110000
c4: x3 <= 30000
c5: 2 x4 <= 30000
c6: 4 x5 <= 380000
c7: 0.15 x1 + 0.5 x2 + x3 >= 90000
c8: 2 x4 + 4 x5 >= 210000
Bounds
Generals
x1 x2 x3 x4 x5
End
Tabela 1 - Detalhes do Problema de Otimização
4. Resultados Iniciais
4.1. Solução obtida
Aplicando as restrições e todos os conceitos explicados no decorrer do
relatório, obtiveram-se os seguintes resultados, tanto para as variáveis como para o
valor ótimo.
# Solution for model Producao_Mozzarella
# Objective value = 2829979
x1 733330
x2 219993
x3 30000
x4 14998
x5 80002
Tabela 2 - Soluções Aplicáveis ao Problema
5. Análise de Sensibilidade
5.1. Aplicação ao problema de programação linear inteira
Tendo em mente que o problema de maximização de lucro proposto para a
modelagem do problema assumiu a aplicação de valores discretos às variáveis de
decisão envolvidas, compreende-se que estas mudam conforme uma taxa também
discreta ao invés de contínua (como ocorreria, na verdade, em um problema de
programação linear tradicional).
Matematicamente, a análise de sensibilidade, então, segundo os conceitos
de shadow price (também conhecido como dual price) e custo reduzido, dá-se por:
\ Model Producao_Mozzarella
\ LP format - for model browsing. Use MPS format to capture
full model detail.
Maximize
1.35 x1 + 3.5 x2 + 6 x3 + 6 x4 + 10 x5
Subject To
c1: 0.15 x1 + 0.5 x2 + x3 + 2 x4 + 4 x5 <= 600000
c2: 0.15 x1 <= 110000
c3: 0.5 x2 <= 110000
c4: x3 <= 30000
c5: 2 x4 <= 30000
c6: 4 x5 <= 380000
c7: 0.15 x1 + 0.5 x2 + x3 >= 90000
c8: 2 x4 + 4 x5 >= 210000
Bounds
Generals
x1 x2 x3 x4 x5
End
Tabela 3 - Detalhes do Problema de Otimização - Sensibilização 1
\ Model Producao_Mozzarella
\ LP format - for model browsing. Use MPS format to capture
full model detail.
Maximize
1.35 x1 + 3.5 x2 + 6 x3 + 6 x4 + 10 x5
Subject To
c1: 0.15 x1 + 0.5 x2 + x3 + 2 x4 + 4 x5 = 600000
c2: 0.15 x1 <= 110000
c3: 0.5 x2 <= 110000
c4: x3 <= 30000
c5: 2 x4 <= 30000
c6: 4 x5 <= 380000
c7: 0.15 x1 + 0.5 x2 + x3 >= 90000
c8: 2 x4 + 4 x5 >= 400000
Bounds
Generals
x1 x2 x3 x4 x5
End
Tabela 5 - Detalhes do Problema de Otimização - Sensibilização 2
Diante dessa situação, optamos por variar a única restrição que era ativa
(restrição c4) no problema original (quando havia somente igualdade em c1), para
que, agora nesse novo cenário de que a capacidade da produção é um limitante, e
não uma obrigatoriedade (restrição c1 é de ‘≤’), sejam avaliados os impactos da
perturbação em uma dada restrição, enquanto as demais estão ativas (e, portanto,
usando de todos os recursos dispostos).
Para essa primeira perturbação, buscamos simular a alteração que seria a
mesma feita pelo cálculo do shadow price, que busca entender como a variação de
1 unidade dimensional no recurso disponível em uma dada restrição (neste caso,
1kg a mais na restrição c4) afeta o valor da função objetivo. Assim, aumentar em
1kg a capacidade de produção dos queijos fatiados de 1kg fornece a solução:
\ Model Producao_Mozzarella
\ LP format - for model browsing. Use MPS format to capture
full model detail.
Maximize
1.35 x1 + 3.5 x2 + 6 x3 + 6 x4 + 10 x5
Subject To
c1: 0.15 x1 + 0.5 x2 + x3 + 2 x4 + 4 x5 <= 600000
c2: 0.15 x1 <= 110000
c3: 0.5 x2 <= 110000
c4: x3 <= 30001
c5: 2 x4 <= 30000
c6: 4 x5 <= 380000
c7: 0.15 x1 + 0.5 x2 + x3 >= 90000
c8: 2 x4 + 4 x5 >= 210000
Bounds
Generals
x1 x2 x3 x4 x5
End
Tabela 7 - Detalhes do Problema de Otimização - Sensibilização 3-a)
Com essa mudança, agora sim houve alteração no ótimo da função objetivo,
por conta da compensação da folga presente na restrição c5 (referente à
capacidade de produção de queijo em barra 2kg), que foi convertida integralmente
na produção de 𝑥3 (queijo fatiado 1kg). Isso, por sua vez, fez com que a solução
relacionada à contribuição marginal de 𝑥3 na função objetivo maximizasse o valor do
lucro obtido, sem haver outras folgas na restrição c1 a não ser a de insuficiência de
𝑥1 em termos unitários para atingir o limitante de capacidade de produção da
fábrica. Essas constatações das folgas associadas às restrições do problema
otimizado estão dispostas abaixo:
Imagem 12 - Valores de Folga por Restrição do Problema de Otimização Sensibilizado 3-b)
6. Considerações Finais
De acordo com o que havia sido anteriormente analisado na construção da
solução intermediária do problema de otimização do lucro da unidade fabril no que
concerne ao braço de queijos muçarela da Piracanjuba, haviam sido propostos
passos a serem seguidos de validação da solução junto ao cliente, com a intenção
de formular adequadamente as restrições condizentes à realidade mercadológica da
empresa.
Para satisfazer a tal propósito, no decorrer do processo de modelagem,
levantaram-se alguns parâmetros, em particular, na análise de sensibilidade, que se
demonstraram mais impactantes para a função objetivo. Apesar da manutenção dos
valores de margem de contribuição (devido às práticas da companhia já adequadas
para o cenário de oferta-demanda, que já em conta pressões inflacionárias de
custos), a análise resultou na importância da demanda de absorção, afetando
positivamente no crescimento do lucro da empresa, ao passo que, quando se
tratava da capacidade mínima necessária de operação de cada linha, houve efeito
negativo na maximização do lucro.
Nesse sentido, a solução final para esta linha de queijos muçarela em
diferentes categorias passará a envolver a nova demanda exigida para a principal
porção de clientes cuja preferência é a de queijo em barra (mínimo de 400 mil
quilogramas na restrição c8). Ademais, conforme a constatação de que a
capacidade média de produção de queijos da indústria analisada não deveria ser
exatamente cumprida, mas sim um limite superior ao manejo das unidades de
produtos de cada frente (alteração do tipo de restrição de c1, indo de ‘=’ para ‘≤’),
isso serviu de entendimento para a possibilidade de maximização dos lucros da
empresa, uma vez que, pelas exemplificações, foi possível obter maior lucro sem
necessariamente utilizar de toda a capacidade fabril de 600 mil quilogramas de
queijo.
Observa-se, portanto, a seguinte modelagem final do problema de
programação linear inteira aplicada à meta de lucro da companhia à medida que
mais unidades de cada frente é vendida:
\ Model Producao_Mozzarella
\ LP format - for model browsing. Use MPS format to capture
full model detail.
Maximize
1.35 x1 + 3.5 x2 + 6 x3 + 6 x4 + 10 x5
Subject To
c1: 0.15 x1 + 0.5 x2 + x3 + 2 x4 + 4 x5 <= 600000
c2: 0.15 x1 <= 110000
c3: 0.5 x2 <= 110000
c4: x3 <= 30000
c5: 2 x4 <= 30000
c6: 4 x5 <= 380000
c7: 0.15 x1 + 0.5 x2 + x3 >= 90000
c8: 2 x4 + 4 x5 >= 400000
Bounds
Generals
x1 x2 x3 x4 x5
End
Tabela 11 - Detalhes do Problema de Otimização - Solução Alternativa Final