• Nenhum resultado encontrado

ESIG2001 Minimização do número de cores para colorir giros de carteiros

N/A
N/A
Protected

Academic year: 2021

Share "ESIG2001 Minimização do número de cores para colorir giros de carteiros"

Copied!
9
0
0

Texto

(1)

ESIG2001

Minimização do número de cores para colorir giros de carteiros

Jacinto Maurício Nunes

(1)

, José Pedro Rufino

(2)

(1)

CTT – Correios de Portugal, SA Rua do Conde Redondo, 1167-002

Lisboa, Portugal email: jacinto.m.nunes@ctt.pt

(2)

CTT – Correios de Portugal, SA Praça D. Luís I, 30, 1208-148 Lisboa, Portugal

email: jose.p.rufino@ctt.pt

(2)

RESUMO

O propósito deste trabalho é o de colorir percursos de carteiros sobre artérias de malhas urbanas, percursos esses designados por giros. Pretende-se utilizar o número mínimo de cores possível, com a restrição de que giros adjacentes não possuam a mesma cor.

O problema é resolvido recorrendo a métodos do universo dos Sistemas de Informação Geográfica e a técnicas da área da Investigação Operacional. Com os SIG obtêm-se as adjacências entre giros. Determinadas as adjacências calculam-se soluções para o número mínimo de cores recorrendo a: um problema de programação linear inteira, um algoritmo baseado em constraint-programming e por último, através de uma heurística greedy.

DESCRIÇÃO DO PROBLEMA

Na empresa CTT – Correios de Portugal SA, a entrega de objectos postais a residências ou empresas, inicia-se num local chamado Centro de Distribuição Postal. Cada CDP é identificado pelos 4 primeiros dígitos do código postal, correspondendo a uma área de distribuição de correspondências. Para realizar esta tarefa de distribuição porta-a-porta, os carteiros partem do CDP e efectuam itinerários fixos, previamente desenhados, chamados, tal como se disse, giros.

Para uma leitura expedita do percurso de cada carteiro, é útil, sobretudo nas zonas urbanas, dispor-se de um mapa das artérias percorridas, colorindo cada giro com uma cor que o diferencie dos restantes. Uma solução trivial seria afectar cada giro com uma cor única, mas o número de giros por CDP, que chega a ultrapassar 40, faria com que as cores se tornem quase indistinguíveis. Melhor resposta é encontrada se forem empregues apenas cores fortes, em número mínimo, que facultem uma leitura rápida dos trajectos de cada giro, impedindo que giros adjacentes tenham a mesma cor. Como uma artéria pode ser percorrida em cada um dos lados por giros diferentes, dois giros resultam adjacentes se:

(3)

MODELIZAÇÃO DO PROBLEMA

Para evitar dificuldades, resultantes da noção anterior de adjacência de dois giros e da própria configuração do seus percursos sobre a rede de artérias, a abordagem seguida não foi a de considerar giros como arestas de um grafo e tratar este caso como um problema de edge-coloring.

O método de resolução seguido foi faseado em dois passos:

1. Geração de um grafo

Com os operadores geográficos e de SQL que os SIG dispõem, determinam-se as adjacências entre giros e constrói-se um grafo onde os vértices representam os giros. Dois vértices têm agora uma aresta comum (i.é, são adjacentes) se os dois giros correspondentes são adjacentes, no sentido da definição anterior. Assim, considera-se o grafo G(V,E) onde V é o conjunto de vértices (giros sobre as artérias) e o conjunto de arestas é definido por E={(i,j): i,j∈V e os giros i e j são adjacentes }.

Figura 1

(4)

Figura 2

Grafo, G (V,E), gerado

2. Determinação das cores a atribuir a cada giro.

Considere-se que o grafo G(V,E) não tem arestas múltiplas nem lacetes, i.é, seja G(V,E) um grafo simples. Designa-se por χ(G) o número cromático de G e por ∆(G) o grau máximo do conjunto de vértices de G. Um limite superior para o número mínimo de cores necessário para colorir os vértices de G é definido pela expressão: χ(G) ∆(G)+1 (ver [1]).

A determinação do número cromático de G (χ(G)) é um problema de muito difícil resolução, para um grafo simples de qualquer dimensão. De facto não é conhecido nenhum algoritmo de ordem de complexidade polinomial para determinar χ(G).

(5)

2.1. Resolução como um problema de Programação Linear Inteira. . ) ( , , giro ao adjacentes giros de conjunto o ) ( , 1 , contrário caso 0, , giro ao atribuída for j cor a se , 1 ; 1 s) disponívei cores as ndo representa ( contrário caso 0, usada, for j cor a se , 1 ; 1 ) ( CDP, um de giros os para gerado grafo o ), , ( : Sejam V i A V i i i A n j V i i G n j C G n E V G ij j ⊂ ∈ ⋅ ≤ ≤ ∈    = ⋅ ≤ ≤    = ⋅ + ∆ = ⋅ ⋅

=n j j C Min 1 : se pretende Então

{ }

0,1, (4) (3) 1 , , (2) , 1 (1) , 1 ), ( , , 1 . 1 V i G n j V i G C V i G n j i A k V i G G a s ij ij j n j ij kj ij ∈ ∀ ∈ ≤ ≤ ∈ ∀ ≥ ∈ ∀ = ≤ ≤ ∈ ∀ ∈ ∀ ≤ +

=

A função objectivo expressa a minimização do número de cores empregues; a restrição (1) garante que giros adjacentes não têm a mesma cor; (2) assegura que a cada giro é atribuída uma e uma só cor; (3) obriga a que se o giro i é pintado com a cor j então Cj toma o valor 1, o que significa que a cor j é utilizada.

Note-se que as restrições (3) e (4) e o facto de se estar a minimizar a soma dos Cj, implicam que Cj ∈{0,1}.

2.2. Um algoritmo de programação por restrições

(6)

conjunto de cores disponíveis, representando a cor atribuída a um giro; (4) impede que o giro k se pertencer ao conjunto dos giros adjacentes de i tenha a mesma cor de i.

2.3. Uma heurística greedy

Foi utilizada uma heurística greedy descrita em [2] para determinar soluções aproximadas para o problema da coloração dos vértices de um grafo.

Embora não sejam conhecidos algoritmos exactos que resolvam, para todo o tipo de grafo, este problema em tempo polinomial, existem heurísticas fáceis de implementar que conduzem a bons resultados, em tempo útil (ver [2]).

RESULTADOS COMPUTACIONAIS

O MapInfo e a linguagem MapBasic associada foram as aplicações de SIG utilizadas para o passo 1. A implementação dos métodos de solução 2.1. e 2.2. foi feita sobre o software OPLStudio, versão 3.5 [3]; como não se dispõe do módulo que permite “encapsular” o OPLStudio no MapBasic, geram-se primeiro ficheiros com o modelo e dados a partir MapBasic, que são inputs para o OPLStudio, correr posteriormente. Para o 2.3. foi programado sobre o MapBasic a heurística greedy proposta em [2], para determinação de uma solução admissível para o problema de coloração de um grafo. A execução foi feita num computador Pentium III a 800 Mhz com 128MB de RAM.

(7)

Quadro 1 Resultados obtidos

Método de resolução

2.1. 2.2. 2.3. CDP Número de giros ∆ (G) Densidade1 Número de cores Tempo2 CPU (seg) Número de cores Tempo3 CPU (seg) Número de cores Tempo4 Exec. (seg) 1000 34 10 0.20 5 0.55 5 <0.01 5 3 1050 41 16 0.22 6 0.93 6 <0.01 7 5 1070 31 13 0.20 5 0.33 5 <0.01 6 2 1100 30 10 0.23 5 0.55 5 <0.01 5 2 1170 26 8 0.21 4 0.16 4 <0.01 4 2 1200 38 9 0.21 4 1.15 5 <0.01 5 3 1250 23 8 0.16 4 0.55 4 <0.01 4 1 1300 26 12 0.32 5 0.33 5 <0.01 6 2 1350 21 10 0.28 8 0.22 8 <0.01 8 2 1400 18 9 0.40 5 2.19 5 0.05 5 1 1500 41 10 0.36 5 0.50 5 <0.01 5 3 1600 36 8 0.13 5 0.22 5 <0.01 5 2 1700 30 11 0.13 5 0.33 5 <0.01 5 2 1750 20 7 0.22 4 0.11 4 <0.01 4 2 1800 23 8 0.27 4 0.11 4 <0.01 4 1 1900 44 10 0.24 5 0.66 5 0.05 5 3

(8)

Figura 3

Cores (8) para os giros do CDP 1350

UV123 UC119 UA105 UA101 UA107 UA113

UA111 UA115 UA114

UA103 UA104 UA106 UA109 UA116 UA122 UA118 UA102 COMENTÁRIOS E CONCLUSÕES

Em primeiro lugar, saliente-se o que parecem ser características dos grafos gerados para este caso: número de vértices, densidade e grau máximo não muito elevados.

A modelização como um problema de programação linear inteira, ou como constraint-programming, permite observar a boa qualidade das soluções do algoritmo utilizado, num tempo satisfatório. Estes resultados indiciam que se pode juntar este algoritmo ao módulo gerador do grafo para construir uma aplicação integrada, esperando um bom desempenho5.

As soluções obtidas com a heurística greedy distanciam-se pouco das soluções obtidas com as duas abordagens anteriores. Esta diferença deve no entanto agravar-se para instâncias de maior dimensão, i.é, para mapas com um maior número de giros. Por outro lado, este aumento da dimensão do problema implica um maior esforço de resolução do modelo linear inteiro e do modelo de programação por restrições 6, devido às ordens de complexidade dos algoritmos utilizados para a sua resolução. Esse aumento conduz a um tempo de execução muito elevado para estes algoritmos, quando comparado com o da heurística greedy, para dimensões pouco maiores do que as apresentadas neste trabalho.

Como nota final, merecem referência situações em que existam giros cujo percurso seja desconexo. Aqui, existirá a dúvida se a mesma cor representa dois giros que não são adjacentes ou se são partes do mesmo giro. Para

5

O número de cores, se parecer excessivo, pode sempre compara-se com o óptimo. 6

(9)

ultrapassar esta dificuldade pode aperfeiçoar-se a aplicação para detectar giros não conexos, e atribuir-lhes uma cor exclusiva desde que sejam pouco numerosos no conjunto dos giros do CDP.

AGRADECIMENTOS

Queremos agradecer ao Doutor Pedro Coimbra Martins as indicações bibliográficas sobre algoritmos de vertex-coloring e sugestões dadas, que trouxeram maior exactidão e legibilidade ao texto. Contudo, eventuais erros são, evidentemente, da responsabilidade dos autores.

BIBLIOGRAFIA

Referências

Documentos relacionados

Almanya'da olduğu gibi, burada da bu terimin hiçbir ayrım gütmeden, modern eğilimleri simgeleyen tüm sanatçılar için geçerli olduğu anlaşılıyor.. SSCB'de ilk halk

APROVADO EM 25-03-2014 INFARMED Foram notificadas reações cutâneas/mucosais após a administração de mesna tanto intravenosa como oral. Estas reações incluêm

É perceptível, desta forma, o constante aumento do aprofundamento dos personagens: os “príncipes” têm agora não só nome e falas, mas personalidades bem desenvolvidas,

A nutrição enteral (NE), segundo o Ministério da Saúde do Brasil, designa todo e qualquer “alimento para fins especiais, com ingestão controlada de nutrientes, na forma isolada

O segundo Beneficiário será designado pelo Segurado na Proposta de Adesão, podendo ser substituído a qualquer tempo, mediante solicitação formal assinada pelo próprio Segurado, para

O bloqueio intempestivo dos elementos de transmissão de energia entre os equipamentos e acessórios ou reboques está impedido ou se não está existem medidas que garantem a segurança

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27