Aprenda a traduzir problemas reais em modelos matemáticos — e deixe os computadores encontrarem a solução ótima.
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.
Uma função f: A → B associa cada x ∈ A (domínio) a exatamente um y ∈ B (contradomínio). Escrevemos y = f(x).
Uma função linear de duas variáveis tem a forma f(x,y) = ax + by, onde a e b são coeficientes constantes.
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.
Esta é exatamente a função do nosso problema florestal! Arraste os sliders para ver como o valor muda.
f(x,y) = 10x + 12y representa o ganho total em m³ de madeira
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.
A equação é satisfeita apenas pelos pontos exatos sobre a reta. Fora dela, a igualdade não vale.
Equações aparecem como restrições de igualdade — quando um recurso deve ser consumido totalmente.
A área total é de 100 hectares. Se somarmos os hectares de cada formulação, deve dar exatamente 100.
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.
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.
Estritamente menor — fronteira não incluída
Menor ou igual — fronteira incluída. Mais comum em PL!
Maior ou igual — limita por baixo (ex: demanda mínima)
Cada hectare com F1 consome 1 unidade de adubo; com F2, consome 3 unidades. O estoque total é de 270 unidades.
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.
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.
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.
O que deve ser atingido quando a solução for encontrada? Maximizar lucro? Minimizar custo? O objetivo é a bússola do modelo.
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.
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.
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.
Vamos aplicar os cinco passos a um problema concreto do setor florestal — adubação de floresta com duas formulações disponíveis.
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.
| 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.
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.
O desafio é descobrir quantos hectares serão adubados com cada formulação.
Maximizar o ganho de produtividade total:
Ajuste AHF1 e AHF2 para ver o ganho de produtividade e o status de cada restrição em tempo real.
Para que um software de otimização possa resolver o problema, o modelo precisa satisfazer quatro pressuposições fundamentais.
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.
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 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³.
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.
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.
Otimizar possibilita identificar e eliminar desperdícios, alocando recursos mal-empregados ao destino correto.
Corrigir falhas e padronizar execução geram mais resultados em menos tempo, com qualidade superior.
A organização oferece maior qualidade a custo reduzido, destacando-se da concorrência.
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.