Material Interativo · Pesquisa Operacional

Modelando o mundo com Programação Linear

Aprenda a traduzir problemas reais em modelos matemáticos — e deixe os computadores encontrarem a solução ótima.

role para baixo
Capítulo 01

O que é uma função?

Uma função é uma lei que associa cada elemento de um conjunto A a um único elemento de um conjunto B. Em programação linear, funções descrevem como quantidades variam conforme nossas decisões.

📐 Definição formal

Uma função f: A → B associa cada x ∈ A (domínio) a exatamente um y ∈ B (contradomínio). Escrevemos y = f(x).

📊 Forma linear

Uma função linear de duas variáveis tem a forma f(x,y) = ax + by, onde a e b são coeficientes constantes.

// Função objetivo geral em PL:
f(x, y) = c₁·x + c₂·y
// Exemplo: calcular lucro total de dois produtos
💡

Em PL, a função que queremos maximizar ou minimizar se chama função objetivo — ela representa o que nos importa: lucro, custo, produtividade ou tempo.

▸ Explore a função f(x, y) = 10x + 12y

Esta é exatamente a função do nosso problema florestal! Arraste os sliders para ver como o valor muda.

Hectares com Formulação 1 (x)20
Hectares com Formulação 2 (y)50
10×20 + 12×50
800

f(x,y) = 10x + 12y representa o ganho total em m³ de madeira

Capítulo 02

O que é uma equação?

Uma equação linear é uma expressão matemática formada por variáveis e seus coeficientes, numa relação de igualdade com um termo independente. Ela define exatamente uma reta no plano.

// Equação linear geral:
c₁x₁ + c₂x₂ + ... + cₙxₙ = b
// Exemplo simples:
x + y = 100   // todos os 100 hectares adubados

🎯 Igualdade estrita

A equação é satisfeita apenas pelos pontos exatos sobre a reta. Fora dela, a igualdade não vale.

📌 Em PL

Equações aparecem como restrições de igualdade — quando um recurso deve ser consumido totalmente.

▸ Verifique: x + y = 100 (restrição de área)

A área total é de 100 hectares. Se somarmos os hectares de cada formulação, deve dar exatamente 100.

Hectares F1 (x)40
Hectares F2 (y)60
100
x + y = 100
✓ Soma exata — todos os hectares serão adubados
⚠️

Restrições modeladas como equações são mais restritivas — o solucionador tem menos liberdade. Em geral, preferimos inequações para deixar mais flexibilidade ao otimizador.

Capítulo 03

O que é uma inequação?

Uma inequação é uma expressão com relação de desigualdade. Ao contrário de uma equação (que representa uma reta), uma inequação representa uma região do plano — todos os pontos que satisfazem a condição.

// Inequação linear geral:
c₁x₁ + c₂x₂ + ... + cₙxₙ b
// Exemplo do problema florestal:
AHF1 + 3·AHF2 270   // estoque de adubo

ax + by < c

Estritamente menor — fronteira não incluída

ax + by ≤ c

Menor ou igual — fronteira incluída. Mais comum em PL!

ax + by ≥ c

Maior ou igual — limita por baixo (ex: demanda mínima)

▸ Verifique a inequação do estoque: AHF1 + 3·AHF2 ≤ 270

Cada hectare com F1 consome 1 unidade de adubo; com F2, consome 3 unidades. O estoque total é de 270 unidades.

AHF1 (hectares com Formulação 1)50
AHF2 (hectares com Formulação 2)50
200
270
70 restantes
Uso do estoque74%
✓ Dentro do estoque disponível
Capítulo 04

Processo de tomada de decisão

A tomada de decisão é uma tarefa fundamental da gestão. A alta competitividade do mercado exige processos claros e bem fundamentados — e apenas o formalismo matemático pode garantir isso.

01

Identificar o problema

A etapa mais difícil: diferente dos livros, os problemas na prática não estão claros nem bem delimitados. É preciso articular com precisão o que precisa ser resolvido.

02

Definir as variáveis de decisão

Quais são as grandezas que o tomador de decisão controla? Cada variável representa uma escolha — uma quantidade a determinar. Nomeá-las com clareza é o primeiro passo para construir o modelo matemático. No problema florestal: AHF1 = hectares adubados com Formulação 1 e AHF2 = hectares adubados com Formulação 2.

03

Formular o objetivo

O que deve ser atingido quando a solução for encontrada? Maximizar lucro? Minimizar custo? O objetivo é a bússola do modelo.

04

Analisar as limitações

Quais são as restrições que podem limitar a solução? Recursos escassos, capacidades máximas, requisitos mínimos — tudo isso vira uma inequação.

05

Definir as alternativas

Quais são as possíveis soluções? Em PL, as variáveis de decisão definem o espaço de todas as combinações possíveis.

06

Avaliar as alternativas

Utilizar um procedimento para escolher a melhor solução. Com infinitas alternativas, isso é trabalho para um computador — por isso criamos o modelo matemático.

🌿

No setor florestal, engenheiros são demandados para resolver desde alocação de equipes até a escolha de quais talhões cortar nos próximos 30 anos. Todas essas demandas precisam ser transformadas em linguagem matemática.

Capítulo 05

Um problema real

Vamos aplicar os cinco passos a um problema concreto do setor florestal — adubação de floresta com duas formulações disponíveis.

🌲

Adubação florestal — maximizando a produtividade

Um proprietário precisa adubar sua área florestal. Ele possui duas formulações disponíveis e precisa decidir a melhor combinação para maximizar o ganho de produtividade.

Formulação 1 (AHF1)

Ganho por hectare10 m³
Adubo por hectare1 unidade

Formulação 2 (AHF2)

Ganho por hectare12 m³
Adubo por hectare3 unidades

📦 Recursos disponíveis

100
hectares de área florestal
270
unidades de adubo em estoque

Analisando alternativas manualmente

Alternativa AHF1 (ha) AHF2 (ha) Adubo gasto Ganho (m³) Viável?
Alt. 1 0 100 300 🚫 1200 ✗ Inviável
Alt. 2 100 0 100 ✓ 1000 ✓ Viável
Alt. 3 50 50 200 ✓ 1100 ✓ Viável
Ótima 🏆 15 85 270 ✓ 1170 ✓ Ótima!
🤖

É impossível explorar todas as alternativas manualmente — as combinações são infinitas. Por isso precisamos transformar o problema em linguagem matemática e usar um computador.

Capítulo 06

Construindo o modelo matemático

A modelagem é a arte de representar situações reais por meio de expressões matemáticas. Aplicamos os cinco passos usando as ferramentas que aprendemos.

01

Variáveis de decisão

O desafio é descobrir quantos hectares serão adubados com cada formulação.

AHF1 = hectares adubados com Formulação 1
AHF2 = hectares adubados com Formulação 2
02

Função objetivo função

Maximizar o ganho de produtividade total:

max Z = 10·AHF1 + 12·AHF2
03

Restrições inequações

AHF1 + AHF2       ≤ 100   // área máxima
AHF1 + 3·AHF2   ≤ 270   // estoque de adubo
AHF1                ≥ 0     // não negativo
AHF2                ≥ 0     // não negativo

🔢 Modelo completo de Programação Linear

max Z 10·AHF1 + 12·AHF2

sujeito a:
área AHF1 + AHF2100 (ha)
adubo AHF1 + 3·AHF2270 (unidades)
dom. AHF1, AHF20

▸ Explore o modelo — verifique sua solução

Ajuste AHF1 e AHF2 para ver o ganho de produtividade e o status de cada restrição em tempo real.

AHF1 — Formulação 1 (hectares)15
AHF2 — Formulação 2 (hectares)85
1170
100 / 100
270 / 270
Restrição de área (AHF1 + AHF2 ≤ 100)100%
Restrição de adubo (AHF1 + 3·AHF2 ≤ 270)100%
✓ Solução viável

Região viável no plano

AHF1 + AHF2 = 100 (área) AHF1 + 3·AHF2 = 270 (adubo) Região viável Plano atual Solução ótima
Capítulo 07

Pressuposições do modelo linear

Para que um software de otimização possa resolver o problema, o modelo precisa satisfazer quatro pressuposições fundamentais.

D

Divisibilidade

As variáveis de decisão podem assumir valores fracionários. Ex: 15,5 hectares é uma solução válida. Se apenas inteiros são permitidos, usamos Programação Inteira.

P

Proporcionalidade

O valor da função objetivo e das restrições são lineares em relação às variáveis. Dobrar AHF2 dobra tanto o ganho quanto o uso de adubo.

A

Aditividade

A contribuição total é a soma das contribuições individuais. O ganho de 15 ha com F1 mais 85 ha com F2 é exatamente 10×15 + 12×85 = 1170 m³.

C

Certeza

Todos os parâmetros são conhecidos com exatidão. Quando há incerteza, precisamos de Programação Estocástica ou Programação Robusta.

Todo problema que satisfaz essas pressuposições pode ser resolvido pelo Algoritmo Simplex — um dos algoritmos mais importantes da história da computação. Ao final, ele indica: solução ótima única, infinitas soluções ótimas, ou problema impossível.

Capítulo 08

Otimização — a solução ótima

Com o modelo em mãos, passamos o problema para um software de otimização. Ele usa o Algoritmo Simplex para percorrer os vértices da região viável e encontrar a combinação que maximiza Z.

💻 Código para o LPSolve

/* Entrada para o solver LPSolve */
max: 10 AHF1 + 12 AHF2;

area:   AHF1 + AHF2      <= 100;
estoque: AHF1 + 3 AHF2 <= 270;

🏆 Resultado ótimo do LPSolve

1170 m³

Ganho máximo de produtividade

15 ha
85 ha
Verificação: 1×15 + 3×85 = 270 unidades de adubo (limite exato) · 15 + 85 = 100 ha adubados

📉 Redução de custos

Otimizar possibilita identificar e eliminar desperdícios, alocando recursos mal-empregados ao destino correto.

⚡ Aumento de eficiência

Corrigir falhas e padronizar execução geram mais resultados em menos tempo, com qualidade superior.

🎯 Melhoria de resultados

A organização oferece maior qualidade a custo reduzido, destacando-se da concorrência.

🛡 Redução de riscos

A padronização das atividades reduz o risco de erros humanos, acidentes e reincidência de falhas.

🌍

A demanda por ferramentas de otimização surgiu durante a Segunda Guerra Mundial para resolver problemas de alocação de recursos escassos. Com o avanço computacional, consolidou-se como a área de Pesquisa Operacional.