Graduação → Programação Linear e Otimização ↓
Entendendo o método simplex em programação linear e otimização
Introdução à programação linear
A programação linear é uma técnica matemática para otimizar uma função objetivo linear, sujeita a restrições de igualdade e desigualdade lineares. É uma maneira de alcançar o melhor resultado em um modelo matemático cujos requisitos são representados por relações lineares. Esse tipo de otimização é importante em vários campos, como economia, engenharia, militar e planejamento empresarial.
Função objetivo e restrições
Na programação linear, nosso objetivo é maximizar ou minimizar uma função objetivo linear. Um problema geral de programação linear pode ser expresso como:
Máximo ou mínimo: Z = c 1 x 1 + c 2 x 2 + ... + c n x n sujeito a: a 11 x 1 + a 12 x 2 + ... + a 1n x n ≤ b 1 a 21 x 1 + a 22 x 2 + ... + a 2n x n ≤ b 2 , a m1 x 1 + a m2 x 2 + ... + a mn x n ≤ b m x 1 , x 2 , ..., x n ≥ 0
Aqui, x 1 , x 2 , ..., x n
são variáveis, c 1 , c 2 , ..., c n
são os coeficientes da função objetivo, a ij
são os coeficientes das restrições, e b i
são constantes nas equações de restrição.
O método simplex: uma visão geral
O método simplex é um algoritmo popular usado para resolver problemas de programação linear. Ele foi desenvolvido por George Dantzig em 1947. Este método consiste nas seguintes etapas principais:
- Converter um problema de programação linear para a forma padrão.
- Encontrar uma solução viável inicial.
- Trabalhar iterativamente para melhorar a função objetivo até que a solução ótima seja alcançada.
Convertendo para a forma padrão
Antes de aplicar o método simplex, é necessário transformar o problema de programação linear dado na forma padrão. Isso envolve garantir que todas as restrições estejam na forma de igualdade e adicionar afrouxamentos, superposições ou variáveis artificiais, se necessário.
Suponha que tenhamos uma restrição como: a 11 x 1 + a 12 x 2 ≤ b 1
Para transformá-la em igualdade, introduzimos uma variável de folga s 1
:
a 11 x 1 + a 12 x 2 + s 1 = b 1
Encontrando a solução viável inicial
Uma vez que o problema esteja na forma padrão, é necessário encontrar uma solução básica viável. Isso envolve definir as variáveis não básicas como zero e resolver o sistema de equações para encontrar os valores das variáveis básicas.
Processo iterativo
O objetivo básico do método simplex é melhorar o valor da função objetivo processando através das soluções viáveis para identificar a solução ótima. Isso é feito por pivotamento.
Exemplo
Vamos ver um exemplo visual de um problema de programação linear. Suponha que temos o seguinte problema:
Maximizar: Z = 3x 1 + 5x 2 sujeito a: x 1 + 2x 2 ≤ 8 3x 1 + 2x 2 ≤ 12 x 1 , x 2 ≥ 0
No exemplo acima, as restrições x 1 + 2x 2 = 8
e 3x 1 + 2x 2 = 12
são desenhadas como linhas. A região viável delimitada pelo polígono verde mostra onde todas as condições são atendidas.
Pivotamento no método simplex
Para melhorar a função objetivo, escolheremos elementos de pivô. Critérios de entrada e critérios de saída ajudam a identificar qual variável entra na base e qual sai. O pivotamento modifica nossa base para que ela se mova para uma solução viável adjacente com um valor mais alto (em caso de maximização) para a função objetivo.
Passos envolvidos no pivotamento
O processo de pivotamento inclui as seguintes etapas principais:
- Identificar a variável de entrada:
- Olhe para a linha do objetivo (também chamada de linha de custo) no tableau simplex. Escolha a variável cujo coeficiente é mais positivo (para problemas de maximização). Esta é nossa variável de entrada.
- Determinar a variável de saída:
- Para encontrar a variável de saída, calcule a razão mínima do lado direito para os coeficientes positivos da variável de entrada em cada linha de restrição.
- Realizar operações de linha:
- Ajuste a tabela para refletir essa nova base. Isso envolve a operação de linha do elemento pivô para definir os outros elementos na coluna da variável de entrada como zero.
Continuação do exemplo
Vamos aplicar essas etapas ao nosso exemplo anterior.
Tableau simplex para a base inicial
A tabela inicial para converter desigualdades em igualdades é configurada com variáveis relaxadas s 1
e s 2
para cada restrição:
| x 1 | x 2 | s 1 | s 2 | lado direito | , , 1 | 2 | 1 | 0 | 8 | , 3 | 2 | 0 | 1 | 12 | , , -3 | -5 | 0 | 0 | 0 |
Vamos identificar as variáveis de entrada e saída:
Para maximização, o coeficiente mais negativo na linha do objetivo é -5
(sob x 2 ). Isso significa que
x 2
é nossa variável de entrada.
Para encontrar a variável de saída, calculamos a razão do RHS para o coeficiente positivo de x 2
:
8/2 = 4 (para a primeira linha) 12/2 = 6 (para a segunda linha) A razão mínima é 4, o que indica que a primeira linha sairá.
Realize operações de linha para criar a variável original x 2
na primeira linha.
Atualize o restante da tabela adequadamente.
Solução ótima
Continue com etapas de pivotamento semelhantes até que não haja coeficientes negativos na linha do objetivo (para maximização), indicando que a solução ótima foi encontrada.
Conclusão
O método simplex é um algoritmo eficiente que funciona iterando pelos vértices da região viável de maneira sistemática. É particularmente eficiente para problemas lineares envolvendo um grande número de variáveis e restrições, comprovando sua utilidade tanto em matemática teórica quanto em cenários práticos de tomada de decisão. Com uma implementação cuidadosa e compreensão de cada etapa, os alunos podem efetivamente aproveitar o poder do método simplex para encontrar soluções ótimas para problemas complexos.