Programação Linear Aplicada · Capítulo 2

Cap. 2
Modelo Matemático para Programação Linear

Alocação de recursos Prof. Clayton J A Silva IBM0803

Objetivos de aprendizagem

  • Caracterizar problemas de alocação de recursos e reconhecer seus elementos fundamentais.
  • Definir variáveis de decisão, função objetivo, restrições e condições de não negatividade.
  • Traduzir um problema descrito em linguagem corrente para um modelo matemático de Programação Linear.
  • Compreender como uma planilha pode organizar os dados, relações e resultados de um modelo.
  • Interpretar geometricamente as restrições, a região viável, a função objetivo e a solução ótima em problemas com duas variáveis.

Problemas de alocação de recursos

Problemas de alocação de recursos tratam da melhor forma de distribuir recursos limitados entre alternativas de uso ou atividades, buscando otimizar um objetivo. Em geral, é necessário decidir quanto executar de cada atividade, produto ou destino, respeitando as disponibilidades existentes. Os recursos podem representar matéria-prima, mão de obra, tempo, orçamento, capacidade produtiva ou outros elementos escassos. A característica central é que as decisões consomem recursos, as relações entre as quantidades são lineares e existe um objetivo claramente definido, como maximizar o benefício ou minimizar o custo.

Esse tipo de problema aparece em diferentes contextos: produção e mistura de produtos, distribuição e transporte, alocação de pessoas e equipes, orçamento, capacidade de atendimento e utilização de instalações. Em todos esses casos, a Programação Linear procura identificar a melhor combinação possível entre as alternativas, respeitando as limitações do sistema.

Ideia central

Um problema de alocação de recursos procura determinar quanto fazer de cada alternativa para obter o melhor resultado possível com os recursos disponíveis.

Exemplo 1

Produção de mesas e cadeiras

Uma fábrica produz mesas e cadeiras. Cada mesa requer quatro unidades de madeira e duas horas de trabalho, enquanto cada cadeira requer duas unidades de madeira e três horas de trabalho. A fábrica dispõe, por semana, de quarenta unidades de madeira e trinta horas de trabalho. A venda de cada mesa proporciona lucro de R$ 50,00 e a venda de cada cadeira proporciona lucro de R$ 40,00. O problema consiste em determinar quantas mesas e quantas cadeiras devem ser produzidas semanalmente para maximizar o lucro, respeitando a disponibilidade de madeira e de horas de trabalho.

Do problema real ao modelo matemático

Variáveis de decisão

As variáveis de decisão representam as quantidades que precisam ser determinadas pelo modelo. Elas traduzem, de forma mensurável, aquilo sobre o que o decisor pode agir. No exemplo da fábrica, a decisão é escolher as quantidades semanais de cada produto.

x₁ = quantidade de mesas produzidas por semana x₂ = quantidade de cadeiras produzidas por semana

Relações matemáticas

Depois de definidas as variáveis, o problema precisa ser expresso por relações matemáticas. Em Programação Linear, essas relações são organizadas principalmente em uma função objetivo, que representa aquilo que se deseja otimizar, e em restrições, que expressam as limitações impostas pelos recursos ou pelas regras do problema.

Variáveis de decisão

x₁: mesas
x₂: cadeiras

Função objetivo

Representa o lucro total e deve ser maximizada.

Maximizar Z = 50x₁ + 40x₂
Restrições

Representam os limites de madeira e de horas de trabalho.

4x₁ + 2x₂ ≤ 40 2x₁ + 3x₂ ≤ 30

Função objetivo

A função objetivo traduz matematicamente o critério utilizado para comparar as alternativas. Dependendo do problema, pode-se desejar maximizar lucro, produção, nível de serviço ou utilização de recursos; em outros casos, pode-se desejar minimizar custos, distâncias ou tempos. No exemplo, cada mesa contribui com R$ 50,00 para o lucro e cada cadeira com R$ 40,00. Assim, o lucro total é dado pela soma dessas contribuições.

Maximizar Z = 50x₁ + 40x₂

Restrições

As restrições delimitam as combinações possíveis das variáveis de decisão. Elas representam recursos disponíveis, capacidades, exigências técnicas, limites contratuais ou outras condições que não podem ser violadas.

Para a madeira, cada mesa consome quatro unidades e cada cadeira duas. Como existem quarenta unidades disponíveis:

4x₁ + 2x₂ ≤ 40

Para o trabalho, cada mesa utiliza duas horas e cada cadeira três. Como existem trinta horas disponíveis:

2x₁ + 3x₂ ≤ 30

Não negatividade

As variáveis representam quantidades produzidas. Nesse contexto, não faria sentido admitir uma produção negativa de mesas ou de cadeiras. Por isso, o modelo inclui as condições de não negatividade, que restringem as variáveis ao conjunto dos valores iguais ou superiores a zero.

x₁ ≥ 0 x₂ ≥ 0
PROBLEMA mesas e cadeiras VARIÁVEIS x₁ e x₂ FUNÇÃO OBJETIVO Max Z = 50x₁ + 40x₂ RESTRIÇÕES recursos e não negatividade MODELO MATEMÁTICO Max Z = 50x₁ + 40x₂ 4x₁ + 2x₂ ≤ 40 2x₁ + 3x₂ ≤ 30 · x₁, x₂ ≥ 0
Figura 2.1 — Estrutura lógica da formulação do modelo de Programação Linear.

Modelo matemático do Exemplo 1

Reunindo as relações construídas, o problema da fábrica é representado pelo seguinte modelo:

Maximizar Z = 50x₁ + 40x₂ sujeito a 4x₁ + 2x₂ ≤ 40 (madeira) 2x₁ + 3x₂ ≤ 30 (horas de trabalho) x₁ ≥ 0 x₂ ≥ 0

Esse modelo contém os elementos essenciais da decisão: o que deve ser determinado, o que se deseja otimizar e quais condições limitam as escolhas possíveis.

Excel como ferramenta para estruturar o modelo

Uma planilha eletrônica é uma ferramenta especialmente útil para popular o modelo com os dados do problema e tornar visíveis as relações entre parâmetros, variáveis de decisão, função objetivo e restrições. No exemplo, os coeficientes de lucro, consumo de madeira e consumo de horas podem ser organizados por produto; as quantidades produzidas ocupam as células reservadas às variáveis; e fórmulas calculam automaticamente o lucro total e o consumo de cada recurso.

Programação Linear — Produção de Mesas e Cadeiras Dados do problema ProdutoLucroMadeira HorasVariávelQuantidade Mesa5042x₁ 6 Cadeira4023x₂ 6 Função objetivo (Z): lucro total =50·x₁ + 40·x₂ Restrições Madeira: 4x₁ + 2x₂ ≤ 40 Trabalho: 2x₁ + 3x₂ ≤ 30 Folga = disponível − usado x₁ ≥ 0; x₂ ≥ 0
Figura 2.2 — Organização conceitual do modelo em uma planilha eletrônica.

Além de facilitar a organização, a planilha permite alterar rapidamente as quantidades de produção e observar como essas mudanças afetam o lucro, o consumo dos recursos e as folgas. Dessa forma, antes mesmo de utilizar um algoritmo de otimização, o aluno pode compreender a lógica do modelo e testar diferentes cenários.

O papel do Solver

O Solver é o recurso do Excel destinado à solução de problemas de otimização. Em vez de testar manualmente diferentes valores para as variáveis, o Solver busca valores que otimizem a célula correspondente à função objetivo, respeitando as restrições definidas no modelo. Neste momento, o mais importante é compreender sua função: ele automatiza a procura pela melhor combinação das variáveis. A configuração e o uso do Solver serão retomados posteriormente.

Importante: Excel e Solver não substituem a modelagem. Primeiro é necessário compreender o problema e formular corretamente variáveis, objetivo e restrições; só depois a ferramenta computacional pode ser utilizada para encontrar a solução.

Representação gráfica do modelo

Como o Exemplo 1 possui apenas duas variáveis de decisão, x₁ e x₂, é possível representar geometricamente o modelo em um plano cartesiano. Essa representação é especialmente útil porque permite visualizar o significado das restrições, da região viável, da função objetivo e da solução ótima.

i) Representação gráfica de cada restrição

Uma restrição linear com duas variáveis define uma região do plano. Para desenhá-la, começa-se pela reta associada, substituindo a desigualdade por uma igualdade. Em seguida, podem ser determinados dois pontos da reta fazendo uma das variáveis igual a zero.

Para a restrição de madeira:

4x₁ + 2x₂ = 40 Se x₁ = 0 → x₂ = 20 → ponto (0,20) Se x₂ = 0 → x₁ = 10 → ponto (10,0)

Para a restrição de horas de trabalho:

2x₁ + 3x₂ = 30 Se x₁ = 0 → x₂ = 10 → ponto (0,10) Se x₂ = 0 → x₁ = 15 → ponto (15,0)
x₁ x₂ (0,20) (10,0) (0,10) (15,0) 4x₁ + 2x₂ = 40 2x₁ + 3x₂ = 30
Figura 2.3 — Retas associadas às restrições de madeira e de horas de trabalho.

ii) Região viável

Cada desigualdade seleciona um dos lados da reta, isto é, um semiplano. A região viável do problema é formada pelas combinações de x₁ e x₂ que satisfazem simultaneamente todas as restrições, inclusive a não negatividade. Graficamente, ela corresponde à interseção dos semiplanos e assume a forma de um polígono.

No Exemplo 1, a região viável tem como vértices principais os pontos (0,0), (0,10), (7,5;5) e (10,0). O ponto (7,5;5) é a interseção das duas retas de restrição.

(0,0) (0,10) (7,5; 5) (10,0) REGIÃO VIÁVEL x₁ x₂
Figura 2.4 — Região viável: interseção das restrições e das condições de não negatividade.
Excel também ajuda a visualizar: calculando valores de x₂ para diferentes valores de x₁, é possível construir tabelas e gráficos das retas das restrições, simulando passo a passo a formação da região viável.

iii) Representação gráfica da função objetivo

A função objetivo também pode ser representada por retas. Ao fixar um valor para Z, a expressão 50x₁ + 40x₂ = Z define uma reta. Diferentes valores de Z produzem retas paralelas, pois os coeficientes de x₁ e x₂ permanecem os mesmos. À medida que a reta é deslocada na direção de valores maiores de Z, o lucro cresce.

Z = 200 Z = 400 Z = 575 retas paralelas → lucro crescente x₁ x₂
Figura 2.5 — A função objetivo gera uma família de retas paralelas para diferentes valores de Z.

iv) Solução gráfica

Para um problema de maximização, a reta da função objetivo é deslocada paralelamente no sentido de crescimento de Z até atingir o último ponto da região viável. No Exemplo 1, esse ponto ocorre na interseção das duas restrições:

4x₁ + 2x₂ = 40 2x₁ + 3x₂ = 30 x₁ = 7,5 x₂ = 5

Substituindo esses valores na função objetivo:

Z = 50(7,5) + 40(5) Z = 375 + 200 Z = 575

Portanto, a solução gráfica indica uma produção de 7,5 mesas e 5 cadeiras, com lucro máximo de R$ 575,00, considerando o modelo tal como formulado.

(7,5; 5) Zmáx = 575 x₁ x₂
Figura 2.6 — Solução gráfica: a reta de maior valor da função objetivo toca a região viável no ponto ótimo.
GeoGebra: uma alternativa prática para desenhar as retas das restrições e da função objetivo é utilizar o GeoGebra. A ferramenta facilita a visualização das interseções e o deslocamento das retas de lucro.
Limitação do método gráfico: a representação é especialmente útil para aprendizagem, mas depende de um modelo com duas variáveis de decisão. Modelos reais podem possuir muitas variáveis e, nesses casos, a solução exige métodos computacionais.

Outros exemplos de alocação de recursos

Exemplo 2

Produção de sucos naturais

Um quiosque produz sucos de laranja e de abacaxi. Cada suco de laranja requer três laranjas e dois minutos de preparo, enquanto cada suco de abacaxi requer duas fatias de abacaxi e três minutos de preparo. O quiosque dispõe, por dia, de 30 laranjas/fatias equivalentes e de 30 minutos para preparo. A venda de cada suco de laranja gera lucro de R$ 8,00 e a de cada suco de abacaxi gera lucro de R$ 6,00. O problema consiste em determinar quantos sucos de cada tipo devem ser produzidos por dia para maximizar o lucro, respeitando a disponibilidade de frutas e o tempo de preparo.

Exemplo 3

Problema de mistura — produção de gasolina

Uma refinaria produz três tipos de gasolina: verde, azul e comum. Para a produção dessas gasolinas são utilizados três componentes: gasolina pura, octana e aditivo. A refinaria dispõe semanalmente de 9.600.000 litros de gasolina pura, 4.800.000 litros de octana e 2.200.000 litros de aditivo.

Cada litro de gasolina verde requer 0,22 litro de gasolina pura, 0,50 litro de octana e 0,28 litro de aditivo. Cada litro de gasolina azul requer 0,52 litro de gasolina pura, 0,34 litro de octana e 0,14 litro de aditivo. Já cada litro de gasolina comum requer 0,74 litro de gasolina pura, 0,20 litro de octana e 0,06 litro de aditivo.

Com base na demanda de mercado, a refinaria estabeleceu ainda duas condições para seu programa de produção: a quantidade produzida de gasolina comum deve ser, no mínimo, 16 vezes a quantidade de gasolina verde, enquanto a produção de gasolina azul não pode ultrapassar 600.000 litros por semana.

A margem de contribuição para o lucro obtida pela refinaria é de $ 0,30 por litro de gasolina verde, $ 0,25 por litro de gasolina azul e $ 0,20 por litro de gasolina comum.

Determine o programa semanal de produção da refinaria, isto é, as quantidades de gasolina verde, azul e comum que devem ser produzidas, de modo a maximizar a margem total de contribuição para o lucro, respeitando a disponibilidade dos componentes e as condições estabelecidas para a produção.

Exemplo 4

Problema de mistura — produção de cimento

Uma indústria de cimento fabrica dois produtos: o cimento Portland 320 (CP320) e o cimento alto-forno 250 (AF250). A fabricação desses produtos utiliza quatro componentes: clínquer, escória de alto-forno, gesso e aditivo.

Para produzir uma tonelada de CP320, são necessários 85% de clínquer, 7% de escória de alto-forno, 3% de gesso e 5% de aditivo. Para produzir uma tonelada de AF250, são necessários 50% de clínquer, 45% de escória de alto-forno, 3% de gesso e 2% de aditivo.

A capacidade anual de produção de clínquer é limitada a 1.100.000 toneladas, em razão da capacidade do forno. A capacidade do moinho também limita a produção conjunta de CP320 e AF250 a 1.100.000 toneladas por ano.

Além de utilizar o clínquer na fabricação dos dois tipos de cimento, a empresa pode vendê-lo para outros fabricantes, sendo essa venda limitada a 200.000 toneladas por ano. A escória de alto-forno é adquirida de usinas siderúrgicas e sua compra está limitada a 180.000 toneladas por ano. As compras de gesso e de aditivo estão limitadas, cada uma, a 50.000 toneladas por ano.

A empresa obtém uma contribuição marginal de $ 41,00 por tonelada de CP320, $ 37,80 por tonelada de AF250 e $ 34,40 por tonelada de clínquer vendido. Para a produção dos cimentos, devem ainda ser considerados os custos dos componentes adquiridos: $ 22,10 por tonelada de escória de alto-forno, $ 34,20 por tonelada de gesso e $ 1,90 por tonelada de aditivo. As contribuições marginais informadas foram calculadas a partir da receita líquida menos os custos fixos e os custos variáveis, excetuando-se os custos da escória, do gesso e do aditivo, que, portanto, devem ser considerados separadamente na determinação do resultado.

Determine o programa anual de produção, estabelecendo as quantidades de CP320 e AF250 a serem fabricadas e de clínquer a ser vendido, de modo a maximizar o lucro total da empresa, respeitando as capacidades produtivas, as disponibilidades dos componentes e as demais limitações estabelecidas.

Esses exemplos mostram que a mesma estrutura de raciocínio — variáveis, função objetivo, restrições e não negatividade — pode ser empregada em contextos muito diferentes. O que muda é a interpretação dos coeficientes e das relações do modelo.

O que aprendemos neste capítulo?

A construção de um modelo de Programação Linear começa com a compreensão do problema real. A partir dessa compreensão, identificam-se as decisões que precisam ser tomadas, traduzidas pelas variáveis; define-se o objetivo a otimizar; estabelecem-se as restrições; e, por fim, obtém-se uma representação matemática capaz de ser analisada por métodos gráficos ou computacionais.

PROBLEMAreal VARIÁVEISde decisão FUNÇÃOobjetivo RESTRIÇÕES MODELOmatemático Excel / Solver Gráfico
Figura 2.7 — Da descrição do problema às ferramentas de análise e solução.

Síntese do capítulo

A Programação Linear transforma uma decisão real em um modelo composto por variáveis de decisão, função objetivo, restrições e condições de não negatividade. Em problemas com duas variáveis, a representação gráfica permite visualizar a região viável e localizar a solução ótima; em problemas maiores, ferramentas computacionais assumem esse papel.

← anteriorCap. 1 — Apoio à Decisão e Modelos