Top Banner
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

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

Nov 06, 2018

Download

Documents

doandien
Welcome message from author
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
Page 1: 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

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

[email protected]

http://www.norg.uminho.pt/arocha

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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

Page 11: 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

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

Page 12: 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

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

Page 13: 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

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.

Page 14: 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

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.

Page 15: 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

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.

Page 16: 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

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.

Page 17: 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

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.

Page 18: 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

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.

Page 19: 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

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.

Page 20: 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

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.

Page 21: 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

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.

Page 22: 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

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.

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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

Page 27: 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

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.

Page 28: 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

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..

Page 29: 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

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

Page 30: 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

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.

Page 31: 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

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

Page 32: 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

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

Page 33: 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

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

Page 34: 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

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

Page 35: 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

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

Page 36: 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

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

Page 37: 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

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

Page 38: 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

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

Page 39: 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

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

Page 40: 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

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.

Page 41: 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

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

Page 42: 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

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

Page 43: 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

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

Page 44: 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

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

Page 45: 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

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

Page 46: 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

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})

Page 47: 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

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.

Page 48: 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

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

Page 49: 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

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

Page 50: 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

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

Page 51: 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

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

Page 52: 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

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

Page 53: 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

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

Page 54: 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

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

Page 55: 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

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.

Page 56: 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

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

Page 57: 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

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

Page 58: 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

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

Page 59: 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

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

Page 60: 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

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

Page 61: 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

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

Page 62: 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

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

Page 63: 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

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

Page 64: 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

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

Page 65: 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

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.