Upload
doandien
View
214
Download
0
Embed Size (px)
Citation preview
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 1/25
Resolução de problemas difíceis deprogramação linear através da relaxação
Lagrangeana
Ana Maria A.C. RochaDepartamento de Produção e Sistemas
Escola de Engenharia
Universidade do Minho
http://www.norg.uminho.pt/arocha
Conteúdov Índice
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 2/25
Índice
l Introdução
l Resolução de problemas de partição
l Resolução do problema do caixeiro viajante assimétrico
l Resolução do problema do reparador viajante
l Conclusões
Conteúdov Índice
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 2/25
Índice
l Introdução
l Resolução de problemas de partição
l Resolução do problema do caixeiro viajante assimétrico
l Resolução do problema do reparador viajante
l Conclusões
Conteúdov Índice
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 2/25
Índice
l Introdução
l Resolução de problemas de partição
l Resolução do problema do caixeiro viajante assimétrico
l Resolução do problema do reparador viajante
l Conclusões
Conteúdov Índice
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 2/25
Índice
l Introdução
l Resolução de problemas de partição
l Resolução do problema do caixeiro viajante assimétrico
l Resolução do problema do reparador viajante
l Conclusões
Conteúdov Índice
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 2/25
Índice
l Introdução
l Resolução de problemas de partição
l Resolução do problema do caixeiro viajante assimétrico
l Resolução do problema do reparador viajante
l Conclusões
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 3/25
Introdução
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 4/25
Motivação
Alguns problemas de optimização linear originários deaplicações do mundo real têm:
l um grande número de variáveis e/oul um grande número de restrições
⇓
dificilmente podem ser resolvidospor métodos do tipo simplex
de uma forma eficiente
Exemplos:
- problemas de cobertura, partição e empacotamento
- problema do caixeiro viajante
- problema do reparador viajante
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 4/25
Motivação
Alguns problemas de optimização linear originários deaplicações do mundo real têm:
l um grande número de variáveis e/oul um grande número de restrições
⇓
dificilmente podem ser resolvidospor métodos do tipo simplex
de uma forma eficiente
Exemplos:
- problemas de cobertura, partição e empacotamento
- problema do caixeiro viajante
- problema do reparador viajante
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 4/25
Motivação
Alguns problemas de optimização linear originários deaplicações do mundo real têm:
l um grande número de variáveis e/oul um grande número de restrições
⇓
dificilmente podem ser resolvidospor métodos do tipo simplex
de uma forma eficiente
Exemplos:
- problemas de cobertura, partição e empacotamento
- problema do caixeiro viajante
- problema do reparador viajante
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 4/25
Motivação
Alguns problemas de optimização linear originários deaplicações do mundo real têm:
l um grande número de variáveis e/oul um grande número de restrições
⇓
dificilmente podem ser resolvidospor métodos do tipo simplex
de uma forma eficiente
Exemplos:
- problemas de cobertura, partição e empacotamento
- problema do caixeiro viajante
- problema do reparador viajante
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 4/25
Motivação
Alguns problemas de optimização linear originários deaplicações do mundo real têm:
l um grande número de variáveis e/oul um grande número de restrições
⇓
dificilmente podem ser resolvidospor métodos do tipo simplex
de uma forma eficiente
Exemplos:
- problemas de cobertura, partição e empacotamento
- problema do caixeiro viajante
- problema do reparador viajante
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 5/25
Relaxação Lagrangeana
min cx
s.a Ax ≥ b,
0 ≤ x ≤ 1,
(1)
Usando a relaxação Lagrangeana nas restrições dedesigualdade, um limite inferior de (1) é dado por
z (π) ≡
{
min cx− π (Ax− b)
s.a 0 ≤ x ≤ 1(2)
para um vector dual de multiplicadores π ≥ 0.O problema dual de (1) é definido por
max z (π)
s.a π ≥ 0.(3)
O algoritmo do subgradiente resolve o problema dual.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 5/25
Relaxação Lagrangeana
min cx
s.a Ax ≥ b,
0 ≤ x ≤ 1,
(1)
Usando a relaxação Lagrangeana nas restrições dedesigualdade, um limite inferior de (1) é dado por
z (π) ≡
{
min cx− π (Ax− b)
s.a 0 ≤ x ≤ 1(2)
para um vector dual de multiplicadores π ≥ 0.
O problema dual de (1) é definido por
max z (π)
s.a π ≥ 0.(3)
O algoritmo do subgradiente resolve o problema dual.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 5/25
Relaxação Lagrangeana
min cx
s.a Ax ≥ b,
0 ≤ x ≤ 1,
(1)
Usando a relaxação Lagrangeana nas restrições dedesigualdade, um limite inferior de (1) é dado por
z (π) ≡
{
min cx− π (Ax− b)
s.a 0 ≤ x ≤ 1(2)
para um vector dual de multiplicadores π ≥ 0.O problema dual de (1) é definido por
max z (π)
s.a π ≥ 0.(3)
O algoritmo do subgradiente resolve o problema dual.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 5/25
Relaxação Lagrangeana
min cx
s.a Ax ≥ b,
0 ≤ x ≤ 1,
(1)
Usando a relaxação Lagrangeana nas restrições dedesigualdade, um limite inferior de (1) é dado por
z (π) ≡
{
min cx− π (Ax− b)
s.a 0 ≤ x ≤ 1(2)
para um vector dual de multiplicadores π ≥ 0.O problema dual de (1) é definido por
max z (π)
s.a π ≥ 0.(3)
O algoritmo do subgradiente resolve o problema dual.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 6/25
Algoritmo do Subgradiente
Desde os inícios dos anos 70 que o algoritmo do subgradienteé usado para produzir limites inferiores de programas linearesde grande dimensão.
Existem muitas experiências feitas com este algoritmoproduzindo muito boas aproximações à solução dual.
Vantagens
l é um método simples de implementar;
l necessita de pouca memória de armazenamento;
l funciona bem, fornecendo boas aproximações à solução emdezenas ou centenas de iterações.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 6/25
Algoritmo do Subgradiente
Porquê resolver o problema dual em vez do primal?
1. o cálculo de z(π) pode ser mais simples, em termoscomputacionais, do que resolver o problema primal;
2. o problema dual é um problema côncavo de maximizaçãoque implica que todo o seu máximo local também é máximoglobal;
3. os limites superiores para o valor óptimo do problemaprimal encontrados na resolução do problema dual podemser úteis na resolução de, por exemplo, um problema deoptimização combinatória subjacente ao primal.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 6/25
Algoritmo do Subgradiente
Desvantagens
l não tem um critério de paragem bem definido; baseia-seF no limite máximo do número de iterações ouF no limite do número de passos em que não se verifique
melhoria na aproximação;
l tem um comportamento de ziguezague tornando a procurado óptimo mais lenta; que se deve ao facto deF o algoritmo não ser de subidaF não preservar em memória os subgradientes anteriores;
l não produz soluções para as variáveis primais, o que leva àaplicação de um procedimento diferente para a suacomputação.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 7/25
Algoritmo volumétrico
l O Algoritmo Volumétrico (AV) é uma extensão do método dosubgradiente que foi desenvolvido para produzirsimultaneamente- limites inferiores- soluções duais admissíveis- boas aproximações às soluções primais.
l O algoritmo volumétrico além de ser muito rápido a produzirboas aproximações à solução primal requer também poucamemória de armazenamento.
l Pertence ao projecto COIN-OR (do inglês, CommonOptimization Interface for Operations Research).
l Disponível em http://www.coin-or.org.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 7/25
Algoritmo volumétrico
Vantagens
l tem um critério de paragem bem definido, baseadoF no limite máximo do número de iterações ouF na violação máxima das restrições ser inferior a uma
pequena quantidade positiva (≈ 0) eF a diferença relativa entre o limite inferior e a aproximação
primal ser inferior a uma pequena quantidade (≈ 0);
l não tem um comportamento de ziguezague porque segarante queF o algoritmo é de subidaF os subgradientes são calculados como combinação linear
dos subgradientes anteriores;
l produz aproximações às soluções primais como combinaçãolinear das soluções anteriores.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 7/25
Algoritmo volumétrico
Entrada: π0
Inicializacao: Obter y0 uma solução óptima em z(π0) e definir v0 = b− Ay0∈ ∂z(π0).
Iniciar π1 = π0, x1 = y0, w1 = v0, j = 1 e k = 1.
Iteracao Generica j:
Passo 1: Para algum comprimento do passo sj > 0, definir πj = [πk + sjwj ]+.
Passo 2: Obter yj uma solução óptima em z(πj) e definir vj = b− Ayj∈ ∂z(πj).
Passo 3: Para algum αj ∈ [0, 1], definir
xj+1
= αjyj
+ (1− αj) xj
wj+1
= αjvj
+ (1− αj) wj.
Passo 4: Se z(πj) > z(πk) entãodefinir πk+1 = πj e fazer k ← k + 1.
Passo 5: Testar critério de paragem. Fazer j ← j + 1 e voltar ao Passo 1.
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 8/25
Combinar o Algoritmo volumétrico com ...
... outras técnicas de optimização na resolução deproblemas lineares difíceis:
F o método de penalidade exponencial para resolverproblemas de partição
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do caixeiro viajante assimétrico
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do reparador viajante
I modelo relaxadoI modelo inteiro
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 8/25
Combinar o Algoritmo volumétrico com ...
... outras técnicas de optimização na resolução deproblemas lineares difíceis:
F o método de penalidade exponencial para resolverproblemas de partição
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do caixeiro viajante assimétrico
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do reparador viajante
I modelo relaxadoI modelo inteiro
Introduçãov Motivaçãov Relaxação
Lagrangeanav Algoritmo do
Subgradientev Algoritmo
volumétricov Combinar o
Algoritmovolumétrico com...
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 8/25
Combinar o Algoritmo volumétrico com ...
... outras técnicas de optimização na resolução deproblemas lineares difíceis:
F o método de penalidade exponencial para resolverproblemas de partição
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do caixeiro viajante assimétrico
I modelo relaxadoI modelo inteiro
F métodos do tipo simplex para resolvero problema do reparador viajante
I modelo relaxadoI modelo inteiro
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 9/25
Resolução de problemas de partição
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 10/25
Problema de partição
Seja S um conjunto finito de m elementos, e S1, S2, . . . , Sn,
uma colecção de subconjuntos de S. Uma partição do conjuntoS é uma colecção desses subconjuntos, Si1 , Si2 , . . . , Sik
,
identificados pelos índices i1, i2, . . . , ik, tal que:
∪kj=1Sij
= S
Sij∩ Sik
= ∅ ∀j, k
O problema de partição consiste em seleccionar a partição demenor custo. A formulação matemática de um problema departição é dada por
minn∑
j=1
cjxj
s.an∑
j=1
aijxj = 1, i = 1, . . . ,m
xj ∈ {0, 1} , j = 1, . . . , n.
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 10/25
Problema de partição
Exemplo:
Uma empresa imobiliária pretende vender 3 apartamentos,identificados por A, B e C. Para o efeito, abriu um concurso emque aceitava propostas para um apartamento ou para umconjunto de apartamentos. As 9 propostas recebidas,numeradas por ordem de chegada, são as seguintes:
Proposta 1 2 3 4 5 6 7 8 9Ap. A 1 1 1 1 1 1Ap. B 1 1 1 1 1Ap. C 1 1 1 1
12 9 7 2 7 8 4 3 4A proposta 2, por exemplo, significa que foram oferecidas 9U.M. pelos apartamentos A e B, em conjunto. Trata-se de umproblema de determinar a partição de maior peso.A solução óptima consiste em aceitar as propostas 2 e 9, comum valor de 13 U.M..
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 10/25
Problema de partição
Aplicações:
l Problemas de escalonamento
m
ex: calendarização de rotas de aviões
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 11/25
Método de penalidade exponencial
A técnica de resolução de problemas através do uso defunções de penalidade tem sido muito utilizada ao longo dostempos.
A ideia dos métodos de penalidade é aproximar um problemade minimização com restrições por um problema que éconsiderado "fácil" de resolver.
A estratégia normalmente usada baseia-se na conversão deum problema com restrições numa sucessão de subproblemassem restrições através do uso de uma função de penalidade.
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 11/25
Método de penalidade exponencial
Resolverproblema com restrições
⇓
Solução
⇔ Resolversubproblema sem restrições
⇓
subproblema sem restrições⇓
subproblema sem restrições⇓. . .
⇓
Solução
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 12/25
Função de penalidade exponencial
Para o problema de minimização com restrições definido por
min f (x)
s.a gi (x) ≤ 0, i = 1, . . .m.(4)
Vamos transformar o problema com restrições (4) numproblema sem restrições com a ajuda da função de penalidadeexponencial ψ (t) = (et − 1).
O método dos multiplicadores consiste numa sucessão deminimizações sem restrições
xk ∈ arg minx∈Rn
{
f (x) +
m∑
i=1
πki
µki
(eµki gi(x) − 1)
}
(5)
coml πi - multiplicador associado à restrição il µi - parâmetro de penalidade associado à restrição i
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 12/25
Função de penalidade exponencial
Para o problema de minimização com restrições definido por
min f (x)
s.a gi (x) ≤ 0, i = 1, . . .m.(4)
Vamos transformar o problema com restrições (4) numproblema sem restrições com a ajuda da função de penalidadeexponencial ψ (t) = (et − 1).
O método dos multiplicadores consiste numa sucessão deminimizações sem restrições
xk ∈ arg minx∈Rn
{
f (x) +
m∑
i=1
πki
µki
(eµki gi(x) − 1)
}
(5)
coml πi - multiplicador associado à restrição il µi - parâmetro de penalidade associado à restrição i
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 12/25
Função de penalidade exponencial
Para o problema de minimização com restrições definido por
min f (x)
s.a gi (x) ≤ 0, i = 1, . . .m.(4)
Vamos transformar o problema com restrições (4) numproblema sem restrições com a ajuda da função de penalidadeexponencial ψ (t) = (et − 1).
O método dos multiplicadores consiste numa sucessão deminimizações sem restrições
xk ∈ arg minx∈Rn
{
f (x) +
m∑
i=1
πki
µki
(eµki gi(x) − 1)
}
(5)
coml πi - multiplicador associado à restrição il µi - parâmetro de penalidade associado à restrição i
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 12/25
Função de penalidade exponencial
Para o problema de minimização com restrições definido por
min f (x)
s.a gi (x) ≤ 0, i = 1, . . .m.(4)
Vamos transformar o problema com restrições (4) numproblema sem restrições com a ajuda da função de penalidadeexponencial ψ (t) = (et − 1).
O método dos multiplicadores consiste numa sucessão deminimizações sem restrições
xk ∈ arg minx∈Rn
{
f (x) +
m∑
i=1
πki
µki
(eµki gi(x) − 1)
}
(5)
coml πi - multiplicador associado à restrição il µi - parâmetro de penalidade associado à restrição i
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 13/25
Estratégia para o modelo relaxado
Resolver problemas de partição através de:
método de penalidade exponencial
+
algoritmo volumétrico
Comparar os resultados desta estratégia com:
l CPLEX
l algoritmo volumétrico original
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 13/25
Estratégia para o modelo relaxado
PROBLEMA
IDNúm. Núm. Óptimo
restrições variáveis Frácc.Sp12 3218 84746 248004.4
ProblemaCPLEX AV
(seg.) (seg.)
Sp12 1308.23 76.09
ProblemaMPE+AV
(seg.)
Sp12 219.24
Introdução
Resolução deproblemas departiçãov Problema de
partiçãov Método de
penalidadeexponencial
v Função depenalidadeexponencial
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
ConclusõesAna Maria Rocha Porto, 16 Fevereiro 2006 - p. 14/25
Estratégia para o modelo inteiro
Resolver problemas de partição (inteiros) através de:
método de penalidade exponencial+
algoritmo volumétrico+
heurísticas
+
CPLEX-MIP
Comparar os resultados desta estratégia com:
l CPLEX-MIP
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 15/25
Resolução do problema do caixeiroviajante assimétrico
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 16/25
Problema do caixeiro viajante
Dado um conjunto de cidades e conhecidas as distâncias entrecada uma delas, pretende-se determinar o circuito de menorcomprimento que passa por todas as cidades, exactamenteuma vez, e que termina na cidade de onde partiu.
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 16/25
Problema do caixeiro viajante
l A estrutura matemática do problema do caixeiro viajante éum grafo em que cada cidade é um nó e as linhas que unemtodos os nós são denominadas por arcos. Associada a cadalinha está uma distância ou custo.
l Uma viagem, que passe por todas as cidades uma únicavez, corresponde a qualquer subconjunto de linhas do grafoe é designado por circuito Hamiltoniano, na teoria de grafos.O comprimento de um circuito é a soma do comprimentodas linhas que fazem parte da viagem.
2
1
3
2
4
5
5
4 1
6
5
2
7
3 8
Circuito óptimo1 - 4 - 5 - 3 - 2 - 1
Comprimento do circuito1 + 2 + 8 + 5 + 2 = 18
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 16/25
Problema do caixeiro viajante
Problema simétrico 6= Problema assimétrico
No caso do problema assimétrico as distâncias entre duascidades podem ser diferentes, consoante os trajectos sãopercorridos num ou noutro sentido.
1
3 2
4 5
1
3
9
6
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 16/25
Problema do caixeiro viajante
Aplicações:
l Determinação de percursos óptimos em transporte depessoas ou mercadorias
m
ex: autocarro de escola
l Subproblema de problemas de distribuição e planeamentode rotas de veículos
m
ex: determinar, para um dado conjunto de veículos,qual o percurso que cada veículo deve efectuar,
de modo a, no seu conjunto, servir todos os clientes
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 17/25
Problema do caixeiro viajante assimétrico
Em termos matemáticos
min∑
(i,j)∈A
cijxij
s.a∑
(i,j)∈δ+(i)
xij = 1 (i ∈ V )
∑
(i,j)∈δ−(j)
xij = 1 (j ∈ V )
eliminação de subcircuitos
xij ∈ {0, 1} ((i, j) ∈ A)
l V = {1, . . . , n} representa o conjunto de vérticesl A = {(i, j) : i, j ∈ V ; i 6= j} o conjunto de arcosl δ−(j) denota o conjunto dos arcos que convergem para o
vértice jl δ+(i) denota o conjunto dos arcos que divergem do vértice i
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 17/25
Problema do caixeiro viajante assimétrico
As restrições de eliminação de subcircuitos podem sermodeladas de várias formas:
l usando desigualdades que envolvem apenas as variáveis xij
m
formulação natural
ou
l variáveis adicionais que podem ou não estar associadas aosarcos
m
formulação estendida
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 17/25
Problema do caixeiro viajante assimétrico
Formulação das restrições de eliminação de subcircuitos
A representação mais conhecida (DFJ) das restrições deeliminação de subcircuitos, que é uma formulação natural, é
∑
(i,j)∈A(S)
xij ≤ |S| − 1 (S ⊆ V \ {1}) .
A formulação (estendida) de fluxo desagregado (Claus) queusa o conceito de redes de fluxos é dada por
∑
(1,j)∈δ+(1)
yk1j −
∑
(j,1)∈δ−(1)
ykj1 = −1 (k ∈ V \ {1})
∑
(k,j)∈δ+(k)
ykkj −
∑
(j,k)∈δ−(k)
ykjk = 1 (k ∈ V \ {1})
∑
(i,j)∈δ+(i)
ykij −
∑
(j,i)∈δ−(i)
ykji = 0 (k ∈ V \ {1}, i ∈ V \ {1, k})
0 ≤ ykij ≤ xij ((i, j) ∈ A, k ∈ V \ {1})
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 17/25
Problema do caixeiro viajante assimétrico
Em notação matricial, o PCVA é definido por
min cx
s.a Dx = 1l
Byk = bk (k ∈ V1)
x ≥ yk ≥ 0 (k ∈ V1)
(x, y) inteiros
(6)
em que:l D é a matriz de incidência nó-aresta do grafo bipartido não
orientado G′ = (V × V,A) e 1l é um vector coluna de tudouns;
l B é a matriz de incidência nó-arco do grafo não orientado Ge para cada k ∈ V1 ≡ V \ {1}, bk é um vector coluna de tudozeros excepto para bk1 = −1 e bkk = 1.
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 18/25
Estratégia para o modelo relaxado
Resolver relaxação linear doproblema do caixeiro viajante assimétrico através de:
algoritmo volumétrico
+
CPLEX
Comparar os resultados desta estratégia com:
l CPLEX
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 18/25
Estratégia para o modelo relaxado
PROBLEMA
PCVANúm. Núm Núm. Óptimo
vértices arcos variáveis Frácc.ftv33 34 1122 38148 1286
CPLEX (dualopt)
Núm. TempoIterações (seg.)
24231 42.7
VOLUMETRICO CPLEXTempo
Núm. L Violação Tempo Núm. TempoTotal
It. (dual) Máx. (seg.) It. (seg.)1000 1281.85 0.036116 5.48 2700 13.83 19.31
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 18/25
Estratégia para o modelo relaxado
br17
ftv33
ftv35
ftv38
ftv44
ftv47
ftv55
ftv64
ftv70
p43
ry48p
ft53
ft70
AV+CPLEX CPLEX
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 19/25
Estratégia para o modelo inteiro
Resolver problema do caixeiro viajante assimétrico (inteiro)através de:
algoritmo volumétrico+
heurísticas
+
CPLEX-MIP
Comparar os resultados desta estratégia com:
l CPLEX-MIP
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 19/25
Estratégia para o modelo inteiro
PROBLEMA
PCVANúm. Núm Núm. Óptimo
vértices arcos var. Inteiroftv33 34 1122 38148 1286
CPLEX-MIP
Núm. TempoIterações (seg.)
24226 56.8
VOLUMETRICO HEURISTICA CPLEX-MIPTempo
Núm. Tempo Redução Núm. TempoTotal
It. (seg.) var. It. (seg.)1000 5.48 7779 2879 1.36 6.84
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétricov Problema do
caixeiro viajantev Problema do
caixeiro viajanteassimétrico
v Estratégia para omodelo relaxado
v Estratégia para omodelo inteiro
Resolução doproblema doreparador viajante
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 19/25
Estratégia para o modelo inteiro
br17
ftv33
ftv35
ftv38
AVH+CPLEXMIP CPLEXMIP
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 20/25
Resolução do problema do reparadorviajante
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 21/25
Problema do reparador viajante
Dado um conjunto de cidades e conhecidas as distânciasentre cada uma delas, pretende-se determinar o circuito queminimiza a soma acumulada das distâncias (ao longo docircuito) que passa por todas as cidades, exactamente umavez, e que termina na cidade de onde partiu.
A estrutura matemática do problema do reparador viajante ésemelhante à do problema do caixeiro viajante. Neste caso, ocomprimento de um circuito é o total da soma dos acumuladosdas linhas até cada nó que faz parte da viagem.
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 21/25
Problema do reparador viajante
Suponhamos que temos um grafo com n nós. Em cada nóexiste uma máquina para ser reparada, e existe apenas umreparador. Dado o tempo requerido pelo reparador para viajarentre nós, pretende-se encontrar um circuito que minimize otempo total de espera para todas as máquinas.
2
1
3
2
4
5
5
4 1
6
5
2
7
3 8
Circuito óptimo1 - 4 - 5 - 2 - 3 - 1
Comprimento do circuito11 + 21 + 2 + 41 + 2 + 4 + 51 + 2 + 4 + 5 + 7= 42
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 21/25
Problema do reparador viajante
O problema do reparador viajante é também conhecido por
l problema do distribuidor (delivery man problem)
l problema da latência mínima (minimum latency problem)
l problema do caixeiro viajante com custos acumulados(traveling salesman problem with cumulative costs)
Aplicações:
l Problemas de distribuição em que se pretende minimizar otempo de espera de cada cliente
m
ex: distribuição de pizzas
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 21/25
Problema do reparador viajante
Formulação em notação matricial:
min c1x +∑
k∈V1
ckyk
s.a Dx = 1l
Byk = bk (k ∈ V1)
x ≥ yk ≥ 0 (k ∈ V1)
(x, y) inteiros
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 22/25
Estratégia para o modelo relaxado
Resolver relaxação linear do problema do reparador viajanteatravés de:
algoritmo volumétrico
+
CPLEX
Comparar os resultados desta estratégia com:
l CPLEX
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 22/25
Estratégia para o modelo relaxado
PROBLEMA
PRVNúm. Núm Núm Óptimo
vértices arcos var. Frácc.ftv33 34 1122 38148 6884.3
CPLEX (dualopt)
Núm. TempoIterações (seg.)
17982 107.1
VOLUMETRICO CPLEXTempo
Núm. L Violação Tempo Núm. TempoTotal
It. (dual) Máx. (seg.) It. (seg.)807 6872.5 0.0099987 6.0 1285 11.2 17.2
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 22/25
Estratégia para o modelo relaxado
ftv33
ftv35
ftv38
ftv44
ftv47
ftv55
ftv64
ftv70
ry48p
ft53
ft70
AV+CPLEX CPLEX
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 23/25
Estratégia para o modelo inteiro
Resolver problema do reparador viajante (inteiro) através de:
algoritmo volumétrico+
heurísticas
+
CPLEX-MIP
Comparar os resultados desta estratégia com:
l CPLEX-MIP
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajantev Problema do
reparador viajantev Estratégia para o
modelo relaxadov Estratégia para o
modelo inteiro
Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 23/25
Estratégia para o modelo inteiro
Resolver problema do reparador viajante (inteiro) através de:
algoritmo volumétrico
+
Branch-and-Bound
Comparar os resultados desta estratégia com:
l CPLEX-MIP
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusõesv Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 24/25
Conclusões
Introdução
Resolução deproblemas departição
Resolução doproblema docaixeiro viajanteassimétrico
Resolução doproblema doreparador viajante
Conclusõesv Conclusões
Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 25/25
Conclusões
O algoritmo volumétrico pode ajudar:
l na resolução
{
aproximadaexacta
}
de problemas de partição,
através do método de penalidade exponencial;
l na identificação de uma boa base inicial para a resolução{
aproximadaexacta
}
de formulações do
{
PCVAPRV
}
;
l na obtenção de soluções óptimas, quando combinado comoutras técnicas.