• Nenhum resultado encontrado

Rotas para distribuição de bens e serviços: proposta de um sistema de informação.

N/A
N/A
Protected

Academic year: 2021

Share "Rotas para distribuição de bens e serviços: proposta de um sistema de informação."

Copied!
140
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DA PARAlBA

CENTRO DE CIENCIAS E TECNOLOGIA

DEPARTAMENTO DE SISTEMAS DE COMPUTAgAO

ROTAS PARA DISTRIBUIQAO DE BENS E SERVIQOS

- PROPOSTA DE UM SISTEMA DE INFORMAgAO

HELEDIA CALIL BUENO DA COSTA

CAMPINA GRANDE - PARAlBA

AGOSTO - 19 82

(2)
(3)

ROTAS PARA DISTRIBUIQAO DE BENS E SERVICOS - PROPOSTA DE UM SISTEMA DE INFORMAQAO

TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAQAO DO CURSO DE POS-GRADUAgAO EM SISTEMAS E COMPUTAgAO DA UNIVERSIDADE FEDE RAL DA PARAlBA COMO PARTE DOS REQUISITOS NECESSARIOS PARA A OBTENQAO DO GRAU DE MESTRE EM Cl£NCIAS ( M . S c . ) .

A p r o v a d a p o r :

fflEIU&D^IAX QLIEIL B U B O MA

PETER JOACHIM SIEGFRIED BRUCKER - Ph.D. P r e s i d e n t e

-AA4

-—

O ILDEFON SO DE ALBUQUERQUE MELO - Ph.D.

MARIO TOYOTARO HATTORI - M.Sc.

CAMPINA GRANDE

ESTADO DA PARAlBA - BRASIL AGOSTO - 19 82

(4)
(5)

RESUMO N e s t e t r a b a l h o e p r o p o s t o um s i s t e m a d e i n f o r m a c a o p a r a a d e t e r m i n a c a o de r o t a s p a r a a d i s t r i b u i c a o de b e n s e s e r v i g o s . A f i m de p o s s i b i l i t a r uma i m p l e m e n t a g a o e f i c i e n t e d o s a l g o r i t m o s e n v o l v i d o s n a s o l u c a o do p r o b l e m a , f o i r e a l i z a d o um e s t u d o s o b r e o s o b j e t o s que d e v e r i a m s e r r e p r e s e n t a d o s no com p u t a d o r , e as e s t r u t u r a s de d a d o s q u e p o d e r i a m s e r u t i l i z a d a s n e s s a r e p r e s e n t a c a o . F o r a m l e v a n t a d o s t o d o s o s p r o b l e m a s e r e s t r i c o e s r e -l a c i o n a d a s com a a p -l i c a c a o r e a -l d o s i s t e m a , v i s a n d o s u a u t i -l i . z a g a o p r a t i c a . E f e t u o u s e a l g u m a s a p l i c a c o e s p r a t i c a s d o s i s t e m a u -t i l i z a n d o d a d o s r e a i s r e f e r e n -t e s a s c i d a d e s de F o r -t a l e z a e A-r a c a j u , e f o i A-r e a l i z a d a uma a n a l i s e d o s A-r e s u l t a d o s o b t i d o s .

(6)

I n o r d e r t o a l l o w a n e f f i c i e n t i m p l e m e n t a t i o n o f t h e a l g o r i t h m s i n v o l v e d i n t h e p r o b l e m r e s o l u t i o n , a s t u d y o n t h e o b j e c t s t h a t s h o u l d b e r e p r e s e n t e d i n t h e c o m p u t e r a n d t h e d a t a s t r u c t u r e t h a t c o u l d b e u s e d i n t h i s r e p r e s e n t a t i o n was ma d e . A l l t h e p r o b l e m s a n d r e s t r i c t i o n s c o n c e r n e d w i t h t h e a c t u a l a p l i c a t i o n o f t h e s y s t e m , a i m i n g t o i t s p r a c t i c a l u s a -ge w e r e s e t u p . Some p r a c t i c a l a p l i c a t i o n s o f t h e s y s t e m w e r e c a r r i e d o u t b y u s i n g r e a l d a t a r e f e r i n g t o t h e c i t i e s o f F o r t a l e z a a n d A r a c a j u , a n d a n a n a l y s i s o f t h e o b t a i n e d r e s u l t s was made.

(7)

A G R A D E C I M E N T O S Meus s i n c e r o s a g r a d e c i m e n t o s : A U n i v e r s i d a d e F e d e r a l de Sao C a r l o s , que me p r o p i c i o u a o p o r t u n i d a d e de r e a l i z a r e s t e t r a b a l h o ; Ao P r o f e s s o r D r . P e t e r J o a c h i n S i e g f r i e d B r u c k e r , p e l a r e l e v a n t e o r i e n t a g a o ; Aos P r o f e s s o r e s M a r i o T o y o t a r o H a t t o r i e A n t o n i o I l d e f o n so de A l b u q u e r q u e M e l o , p e l a s v a l i o s a s c o n t r i b u i g o e s a p r e s e n t a d a s ; A t o d a e q u i p e do N u c l e o de P r o c e s s a m e n t o de D a d o s , p e l o a p o i o e b o a v o n t a d e d u r a n t e a i m p l e m e n t a c a o dos a l -g o r i t m o s ; E a t o d o s que c o n t r i b u i r a m d i r e t a ou i n d i r e t a m e n t e p a r a a r e a l i z a g a o d e s t e t r a b a l h o .

(8)

2.2. F l u x o G e r a l d o S i s t e m a 03 2.3. E n t r a d a s e S a i d a s d o S i s t e m a 04

2.4. A r q u i v o s d o S i s t e m a • 08

2.5. F l u x o g r a m a d o S i s t e m a 10 CAPlTULO I I I ESTRUTURAS DE DADOS PARA A REPRESENTACAO

DOS OBJETOS NO COMPUTADOR 15

3 . 1 . G r a f os 15 3.2. O p e r a g o e s R e a l i z a d a s com o s G r a f o s . 17 3.3. R e p r e s e n t a c a o M a t r i c i a l d e G r a f o s .. 2 1 3.4. R e p r e s e n t a c a o n a o M a t r i c i a l d e G r a f o s 26 3.5. D i s c u s s a o d a s E s t r u t u r a s d e Dados p a . r a a R e p r e s e n t a c a o d e G r a f o s n o Com-p u t a d o r 3 1 CAPlTULO I V - DETERMINAQAO DA ROTA 37

4 . 1 . P r e p a r a o G r a f o I n i c i a l 37 4.2. A l g o r i t m o s p a r a T r a n s f o r m a g a o d o G r a f o I n i c i a l num G r a f o d e E u l e r ( M I -XED A) 43 4.3. D e t e r m i n a c a o d e uma R o t a num G r a f o d e E u l e r 58 4.4. I m p r e s s a o d a R o t a 6 1

CAPlTULO V - IMPLEMENTAQAO DOS ALGORITMOS 63 5 . 1 . D e s c r i g a o d a s E s t r u t u r a s d e Dados Es_ c o l h i d a s 64 5.2. A p l i c a c o e s 66 5.3. R e s u l t a d o s O b t i d o s 69 CAPlTULO V I - CONCLUSAO 10 4 AP&NDICE I 106 APGNDICE I I 125 BIBLIOGRAFIA 1 3 1

(9)

0 1 CAPlTULO r 1 . INTRODUQAO A d i s t r i b u i g a o de b e n s e s e r v i g o s em m u i t a s c i d a d e s b r a s i l e i r a s nao e e f e t u a d a de f o r m a e f i c i e n t e e e c o n o m i c a . Quando a d i s t r i b u i g a o e x i g e a u t i l i z a g a o de um v e l c u l o , como e o c a s o de c o l e t a de l i x o , a i n e f i c i e n c i a do s i s t e m a p o d e r e s u l t a r em a l t o s c u s t o s , d e v i d o ao d e s p e r d i c i o de c o m b u s t l v e l e a u t i l i z a g a o i n a d e q u a d a do v e i c u l o e d a m a o - d e - o b r a d i s p o n i v e l p a r a o s e r v i g o . 0 s i s t e m a u s a d o com m a i s f r e q u e n c i a e a d i v i s a o d a c i d a d e em z o n a s q u e p o s s a m s e r s e r v i d a s p o r um u n i c o v e i c u l o e a r o t a p a r a p e r c o r r e r e s s a s z c n a s e d e t e r m i n a d a e m p i r i c a m e n t e , r e s u l t a n d o , g e r a l m e n t e , em c u s t o s e l e v a d o s . 0 o b j e t i v o d e s s e t r a b a l h o e p r o p o r um s i s t e m a de i n -f o r m a g a o p a r a a d e t e r m i n a g a o d e r o t a s , v i s a n d o s o l u c i o n a r e -f i c i e n t e m e n t e o p r o b l e m a d a d i s t r i b u i g a o d e b e n s e s e r v i g o s em c i d a d e s de m e d i o e g r a n d e p o r t e s . E s s e s i s t e m a e a p l i c a v e l a z o n a s p r e v i a m e n t e d e f i n i d a s e f o i d i v i d i d o b a s i c a m e n t e em t r e s p a r t e s : 1 . E n t r a d a d a s i n f o r m a g o e s s o b r e uma z o n a p r e d e t e r -m i n a d a e c o n s t r u g a o do g r a f o i n i c i a l p a r a o q u a l sera, f o r n e c i d a uma r o t a ; 2. T r a n s f o r m a g a o do g r a f o i n i c i a l num g r a f o de E u l e r e d e t e r m i n a g a o de uma r o t a p a r a e s s e g r a f o ; 3. I m p r e s s a o d a r o t a . Podem-se c o n s i d e r a r b a s i c a m e n t e d u a s m a n e i r a s d i s t i n t a s d e r e a l i z a r a d i s t r i b u i g a o de b e n s e s e r v i g o s : com o u sem a u t i l i z a g a o de v e i c u l o s . N e s s e t r a b a l h o s o l u c i o n a s e o p r o b l e m a de d e t e r m i n a -gao de r o t a s t a n t o p a r a a d i s t r i b u i g a o m o t o r i z a d a como p a r a a nao m o t o r i z a d a , e m b o r a se e n f o q u e p r i n c i p a l m e n t e o p r i m e i r o c a s o . E s s e e n f o q u e se d e v e a uma s e r i e de f a t o r e s p r a t i c o s e q u e r e s t r i n g e m as o p g o e s de t r a f e g o t a i s como m a o - u n i c a , m a o - d u p l a , c o n t r a - m a o , r u a s com t r a f e g o i n t e n s o , e t c . . . E s s e s p r o b l e m a s n a o e x i s t e m p a r a a d i s t r i b u i g a o n a o m o t o r i z a d a . Os a l g o r i t m o s h e u r i s t i c o s p a r a r e s o l v e r o p r o b l e m a de d e t e r m i n a g a o de r o t a s b a s e i a m - s e no p r o b l e m a do c a r t e i r o c h i nes e f o r a m d e t a l h a d a m e n t e d e s c r i t o s n o s t r a b a l h o s de S a n t o s

(10)

[ 2 ] e C o s t a [ l ] . S a n t o s i m p l e m e n t o u p a r t e d e s s e s a l g o r i t m o s ( t r a n s f o r macao do g r a f o i n i c i a l num g r a f o de E u l e r ) de f o r m a i n s a t i s f a t o r i a , u t i l i z a n d o e s t r u t u r a s de d a d o s i n a d e q u a d a s p a r a a r e p r e s e n t a g a o d o s d a d o s no c o m p u t a d o r e e x e c u g a o de v a r i o s p a s s o s r n a n u a l m e n t e , q u e t o r n a r a m i m p o s s l v e l s u a a p l i c a g a o p r a t i c a . A f i m d e p o s s i b i l i t a r uma i m p l e m e n t a g a o e f i c i e n t e d o s a l g o r i t m o s f o i r e a l i z a d o um e s t u d o s o b r e os o b j e t o s q u e d e v e -r i a m s e -r -r e p -r e s e n t a d o s , as o p e -r a g o e s a q u e e -r a m s u b m e t i d a s pe l o s p r o c e d i m e n t o s e t o d a s a s e s t r u t u r a s d e d a d o s q u e p o d e r i a r a s e r u t i l i z a d a s p a r a s u a r e p r e s e n t a c a o no c o m p u t a d o r . E s s a s e s t r u t u r a s f o r a m a n a l i s a d a s s o b o s s e g u i n t e s a s p e c t o s : - e s p a c o de m e m o r i a n e c e s s a r i o ; - t e m p o d e p r o c e s s a m e n t o - f a c i l i d a d e d e m a n i p u l a c a o d o s d a d o s . A e s t r u t u r a e s c o l h i d a f o i a q u e f o r n e c e u a m e l h o r com b i n a c a o d e s s e s t r e s f a t o r e s . F o r a m e s t u d a d o s tambem o u t r o s p o n t o s c r i t i c o s n a i m -p l e m e n t a c a o e f e t u a d a -p o r S a n t o s e r e a l i z a d a s a l g u r n a s m o d i f i c a g o e s v i s a n d o e v i t a - l o s . Com a i m p l e m e n t a g a o d o a l g o r i t m o p a r a a d e t e r m i n a g a o de uma r o t a num g r a f o de E u l e r , d e s c r i t o no t r a b a l h o de C o s t a ( 1 ) , t o r n o u p o s s i v e l u t i l i z a r o s i s t e m a em s i t u a g o e s r e a i s . D u r a n t e o d e s e n v o l v i m e n t o d o s i s t e m a p r o c u r o u - s e c o n s i d e r a r t o d o s os p r o b l e m a s e r e s t r i g o e s r e l a c i o n a d o s com a s u a a p l i c a g a o p r a t i c a . E s s e s a s p e c t o s s a o d e s c r i t o s n o c a p i t u l o I I d e s s e t r a b a l h o . O c a p i t u l o I I I e d e d i c a d o a o s o b j e t o s e n v o l v i d o s no p r o b l e m a e as e s t r u t u r a s de d a d o s p a r a s u a r e p r e s e n t a g a o no com p u t a d o r . Os a l g o r i t m o s p a r a a d e t e r m i n a g a o d a r o t a s a o d e s c r i -t o s n o c a p i -t u l o I V . No c a p i t u l o V e d e s c r i t a a i m p l e m e n t a g a o d o s a l g o r i t mos, e s a o e f e t u a d a s a l g u r n a s a p l i c a g o e s com d a d o s r e a i s r e f e r e n t e s as c i d a d e s de F o r t a l e z a e A r a c a j u , e r e a l i z a d a uma a n a -l i s e d o s r e s u -l t a d o s o b t i d o s .

(11)

03

CAPlTULO I I 2. UMA SOLUgAO DO PROBLEMA

2 . 1 . I n t r o d u g a o N e s s e c a p i t u l o s e r a d e s c r i t o um s i s t e m a d e i n f o r m a gao p a r a a d e t e r m i n a g a o d e r o t a s , com a p l i c a g a o a d i s t r i b u i -gao d e b e n s e s e r v i g o s . O p r o b l e m a d e c o l e t a d e l i x o s e r a u t i l i z a d o como exem p l o . 0 p r o c e d i m e n t o u s a d o p o d e s e r e s t e n d i d o a o u t r o s p r o b l e -mas s e m e l h a n t e s como e n t r e g a a u t o m a t i c a d e b o t i j o e s d e g a s o u e n t r e g a d e a g u a m i n e r a l e n g a r r a f a d a . C o n s i d e r a - s e como " s e r v i g o - u t i l " , o f a t o d o c o l e t o r d e l i x o e s t a r s e movendo p e l a r u a e n q u a n t o r e c o l h e o l i x o , e d e n o m i n a - s e como " s e r v i g o - i n u t i l " , o f a t o d o c o l e t o r e s t a r s e movendo p e l a r u a sem c o l e t a r l i x o . O o b j e t i v o p r i n c i p a l d o s i s t e m a c o n s i s t e em o b t e r - s e uma r o t a q u e p a s s e p o r t o d a s as r u a s d e uma z o n a p r e d e t e r m i -n a d a d a c i d a d e p e l o me-nos uma v e z , m i -n i m i z a -n d o a d i s t a -n c i a p e r c o r r i d a p e l o c o l e t o r em " s e r v i g o - i n u t i l " . N e s s e s i s t e m a o s c u s t o s podem s e r c o n s i d e r a d o s d e d u a s f o r m a s d i f e r e n t e s : a) Os c u s t o s s a o l i n e a r e s com r e l a g a o a d i s t a n c i a . N e s s e c a s o e r a z o a v e l a d m i t i r q u e m i n i m i z a n d o a d i s t a n c i a m i n i m i z a - s e o s c u s t o s . b) A l e m d a d i s t a n c i a , o s c u s t o s s a o d e t e r m i n a d o s p o r o u t r o s f a t o r e s , t a i s como c o n d i g o e s d e t r a n s i t o e e s t a d o d a r u a . Nes se c a s o o s c u s t o s s e r a o c a l c u l a d o s l e v a n d o s e em c o n t a e s -s e -s f a t o r e -s . P a r a a a p l i c a g a o d o s i s t e m a , a c i d a d e d e v e r a s e r p r e v i a m e n t e d i v i d i d a em z o n a s . P a r a q u e a r o t a f o r n e c i d a p e l o s i s tema s e j a a m e l h o r p o s s i v e l , e n e c e s s a r i o q u e o z o n e a m e n t o d a c i d a d e tambem t e n h a s i d o o t i m i z a d o . Nesse t r a b a l h o assume-se que as z o n a s f o r n e c i d a s p a r a a d e t e r m i n a g a o d e uma r o t a , t e -nhem s i d o d i v i d i d a s d a m e l h o r m a n e i r a p o s s i v e l .

2.2. F l u x o G e r a l d o S i s t e m a

0 s i s t e m a p a r a f o r n e c i m e n t o d e r o t a s p o d e s e r d i v i d e do em t r e s p a s s o s . Um d i a g r a m a d e s s e s i s t e m a e v i s t o a s e g u i r .

(12)

P a s s o 1 -E n t r a d a e P r e p a r a c a o d o s d a d o s * P a s s o 2 •-D e t e r m i n a c a o d a r o t a \f P a s s o 3 -I m p r e s s o d o s R e l a -t o r i o s 2.3. E n t r a d a s e S a i d a s do S i s t e m a E n t e n d e - s e p o r USUARIO d o s i s t e m a a e m p r e s a , p r e f e i t u r a o u q u a l q u e r o u t r a e n t i d a d e q u e p r e c i s e e f e t u a r a d i s t r i b u i -gao d e a l g u m bem o u s e r v i c o numa d e t e r m i n a d a z o n a , e s o l i c i t e ao s i s t e m a o f o r n e c i m e n t o d a r o t a p a r a p e r c o r r e ~ l a . INFORMANTE e a p e s s o a d e s i g n a d a p e l o USUARIO p a r a r e s p o n s a b i l i z a r - s e p e l a o b t e n g a o e f o r n e c i m e n t o d a s i n f o r m a g o e s n e c e s s a r i a s p a r a a d e t e r m i n a g a o d a r o t a . 0 RESPONSAVEL p e l o s i s t e m a e a p e s s o a r e s -p o n s a v e l -p e l o r e c e b i m e n t o d a s i n f o r m a g o e s e n v i a d a s -p e l o INFOR-MANTE, o p e r a g a o do s i s t e m a , e tambem p e l a e n t r e g a ao INFORMAN-TE d a s s a i d a s f o r n e c i d a s p e l o s i s t e m a . 2 . 3 . 1 . E n t r a d a s A c o l e t a d a s i n f o r m a g o e s s o b r e as c a r a c t e r i s t i c a s de c a d a t r e c h o d a s r u a s de uma z o n a e o p r o c e d i m e n t o q u e demanda m a i o r q u a n t i d a d e de t e m p o . Deve s e r c o n d u z i d a uma p e s q u i s a s o -b r e c a d a z o n a p a r a f o r n e c e r e s s a s i n f o r m a g o e s . N e s s e t r a -b a l h o c o n s i d e r a - - s e q u e e s s a s i n f o r m a g o e s s a o c o l e t a d a s e f o r n e c i d a s

(13)

05 p e l o USUARIO. N e s s e s i s t e m a s a o u t i l i z a d o s d i v e r s o s f o r m u l a r i o s p a r a a e n t r a d a d o s d a d o s , q u e a q u i s e r a o d e s c r i t o s s u s c i n t a m e n -t e e s e u s m o d e l o s s e r a o a p r e s e n -t a d o s n o A p e n d i c e I . D e f i n e - s e a t u a l i z a g a o d e um a r q u i v o come a i n c l u s a o ou e x c l u s a o de um r e g i s t r o , o u a l t e r a c a o d a s i n f o r m a g o e s c o n -t i d a s nurn r e g i s -t r o . 2 . 3 . 1 . 1 . F o r m u l a r i o d e C a d a s t r o d e U s u a r i o O b j e t i v o : f o r n e c e r i n f o r m a g o e s s o b r e um USUARIO. £ u t i l i z a d o p a r a a a t u a l i z a g a o d o a r q u i v o CADASTRO DE USUARIO. P r e e n c h i d o p o r : USUARIO e RESPONSAVEL p e l o s i s t e m a . 2 . 3 . 1 . 2 . F o r m u l a r i o p a r a C a d a s t r o d e Zona O b j e t i v o : f o r n e c e r i n f o r m a g o e s s o b r e uma z o n a p a r a a q u a l s e r a f o r n e c i d a uma r o t a . £ u t i l i z a d o p a r a a a t u a l i z a g a o d o a r q u i v o de CADASTRO DE ZONAS d e um d e t e r m i n a d o u s u a r i o . P r e e n c h i d o p o r : INFORMANTE. 2 . 3 . 1 . 3 . F o r m u l a r i o p a r a C a d a s t r o de Ruas O b j e t i v o : i n f o r m a r q u a i s s a o a s r u a s q u e compoe uma d e t e r m i n a d a z o n a . U t i l i z a d o p a r a a c r i a g a o e a t u a l i z a g a o d o a r q u i v o CADASTRO DE RUAS. P r e e n c h i d o p o r : INFORMANTE. N 2 . 3 . 1 . 4 . F o r m u l a r i o p a r a C a d a s t r o d e E s q u i n a s O b j e t i v o : i n f o r m a r q u a i s s a o a s e s q u i n a s ( n 5 s ) q u e p e r t e n c e m a c a d a uma d a s r u a s d e uma z o n a . U t i l i z a d o p a r a c r i a r o u a t u a l i z a r o a r q u i v o CADASTRO DE ESQUINAS. P r e e n c h i d o p o r : INFORMANTE. 2 . 3 . 1 . 5 . F o r m u l a r i o p a r a C a d a s t r o d e T r e c h o s O b j e t i v o : f o r n e c e r a s i n f o r m a g o e s n e c e s s a r i a s s o b r e os t r e c h o s d e t o d a s a s r u a s d e uma z o n a . U t i l i z a d o p a r a c r i a r ou a t u a l i z a r o a r q u i v o CADASTRO DE TRECHOS.

(14)

P r e e n c h i d o p o r : INFORMANTE.

2 . 3 . 1 . 6 . F o r m u l a r i o p a r a C a d a s t r o d e R e s t r i g o e s de T r a n s i t o

O b j e t i v o : i n f o r m a r q u a i s o s t r e c h o s d e uma d e t e r m i n a da z o n a possuera r e s t r i c o e s d e t r a n s i t o . U t i l i z a d o p a r a a c r i a gao o u a t u a l i z a g a o d o a r q u i v o CADASTRO DE RESTRigAO.

P r e e n c h i d o p o r : INFORMANTE. OBS.: No A p e n d i c e I I f o i i n c l u i d o um m a n u a l d e u t i l i z a g a o d o s i s t e m a . 2.3.2. R e l a t 5 r i o s d e S a i d a d o S i s t e m a Os r e l a t o r i o s d e s a i d a d o s i s t e m a s a o a q u i d e s c r i t o s s u s c i n t a m e n t e , e s e u s m o d e l o s s a o a p r e s e n t a d o s n o A p e n d i c e I . 2 . 3 . 2 . 1 . R e l a g a o d o s U s u a r i o s C a d a s t r a d o s n o S i s t e m a a) F i n a l i d a d e : - c o n t r o l e d o s u s u a r i o s c a d a s t r a d o s n o s i s t e m a ; - f o r n e c e r t o d a s as i n f o r m a g o e s n e c e s s a r i a s s o b r e c a d a um d o s u s u a r i o s . b ) C a r a c t e r i s t i c a s G e r a i s : - e m i s s a o p o r s o l i c i t a g a o d o RESPONSAVEL p e l o si£ t e m a ; - d e s t i n a t a r i o : RESPONSAVEL p e l o s i s t e m a ; - o r d e n a g a o : o r d e n a d o a l f a b e t i c a m e n t e p o r nome d e USUARIO. 2 . 3 . 2 . 2 . R e l a g a o d a s Zonas C a d a s t r a d a s a) F i n a l i d a d e : - c o n t r o l e d o c a d a s t r o d a s z o n a s ; i n f o r m a r q u a n t a s e q u a i s s a o as z o n a s c a d a s t r a -das p o r um d e t e r m i n a d o USUARIO. b) C a r a c t e r i s t i c a s G e r a i s : - e m i s s a o *

(15)

07 - p o r s o l i c i t a g a o d o INFORMANTE; - p o r s o l i c i t a g a o d o RESPONSAVEL p e l o s i s t e m a ; - d e s t i n a t a r i o : - INFORMANTE; - RESPONSAVEL p e l o s i s t e m a ; - o r d e n a g a o : o r d e m c r e s c e n t e d e c o d i g o d a z o n a . 2 . 3 . 2 . 3 . R e l a g a o d a s Ruas C a d a s t r a d a s numa z o n a a) F i n a l i d a d e : i n f o r m a r q u a n t a s e q u a i s s a o a s r u as c a d a s t r a d a s numa d e t e r m i n a d a z o n a . b) C a r a c t e r i s t i c a s G e r a i s : - e r n i s s a o : - p o r s o l i c i t a g a o d o INFORMANTE; - p o r s o l i c i t a g a o d o RESPONSAVEL p e l o s i s t e m a ; q u a n d o uma n o v a z o n a f o r c a d a s t r a d a n o s i s t e -ma; q u a n d o h o u v e r a t u a l i z a g a o d a s r u a s c a d a s t r a -d a s numa z o n a ; - d e s t i n a t a r i o : - INFORMANTE; - RESPONSAVEL p e l o s i s t e m a ; - o r d e n a g a o : o r d e n a d o a l f a b e t i c a m e n t e p o r nome d e r u a . 2 . 3 . 2 . 4 . R o t a p a r a uma Zona a) F i n a l i d a d e : i n d i c a r a r o t a q u e d e v e s e r s e g u i d a p a r a p e r c o r r e r t o d a s a s r u a s d e uma d e t e r m i n a d a z o n a com o m i n i mo c u s t o p o s s i v e l . b) C a r a c t e r i s t i c a s G e r a i s : - e r n i s s a o : - q u a n d o f o r c a d a s t r a d a uma n o v a z o n a ; q u a n d o h o u v e r a l g u m a a t u a l i z a g a o d a s i n f o r m a -g o e s s o b r e uma z o n a ; - q u a n d o f o r s o l i c i t a d o p e l o INFORMANTE; - D e s t i n a t a r i o : - INFORMANTE .

(16)

2 . 4 . A r q u i v o s do S i s t e m a Os r e g i s t r o s dos a r q u i v o s s a o a q u i d e s c r i t o s s u s c i n -t a m e n -t e , e s e u s m o d e l o s s e r a o a p r e s e n -t a d o s no A p e n d i c e I . Os a r q u i v o s c o n t e n d o as i n f o r m a g o e s n e c e s s a r i a s p a r a a g e r a g a o d a s s a i d a s do s i s t e m a sao os s e g u i n t e s : - c a d a s t r o de U s u a r i o s ; - c a d a s t r o de Z o n a s ; - c a d a s t r o de Ruas; - c a d a s t r o de E s q u i n a s ; - c a d a s t r o de T r e c h o s ; - c a d a s t r o de R e s t r i g o e s ; - g r a f o ; - MATRIZ CHECK; - r o t a . P a r a os c a d a s t r o s , o p r o c e d i m e n t o p a r a a c r i a g a o e a-t u a l i z a g a o e p r a a-t i c a m e n a-t e i d e n a-t i c o . Os d a d o s e n a-t r a m em c a r a-t o e s , sao c r i t i c a d o s e c a s o e s t e j a m c o r r e t o s , os a r q u i v o s s a o a t u a -l i z a d o s e g r a v a d o s em f i t a m a g n e t i c a . O p t o u - s e p e l o a r m a z e n a m e n t o em f i t a m a g n e t i c a p e l a s s e g u i n t e s r a z o e s : - c u s t o b a i x o ; - b a i x a f r e q u e n c i a de u t i l i z a g a o dos a r q u i v o s . A c a d a p r o c e s s a m e n t o do s i s t e m a , os a r q u i v o s s e r a o co p i a d o s t e m p o r a r i a m e n t e em d i s c o , u t i l i z a d o s , e r e c o p i a d o s em f i t a , l i b e r a n d o n o v a m e n t e a a r e a do d i s c o . 2 . 4 . 1 . R e l a c i o n a m e n t o e n t r e as I n f o r m a g o e s

(17)

2.4.2. A r q u i v o C a d a s t r o d e U s u a r i o s O b j e t i v o : c o n t e r t o d a s as i n f o r m a g o e s n e c e s s a r i a s s o b r e c a d a um d o s USUARIOS. A r m a z e n a m e n t o : f i t a m a g n e t i c a . O r d e n a g a o : o r d e m c r e s c e n t e de c o d i g o de USUARIO. 2.4.3. A r q u i v o C a d a s t r o d e Zonas O b j e t i v o : c o n t e r i n f o r m a g o e s s o b r e as z o n a s c a d a s t r a d a s p o r um d e t e r m i n a d o USUARIO. A r m a z e n a m e n t o : f i t a m a g n e t i c a . O r d e n a g a o : o r d e m c r e s c e n t e de c o d i g o de z o n a . 2.4.4. A r q u i v o C a d a s t r e de E s q u i n a s O b j e t i v o : c o n t e r t o d a s a s e s q u i n a s p e r t e n c e n t e s a c a d a s r u a s de uma z o n a . E s s a s i n f o r m a g o e s s e r a o u t i l i z a -c r l t i -c a d o s d a d o s e n a i m p r e s s a o d a ROTA. A r m a z e n a m e n t o : f i t a m a g n e t i c a . O r d e n a g a o : o r d e m c r e s c e n t e d e c o d i g o d e r u a . 2.4.5. A r q u i v o C a d a s t r o de Ruas O b j e t i v o : c o n t e r t o d a s a s r u a s de uma z o n a e s e u s r e s p e c t i v o s c o d i g o s . A r m a z e n a m e n t o : f i t a m a g n e t i c a . O r d e n a g a o : o r d e m c r e s c e n t e d e c o d i g o de r u a . 2.4.6. A r q u i v o C a d a s t r o de T r e c h o s O b j e t i v o : c o n t e r i n f o r m a g o e s s o b r e o s t r e c h o s d a s r u uma z o n a . £ a p a r t i r desse. a r q u i v o q u e s e r a c o n s t r u i d o o i n i c i a l . A r m a z e n a m e n t o : f i t a m a g n e t i c a . 2.4.7. A r q u i v o C a d a s t r o de R e s t r i g o e s O b j e t i v o : c o n t e r i n f o r m a g o e s s o b r e o s t r e c h o s com r e s t r i g a o de t r a n s i t o e x i s t e n t e numa z o n a . d a uma d a s n a as d e g r a f o

(18)

O r d e n a g a o : o r d e m c r e s c e n t e d e n o i n i c i a l d o t r e c h o com r e s t r i c a o . A r m a z e n a m e n t o : f i t a m a g n e t i c a . 2 . 4 . 8 . A r q u i v o G r a f o O b j e t i v o : c o n t e r o g r a f o i n i c i a l q u e r e p r e s e n t a a z o na p a r a a q u a l s e r a f o r n e c i d a uma ROTA. A r m a z e n a m e n t o : d i s c o m a g n e t i c o ( t e m p o r a r i o ) . O r d e n a g a o : n a o r d e m c r e s c e n t e d e : 1) n5 i n i c i a l no t r e c h o ; 2) no f i n a l do t r e c h o . 2 . 4 . 9 . A r q u i v o MATRIZ CHECK O b j e t i v o : c o n t e r a m a t r i z q u e s e r a u t i l i z a d a n a v e r i f i c a g a o d e e r r o s n o GRAFO e n a i m p r e s s a o d a ROTA. A r m a z e n a m e n t o : d i s c o m a g n e t i c o ( t e m p o r a r i o ) . 0 f o r m a t o e u t i l i z a g a o d e s s a m a t r i z s e r a o d e s c r i t o s n o C a p i t u l o I I I . 2 . 4 . 1 0 e A r q u i v o R o t a O b j e t i v o : c o n t e r o c o n j u n t o d e t r e c h o s n a o r d e m em que compoem a r o t a p a r a p e r c o r r e r a z o n a . A r m a z e n a m e n t o : d i s c o m a g n e t i c o ( t e m p o r a r i o ) . 2 . 5 . F l u x o g r a m a do S i s t e m a a) E n t r a d a d e d a d o s

(19)

1 1

a . l ) A t u a l i z a o s C a d a s t r o s

Cadastro Cadastro Cadastro Cadastro Cadastro Cadastro Usuarios Zonas Ruas Esquinas Trechos Restricoes

Copia em F i t a

Cadastro Cadastro Cadastro Cadastro Cadastro Cadastro A t u a l Atual Atual A t u a l A t u a l A t u a l ^ Usuarios Zonas Ruas Esquinas Trechos Restricoes

(20)

a.2) P r e p a r a o G r a f o I n i c i a l . C o n s t r 5 i e V e r i f i c a o s p o s s l v e i s e r r o s do g r a f o i n i c i a l . C a d a s t r o A t u a l T r e c h o s V M o n t a G r a f o C a d a s t r o A t u a l E s q u i n a s M o n t a MATRIZ CHECK V e r i f i c a e r r o s d o G r a f o F i g u r a 2 . 2 .

(21)

b) D e t e r m i n a a R o t a M i x e d A V G r a f o de E u l e r C a d a s t r o A t u a l R e s t r i c o e s - > D e t e r m i n a R o t a R o t a

(22)
(23)

CAPITULO I I I

3. ESTRUTURAS DE DADOS PARA A REPRESENTAQAO DOS OBJETOS NO COMPUTADOR A r e p r e s e n t a c a o e i d e n t i f i c a c a o d o s d a d o s n o compu-t a d o r e um d o s a s s u n compu-t o s m a i s i m p o r compu-t a n compu-t e s d e s s e compu-t r a b a l h o . A e s c o l h a d a e s t r u t u r a d e d a d o s m a i s a d e q u a d o s p a r a a . r e p r e s e n t a c a o d o s o b j e t o s e n v o l v i d o s n o p r o b l e m a , e d e f u n d a m e n t a l i m p o r t a n c i a p a r a a e f i c i e n c i a d a i m p l e m e n t a g a o d e qua_l q u e r a l g o r i t m o . A o p c a o p o r s e r uma e s t r u t u r a i n a d e q u a d a p o d e o c a s i o n a r g r a v e s p r o b l e m a s n a m a n i p u l a c a o d o s d a d o s , n a e x e c u gao d e p r o g r a m a s , e n a u t i l i z a g a o d o e s p a g o d e m e m 5 r i a . Os m e t o d o s e t e c n i c a s q u e s e r a o d e s c r i t o s n e s s e c a p i t u l o , v i s a m s o l u c i o n a r o p r o b l e m a e s p e c i f i c o d e i m p l e m e n t a -gao d o s a l g o r i t m o s p a r a a d e t e r m i n a g a o d e r o t a s , p a r a a d i s t r i b u i g a o d e b e n s e s e r v i g o s , mas podem s e r a p l i c a d a s a uma gama v a r i a d a d e p r o b l e m a s e s p e c i a l m e n t e , o s q u e u t i l i z a m g r a f o s n a s u a m o d e l a g e m . P a r a s o l u c i o n a r o p r o b l e m a d e d e t e r m i n a g a o d e r o t a s sao u t i l i z a d o s o s s e g u i n t e s o b j e t o s de r e p r e s e n t a g a o : 3 . 1 . G r a f o s Os g r a f o s e n v o l v i d o s n a s o l u g a o d o p r o b l e m a tern a s -s o c i a d o -s a c a d a a r c o o u ramo a -s -s e g u i n t e -s i n f o r m a g o e -s : - No i n i c i a l ; - No f i l i a l ; - C u s t o ; - S e n t i d o ( d o a r c o ) ; - C a p a c i d a d e ; - F l u x o . A l e m d i s s o , a c a d a n o d o g r a f o s a o a s s o c i a d a s a s s e g u i n t e s i n f o r m a g o e s : - G r a u ; - D e f i c i t . A s e g u i r s a o a p r e s e n t a d o s t o d o s o s t i p o s d e g r a f o s u t i l i z a d o s n e s s e t r a b a l h o .

(24)

r i g e m o u n5 i n i c i a l , e W e chamado de e x t r e m i d a d e o u no f i n a l . D i z - s e tambem que o a r c o (V, W) e d e V p a r a W, e q u e o no W e a d j a c e n t e com o no V. Ex. : G = ( N , A) N = ( 1 , 2, 3, 4, 5) A = { ( 1 , 2 ) , ( 1 , 4 ) , ( 2 , 3 ) , ( 3 , 5 ) , ( 5 , 4 ) } 3.1.2. G r a f o s n a o O r i e n t a d o s (Nao D i r e c i o n a d o s ) D e f i n i c a o : Um g r a f o n a o o r i e n t a d o G = ( N , E) c o n s i s t e de um c o n j u n t o f i n i t o e nao v a z i o de n 5 s N e de um c o n j u n -t o de r a m o s E. Os r a m o s s a o p a r e s o r d e n a d o s d e n o s d i s -t i n -t o s , d e n o t a d o s p o r {V,W}. Assume-se q u e {V,W} = (V,W)*, (W,V)*, o n d e * i n d i c a q u e e s s e s d o i s a r c o s r e p r e s e n t a m um ramo. A o c o r -r e n c i a de d o i s a -r c o s p a -r a l e l o s e com s e n t i d o s o p o s t o s s e -r a i n d i c a d a p o r (V,W), (W,V), sem o *. Ex. : 1 2 G = ( N , E) N = ( 1 , 2, 3, 4) E = { { 1 , 2 } , { 1 , 3 } , { 2 , 3 } { 2 , 4 },{ 3 , 4 } } 3.1.3. G r a f o s M i s t o s Um g r a f o m i x t o G = ( N , E, A ) , c o n s i s t e de um c o n j u n t o f i n i t o e n a o v a z i o de n o s N, de um c o n j u n t o de r a m o s E, e um c o n j u n t o de a r c o s A, o n d e A f l E = 4>.

(25)

17

(N, E| A)

{ { 1 , 2 } , { 2 , 4 } , { 3 , 4 } } { ( 1 , 3 ) }

3.1.4. G r a f o s M i s t o s com A r c o s e Ramos P a r a l e l o s

Um g r a f o m i s t o com a r c o s e ramos p a r a l e l o s G=(N,E,A), c o n s i s t e de um c o n j u n t o de n o s N, um c o n j u n t o de r a m o s E e um c o n j u n t o de a r c o s A, t a l q u e o c o n j u n t o E p o d e c o n t e r d o i s o u m a i s r a m o s i g u a i s (E={ {V,W},{V,W},...}) , e o c o n j u n t o A p o d e c o n t e r d o i s o u m a i s a r c o s r e p e t i d o s com o mesmo s e n t i d o , o u com s e n t i d o c o n t r a r i o (A={ (V,W),(V,W),(W,V) , . . . } ) . Ex. : E = { { 1 , 4 } , { 2 , 5 } , { 2 , 3 } , { 2 , 3 } , { 3 , 4 },{ 3 , 4 },{4 , 5 },{4 , 5 } } A - { ( 1 , 2 ) , ( 1 , 2 ) , ( 2 , 1 ) , ( 4 , 5 ) } 3.2. O p e r a g o e s ' R e a l i z a d a s com os G r a f o s D u r a n t e o p r o c e s s a m e n t o s a o r e a l i z a d a s d i v e r s a s o p e r a g o e s com o s g r a f o s , t r a n s f o r m a n d o - o s s u c e s s i v a m e n t e a t e a o b t e n g a o d a s o l u g a o d e s e j a d a . E s s a s o p e r a g o e s s a o a s s e g u i n -t e s : 3 . 2 . 1 . A d i g a o E s s a o p e r a g a o c o n s i s t e n a i n c l u s a o de um n o v o ramo (V,W) o u a r c o (V,W), no g r a f o . E s s a o p e r a g a o a c r e s c e n t a um no v o e l e m e n t o ao c o n j u n t o d e r a m o s E o u ao c o n j u n t o de a r c o s A. O c a s i o n a l m e n t e p o d e o c o r r e r o a c r e s c i m o de um n o v o no ao c o n

(26)

-j u n t o N. Ex. : 1 ^ 2

i

3 > 4 1 1 2 3.2.2. Remogao G = (N,E,A) N = { 1 , 2, 3, 4 } A = { ( 1 , 2 ) , ( 1 , 3 ) , ( 3 , 4 ) } E = { { 2 , 4 } } G = (N,E , A) N = { 1 , 2, 3, 4 } A = { ( 1 , 2 ) , ( 1 , 2 ) , ( 1 , 3 ) , ( 3 , 4 ) , ( 3 , 4 ) } E = { { 2 , 3 } , { 2 , 4 } , { 2 , 4 } , { 2 , 4 } } E s s a o p e r a g a o c o n s i s t e em r e t i r a r um a r c o (V,W) do c o n j u n t o de a r c o s A o u um ramo {V,W} do c o n j u n t o de r a m o s E. Quando o c o r r e r e s t a o p e r a g a o , um d e s s e s c o n j u n t o s s e r a d i m i -n u i d c de um e l e m e -n t o . E s s a o p e r a g a o e a i -n v e r s a de a d i g a o * Ex. : G = (N ,E , A) N = { 1 , 2, 3, 4 } A = { ( 1 , 2 ) , ( 1 , 3 ) , ( 3 , 4 ) , ( 3 , 4 ) } E = { { 2 , 4 } , { 2 , 4 } , { 2 , 4 } } G = (N , E , A) N = { 1 , 2, 3, 4 } A - { ( 1 , 2 ) , ( 1 , 3 ) , ( 3 , 4 ) } E = { { 2 , 4 } , { 2 , 4 } } 3.2.3. T r a n s f o r m a g a o E s s a o p e r a g a o c o n s i s t e em mudar um a r c o (V,W) e A em um reimo {V,W}eE, o u v i c e - v e r s a . N e s s e c a s o um d o s c o n j u n t o s se r a d i m i n u i d o do um e l e m e n t o e o o u t r o s e r a a u m e n t a d o de u m e l e m e n t o . A t r a v e s d e s s a o p e r a g a o e p o s s i v e l t r a n s f o r m a r um g r a f o o r i e n t a d o , num g r a f o n a o o r i e n t a d o , o u v i c e - v e r s a .

(27)

19 Ex. : G = (N,E,A) N = { 1 , 2, 3, 4 } E = { { 1 , 3 } , { 2 , 4 } , { 2 , 4 } } A = { ( 1 , 2 ) , ( 3 , 4 ) ) G = (N, A) N = { 1 , 2, 3, 4 } A = { ( 1 , 2 ) , ( 1 , 3 ) , ( 3 , 4 ) , ( 2 , 4 ) , ( 2 , 4 ) } 3.2.4. A l t e r a g a o E s s a o p e r a g a o muda as i n f o r m a g o e s s o b r e um a r c o o u r a m o , p o r e x e m p l o , mudanga de c a p a c i d a d e de um a r c o . 3.2.5. R e d u g a o E s s a o p e r a g a o t r a n s f o r m a um g r a f o m i s t o num s u b g r a f o nao o r i e n t a d o . N e s s e c a s o o c o n j u n t o de a r c o s A t o r n a - s e v a z i o , e o c o n j u n t o de nos N p o d e s e r d i m i n u i d o de a l g u n s e l e m e n t o s . Ex. : G = ( N , E , A) N - { 1 , 2, 3, 4, 5, 6 } A = { ( 1 , 2 ) , ( 2 , 3 ) , ( 4 , 5 ) , ( 5 , 6 ) , ( 6 , 3 ) } E = { { 1 , 4 } , { 2 , 5 } , { 2 , 5 } } G = (N,E) N = ( 1 , 2, 4, 5 ) E = { { 1 , 4 } , { 2 , 5 } , { 2 , 5 } } 5 2

(28)

Um ramo { V , W } , o u um a r c o (V,W), e d i t o i n c i d e n t e com um no k s e k = V o u k = W.

Num g r a f o m i s t o um no k p o d e s e r i n c i d e n t e t a n t o com a r c o s como com r a m o s . A soma d o n u m e r o de a r c o s e r a m o s i n c i d e n t e s com um n5 k e d e f i n i d o como g r a u d o no k, c u j a r e p r e -s e n t a c a o -s e r a g r a u ( k ) . D e f i n e s e como g r a u d e e n t r a d a d o n5 k, r e p r e s e n t a -d o p o r e n t r a ( k ) , o n u m e r o -d e a r c o s c u j o n o f i n a l e k. O numer o de a numer c o s c u j o no i n i c i a l e k, e d e f i n i d o como g numer a u de s a i -d a -d e k, e r e p r e s e n t a -d o p o r s a i ( k ) . Ex. : 1 s>2 g r a u (2) = 3 e n t r a ( 2 ) = 1 s a i ( 2 ) = 0 3.2.7. D e f i c i t de um No P a r a c a d a n o V de um g r a f o m i s t o d e f i n e - s e d e f i c i t de V como e n t r a ( V ) - s a i ( V ) , e d e n o t a - s e p o r d e f ( V ) . No g r a f o d o e x e m p l o a n t e r i o r o d e f i c i t d o n o 2 e: d e f (.2) = e n t r a ( 2 ) - s a i (2) = 1 3.2.8. Caminho, R o t a e C a d e i a

Num g r a f o m i s t o G = (N,E,A) uma s e q u e n c i a f i n i t a S = e ( l ) , e ( 2 ) , e ( N ) , o n d e e ( k ) - ( V ( k ) , V ( k + 1 ) ) o u e ( k ) = ( V ( k ) , V ( k + 1 ) } , e chamada de c a m i n h o d o no V ( l ) p a r a o no V(N) . Quando V ( l ) = V ( N ) , e e s t e c a m i n h o i n c l u i t o d o s os r a m o s e t o d o s o s a r c o s do g r a f o , d i z - s e q u e e s t e c a m i n h o e uma r o t a . C a d e i a e um c a m i n h o o u uma s e q u e n c i a f i n i t a S de a r c o s e r a m o s , o n d e o s e n t i d o d o s a r c o s n a o e c o n s i d e r a d o . Ex. : 1 5-2

t

(29)

2 1 c a m i n h o de 1 p a r a 4 1 > 2 2 - > 4 r o t a com v ( l ) = v ( N ) 3 => l 1 > 2 2 5>4 4 > 3 = 3 3.3. R e p r e s e n t a c a o M a t r i c i a l de G r a f o s A p a r t i r d e a g o r a , um ramo ( i , j ) s e r a s e m p r e r e p r e s e n t a d o p o r d o i s a r c o s ( i , j ) * e ( j , i ) * . 0 * d i f e r e n c i a um r a -mo { i , j } , de d o i s a r c o s p a r a l e l o s com s e n t i d o s c o n t r a r i o s ( i , j e ( j , i ) . A s s i m , r a m o s e a r c o s s e r a o t r a t a d o s d a mesma f o r m a . Ex. : 1 2 E = { ( 1 , 2 ) * , ( 2 , 1 ) * } A = { } A - { ( 1 , 2 ) , ( 2 , 1 ) } E = { } 3 . 3 . 1 . M a t r i z de I n c i d e n c i a S e j a um g r a f o G = (N,E,A) com N n 5 s e r a r c o s . A ma t r i z de i n c i d e n c i a d e G e uma m a t r i z A = [ a ( i , j ) ] c o m N l i n h a s e r c o l u n a s , o n d e as l i n h a s c o r r e s p o n d e m a o s n o s , e as c o l u n a s c o r r e s p o n d e m a o s a r c o s . 0 c o n t e u d o d a m a t r i z e d e f i n i d o d a s e g u i n t e f o r m a : a ( i , j ) = 1 - s e o a r c o j e i n c i d e n t e com o n 5 i ; a ( i , j ) = 0 - c a s o c o n t r a r i o . Ex.: a b 1 2 3 4 5 e

(30)

M a t r i z de I n c i d e n c i a a b c d e 1 1 0 1 0 0 2 1 1 0 1 0 3 0 1 0 0 0 4 0 0 1 • 0 1 5 0 0 0 1 1 3.3,2. M a t r i z de A d j a c e n c i a S e j a um g r a f o G = (N,E,A) sem r a m o s o u a r c o s p a r a l e l o s . A m a t r i z de a d j a c e n c i a X = [ x ( i , j ) ] de ordern N e c o n s t r u I d a d a s e g u i n t e m a n e i r a : x ( i , j ) = 1 - s e h a um a r c o de no i p a r a o no j ; x ( i , j ) = 0 - c a s o c o n t r a r i o 1 > 2 > 4 3 < 5 M a t r i z de A d j a c e n c i a 1 2 3 4 5 1 0 1 0 0 0 2 0 ' 0 1 * 1 0 3 0 1 * 0 0 0 4 0 0 0 0 1 5 0 0 1 0 0 3.3.3. M a t r i z d o s C u s t o s d a s C a d e i a s de Menor C u s t o S e j a G = (N,E,A ) um g r a f o com N n o s e r a r c o s . A ma t r i z d o s c u s t o s d a s c a d e i a s de m e n o r c u s t o , C d e o r d e m N e de f i n i d a p o r : c ( i f j ) ~ Y ™ s e e x i s t e uma c a d e i a d e m e n o r c u s t o y e n t r e o s n o s i e j ; c ( i , j ) = i n f i n i t o - c a s o c o n t r a r i o , e

(31)

23 Ex. : 20 c ( i , i ) = i n f i n i t e 5 10 M a t r i z d o s C u s t o s d a s C a d e i a s de Menor C u s t o 1 2 3 4 5 1 i n f 5 15 20 25 2 5 i n f 10 25 20 3 15 10 i n f 35 30 4 20 25 35 i n f 5 5 25 20 30 5 i n f 3.3.4 . M a t r i z e s E s p a r s a s Uma m a t r i z e d i t a e s p a r s a q u a n d o pos m e n t o s n u l o s . Nao e x i s t e uma d e f i n i c a o p r e c i s a m a t r i z e e s p a r s a o u n a o ; e um c o n c e i t o que se i n t u i t i v a m e n t e . Ex. : 1 2 3 4 5 6 1 14 0 0 0 0 15 2 0 0 0 0 0 0 3 0 0 0 0 8 0 4 9 0 0 0 0 0 5 0 0 5 0 0 1 1 6 0 0 0 0 0 3 uma F i g u r a 3. 1 P o d e - s e n o t a r que a m a t r i z d e s s e e x e m p l o c o n t e m uma q u a n t i d a d e m u i t o g r a n d e de e l e m e n t o s com v a l o r z e r o . A p e n a s 7 d o s 36 e l e m e n t o s da m a t r i z nao sao n u l o s , E s s a m a t r i z e c o n s i d e r a d a e s p a r s a . £ f a c i l de n o t a r tambem q u e as m a t r i z e s ' de a d j a c e n c i a e de i n c i d e n c i a p a r a a r e p r e s e n t a c a o de g r a f o s sao go-r a l m e n t e e s p a go-r s a s .

(32)

Quando a m a t r i z q u e e s t a s e n d o u t i l i z a d a e e s p a r s a , p o d e - s e e c o n o m i z a r m u i t o e s p a g o de m e m o r i a e t e m p o de c o m p u t a g a o , se s o m e n t e o s t e r m o s d i f e r e n t e s d e z e r o f o r e m e x p l i c i t a -m e n t e a r -m a z e n a d o s [ 3 ] . Cada e l e m e n t o d a m a t r i z e u n i c a m e n t e c a r a c t e r i z a d o p o r s u a p o s i g a o numa l i n h a i e numa c o l u n a j . A r m a z e n a s e e n -t a o a m a -t r i z como uma l i s -t a d e -t r i p l a s , d a s e g u i n -t e f o r m a : ( i , j , v a l o r ) Ex.: A l i s t a de t r i p l a s p a r a r e p r e s e n t a r a m a t r i z e s p a r s a da f i g u r a 3 . 1 , s e r i a a s e g u i n t e : i j v a l o r 1 1 14 1 6 15 3 5 8 4 1 9 5 3 5 5 6 1 1 6 6 3 E s s a f o r m a de r e p r e s e n t a g a o s e q u e n c i a l , a p e s a r de s u a s q u a l i d a d e s e c o n o m i c a s e m u i t o r i g i d a , d i f i c u l t a n d o as o-p e r a g o e s com a m a t r i z . Uma e s t r u t u r a m a i s g e r a l o-p a r a o o-p r o b l e ma e a l i s t a e n c a d e a d a [ 3 ] . A s s i m , c a d a c o l u n a d a m a t r i z e s p a r s a s e r a r e p r e s e n -t a d a p o r uma l i s -t a c i r c u l a r e n c a d e a d a com um n o d o - c a b e g a . E c a d a l i n h a tambem i r a r e p r e s e n t a r um t e r m o n a o n u l o d a m a t r i z , d a s e g u i n t e f o r m a :

BAIXO LINHA COLUNA D I R E I T A VALOR 0 campo BAIXO i n d i c a o p r o x i m o e l e m e n t o n a o n u l o d a c o l u n a e o campo D I R E I T A i n d i c a o p r o x i m o e l e m e n t o n a o n u l o da l i n h a . Nodo q u e e s q u e m a t i z a o t e r m o a ( i , j ) : a ( i , j )

(33)

25 A r e p r e s e n t a c a o da m a t r i z da f i g u r a 3.1 p o r e s s e me t o d o , e v i s t a na f i g u r a 3.2. m fd U •H

(34)

Os n o d o s - c a b e c a f o r a m c a r a c t e r i z a d o s como C l - C6. 3.4. R e p r e s e n t a c a o n a o M a t r i c i a l de G r a f o s 3 . 4 . 1 . R e p r e s e n t a c a o L i n e a r Um g r a f o G = (N,E,A) tambem p o d e s e r r e p r e s e n t a d o p o r um c o n j u n t o de f 5 r m u l a s l i n e a r e s \jf] . Essas f o r m u l a s sao o b t i d a s a t r a v e s d a r e p r e s e n t a c a o de c a d a a r c o p o r um o p e r a d o r , p o r e x e m p l o , um * a p l i c a d o a o s r o t u l o s de n o s . A s s i m , o a r c o ( 1 , 2 ) e r e p r e s e n t a d o p o r * 1 2 . Um g r a f o u t i l i z a n d o e s s a t e c n i -c a s e r i a r e p r e s e n t a d o d a s e g u i n t e m a n e i r a : Ex. : 1 > 2 VMM 3 - 4 * 1 2 * * * 2 3 3 3 * 3 4 OBS.: No c a s o de a r c o s p a r a l e l o s , o n 5 i n i c i a l e i n d i c a d o uma u n i c a v e z , e o no f i n a l e r e p e t i d o t a n t a s v e z e s q u a n t o s s e j a m os a r c o s . 3.4.2. L i s t a de A r c o s O u t r a f o r m a n a o m a t r i c i a l d e r e p r e s e n t a c a o de g r a f o s f r e q u e n t e m e n t e u r i l i z a d a e uma l i s t a d e t o d o s o s a r c o s d e um g r a f o G = (N,E,A) como p a r e s de n 5 s [ 5 ] . Ex.: 0 g r a f o G = (N,E,A) > 2 F i g u r a 3.3. Pode s e r r e p r e s e n t a d o como o s e g u i n t e c o n j u n t o de pa

(35)

27 r e s o r d e n a d o s : ( 1 , 2 ) , ( 2 , 1 ) , ( 1 , 3 ) , ( 2 , 4 ) , ( 2 , 4 ) . , ( 3 , 4 ) * , ( 4 , 3 ) * . 3.4.3. L i s t a s de S u c e s s o r e s E s s e m e t o d o c o n s i s t e em se r e p r e s e n t a r c a d a no k e N, do g r a f o G = (N,E,A) p o r um v e t o r c u j o s e l e m e n t o s s a o o s n o s que i m e d i a t a m e n t e s u c e d e m o no k [ 3 J . 0 g r a f o do e x e m p l o da f i g u r a 3.3 t e r i a a s e g u i n t e r e p r e s e n t a g a o com e s s a e s t r u t u r a : 1 : 2,3 2: 1,4,4 3: 4* 4: 3* 3.4.4. D o i s V e t o r e s Uma v a r i a g a o d a s l i s t a s de a r c o s e a r e p r e s e n t a c a o do g r a f o G = (N,E,A) p o r d o i s v e t o r e s [ 3 ] , d e n o m i n a d o s F = { f ( D , f ( 2 ) , f ( r ) } , e H = { h ( l , h ( 2 ) , h ( r ) } , o n de r e o n u m e r o de a r c o s de um n o . A s s i m , o i - e s i m o a r c o e ( i ) v a i do no f ( i ) a t e o no h ( i ) . P a r a o g r a f o da f i g u r a 3.3 os d o i s v e t o r e s s e r i a m os s e g u i n t e s : F = ( 1 , 2 , 1 , 3 * , 4 * , 2 , 2 ) H = ( 2 , 1 , 3 , 4 * , 3 * , 4 , 4 ) Um esquema m e l h o r d e s s e m e t o d o [ 3 ] , c o n s i s t e em um v e t o r V = { v ( l ) , v ( 2 ) , . . . , v ( n ) } e um v e t o r NOF = ( n o f ( l ) , n o f ( 2 ) , n o f ( r ) } , o n d e r e o n u m e r o de a r -c o s do g r a f o G = ( N , E , A ) . 0 v a l o r de v ( l ) i n d i -c a a p o s i g a o , no v e t o r NOF, o n d e e s t a a r m a z e n a d o o no f i n a l do p r i m e i r o a r co i n c i d e n t e com o no i . Os nos f i n a i s d o s o u t r o s a r c o s i n c i -d e n t e s com o no 1 e s t a r a o s e g u e n c i a l m e n t e -d i s p o s t o s em NOF. As s i m , o g r a f o da f i g u r a 3.3 s e r i a r e p r e s e n t a d o da s e g u i n t e ma-n e i r a :

(36)

NO V NOF 1 1 -> j 1 2 3 2 2 3 6 4 3 4 7 1 4 • 4 5 4* 6 3* 7 3.4.5. L i s t a s d e A d j a c e n c i a E s s a e s t r u t u r a c o n s i s t e na r e p r e s e n t a c a o d o s n 5 s ( k l , kN) , a d j a c e n t e s com um no i , a t r a v e s de uma l i s t a e n c a d e a d a [ 5 ] . A s s i m um g r a f o G = (N,E,A) e r e p r e s e n t a d o p o r N l i s t a s e n c a d e a d a s , uma p a r a c a d a no i . Cada n o d o p e r t e n c e n t e a uma l i s t a i , r e p r e s e n t a um n5 a d j a c e n t e com o no i . Os n o d o s s e r a o c o m p o s t o s p e l o menos d o i s campos: NOF e ENC, o n d e NOF c o n t e m o no a d j a c e n t e com i , e ENC i n d i c a a p o s i g a o o n d e e s t a a r m a z e n a d o o p r o x i m o no a d j a c e n t e com i . ENC = 0 i n d i c a q u e n a o e x i s t e m m a i s n o s a d j a c e n t e s com o no i . Usando e s s a e s t r u t u r a p a r a a r m a z e n a r o g r a f o d a f i -g u r a 3.3 r e s u l t a r i a no s e -g u i n t e : n5 1 no 2 no 3 no 4 NODO CABEQA NOF -5" 3 ENC 0 NOF ENC F i g u r a 3.4. A r e p r e s e n t a g a o t a b u l a r d e s s a e s t r u t u r a p o d e s e r f e i _ t a a t r a v e s d a u t i l i z a g a o de t r e s v e t o r e s : N C ( i ) ( i = l , N ) o n d e s a o a r m a z e n a d o s os n o d o s - c a b e g a ; N O F ( j ) ( j = l , r ) o n d e s a o a r m a z e n a d o s os n o s a d j a c e n t e s com o n o i ; e E N C ( j ) ( j = l , r ) c u j o c o n t e u d o i n d i c a a p o s i g a o do p r 5 x i m o no a d j a c e n t e com o no i .

(37)

29

NC NOF ENC ARCOS

2 2 ( 1 , 2 ) 3 0 ( 1 , 3 ) 1 5 ( 2 , 1 ) 3 0 ( 4 , 3 ) * 4 7 ( 2 , 4 ) 4 0 ( 3 , 4 ) * 4 0 • ( 2 , 4 ) E s s a r e p r e s e n t a g a o d e v e s e r e n t e n d i d a d a s e g u i n t e f o r m a : a l i s t a d e a d j a c e n c i a d o n 5 1 comeca n a p o s i g a o 1 ( N C ( 1 ) = 1 ) , N 0 F ( 1 ) = 2 i n d i c a a e x i s t e n c i a d o a r c o ( 1 , 2 ) . E N C ( l ) = 2 i n d i c a q u e o p r o x i m o n o a d j a c e n t e com o n o 1 e s t a a r m a z e n a d o n a p o s i g a o 2. NOF(2) = 3 i n d i c a q u e e x i s t e um a r c o ( 1 , 3 ) , e a s s i m p o r d i a n t e . ENC(2) = 0 s i g n i f i c a f i m d a l i s t a de a d j a c e n c i a d o n o 1 . Na r e p r e s e n t a g a o d e g r a f o s p o r l i s t a s d e a d j a c e n c i a , c a d a ramo ( i , j ) tern d u a s e n t r a d a s , uma n a l i s t a d o n o i , ( i , j ) * . e o u t r a n a l i s t a d o n o j , ( j , i ) * . 3.4.6. L i s t a s d e A d j a c e n c i a s M u l t i e n c a d e a d a s Em a l g u r n a s s i t u a g o e s t o r n a - s e n e c e s s a r i o , como n o c a s o d o a l g o r i t m o ROTA, m a r c a r um a r c o como j a t e n d o s i d o e x a m i n a d o . I s t o p o d e s e r r e s o l v i d o t r a n s f o r m a n d o s e a s l i s t a s de a d -j a c e n c i a em m u l t i l i s t a s d e a d -j a c e n c i a [ 4 J . E s s a e s t r u t u r a c o n s i s t e de n o d o s , q u e podem s e r c o m p a r t i l h a d o s p o r d i v e r s a s l i s _ t a s . A s s i m , c a d a a r c o c o n t i n u a r a a s e r r e p r e s e n t a d o p o r um u n i c o n o d o , mas e s s e n o d o p o d e r a p e r t e n c e r a d u a s o u m a i s l i s -t a s . 0 esquema d o n o d o s e r a e n -t a o o s e g u i n -t e :

NOF ENC1 ENC2 ENCN

(38)

campo ENC1 e o e n c a d e a m e n t o d e uma l i s t a p a r a o no i , ENC2 e o e n c a d e a m e n t o de o u t r a l i s t a p a r a o no i , e a s s i m p o r d i a n t e . Uma n o v a l i s t a de a d j a c e n c i a , u t i l i z a n d o os mesmos n o d o s da l i s t a d a f i g u r a 3.4, p o d e s e r o s e g u i n t e : no 1 no 2 no 3 no 4 4 0 4 4 0 4 F i g u r a 3.5. Com a s e g u i n t e r e p r e s e n t a c a o t a b u l a r

NC NOF ENC ARCO

2 0 ( 1 , 2 ) 3 1 ( 1 , 3 ) 1 7 ( 2 , 1 ) 3 0 ( 4 , 3 ) * 4 0 ( 2 , 4 ) 4 0 ( 3 , 4 ) * 4 5 ( 2 , 4 ) A s s i m a s r e p r e s e n t a c o e s t a b u l a r e s c o r r e s p o n d e n t e s as f i g u r a s 3.4 e 3.5, podem s e r f u n d i d a s f o r m a n d o uma m u l t i l i s t a d e a d j a c e n c i a .

(39)

2 1

NCI NC2 NOF ENC1 ENC 2 ARCO

1 1 2 2 2 0 ( 1 , 2 ) 2 3 3 3 0 1 ( 1 , 3 ) 3 6 6 1 5 7 ( 2 , 1 ) 4 4 4 3 0 0 ( 4 , 3 ) * 5 4 • 7 0 ( 2 , 4 ) 6 4 0 0 ( 3 , 4 ) * 7 4 0 5 ( 2 , 4 ) 3.5. D i s c u s s a o d a s E s t r u t u r a s de Dados p a r a a R e p r e s e n t a -c a o de G r a f o s no C o m p u t a d o r Na s o l u g a o do p r o b l e m a de r o t a s p a r a a d i s t r i b u i g a o de b e n s e s e r v i g o s , os g r a f o s s a o u t i l i z a d o s p a r a r e p r e s e n t a r z o n a s de uma c i d a d e . Uma a n a l i s e p r a t i c a d e s s a s z o n a s m o s t r a que uma e s q u i n a e f o r m a d a , g e r a l m e n t e , p e l o c r u z a m e n t o de ape nas d u a s r u a s . A r e p r e s e n t a g a o de uma e s q u i n a comum num g r a f o s e r i a a s e g u i n t e : 2 1 3 4 5 C o n c l u i - s e q u e o n u m e r o de a r c o s i n c i d e n t e s com um no e em m e d i a 4. A p r a t i c a m o s t r a tambem q u e o n u m e r o de a r c o s i n c i -d e n t e s com um n o , g e r a l m e n t e , nao u l t r a p a s s a o v a l o r 7. 2 3 4 7

I

5 6 E s s a s o b s e r v a g o e s sao u t e i s p a r a o d i m e n s i o n a m e n t o do e s p a g o a s e r r e s e r v a d o em f u n g a o do n u m e r o de a r c o s .

(40)

3 . 5 . 1 . M a t r i z e s A m a n e i r a m a i s f r e q u e n t e de r e p r e s e n t a g a o de g r a f o s no c o m p u t a d o r e a m a t r i z , i s t o p o r q u e m a t r i z e s c o n s t i t u e m - s e em m e c a n i s m o de f a c i l m a n i p u l a g a o . A l e m d i s s o , em m u i t a s a p l i c a g o e s de t e o r i a dos g r a f o s , as m a t r i z e s tambem se t o r n a m f o r mas n a t u r a i s de e x p r e s s a o d o ' p r o b l e m a . O u t r o i n c e n t i v o a u t i -l i z a g a o de m a t r i z e s e a c o r r e s p o n d e n c i a e n t r e a -l g u r n a s p r o p r i e d a d e s da t e o r i a d o s g r a f o s e d a s m a t r i z e s . 3 . 5 . 1 . 1 . M a t r i z de A d j a c e n c i a 0 e s p a g o n e c e s s a r i o p a r a se r e p r e s e n t a r um g r a f o , u 2 t i l i z a n d o m a t r i z de a d j a c e n c i a e de N p a l a v r a s , c o n s i d e r a n d o se que s e u t i l i z e m a p e n a s v a l o r e s i n t e i r o s , e que um n u m e r o i n -t e i r o s e j a r e p r e s e n -t a d o em uma p a l a v r a de m e m o r i a . No c a s o de um g r a f o c o m p o s t o de 100 n o s , s e r i a n e c e s s a r i a a r e s e r v a de 1 0 . 0 0 0 p a l a v r a s . C o n s i d e r a n d o - s e a i n d a que as m a t r i z e s de a d j a c e n c i a sao g e r a l m e n t e e s p a r s a s , c o n c l u i - s e que a r e p r e s e n t a g a o de g r a f o s p o r e s s e m e t o d o c a u s a um i n d o s e j a v e l d e s p e r d i c i o de m e m o r i a . A l e m d i s s o , e i m p o s s i v e l r e p r e -s e n t a r - -s e g r a f o -s c o n t e n d o a r c o -s p a r a l e l o -s n e -s -s e t i p o de e -s t r u t u r a . O u t r a d e s v a n t a g e m e a i m p o s s i b i l i d a d e de d i f e r e n c i a r - s e um ramo ( i , j ) * , ( j , i ) * , de d o i s a r c o s p a r a l e l o s com s e n t i d o s c o n t r a r i o s ( i , j ) , ( j , i ) . C o n s i d e r e a g o r a um p r o b l e m a t r i v i a l , como c a l c u l a r o n u m e r o de a r c o s e x i s t e n t e s num d e t e r m i n a d o g r a f o G. Usando ma t r i z de a d j a c e n c i a , um a l g o r i t m o p a r a s o l u c i o n a r e s s e p r o b l e -2 ma tern que p e s q u i s a r N e l e m e n t o s p a r a o b t e r a r e s p o s t a . A t r a v e s d e s s a e s t r u t u r a e f a c i l r e p r e s e n t a r os c u s -t o s p a r a p e r c o r r e r os a r c o s do g r a f o ou q u a l q u e r p e s o que s e q u e i r a a t r i b u i r aos a r c o s . 3 . 5 . 1 . 2 . M a t r i z d o s C u s t o s d a s C a d e i a s de Menor C u s t o

A m a t r i z dos c u s t o s das c a d e i a s de menor c u s t o no p r o b l e m a e s p e c i f i c o de d e t e r m i n a g a o de r o t a s , e d e f i n i d a p a r a um g r a f o nao o r i e n t a d o , p o r t a n t o , e s s a m a t r i z e s i m e t r i c a . Nes se c a s o s 5 e n e c e s s a r i o a r m a z e n a r a p a r t e t r i a n g u l a r s u p e r i o r

(41)

33 da m a t r i z , com um t o t a l de N ( N ~ l ) / 2 e l e m e n t o s ao i n v e s de N . 3.5.2. R e p r e s e n t a g a o L i n e a r ftsse m e t o d o a p e s a r de u t i l i z a r um e s p a g o p e q u e n o e p e r m i t i r a r e p r e s e n t a g a o de a r c o s p a r a l e l o s , t o r n a d i f i c i l a o p e r a g a o com o g r a f o , a l e m de nao p e r m i t i r a r e p r e s e n t a g a o do c u s t o p a r a p e r c o r r e r os a r c o s . 3.5.3. L i s t a de A r c o s L i s t a de a r c o s e uma f o r m a m u i t o c o n v e n i e n t e de e n -t r a d a de d a d o s , mas nao e i n d i c a d a p a r a o a r m a z e n a m e n -t o , e ma n i p u l a g a o p o s t e r i o r e s d o s d a d o s . 3.5.4. L i s t a de S u c e s s o r e s A r e p r e s e n t a g a o de um g r a f o p e l o m e t o d o da l i s t a de s u c e s s o r e s , se c o m p a r a d o com o de m a t r i z e s de a d j a c e n c i a , t r a z uma e c o n o m i a de m e m o r i a c o n s i d e r a v e l . E s s a e s t r u t u r a tambem p e r m i t e a r e p r e s e n t a g a o de a r c o s p a r a l e l o s e de c u s t o s dos a r c o s . P a r a i n c l u i r a r e p r e s e n t a g a o d o s c u s t o s n e s s a e s t r u t u r a , b a s t a c o n s i d e r a r - s e o n5 s u c e s s o r como um p a r (no s u c e s s o r , c u s t o ) . C o n s i d e r a n d o - s e q u e o n u m e r o m e d i o de a r c o s p o r n5 e 4, o e s p a g o de m e m o r i a n e c e s s a r i o p a r a a r m a z e n a r um g r a f o de 100 n5s e os c u s t o s p a r a s e p e r c o r r e r os s e u s a r c o s s e r i a de 800 p a l a v r a s , i s t o e, 100 v e t o r e s com 8 p o s i g o e s c a d a um, q u a t r o p a r a r e p r e s e n t a r os nos s u c e s s o r e s , e q u a t r o p a r a o c u s t o d o s a r c o s . Ex. : 2 20 50 50 80 5

(42)

3 50

3 20

1 50

3 50

3 80

2 20

4 50

1

5 80

Nota-se claramente que esse metodo, levando-se em

conta apenas a media de ruas por esquina, nao permite a repre

sentacao de mais de 4 arcos i n c i d e n t e s com cada no. Nesse

ca-so, a reserva de espaco deve prever o p i o r caca-so, i s t o e,

con-s i d e r a r a p o con-s con-s i b i l i d a d e de o c o r r e n c i a de 7 arcocon-s i n c i d e n t e con-s

com cada no.

Ex. ;

F i g u r a 3.6.

1 2 3 4 5 6 7 8

3 50

3 20

1 50

2 20

4 50 |

1 5

80

3 50

3 80

3 30

j

9 10

6 30

11 12 13 14

Para se r e p r e s e n t a r o g r a f o da f i g u r a 3.6, e

neces-s a r i a a reneces-serva de N v e t o r e neces-s de 14 poneces-sicoeneces-s cada um, i neces-s t o e,

(43)

35

14N posicoes. No caso de um g r a f o de 100 nos, o espaco t o t a l

reservado s e r i a de 1.400 p a l a v r a s , uma economia muito grande,

se comparada com as m a t r i z e s de a d j a c e n c i a .

O a l g o r i t m o para v e r i f i c a c a o do numero de arcos

e-x i s t e n t e s num g r a f o G, u t i l i z a n d o essa e s t r u t u r a , t e r i a que

pesquisar r + N elementos, onde r e o numero de arcos do

gra-, 2gra-,

f o e r < < (N ) .

Essa e s t r u t u r a apesar de melhorar bastante a

ocupa-cao do espaco de mem5ria

f

ainda ocasiona d e s p e r d i c i c s . £neces

s a r i a a p r e v i s a o do p i o r caso, que i m p l i c a na reserva de espa

90 ocioso. Nesse caso torna~se necessario a r e s e r v a de 14N po

s i g o e s , apesar de serem u t i l i z a d a s , em media, apenas 8N.

Por-t a n Por-t o , Por-tem-se aproximadamenPor-te (14N - 8N) palavras de memoria

ociosas.

3.5.5. Dois Vetores

Esse metodo p e r m i t e um melhor aproveitamento do

es-paco, comparado com e s t r u t u r a s a n t e r i o r m e n t e d i s c u t i d a s .

POSSJL

b i l i t a tambem a representacao de pesos, de arcos p a r a l e l o s , e

a d i f e r e n c i a c a o e n t r e ( i , j ) * , ( j , i ) * e ( i , j ) , ( j / "

1

* ) . Para i n

-c l u i r os -custos basta -c o n s i d e r a r - s e mais um v e t o r CUSTO =

{ c u s t o ( 1 ) , c u s t o ( 2 ) , c u s t o ( r ) } , cujas posicoes i n d i c a r a o

o custo do arco.

Nessa e s t r u t u r a a r e s e r v a de espago para o armazena

mento do g r a f o pode ser f e i t o para o numero medio de arcos por

no. Assim d i m i n u i - s e o espaco ocioso em r e l a c a o a e s t r u t u r a an

t e r i o r . Sao necessarias N+2(4N) = 9N p a l a v r a s , i s t o e, um

vet o r V com N posigoes, e d o i s v e vet o r e s NOF e CUSTO com 4N p o s i

-coes cada um.

S e r i a necessario pesquisar r + 1 elementos, para

de-t e r m i n a r o numero de arcos de um g r a f o G represende-tado por

es-sa e s t r u t u r a .

A u t i l i z a c a o desse metodo para a representacao de

g r a f o s no computador, apesar de muito e f i c i e n t e em termos de o

cupacao de memoria, e muito r i g i d a , nao p e r m i t i n d o f a c i l i d a

-des para operagoes com o g r a f o . A i n c l u s a o de um novo arco,

por exemplo, torna-se uma operacao d i f i c i l e dispendiosa em

termos de tempo de processamento.

(44)

3.5.6. L i s t a s de Adjacencia

Essa e s t r u t u r a apesar de um pouco menos e f i c i e n t e em

termos de u t i l i z a g a o de espaco, p e r m i t e grande f a c i l i d a d e de

operagao com o grafo, e x i g i n d o em compensacao raais tempo de p r o

cessamento. Os metodos c i t a d o s a n t e r i o r m e n t e , com excecao da

m a t r i z de a d j a c e n c i a , sao muito r l g i d o s , apresentando d i f i c u l

dades quando alguma a l t e r a g a o f o r necessaria.

A representagao dos custos nessa e s t r u t u r a se f a z a

t r a v e s da i n c l u s a o de mais um campo em cada nodo. Pode-se tarn

bem i n c l u i r mais um campo para d i f e r e n c i a r um ramo de dois a r

cos p a r a l e l o s .

NOF CUSTO ENC

Os nodos d i s p o n i v e i s sao mantidos em uma l i s t a sepa

rada. Qualquer l i s t a pcdera u t i l i z a l o s , quando f o r necessa

-r i o .

0 a l g o r i t m o para a v e r i f i c a c a o do numero de arcos ,

caso s e j a u t i l i z a d a essa e s t r u t u r a , p r e c i s a r a pesquisar r-i-N e

lementos.

Nesse t i p o de e s t r u t u r a e necessaria a r e s e r v a de

N+3(4N) = 13N, i s t o e, um v e t o r V com N posigoes, e t r e s veto

res NOF, CUSTO e ENC com 4N elementos cada um. Para um g r a f o

contendo 100 n5s, sao necessarias 400 palavras a mais que a e s

t r u t u r a de DOIS VETORES, mas em compensagao p o s s i b i l i t a uma

f l e x i b i l i d a d e muito maior de operagao com g r a f o s .

Conclui-se assim, que a e s t r u t u r a de d o i s v e t o r e s e

a mais e f i c i e n t e quando f o r necessario apenas c o n s u l t a r os da

dos sem a l t e r a - l o s ; as l i s t a s de adjacencias sao melhores quan

do se fazem operagoes com o g r a f o ; e as l i s t a s de ramos sao as

mais i n d i c a d a s para a entrada de dados.

(45)

37

CAPlTULO IV

4. DETERMINAQAO DA ROTA

Neste c a p i t u l o serao d e s c r i t o s os procedimentos

ne-c e s s a r i o s para a determinagao de uma r o t a para uma zona.

Sempre que houver r e f e r e n d a aos a r q u i v o s , a

nomen-c l a t u r a FDA i n d i nomen-c a r a a nomen-condigao de Fim De Arquivo,

4.1. Prepara o Grafo I n i c i a l (Figura 2.2)

0 g r a f o que representa uma zona para a qual sera de

terminada uma r o t a e montado a p a r t i r das informacoes c o n t i

-das nos arquivos CADASTRO DE TRECHOS e CADASTRO DE RESTRIQOES,

4.1.1. Monta o Grafo

Entrada: arquivo CADASTRO DE TRECHOS.

Saida: a r q u i v o GRAFO.

Passo 1: Le r e g i s t r o do arquivo CADASTRO TRECHOS.

Passo 2: Se e FDA. Entao va para o passo 7.

Passo 3: Se o t r e c h o nao tern c o l e t a

Entao va para o passo 1.

Passo 4: Se o t r e c h o e i n t r a s i t a v e l

Entao va para o passo 1.

Passo 5: Armazena as informagoes sobre o t r e c h o

no a r q u i v o GRAFO.

Passo 6: Va para o passo 1.

Passo 7: Ordena o a r q u i v o GRAFO. PARE.

Um exemplo

s e g u i r .

Supondo-se

para i l u s t r a r esse a l g o r i t m o e v i s t o a

(46)

6 - » 7 - » 8 — > 9

12

004

13

007 008

11

17

F i g u m 3.1

Para a q u a l as informagoes necessarias j a forara c o l e

-tadas e c r i t i c a d a s , dando origem ao seguinte a r q u i v o CADASTRO

DE TRECHOS.

ARQUIVO CADASTRO DE TRECHOS

)D.RUA

NOINIC

NOFIM

DIST

SENT

COND ESTAD CO]

001

2

1

60

1

1

1

1

001

3

2

80

1

1

1

1

001

4

3

80

1

1

1

1

001

5

4

80

1

1

1

1

002

6

7

30

1

1

1

1

002

7

8

30

1

1

1

1

002

8

9

80

1

1

1

1

002

9

10

80

1

1

1

1

002

10

11

80

1

1

1

1

009

13

12

30

1

1

1

1

009

14

13

30

1

1

1

1

009

15

14

80

1

1

1

1

009

16

15

80

1

1

1

1

009

17

16

80

1

1

1

1

003

1

6

60

1

1

1

1

003

6

12

60

1

1

1

1

004

13

7

60

1

1

1

1

005

2

8

60

1

1

1

1

005

8

14

60

1

1

1

1

006

9

3

60

1

1

1

1

006

15

9

60

1

1

1

1

007

4

10

60

1

1

1

1

007

10

16

60

1

1

1

1

006

x7

11

60

2

1

1

1

008

11

5

60

2

1

1

1

Esse a r q u i v o e u t i l i z a d o como entrada do a l g o r i t m o

que MONT/v O GRAFO, e o a r q u i v o GRAFO r e s u l t a n t e e o s e g u i n t e :

(47)

39

ARQUIVO GRAFO

NOINIC NOFIM CUSTO SENTID

4.1.

1

6

60

1

2

1

60

1

2

8

60

1

3

2

80

1

4

3

80

1

4

10

60

1

5

4

80

1

5

11

60

2

6

7

30

1

6

12

60

1

7

8

30

1

8

9

60

1

8

14

60

1

9

3

60

1

9

10

80

1

10

11

80

1

10

16

60

1

11

5

60

2

11

17

60

2

13

7

30

1

13

12

30

1

14

13

30

1

15

9

60

1

15

14

60

1

15

15

80

1

16

15

80

1

17

11

60

2

17

16

80

1

F i g u r a 3.2.

2. Monta M a t r i z Check

O b j e t i v o : C o n s t r u i r a MATRIZ CHECK a p a r t i r do a r q u i

vo CADASTRO DE ESQUINAS. Essa m a t r i z sera u t i l i z a d a na c r l t i

-ca do g r a f o e impressao da ROTA.

A m a t r i z CHECK tern a seguinte forma:

a) Os i n d i c e s das l i n h a s representam as ruas;

b) Os i n d i c e s das colunas representam os nos;

c) 0 conteudo da m a t r i z ( O e l ) i n d i c a se um no pertence ( l ) , o u

nao ( 0 ) , a uma determinada r u a .

Essa m a t r i z f o i concebida para a u x i l i a r na c r i t i c a

ao greifo. Sera u t i l i z a d a na v e r i f i c a c a o dos dados que entram

v i a CADASTRO DE TRECHOS.

Alem de d e t e c t a r e r r o s na entrada dos dados, aMATRIZ

CHECK tambem sera u t i l i z a d a na impressao da ROTA, indicando t o

Referências

Documentos relacionados

FIGURA 73 Curvas do diâmetro da copa DIACO para os dados agrupados para as duas cultivares nos métodos de determinação de GDD descrito por Ometto, Snyder, Dufault e Residual, para Tb

Dessa forma, diante das questões apontadas no segundo capítulo, com os entraves enfrentados pela Gerência de Pós-compra da UFJF, como a falta de aplicação de

Temos assim, a representação com as peças virtuais do número 10 na área de trabalho do Aplicativo Multibase, isto é, uma dezena (barra) e zero unidade (cubo pequeno). Figura

A região medular do estipe em microscopia óptica apresentou abundantes idioblastos repletos de grãos de.. Substâncias ergásticas: a) cristais prismáticos em microscopia óptica;

Este fato foi significativo na historia da contabilidade brasileira considerando que o Governo (Departamento da Receita Federal) não permitia que prejuízos decorrentes

This paper discusses humanitarianism from 1970 until 2014 and its appropriation at the UN. The main objective is to identify the changes that the term has suffered during this

It reveals that (1) power is fluid in a software ecosystem formed by SMEs; (2) pool of customers and skill/knowledge are the most frequent power sources; (3)

Discutindo o papel do ambiente no desenvolvimento infantil, a literatura na área das relações pessoa-ambiente esclarece que a qualidade de vida (presente e futura) da