Programação Linear (2D)

PL com 2 variáveis: região viável, otimização por vértices

A carregar a simulação interativa...

Limites de otimização convexa em espaços limitados 🖖

A programação linear otimiza uma função objetivo linear sujeita a restrições lineares de igualdade e desigualdade. A região viável forma um poliedro convexo. O teorema fundamental estabelece que a solução ótima deve ocorrer num dos vértices do poliedro, resolvido de forma eficiente pelo algoritmo Simplex.

As melhores respostas se escondem nos vértices 🖖

Em termos simples, você está equilibrando recursos limitados sob várias regras ao mesmo tempo, e cada desigualdade recorta uma parte do plano. Onde todas as regras se sobrepõem fica a região viável, e cada ponto dentro dela é um plano válido. Como uma função objetivo linear sempre melhora numa direção, a melhor solução cai num vértice onde as restrições se encontram. A lição: para otimizar você nunca testa todos os pontos, apenas o punhado de vértices.

Como um problema de dieta anteviu o simplex 🖖

Em 1945, o economista George Stigler estudou a dieta mais barata que cobrisse todas as necessidades nutricionais, um problema linear com 77 alimentos. Sem um algoritmo, fez uma estimativa astuta e chegou a cerca de $39.93 por ano (preços de 1939). Quando o método simplex de Dantzig o resolveu com exatidão em 1947, o mínimo real era $39.69 — a estimativa manual de Stigler errou por apenas cerca de 24 centavos ao ano. Assim, a economia árida virou um dos casos fundadores da programação linear.

Problemas de exemplo

  • Problema da dieta - Maximização clássica limitada: o ótimo ocorre em um vértice factível.
  • Produção da fábrica - Restrições de capacidade que se cruzam criam uma região factível poligonal.
  • Custo mínimo - A minimização com restrições de limite inferior escolhe o vértice factível mais próximo da origem na direção do objetivo.
  • Ilimitado - A região factível pode ser ilimitada, portanto o objetivo pode não ter um ótimo finito.