estudo e aplicação do covering tour problem parte...

17
Campinas, Agosto de 2012 Página 1 Estudo e Aplicação do Covering Tour Problem Parte II Aluno: Rodolfo Cunha Oliveira - RA:092891 Orientador: Prof. Dr. Antonio Carlos Moretti Departamento de Matemática Aplicada IMECC UNICAMP

Upload: trinhminh

Post on 24-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 1

Estudo e Aplicação do Covering Tour Problem Parte II

Aluno: Rodolfo Cunha Oliveira - RA:092891 Orientador: Prof. Dr. Antonio Carlos Moretti Departamento de Matemática Aplicada – IMECC – UNICAMP

Page 2: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 2

Sumário

1. Introdução e Motivação...............................................................................3

2. Teoria, Modelo e Implementação................................................................4

2.1 Teoria e modelo matemático do CTP....................................................4

2.2 O software-ferramenta AIMMS..............................................................7

3. Metodologia e Implementação....................................................................9

4. Resultados Obtidos....................................................................................10

5. Discussão e Considerações Finais............................................................16

6. Bibliografia.................................................................................................17

Page 3: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 3

1. Introdução e Motivação

Assim como mencionado na parte 1, o Problema de Cobertura CTP é um problema

muito atual, emboras suas origens sejam decorrentes do problema do Caixeiro

Viajante, proposto no século XIX pelos matemáticos W.R. Hamilton e T.P. Kirkman.

Nas décadas de 1980 e 1990, os matemáticos J.R. Current e D.A. Schiling

propuseram o CTP que consiste em, dado um grafo completo e não

direcionado, traçar o menor ciclo Hamiltoniano que deverá visitar um subconjunto de

vértices e deverá cobrir com uma margem acessível outro subconjunto de vértices .

Considerando os pontos como localidades e a rota, um trajeto a ser percorrido, é

possível facilmente encontrar uma conexão entre esse problema e alguns dos

problemas de transporte bem como traçado de rotas de segurança atuais.

O objetivo deste segundo estudo é testar a eficiência do solver CPLEX 12.4 através

do software ferramenta AIMMS, uma poderosa ferramenta utilizada atualmente por

empresas de consultoria matemática, na resolução do CTP e comparar com os

resultados obtidos anteriormente.

Page 4: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 4

2. Teoria, Modelo e o Software AIMMS

2.1 Teoria e modelo matemático do CTP:

Definição 1:

Seja um grafo completo e desorientado onde é o

conjunto de vértices e é o conjunto

de arestas. O vértice é um depósito, é um conjunto de vértices que podem ser

visitados, é o conjunto de vértices que precisam ser visitados, e é o

conjunto de vértices que precisam ser cobertos. A matriz distancia satisfaz a

diferença triangular definida em . O CTP consiste em determinar o menor

comprimento de um tour ou ciclo Hamiltoniano sobre um conjunto de modo que o

tour contenha todos os vértices e todos os vértices de estejam cobertos pelo tour,

ou seja, cada vértice de está à uma distancia de ao menos um vértice do tour. Tal

tour, pode nem sempre existir. [1]

O problema pode ser ilustrado na figura 1:

[2]

Figura 1: Exemplo do Covering Tour Problem

Page 5: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 5

Formução exata conhecida para o CTP

O CTP pode ser formulado como um problema de programação linear inteira:

Para cada , seja uma variável binária igual a 1 se e somente se o

vértice pertence ao tour. Se , então é necessariamente igual a 1. Para

e , seja uma variável binária igual a 1 se e somente se a aresta

pertence ao tour. Também defina coeficientes binários iguais a 1 se e somente se

pode ser coberto por , (ou seja ), e seja

para vada . Assumamos que para todo e

que o tour degenarado ( ) é infactível. [2]

O CTP, portanto pode ser formulado como:

Sujeito à:

Page 6: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 6

Comentários sobre o modelo

A função objetivo:

Notamos que o objetivo deste modelo é minimizar a soma dos ativos (aqueles

que multiplicam os ), ou seja, minimizar o custo total do tour, este que

normalmente é interpretado como a distância total.

As restrições:

Este conjunto de restrições garante que todos os vértices , sejam

cobertos por ao menos um vértice . Ou seja, que cada um dos vértices que precisam

ser cobertos, sejam efetivamente cobertos.

O conjunto (3) força que, caso o vértice esteja no Tour (ou seja, ) então

exatamente duas arestas ligadas à ele, também pertencerão ao tour.

Page 7: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 7

Em (4), o grupo de restrições evita que a solução contenha sub-tours, ou seja

que a resposta do problema seja um ciclo único e fechado. Para tal, as restrições

devem ser criadas de tal maneira que para vértice existente no tour, exista um meio de

chegar em qualquer outro vértice também pertencente ao tour.

Estas restrições determinam que as variáveis que representam as arestas ( )

sejam binárias.

O grupo (6) determina que os vértices que pertencem ao tour inicial estejam no

tour final.

Por fim, este último conjunto tais restrições determinam que as variáveis que

representam os vértices, sejam binárias.

2.2 O software-ferramenta AIMMS

Atualmente o software Advanced Integrated Multidimensional Modeling Software

(AIMMS) é um dos mais utilizados por empresas para a resolução de problemas de

otimização em programação matemática. Possui diversos recursos gráficos, como a

criação de páginas para visualição de resultados em formas de gráficos e análises

sensoriais altamente precisas.

Page 8: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 8

Ele reúne os melhores solvers existentes e atualmente disponibilizou uma

versão gratuíta acadêmica, afim de incentivar o uso desta ferramenta já na graduação.

A ferramenta apresenta compatibilidades com diversas outras plataformas

utilizadas em programação matemática como o CPLEX , o que permite que usuários

mais acostumados com um tipo de programação migrem gradualmente para a

linguagem AIMMS ou que utilizem o AIMMS apenas pelas outras ferramentas que

excedem a programação em si, como por exemplo a análise dos resultados e exibição

dos dados.

Atualmente na versão, 12.4, o solver IBM ILOG CPLEX Optimzation Studio

(comumente referido como CPLEX) foi escolhido para resolver o problema devido à

sua robustez conhecida. Este solver foi desenvolvido originalmente por Robert E.

Bixby, em 1988, e foi comprado pela ILOG em 1997, que por sua vez, em 2009, tornou-

se parte da IBM.

O CPLEX utiliza tanto variantes primal e dual do método simplex ou o método de

barreiras de pontos interiores para resolver problemas lineares e problemas lineares

inteiros(mistos) de grande porte.

Page 9: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 9

3. Metodologia e Implementação

Tal como já foi mencionado durante a parte 1, as restrições do tipo (4)

apresentam um grande problema de implementação, pois o número de restrições

neste grupo é exponencial, de modo que a abordagem para este grupo de

restrições seja diferenciada.

Neste projeto, análogo ao anterior, um algoritmo baseado no capítulo 3 da

bibliografia [3] foi utilizado. Inicialmente, ele consiste em resolver o modelo

proposto anteriormente através do solver CPLEX, por meio do software ferramenta

AIMMS, sem as restrições que evitam subtours.

Após obter uma solução, uma análise é realizada afim de determinar quais

subtours ocorreram e determinar quantas e quais partições de vértices aqueles

subtours formam.

A etapa seguinte consiste em adicionar restrições ao problema que evitem uma

ou mais partições por completo, ou seja, não impedir apenas o subtour encontrado,

mas todas as possíveis soluções que envolvam combinações daqueles vértices.

Finalmente, o problema é resolvido novamente pelo CPLEX, e o algoritmo se

repete até que a solução obtida contenha apenas uma partição, ou seja não

contenha subtours.

O limite estipulado para a criação de restrições foi de no máximo 150 mil restrições

por iteração

Page 10: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 10

4. Resultados Obtidos

Com o objetivo de testar a capacidade de solução do software-ferramenta

AIMMS, bem como a consistência do modelo matemático proposto três problemas

foram criados. Cada problema contém um conjunto de vértices aleatoriamente

dispostos num plano. Estes vértices estão distribuídos em três conjuntos, o conjunto

de vértices que devem ser cobertos , o conjunto de vértices que podem ser

visitados e o conjunto de vértices que devem ser visitados . Os dois

primeiros problemas são análogos aos resolvidos na parte 1, entretanto o terceiro, é

um problema maior que não pôde ser resolvido pelo GPLK.

Figura 2: Esta figura retrata o Problema 1, este problema contém 10 vértices que

devem ser cobertos, 5 vértices que devem ser visitados e 15 vértices que podem

ser visitados, ou seja, o problema possui 30 vértices no total.

Page 11: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 11

Figura 3: Esta figura retrata o Problema 2, este problema contém 15 vértices que

devem ser cobertos, 6 vértices que devem ser visitados e 19 vértices que podem ser

visitados, ou seja, o problema possui 40 vértices no total.

Page 12: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 12

Figura 4: Esta figura retrata o Problema 3, este problema contém 20 vértices que

devem ser cobertos, 7 vértices que devem ser visitados e 23 vértices que podem

ser visitados, ou seja, o problema possui 50 vértices no total.

A Tabela 1 resume todas informações relevantes dos três problemas:

Tabela 1: Dados dos conjuntos de vértices dos três problemas

Problema Vértices em Vértices em Vértices em Vértices em

1 10 15 5 30

2 15 19 6 40

3 20 23 7 50

Através do procedimento proposto na metodologia, os três problemas foram

resolvidos com sucesso. Os resultados serão expressos através de tabelas que

contém informações referentes ao tempo de execução do Software AIMMS por

iteração, o número total de restrições naquela iteração, o valor da função objetivo

Page 13: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 13

naquela iteração e o número de partições em cada iteração. Além das tabelas, a

solução de cada problema também será ilustrada em uma figura, gerada pelo

MATLAB.

Tabela 2: Resultados obtidos no Problema 1

Iteração Tempo (em s) # de restrições # de partições Valor da F.O.

1 0.40 4986 3 392.5

2 0.40 5058 3 413.6

3 0.42 5130 2 415.4

4 0.45 5178 2 418.4

5 0.56 5658 1 423.9

Figura 4: Ilustração da rota ótima que minimiza o problema 1 (7 vértices).

Page 14: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 14

Tabela 3: Resultados obtidos no Problema 2

Iteração Tempo (em s) # de restrições # de partições Valor da F.O.

1 0.63 11517 2 589.7

2 0.63 11541 2 590.6

3 0.67 11565 1 591.8

Figura 5: Ilustração da rota ótima que minimiza o problema 2(11 vértices).

Page 15: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 15

Tabela 4: Resultados obtidos no Problema 3

Iteração Tempo (em s) # de restrições # de partições Valor da F.O.

1 2.87 22128 3 520.9

2 3.42 23976 5 525.2

3 5.74 24096 3 528.8

4 12.78 37584 3 536.7

5 14.10 51072 3 538.5

6 27.16 160512 2 541.6

7 28.27 160536 1 544.0

Figura 5: Ilustração da rota ótima que minimiza o problema 3(10 vértices).

Page 16: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 16

5. Discussão e Considerações Finais

Os resultados demonstrados anteriormente mostram a eficácia do CPLEX12.4 e do

modelo matemático utilizados para resolver o CTP. É importante notar o crescimento

rápido de restrições adicionadas ao problema de um problema para outro, por exemplo

o problema 1 utiliza em torno de 5 mil restrições enquanto o problema ultrapassa o

valor de 150 mil restrições. Entretanto, podemos notar que apesar do elevado número

de restrições no problema 3, o tempo de solução obtido é relativamente baixo,

mostrando a eficiência do solver CPLEX 12.4.

A tabela abaixo ilustra os resultados obtidos pelo CPLEX 12.4 em comparação com

os resultados obtidos pelo GLPK 4.47 (resolvido na Parte I)

Tabela 5: Comparação entre o CPLEX12.4 e o GLPK 4.47

Problema Valor da

Função Objetivo

Tempo Total de

Solução do

GLPK 4.47

Tempo Total de

Solução do

CPLEX 12.4

1 423.9 3.5s 2.23s

2 591.8 6.4s 1.93s

3 544.0 ----- 34.34s

Assim, o objetivo final do projeto foi atingido e, motivado por este resultado,

podemos sofisticar ainda mais o problema. Por exemplo, para um futuro trabalho é

possível trabalhar com mais de um veículo para realizar o trajeto de cobertura.

Ressaltamos ao fim dessa discussão, que o software AIMMS é uma excelente

ferramenta, que permite facilitar a modelagem de problemas de grande porte e,

auxiliado pela robustez do solver CPLEX, podemos resolver problemas com uma

quantidade elevada de restrições em um tempo acessível e que o modelo trabalhado

em conjunto com a metodologia proposta, possue grande margem para exploração

com fins comerciais, tanto no traçado de rotas de transporte, como de segurança.

Page 17: Estudo e Aplicação do Covering Tour Problem Parte IIvigo.ime.unicamp.br/Projeto/2012-2/ms877/ms877_rodolfo.pdf · O CPLEX utiliza tanto variantes primal e dual do método simplex

C a m p i n a s , A g o s t o d e 2 0 1 2

Página 17

6. Bibliografia e Referências

[1] The Covering Tour Problem Michel Gendreau; Gilbert Laporte; Frédéric Semet

Operations Research, Vol. 45, No. 4. (Jul. - Aug., 1997), pp. 568-576. [2] The bi-objective covering tour problem Nicolas Jozefowieza, Frédéric Semetb, El-Ghazali Talbia. [3] Teaching Integer Programming Formulations Using the Traveling Salesman Problem Gábor Pataki