soluÇÃo heurÍstica para 0 problema do caixeiro … · anexo 2 - instruções de utilização...

61
• U P s c » BIBLIOTECA CENT« AL SOLUÇÃO HEURÍSTICA PARA 0 PROBLEMA DO CAIXEIRO VIAJANTE

Upload: vohuong

Post on 13-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

• U P s c » BIBLIOTECA CENT« AL

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

AGOSTO - 1980

SOLUÇÃO HEURiSTIGA p a r a o

PROBLEMA DO CAIXEIRO VIAJANTE

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-GRADUAÇÃO.

PROF. |OyÍN ROBERT MACKNEísS, Ph.D. COORDENADOR

APRESENTADA PERANTE A BANCA EXAMINADORA COMPOSTA PELOS PROFESSORES:

I<0OíO)ÍN

O©IVifíILD

ío-uJlo vi ICXJsrtJLPROF. PAULO ,.RENÊ CI'Ö"'"NA$CIMENTÔVTT. Sc'

■ PRESIDENTE.

PROF. RAUL VÁLENTIM D A 7SILVA, M. Sc

iii

A o m e u pai,

P e d r o de A l c â n t a r a B r a z ,

e m m e m o r i a .

Ao computador IBM/370-148 instalado na ELETROSUL,

pelas noitadas agradáveis que me propiciou e pela participa

çã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 BRAZ, por ter me

ajudado, ficando junto a mim, nas fases de estudo e pesquisa

de modelos.

V

R E S U M O

Este trabalho analisa o problema do caixeiro via­

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.

vi

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

performance data.

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

viii

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 anos,

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

Kuan-Tzu, sábio chinês, séc. VII a.C.

1

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

interesse.

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 proble­

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 matri­

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.

1A H O , HOPCROFT § ULLMANN, Design and Analisys ...

0 tempo consumido por um, algoritmo para atingir o

objetivo ao qual se propõe, expresso em função do tamanho do

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álcu­

lo dos computadores atuais, como será mostrado a seguir.

2A H O , HOPCROFT Ç ULLMANN, o p . cit

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 mili-segundo, 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.

5

QUADRO 1. Limites nos tamanhos dos problemas em função das

complexidades tempo dos algoritmos.

Algoritmo ComplexidadeTempo

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

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

3AH0, HOPCROFT 5 ULLMANN, op. cit.

Q U A D R O 2. E f e i t o do a u m e n t o de dez v e z e s n a v e l o c i d a d e de p r o c è s

sarnento s o b r e o t a m a n h o m á x i m o dos p r o b l e m a s .4

Complexidadetempo

Tamanho máximo do problema

Algoritmo Antes do aumento Depois do aumento

A 1 - • • S l ......................... 10s

A^ ... . s ......... ...... ~10s22

A2

, s ......... ..... 3 16s3 3

A ___3

, s ......... ..... 2 15s4 4

A,. ___ ......... 2n ......... . s .....s + 3 35 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 de dez v e z e s n a v e l o c i d a d e de p r o c e s s a m e n t o , p e r m i t e ape

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 três u n i d a d e s no t a m a n h o do p r o

b l e m a , q u a n d o se 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 , ao i n v é s do a u m e n t o da 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 da u t i l i z a ç ã o de u m a l g o r i t m o mais

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 ao 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 de a n á l i s e , a s u b s t i t u i ç ã o do 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 de p r o b l e m a s 6 ve

'’a HO, HOPCROFT $ ULLMANN, o p . cit.

1 .

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, conside­

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 eT e m p o

A 1 .................................. 10 0 0 n

A 2 .................

A .................................. 10 n 23

3A ................................................... n4

A ............................ .................................... 2 n5

Desta maneira, o algoritmo A,., apesar de, comparado aos

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

grande, (n >_ 100) obtendo resultados satisfatorios.

9

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 = {cij} 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 i , i j, 1 2 3 p - l p . l

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 ordena­

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.

5BELLMORE, M. S NEMHAUSER, G.L. The Traveling Salesman ...

0 comprimento do circuito, representado por z(t) é

a soma dos comprimentos dos arcos a ele pertencentes.

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.

Como a maioria das regras de parada e das escolhas

11

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 ana­

lisados, inclusive a semente.

Se t = (p, i2 , i3> ... , 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

dos elementos

12

Todos os métodos conhecidos que utilizam este es6 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. i_ ... , i,) por inclusões sucessivas de outros nõs na se1 , 2 , , k r —

quência atual, utilizando-se determinados critérios. O procedi­

mento termina quando um circuito for montado. Um critério muito

simples para a construção do circuito é o algoritmo do vizinho

mais prõximo: 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" .

eBARACHET, L.L., Graphic Solution of the Traveling ...

7CROES, G.A., A Method for Solving Traveling ...

8

LIN, S., Computer Solution of the Traveling ...9REITER, S- § SAERMAN G., Discrete Optimizing ...

1 oROBERTS, S.M § FLORES B., An Engineering Aproach ...

I iBELLMAN, R. Dynamic Programming Treatment ...

12GONZALES, R.H. Solution to the Traveling ...

1 3HELD, M. 5 KARP, R.M. A Dynamic Programming Aproach ...

1 4LAWLER, E.L. The Quadratic Assignment Problem ...

2.1.3. Eliminação de Sub-Circuitos

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 en1 5 1 6 1 7 1 8 1 9 2 0

tre eles a programação linear inteira2 1

o método "branch-and-bound".

1 5BOCK, F. Mathematical Programming Solution . . .

1 6DANTZIG, G.B., FULKERSON § JOHNSON, S.M., Solution of a Large ..

1 7DANTZIG, G.B., On a Linear .

1 8MARTINI, G.T. Solving the Traveling Salesman

1 9MILLER, C.E., TUCKER § ZEMLIN, R.A., Integer Programming ...

2 0MUDROV, V.I. A Method of Solution of the Traveling ...

2 1EASTMAN, W.L. Linear Programming ...

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 alternati­

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

NILSSON, N.J, Problems - Solving Methods

15

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 de 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 do 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 pertencen­

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 MAX_PROV(i,j,k)

pois este propicia o máximo proveito que se pode tirar da

situação.

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 gera­

ção de soluções devera parar quando um circuito for formado.

3.2. 0 Fluxograma

17

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 pro­

blemas são encontradas no ANEXO 3.

19

Os mesmos problemas foram processados num computa

dor IBM 4341, instalado na UFSC, utilizando o sistema operacio­

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 obti­

da a seguinte equação:

2 3T = aQ + 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 repre­

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 a3 , 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

des de n.

- - - 2A complexidade memória por sua vez, e 0 (n ), pois

o algoritmo aloca apenas a área de memória necessária para arma­

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

ordem menor que n2 .

21

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 muito23

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 proble24 ~

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 § ULLMANN, op.cit.

2\ h 0, HOPCROFT $ ULLMANN, op.cit.

25AH0, HOPCROFT Ç ULLMANN, op.cit.

26LIN, S § KERNIGHAN, B.W. An effective Heuristic ...

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". Opns. 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 Shor­

test Path Through Many Points," Proc. Cambridge Phil. -

Soc., (Math, and Phys. Sci) 55, 299-327 (1959).

5. BELLMAN, R . , "Dynamic Programming Treatment of the Traveling

Salesman Problem," J. ACM 9, 61-63 (1962).

6. BOCK, F., "Mathematical Programming Solution of Traveling Sa

lesman Examples," Recent Advances in Mathematical Program

ming, (R.L. GRAVES AND 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. DACEY, 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," Opns.Res.2,393-

410 (1954).

23

10. , "On a Linear Programming, Combinatorial Approach to

the Traveling Salesman Problem," Opns. 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 Bet­

ween the Traveling Salesman and the Longest Path Pro­

blem", Opns. Res. 10, 647-657 (1962).

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 Problems,” 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','

Opns. 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. MURTY, D. W. SWEENEY, AND C. KAREL,

"An Algorithm for the Traveling Salesman Problem,” 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

ar Programming,” CEIR, New York, 1966.

25

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 Intel­

ligence, McGraw-Hill Book Company, 1971.

32. ROBERTS, S. M. AND B. FLORES, "An Engineering Approach to

the Traveling Salesman Problem," Management Sei. 13,

269-288 (1966) .

33. ROTHKOPE, 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

LISTAGEM DO PROGRAMA

LISTING

1 / ' 1 / i /1 /

1 h ;• ThA V U I N G SAf. S 'v: A N P ft L 8 L ■" iv

= = / / / /

i / - /J / AL 'jCK I h "■ ! j r : s r : c t /I / G F C C ,Y P L r: X n - T- MPC /1 / i. : tj i T i r A pci :\C ivI ALM:':NTr- /j / /1 / U Í; A . L, ( ‘i r

r. o „ :: .</_ /I / /! / -r r - ■S. ~ ~ -s. -z ~ ~ - z= = /

p p u C . L P T ■ L t \ S ( iv A I N ) R : ; c r 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 :

AL L L C ÜLA .li LA.. BLA (NCOVJ ;

G '■ T s k i p ; c ! T í ( [ ; L â ] j gg : = i rc nco*» »

P I T PAG' ' “ : T ( t‘UA ._,.UA . BLA) ( 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 ;

ALLLC . M A T . TF AB ( l \ , , \ * l ) ;

A L L C C ? C; I. . C V X G { N + L ) ;

A i . L CC COC._ C £ P 7 ( l\ t 3 ) :

G r: T L I ST (GPCAG„ : -N1PACA) ;

I r C Pf > G .. " M R A r A - = 'CUUKO". ' f. -JP C '«ü_ N T R A G A -

lh-iM r L :

PUT - T L .'I ( SYSPR Î . NT J '£ C 1 T

A ( 7 2 ) . X ( h ) I ;

• M A T R I Z 1

(' T S p : A ü P C A U cr: C - M P A D A i :'í - A D C S

O P C At.JiNTRAL'A , ' ) E S T A I N C O R R T A ')

( C C L ( 1 0 ) , 3 A t ;

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

nc 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 ;

CG 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 ( ( POL_CVXC[ í ) HU I=L 1C N P P ) ) ;

P l i P A Gr Ç 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 LL ' ( S V S PH I >\ T ) r f TT

{ • CGCFOr 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 , CLL ( 22 ) , ( i) ) í í 3 ) = í 5 ) , > ( 3 M i ;

r~ iV':

Î - C PC AO. CNTR Af*A = • l'HTh ! 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 FFF S 1 , ( 2 7 ) • = 1 , • • i

1 SK I F (2 ) tCUl (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 ;

ÿ- \ n ;

PUT Ç 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 , CL 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 ) > ( SK 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 = PL 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 . . BA 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 :

?Nr ;

I F F L F < P L G li H NO

T h r N OC;

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 Nr) ;

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 . CVXL ( 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 Sr. ( P ! * F J ) :

i f p f p < o T h g n p r; p - o ;

IF f !*F < P L G U i N U

TH-'N D C :

Q L i~ N G - R F ;

M A T _ T R A F Í P I * s\ + 1 I = P _ K _ E N T H A ;

g 'j r ;

FNO;

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 > » * ' »• ' )

(SK I P { 101 » C u t (5 4 i , A, S K I P , C O L (54 » »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 ( 15 ) , ( 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 GI__CVXC ( J ) I=Ö I G_M :

KA !.. T R AR í P O I__CVXO( 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 ;

A N E X O 2

INSTRUÇÕES DE UTILIZAÇÃO

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 ex­

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

problema.

2. Comentários

Deverá conter os comentários propriamente ditos,

para os quais se utilizarão tantos cartões quan­

tos especificados no item anterior.

Número de nos total e número de nós do polígono

externo

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 refe­

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

baixo.

1 XI Y1 2 X2 Y2 ... ETC.

Os- nós deverão ser fornecidos em ordem sequencial

crescente.

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

trabalho.

5. Relação dos nos do polígono externo

T O 3

o?

06

~o 4-------►

PROBLEMA EXEMPLO.

Dados de Entrada

2

EXEMPLO ILUSTRATIVO DA UTILIZAÇÃO DO MODELO PROPOSTO NO TRABALHO

DA TESE. AUTOR: EUGÊNIO.

7 5

'COORDE'

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

/*

OB 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

coordenará a sua utilização.

A N E X O 3

PROBLEMAS DE TESTE

l

COORDENADAS DAS 5 C l f A U E S

1 0 3 2 2 6 3 4 3 4 , 7 0 5 8 3

POL IGCNO EXTERNO

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ÜORDENACAS DAS .7 C IC A DES

1 0 0 2 o 20 3 20 20 4 20 3 5 10 106 5 10 7 10 15

POL ÍGONO e x t e r n o

1 2 3 4 1

r» 0 L ü C A 0

■ ' ü a D O S d e e n t r a d a

C U S T 0 = 92

D A D O S D E E N T R A D A

CCÜP.DENACAS DAS 10 C IC A D E S

i 10 2C 2 20 50 3 20 30 4 20 ' 3 5 30 106 40 40 7 40 10 8 50 60 9 50 33 iO 70 20

P C I IGCNG EXTERNO-

1 2 S 10 4 1

S G L U C A 0

1 3 2 8 6 9 10 7 5 4 1

C U S T 0 = 200

1 0 106 15 15

11 30 516 45 10

O A O O S D E E N T R A D A

C Ü O R D EN A C AS CAS 16 C IC A D E S

2 5 7 15

12 35

15 3 5 5 4 10 23 5 10 05 8 20 10 5 25 13 10 30 15

20 13 35 0 14 4U 15 15 40 5

P C L IG O N O EX T ER N O

i 2 4 12 14 16 15 13 1

S 0 L U C A QJB S S S S = S S = Z S S S

9 10 12 14 16 . 15 13 11

C U S T 0 = 118

D A D O S D E E N T R A D A

. . . .COORD ENADAS CAS 20 C IC A ü h S

1 0 C 2 0 40 3 10 70 4 13 23 5 10 - 1 00 20 5 C 7 20 30 ó 20 0 9 30 83 10 30 10

11 40 4 C 12 40 10 13 50 60 14 50 33 15 50 - 10l b 60 40 17 70 60 18 70 20 19 83 43 2 ü 80 10

P O L ÍG O N O EX T ER N O

1 2 3 9 14 17 19 20 15 5 1

S 0 L U C A 0

l ^ 7 2 6 3 9 i 3 H 14 16 17 19 18 20 15 12 10

1

c U S T 0 = 392

ü A D O S 0 E E N T P A C A

I .G 0 R D EN A C A S DAS 36 C IC A D E S

1 0 C 2 ' 0 5 3 0 10 4 0 15 5 0 206 0 25 7 5 0 8 5 5 9 5 13 10 5 15

1 1 5 20 12 5 25 13 10 0 14 1,1 5 1 5 10 1016 10 15 17 10 20 18 10 25 19 15 0 2-3 15 521 15 10 22 15 15 23 15 20 24 15 2 i 25 20 026 20 5 27 20 10 28 20 15 29 20 23 3'J 20 2531 25 0 32 25 5 33 25 10 34 25 15 3 5 25 203b 25 25

P O L ÍG O N O e x t e r n o

2 3 4 5 6 12 18 24 30 3635 34 33 32 31 25 19 13 7 1

2

S C l U C A 0

2 o 14 20 26 27 2 8 29 23 17. 11 10 16 22 21 15 9 3 4 56 12 18 24 30 36 35 34 33 32 31 25 19 13 7 1 2

C U S T 0 = 180

D A 0 0 S U £ E

C U G R D EN A C A S CAS

1 0 20 2 5 25 36 10 25 7 10 20 8

11 15 30 12 15 25 1316 15 5 17 20 40 1821 20 20 22 20 15 232 6 25 35 27 2 5 30 2831 25 10 32 2 5 5 3336 30 15 37 30 10 384 1 40 20

P C L I G 0 N 0 EX T ER N O

1 2 5 10 17 26 3 3 37 32 25 16 9 4 1

S 0 L ü C A 0

3 1 2 6 13 14 23 30 35 2S H 26 27 33 34 38 39 4 1 40 36 1

C U ^ S T 0 = 23 1

T F A 0 A

ci CAors

5 20 4 5. 15 5 10 3010 15 9 10 10 10 15 3515 20 14 15 13 15 15 1020 35 19 20 3 J 2 0 20 2520 10 24 20 5 25 20 025 25 29 25 20 30 25 1530 30 34 30 25 3 5 30 2035 25 39 35 20 40 35 15

38 41 40

29 22 21 20 1 ? 12 5 11 l o37 31 32 24 25 16 1 5 9 6

L A C G S C E E T P A C A

cü u R C E fs A C A S CAS 5C C IC A D E S

Ï2 2 ï 9 49 3 ' 52 £4 4 20 2o 5 40 3 C4 7 1 17 63 a 21 62 S 52 33 10 51 214 1 U J l 32 13 5 25 14 12 42 15 3o 164 1 17 7 23 18 17 33 19 13 13 20 57 564 2 i c 42 57 23 16 57 24 a 52 25 7 38t c 2 7 30 48 2a 43 67 29 sa 43 30 • 53 27i>S l e :>a 4o 33 46' 10 24 61 33 35 o2 63dS j 7 3 2 22 38 45 35 3 ç 59 15 • <*0 5 617 M <: 21 10 43 C £4 44 30 l i 45 39 103 S 4/ 25 32 4à 25 ' 55 49 4a 2a 50 56 37

FCLIOCf 'G EXT£f>NO

40 13 * 3 26 31 36 2 1 34 39 3340

47 12 HÒ

S C 1 U C A G

5 28 u 32 1 27 48 6 l à 25 14 2431 là •c 2 3 2 6 35 2 C 2 2 S 2 1 16 50 34 3015 37 17 44 42 19 40

C U S T C = 432

D A D C S D E E N T R A D A

CLiORut NACAS DAS 7 5 C ID A D E S

1 22 22 2 36 26 3 216 33 34 7 50 50 6 55

1 1 55 65 12 35 51 13 6216 21 36 17 33 44 18 92 1 44 13 22 26 13 23 1126 41 46 27 55 34 28 3531 31 76 32 22 53 33 263í> 54 10 37 6 0 15 38 4741 12 17 42 15 14 4 3 164 o 51 42 47 50 15 48 4851 29 39 52 54 38 53 555o 6 25 57 65 27 58 4061 36 6 62 30 20 63 206 6 57 72 67 45 42 68 3871 59 5 72 35 60 73 27

P O L IG C N O EX T ER N O

56 24 18 55 31 66 59 70 60 6 9 64 56

S 0 L U C A 0

23 49 24 18 50 3 44 32 25 5559 14 53 7 35 8 19 54 13 5751 6 75 68 2 74 30 4 45 2921 61 28 62 73 33 16 63 1 22

45 4 . 4 5 35 5 55 2045 9 ? j 5 j 10 40 6635 14 6 ? 5/ 15 62 2456 19 62 4d 20 66 1428 24 7 43 25 17 64 16 29 52 2 d 30 43 2629 34 50 40 35 55 50 66 39 33 60 40 30 50 19 44 21 4 i 4 5 50 30 21 49 12 33 50 15 5657 54 67 41 -55 10 70 60 59 70 64 60 64 430 64 15 5 65 50 70 33 69 50 ♦ 70 66 8 24 74 40 2 J 7b 40 37

54 57 20

3 1 10 72 39 ) 58 33 65 1 115 2 7 52 46 3V 67 26 12 4048 5 37 20 7 ) 60 71 36 6964 42 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 iV .O !•.s ' i 4s io n c : d ;

1 0 n 2 0 5 3 C 10 4 0 15 5 0 206 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 2016 5 25 17 5 30 18 C 35 1 9 5 4 C 2 0 5 4521 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 4531 1 5 fi 32 15 5 3 3 15 10 34 15 15 35 15 203 6 1 5 2 5 3 7 15 30 3 G 15 3 5 39 15 '(0 40 15 454 1 ") ( * 0 42 20 5 43 2 C 10 44 2 0 15 45 20 204 6 2 C 25 47 20 30 48 20 35 49 20 4 C. 5 C 20 455 1 i t C 52 25 5 5 3 25 10 5 4 2 5 15 55 25 2 05 6 25 25 5 7 25 30 58 25 35 59 25 4 0 60 25 456 1 3C C 62 30 5 6 3 30 10 6 4 30 15 65 30 20e t 3 C 2 5 t 7 30 30 .68 30 35 ' 6 9 3 0 4 0 7 0 30 457 1 "J c 0 72 3 5 5 . 73 3 5 10 74 35 15 75 35 2076 3 - - Î C

c. -■ 77 3 5 30 73 35 35 7 9 35 '-.0 80 35 45a 1 0 ■ fi 2 4 0 5 03 4 C 10 64 4 3 15 85 40 20r . fa • ' .C 2 5 0 7 40 30 38 40 35 89 40 40 90 40 459 1 4 5 C ■ 92 4 5 5 93 + 5 10 9 4 4 5 15 95 45 2096 45 25 5 7 45 3 0 î!3 45 35 99 4 5 40 100 45 45

2 T 4

p c l :

5

OC KG Ç

6

XT.'RK

7

rt.

fi 9 10 203 0 4 C 50 60 70 80 90 10C 99 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 99 Z t 1 9 l u 17 16 15 14 24 34 44 54 6 4 65 6 6 67 57 4 7 37 366 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

16

1 I1621263126Al465156t 16671768186<5196ICI106

223 C3 7771C 2

71

D A D O S C E E N T R A D A

C C G RD SN A D AS CAS 110 C ID A D E Ss s z s sÄ tt 3 X S S S S S - â S S S 5 3 S K s : s a

0 0 2 0 5 *2 C 1C A 0 15 5 0c 25 7 0 30 3 c 35 9 0 AO 10 0K C 12 5 5 13 5 ' 10 IA 5 15 15 55 25 17 5 30 i e C 35 19 5 AC 20 5

1C C' 22 10 5 23 ió 10 2 A 10 15 25 101C 25 21 1C 30 2 £ 1C 35 29 10 AO 30 1015 C 32 15 5 33 15 10 3 A 15 15 35 151 5 2 5 37 15 30 38 15 35 39 15 AO AO 152 C 0 A 2 20 5 A 2 2 C 10 AA 20 15 A 5 202 C 2 5 A 7 20 30 A8 2 C 35 A9 20 AC 5'0 2025 C 5 2 25 5 53 25 10 5A 25 15 55 2525 25 57 25 30 5 £ 25 ■35 59 25 AC 60 253 C C 62 30 5 63 30 10 6 A 30 15 65 303C 2 5 67 3 C 30 óe 3 C 35 69 30 AC 70 3035 C 72 35 5 73 35 10 7A 3 5 15 75 353 c 25 77 35 3 0 78 35 35 79 35 AO 80 35AC 0 82 AO 5 63 AC 10 8 A AO 15 85 AOAO 25 87 AO . 30 88 AO 35 89 AO AC 90 AOA 5 C 9 2 A 5 5 93 A 5 10 9 A A 5 15 95 A5A 5 25 9 7 A5 30 9£ A 5 35 9 9 A 5 AO 100 A5

C 50 102 5 50 103 1C 50 1 CA 15 50 105 202 5 5 C 107 3 C 50 1C8 35 50 109 40 50 110 A5

P C L IG C fv C EX T ER 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 101102 103 10A 105 106 107 108 109 110 ICO

99 9£ 97 96 95 9A 93 92 91 8171 6 1 51 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 8020 19 18 17 16 15 IA 2A 3 A AA 5 A í A í 5 66 6736 A í A 7 57 56 55 A5 35 25 2 6 2 7 28 29 39 A 976 75 7 A 73 63 53 A3 33 23 13 3 A 5 6 7

1C 3 1 CA 1 C 5 1 C6 107 108 109 110 100 99 98 97 9 É 95 9 A61 51 A l 31 21 1 1 1 2

C U S T C = £50

16

• i 1I t2 126313 64146515 66 16 6'7 17681869 196

1011 061 1 1I 161211261311 3614 11 4 61511 5616116 61711761 ö l18 61 911 96

20452045204520452045204520452045204520452045204520452045204520452045204520452045

U A D C S C E E N T R A C A

C U U R D EN A C A S CAS 2 00 C IC A C E S

0 C 2 0 5 3 0 10 4 0 15 5 00 2 5 7 0 30 a 0 35 9 0 40 10 05 C 12 5 5 13 5 10 14 5 15 15 55 25 17 5 30 18 5 35 19 5 40 20 5

10 C 22 10 5 23 ■ 10 10 24 10 15 25 1010 25 27 10 30 28 10 35 29 10 40 30 1015 C 32 15 5 33 15 10 34 15 15 35 1515 25 37 15 30 38 15 35 39 15 40 40 1520 C 42 20 5 43 20 10 44 20 15 45 2020 25 47 20 30 48 20 35 49 20 40 50 2025 C 52 25 5 53 25 10 54 25 15 55 2525 25 57 25 30 5â. 25 35 59 25 40 60 2530 C 62 30 5 63 30 10 ( 4 30 15 65 3030 25 67 30 30 68 30 35 69 30 40 70 3035 C 72 3 5 5 73 35 10 74 35 15 75 3535 25 77 35 30 là 35 35 79 35 40 80 3540 C 82 40 5 63 40 10 64 40 15. 85 4040 25 87 40 30 Ê8 40 35 89 40 40 90 4045 C 92 45 5 93 45 10 94 45 15 95 4545 25 97 4t> 30 98 45 35 99 45 40 100 4550 0 1 02 50 5 103 50 10 1C4 50 15 105 5050 25 107 . 50 30 1 C 8 50 35 1C9 50 40 110 5055 C 1 12 55 5 1 13 55 10 1 14 55 15 115 5555 25 11/ 55 30 1 18 55 35 1 19 55 40 120 55oO 0 122 60 5 123 60 10 124 60 15 125 6060 25 127 60 30 128 60 35 129 60 40 130 6065 . C 132 o 5 5 133 65 10 1 34 65 15 135 6565 25 137 ù 5 30 1 18 65 35 1 39 65 40 140 6570 0 142 70 5 143 70 10 144 70 15 145 7070 25 147 70 30 148 70 35 149 70 40 150 7075 C 152 75 5 1 53 75 10 154 75 15 155 7575 25 157 75 30 158 75 35 159 75 40 160 75ao C 162 80 5 163 80 10 164 80 15 165 80eo 25 167 80 30 168 80 35 169 60 40 170 8065 C 172 ü 5 5 173 65 10 1 74 85 15 175 3565 25 177 85 30 178 85 35 1 79 85 40 180 8590 C 182 90 5 1 £3 90 l ü 164 90 15 1 85 9090 25 l d 7 90 30 16b 90 35 169 90 40 190 9095 C 192 95 5 193 95 10 194 95 15 195 9595 25 197 95 30 198 95 35 199 95 40 2 00 95

P 0 L I G C N 0 EX TE F NO

2 3 4 5 6 7 t 9 10 2030 40 50 60 7 0 80 9 C IC O 110 1 2 0

130 140 150 160 170 180 190 2C0 199 1 98197 196 195 194 I e. 3 192 ' 191 181 17 1 16 1151 141 131 121 111 101 9 1 61 71 61

51 41 31 21 11 1 2

12 zz 32 42 5/ 62l a 5 1 86 l d 7 16 <3 l a V 179

29 19 lt í 1 7 16 15154 ló * . i o 5 166 167 157

5í> 66 76 86 96 10665 55 4 5 35 25 26

i s a 168 178 177 17o 17543 33 23 13 3 4

103 110 12C 13ü 140 150l d l 171 161 151 141 131

L L U C. A ü

72 62 92 102 112 122169 159 149 139 129 119

14 2 4 34 44 54 64147 137 127 117 107 97116 126 136 146 156 155

27 28 38 48 58 68174 173 163 152 1 4 ’ 133

5 6 7 é 9 10160 170 180 190 2C0 m121 U I 101 91 £1 71

132 142 X 52 162 172 182 1 83109 9 9 d9 79 6 9 59 49

74 84 94 104 114 124 13487 77 67 • 57 4 7 37 3c

145 135 125 115 105 95 8578 a a 9ô 1 oa u a 12Ö 13S

123 113 103 93 a 3 73 6320 30 4Ô 50 6 0 1o 8G

191 iHf 7 199 i* J3 192é 1 51 41 31 21 11 1

C U S T 0 = 1000