Ana Maria Rocha Porto, 16 Fevereiro 2006 - p. 1/25 Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana Ana Maria A.C. Rocha Departamento de Produção e Sistemas Escola de Engenharia Universidade do Minho [email protected]http://www.norg.uminho.pt/arocha
65
Embed
Resoluçªo de problemas difíceis de programaçªo linear ... · caixeiro viajante assimØtrico Resoluçªo do problema do reparador viajante Conclusıes Ana Maria Rocha Porto, 16
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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.
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.
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).
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..
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.
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
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.
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.