SOLUÇÃO HEURÍSTICA PARA 0 PROBLEMA DO CAIXEIRO VIAJANTE
UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÕS-GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO
SOLUÇÃO HEURÍSTICA PARA O PROBLEMA DO CAIXEIRO VIAJANTE
DISSERTAÇÃO SUBMETIDA A UNIVERSIDADE FEDERAL DE SANTA CATARINA PARA A OBTENÇÃO DO GRAU DE
"MESTRE EM ENGENHARIA"
EUGÊNIO RUBENS CARDOSO BRAZ
FLORIANÓPOLIS SANTA CATARINA - BRASIL
EUGÊNIO RUBENS CARDOSO BRAZ /
ESTA DISSERTAÇÃO FOI JULGADA PARA A OBTENÇÃO DO TlTULO DE: "MESTRE EM ENGENHARIA"
ESPECIALIDADE ENGENHARIA DE PRODUÇÃO, E APROVADA EM SUA FORMA
FINAL PELO PROGRAMA DE P Õ S -G R A D U A Ç Ã O .
PROF. |OyÍN ROBERT MACKNEísS, Ph.D. COORDENADOR
APRESENT ADA PERANTE A BANCA EXAMINADORA COMPOSTA PELOS PROFESSORES:
I <0 Oí O) ÍN O© I V ifíIL D í o - u J l o v i ICXJsrtJL
P R O F . PAULO ,.RENÊ C I'Ö"'"NA$CIMENTÔVTT. Sc'
■ PRESIDENTE.
iii
A o m e u p a i ,
P e d r o d e A l c â n t a r a B r a z , e m m e m o r i a .
ção ativa na resolução de todos os problemas.
Ao Prof. PAULO RENÉCIO NASCIMENTO, pela orientação
no desenvolvimento do trabalho.
A minha filha MELISSA MEDEIROS B R A Z , por ter me
ajudado, ficando junto a mim, nas fases de estudo e pesquisa de m o d e l o s .
V
R E S U M O
Este trabalho analisa o problema do caixeiro v i a
jante, para o qual ê desenvolvido e implementado um algoritmo de
baixa complexidade tempo e baixa complexidade memória.
Inicialmente, o problema ê definido e são tecidas
considerações sobre a complexidade de algoritmos.
Posteriormente, é apresentada uma síntese dos
métodos de resolução existentes.
A seguir ê desenvolvido e apresentado o algoritmo e finalmente são relacionados alguns dos problemas estudados, jun tamente com os dados de performance obtidos.
A B S T R A C T
This work deals with the traveling salesman problem, for
which an algorithm, with low level complexity as far as time and memory are concerned, is developed and programmed.
First of all, the problem is defined and some considera
tions are stated about the complexity of algorithms.
Afterwards, a summary of the existing resolution methods is presented.
The algorithm is then developed and described, and fi
nally, some case studies are listed together with the output
Página
1. INTRODUÇÃO ... 1
1.1. O Problema ... 1
1.2. O Mundo dos Algoritmos ... 2
1.3. Objetivo do Trabalho ... 8
CAPÍTULO II 2. CONSIDERAÇÕES CONCEITUAIS ... 9
2.1. Métodos de Resolução Existentes ... ..10
2.1.1. Melhoramento Circuito a Circuito ... 11
2.1.2. Construção do Circuito ... ..12 2.1.3. Eliminação de Sub-Circuitos ... ..13 CAPITULO III 3. MODELO PROPOSTO 3.1. O Algoritmo ...15 3.1.1. O Ponto de Partida ... ..15
3.1.2. O Esquema de Geração de Soluções ... 15
3.1.3. A Regra de Parada ... ..16 CAPITULO I
3.2. 0 Fluxograma ... ... , . ... . , 16
3.3. Considerações sobre a Implementação ... .... 17
3.4. Analise dos Resultados ... .... 18
3.5. Complexidades Tempo e Memõria ... 19
CAPÍTULO IV 4. CONCLUSÃO ... . . 21
BIBLIOGRAFIA UTILIZADA ... 22 ANEXO 1 - Listagem do Programa
ANEXO 2 - Instruções de Utilização ANEXO 3 - Problemas de Teste
ix
Se teus projetos são para um ano, - semeia o grão.
Se são para dez anos, - planta uma arvore. Se são para cem a n o s , - instrue o povo.
Semeando o grão, - colheras uma vez. Plantando uma arvore, - colherás dez vezes. Instruindo o povo, - colherás cem vezes.
Se deres um peixe a um homem,
- ele se alimentará uma vez; Se o ensinares a pescar,
- ele se alimentará toda a vida.
C A P Í T U L O I
1. INTRODUÇÃO
O problema do caixeiro viajante é um problema com binatôrio clássico, que vem sendo estudado hã décadas por pesqui^ sadores das áreas de-ciências exatas e da computação, juntamente com os problemas do circuito de Hamilton e da programação linear inteira, que estão enquadrados na mesma classe.
Apesar da ilusória idéia de inutilidade, o proble
ma do caixeiro viajante ê um excelente modelo, de grande impor
tância econômica na solução de problemas de planejamento e pro
gramação da produção, entre outros.
1.1. 0 Problema
Um vendedor precisa elaborar um plano de viagem
para visitar, economicamente, cada uma das n cidades onde tem
clientes^e retornar a cidade de onde partiu.
0 termo "economicamente" pode estar relacionado ao
tempo dispendido, a distância percorrida, ou mesmo ao custo to
tal da viagem.
Em todos estes casos, deseja-se a minimização do parâmetro que for considerado.
2
1.2. 0 Mundo dos Algoritmos
0 estudo de algoritmos ê a parte mais emocionante
da ciência da computação. Nestes últimos anos houve avanços sig nificantes neste campo, que variaram desde o desenvolvimento de algoritmos cada vez mais rápidos, atê a descoberta assustadora de certos problemas naturais, frente aos quais todos os algorit_ mos conhecidos mostram-se ineficientes.1
Estes resultados aumentaram consideravelmente a
motivação pelo estudo de algoritmos, e desta forma a área de
projeto e análise de algoritmos tornou-se um campo de intenso
i n t e r e s s e .
Os algoritmos podem ser avaliados por uma varie dade de critérios. 0 mais significativo deles é a taxa do cres cimento do tempo e da memória, necessária para resolver p r o b l e mas cada vez maiores.
Para adotar este critério, associa-se ao proble
ma um numero inteiro, chamado de "tamanho" do problema, que
representa uma medida da quantidade dos dados de entrada. Por
exemplo, o "tamanho" de um problema de multiplicação de m a t r i
zes pode ser a maior dimensão de uma das matrizes a ser multi_
plicada. 0 "tamanho" de um problema de grafo pode ser o número de arcos e, no caso do caixeiro viajante, o "tamanho" do proble ma pode ser o numero de cidades a serem visitadas.
1
problema, ê chamado "complexidade tempo" do algoritmo. 0 compor tamento delimitador desta complexidade ê chamado de "complexidade
tempo assintotica". Conceitos análogos podem ser utilizados
para "complexidade memõria" e "complexidade memória assintotica".
A complexidade assintotica de um algoritmo ê que
determina o tamanho máximo do problema que pode ser resolvido por este algoritmo.
Se um algoritmo processa dados de um problema de
2 -
tamanho n, num tempo cn , para determinada constante c > 0, entao diz-se que a complexidade tempo deste algoritmo e 0 (n ), ou seja,
2 ~
"de ordem n Mais precisamente, uma funçao g(n) e dita ser
0(f(n)), se existir uma constante c tal que g(n) £ c f(n) para
— 2
todo conjunto finito de valores nao negativos de n.
É possível pensar-se que, devido ao tremendo aumen
to da velocidade de cálculo da geração atual de computadores, a
importância de algoritmos eficientes possa ser relegada a segundo
plano. Todavia, acontece exatamente o contrário. A complexidade
de um algoritmo exerce influência decisiva sobre o tamanho dos
problemas a serem resolvidos, influência esta muito mais signif_i cativa que aquela proveniente do aumento da velocidade de cál cu lo dos computadores atuais, como será mostrado a seguir.
2
4
Supondo-se disponíveis cinco algoritmos, A - A 5 , com as seguintes complexidades tempo:
Algoritmo Complexidade Tempo
A ... n
A 2 ... n log2n
A 3 ... " 2
A, ... " 3
A 5 ... 2"
Para o exemplo, a complexidade tempo representara
o numero de unidades de tempo necessárias para processar uma en
trada de tamanho n. Assumindo que uma unidade de tempo seja :L
gual a um m i l i - s e g u n d o , o algoritmo A poderá processar em um se gundo uma entrada de tamanho 1000, enquanto o algoritmo A,., neste mesmo tempo, não poderá processar uma entrada cujo tamanho seja su perior a 9.
0 quadro 1 mostra o tamanho dos problemas que pode
rão ser resolvidos em um segundo, um minuto e uma hora, por cada um destes cinco algoritmos.
QUADRO 1. Limites nos tamanhos dos problemas em função das complexidades tempo dos algoritmos.
Algoritmo Complexidade
Tempo
Tamanho mãximo do problema
1 seg 1 min 1 hora
A ... n ... 1000 .... 6 x 104 ... 3,6 x 10B
... n log n ... 140 ... 4893 ___ 2,0 x 105
Ag ... n2 ... 31 ___ ... 244 ... 1897
A4 ... n3 ... 10 ... 39 ... 153
A 5 ... 2n ... 9 ... 15 ... 21
Supondo-se agora que a próxima geração de computa dores venha a ser dez vezes mais rãpida que a atual, é apresenta do o quadro 2, onde são mostrados os incrementos nos tamanhos dos problemas que poderão ser resolvidos, em decorrência do aumento na velocidade de processamento.
Q U A D R O 2. E f e i t o d o a u m e n t o d e d e z v e z e s n a v e l o c i d a d e de p r o c è s
sarnen to s o b r e o t a m a n h o m á x i m o d o s p r o b l e m a s .4
Complexidade tempo
Tamanho máximo do problema
Algoritmo Antes do aumento Depois do aumento
A 1 - • • S l ... ... 10s A^ ... . s ... ... ~ 1 0 s 22 A 2 , s ... ... 3 16s 3 3 A ___ 3 , s ... ... 2 15s 4 4 A,. ___ ... 2n ... . s ...s + 3 3 5 5 ... O b s e r v a n d o o Q U A D R O 2 n o t a r - s e - á q u e o e f e i t o do a u m e n t o d e d e z v e z e s n a v e l o c i d a d e d e p r o c e s s a m e n t o , p e r m i t e a p e n a s u m a u m e n t o p o u c o s u p e r i o r a t r ê s u n i d a d e s n o t a m a n h o d o p r o b l e m a , q u a n d o s e u t i l i z a o a l g o r i t m o A , ao p a s s o e m q u e u t i l i z a n d o - s e o a l g o r i t m o A 3 , e s t e t a m a n h o p o d e s e r t r i p l i c a d o . A g o r a , a o i n v é s d o a u m e n t o d a v e l o c i d a d e c o m p u t a c i o n a l , s e r ã c o n s i d e r a d o o e f e i t o d a u t i l i z a ç ã o d e u m a l g o r i t m o m a i s e f i c i e n t e . N o v a m e n t e as r e f e r ê n c i a s s e r ã o f e i t a s a o q u a d r o 1. U s a n d o u m m i n u t o c o m o b a s e d e a n á l i s e , a s u b s t i t u i ç ã o d o a l g o r i t m o A ^ p e l o a l g o r i t m o A 3 p o s s i b i l i t a r á a r e s o l u ç ã o d e p r o b l e m a s 6 ve
zes maiores. Substituindo o algoritmo A 4 pelo algoritmo A 2 é pos_ sível resolver-se problemas 125 vezes maiores. Estes resultados, são muito mais significativos que aqueles obtidos pelo aumento de dez vezes na velocidade de calculo. Ao se utilizar uma hora como base de análise, estes resultados tornam-se mais impressionantes ainda. Pode-se então concluir que a complexidade assintótica de um algoritmo ê realmente uma importante medida de sua qualidade.
Vale ressaltar no entanto que, para se fazer a seleção
de um entre vãrios algoritmos, é preciso que se tenha em mente
o tamanho do problema a ser resolvido, além naturalmente das
complexidades dos algoritmos disponíveis. Por exemplo, co nsi de
re-se que as complexidades tempo dos algoritmos disponíveis se
jam na realidade as apresentadas no quadro 3.
QUADRO 3. Complexidade real dos algoritmos.
A l g o r i t m o C o m p l e x i d a d e T e m p o A 1 ... 1 0 0 0 n A 2 ... A ... 10 n 2 3 3 A ... n 4 A 5 ... ... 2 n
demais apresentar a maior complexidade tempo, devera ser selecio
nado quando o objetivo for resolver problemas com tamanho
2 £ n £ 9.
0 algoritmo A p o r sua vez, mostra-se mais adequa do para problemas com tamanhos 10 £ n £ 58.
0 algoritmo A serã superior na faixa de tamanhos
59 £ n £ 1024 e finalmente o algoritmo A que apresenta a menor complexidade tempo, s5 deverá ser utilizado para resolver proble mas cujos tamanhos sejam superiores a 1024.
1.3. Objetivo do Trabalho
Este trabalho visa estudar e analisar o problema
do caixeiro viajante, com o objetivo de desenvolver e implemen
tar em computador um algoritmo que apresente baixos níveis de
complexidades tempo e memória, e que possa suprir a necessidade
atual de algoritmos capazes de resolver problemas de tamanho
C A P Í T U L O n_
2. c o n s i d e r a ç o e s c o n c e i t u a i s
Seja C = {ci j } uma matriz quadrada que represente a grandeza que se quer analisar, utilizando o modelo do problema do caixeiro viajante, seja ela tempo, distância, custo ou outra.
Qualquer sequência de p+1 inteiros, por exemplo,
(1,2,3, ... , n), sendo p _> n e na qual cada um dos n elementos
distintos aparece ao menos uma vez e onde o primeiro e o último elemento sao idênticos, e chamada circuito.
Um circuito pode ser descrito através de um con
junto ordenado do tipo: t = C i ,, i„, i „ ... . i , 1 2 3 p - l p . li , i j Uma solução factível para o problema do caixeiro viajante é um circuito.
Uma solução otima para o mesmo problema ê um cir
cuito tal que: zltj = ,.. „ . . . ,
L c-j, e minimizado,
C i ,j 3 et ’
onde t' = { C i, , (i_, i „ )... ... ( i i 1 , [i , i.)}
1 2 2 3 p - l p P 1
é a representação dos pares ordenados de t.
Na terminologia que serã adotada, os n elementos serão chamados nos e corresponderão às cidades, os pares or d e n a dos (i,j) serão chamados arcos e ligarão os nós, enquanto a di£ tância do nó i ao nó j serã representada por c ^ j .
Nestes termos, um circuito t ê um caminho fechado que passa por cada nó pelo menos uma vez.
0 comprimento do circuito, representado por z(t) é a soma dos comprimentos dos arcos a ele p e r t e n c e n t e s .
Um sub-circuito s,
s - < v V V V V
é um caminho fechado que não passa por todos os n nós.
2.1. Métodos de Resolução Existentes
Existem varias teorias sobre o problema do caixei^ ro viajante, baseadas nas quais se fundamentam os diversos algo ritmos atualmente existentes.
Os métodos de resolução deste problema podem ser divididos em três partes bãsicas:
- 0 ponto de partida
- 0 esquema de geração de soluções - A regra de parada
Quando a regra de parada determinar que o término do processo .'iterativo sõ se dê quando e somente quando o circuito obtido for otimo, o método é dito exato.
Quando a regra de parada permitir que o término
do processo iterativo possa ocorrer antes da obtenção do circui to otimo, o método é considerado aproximado.
Nos métodos aproximados, o circuito obtido como
solução geralmente depende do ponto de partida, de tal forma que é possível obter-se diversos circuitos diferentes, usando-se di
ferentes pontos de partida. Pode-se escolher o melhor destes
circuitos para solução final do problema.
dos pontos de partida dependem dos esquemas de geração de solu
çõ es, irar-se-a uma classificação destes:
2.1.1. Melhoramento Circuito a Circuito
Neste esquema, o ponto de partida ê um circuito
arbritãrio, tal como t = (1,2,3, ... , n, 1).
0 procedimento consiste em gerar circuitos cujos comprimentos totais dos arcos sejam inferiores ao comprimento to tal dos arcos do circuito atual, que ê tomado como semente. Pa ra a geração é utilizada a redondeza da semente. Por exemplo, ^ serã o circuito gerado a partir de t pelo intercâmbio suces sivo dos elementos i = 2,3, ... , n com 1, e que apresente o menor comprimento total dos arcos entre todos os circuitos a na
lisados, inclusive a semente.
Se t = (p, i2 , i 3> ... , i , p ) , então serã circuito (menor comprimento total dos arcos) obtido a partir de t^ através do intercâmbio
i j , j = (2,3, ..., n) com p.
Uma regra de parada neste caso, pode ser por e
xemplo, so parar o processo iterativo quando nenhum melhoramen to puder ser conseguido.
Pode-se escolher qualquer outro ponto de partida e repetir o procedimento, ou até mesmo aplicar outro procedimen to mais sofisticado.
t serã o melhor
possível de ser
12
Todos os métodos conhecidos que utilizam este es
6 7 8 9 1 0
quema são aproximados.
2.1.2. Construção do Circuito
Neste esquema, o ponto de partida é um no arbrita
tãrio i , a partir do qual vai-se construindo sequências
fi. 1 , 2 , i_ ... , i,) por inclusões sucessivas de outros nõs na se, k r — quência atual, utilizando-se determinados critérios. O pr o c e d i mento termina quando um circuito for montado. Um critério muito
simples para a construção do circuito é o algoritmo do vizinho
mais p r õ x i m o : parte-se de i^, em direção ao no mais prõximo i2 , de onde se segue para o nõ mais prõximo ainda não visitado, e as^ sim sucessivamente até atingir-se o nõ i , de onde se retorna pa ra i , completando o circuito.
Obviamente este método ê aproximado. No entanto,
existem métodos exatos de construção de circuitos, tais como a
1 1 1 2 1 3 14
programação dinâmica e o "branch-and-bound" .
e
BARACHET, L.L., Graphic Solution of the Traveling ...
7
C R O E S , G.A., A Method for Solving Traveling ...
8
LIN, S., Computer Solution of the Traveling ...
9
REITER, S- § SAERMAN G., Discrete Optimizing ...
1 o
ROBERTS, S.M § FLORES B., An Engineering Aproach ...
I i
BELLMAN, R. Dynamic Programming Treatment ...
12
GONZALES, R.H. Solution to the Traveling ...
1 3
HELD, M. 5 KARP, R.M. A Dynamic Programming Aproach ...
1 4
Neste esquema o ponto de partida ê a solução óti^ ma do problema de atribuição sobre a matriz C. Se esta solução
for um circuito, este circuito serã a solução otima para o
problema do caixeiro viajante. Se, no entanto, a solução do
problema de atribuição não for um circuito, parte-se para um
esquema iterativo de eliminação de sub-circuitos. Existem mê
todos exatos para eliminação de sub-circuitos, destacando-se en
1 5 1 6 1 7 1 8 1 9 2 0
tre eles a programação linear inteira 2 1
o método "b ra n c h - a n d - b o u n d " .
1 5
BOCK, F. Mathematical Programming Solution . . .
1 6
DANTZIG, G.B., FULKERSON § JOHNSON, S.M., Solution of a Large ..
1 7
DANTZIG, G.B., On a Linear .
1 8
MARTINI, G.T. Solving the Traveling Salesman
1 9
MILLER, C.E., TUCKER § ZEMLIN, R . A . , Integer Programming ...
20
MUDROV, V.I. A Method of Solution of the Traveling ...
2 1
14
C A P I T U L O I I I
3. MODELO PROPOSTO
O modelo proposto surgiu de uma pesquisa intensa, que se tornou necessária depois do estudo dos algoritmos atuais e da análise do problema do caixeiro viajante.
A pesquisa abrangeu diversos enfoques alt ern ati
vos, devendo ser ressaltada a teoria dos grafos, que foi o enfo
que aparentemente mais promissor, onde se investiu uma grande
parte do tempo da pesquisa, e ainda por ter propiciado a desco
berta de informações heurísticas que são de importância fundamen tal para o modelo final.
0 algoritmo desenvolvido e implementado sob a teo
2 2
ria dos grafos foi o algoritmo A*, que garantiu a solução õti_
ma dos problemas analisados, mas que mesmo assim teve que ser a bandonado por não atender ao objetivo deste trabalho no tocante
ao tamanho dos problemas a serem resolvidos.
Depois desta experiência passou-se a concordar com a literatura, que diz ser o problema do caixeiro viajante um pro blema que apresenta complexidade tempo exponencial e que os meto dos heurísticos não podem ser evitados quando se deseja enfrenta lo.
Desta maneira as pesquisas se voltaram para os me todos heurísticos, que foram responsáveis por alegrias temporã
-^ -- --- ' '
rias e tristezas profundas, todas elas finalmente neutralizadas e compensadas pelo algoritmo a que se chegou.
2 2
3.1. 0 Algoritmo
Projetado para trabalhar com matrizes simétricas o algoritmo é composto de três partes, essencialmente simples, de£ critas a seguir:
3.1.1. 0 Ponto de Partida
0 algoritmo inicia com um sub-circuito que reflita o conhecimento disponível do problema a ser analisado.
C o m o e x c e l e n t e h e u r í s t i c a p a r a o p o n t o d e p a r t i d a
p o d e s e r u t i l i z a d o o s u b - c i r c u i t o c o m p o s t o p e l o s p o n t o s d o p o l í g o n o e x t e r n o .
3.1.2. 0 Esquema de Geração de Soluções
Consiste em inserir ao sub-circuito de partida, pon tos ainda não visitados, baseado no critério do máximo proveito , descrito a seguir:
1. Sejam i e j dois pontos adjacentes p e r t e n c e n tes ao sub-circuito de partida.
2. Partindo de i, tendo j como objetivo, calcula
-\
se o custo alternativo de ir de i a j através de k, para todo( k não pertencente o sub-circuito, ou seja:
MAX_PROV(i,j,k) = C(i , k) + C(k , j ) - C(i,j)
3. Repete-se o passo 2 até que todos os pares de pontos adjacentes do sub-circuito de partida tenham sido conside. rados, quando então deverá ser selecionado e inserido ao sub-cir cuito de partida o ponto k associado ao menor M A X _ P R O V ( i ,j,k)
pois este propicia o máximo proveito que se pode tirar da
16
Tendo agora este novo sub-circuito de partida, vol ta-se ao passo 1.
3.1.3. A Regra de Parada
A regra de parada determina que o esquema de g e r a ção de soluções devera parar quando um circuito for formado.
3.3. Considerações sobre a implementação
Para a implementação deste algoritmo foram utili zados os seguintes recursos:
3.3.1. HARDWARE
3.3.1.1. Computador IBM/370-148
3.3.1.2. Partição dfe memória de 256 Kbytes 3.3.1.3. Leitora de cartões perfurados
3.3.1.4. Impressora com 133 caracteres por linha 3.3.1.5. Terminal de vídeo
3.3.2 SOFTWARE
3.3.2.1. Sistema operacional 0S-VS1, R 6.7
3.3.2.2. Compilador PL/I OPTMIZING, VI, R3, PTF 69 3.3.2.3. CONVERSATIONAL MONITOR SYSTEM.
18
3.4. Analise de Resultados
Com o objetivo de calibrar o modelo, foram feitos e xaustivos testes, processando problemas clássicos, problemas teóri^
cos e problemas reais.
Com a finalidade de avaliar o desempenho obtido, a presenta-se o quadro seguinte:
AMOSTRA DOS RESULTADOS OBTIDOS
PROBLEMAS NÚMERO DE
CIDADES , SOLUÇÃOOBTIDA SOLUÇÃOÓTIMA MELHOR SOLUÇÃO ENCONTRADA
TEMPO DE CPU (SEGUNDOS) 1 5 20 20 20 0,89 , 2 7 92 92 92 0,94 3 10 200 200 200 1,03 4 16 118 118 118 1,13 5 20 392 - 392 1,30 6 36 180 180 180 2,36 7 41 231 - {227) 3,19 ^ 8 50 433 - 433 4,95 9 75 552 - 552 12,49 10 100 500 500 500 2-3,67 11 110 550 550 550 31,56 12 200 .1000 1000 1000 175,51
As formulações e respectivas resoluções destes p r o blemas são encontradas no ANEXO 3.
Os mesmos problemas foram processados num computa dor IBM 4341, instalado na UFSC, utilizando o sistema o p e r a c i o
nal CMS sob o VM/370, e desta maneira os tempos de CPU gastos
nas suas resoluções foram reduzidos em aproximadamente três ve
zes. 0 problema das 200 cidades, por exemplo, consumiu exatamen te 1 minuto de CPU para a sua resolução.
3.5. Complexidades Tempo e Memória
Através de um modelo de regressão simples e utili
zando os dados da amostra apresentada, foi ajustada uma curva
para representar a complexidade tempo do algoritmo, sendo o b t i da a seguinte equação:
2 3
T = a Q + a^n + a^n + a^n , onde
a = 0.1305012 E + 00o
a 1= -0.6277299 E - 01 a2 = 0.259 5460 E - 02 a3 = 0.2729445 E - 05
T representa o tempo do CPU em segundos e n r e p r e senta o número de cidades.
Desta maneira, obteve-se um coeficiente de correia
- 3
çao de 0,99983 e uma complexidade tempo 0 (n ), devendo ser ressal tado ainda que o coeficiente a 3 , associado ao grau da equação ob tida, esta muito prõximo de zero, e, desta forma, a influência do
terceiro grau sõ começa a ser percebida para valores muito gran
- - - 2
A complexidade memória por sua vez, e 0 (n ), pois o algoritmo aloca apenas a área de memória necessária para a r m a zenar a matriz dos dados e os "pointers".
Vale ressaltar que, para o problema do caixeiro
viajante, não ê possível obter-se uma complexidade memória de
C A P Í T U L O IV
4. CONCLUSÃO
O problema do caixeiro viajante ê um destes proble
mas aos quais estão associados complexidades assintõticas muito
23
altas.
Pode-se observar que, ao se utilizar, por exemplo, um método de enumeração explícita, torna-se necessário processar
(n - l) !/2 ciclos de operações para achar a solução õtima de um problema simétrico, fato intimamente ligado ã complexidade tempo
e que inviabiliza este método de resolução, para problemas com
tamanhos n _> 20.
A literatura diz que, apesar das décadas de pesqu^ sas, ainda não foi encontrado um so algoritmo com complexidade tem po limitada polinomialmente que garanta a solução ótima do proble
24 ~
ma do caixeiro viajante.
Diz ainda que problemas deste tipo podem ser cons:L
25 ' ~
derados intratáveis, e que o enfoque heurístico nao pode ser evi
26 ~
tado quando se procura resolvê-los.
0 algoritmo desenvolvido neste trabalho apresenta-
se como uma ferramenta de valor inestimável para aqueles que ne
cessitam utilizar este modelo para a tomada de decisões.
Não existe internamente ao programa limitação quan to ao tamanho do problema a ser analisado.
0 maior problema submetido a processamento, apenas
para satisfazer curiosidade, foi de 500 cidades e consumiu mais
tempo na formulação que na própria resolução. 23AH0, HOPCROFT § U L L M A N N , op.cit.
2\ h0, HOPCROFT $ ULLMANN, op.cit.
25AH0, HOPCROFT Ç U L L M A N N , op.cit.
22
BIBLIOGRAFIA UTILIZADA
1. AHO, HOPCROFT § ULLMANN, The Design and Analysis of Computer
Algorithms, Addison-Wesley Publishing Company, 1976.
2. BELLMORE, M. $ NEMHAUSER, G.L., "The Traveling-Salesman Pro blem: A Survey". O p n s . Res. 16, 538-558 (1968).
3. BARACHET, L . L .,"Graphic Solution of the Traveling Salesman Problem," Opns. Res. 5,841-845 (1957).
4. BEARDWOOD, I., J.H. HALTON, AND J.M. HAMMERSLEY, "The Sho r test Path Through Many Points," Proc. Cambridge Phil. -
Soc., (Math, and P h y s . Sci) 55, 299-327 (1959).
5. BELLMAN, R . , "Dynamic Programming Treatment of the Traveling Salesman Problem," J. A C M 9, 61-63 (1962).
6. BOCK, F . , "Mathematical Programming Solution of Traveling Sa lesman Examples," Recent Advances in Mathematical Program ming, (R.L. GRAVES AN D P. WOLFE, eds) 339-341 McGraw-Hill, New York, 1963.
7. CROES,G.A., "A Method for Solving Traveling Salesman Problem^,'
Opns. Res. 6, 791-812(1958).
8. D A C E Y , M.F., "Selection of An Initial Solution for the Trave ling Salesman Problem," Opns.Res. 8,133-134 (1960).
9. DANTZIG, G.B..D.R. FULKERSON, AND S.M. JOHNSON, "Solution of a Large Scale Traveling Salesman Problem," O p n s .R e s .2,393- 410 (1954).
10. , "On a Linear Programming, Combinatorial Approach to the Traveling Salesman Problem," O p n s . Res. 7,58-66 (1954) 11. DERMAN, C. AND M.KLEIN, "Surveillance of Multicomponent Sys
-terns: A Stochastic Traveling Salesman's Problem, "Nav.Res. Log. Quart. 13, 103-112 (1966).
12. EASTAMAN, W.L., "Linear Programming with Pattern Constraints’,'
Ph.D., Dissertation, Harvard, 1958.
13. FLEISHMANN, B., "Computational Experience with an Algorithm of Balas", Opns. Res 15, 153-155 (1967).
14. FLOOD, M . M . , "The Traveling Salesman Problem", Opns. Res. 4,
61-75 (1956) .
15. GILMORE, P.C., AND R.E. GOMORY, "Sequencing a One-State Varia ble Machine: A Solvable Case of the Traveling Salesman - Problem," Opns. Res. 12, 655-679 (1964).
16. GOMORY, R. E., "An Algorithm for Integer Solutions to Linear Programs", Recent Advances in Mathematical Programming
(R.. L. GRAVES AND P, WOLFE, eds.) 269-302, McGraw-Hill , New Y o r k , 1963.
17. GONZALES, R. H., "Solution to the Traveling Salesman Problem by Dynamic Programming on the Hypercube," Tech. Rep.No.
1 18, O.R. Center, M.I,T., 1962.
18. HARDGRAVE, W. W. AND G.L. NEMHAUSER, "On the Relation B e t
ween the Traveling Salesman and the Longest Path P r o
24
19. HILLIER, F.S. § LIEBERMAN, G.L. Operations Research, Holden
Day, Inc. 19 74.
20. HELD, M. AND R. M. KARP, "A Dynamic Programming Approach to
Sequencing Pr ob l e m s , ” SIAM 10, 196-210 (1962).
21. KARG, L.L. AND G. L. THOMPSON, "A Heuristic Approach to Sol ving Traveling Salesman Problems," Management Sci. 10, 225-248 (1964) .
22. KNUTH, D. E. Fundamental Algorithms - The Art of Computer Programming, Addison-Wesley Publishing Company, 1973.
23. LIN, S. § KERNIGHAN B.W. An effective heuristic algorithm
for the Traveling-Salesman Problem, Bell Telephone Labo ratories, Incorporated, Munay Hill, N. J, 1971.
24. , AND D. E. WOOD, "Branch-and-Bound Methods: A Survey','
O p n s . Res. 14, 699-719 (1966).
25. LIN, S., "Computer Solution of the Traveling Salesman P r o blem," Bell System Tech. J. 44, 2245-2269 (1965).
26. LITTLE, J.D. C. K. G. M U R T Y , D. W. SWEENEY, AND C. KAREL,
"An Algorithm for the Traveling Salesman Pr ob l e m , ” Opns.
Res. 11, 979-989 (1963).
27. MARTIN, G.T., "An Accelerated Euclidean Algorithm for Inte ger Linear Programming", Recent Advances in Mathematical Programming (R. L. GRAVES AND P. WOLFE, eds.), 311-318 , 1963.
28. _, "Solving the Traveling Salesman Problem by Integer Line
29. MILLER, C. E., A. W. TUCKER, AND R. A. ZEMLIN, "Integer Pro gramming Formulations and Traveling Salesman Problems," J. ACM 7, 326-329.
30. MUDROV, V. I., "A Method of Solution of the Traveling Sales man Problem by Means of Integer Linear Programming (The Problem of Finding the Hamiltonian Paths of Shortest Length in a Complete Graph)" IAOR 5, abstract 3330. 1965. 31. NILSSON, N. J. Problems-Solving Methods in Artificial I nte l
ligence, McGraw-Hill Book Company, 1971.
32. ROBERTS, S. M. AN D B. FLORES, "An Engineering Approach to
the Traveling Salesman Problem," Management Sei. 13, 269-288 (1966) .
33. R O T H K O P E , M., "The Traveling Salesman Problem: On the Redu£ t ion of Certain Large Problems to Smaller Ones," Opns . Res. 14 , 532-533 (1966) .
34. SALZ, N. P., "The NORMA: A Possible Basis for a Theory for The Traveling Salesman Problem," Cornell Aero. Lab., Buffalo, N. Y . , 1964.
35. , "The NORMA: A Theory for the Traveling Salesman P r o
blem," Cornell Aero. Lab., Buffalo, N. Y., 1966.
36. SHAPIRO,D., "Algorithms for the Solution of the Optimal Cost Traveling Salesman Problem," Sc. D. Thesis, Washington U niversity, St. Louis, 1966.
37. STOUDHAMMER, J. AND M. ASH, "A Sufficiency Solution of the
Traveling Salesman Problem," Sys. Aer. Corp., Santa MonjL ca, California, 1966.
A N E X O 1
1 / ' 1 / i / 1 / 1 h ;• Th A V U I N G SAf. S 'v: A N P ft L 8 L ■" iv = = / / / / i / - / J / AL 'jCK I h "■ ! jr : s r : c t / I / G F C C ,Y P L r: X n - T- M P C / 1 / i. : tj i T i r A pci :\C iv I ALM:':NTr- / j / / 1 / U Í; A . L, ( ‘r. oi r „ :: .</_ / I / / ! / -r r - ■S. ~ ~ -s. -z ~ ~ ^ - z= = /
p p u C . L P T ■ L t \ S ( iv A I N ) R : ;cr g 1 F F : ? " C L <v A T . . f '■ S . 1 R I M F T X 0 ( 1 5 , 0 1 C T L 0 C L V A T 1 F A B { " : « v- • ) ü î r - i p t X r C ( L 5 » 0 ) C T L H C L F Ü L. . C V X U ( • ) B I N ~ I X r G C L 5 » 0 i C T L n c 1 c c ... c £ h t ( ■ - , • ■ - ) e I î 4 c Ï X L C ( 1 5 , 0 I C T L r - C L T ~ S 7 G 8 I ' M F I X ' ■ n 1 1 5 , o i C f L ( p î , p J 1 R I N F ! X î ; ( i . 5 , o * O C L C P C A L . . . E N T R A D A C H A R ( 6 î O C L ( G U A R C f . , P _ K _ r N T P A ) t í Í N c I X E r ( 1 5 . o ) n C L ( P ; J Q L K L , R F F ) B I N F ! X Í ; C ( L 5 , n 1 G C L í L X 1 , L Y L . L X 2 , L Y 2 1 R I H - : X - G ( L 5 , 0 ) n c L " í I G i- ‘ V î N - F I X n ( 1 5 , 0 1 I M T ( 2 2 7 6 7 i O C L E L A _ G L A . . . B L A ( Î C H A P . ( 7 2 1 C T L C í \ Ç f \ T ' 3 I L ■ í S Y S T M G u T U c I M ; S T : G P T l I 8 T ! i \ C l M :
A L L L C ÜL A .li LA.. B L A ( NCOVJ ;
G '■T s k i p ; c ! T í ( [ ; L â ] j gg : = i rc n c o * » »
P I T PAG' ' “ : T ( t‘U A ._ ,.U A . B L A ) ( S K T P , X í 20 I . M 7 Z I I ; G ;; T I I S T Í N . N P P ) ; ■ A L L c r y i, 1 .1} \ s £■ < í \. N f 1 I ; A L L L C . M A T . TF A B ( l \ , , \ * l ) ; A L L C C ? C; I. . C V X G { N + L ) ; A i . L C C COC._ C £ P 7 ( l\ t 3 ) : G r: T L I ST ( GP C A G „ : - N 1 P A C A ) ; I r C P f > G .. " M R A r A - = ' C U U K O " . ' f. -JP C '«ü_ N T R A G A - l h-i M r L : PUT - T L .'I ( S Y S P R Î . N T J '£ C 1 T A ( 7 2 ) . X ( h ) I ; • M A T R I Z 1
S T C P : :í'0 : F C F C ô C „ E N T R A T / = ' C C O R C E ' ll-EN C G ; GFT L I S T ( C U ü _ C A R T ) ; n c L =i 7C N - i : MAT.. 2 A S r: ( L ,L ) = B T 3 _ > ; L X l = C r c . . C . * R T ( I , ) ; L V 1 = CCC...C ART ( L ,3 I ; nc s -1 * i TL jNj ; L X 2 - c C C.. C A R I í K , ? i ; I V 2 = C ü O C A R T ( K , 2 ) ; w 1 . !' ^ 3 ' ( L , K 1 , M .* T _ P A 51 í K , L I -S C R 1 ( í L X 2 - I X 1 ! " ' 2 + ( L Y 2 - L. Y i I 2 ) ; '2 í\ ’ '• ; c ,\r: : !- i\n : F C F C <■>C ... C N T R A f t: = 1 M AT R 1 Z 1 1 h>* N r L ; C G I = 1 T G N : O C J = I T C N ; G!" 7 L I S T ( MAT..ÍÍ A S:: í I , J ) ) ; MAT.. P f. S ‘M J ♦ I > = > m _ P . A S r ( ; » J í ;
' N f: ; :: fvC : MAT... G A Sé ( i\ ,i\) G f: T L * ST ( ( P O L _ C V X C [ í ) HU I =L 1C N P P ) ) ; P l i P A G r Ç r . ï T ( ' C t n c S 0 : £ N T R A D A ' J ( S M P . ( 2 ) » C G L ( 4 5 J » A ) ; I f CPC Aü t M R A C f i = * C LLKD!.-. * 1 H r N C L : PUT F I L L ' ( S V S PH I >\ T ) r f T T { • C G C F Or NADAS ?• A S * , N * • C I C A F C S ' , ( 2 7 ) « = 1 , ' ' ) ( b K I P í 2 ) ? CFj L ( 4 7 I , A , ' ( ) , A , SK : F , CCL ( A7 ) . A * SK ! P . I : P I T F I L r ( S Y S P P T í\ T i F F ; T ÍCCC... CAH T ) ( SK : P , C L L ( 22 ) , ( i) ) í í 3 ) = í 5 ) , > ( 3 M i ; r~ iV': Î - C PC AO. CNTR Af*A = • l'H Th ! Z ' 7 H > M F, C : P I T F I LC ( S Y S F R T M ) F L I T ! * NA T K ! Z OAS ' , N , * Cl D F F F S 1 , ( 2 7 ) • = 1 , • • i 1 SK I F (2 ) tC U l ( 47 1 » / » r { 4 1 , A ♦ S K I P * CGL ( A 7 ) » A , S K I P , A . S K I P ) ; HC ! = 1 T G N ; ü C J - 1 T C N ; P l: T - I L' í ( S V S P h í K T I f Dl T ( ’ A ( » , I , < , • , J ♦' ) = • , M A T _ 3 A S H I , J ) ) ( C C L í 2 2 ) , A , F í 1 ) » A , F í 3 ) . A , F { 5 ) ) ; r t\V ;
P U T Ç C I T ( ' F C L I G C N C l XT'.-'RNG' , { l ô ) ' = * , ' • ) f S * Ï P < 5> « C U L ( 52 > , A, SK Î P , C L L ( 52 I , A , 5 K I F , A ) ; P U T ' ' ! T ( 1 P I L _ C V X C ( : • r’U I - L ï>, Nf’P ) > ( S K I P , C G L ( 3 5 i , ( 1.0 ) F ( <5 ) i ; :v AT,.. T P; A l: - P T _ E A S r : r c 1 = 1 ] c f\PP~ 1 ; CC J = 1 TC N P F - L : A T... m A R ( P C L .. C V XU { ! > , P C l _ CVXC ( J > ) = 0 ! C-_ M ; : m: : < !\'i: At. r : P r Ci :-!\i J -- r; ! G. K : k C 1 - 0 : L r = i. I L î nP F - 1 ; F T - p r. l . C V >■ L ( I ) ; FJ = P L L... C V X C Í I + L ) : L í V 3 T K =
1
o 5- y AT... 13 A S I ! P I ♦ P J ) ; r c J = 1 ] c \ ; 1 - S T'- -- iv A T _ T F A b ( P U L _ C V X l C I . J I ; : r i S I < = L ' M G T H T F r i\ r C ; K C N T -- K. t ; N T +1 : P....K. \T H = J ; f< : r - v AT . . B A S ( F ' » F . K î * T A ) f A T A S . { P (\ . i\ ! ^ , P J ) - ,v T . rj. A S ’ ( F I , F J * ; ! - k " ' < 0 ï b ’*f\ F r c = 0 :I F F L F < P L G li H NO T h r N O C ; P i G U î N C ^ R F F ; M M _ T R A H { P I , N + 1 I - P _ K _ ftNTR A G ! ) fi f D = ï ; E N r) ; Ef\C : i\0 : £ N P : I F K C M > G Iht'h f'C TQ G U A k f ü + l •:)Y - 1: f c l r . VXc : { j + 11 = f c l .c v x c < j > ; F h? : " L S F C C : P ■-CU'-I-NL =i: I : Î- ; fî C 1 ^ 1 T G N P P — 1. ; P ï - P C L . C V X L ( I 1 ; P J = PC L...CV >C n u i : r. C J - 1 ] G N ; 1 r S I = F. A T _ T P- A B ! PCI__CVXG Í I ) . J ) ; I ? T Í S T £• < - ö l G_ M 1 K N 0[; P K :: N T R A = J ; k E c = M A T _ B À S ( P I , P _ X „ C N T R A M N AT EAST; ( P _ K F N T K A , P J )- N A T_ ß A S r. ( P ! * F J ) : i f p f p < o T hgn p r; p - o ;
M A T _ T R A F Í P I * s\ + 1 I = P _ K _ E N T H A ; g 'j ^ r ; F NO; NT ; f (i,P ; CKO ; fNC : P C L . C V X C ( G I J Í f= r r + 1 ) = -i A T T I R A I:’ I P i. i. C V X C i G l J . V ' . . ) , I* + 1 ) : N F ° - i\ P > t I ; I F î\ F F = M 1 I F : i\ n L ; R ; F - G ; DC 1=1 I f N: R r.c = R rT -t-vA T _ (3 A S Í C L _ C V X Ü ( T ) , P C l _ C V X C Í 1 + 1 ) ) : ■: i\ c ; P I T P A G - ' D I T t » S G L U C A C , U 3 > » * ' »• ' ) ( S K I P { 101 » C u t (5 4 i , A, S K I P , C O L ( 5 4 » »A « S K I P . A * ; P U T t C I l I P U I __ C V X U ) ( S K I P , C O L ( 1 5 ) , ( 2 0 I F ( 5 J ) : PiJT r C n i ' C U S T Ü = ' , R ? F ) ( S K I P ( 3 ) , C C L (-5 4 ) , A , - Í 5 i ) GC 1C S I ; !::NH ; D C J = l T C N P P - l ; f* A J _ ï P A t? { P C L.„. C V X ü ( GU A R C " + L > * F G I__CVXC ( J ) I=Ö I G_M : KA !.. T R AR í P O I__CV X O( J ) » P C L _ C \> X C l G l AP D Í; + 1 ) ) = 8 I G _ K :
E: h ;
G L T C A L I ; r I K; : il h H 1 S P L ;
INSTRUÇÕES DE UTILIZAÇÃO
O fornecimento dos dados necessários ao modelo pro
posto para resolver o problema, pode ser feito de uma maneira e x tremamente simples e flexível, conforme será apresentado a seguir.
Existem cinco tipos diferentes de dados com os
quais trabalha o modelo, que serão relacionados abaixo e descritos em seguida.
Tipos diferentes de dados 1. Numero de comentários 2. Comentários
3. Número de nos total e número de nos do polígono externo
4. Opção de fornecimento dos dados dos nos 5. Relação dos nos do polígono externo
Não existe prê-determinação de formatos para os
dados de entrada, podendo o usuário fornecê-los livremente confor me lhe pareça mais conveniente.
Descrição dos dados de entrada 1. Número de comentários
Deverá indicar o número de cartões que se deseja
utilizar para fazer comentários livres sobre o
p r o b l e m a . 2. Comentários
Deverá conter os comentários propriamente d i t o s , para os quais se utilizarão tantos cartões q u a n tos especificados no item anterior.
Devera conter dois números inteiros, sendo o
primeiro deles a quantidade total de nós que
simbolizam as cidades, enquanto o segundo indi cará a quantidade de nós do polígono externo, a crescido de um.
Opção de fornecimento dos dados dos nós
Os dados dos nós podem ser fornecidos de
duas maneiras distintas, selecionadas por opção do usuário; uma delas e através da matriz q u a
drada que representa a grandeza em análise, e
a outra através das coordenadas cartesianas dos nós, com as quais o modelo monta a matriz r e f e renciada .
A opção a ser feita é indicada através de uma
entre as duas palavras seguintes: 'MATRIZ' ou 'COORDE'.
Se for adotada a opção 'MATRIZ', será preciso for
necer os elementos componentes da mesma, por
linha, tornando-se necessário apenas a i n d i c a ção dos elementos da parte triangular superior, uma vez que existe a simetria. Caso seja adota
— f * ^ ^
da a opçao COORDE, sera preciso fornecer os nu- meros dos nós acompanhados das suas respectivas
coordenadas cartesianas, conforme ilustrado a
b a i x o .
1 XI Y1 2 X2 Y2 ... ETC.
Os- nós deverão ser fornecidos em ordem sequencial cr esc e n t e .
Devera conter os números dos nos que repre sentam o polígono externo.
Com a finalidade de ilustrar tudo o que
foi dito, ê apresentado um problema e são preparados os dados
necessários para a sua resolução através do modelo objeto deste t r a b a l h o .
5. Rel açã o dos nos do polígono externo
T O 3
o?
06
~o 4--- ►
EXEMPLO ILUSTRATIVO DA UTILIZAÇÃO DO MODELO PROPOSTO NO TRABALHO
DA TESE. AUTOR: EUGÊNIO.
7 5 'C O O R D E ' 1 0 0 2 0 20 3 20 20 4 20 0 5 10 10 6 5 10 7 10 15 1 2 3 4 1 /*
O B S : 1. Num mesmo "job" poderão ser processados tantos problemas quantos se deseje, bastando para isto repetir a sequência apresentada anteriormente.
2. Para encerrar o processamento devera ser colocado um
cartão com /* nas colunas 1 e 2 apos o final dos dados.
3. O programa se encontra disponível no CPD da UFSC que
A N E X O 3
PROBLEMAS DE TESTE
P O L I G C N O E X T E R N O 1 2 5 4 1 S O L U C A O 1 2 3 5 4 1 C U S T O = 20 , u a q o s D E e n t r a d a CÜORDE NA C AS DAS .7 C I C A D E S 1 0 0 2 o 20 3 20 20 4 20 3 5 10 10 6 5 10 7 10 15 P O L Í G O N O e x t e r n o 1 2 3 4 1 r» 0 L ü C A 0 C U S T 0 = 9 2
D A D O S D E E N T R A D A C C Ü P . D E N A C A S D A S 10 C I C A D E S i 10 2C 2 2 0 50 3 20 30 4 20 ' 3 5 30 10 6 4 0 4 0 7 4 0 1 0 8 50 6 0 9 50 33 i O 7 0 20 P C I IG C N G EX T ER N O - 1 2 S 10 4 1 S G L U C A 0 1 3 2 8 6 9 1 0 7 5 4 1 C U S T 0 = 2 0 0 1 0 10 6 15 15 1 1 30 5 1 6 45 10 O A O O S D E E N T R A D A C Ü O R D E N A C A S C A S 16 C I C A D E S 2 5 7 15 12 3 5 15 3 5 5 4 10 23 5 10 0 5 8 20 10 5 25 13 10 30 15 2 0 13 35 0 14 4U 15 15 4 0 5 P C L I G O N O E X T E R N O i 2 4 1 2 14 16 1 5 13 1 S 0 L U C A Q J B S S S S = S S = Z S S S 9 1 0 1 2 14 16 . 15 13 11 C U S T 0 = 1 1 8
0 20 5 C 7 2 0 3 0 ó 20 0 9 30 83 10 3 0 10 11 40 4 C 12 4 0 10 13 50 60 14 50 33 15 50 - 10 l b 60 4 0 17 7 0 6 0 18 7 0 20 19 83 43 2 ü 8 0 10 P O L Í G O N O E X T E R N O 1 2 3 9 14 17 1 9 2 0 1 5 5 1 S 0 L U C A 0 l ^ 7 2 6 3 9 i 3 H 14 16 17 19 18 2 0 15 12 10 1 c U S T 0 = 3 9 2
ü A D O S 0 E E N T P A C A I . G 0 R D E N A C A S D A S 3 6 C I C A D E S 1 0 C 2 ' 0 5 3 0 10 4 0 15 5 0 20 6 0 25 7 5 0 8 5 5 9 5 13 10 5 15 1 1 5 2 0 12 5 25 13 10 0 14 1,1 5 1 5 10 10 16 10 15 17 10 2 0 18 10 25 19 15 0 2-3 15 5 2 1 15 10 22 1 5 15 23 15 20 24 15 2 i 25 20 0 2 6 20 5 2 7 2 0 10 28 20 15 29 20 23 3'J 2 0 25 31 25 0 3 2 2 5 5 33 25 10 34 25 15 3 5 25 20 3b 25 2 5 P O L Í G O N O e x t e r n o 2 3 4 5 6 12 18 24 3 0 36 3 5 34 3 3 3 2 31 25 19 13 7 1 2 S C l U C A 0 2 o 14 2 0 2 6 2 7 2 8 2 9 23 1 7 . 11 1 0 1 6 22 21 15 9 3 4 5 6 12 18 2 4 30 3 6 3 5 3 4 33 3 2 3 1 2 5 1 9 13 7 1 2 C U S T 0 = 1 8 0
6 10 2 5 7 10 2 0 8 11 15 3 0 12 15 25 13 16 15 5 17 2 0 4 0 18 2 1 20 2 0 2 2 2 0 15 23 2 6 25 3 5 27 2 5 3 0 28 31 25 1 0 32 2 5 5 33 3 6 3 0 1 5 3 7 3 0 10 38 4 1 4 0 2 0 P C L I G 0 N 0 E X T E R N O 1 2 5 10 17 2 6 3 3 3 7 32 2 5 16 9 4 1 S 0 L ü C A 0 3 1 2 6 13 14 2 3 30 35 2S H 2 6 2 7 3 3 3 4 3 8 3 9 4 1 4 0 36 1 C U ^ S T 0 = 23 1 10 15 9 10 10 10 15 35 15 20 14 15 13 15 15 10 20 35 19 20 3 J 2 0 20 25 20 10 24 2 0 5 2 5 20 0 2 5 25 2 9 25 20 30 2 5 15 3 0 30 34 30 25 3 5 30 20 35 25 3 9 35 20 4 0 35 15 3 8 4 1 4 0 29 22 21 20 1? 12 5 11 l o 3 7 3 1 32 2 4 25 16 1 5 9 6
L A C G S C E E T P A C A c ü u R C E f s A C A S C A S 5C C I C A D E S Ï 2 2 ï 9 49 3 ' 52 £4 4 20 2o 5 4 0 3 C 4 7 1 17 63 a 21 62 S 52 33 10 51 21 4 1 U J l 32 13 5 25 14 12 4 2 15 3 o 16 4 1 17 ^ 7 23 18 17 33 19 13 13 2 0 57 56 4 2 i c 4 2 57 23 16 57 24 a 52 25 7 38 t c 2 7 3 0 48 2a 4 3 67 29 s a 43 30 • 53 27 i>S l e :>a 4 o 33 46' 10 24 61 33 35 o2 6 3 dS j 7 3 2 2 2 38 45 35 3 ç 59 15 • <*0 5 6 17 M <: 21 10 43 C £4 44 30 l i 45 39 10 3 S 4 / 2 5 32 4 à 2 5 ' 55 49 4a 2 a 50 56 37 F C L I O C f ' G EXT£f>NO 4 0 13 * 3 2 6 31 36 2 1 34 3 9 33 4 0 47 12 H Ò S C 1 U C A G 5 28 u 3 2 1 27 48 6 l à 25 14 24 3 1 là •c 2 3 2 6 35 2 C 2 2 S 2 1 16 50 3 4 30 15 37 17 4 4 4 2 19 4 0 C U S T C = 4 3 2
6 33 34 7 5 0 50 6 55 1 1 55 65 12 3 5 51 13 6 2 16 21 36 17 3 3 44 18 9 2 1 44 13 2 2 2 6 13 23 11 2 6 41 46 27 5 5 3 4 28 35 3 1 31 76 3 2 22 53 33 26 3í> 54 10 37 6 0 15 38 4 7 4 1 12 17 42 15 14 4 3 16 4 o 51 42 4 7 5 0 15 48 4 8 5 1 29 3 9 52 5 4 3 8 53 5 5 5 o 6 25 5 7 6 5 27 58 4 0 6 1 36 6 62 3 0 20 63 20 6 6 57 72 67 4 5 42 6 8 3 8 7 1 59 5 72 3 5 6 0 7 3 27 P O L I G C N O E X T E R N O 5 6 24 1 8 55 31 6 6 5 9 7 0 6 0 6 9 6 4 56 S 0 L U C A 0 23 49 2 4 18 50 3 4 4 32 25 5 5 59 14 53 7 35 8 19 54 13 57 51 6 7 5 6 8 2 7 4 3 0 4 4 5 2 9 21 61 2 8 6 2 73 3 3 16 6 3 1 2 2 4 5 9 ? j 5 j 10 4 0 66 35 14 6 ? 5/ 15 6 2 24 56 19 62 4d 2 0 6 6 14 28 24 7 43 25 17 64 16 29 52 2 d 30 43 26 29 34 50 40 35 55 5 0 6 6 39 33 60 4 0 3 0 50 19 44 21 4 i 4 5 50 30 21 4 9 12 33 5 0 15 56 57 54 67 41 -55 10 70 6 0 59 7 0 6 4 6 0 6 4 4 30 64 15 5 6 5 5 0 70 33 6 9 50 ♦ 70 6 6 8 2 4 74 40 2 J 7b 4 0 37 5 4 5 7 2 0 3 1 1 0 72 3 9 ) 58 3 3 6 5 1 1 15 2 7 5 2 4 6 3V 67 2 6 12 40 4 8 5 3 7 2 0 7 ) 6 0 71 3 6 69 6 4 4 2 43 41 5 S C U S T O « 5 5 2
X n U S C ï ~ N T R A D A C.CG^i v f i V . O !•.s ' i 4 s i o n c:d; 1 0 n 2 0 5 3 C 10 4 0 15 5 0 20 6 c 25 7 0 30 a 0 35 9 0 40 10 0 45 1 1 e C 12 5 5 13 5 10 14 5 l 5 15 5 20 16 5 25 17 5 30 18 C 35 1 9 5 4 C 2 0 5 45 21 l C 0 22 10 5 23 1C 10 24 10 15 25 10 20 ? ù K 25 2 7 1C 30 28 1C 3 5 2 9 10 4 0 30 10 45 31 1 5 fi 32 15 5 3 3 15 10 34 15 15 35 15 20 3 6 1 5 2 5 3 7 15 30 3 G 15 3 5 39 15 '(0 40 15 45 4 1 ") ( * 0 42 20 5 43 2 C 10 44 2 0 15 45 20 20 4 6 2 C 25 47 20 30 48 20 35 49 20 4 C. 5 C 20 45 5 1 i t C 52 25 5 5 3 25 10 5 4 2 5 15 55 25 2 0 5 6 25 25 5 7 25 30 58 25 35 59 25 4 0 60 25 45 6 1 3C C 62 30 5 6 3 30 10 6 4 30 15 65 30 20 e t 3 C 2 5 t 7 30 30 .68 30 35 ' 6 9 3 0 4 0 7 0 30 45 7 1 "J c 0 72 3 5 5 . 73 3 5 10 74 35 15 75 35 20 76 3 - - Î C c. -■ 77 3 5 30 73 35 35 7 9 35 '-.0 80 35 45 a 1 0 ■ fi 2 4 0 5 03 4 C 10 64 4 3 15 85 40 20 r . fa • '. C 2 5 0 7 40 30 38 40 35 89 40 40 90 40 45 9 1 4 5 C ■ 92 4 5 5 93 + 5 10 9 4 4 5 15 95 45 20 96 45 25 5 7 45 3 0 î!3 45 35 99 4 5 40 100 45 45 2 T 4 pc l : 5 OC KG Ç 6 XT.' RK 7 r t. fi 9 10 20 3 0 4 C 50 60 70 80 90 10C 9 9 98 Ç / S 6 9 5 94 93 92 91 a ï 7 1 6 1 î 1 4 1 3 1 21 1 l 1 2 S C L L C A C ? 12 2? 3 2 42 52 6 2 72 3 2 33 34 85 8 6 87 n o 89 79 69 59 4 9 9 Z t 1 9 l u 17 16 15 14 24 34 44 54 6 4 65 6 6 67 57 4 7 37 36 6 5o C C 4 5 35 2 5 2 6 27 28 3 C 48 5 8 6 8 78 7 7 76 75 74 73 6 3 Í t3 3 - 23 13 3 4 5 5 7 8 9 1 0 20 3 0 40 50 6 0 70 80 ï ? 100 9 9 1 o 9 7 9 6 95 94 5 3 92 9 1 e 1 71 61 5 1 41 31 2 l 11 1
6 1 I 16 21 26 31 26 Al 46 51 56 t 1 66 71 76 81 86 <51 96 ICI 10 6 22 3 C 3 7 7 7 1C 2 71 c 25 7 0 30 3 c 35 9 0 AO 10 0 K C 12 5 5 13 5 ' 10 I A 5 15 15 5 5 2 5 17 5 30 i e C 35 19 5 AC 2 0 5 1C C' 22 10 5 23 i ó 10 2 A 10 15 25 10 1C 25 21 1C 30 2 £ 1C 35 29 10 AO 3 0 10 15 C 3 2 15 5 33 15 10 3 A 15 15 35 15 1 5 2 5 37 15 3 0 38 15 3 5 39 15 AO AO 15 2 C 0 A 2 20 5 A 2 2 C 10 AA 20 15 A 5 20 2 C 2 5 A 7 20 30 A8 2 C 35 A9 20 AC 5'0 20 25 C 5 2 25 5 53 25 10 5A 25 15 55 25 25 2 5 57 25 30 5 £ 25 ■35 59 2 5 AC 6 0 25 3 C C 62 30 5 63 30 10 6 A 3 0 15 65 30 3C 2 5 67 3 C 30 óe 3 C 35 69 3 0 AC 7 0 30 35 C 72 35 5 73 35 10 7A 3 5 15 7 5 3 5 3 c 25 77 3 5 3 0 78 35 35 79 35 AO 80 35 AC 0 82 AO 5 63 AC 10 8 A AO 15 85 AO AO 2 5 87 AO . 30 88 AO 35 89 AO AC 90 AO A 5 C 9 2 A 5 5 9 3 A 5 10 9 A A 5 15 9 5 A5 A 5 2 5 9 7 A5 30 9£ A 5 35 9 9 A 5 AO 1 0 0 A 5 C 50 1 0 2 5 50 103 1C 50 1 CA 15 50 1 0 5 20 2 5 5 C 107 3 C 50 1C8 35 5 0 1 0 9 4 0 50 1 1 0 A5 P C L I G C f v C E X T E R N C « C S S 3 S S 3 S S S S S X S 3 2 3 A 5 6 7 £ 9 10 101 102 1 0 3 1 0 A 1 05 106 1 0 7 108 10 9 1 1 0 I C O 99 9£ 97 96 95 9A 93 9 2 91 81 71 6 1 5 1 A l 21 21 11 1 2 S C L U C A C 32 A2 52 62 •as a * * « a s 72 82 I 3 ; : s 83 » £A £5 86 87 88 89 90 8 0 2 0 19 18 17 16 15 I A 2A 3 A AA 5 A í A í 5 6 6 6 7 36 A í A 7 5 7 56 55 A5 3 5 2 5 2 6 2 7 28 29 39 A 9 76 75 7 A 73 63 53 A3 33 23 13 3 A 5 6 7 1C 3 1 CA 1 C 5 1 C6 1 0 7 108 109 1 1 0 1 0 0 9 9 9 8 9 7 9 É 95 9 A 61 51 A l 31 21 1 1 1 2 C U S T C = £ 5 0
1 6 • i 1 I t 2 1 2 6 3 1 3 6 4 1 4 6 51 5 6 6 1 6 6 '7 1 7 6 81 86 9 1 9 6 1 0 1 1 0 6 1 1 1 I 16 1 2 1 1 2 6 1 3 1 1 36 1 4 1 1 4 6 1 5 1 1 5 6 1 6 1 16 6 1 7 1 176 1 ö l 18 6 1 9 1 1 9 6 20 4 5 20 45 20 45 20 4 5 20 45 20 45 20 45 20 45 20 45 20 4 5 20 45 20 4 5 20 4 5 20 45 20 45 2 0 45 20 45 20 4 5 20 4 5 20 4 5 U A D C S C E E N T R A C A C U U R D E N A C A S C A S 2 0 0 C I C A C E S 0 C 2 0 5 3 0 10 4 0 15 5 0 0 2 5 7 0 3 0 a 0 35 9 0 40 10 0 5 C 12 5 5 13 5 10 14 5 15 15 5 5 25 17 5 3 0 18 5 35 19 5 40 2 0 5 10 C 22 10 5 23 ■ 10 10 24 10 15 25 10 10 25 27 10 30 28 10 35 29 10 40 30 10 15 C 32 15 5 33 15 10 34 15 15 35 15 15 25 37 15 3 0 38 15 35 39 15 40 4 0 15 20 C 42 2 0 5 43 2 0 10 44 20 15 4 5 20 20 25 47 2 0 30 48 20 35 49 20 40 50 2 0 25 C 52 2 5 5 53 25 10 54 25 15 55 25 25 25 57 2 5 3 0 5â. 25 35 59 25 40 6 0 25 30 C 62 3 0 5 6 3 30 10 ( 4 30 15 6 5 3 0 30 25 6 7 3 0 3 0 68 30 35 69 30 40 7 0 30 35 C 72 3 5 5 73 35 10 74 35 15 75 35 35 25 77 35 30 là 35 35 79 35 40 80 35 40 C 82 4 0 5 63 4 0 10 64 40 15. 85 4 0 40 25 87 4 0 3 0 Ê8 40 35 89 40 4 0 90 4 0 45 C 92 45 5 93 45 10 94 45 15 95 4 5 45 25 97 4t> 30 98 4 5 35 99 45 4 0 1 0 0 4 5 50 0 1 0 2 5 0 5 1 0 3 50 10 1C 4 50 15 1 0 5 5 0 50 25 1 0 7 . 5 0 30 1 C 8 50 35 1C9 50 40 1 1 0 50 55 C 1 12 55 5 1 13 55 10 1 14 55 15 1 1 5 55 55 25 1 1 / 5 5 3 0 1 18 55 35 1 19 55 40 1 2 0 55 oO 0 1 2 2 6 0 5 1 2 3 6 0 10 1 2 4 60 15 1 2 5 6 0 60 25 1 2 7 6 0 3 0 1 28 60 35 1 2 9 60 40 1 3 0 6 0 65 . C 1 3 2 o 5 5 1 3 3 6 5 10 1 34 65 15 1 3 5 65 65 25 1 3 7 ù 5 3 0 1 18 6 5 35 1 39 65 40 1 4 0 65 70 0 1 4 2 70 5 1 43 7 0 10 144 70 15 1 4 5 70 70 25 1 4 7 7 0 30 148 70 35 1 49 70 40 1 5 0 70 75 C 1 5 2 75 5 1 53 75 10 15 4 75 15 1 5 5 75 75 25 1 5 7 7 5 3 0 1 5 8 75 35 1 5 9 75 40 1 6 0 75 ao C 1 6 2 8 0 5 1 63 80 10 164 80 15 1 6 5 80 eo 25 1 6 7 8 0 30 1 6 8 80 35 16 9 60 40 1 7 0 8 0 65 C 1 7 2 ü 5 5 1 73 65 10 1 74 85 15 1 7 5 35 65 25 1 7 7 8 5 30 1 7 8 85 35 1 79 85 40 1 8 0 85 90 C 1 8 2 9 0 5 1 £3 9 0 l ü 1 6 4 90 15 1 85 9 0 90 25 l d 7 9 0 3 0 16b 90 35 169 90 40 1 9 0 9 0 95 C 1 9 2 9 5 5 1 9 3 95 10 1 94 95 15 1 9 5 95 95 2 5 1 9 7 9 5 3 0 1 9 8 95 35 1 9 9 95 40 2 0 0 9 5 P 0 L I G C N 0 E X T E F NO 2 3 4 5 6 7 t 9 10 2 0 3 0 4 0 5 0 60 7 0 80 9 C I C O 1 1 0 1 2 0 1 3 0 1 4 0 1 5 0 1 6 0 1 7 0 1 8 0 1 9 0 2 C 0 199 1 98 1 97 1 9 6 1 9 5 1 9 4 I e. 3 1 9 2 ' 1 9 1 18 1 17 1 16 1 1 51 1 4 1 1 3 1 121 111 101 9 1 61 71 61 5 1 41 31 21 11 1 2
154 l ó * . i o 5 1 6 6 1 6 7 1 5 7 5í> 6 6 76 86 96 1 0 6 65 55 4 5 35 25 2 6 i s a 1 6 8 1 7 8 1 7 7 1 7 o 1 7 5 43 33 23 13 3 4 103 1 1 0 12 C 1 3 ü 1 4 0 1 5 0 l d l 1 7 1 16 1 1 51 1 4 1 1 3 1 1 4 7 1 3 7 1 2 7 1 1 7 1 0 7 9 7 1 1 6 1 2 6 1 3 6 1 4 6 1 5 6 1 55 2 7 28 38 4 8 58 6 8 1 7 4 1 7 3 16 3 1 52 1 4 ’ 1 33 5 6 7 é 9 10 1 6 0 1 7 0 1 8 0 1 9 0 2 C 0 m 1 21 U I 1 0 1 9 1 £1 71 87 77 6 7 • 57 4 7 3 7 3c 1 4 5 1 3 5 1 2 5 11 5 1 0 5 9 5 85 78 a a 9ô 1 oa u a 12Ö 1 3 S 123 1 1 3 1 0 3 93 a 3 73 63 20 3 0 4Ô 50 6 0 1o 8G 1 9 1 iHf 7 1 9 9 i * J 3 192 é 1 51 41 31 2 1 11 1 C U S T 0 = 1 0 0 0