Decomposição de Benders
A decomposição de Benders é uma técnica que resolve problemas de otimização de grande porte, dividindo-os em um problema mestre e um ou mais subproblemas. Ela é particularmente útil quando o problema apresenta restrições e variáveis de acoplamento que podem ser separadas em diferentes blocos.
Problema Original
Considere um problema de otimização linear contínua da forma:
onde:
e são variáveis de decisão; e são matrizes de restrições para ; é a matriz de restrições para ; e são vetores de constantes.
Este problema pode ser visto como composto de um problema mestre (variáveis
Decomposição do Problema
A decomposição de Benders separa
-
Problema Mestre: As variáveis
são mantidas no problema mestre. -
Subproblema: Dado um
fixo, o subproblema para é resolvido para otimizar a função objetivo e garantir a factibilidade das restrições.
Problema Mestre Reformulado
Primeiramente, reformulamos o problema original com a função objetivo do problema mestre:
onde:
A função
Subproblema Primal e Dual
O subproblema para
Este subproblema é uma otimização linear que, como qualquer problema de programação linear, tem um problema dual associado. O problema dual é:
Aqui,
Duas Situações para o Subproblema
O subproblema pode resultar em duas situações:
-
Solução Ótima: O subproblema é factível, e existe um
tal que . O valor de é finito e pode ser incorporado no problema mestre. -
Infactibilidade do Subproblema: O subproblema é infactível, o que significa que não há
que satisfaça as restrições . Neste caso, o problema mestre deve incorporar cortes de viabilidade para evitar essa infactibilidade.
Condições de Infactibilidade
Se o subproblema é infactível para um valor de
onde
Problema Mestre de Benders (PMB)
Após resolver o subproblema e obter a função
Aqui:
é uma variável auxiliar que representa o valor de ; e são os conjuntos de pontos extremos e raios extremos do problema dual.
Método de Planos de Corte
Para resolver o Problema Mestre de Benders, o método de planos de corte é utilizado:
-
Relaxação Inicial: O problema mestre inicial (PMB
) contém apenas as restrições e possivelmente alguns cortes iniciais. -
Iteração: Em cada iteração
, resolvemos o problema mestre atual (PMB ) e obtemos uma solução . -
Subproblema: Com o
obtido, resolvemos o subproblema correspondente. Se o subproblema for:- Factível: Calculamos
e adicionamos um corte de otimalidade. - Infactível: Adicionamos um corte de viabilidade para eliminar essa região.
- Factível: Calculamos
-
Convergência: O processo continua até que o valor do problema mestre (limitante inferior) e o valor do subproblema (limitante superior) sejam suficientemente próximos.
Material didático retirado dos slides do prof. Pedro Munari da UFScar: https://www.dep.ufscar.br/munari/