Download PDF
ads:
Dissertação de Mestrado
Scheduling do transporte de petróleo das
plataformas marítimas e de atendimento
a centros consumidores
Adrian Esteban Muract
amuract@gmail.com
Orientadores:
João Inacio Soletti. D S c
Sandra Helena Vieira de Carvalho. DSc
Maceió, outubro de 2008
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
Adrian Esteban Muract
Scheduling do transporte de petróleo das
plataformas marítimas e de atendimento
a centros consumidores
Dissertação apresentada como requisito par-
cial para obtenção do grau de Mestre pelo
Curso de Mestrado em Modelagem Computa-
cional de Conhecimento do I n stituto de Com-
putação da Universidade Federal de Alagoas.
Orientadores:
João Inacio Soletti. DSc
Sandra Helena Vieira de Carvalho. D Sc
Maceió, outubro de 2008
ads:
Dissertação apresentad a como requisito parcial para ob tenção do gra u de
Mestre pelo Curso de Mestrado e m Modela gem Comput acional de Conhe-
cimento do Ins tituto de Computação da Univ ersidade Fed eral de Alagoas,
aprovada pela comissão examinadora que abaixo assina.
Maceió, outub ro de 2008
Resumo
Hoje em dia, as empres as petroleiras enfrentam o desafio de conh ecer qual é
a melhor forma de movimentar uma frota de navios c argueiros sem que isso
signifique u m aum ento de custo, entre outras. Neste trabalho será apresen-
tada uma solução para este, mediante o desenvolvi mento de um siste ma que
permita calcular as rotas para transporte de petróle o bruto de plat aformas
marítimas a refinarias, bem como transporte dos derivados do petróleo de re-
finarias a c e ntros consumid ores. Para a solução do sistema, foi r ealizado um
scheduling no qual determina-se a rota que cada nav i o deve realizar para que
o petróleo sea entregue, buscando a rota que conduza ao melhor caminh o,
sendo considerado o tempo de des l ocamento, carga e descarga do produto,
além do limi te de armazenamento de produto em cada plataforma, entre ou-
tros parâmetro s.
i
Resumen
Hoy en d í a, las empresas petroleras enfrentan el desafío de conoce r cual es la
mejor mane ra de mover una flota de navíos cargueros sin qu e ello signifique
una pérd i da de dinero, entre otras cosas. En este trabajo se pretende dar
solución a este problema, mediante el desarrollo de un sistema que permite
calcular las rutas que debe seguir un navío para transportar el petróleo bruto
desde las plataformas marítimas a las refinerías, así como el tra nsporte de
derivados de petróleo desd e las refinerías a los centros consu midores . Para
la solución del sistema se r ealizó un schedulin g en e l cual se d etermina la
ruta que ca da navío debe hacer para cumplir con la entrega de petról eo; y, el
ruteamiento realizado para d eterminar el mejor camino a seguir, te niendo en
cuenta el tiempo de desplazamien t o, la carga y descarga del pr oducto, además
del límite de almacenamient o en cada plataforma, entre otros parámetr os.
ii
Abstract
Now a day, petroleum companies are looking for a way to calculate the best
economic and time c onsuming alternative to move a gro up of ships between
platforms, refineries and consuming centers. In t he follo wing r e search is intro-
duced a solution to t his problem through a system which optimiz e the main
variables involved. Variables s uch as scheduli ng and road have bee n taken
into ac count. The variable s cheduling defi nes the road that each ship must
follow. Meanwhile, the optimization of the route is based on traveling time
between each points, uploaded and do wnloaded time, storing capacity at each
point, etc. The following system has been t ested in two re al cases show i ng a
good perf ormance.
iii
Agradecimentos
A meus orientadores, Professor João Inácio Soletti e Professora Sandra Hele na
Vieira de Carvalho, pelos quais pass ei a t er uma grande admiraçã o. Agradeço
pela paciênci a, dedicação e pr ofissionalismo.
Ao grupo de pesquisa do LASSOP (Laboratório de Sis t ema de Separação e
Otimização de Processos) pela ajuda na concretizaçã o deste trabalho.
À C APES (Coordenação de Aperfeiçoamento d e Pessoal de Nível Superio r) pelo
apoio financeiro.
À Universidade Fe deral de Alagoa s, ao Curso de Mestrado em Modelagem
Computacional de Conhecimento, e ao Professor Alejandr o C. Frery, pela opor-
tunidade de realizar o curso.
À minha queri da espo sa, Alejandra, pelo apoio, incentivo e cooperação.
A meus pais, Beatri z e Norb erto, e a m eus sogros, Estela e Daniel, merece-
dores de meu mais profundo agradeci mento pelo ap oio e incen tivo.
Às Professoras Elsa Mosch etti e Susana Ferrero, pe l a paciência, d edicação e
profissionalismo na minha iniciação científica.
A todas as d emais pessoas, que não estão aq ui mencionadas, mas que de
alguma maneira au xiliaram na concretização deste trabalho.
iv
SUMÁRIO v
Sumário
I Introdução 1
1 Estado da arte 4
II Scheduling de escoamento de petróleo bruto de p latafor-
mas marítimas 7
2 Problema a resolver 9
2.1 Fundament os de sel e ção do método utilizado . . . . . . . . . . . 11
2.2 Fundament os de sel e ção de ferramenta utili zada . . . . . . . . . 11
3 Conceitos prévios 12
3.1 Conceito de rota . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Cálculo de tod as as rotas possíveis . . . . . . . . . . . . . . . . . 13
3.3 Seqüências em uma rota . . . . . . . . . . . . . . . . . . . . . . . 17
3.4 Calcular todas as possíveis seqüên cias da rota . . . . . . . . . . 20
3.5 Conceito de caminho . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Classes 24
5 Diagrama de Classes 41
6 Funções para a sol ução do problema 43
6.1 Função obtener_secuencia . . . . . . . . . . . . . . . . . . . . 43
6.2 Função ImprimirResultado . . . . . . . . . . . . . . . . . . . . 47
6.3 Função cargar_linha_matriz . . . . . . . . . . . . . . . . . . . 49
6.4 Função esPlataforma . . . . . . . . . . . . . . . . . . . . . . . . 50
6.5 Função esRefineria . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.6 Função conflicto_navios . . . . . . . . . . . . . . . . . . . . . 52
6.7 Função plataforma_parada . . . . . . . . . . . . . . . . . . . . 53
6.8 Função atracarEnRefineria . . . . . . . . . . . . . . . . . . . 55
6.9 Função escojer_combinacion . . . . . . . . . . . . . . . . . . . 56
7 Estudos de caso s 60
7.1 Dados de entr ada . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.1.1 Estado inicial das plataformas . . . . . . . . . . . . . . . . 60
7.1.2 Estado inicial das refinarias . . . . . . . . . . . . . . . . . 61
7.1.3 Rotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.1.4 Navios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.1.5 Caminhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
SUMÁRIO vi
7.1.6 Distâncias entre as refinarias e plataformas . . . . . . . . 65
7.2 Resultado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.2.1 Caminhos re sultantes . . . . . . . . . . . . . . . . . . . . . 66
8 Conclusão 70
III Scheduling de atendimento a centros consumidores 71
9 Problema a resolver 74
10 Conceitos prévios 75
11 Classes 76
12 Diagrama de classes 83
13 Funções para a so lução do problema 85
13.1 Função obtener_secuencia . . . . . . . . . . . . . . . . . . . . 85
13.2 Função ImprimirResultado . . . . . . . . . . . . . . . . . . . . 86
13.3 Função cargar_linha_matriz . . . . . . . . . . . . . . . . . . . 86
13.4 Função esCConsumidor . . . . . . . . . . . . . . . . . . . . . . . 87
13.5 Função esRefineria . . . . . . . . . . . . . . . . . . . . . . . . . 87
13.6 Função conflicto_navios . . . . . . . . . . . . . . . . . . . . . 88
13.7 Função cconsumidore_parado . . . . . . . . . . . . . . . . . . . 88
13.8 Função atracarEnRefineria . . . . . . . . . . . . . . . . . . . 90
13.9 Função escojer_combinacion . . . . . . . . . . . . . . . . . . . 90
14 Estudo de caso s 92
14.1 Dados de Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
14.1.1 Estado inicial dos Centros Consumidores . . . . . . . . . 92
14.1.2 Estado inicial das refinarias . . . . . . . . . . . . . . . . . 94
14.1.3 Rotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
14.1.4 Navios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
14.1.5 Caminhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
14.1.6 Distâncias entre as refinarias e centros cons umidores . . 98
14.2 Resultado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
14.2.1 Caminhos re sultantes . . . . . . . . . . . . . . . . . . . . . 99
15 Conclusão 103
IV Conclusão geral do trabalho 104
V Apêndice 106
A Relatório de scheduling do escoamento de petróleo bruto de platafor-
mas marítimas 107
A.1 Estado inicial das plataformas . . . . . . . . . . . . . . . . . . . 107
LISTA DE FIG URAS vii
A.2 Estado inicial das refinarias . . . . . . . . . . . . . . . . . . . . . 10 8
A.3 Rotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
A.4 Estado inicial dos navios . . . . . . . . . . . . . . . . . . . . . . . 112
A.5 Estado inicial dos caminhos . . . . . . . . . . . . . . . . . . . . . 114
A.6 Distâncias entre as refinarias e plataformas . . . . . . . . . . . 118
A.7 Scheduling resultante . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.8 Caminhos re sultantes . . . . . . . . . . . . . . . . . . . . . . . . 126
A.9 Estado final d as plataformas . . . . . . . . . . . . . . . . . . . . 131
A.10 Estado final das refinarias . . . . . . . . . . . . . . . . . . . . . . 134
A.11 Estado final dos navios . . . . . . . . . . . . . . . . . . . . . . . . 13 5
B Relatório de scheduling do atendimento a cent ros consumidores 137
B.1 Estado inicia l dos centr os cons umidores . . . . . . . . . . . . . 137
B.2 Estado inicia l das refinarias . . . . . . . . . . . . . . . . . . . . . 138
B.3 Rotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
B.4 Estado inicia l dos navios . . . . . . . . . . . . . . . . . . . . . . . 143
B.5 Estado inicia l dos caminhos . . . . . . . . . . . . . . . . . . . . . 144
B.6 Distâncias entre as refinarias e centros consumidores . . . . . 14 8
B.7 Scheduling resultante . . . . . . . . . . . . . . . . . . . . . . . . . 149
B.8 Caminhos re sultantes . . . . . . . . . . . . . . . . . . . . . . . . 156
B.9 Estado final d os centros consumidores . . . . . . . . . . . . . . 160
B.10 Estado fin al das refinarias . . . . . . . . . . . . . . . . . . . . . . 164
B.11 Estado fin al dos navios . . . . . . . . . . . . . . . . . . . . . . . . 165
B.12 Gráficos d os tempos de atracação nos piers . . . . . . . . . . . . 167
Lista de Figuras
2.1 Scheduling dos navios . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1 Classe Matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Classe Grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Classe Compartimento . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4 Classe Navio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Classe Frota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 Classe Piers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.7 Classe Porto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8 Classe Refinaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.9 Classe Plataforma . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.10 Classe Rota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.11 Classe Caminho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1 Diagrama de Classes do Sistema . . . . . . . . . . . . . . . . . . . 42
LISTA DE TABELAS viii
7.1 Diagrama do scheduling de escoamento de petróleo bruto de platafor-
mas marítimas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
11.1 Classe Refinaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2 Classe CConsumidor . . . . . . . . . . . . . . . . . . . . . . . . . 78
11.3 Classe Rota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
11.4 Classe Caminho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
12.1 Diagrama de Classes do Sistema . . . . . . . . . . . . . . . . . . . 84
14.1 Diagrama do scheduling do atendimento a centros consumidores . 100
A.1 Diagrama do scheduling do escoamento de petróleo bruto de platafor-
mas marítimas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
A.2 Quantidade de petróleo por t empo na plata forma 1 . . . . . . . . . 132
A.3 Quantidade de petróleo por t empo na plata forma 2 . . . . . . . . . 133
A.4 Quantidade de petróleo por t empo na plata forma 3 . . . . . . . . . 133
A.5 Quantidade de petróleo por t empo na plata forma 4 . . . . . . . . . 134
B.1 Diagrama do scheduling do atendimento a centro consumidor . . . 161
B.2 Volume de produto estocado no centro consumidor 10 . . . . . . . 162
B.3 Volume de produto estocado no centro consumidor 20 . . . . . . . 162
B.4 Volume de produto estocado no centro consumidor 30 . . . . . . . 163
B.5 Volume de produto estocado no centro consumidor 40 . . . . . . . 164
B.6 Gráficos dos tempos que os navios podem atracar no pier 11 . . . . 167
B.7 Gráficos dos tempos que os navios podem atracar no pier 12 . . . . 168
B.8 Gráficos dos tempos que os navios podem atracar no pier 13 . . . . 168
B.9 Gráficos dos tempos que os navios podem atracar no pier 14 . . . . 169
B.10 Gráficos dos tempos que os navios podem atracar no pier 1 . . . . 170
B.11 Gráficos dos tempos que os navios podem atracar no pier 2 . . . . 170
B.12 Gráficos dos tempos que os navios podem atracar no pier 3 . . . . 171
B.13 Gráficos dos tempos que os navios podem atracar no pier 4 . . . . 171
B.14 Gráficos dos tempos que os navios podem atracar no pier 5 . . . . 172
B.15 Gráficos dos tempos que os navios podem atracar no pier 6 . . . . 172
B.16 Gráficos dos tempos que os navios podem atracar no pier 7 . . . . 173
B.17 Gráficos dos tempos que os navios podem atracar no pier 8 . . . . 173
Lista de Tabelas
2.1 Combinações das possíveis rotas, considerando três plataformas . 10
3.1 Matriz de todas as rotas . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Caso base de 1 refinaria e 2 plataformas . . . . . . . . . . . . . . . 13
3.3 Caso base de 2 refinarias e 2 plataformas . . . . . . . . . . . . . . 14
3.4 Caso base de 3 refinarias e 2 plataformas . . . . . . . . . . . . . . 15
LISTA DE TABELAS ix
3.5 Combinações possíveis de três plataformas . . . . . . . . . . . . . 16
3.6 Aplicação do conceito de elementos e div . . . . . . . . . . . . . . . 17
3.7 Segunda possível solução . . . . . . . . . . . . . . . . . . . . . . . 19
3.8 Soluções combinadas . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 Terceira solução . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.10 Permutações sem r epetição de 4 plataformas . . . . . . . . . . . . 21
6.1 Matriz de adjacência (G) . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 Possíveis seqüências da rota 1 . . . . . . . . . . . . . . . . . . . . 45
6.3 Possíveis seqüências da rota 2 . . . . . . . . . . . . . . . . . . . . 46
6.4 Ordem do conjunto de caminhos . . . . . . . . . . . . . . . . . . . 58
6.5 Nível de rota 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.6 Nível de rota 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.7 Nível de rota 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.1 Quantidades carregadas nas plataformas na rota 1 . . . . . . . . . 62
7.2 Quantidades carregadas nas plataformas na rota 2 . . . . . . . . . 62
7.3 Quantidades carregadas nas plataformas na rota 3 . . . . . . . . . 62
7.4 Quantidades carregadas nas plataformas na rota 4 . . . . . . . . . 63
7.5 Quantidades carregadas nas plataformas na rota 5 . . . . . . . . . 63
7.6 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 63
7.7 Tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 63
7.8 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 64
7.9 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 64
7.10 Tempo de atracamento do navio 3 . . . . . . . . . . . . . . . . . . 64
7.11 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 65
7.12 Matriz de adjacência (G) . . . . . . . . . . . . . . . . . . . . . . . 66
7.13 Seqüência de plataformas e refinarias que segue o navio 1 do cami-
nho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.14 Seqüência de plataformas e refinarias que segue o navio 2 do cami-
nho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.15 Seqüência de plataformas e refinarias que segue o navio 3 do cami-
nho 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
14.1 Descargas nos centros consumidores na rota 1 . . . . . . . . . . . 94
14.2 Descargas nos centros consumidores na rota 2 . . . . . . . . . . . 95
14.3 Descargas nos centros consumidores na rota 3 . . . . . . . . . . . 95
14.4 Descargas nos centros consumidores na rota 4 . . . . . . . . . . . 95
14.5 Descargas nos centros consumidores na rota 5 . . . . . . . . . . . 96
14.6 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 96
14.7 Tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 96
14.8 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 97
14.9 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 97
14.10 Tempo de atracamento do na vio 3 . . . . . . . . . . . . . . . . . . 97
14.11 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 97
14.12 Matriz de adjacência (G) . . . . . . . . . . . . . . . . . . . . . . . 98
14.13 Seqüência de centros consumidores e refinarias que segue o navio 1
do caminho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
LISTA DE TABELAS x
14.14 Seqüência de centros consumidores e refinarias que segue o navio 2
do caminho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
14.15 Seqüência de centros consumidores e refinarias que segue o navio 3
do caminho 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A.1 Combinações possíveis da rota 1 . . . . . . . . . . . . . . . . . . 109
A.2 Quantidades carregadas nas plataformas na rota 1 . . . . . . . . 109
A.3 Combinações possíveis da rota 2 . . . . . . . . . . . . . . . . . . 110
A.4 Quantidades carregadas nas plataformas na rota 2 . . . . . . . . 110
A.5 Combinações possíveis da rota 3 . . . . . . . . . . . . . . . . . . 110
A.6 Quantidades carregadas nas plataformas na rota 3 . . . . . . . . 111
A.7 Combinações possíveis da rota 4 . . . . . . . . . . . . . . . . . . 111
A.8 Quantidades carregadas nas plataformas na rota 4 . . . . . . . . 111
A.9 Combinações possíveis da rota 5 . . . . . . . . . . . . . . . . . . 111
A.10 Quantidades carregadas nas plataformas na rota 1 . . . . . . . . 1 12
A.11 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 112
A.12 Tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 112
A.13 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 113
A.14 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 113
A.15 Tempo de atracamento do navio 3 . . . . . . . . . . . . . . . . . . 113
A.16 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 113
A.17 Possíveis seqüências das rotas que compõem o caminho 1 . . . . . 114
A.18 Seqüência de plataformas e refinarias que segue o navio 1 do cami-
nho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A.19 Possíveis seqüências das rotas que compõem o caminho 2 . . . . . 115
A.20 Seqüência de plataformas e refinarias que segue o navio 2 do cami-
nho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.21 Possíveis seqüências das rotas que compõem o caminho 3 . . . . . 116
A.22 Seqüência de plataformas e refinarias que segue o navio3 do caminho
3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.23 Matriz de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.25 Possíveis seqüências das rotas que compõem o caminho 1 . . . . . 128
A.26 Seqüência de plataformas e refinarias que segue o navio 1 do cami-
nho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
A.27 Possíveis seqüências das rotas que compõem o caminho 2 . . . . . 129
A.28 Seqüência de plataformas e refinarias que segue o navio 2 do cami-
nho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
A.29 Possíveis seqüências das rotas que compõem o caminho 3 . . . . . 130
A.30 Seqüência de plataformas e refinarias que segue o navio 3 do cami-
nho 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
A.31 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 135
A.32 Tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 135
A.33 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 136
A.34 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 136
A.35 Tempo de atracamento do navio 3 . . . . . . . . . . . . . . . . . . 136
A.36 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 136
B.1 Combinações possíveis da rota 1 . . . . . . . . . . . . . . . . . . 139
LISTA DE TABELAS xi
B.2 Descargas nos centros consumidores da rota 1 . . . . . . . . . . . 140
B.3 Combinações possíveis da rota 2 . . . . . . . . . . . . . . . . . . 140
B.4 Descargas nos centros consumidores da rota 2 . . . . . . . . . . . 141
B.5 Possíveis combinações da rota 3 . . . . . . . . . . . . . . . . . . . 141
B.6 Descargas nos centros consumidores na rota 3 . . . . . . . . . . . 141
B.7 Possíveis combinações da rota 4 . . . . . . . . . . . . . . . . . . . 142
B.8 Descargas nos centros consumidores da rota 4 . . . . . . . . . . . 142
B.9 Possíveis combinações da rota 5 . . . . . . . . . . . . . . . . . . . 142
B.10 Descargas nos centros consumidores da rota 5 . . . . . . . . . . . 142
B.11 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 143
B.12 tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 143
B.13 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 143
B.14 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 144
B.15 Tempo de atracamento do navio 3 . . . . . . . . . . . . . . . . . . 144
B.16 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 144
B.17 Possíveis seqüências de rotas que segue o navio 1 . . . . . . . . . 145
B.18 Seqüência de centros consumidores e refinarias que segue o navio 1
do caminho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
B.19 Possíveis seqüências de rotas que segue o navio 2 . . . . . . . . . 146
B.20 Seqüência de centros consumidores e refinarias que segue o navio 2
do caminho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
B.21 Possíveis seqüências de rotas que segue o navio 3 . . . . . . . . . 147
B.22 Seqüência de centros consumidores e refinarias que segue o navio 3
do caminho 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
B.23 Matriz de adjacência . . . . . . . . . . . . . . . . . . . . . . . . . 148
B.25 Possíveis seqüências de rotas que segue o navio 1 . . . . . . . . . 156
B.26 Seqüência de centros consumidores e refinarias que segue o navio 1
do caminho 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
B.27 Possíveis seqüências de rotas que segue o navio 2 . . . . . . . . . 157
B.28 Seqüência de centros consumidores e refinarias que segue o navio 2
do caminho 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
B.29 Possíveis seqüências de rotas que segue o navio 3 . . . . . . . . . 158
B.30 Sequencia de centros consumidores e refinarias que segue o navio 3
do caminho 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
B.31 Tempo de atracamento do navio 1 . . . . . . . . . . . . . . . . . . 165
B.32 Tempo de desatracamento do navio 1 . . . . . . . . . . . . . . . . 165
B.33 Tempo de atracamento do navio 2 . . . . . . . . . . . . . . . . . . 166
B.34 Tempo de desatracamento do navio 2 . . . . . . . . . . . . . . . . 166
B.35 Tempo de atracamento do navio 3 . . . . . . . . . . . . . . . . . . 166
B.36 Tempo de desatracamento do navio 3 . . . . . . . . . . . . . . . . 166
Parte I
Introdução
1
2
Hoje em dia a maioria das indústrias petroleiras encontr a-se com u m dilema
de difíci l resoluçã o, este é, qual é a mel hor forma de movi mentar os navios das
refinarias às plataformas petroleiras exi stentes n o mar e, das refinarias aos
centro s c onsumidores, sem que signifi que grande perda de dinheiro e tempo,
além de cump r ir com as deman das dos centros consumidores e outra s restri-
ções que serão vistas neste trabalho.
Mediante o estudo do p roblema , analisan do as restrições que estabelece
o sistema e, aplicando algum mé t odo dos conhecidos para os pro blemas de
otimização combinatória, prete nde-se fazer o scheduling das seqüências de
plataformas, refin arias e cen tros consumidores que cad a navio no sistema
deverá fazer.
Neste problema tem-se muita informação a ser consid erada, como po r ex-
emplo: o tempo de trans porte de produto d e uma refin aria até uma plataforma
ou um centro consum i dor; o tempo máximo de estocagem de petróleo em cada
plataforma, uma vez caso atinja o limite de arm azenagem do produto, hav e
parada de exploração e, consequenteme nte prejuízo; a questão de que doi s
navios não podem estar na mesma plataforma ao mesmo temp o; necesidade
de atendimento das demandas dos centros consumidores, uma vez que deve
haver uma reserv a do produto proveniente de refinaria; deve-se ter em conta
que em cada compartimento de um na vio não pode haver mistura de dife-
rentes tipos de produtos; um n avio pod e atracar em um porto se houver
condições de atra cação para este tipo de navio (profundidade e comprimento
do pier); etc.
Por tanto, é importante rea l i zar um scheduling capaz de satis f azer todas es-
sas necessidades, para obter um melhor desempenho n o transporte de graneis
líquidos: petróleo bruto no c aso das pl ataformas - refinarias; e, derivados do
petróleo no ca so das refinarias-centro consumidores.
O problema geral , considerand o o scheduling de escoamento de petróleo
bruto das pla t aformas marítimas e o sch eduling de atendimento aos centros
consumidores, resulta num problem a mu i t o grande. Da parte computacional,
é praticamente impossível sua solução utilizando os métodos convencionais
como por exemplo Backtra cking, programação dinâmica, divide & conquer en-
tre outra s (melhor fu ndamentado n a seção 6.9), dad a s ua grande quantidade
de dados além de inú meras restriçõe s. Assim sendo, neste trabalho es t uda-
se soluções aos problemas sepa r adamente, usando métodos metaheurísti-
cos, obte ndo-se soluções que sati sfaçam às restrições de cada um dos ca sos:
scheduling de escoa mento; e o sched uling de atendimento da demanda.
Este trabalho é divido em quatro partes:
3
Parte I Nest a, se introduz o p roblema dando uma idéia g eral sob re o mesmo,
além de fazer um a pesquisa bibliográfi c a identificando os trabalhos rea-
lizados nesta área, ou áreas relacionadas;
Parte II Nes ta, se trabalha o problema de realizar o sc heduling de escoa-
mento de petróleo bruto das plataformas marítimas , definindo-o e pro-
pondo uma metodol ogia de s olução;
Parte III Nesta, se trabalha o problema de realizar o scheduling de aten di-
mento a centros consumidores, definindo-o e prop ondo uma metodologia
de solução;
Parte IV Apresenta a conclusão ger al do trab alho e as propostas de trabalhos
futuro s.
Capítulo 1
Estado da arte
Ao longo da pesq uisa bibliográfica realizada para a elaboração desta disser-
tação, encontraram-se diversos artigo s, teses e livros que fizeram possível um
melhor en t endimento dos conceitos que foram d esenvolvidos nos capítulos
posteriores. Estas b i bliografias introduziram elementos importantes q ue aju-
daram à eleição da melhor ferramenta possível para a resol ução do proble ma
proposto inic i almente.
Exsitem varias formas de considerar o problema de scheduling e rotea-
mento dos n avios, tendo em conta as restrições aplicadas por cada autor,
como o tam anho do navi o, a carga que transporta, a velocidade, entre outras
(Ronen 1983).
Ao realizar a seleção da frota a utilizar pa r a o transporte do petróleo , é
importante ter em con t a a estrutura dos navios. Alguns autores estudaram
a possibilidade de usar u m algoritmo não-line ar para este tipo de problem a
(Augusto & Kawano 1998).
Em muitos dos trabalho s en contrados, o estudo do pro blema da j anela
de tempo, considera a possibilidade de aumentar o tempo estipulado para
a entre ga do produto, e também que o n avio carregue mais de um produto
para realizar varias entregas sem pe rder mais tempo d e via gem (Al-Yakoob
1997), de forma a reduzir a penalização por demora. Por isso, Almeida Li ma
(2002) propôs como solução deste problema, realizar uma simulação do caso
de vend a, co m todas as restrições que o conformam , para lo grar esten der o
horizonte de tempo requerido para o envio do produto ao c l i ente sem sofrer
penalização . Fagerholt (2001) idealizou a mudança da jan ela de tempo rígida,
ou seja, que não permite uma margem de erro, a outra não rígid a, ou seja,
que tem uma m argem de erro, permitindo um controle de erros, utilizando
a especulaç ão pa ra otimizar o período de entrega do produto, sabendo que a
avaliação da janela de tempo com respeito à carga do navi o é parcialmente
4
5
conhecida, e que o planejamento do problema é distribuído em um número de
pessoas que fazem o mesmo (Schut 2005).
Hoje em d i a, no panor ama mundial, a utilização de petróleo e seus deriva-
dos é muito importante na economia. Assim send o, pesqui sadores, baseiam
seus estudos n a procura de uma melhor sol ução par a o problema de tra ns-
porte deste produto tão prec i oso. Além disso, é uma área pouco explorada. As
consideraçõ es que se deve ter em conta no proc esso de exploração e produção
de petr óleo, são os c ustos diretos e ind i retos do trabalho c om este material.
Soares de Medeiro s (1999) utiliz a uma metodologi a de custeio baseado em
atividades para a resolução do proble ma.
Pereira Motta Fra nco (2003) propôs a utili zação de si stemas inteligentes
que ajudem na tomada d e decisão para o planej amento de plataformas marí-
timas, te ndo em co nta o s aspectos econômicos, políticos e ambientais que
trazem este tipo de a ssunto, assim como, conhecer qual frota é melhor para
o transporte. P or o utro lado, Bo ardman et a l . (1997) propu seram a util i zação
de um Sistema de Suporte de Decisão (DSS).
Durante o transporte de produtos é muito importante fazer uma revisã o
do equipame nto usado, de m odo a evitar problemas ambie ntais. No caso do
transporte de petróleo, o vaz amento implica em um impacto muito forte pa ra
muitos organismos que vivem no mar (Reis da Silva 2004).
Fagerholt & Christiansen (2000) estudaram o problema do tran sporte fa-
zendo uma analogi a com o problema do caixeiro viaja nte com a inc orporação
da ja nela do tempo para otimizar o conjunto de portos visitados, em uma
grande frota d e barcos. S oletti (2006), em seu trabalho, consid era o prob l ema
do transporte de petróleo e seus derivados como um proble ma de P rograma ção
Linear Inteira Mista (PLIM), atende ndo as demandas do s centr os consumido-
res e das refinarias, para o qual pr opõe um mode l o matemáti co capaz de iden-
tificar dentre um conjunto de nav i os, o mais apropriado para o transporte do
produ t o. Malandraki & Daskin (1992) estudaram a pos sibilidade de resolver
o problema de veículos com uma heurística nearest-neighbor, considerando
que o melhor é fazer o atendimento dos clien t es que fiquem m ais perto do
ponto de part i da do transporte, o que p ode ser aplicad o à carga de pet róleo.
Uma solução ao problema po de ser enviar um navio aos portos que ficam mais
próximos ao ponto de partida e, assim, minimizar custos.
A minimização de custos, é um dos c ondicionantes no planejamento e
roteamento de navio s de carga, considerando que menores custos não im-
plicam menor qualidade d o produto (Pinto Junior 2001). Kim & Barnhart
(1997) desenvolve r am um modelo que permite conhecer qual é o caminho, o
custo e como minimizá-lo, bas eado em um método de redução de problema s,
6
que implica em: consolidação d e nó; de caminhos; derivaçã o de programas; e,
um procedimento de soluçã o branch-and-price-and-cut. Também pode se ver
este tema no trabalho de Shih (1997).
Para realizar o env i o de petróleo é preciso fazer o roteamento e scheduling,
obtendo assim, uma melhor escol ha dos n avios. Paolucc i et al. (20 02) fizeram
uma simulação d o processo tendo em con t a aspectos do plano de chegada dos
petroleiros aos portos , e a seqü ência de p rodução nas refinari as. No rotea-
mento de navios, Terumichi Ono (2001), formulou um modelo mat emático
que permite dimensiona r as frotas dedicadas ao serviço de transporte, as-
sim co mo, estabelecer as rota s a pe rcorrer segundo a demanda. Por outro
lado, Iskendar et al. (2001) estudaram o prob l ema do planejame nto de navios,
como um veiculo, considerando uma frota heterogênea e numerosas viagens,
ou seja, um conju nto de nav i os e uma certa quanti dade de viagens a realizar,
sempr e q ue a duraç ão total de ca da veiculo não supere o período de plane j a-
mento; Persson & Goth e-Lundgren (2 004) integ raram o planejamento de envio
e o planej amento do processo na refinaria para dar soluç ão ao problema do
planejamen t o e scheduling.
Quando se estuda a complexidade computacion al do problema, Calégari
(1999) baseia-se na utilização da paraleliz ação com base em Algor i t mos Evo-
lutivos (AE), mas nem sempre as soluções teoricas dadas são possíveis na
implementa ção computa cional.
Parte I I
Scheduling de escoamento de
petróleo bruto de platafor mas
marítimas
7
8
Nesta part e do trabalh o vai-se dar solução ao problema de fazer um schedul-
ing para o es coamento de petróleo bruto de plataformas marítima s. Para este
fim se t omou como po nto de partida o t rabalho desenvolvido p elo grupo de
pesquisa do Laboratório de Sistema de Separação e Otimização de Processos”
(LASSOP), on de mediante programação matemática resolveu- se o problema de
dimensiona mento d e um conjunto de navios, um conjunto de plataf ormas e
um conjunt o de refinarias . Como resultado foi det erminado que platafo rmas
devem carre gar o petróleo bruto, e m que navio, e onde deve ser a descarga
do petról eo c oletado, obtendo a chamada rota, a qual part e de uma refinaria,
passa por um conjun t o de plataformas e ch ega à mesma ou outra refinaria.
Então pode- se dizer que o resultado do problem a define que rotas tem que
fazer um determinado navio para minim i zar o tempo, associado a custos, de
forma a sa t i sfazer uma determinada demanda.
O problema tratado nest a parte do trabalho é fund amentado pelo motivo
que o dimensionamento obtido, pelo grupo de pesquisa de LASSOP, o de-
termina a seqüência em que o navio deve visitar as plata f ormas de c ada rota,a
ele asso ciada, alé m de que, se houver mais de uma rota associada a um navio,
não determina qual a seqüência de rot as a ser realizada. Por tanto, necessita-
se inserir novas restriçõe s que dependem destas seqüê ncias e do s tempos em
que são realizadas.
A metodologia usada neste trabalh o foi:
Definir o pro blema, explicando as r estrições associadas ao mesmo;
Fundamentar o método a ser utilizado para a reso l ução do problema;
Fundamentar a seleção da ferramenta a ser util i zada;
Int roduzir os conceitos de rota;
Int roduzir os conceitos de caminho;
Apresentar as clas ses do sistema com seu s métodos;
Apresentar o diagr ama de classes do sistema;
Explicar c omo se res olveu o pr oblema baseado no sis t ema da s classes ;
Esboçar um cenário para avaliar os resultados do software dese nvolvido;
Fazer uma conclusão parcial do problema, o u seja, referente a este tra-
balho.
Capítulo 2
Problema a resolver
Foi considerado o dime nsionamento existente, e que cada navio tem um
conjunto de rotas associado, onde uma rota é aquela que começa em uma
refinaria e termina na mesma o u outra refinaria, passando unicamente por
plataformas. Na prática este conjunto de plataformas, não chega a um número
muito elevad o por rota. En t ão, o problema a resolver é encontra r a seqüên-
cia de plataformas e re finarias, gara ntindo minim i zar a distância percorrida,
assegurand o que esta seqüência cumpra com as seguint es restrições:
Do i s navios não pod em ficar ao mesmo tempo na mesma pla t aforma;
Uma plataf orma não po de chega r ao máximo de sua c apacidade de ar-
mazenamento, s ob pena de parada de produção. Por tanto, o atendi-
mento à plataforma refere-se à retirada do p etróleo, antes que c hegue à
capacidade máxima de armazename nto da pl ataforma;
Um navio pode atracar em uma refin aria se houver piers disponível e,
além disso, se a profu ndidade do pier acrescida da a l tura da maré (calcu-
lada pe l o método dos duodéc i mos URL: http:// www.cibernautica . com.ar
/mareas/duode.htm), no momento de atraco e desa traco, for maior que o
calado do navi o.
Então, suponha-se q ue existam três na vios, com velocidades n1
v
= 110n´os,
n2
v
= 120n´os e n3
v
= 130n´os e o sched uling apresentado na Figu r a 2.1. Po de-se
observar que o navio n3 demora ma i s que o na vio n1 par a reali z ar a rota R_0.
Isto parece ilógico, dado q ue o navio n3 é mais veloz que o navio n1, mas isto
acontece uma vez que o tempo que um navio demora para fazer u ma rota,
não depende d a distância, mas também de mui t os fator es, como por exem-
plo o te mpo que um determinado navio demo ra em atracar e d esatracar, em
uma determina da plataforma. Além disso, se houver d ois navios com as mes-
mas características (velocidade, capaci dade, largura, comprimento, etc...), não
9
10
Figura 2.1: Scheduling dos navios
necessariamente vão demorar o mesmo tempo em realizar uma determinada
rota, que a rota só especifica as pla taformas visitad as, e não a seqüênci a
na qua l são visitadas. Então, se j am n
x
e n
y
dois na vios com as mesmas ca-
racterísticas e se j a R uma rota que parte da refina ria r
1
e chega à refinari a r
3
passando pelas plataformas p
1
, p
2
e p
3
, os navios n
x
e n
y
podem percorre r 6
diferentes rotas consideran do as combinaç ões de se qüências das plataformas
(ver a Tabela 2.1). Ou seja, pode-se atribuir, p or exemplo, a n
x
a seqüência
de r
1
p
1
p
3
p
2
r
3
(combinaçã o 2 na tabela) e, a n
y
,a seqüência de
r
1
p
3
p
2
p
1
r
3
(combinaçã o 6 na tabela).
Tabela 2.1: Combinações das possíveis rotas, considerando três plataformas
p
1
p
2
p
3
1 1 2 3
2 1 3 2
3 2 1 3
4 2 3 1
5 3 1 2
6 3 2 1
Agora, qual é o critério, para selecionar a seqüência a ser atribuida a um
navio? A idéia de atribuir uma seqüênci a a um navio se bas eia em tomar a
seqüência de distân cia mín i ma. A seç ão 3 explic a como se obtêm esta dis t ân-
cia para cada rota; e, a seção 3.5 expl i ca como se obtêm a distância tot al que
o navio tem que percorrer.
Antes de introduzir-se na solução do problema, é importante explicar e
justificar o mét odo usado para sol ução deste problema, além do por q ue da
seleção da ferramenta usada para este fim.
2.1. FUNDAMENTOS DE SELEÇÃO DO MÉTODO UTILIZ ADO 11
2.1 Fundamentos de seleção do método utilizado
Ainda que do ponto de vista teórico se pode enumerar todas as possíveis
soluções e avaliar cada uma delas, com respeito ao val or da função objetivo ,
na prática, em um computador, é muitas vezes impossível analis ar e avaliar
todas as possíveis soluções, que o número de combi nações cresce expo-
nencialmen t e com o t amanho do problema. É po r este motivo que primeiro,
foram criadas todas as possív eis seqüências de uma rota, para assim reduzir
o universo de soluções.
Uma vez terminado todo este processo conhecido como clusterização , me-
diante um método GREEDY, também conh ecido com o método voraz, o qu al
se baseia na suposição que se tem todos o s caminhos mín i mos, é dize r dis-
tâncias mínim as, a distânci a g l obal é mínima, pode-se chegar a uma solução
que se não é ótima, é muito próxi ma a ela. Esta solução é mu i t o útil con-
siderando que para chegar a uma solução ótima deve-se usar outros méto-
dos como por exemplo backtr acking, divide & conquer , programação dinámica,
programação matemática, en t re outra s, que avaliam todas as possíveis com-
binações, e isto, dependendo do tamanho do pr oblema, pode ser imp ossível
de calcular c omputacional mente. Mais na frente, na seção 6.9 , i ntroduze-se
mais nesta área, justificando a escolha bas eando-se no pro blema especifico.
Para qu em esté interessado na teoria e práctica da computabilidade e com-
plexidade, recomenda-se a l eitura d e Hartley (1987), Jones (1997) e Cutland
(1997).
2.2 Fundamentos de seleção de ferramenta uti-
lizada
Dada a característ i ca do problema e o vol ume dos dados, esco l heu-se utilizar
uma li nguagem de programação orientada a obj etos que permitis s e manipu-
lar o ta manho dos dados, ou seja, o quanto ca da dado ocupa na mem ória.
Além disso, procuro u-se uma lingua gem de programação multiplataforma, ou
seja, que possa s er compil ada tanto em Windows, c omo em um sistema Unix,
como por exe mplo Linux. Dentre as linguagens de programação con hecidas,
a que melhor se aju sta a estas necessidades é C++, dado que ela é orient ada
a objetos; permite definir o espaço de me mória utilizado por cada dado; e, é
multiplataforma.
Capítulo 3
Conceitos prévios
Para um melhor e ntendimento do problema e da metod ologia a ser empregad a
neste trabalho, é fundamental o conhecim ento e entendimento dos conceitos
e fundamentos de como se repr esenta uma rota e um cami nho (este último
apresentado na seção 3.5).
3.1 Conceito de rota
Definiu-se como uma ro t a aque la que c omeça com uma refi naria e termina
na mesma , ou outra r efinaria, passando por um c onjunto de plataformas.
Assim pode-se represe ntar uma rota como uma cadeia binária de tamanho
= CP + 2 CR, onde CP é a quanti dade de plataf ormas em uma rota e CR a
quantidade de refinarias. Um exemplo desta pode ser observada em c ada lin ha
da Tabela 3.1, a qual é uma matriz binária que contém o conjunto das ro t as
possíveis considerando o sistema com 3 plataformas e 3 refinarias. Cada linha
desta matriz representa uma rota, por exemplo, a rota R
x
parte da refinaria r
1
e chega à refinar i a r
2
, passando pel as plataformas p
1
e p
3
.
Tabela 3.1: Matriz de todas as rotas
Rota r
1
r
2
r
3
p
1
p
2
p
3
r
1
r
2
r
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R
x
1 0 0 1 0 1 0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R
y
1 0 0 0 1 1 0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
R
z
1 0 0 0 0 1 0 1 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Uma pe rgunta que se pode faz er neste momento é, como calcular todas as
12
3.2. CÁLCULO DE TODAS AS ROTAS POSSÍVEIS 13
rotas possíveis, conhece ndo-se apenas a quantidade de refinarias e a quanti -
dade de plataformas. A próxima seção está dedicada à explicaçã o da metodolo-
gia usada para respon der a est e questionamento.
3.2 Cálculo de todas as rotas po ssíveis
Nesta seção parte-se do principio que se co nhece a quantidade de refinarias
e plataformas qu e compõem o sistema, e diante desta informação pode-se de-
terminar o número de comb i nações possíveis sem repetição. Para calcular
o número de possíveis c ombinações de refinarias e plataformas qu e confor-
mam a s rotas, d eve-se p r i meiro co nsiderar alguns casos ba ses, para poder
determinar, mediante indução, qual a e quação que de termina e ste número de
combinaçõe s.
Os casos bases consi derados o apre sentados nas Ta belas 3.2 e 3.3, onde
a quantidade de linhas ou combinações (Tabela 3.2) é dado por 2
CP
= 2
2
= 4
(onde CP é a quantidade de plataformas prese ntes no sistema comp l eto). N a
Tabela 3.3, a quan tidade de linhas é 2
CP
CR
2
= 2
2
2
2
= 16 (onde CR é a
quantidade de refinarias pre sentes no sistema completo) .
Tabela 3.2: Caso base de 1 refinaria e 2 plataformas
r p
1
p
2
r
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 1
O caso base apresentado na Tabela 3.4 (na página 15) confirma a dedução
nos do is prime i ros casos: a quantidade de lin has é definida pela quantidade
de refin arias; e , a quantidade de plataformas, mediante a Equaç ão 3.1.
Quantidade_F ilas = 2
CP
CR
2
(3.1)
Aplicando esta equação ao caso bas e da Tabela 3.4 obte m-se:
Quantidade_F ilas = 2
CP
CR
2
= 2
2
3
2
= 36
Por out ro lado, a quantidade de co lunas necessárias para r epresen t ar esta
matriz é igual ao tamanho da cadeia binária apresentada na seção anteri or,
baseada na quantid ade de refinarias e na qua ntidade de plat aformas, medi-
3.2. CÁLCULO DE TODAS AS ROTAS POSSÍVEIS 14
Tabela 3.3: Caso base de 2 refinarias e 2 plataformas
r
1
r
2
p
1
p
2
r
1
r
2
1 0 1 1 1 0
1 0 1 0 1 0
1 0 0 1 1 0
1 0 0 1 1 0
1 0 1 1 0 1
1 0 1 0 0 1
1 0 0 1 0 1
1 0 0 0 0 1
0 1 1 1 1 0
0 1 1 0 1 0
0 1 0 1 1 0
0 1 0 0 1 0
0 1 1 1 0 1
0 1 1 0 0 1
0 0 0 1 0 1
0 0 0 0 0 1
ante a seguint e Equação 3.2.
Quantidade_Colu nas = CP + 2 CR (3.2)
Para realizar aut omaticamente todas as combinaçõ es possíveis das platafor-
mas, de ve-se verificar quais os passos a serem seguidos. Usando-se o exemplo
de 3 plataformas, tem-se 8 combina ções (2
3
= 8) de zeros e um como mostrado
na Tabela 3.5.
Neste exemplo, observa-se que a quantidade de zeros e uns para cada co-
luna é igual ao total de lin has dividido por 2, conforme Equações 3.3 e 3.4:
C1 = 2
CP 1
(3.3)
C0 = 2
CP 1
(3.4)
Com respeito a c ada colun a, tem-se um padrão para aloca ção dos númer os
zero e um, por e xemplo, na col una 1 da Tabel a 3.5 (na página 16), foram
primeramente aloca dos todos os números um e depois todos os zero s . Na
coluna 2, da me sma tab ela, repete-se duas vez e s o seguinte p rocedim ento:
situa-se primeramente
C1
2
quantidades do número um; depois
C0
2
zeros. Na
coluna 3 observa-se que foram intercalados uns e zeros. Nesta coluna (colu na
3.2. CÁLCULO DE TODAS AS ROTAS POSSÍVEIS 15
Tabela 3.4: Caso base de 3 refinarias e 2 plataformas
r
1
r
2
r
3
p
1
p
2
r
1
r
2
r
3
1 0 0 1 1 1 0 0
1 0 0 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 0 0 1 0 0
1 0 0 1 1 0 1 0
1 0 0 1 0 0 1 0
1 0 0 0 1 0 1 0
1 0 0 0 0 0 1 0
1 0 0 1 1 0 0 1
1 0 0 1 0 0 0 1
1 0 0 0 1 0 0 1
1 0 0 0 0 0 0 1
0 1 0 1 1 1 0 0
0 1 0 1 0 1 0 0
0 1 0 0 1 1 0 0
0 1 0 0 0 1 0 0
0 1 0 1 1 0 1 0
0 1 0 1 0 0 1 0
0 1 0 0 1 0 1 0
0 1 0 0 0 0 1 0
0 1 0 1 1 0 0 1
0 1 0 1 0 0 0 1
0 1 0 0 1 0 0 1
0 1 0 0 0 0 0 1
0 0 1 1 1 1 0 0
0 0 1 1 0 1 0 0
0 0 1 0 1 1 0 0
0 0 1 0 0 1 0 0
0 0 1 1 1 0 1 0
0 0 1 1 0 0 1 0
0 0 1 0 1 0 1 0
0 0 1 0 0 0 1 0
0 0 1 1 1 0 0 1
0 0 1 1 0 0 0 1
0 0 1 0 1 0 0 1
0 0 1 0 0 0 0 1
3.2. CÁLCULO DE TODAS AS ROTAS POSSÍVEIS 16
Tabela 3.5: Combinações possíveis de três plataformas
1 2 3
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
3) também foi seguido u m padrão: primeiro
C1
4
quantidades de número um;
depois
C0
4
quantidades d e número zero; e, assim por diante, até o total de
linhas (2
CP
= 8). Est e padrão foi desenvolvido para o caso CP = 3, deve-se,
agora genera l i zar para CP = n.
Viu-se que pa r a a coluna 1 tem-se 2 divisões; para a coluna 2 tem- se 4
divisões; e, para a coluna 3 t em-se 8 divisões . Por tanto, po de-se escre ver as
seguintes equaçõe s:
col una 1 Div[1] = 2 =
2
3
4
= 2
32
= 2
CP (CP 1)
= 2
1
col una 2 Div[2] = 4 =
2
3
2
= 2
31
= 2
CP (CP 2)
= 2
2
col una 3 Div[3] = 8 = 2
3
= 2
30
= 2
CP (CP 3)
= 2
3
Desta forma a quantidade de divisões de cada coluna é dada pela Equação 3.5
Div[NC] = 2
CP (CP NC)
= 2
NC
(3.5)
onde NC é o número da colu na. A quantidade de elementos por cada divisão
em uma colun a é dada pela Equação 3.6.
Elementos[NC] =
2
CP
Div[NC]
(3.6)
Para um melhor ent endimento, veja-se a Tabela 3.6 na qua l a coluna 1
(NC = 1) tem Div[1] = 2 e Elementos[1] = 4, ou seja, apresenta 2 intervalos e
cada int ervalo possui 4 elementos. Na coluna 2 (NC = 2) tem-se Div[2] = 4
e Elementos[2] = 2. Ou seja, tem-se 4 interva l os de 2 elemento s e, a coluna 3
(NC = 3 ) apresen t a Div[3] = 8 e Elementos[3] = 1, ou seja, ap resenta 8 intervalos
de 1 elemento c ada um.
A desvantag em do uso desta metodologia na determinação das rotas é a
não definiçã o da seqü ência a seguir. Por exemplo, retomando a rota R
x
da
3.3. SEQÜÊNCIAS EM UMA ROTA 17
Tabela 3.6: Aplicação do conceito de elementos e div
Linha
NC = 1 NC = 2 NC = 3
0 1 1 1
1 1 1 0
2 1 0 1
3
1 0 0
4 0 1 1
5
0 1 0
6 0 0 1
7 0 0 0
Tabela 3.1, não se sabe se da refinaria r
1
vai à Pl ataforma p
1
ou à p
3
. São apre-
sentadas algumas soluções a este prob l ema, baseadas na idéia das s eqüências
a serem seguidas, em uma rota.
3.3 Seqüências em uma rota
Como mencion ado existe um pr oblema na definição de uma rota, uma vez
informada qual é a refinaria de saída, a refinaria de chegada e as platafo rmas
que se deve visitar, mas não se info rmou em que seqüência se visitam estas
plataformas. Por exemplo, no caso da rota R
x
pode-se definir 2 seqüências
diferentes:
1. r
1
p
1
p
3
r
2
2. r
1
p
3
p
1
r
2
Para este caso particular (rota R
x
) tem-se, apenas, duas formas d e ir da refi-
naria r
1
à refinaria r
2
passando pelas plataformas p
1
e p
3
. Porém, a quantidade
de combinações vai d epender da quantidade de plataformas.
A segui r serão p ropostas algumas formas para resolução deste problema .
Primeira solução
Uma solução é definir uma matriz onde cada linha se corresponda com a linha
na matriz de rotas possíveis (por exemplo a m atriz apre sentada na Tabela 3.1);
e, cada coluna determine a distânc i a da rota. A distân cia, refere-se à distância
total da seqüência , ou seja a seqüência r
1
p
1
p
3
r
2
apresenta uma
distância de 500 km referente a soma da distância de r
1
a p
1
, acrescida da
distância de p
1
a p
3
, e da distância de p
3
a r
2
.
Por exemplo, s uponha-se uma rota com 2 refin arias e 2 plataformas, mais
especificam ente a rota R
x
, apresentada na Tabela 3.1. Existem 16 possíveis
3.3. SEQÜÊNCIAS EM UMA ROTA 18
combinaçõe s de seqü ências (Equação 3.1, pá gina 13). T ome-se a seqüência
r
1
p
1
p
3
r
2
com distância de 500 km, supondo que s e conhece as dis-
tâncias entr e as plataformas e refinarias; e, a seqüência r
1
p
3
p
1
r
2
com distância de 322 km. A Matriz de Dist âncias irá armazenar a distâ ncia
das seqüências, com um número de linhas igual da matriz de todas as ro-
tas e número d e colunas dado pela Equação 3.1. No caso de 3 refinarias e 3
plataformas tem - se 72 coluna s. A rota R
x
tem 16 po ssíveis combinações e a
matriz de distâncias tem 72. Deve-se o cupar a s primeiras colunas da m atriz e
completar o restant e com um valor negativo (dado que não existem distâncias
negativas), para determina r que não mais com binações. Ent ão, a linha que
corres ponde à rota R
x
na matriz de d i stâncias te rá nas pri meiras 16 posições
as distâncias de todas as combinações pos síveis da r ota.
Esta solução tem três de svantagens importantes. A primeira é que pa ra
saber a qual seqüência p e rtence a distância, necessita-s e gerar as seqüências;
calcular a distância; e verificar se é igual ao val or procurado, o que demanda
bastante cálculo. Outra desvantagem é baseada na ambigüidade do problem a,
dado qu e, pode haver mais de u ma seqüê ncia com a mesm a distância. Por
ultimo o problema de espa ço de memoria em um compu tador, da do q ue se
uma matriz de 72 colu nas u s a parte dela (no caso da linha da rota R
x
, 16
colunas, se está desperdiçando muito esp aço.
Segunda solução
Outra possível solução é fazer uma matriz com o número de colunas = CP + 1,
onde a primeira coluna será o número de linha da rota à qual corre sponde
a seqüência que se encontra no resto das coluna na mesma linha, ou seja,
retoma-se o exemplo da rota R
x
da Tabel a 3.1 e considera-se que esta rota
está na linha 13 e além di sso o código de p
1
é = 1 e o de p
3
é = 3 então,
se obtería o resultado que pode s er observado na Tabela 3.7, on de o valor
1 é o e l emento neutro (valor negativo mencionado com anterioridade ) , que
determina que n a rota duas plataformas para construir as seqü ências.
Esta solução elimina a ambigüidade da so l ução anterior, mas ainda se tem
o problema do espaço d e memória, dado que se o sistem a fosse m aior, por
exemplo, se houvesse 30 plataformas e se consideranse as rotas que pas-
sam por algumas plata f ormas, está-se desperdiçand o bastante espaço . Além
disso, se tem que calcular a distância, o que demandar i a mais tempo de ex-
ecução. Para solucionar este problema se pode combina r a soluç ão anteri or
com esta, agregando uma coluna mais à matr iz na qual se situa a distâ ncia
da seqüência , como s e pode ver na Tabela 3.8.
3.3. SEQÜÊNCIAS EM UMA ROTA 19
Tabela 3.7: Segunda possível solução
Linha da Primeira Segunda Terceira
rota plataforma plataforma plataforma
.
.
.
.
.
.
.
.
.
.
.
.
13 1 3 1
13 3 1 1
.
.
.
.
.
.
.
.
.
.
.
.
Tabela 3.8: Soluções combinadas
Linha da Dis t ância Primeira Segunda Tercei r a
rota da rota( mn) plataforma plataforma plataforma
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13 500 1 3 1
13 322 3 1 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Terceira sol u ção
Outra solução, pa r tindo-se da idéia das duas sol uções anteriores visando
otimizar o espa ço de memória ut ilizado, é associar a cada rota uma matri z
com a quantidade de linhas igual à quantidade de possív eis comb i nações (a
qual se calcula c om a Equação 3.1) e a quantidade d e colunas igual à q uan-
tidade d e plataformas da rot a (já nã o mais a qua ntidade de plataformas do
sistema) mai s três, a primeira coluna com a distância, a segu nda coluna com
a refinaria de partida e a última co l una com a refinaria de chegada, e as co-
lunas c entrais estão destinadas para determinar a seqüência de plataformas,
como pode ser observado na Tabela 3.9 .
Tabela 3.9: Terceira solução
Distância Refinaria Primeira Segunda Refianria
da rota (mn) de saída plataforma plataforma de chegada
450 10 1 3 20
500 10 3 1 20
Esta metodologia gera uma lista de matrizes, on de a posição da matriz
na lista determina a linha da rota na matriz d e r otas possive i s à qual faz
referência. Esta so l ução otimiza o espa ço de me mória utilizado, dado que se
definem as matrizes com as linhas e colunas que se o utilizar; a l ém disso
não se tem o problema de ambigüidade, uma vez qu e pode haver a cond i ção
de existir duas distâncias iguais, mas as seqüências que determinam essas
distâncias não o sejam; e por último a distância é calculada uma única vez
3.4. CALCULAR TODAS AS POSSÍVEIS SEQÜÊNCIAS DA ROTA 20
quando se constroi a matriz das seqüências da rota, conseguindo assim não
recalcular este dado cada vez que necessitemos da distância.
Na próxima seção será apresentada a metodologia usada para o cálculo de
todas as possí veis seq üências em uma rota.
3.4 Calcular todas as possíveis seqüências da rota
Para calcular todas as possíveis seqüências de uma rota, primeiro deve-se
levar em consideração, que toda seqüência deve começar com a refinaria de
partida e terminar com a refinaria de chegada, por isso as possíveis combi-
nações são fei t as com o conjunto de plataformas.
Para calcular todas as possíveis combinações da rota, tem-se que gerar
as Permutações ou Ordenações sem Re petição, qu e se definem da seguinte
maneira:
“As permutações sem repetição de n elementos se defin e como as distinta s
formas de ordenar todos os elementos distintos”, uma vez que a única dife-
rença e ntre elas é a orde m de colo cação de seus elementos. O número destas
permutações é d ada pela Equação 3.7:
CP
n
= n! (3.7)
Ou seja , para o caso de 3 plataformas tem-se CP
3
= 3 ! = 6 e para 4, tem-se
CP
4
= 4! = 24.
Agora, quais são os passos q ue se devem seguir para obter t odas as pos-
síveis combinações?.
Primeiro d eve-se encon trar uma metodo l ogia a seguir, a que propõe-se
neste trabalho é a que se aprese nta na Tabela 3.10. A metodolog i a usada
é: para cada coluna (NC) s abe-se a quantidad e de vezes consecut i vas (CV C)
de um elemen t o do conjunto, determinada pela Equação 3.8:
CV C[NC] = (n NC)! (3.8)
onde n é a q uantidade de elementos que tem o conjunt o, que ne s te caso é a
quantidade de platafo rmas. Além diss o sabe-se que se tem x veze s a rep etição
deste interva l o na coluna, onde x é calculada pela Equação 3.9:
x = CRepit[NC] =
n!
CV C[N C]
n
=
(n 1)!
CV C[NC]
(3.9)
3.4. CALCULAR TODAS AS POSSÍVEIS SEQÜÊNCIAS DA ROTA 21
Tabela 3.10: Permuta ções sem repetição de 4 plataformas
p
1
p
2
p
3
p
4
1 1 2 3 4
2 1 2 4 3
3 1 3 2 4
4 1 3 4 2
5 1 4 2 3
6 1 4 3 2
7 2 1 3 4
8 2 1 4 3
9 2 3 1 4
10 2 3 4 1
11 2 4 1 3
12 2 4 3 1
13 3 1 2 4
14 3 1 4 2
15 3 2 1 4
16 3 2 4 1
17 3 4 1 2
18 3 4 2 1
19 4 1 2 3
20 4 1 3 2
21 4 2 1 3
22 4 2 3 1
23 4 3 1 2
24 4 3 2 1
3.4. CALCULAR TODAS AS POSSÍVEIS SEQÜÊNCIAS DA ROTA 22
Observa-se na Tabela 3.10, na primeir a coluna (p
1
), NC = 1 , tem-se
CV C[1] = (4 1)! = 3! = 6
CRepit[1] =
(4 1)!
6
=
3!
6
= 1
Estas equações (já apr esentadas n as Equações 3.8 e 3.9) apresentam os resul-
tados que se pode m observar na Tabe l a 3.10 , que tem 6 uns consecutivos
uma vez na coluna, seguido de 6 doi s consecutivos e as sim até terminar os
elementos do conjunto.
Para a coluna NC = 2, (p
2
):
CV C[2] = (4 2)! = 2! = 2
CRepit[2] =
(4 1)!
2
=
3!
2
=
6
2
= 3
Para a coluna NC = 3, (p
3
):
CV C[3] = (4 3)! = 1! = 1
CRepit[3] =
(4 1)!
1
=
3!
1
= 6
E por últ i mo a coluna NC = 4, (p
4
):
CV C[4] = (4 4)! = 0! = 1
CRepit[4] =
(4 1)!
1
=
3!
1
= 6
Então pode-se concl uir que as equaç ões de CV C e CRepit são corretas.
Agora, para obter todas as possíveis s eqüências em uma rota, falta agre-
gar uma colun a ao início com a refina ria de partida da rota e uma coluna ao
final com a refinaria de chegad a, e seguindo a terceira solução apresen t ada
na seção 3.3 faltaria ag regar mais uma coluna ao começ o da matriz, c alcu-
lar a dist ância d e cada seqüênc i a e armazená-la ne sta coluna.
Depois de ter pronta a matriz com toda a informação, se pode ordenar
esta de menor a maior com resp eito à distância, isto irá faci l i t ar a forma de
busca na hora de procurar a seq üência de distância mínima seg uinte na rota.
3.5. CONCEITO DE CAMINHO 23
3.5 Conceito de caminho
Um caminh o é um conjunto de rotas , o qua l associa um navio a uma matriz
que vai determinar a seqü ência que o navio deve seguir n esse caminho, além
disso, seguind o a idéia da terceira solução, d i scutida na seção 3.3. Esta
matriz tem as seguintes dimensões: lin has = quantidade de possíve i s combi-
nações das rotas neste caminho; e, colu nas = quantidade de rotas (CRutas)
mais 1, sendo usada para arma zenar a dis t ância total da seqüência de rot as
da linha. O cálculo da distância total, não é tão trivia l como na seção ante rior,
e será apresentado na seção 6. 1.
Para obter as p ossíveis seqüências de rotas, fo i utilizada a meto dologia de-
scrita na seção 3 . 4, onde foi considerado o conjunto d e elementos, para gerar
as permutações sem repetição, com as plata f ormas. Neste ca so, o conjunto
de elementos é o co njunto de rotas associadas ao caminho . Uma vez obtidas
as combina ções das CRutas! , é calculada a dis tância de cada c ombinação das
rotas. Este cálculo, não é trivial, um a vez que depende de fatores como, a
seqüência e a distância da seqüência de c ada rota que compõe este caminho.
Se em uma seqüência se tem e, por exemplo, as rotas R
1
, R
2
e R
3
associadas
às distâncias mínimas de stas 1100mn, 1200mn e 1300mn, respectivamente, a
distância do caminho não é necessaria mente a soma de todas as distân cias
das rot as, ou seja, 3600mn, função apenas das refinaria s de chegada e saída
de cada rota. Considerando o caso da refinaria de chegada da rota R
1
ser
diferente da refi naria de partida da rota R
2
, a principio, a dis tância total seri a
a soma das distâncias entre as duas refinarias, mas na prática, n ão tem sen-
tido um na vio atracar se o houver necessidade de carga ou des carga, que
isto implica custos adicio nais. Portanto, a distância total deve ser calculada
como a distância entre a refi naria de partida da seg unda e a primeira pla t a-
forma, na seqüência da mesma rota, acrescida da distância entre a refinaria
de chegada da primeira rota e a primeira pla taforma, na seqüência da segunda
rota, conforme será apresentado na seçã o 6.1.
Assim sendo, na coluna de distância da matriz d o caminho, são calculadas
as dist ância mínimas na seqüência de cada r ota que compõem o caminho, o
que não necessariamente é real, dado que se pode escolher uma seqüência
de uma rota que não apresen ta uma distância mínima, e, por con seguinte,
vai difer i r da distância da seqüênc i a das rotas na matriz do caminho. Para
contornar este problema é definida uma matr i z chamada secue ncia, associada
ao caminho, a qual c ontém a seqüência de refinarias e pl ataformas que o navio
deve percorrer.
Capítulo 4
Classes
Nesta seção são explicadas as classes que conform am o si stema, usando a
Linguagem Unificada de Modelag em (UML) (para quem não tenha conheci-
mento sobre UML recomenda-se a leitura de Larman (2003) ou Rumbaugh
et al. (20 04) para melhor comp reensão desta seção).
Uma classe é um elemento de UML, usado para especificar o padrão do qual
se produzirão os obje t os e m tempo de execução. Portanto, uma classe é uma
especificaçã o e um objeto é uma instância de uma classe. As cl asses podem
ter out ras classes como atributos; podem delegar sua s responsabilida des a
outras classe s; e, implement ar interfaces abstratas. O m odelo de classes está
no núcle o d o desenvolvi mento e do desenho orientados a objetos; e, expressa
o estado e o comportamento do sis tema. Uma classe encapsula o estad o (os
atributos) e oferece os serviços (métodos) para su a ma nipulação. Um b om
desenho orientado a objetos limita o acesso direto aos atributos da classe e
oferece os serviços que manipulam o requerimento do solicitante . Este enco-
brimento dos dados e expo sição dos serviços a ssegura que a s modifi cações dos
dados realizam-se em um unico lugar e de acordo com regras específicas; para
grandes siste mas a quan tidade de código co m acesso direto aos elementos de
dados em mui t os locais é extrema damente alto. Combinando-se um conjunto
de objeto s (instância s d as classes) e o mod elo das classes, ob tém-se o que se
denomina ce nário. Um cenário determina o que acontece na re alidade num
tempo especifico, como se alguem tira uma fotogra fia de um sis tema e observ a-
se como estão as informações (at r i butos) das classes naq uele ins tante.
A segui r são explicadas as clas ses a serem utilizadas no sistema proposto.
24
25
Figura 4.1: Classe Matriz
Classe Matriz
Esta classe f oi desenvolvida pelo f ato de que em C++ não existe no s seus ti pos
primitivos, um tipo Matriz. Nesta linguagem d efine-se uma ma t riz com um
ponteiro ao tipo de dados desta. A form a de armazenamento dos dados é
é semelhante a u m vetor, para se i dentificar uma posição da matriz deve-se
utilizar o seguinte procedimento: M[i CC + j] onde CC é a quantidade de
colunas contida s na matriz M. O problema de trabal har com uma matriz
desta forma, ou seja com um p onteiro, é que para passar c omo par âmetro a
mesma, também tem-se q ue passar como parâmetro a quantidade de l i nhas
e a quantidade de colunas da matriz, para, ass im, s aber qual a dimensão da
mesma.
Então defi niu-se a classe M atriz, que se apresenta na Figur a 4.1, onde
tem-se três atribu t os, os qu ais determinam a quanti dade de linhas (MaxX), a
quantidade de colunas (MaxY) e o ponteiro para os dados (pMatriz). Como
pode-se observar neste úl t i mo atributo, esta classe aceita dados de tipo
inteiro dado que nest e trabalho se necessitam matrizes deste tipo. Esta
classe tem dois c onstrutores, Matriz() e Matriz(X,Y) onde o pri meiro define
uma matriz sem dimensões e o segundo gera a matriz com dimensõ es (X
*
Y).
Além dos const rutores se implementou uma função ReDim(X,Y) que redimen-
siona a instância da classe que invoca esta função. Para obter a informação da
posição [i,j] definiu-se a funçã o at(i,j), na qual uso u-se um polimorfismo
de sobrecarga (para quem não tem conhecimento de polimorfismo de sobre-
26
carga, recomenda-se a leitura da seção 2. 6 d e Li ppman (2002)) para poder
atribuir um valor na posição [i,j], é dizer a mesma função inv ocada com
mais um parâmetro (por exemplo z), que é o valor a ser adicionado na posição.
Então a função at(i,j,z) adiciona o va l or z na posição [i,j] do objeto que
a invoca. Outra s f unções implem entadas foram getX() e getY() as quais dão
a quantidade de linhas e colunas, respectivamente, que tem a instância que as
invoca; e por últi mo implementou-se várias formas de imprimir a matriz, das
quais, entre as mais importantes, destac a-se a função print_R_data_frame
a qual i mprime em um arquivo os dados da matriz colocando este s com for-
mato de um tipo de dados (data_frame) nativo de R (R-Project) a ser detalhado
na seção 6.2, é um software que será util i zado neste tr abalho par a a geração
dos gráficos do relator i o final do sistema.
Classe Grafo
Figura 4.2: Classe Grafo
Nesta classe fora m definidos os dados referentes às pl atarmas e refinarias
que podem ser vistas como n´os e a distância entre estas podem ser vistas
como as arestas que unem estes n´os, desta forma o conjunto de plataformas e
refinarias são representadas com um grafo .
Nesta classe (v er Figura 4 . 2) tem-s e 3 atributo s, os quais determ i nam a
quantidade de n´os (CN), as etiquetas dos n´os (nodos), q ue represen t am o código
da plataforma ou refinaria à qua l corresponda o n´o, e a matriz de adjacência
(aristas). Os métod os implementados para esta classe f oram: o const rutor
(iniciar); ag regar um novo (addNodo); remover um n´o (remNodo); agregar o
peso de uma aresta, que no nosso caso a distância en t re os n´os, (addArista);
remov er uma a resta (remArista); ob t er o peso da aresta
27
(getDistancia); e duas formas de imp r imir a instância da classe.
Classe Compartimento
Figura 4.3: Classe Compartimento
A classe Compartimen t o, Figura 4.3, tem a finali dade de instanci ar diferen-
tes compartiment os que podem pertencer a um navio. Nesta classe os dados
importantes a destacar, quer dizer, os atributos, são: o código (codigo), o qual
vai dife rencia-l o do rest o dos compartimentos; a capaci dade deste comparti-
mento (capacidade); o tipo d e produto (tipoProduto); e a quantida de de pro -
duto. Os métodos implementado s para esta classe são: o construtor (iniciar)
o qual to ma como parâmetro o código do compar t i mento (codP) , a capacidade
do comparti mento (capP), o tipo de pro duto (tipoProdP) e a quantidade de
produ t o armazena do (qProdP); e os que manipulam direitamente os atributos,
os quais, seguindo a tra dição, foram cham ados com get+Nome_do_Atributo
para os mét odos que permitem obte r a informação do atributo do objeto que
invoca o método; e set+Nome_do_Atributo para os métodos que permitem
atribuir um valor ao atributo do objeto que o i nvoca. Além destes métodos
implemento u-se um método para impres s ão dos d ados desta class e.
Classe Navio
A classe Navio, Figura 4.4, tem a finalidade de instanciar diferentes navios que
podem per tencer a uma frota (Figura 4.5 na pagina 30). Nesta classe os atribu-
28
Figura 4.4: Classe Navio
29
tos mai s importantes a se destacar, são: o digo (codigo) qu e irá diferencia-
lo do resto dos navios instanciado s; uma descrição do mesmo (descricao);
o calado (calado); o com primento (comprimento); a velocida de (velocidade);
o tempo de a tracação (t_atraco), que é um objeto do tipo matriz, que na
primeira linha terá as plataformas e refinarias presentes no si stema e na se-
gunda linha o tempo que o navio instânciad o, vai demorar para atracar na
refinaria ou pla taforma co rrespon dente à co l una da primeira linha; o tempo
de desatracação ( t_desatraco) que é um objeto de tipo m atriz que na primeira
linha terá as plataforma s e refinarias ex i stentes no sis t ema e na segunda linha
o tempo que, o navio instância do, irá demorar para desatraca r da refinaria
ou platafo rma cor respond ente à col una na pr i meira linha; a velocidade de
bombeio do produto armazenado nos compartimentos (v_descarrega), que
é um atributo é de especial im portância, uma vez que irá dete rminar qua l o
tempo mínimo q ue um n avio pode ficar atracado em uma refinaria descarre-
gando o petróleo coleta do nas plat aformas; um conjunto de objetos Compar-
timento (comp) que irá dete rminar a capacidade do na vio; e a quantidade de
compartime ntos (quantidadeComp) que se tem no conjunto comp.
Os métodos implementados par a esta classe o por um lado o s que ma-
nipulam dire t amente os atributos, chamados co m os nom e s
get+Nome_do_Atributo para os méto dos que permitem obter a informação
do atributo do objet o que o i nvoca; e set+Nome_do_Atributo para os méto-
dos que permitem atribuir um valo r ao atributo do objeto que o invoca. E por
outro lado são: o construtor (iniciar) o qual toma como par âmetro o código
do navio (codP), a descrição (descP), o calado (calP), o compriment o (compriP)
e a velocidade (velP); o mé todo getCapacidade que calcula a carga do navio;
o método Descarregar o qual retorna a quantid ade de petróleo total em to-
dos os compartimentos e esvazia os mesm os, ou seja, além de desca rregar,
informa q uanto de scarregou; e dois métodos para impres são dos da dos desta
classe.
Classe Frota
Esta classe, Figura 4.5, foi definida para armazenar todas as possíveis instân -
cias da c l asse Navio permitin do criar conjunt os de navi os. Os atributos desta
classe, o: um código (codigo); uma descrição (descricao); um co njunto
de objeto s Navio ( navios); e a qua ntidade de objetos (CN) que tem o conjunto
navios. Os métodos implementados para esta class e fo ram, além dos qu e
permitem manipular os a t ributos, um méto do para imprimir a in f ormação da
30
Figura 4.5: Classe Frota
classe e o construtor, o qual toma como p arâmetr os a informação do código
(codigoP) e a d escrição (descricaoP).
Classe Piers
Esta classe, Figur a 4.6, foi defi nida para poder ins tanciar diferentes piers,
onde pudesse variar a profund idade (profundidade), a lar gura (largo) e o
comprimento (cumprimento), diferenciando-os por um código (codigo). Além
disso se agreg ou mai s um atr i buto, que é o valor de verdade que deter-
mina se essa instância do pier está ocupada ou não (ocupado). Nesta classe
implementa m-se os métodos que permitem manipular os atributos, além do
método que permite imprim i r os dados desta classe e o construto r da mesma,
o qua l toma como parâmetros o código (codP), a profundi dade (profP), a
largura (largoP) e o comprimento (compriP). Outro método que implementou-
se é baseado na restrição que um navio pode atracar em uma refinaria se
existir um pier disponível e além disso a profundidade deste pier mais a al-
tura da maré dev e ser maior que o calado do navio. O c omprimento do navio
é menor que o do pier, então neste método (puedeAtracar) passa-se como
parâmetro o calado do navio (calado), o comprimento do mesmo (n_compr) e
a altura da maré, e retorna verd adeiro se e se o pier está disponível e se o
calado do navio for menor q ue a pr ofundidade do piers mais a altura da maré;
o comprimen to do navio é menor que o comprim ento do pier.
31
Figura 4.6: Classe Piers
Classe Porto
Um por to é composto por conjunto de piers ond e os navios s ão atraca dos. Na
classe Porto, Fig ura 4.7, tem-se como atributo os seguintes dados: o código
(codigo) definido como único, permitindo d iferencia-lo dos outros objetos do
mesmo tipo, o nome (nome), a cidade na qu e e s (cidade), o estado no que
se encontra (estado), o país (pais), o conjunto de piers (piers), a quanti-
dade de piers no co njunto piers (quantidadePiers), a amplitude da maré
nesse porto (amplitud) e a hora exata da pr i meira maré morta (MM) a partir
da hora 0 em que começa o schedul i ng. Os mé todos impleme ntados para esta
classe, além dos que permitem manipular os atributos, agregando os todos
addPiers e remPiers que anexam e eliminam Piers do conju nto piers, e o
que permite imprimir a informação da classe, sã o: o método que determina se
um navio pode atracar ou não nesse porto, este método (puedeAtracar) toma
como parâme tros o navio (n) e o tempo (t), que verifica se existe algum pier
desocupado e assim verific a, com respeito à hor a que irá determinar a altura
da maré, se o n avio pode atra c ar nesse piers ou não; e o construtor (iniciar)
que toma com o parâ metros o c ódigo (codP), o nome (nP), a cidade (cidP), o
estado (estP), o país (paisP), a hora da primeira maré morta (PMM) a partir da
hora 0 do scheduling e a a mplitude da ma r é (ampli).
32
Figura 4.7: Classe Porto
33
Classe Refinaria
Figura 4.8: Classe Refinaria
Em uma refinaria existe um port o que é comp osto por vário s piers. Nes te
trabalho considero u-se a possibi l i dade d e existir várias refinarias, assim pode-
se trabalhar c om uma quantidade maior d e cenários. É por e sta r azão que
definiu-se a classe Refinaria, Figura 4.8, os atributos desta classe são: o
código (codigo) o qual irá determinar a refinaria i nstanciada como única;
o nome ( nome), a cidad e na qua l ela está loc alizada (cidade), o estado em
que se encontra (estado), o país (pais), o conjunto de portos (portos), a
quantidade de po rtos no conjunto portos (quantidadePortos) e a quanti-
dade de petróleo bruto descarregada na refinaria (descarregado), este último
atributo tem co mo finalidade poder consi derar que em um determi nado plane-
jamento apr esenta a quantidad e de petróleo existente em um período inici al,
aproxi mando-se m ais à realidade. Os métodos implementado para esta classe,
34
além dos que p ermitem manipular os a tributos, e o que permite imprimir
a inform ação da classe, são: o m étodo getCantPiers o qual nos retorna a
quantidade de Piers associados a esta Refinaria, ou seja é a soma dos Pier s
pertencente s aos Portos que a Refinaria tem; o método que determina se um
navio pode atracar ou não nesta refina ria, este método (puedeAtracar) toma
como parâmetros o navio (n) e o tempo (t), com a informação do nav i o e o
tempo onde o método procura em to dos os portos, do conjunto portos, e
identifica se existe a disponibilidade para que um navio possa atracar; o cons-
trutor (iniciar) que toma como parâmetros o código (codP), o nome (nomeP),
a cidade (cidadeP), o estado (estP), o país (paisP).
Classe Plataforma
Figura 4.9: Classe Plataforma
Uma plataf orma marítima tem como propósito a extração de p etróleo bruto
35
no mar. Existem muitos tip os de plataformas, mas neste trabalho será
considerada a informação caracterí zada na Figura 4.9, onde se apresenta
a classe Plataforma. Os atributo s desta classe são: o código (codigo) que
vai dete rminar a plataforma instânciada como única; o no me (nome) ; a pro-
dução (producao) a qual determina a quantidade de petról eo que s e extrai por
unidade de tempo; a capacidade máxima (capacidadeMax) que é a qua ntidade
máxima de petróleo bruto que a plataforma pode armazenar, fator importante
para indicar se a sua capacidade máxima atinge um ponto qu e obrigaria a
parada da produção; a velocidade de carga do bombeamento (v_carrega),
responsavel por determinar a quantidade de tempo que um navi o estará atra-
cado à mesma para carregar o petróleo; a hor a da última descarga (horaUD)
ou seja , a hora em que o último navio esteve na p l ataforma c arregan do; e o
volume da última descarga (resto) que é a quantidade de petróleo que ficou
estocado a pós a última descarga. Os métodos implementados para esta clas se,
além dos que perm i tem manipula r os atributos e os que permit e imprimir a
informação da classe, são: o método do tempo máx i mo ( getTempoMax) que diz
respei t o ao limite, em tempo, qu e a plataforma pode ficar sem descarregar, é
calculado com base na ho ra da última descarga, o volume estoc ado e a pro -
dução da plataforma; e o const rutor (iniciar) que toma como parâmetros
o código (codP), o nome (nomeP), a produção (prodP), a capacidade máxima
(capMaxP), a hora da última descarga (hUDP) e o estoque (resto).
Classe Rota
Uma rota, c omo se definiu na seção 3, é formada por uma r efinaria de partida,
uma de chegada, e um conjunto de plataformas . Com estas informações, mais
a informação do grafo que contem as distâncias, gera-se uma matriz onde cada
linha é uma seqüência possív el que se pode seguir onde a primeira coluna ar-
mazena a distância total da seqüênci a, determina da pela linha, da rota. Na
segunda coluna armaz ena-se o código da refinaria de partida, n a última co-
luna a refinaria de chegada e nas co lunas c entrais as plataformas ass ociadas
á rota. Para armazenar estas informações e poder instan ciar mais de uma
rota no cenário, definiu - se a classe Rota qu e se apresenta na Fig ura 4.10. Na
classe Rota estão presentes os seguintes atributos: o códi go (codigo) q ue vai
determinar uma rota como ún i ca; a refinaria de partida (partida); a refinaria
de chegada ( llegada); o conjunto de plataformas (plataformas); a quanti-
dade de plataformas no conjunto plataformas (CP); a matriz secuencias qu e
contem tod as as p ossíveis combinações de seqüências que podemse seguir na
36
Figura 4.10: Classe Rota
37
rota; o retardo (retardo) que identifica uma rota i nicial, atributo usado como
objetivo de aprox i mar mais o sistema à realidade, uma vez que um navio tem
mais de duas rotas a el e associadas, pode ocor rer que en tre as via gens, o
navio, dentre outras poss ibilidades de retardo, deva ser limpado, ou trocar a
tripulação, et c; e a carga (carga) que objetiva fazer com que as plataformas
associadas às rotas, diante de um planejamento determina do, onde são es-
pecificadas que plataformas deverão s er visitadas e quanto será carregado em
cada uma delas.
Os métodos implementados nest a classe, além dos que permitem mani-
pular os atributos e o qu e permite imprimir a informação da classe, são: o
método que gera todas as possíveis seqüência da rota (generar_secuencias),
calculando as distâncias destas e armazena ndo as informações em uma ma-
triz onde em cada linha são apre sentadas as s eqüências a seguir nesta rota.
Na primeira coluna armazena-se a distânci a total da seqüência, na segunda
coluna armazena-se o código d a refinaria de pa r tida, na última c oluna a re-
finaria de chegada e nas colunas cen t rais as plataformas q ue tem a rota,
com a informa ç ão ordenada de menor a maior com respeito às distâncias de
cada seqüência; o método getCantNodos qu e nos retorna a quantidade de
n´os, ou seja a quan tidade de plataform as mais do i s que são as refinaria s; o
método sePuedeIncrementar o qual apresent a se ainda uma seqüência
não usada; e o método esPlataforma que retorna se o c ódigo dado com o
parâmetro corresponde a uma plataforma na rota.
Classe Caminho
Um caminho, como definiu-se na seção 3.5, é um conjunto de rotas associ-
adas a um navio, contendo a i nformação compleme ntar do na vio associado
às rotas e o grafo de distâncias. Toda esta informação, mediante métodos da
classe, permitem obter o restante das informações pertinent es à c l asse. Então
a classe C aminho, Figura 4.11, tem os seguintes atributos: o código (codigo)
que irá determina-lo como único; o Grafo de di stância (distancias); o Navio
(nav) que vai fazer o caminho; o conjunto de Rotas (rutas); a quantidade de
rotas que tem o conjunto rutas (CR) ; a hora de inicio (hora_inicio), que tem
por finalidade permitir qu e um Caminho co mece em uma hora determinada
e o necessa riamente na hora de inicio do planejamento, de forma que o
sistema se t orne mais flexive l ; a linha na matriz d e seqüências de cada Rota
(nivel_en_ruta), este atributo é um vetor de distâ ncia igual à quantidade de
rotas existentes no caminho; a matriz que contem todas as possíveis combi-
38
Figura 4.11: Classe Caminho
39
nações de seqüências de rotas (seq_rutas), neste atributo, como se esclare-
ceu na seção 3.5, tem uma matriz com colunas iguais a quantidade de rotas
no caminho mais um, que é a primeira coluna onde armazena-se a distância
total, e linhas que é ig ual ao factorial da quantidade de rotas; e o atributo
nivel_en_seq_rutas que determina a linha na matriz seq_rutas, ou seja,
qual é a combinação de seqüências de rotas exi stentes.
Os métodos implementados nest a classe, além dos que permitem mani-
pular os atributos e o qu e permite imprimir a informação da classe, são: o
método getRutaPos o qual retorna a Rota que e s no vetor de Rotas na
posição passa da como parâme tro; o método getPosRuta o qual reto rna a
posição no vetor de Rotas em que está a R ota passad a como parâmetro; o
método getRuta o qual retorn a a Ro ta cujo cód i go coinci de com o número
dado como parâmetro, no caso de não existir, retorna 1; o método getNivelRuta
que retorna a linha da matriz das possíveis combinações de seqüências da rota
passada como parâme t ro; o método getNivelRutaPos o qual retorna a linha
da matr i z das possíveis combinaçõ es de seqüências da Rota cu j o código co-
incide com o número dado como parâmetro; o método getDistanciaTotal
o qual retorna a distância da seqüência de rota s que temos neste caminho,
ou seja, n os retorna o valor a rmazenado na matriz seq_rutas na posição [
nivel_en_seq_rutas , 1 ], ou seja linha = nivel_en_seq_rutas e coluna
= 1; o método getPlataforma, que reto rna a Plataforma cujo código c oincide
com o número dado como parâmetro, esta Platafo rma tem que per tencer a
alguma Rota no Caminho, em caso con t rario retorna o código 1; o método
getRefineria, que re t orna a Refi naria cujo código coincide com o número
dado como pa râmetro , esta Refinaria tem que pert encer a alguma Rota no
Caminho, em caso contrario retorna o código 1 ; o método getRutaPosSeq,
que retorn a a Rot a cujo código coincide co m o código armazenado na m atriz
seq_rutas na posição [ nivel_en_seq_rutas, pos_seq ], onde pos_seq
é o número dado como parâm etro; o método incSeqRutas, que increme nta
o nív el na seq üência de rotas, no cas o de ficar na última linha d a matriz
seq_rutas, então reinicia o valor do atri buto nivel_en_seq_rutas em 1 ou
seja na primei ra linha; o método es_plataforma, que retorna se o número
dado como parâmetro coincide com o códi go de alguma Plata forma nas Rotas
do Cam inho; o mét odo es_refinaria o qual retorna se o núm ero dado como
parâmetro co i ncide com o código de algu ma Refinaria nas Rotas do Caminho;
o método generar_secuencias o qual gera a matriz seq_rutas e a ordena de
menor a mai or com respeito à distância; o método obtener_secuencia_del
_camino o qual retorn a uma matriz, a qual na segunda linha tem a seqüê n-
cia das Plataformas e Refinarias que se segue no Caminho, baseando-se no s
40
níveis da seqüênc i a nas Rotas e no nív el da seqüência de Rotas, e na pri meira
linha tem a qua ntidade que se carrega em cada P lataforma , a qual é deter-
minada pela segunda lin ha na me sma coluna, ou se fosse uma Refinaria i r á
encontrar o valor 1 qu e determina que descar rega-se o navio por c ompleto;
e o método refineria_inicial o qual retorna true no caso onde o código
dado como parâmetr o coincida com uma Refin aria e além disto, que está, na
posição da seqüê ncia do Caminho, seja uma Refinaria inicial de alguma Ro ta
do Caminho.
Capítulo 5
Diagrama de Classes
Os diagramas de classes são diagramas de estrutura estátic a que mostram as
classes do s i stema e suas inter-re l ações. Os diagramas de cl asse são o pila r
básico de modelagem com UML, sendo utilizados tanto para mo strar o que o
sistema pode fazer, como pa ra mostrar como pode ser const r uído.
Uma re visão sobre os conceitos de UML p ode ser feito em Larm an (200 3).
O diagrama de classes apresenta como interage m as classes do sis tema,
além de esclarece r a base da construção do software , se ap resenta na Figura 5.1,
onde pode-se verificar que: um Porto é composto por um conjunto de Piers;
uma Refinaria é composta por um conju nto d e Portos; uma Rota é composta
por duas Refinarias, uma de partida e outra de chegada, um conjunto de
Plataformas e uma Matriz que determ i na as possíve i s seqüências como se
explicou; um Navio é composto por u m conjunto de Compartimentos e duas
matrizes, uma Matriz que determina o tempo de desatracação e outra que de-
termina o tempo de atraca ção d o Navio nas Refina r i as e Platafo rmas que es-
tão no Cenário; uma Frota é composta por um conjunto de Navios; um Grafo
é composto por uma Matriz, que é a ma triz de adj acência do mesmo; e um
Caminho é composto por um conjunto de Rotas, uma Matriz que determina
as possíveis seqüências de Rotas no Caminho, um Grafo com as distâncias e
um Navio que e s associado às Rotas no conju nto de Rotas do C aminho.
41
42
Figura 5.1: Diagrama de Classes do Sistema
Capítulo 6
Funções para a solução do
problema
Nesta seção são apresentados os f undamentos utilizados no desenvolvime nto
das fu nções para obtenção da so l ução do proble ma. Inicialmete d efine-se as
funções utilizadas, os dados de entrada e os dados de saída, e por último os
métodos e fun damentos.
6.1 Função obtener_secuencia
O objetivo desta funç ão é obter as seqüências disponíveis que um navio, as so-
ciado a um Caminho, tem que f azer.
Dados de entrada
Os dados de en t rada desta funç ão é um objeto Ca minho.
Dados de saída
O dado de saída desta função é um objeto Matriz, o qual tem duas linhas
e colunas que é igual à somatória de todas as plataformas e refinarias de
cada R ota. Na segunda linha encontram-se os códigos das Plataformas ou
Refinarias á s quais um Navio está associado a um Cami nho para atracar. A
primeira linha rep resenta a quantidade de p e tróleo bruto que o navio tem que
carreg ar (se o problema for de scheduling), se o código que se corresponde com
a coluna na s egunda lin ha fo sse o de uma Plataforma, ou um 1 s e o código
que se corresponde com a colu na na segunda linha fosse o de uma Refinaria.
43
6.1. FUNÇÃO OBTENER_SECUENCIA 44
Métodos e fundamentos
Como apresentado na seç ão 3.5, a metodologia adotada para obter a seqüên-
cia das Rotas que um Navio , associado a um Caminho, deverá fazer, o é
algo trivial dado que depende de alguns fatores como por exemplo qual é a se-
qüência de cada Rota (no conjunto das possíveis seqüências) que compõe este
Caminho. Além disso se de ve ter em conta que se em uma seqüência t emos
por exemplo , Rota
1
e Rota
2
nessa ordem, e as distâncias de cada seqüênc i a
nas Rotas sã o 555mn e 577mn respectiv amente, a distân cia do caminho não
necessariamente é a soma de t odas as distâncias das Rotas, ou seja 1 132mn,
dado que isto depende da combinação das Refinarias de chegada e partida
de cada Rota. Se por exemplo , tem-se o caso d e que a R efinaria de chegada
da Rota Rota
1
, é distinta da Refinaria de par t i da da Rota Rota
2
, não t em sen-
tido que u m navio tra nslade-se de uma Refinaria a outra sem necessidade de
descarregar na segunda, que isto implica gastos não necessário s.
Para solução deste p roblema implementou -se uma função que retorna a
seqüência certa de Refinarias e Plataformas que o navio deve seguir. Mas
como é que est a função consegue obter a seqüência corret a? A res posta é
dada pela metodologia que esta função segue. Esta metodologia é a que se
esclarece a continuação:
No objeto C aminho se qual é a seqüência de Rotas para logo olhar se
tem-se o problema de scrito co m anterioridade, o qual é que a Refinar i a
de chegada e partida de duas Rotas consecutivas sejam dist i ntas;
No caso de não ter o pro blema, os passos q ue a funçã o segue são: por
cada Rota na se qüência de r otas no Caminho, olha-se qual é a seqüência
de plataformas nessa R ota, que é determinada pe l o número armazenado
no atributo nivel_en_ruta na classe Caminho, este número diz que
linha na matriz de secuencias, na classe Rota, acha-se a seqüência a
seguir na Ro t a; desta forma pega-se a seqüência de cada Rota concat e-
nando todas e obtendo deste je i t o a se qüência total que o Navio tem que
fazer no Caminho;
No caso d e acontecer o problema de diferenças entre as Refinarias de
chegada e partida das Rotas, o que se faz é , à distância total (sem con-
siderar a soma das distâ ncias entre as Refinarias) resta-se a distância
entre a Refin aria de pa r tida da segunda Rota em q uestão e a primeira
Plataforma na seqüência d a mesma Rota, e suma-se a distância entre a
Refinaria de che gada da primeira Rota em questão à primeira Plataforma
na seqüência da segunda Rota em qu estão.
6.1. FUNÇÃO OBTENER_SECUENCIA 45
Para entender melhor a metodologia que a função seg ue, é melhor intro-
duzir um exemplo. Seja um cenário com 2 Refinarias, 4 Plataformas, u m
Navio e duas Rotas que o Navio tem que fazer, pela definição de Caminho se
pode dizer qu e estas duas Rotas associadas ao Na vio representam um Cami-
nho. Se representa-se, com uma instâ ncia do Grafo com as distânci as en tre
os n´os, que neste caso o as duas R efinarias e as quatro Plataformas , este
Grafo de distâncias pode-se representar por sua m atriz de adjacê ncia, como a
que se apresenta na Tabela 6.1, onde os n úmeros 10 e 20 correspon dem aos
códigos das Refi narias e os núm eros 1, 2, 3 e 4 corr espondem aos códigos das
Plataformas.
Tabela 6.1: Matriz de adjacência (G)
10 20 1 2 3 4
10 0 400 101 102 103 104
20 400 0 201 202 203 204
1 101 201 0 120 130 140
2 102 202 120 0 230 240
3 103 203 130 230 0 340
4 104 204 140 240 340 0
Definem-se também as Rotas como:
ROTA 1 (Rota
1
)
As Refinarias e Plataformas que compõem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 2 > < P lat : 3 > < Ref_C : 10 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela 6.2: Possíveis seqüências da rota 1
Distância(mn) Ref_S P lat P lat P lat Ref_C
555 20 3 1 2 10
555 20 2 1 3 10
654 20 3 2 1 10
654 20 1 2 3 10
663 20 2 3 1 10
663 20 1 3 2 10
ROTA 2 (Rota
2
)
As Refinarias e Plataformas que compõem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 3 > < P lat : 4 > < Ref_C : 10 >
E as combinações po ssíveis destas, com suas distâncias são:
6.1. FUNÇÃO OBTENER_SECUENCIA 46
Tabela 6.3: Possíveis seqüências da rota 2
Distância(mn) Ref_S P lat P lat P lat Ref_C
577 20 4 1 3 10
577 20 3 1 4 10
775 20 4 3 1 10
775 20 1 3 4 10
784 20 3 4 1 10
784 20 1 4 3 10
Agora con sidere-se um Ca minho composto por duas Rotas e um Navio,
representado pela seguinte seqüência,
Rota
1
R o ta
2
e no atributo nivel_en_ruta do Caminho tem-se [2, 1] que correspondem às
linhas nas matrices d e seqüê ncia das Rot as Ro ta
1
e R o ta
2
respet i vamente. En-
tão o resultado da seqüência to tal é:
2 1 3
4
20 10
2
3 | 8
4 | 9
7
6
1
5
Seqüência 1: 20 2 1 3 10 20 4 1 3 10
e a distâ ncia tot al desta seqüência encontra-se na Equeção 6 . 1:
Dist_total_bruto = Distancia_total + custo_arista(10, 20) (6.1)
ou
Dist_total_bruto = 1132 + G[10, 20] = 1132 + 400 = 1532
onde G é a matriz de adjacência ap resentada na Tabela 6.1. Mas co mo
mencionado com anterioridade não sentido ir da R efinaria 10 à 20 (aresta
{10, 20, 5}, ou seja, a aresta que vai de 10 a 20 com o label 5 ) se o navio
não descarrega nesta última, é neste ponto que a função elimina as arestas
{10, 20, 5} e {20, 4, 6} anexando a este grafo a aresta {10, 4, 5}, com o qual o
grafo apresenta a seguinte forma (as arestas eliminadas estão ma rcadas por
6.2. FUNÇÃO IMPRIMIRRESULTADO 47
pontos)
2 1 3
4
20 10
2
3 | 7
4 | 8
6
1
5
Seqüência 2: 20 2 1 3 10 4 1 3 1 0
onde a distância total da seqüência é calculad a da seg uinte forma
Distancia = Distancia_total custo_ arista(20, 4) + custo_arista(10, 4) (6.2)
ou
Distancia = 1132 G[20, 4] + G[10, 4] = 1132 204 + 104 = 1032
Com esta função, consegue-se eli minar o problem a de que um navio tenha
que ir de uma refinaria a outra ind evidamente.
6.2 Função ImprimirResultado
O obje t i vo desta função é a geração de um relatório final, apresentando-se o
resultado final do schedulin g obtido, informando quais foram os estados finais
das Refinarias, Plataforma s, Navios e C aminhos do sistema. Um rel atório,
obtido d a simulação, é apresentado no Apendice A. Este relatório corr esponde
ao resu l t ado do c enário que será a presentado na s e ção 7.
Dados de entrada
Os dados de entrad a desta funçã o são: um conjunto de Caminhos, os quais
f oram tratados e cumprem com todas as rest rições do problema; o mesmo
conjunto de Ca minhos, mas na sua forma original, ou s eja, antes de serem
tratados; um valor inteir o que det ermina a qua ntidade de objetos Caminho as-
sociado a tempo de v i agem, para o primeiro ou segundo conjunto; e um o bjeto
Matriz o qual armazena o Scheduling que cumpre com todas as rest rições.
Dados de saída
Esta função tem por objetivo gerar os arquivos necessários para o relatóri o
final, g erando um arquivo com extensão tex e outros arquivos com extensão
6.2. FUNÇÃO IMPRIMIRRESULTADO 48
R, os quais serão explicados posteriormente.
Métodos e fundamentos
Para a implemen t ação desta funçã o u t i l izaram-se além d a li nguagem C++, as
outras linguagens:
L
A
T
E
X: esta é uma linguagem para a preparação de documento s, formado
por um conjunto de macros de T
E
X, esc ritas inicialmente por Leslie Lam-
port (LamportTeX) em 1984, com a intenção de facilitar o uso da lin-
guagem de composição tipográfica gerado por Donald Knuth. L
A
T
E
X é
muito util i z ado para a composição de artigos acadêm i cos,dissertações
e livros técnicos, da do que a qualid ade tipográfica dos documentos feitos
em L
A
T
E
X é comparável à de uma editorial científica de pri meira linha.
L
A
T
E
X é um software livre sob licen ça LPPL. A página oficial para o sistema
operativo Windows www.miktex.org, e para sistemas Unix utiliza-se pa-
cotes como por exemplo
teTex
(www.tug.o r g/tetex) ou
TexLive
(www.tug.o r g/texlive).
R-Project: R é uma linguagem e entorno de programação para análise
estatística e gráfica. Trata-se de um projeto de software livre, resultado
da implemen t ação GNU da pre miada l i nguagem S. R e S - Plus (versão co-
mercial de S) são, provavelmente, as duas linguagens mais util i zadas em
pesquisa pela comunidade estatí stica, sendo assim muito popu l ares no
campo da pe squisa biomédica, da bioinformática e da matemát i ca finan-
ceira. A isto cont r ibui a possibilid ade de carregar difer entes livrarias ou
pacotes com finali dades específi cas de cálculo ou gráfico. Pagina o ficial
www.r-project.org.
Estas lingu agens foram usad as para a geração de um relatório do schedul -
ing resultan te d a aplicação do software a um c enário específico. Esta funçã o
gera: um arqu ivo com ext ensão tex o qual tem o relatório em formato L
A
T
E
X
para lo go ser compilado com o mesmo e gerando desta forma o relatório em
formato PDF; e dois arquivos co m extensão R que co ntêm o s dados nec essários
para a geração dos gráficos co m R-Project.
Esta função não ge r a o relatório final em PDF, dado que gera os arquivos ,
não os compila. Para compilar os mesmos gerou-se um Sc r i pt que primeiro
corre o software resultante d esta dissertação, para logo compilar u ma função
feita em R que carrega os dados armazenados nos arquivos, ger ado pelo sof t -
ware, e com es t es gerar os gráficos que vão ser incorporadas no relatório fi-
nal. É muito importante esclarecer que estes gráficos o imagens vetor i ais
6.3. FUNÇÃO CARGAR_LINHA_MATRIZ 49
(Arranz 2005). Depois de gerar os gráfic os co m R com pila-se com L
A
T
E
X o ar-
quivo de extensão tex g erando desta forma o relatório final em formato PDF.
6.3 Função cargar_linha_matriz
Esta f unção tem como objeti vo a geração de um objet o Matriz, de uma linha e
a quantidade de colunas igual ao Horizonte (que é o tempo limite do sc hedul-
ing), o qual tem a descrição da localização do Na vio em um t empo específic o.
Dados de entrada
Os dados de entrada des t a f unção são: o Ca minho para um determinado
periodo de tempo e o Gra f o de distância.
Dados de saída
O da do de saída desta função é: um ob j eto Matriz, de uma linha e a q uantidade
de colu nas igual ao Horizonte. Este objeto Matriz representa a discretização
do te mpo do scheduling, ou seja, se os intervalos da discretização são em
horas, então na coluna 30 vai-se armazenar um 0 se o N avio do Caminho
está em viagem na hora 30 do começo do S cheduling, ou vai ter o código da
Plataforma ou R efinaria para um Navio em um de terminado tempo.
Métodos e fundamentos
Esta fu nção é um ponto essencial n a i ntegridade do sistema , dado que esta
é a encarregada d a geração da linha do tempo de cada Navio a ssociado a um
Caminho no scheduling, ou s eja, esta função de termina o e stado da posição
do Navio em um tempo determinado, se o Navio fica numa Refinaria, Plata-
forma, em vi agem ou se está atracando ou desatracando d e uma das duas
mencionadas.
A idéia g eral desta funçã o baseia-se no fato que o tempo associado a um
scheduling pode ser discretizado, ou seja se o Horizonte do sch eduling é
de uma semana (168 horas) , isto pode-se discretizar em intervalos de horas,
dando com o resultado um vetor de uma longitude igual a 16 8 , para discretiza-
ção de uma unidade de tempo, onde em cada posição do vetor tem-se um
número que irá determina r o estado do Navio no tempo i, onde i é o índice da
posição no vetor. Agora, como se pode determinar o e stado do Navio com u m
número? A resposta a esta incógnita é dada devido aos códig os das Refinarias
6.4. FUNÇÃO ESPLATAFORMA 50
e Plata f ormas além de alguns nú meros que se escolheram para determinar
diferentes estados, estes foram escolhid os como n úmeros negati vos, mais o
cero, para não ter problem as de réplica com os códigos das Pla t aforma ou
Refinarias, estes são descritos a seg uir:
Qu ando um Navio está em viagem atribui -se o conceito 0;
Qu ando um Navio está atr acando atribui-se o conceito 2;
Qu ando um Navio está desatracando atribui-s e o conc e ito 3.
Além destas atribui ções nu méricas foram adicionadas dois outras:
Para dete rminar uma margem de erro, ou seja na vida real um Navio pode
ter demoras que trará modificações no scheduling. Para esta margem d e
erro, que chamaremos λ, se utilizou o mero 4 ;
Como se ex plicou na seção 4.11 um Caminho tem uma hor a de início
que pode não nece ssariamente começar na hora inicial do Scheduling,
então precisa-se de um número que determine qual Caminho ainda nã o
começou ou que tenha t erminado, uma ve z q ue isto também pode
acontecer, o número associado foi o 5.
O objeto desta função é unicamente ativar a fun ção obtener_secuencia,
como apresentado na seção 6.1, p assando como parâ metro o Caminho, para
desta forma obter-se a seqüência que o Navio, associado ao Camin ho, dever á
fazer. Logo, obter-se a seqüência com os valores das velocida des do Na vio e
o Graf o das distâncias, cal cula-se qual o tempo de viagem o Navio de um
(Refinaria ou Plataforma) a outro, além disto, como apresentado na seção 4.4,
um Navio está a ssociado a um tempo de atracação e desatrac ação de c ada nó.
Para c ada obtido será acr escido u m tempo λ. O resultado se um v etor,
ou neste caso uma Matriz de u ma li nha, com a descrição do estado do Navio
na discretização do tempo.
6.4 Função esPlataforma
O objetivo desta função é determinar se um código (número inteiro) dado como
parâmetro corresponde a uma Plataforma em um conjunto de Caminhos da-
dos.
6.5. FUNÇÃO ESREFINERIA 51
Dados de entrada
Os dados de entrada desta função são: um c onjunto de Caminhos; um valor
inteiro que determina a quantidade de C aminhos n o conjunto dad o como
parâmetro; e o código, o qual pretende-se determina r a correspond encia entre
uma Plataforma no conjunto de Caminhos.
Dados de saída
O dad o de saída é um valor lógic o, o qual será verdadeiro no caso do conjunto
de Caminhos ter uma Platafo rma com o código igual ao número dado com o
parâmetro.
Métodos e fundamentos
Esta função procura em todos os Caminhos, d ados como parâmetros, se al-
guma das Plataformas nestes Caminhos tem o código que coincida com o
número dado como parâmetro.
6.5 Função esRefineria
O objetivo desta função é determinar se um código (numero inteiro) dado como
parâmetro corresponde a uma R efinaria em um conjunto de Caminhos dados.
Dados de entrada
Os dados de entrada desta função são: um c onjunto de Caminhos; um valor
inteiro que determina a quantidade de C aminhos n o conjunto dad o como
parâmetro; e o código corresponde a uma Refina r i a neste conjunto d e Ca-
minhos.
Dados de saída
O dado de saída é um valor lógico, o qual s e verdadeiro para o caso que
o conjunto de Caminhos tenha uma R efinaria com o código igua l ao número
dado como pa r âmetro.
6.6. FUNÇÃO CONFLICTO_NAVIOS 52
Métodos e fundamentos
Esta função procura em todos os Caminhos, dados como parâmet ros, se
alguma das Refinarias nestes Caminhos tem o digo que coincida com o
número dado como parâmetro.
6.6 Função conflicto_navios
Esta função corresponde à restrição de nã o h aver mais de um Navio em uma
Plataforma ao m esmo tempo.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que irá determinar a quantidade de objetos Caminhos q ue tem-se
no conjunto; e um ob j eto Matriz o qual terá o schedu ling a ser avaliado pela
restriç ão.
Dados de saída
O d ado de saída desta função é um objeto Matriz com uma linha e três colu-
nas. Na primeira coluna tem-se o tempo em que dois ou mais Navios ficam
na mesma Pl ataforma, na segunda e terceira posição en contra-se o código dos
Caminhos em que os Na vios ficam na mesma Plat aforma. No caso de não
haver conflito retorna o mesm o objeto, mas na primeira coluna tem-se o valor
1.
Métodos e fundamentos
Esta função tem por objeti vo perco rrer cada coluna da Matriz passada como
parâmetro, a qual contem o scheduling a se r avalia do e identificar se o mesmo
cumpre com a re strição d e não haver mais de dois Navios na mesma Plata-
forma ao mesmo tempo . Le mbre-se que cada linh a da Matriz passada como
parâmetro, a qual contem o sche duling, é o resultado da aplic ação da função
cargar_linha _matriz apresentada na seção 6. 3 a qual retorna uma m atriz
de uma linha e colunas igual ao Horizonte, e que cada coluna representa
uma unidade de tempo, então desta forma p ode-se pro curar por cada c oluna
associada a um código de Plataforma (neste caso é útil a função esPlataforma
apresentada na seção 6.4).Para este caso, observa-se s e as mesmas o iguais.
6.7. FUNÇÃO PLATAFORMA_PARADA 53
Se forem ig uais retorna-se uma Mat riz com uma linha e três colunas, na
primeira tem-se o te mpo em q ue dois ou mais Navios ficam na mesma Pla-
taforma, na segund a e terceira posição encontra-se o código dos Caminhos
em que os Navios ficam na mesma Plataforma. No caso de não haver co nflito
retorna o mesmo objeto, mas na primeira coluna temos o valor 1.
Agora surge uma pergunta, que acontece quando tem-s e os valores de
atracar, desatracar e λ que se ap resentar am na seç ão 6.3? Para isto primeiro
necesita-se avaliar quais o s casos envolvidos:
Do i s ou mais Navios estão no tempo λ;
Um Navio está atracando em uma Plataforma no momento que out ro está
no tempo λ;
Do i s ou mais Navios estão atracando ao me smo tempo;
Um Navio está atracando no momento q ue o utro está sendo car regado
em uma Plataforma;
Um Navio está atra cando no momento que outro está desatracando.
Para sol ucionar estes problemas então i dentifica-se inicialmente qual a pla-
taforma associada a este Navio e a v ariável a ele associado no tempo λ, se
está atracand o. Se estes val ores foram semel hantes retorna a matriz com o
tempo na primeira coluna e os códigos dos Ca minhos na segunda e ter ceira
coluna. Em caso contrário, dos valores n ão serem iguais, procur a-se um a
nova alternativa.
6.7 Função plataforma_parada
Esta função tem como finalidade implemen tar a restrição que uma Plata f orma
não poder a rmazenar produto, por estar com sua capac i dade máxima de ar-
mazenamento, ou seu produt o não pod e ser procesado nesta unidade de pro -
dução: com isto qu er-se dizer que uma Plataforma não pode armazenar mais
que sua capac i dade m áxima de armazenamento .
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que vai determinar a quantidade de ob j etos Caminhos que no
conjunto; e um objeto Matriz o qu al terá o sched uling que será avali ado pela
restriç ão.
6.7. FUNÇÃO PLATAFORMA_PARADA 54
Dados de saída
O dado de saída desta função é um objet o Matriz com uma linha e duas co l u-
nas. N a primeira coluna tem-s e o código da Platafo rma que cheg ou ao máximo
da sua capacidade de armazenamento, e na segunda colu na tem-se o tempo
em que aconteceu este fato. No caso de não hav er nenhuma Plataforma a sso-
ciada a esta produ ção, retorna o me smo objeto, mas na primeira coluna temos
o valor 1.
Métodos e fundamentos
Nesta funçã o inicialmen t e gera - se um conjunto, sem repetição, das Platafor-
mas que estão em algu m Caminho do c onjunto de Ca minhos dados como
parâmetro. O o bjetivo é que nesta restrição não se pode considerar os Ca-
minhos por separad o, dado que em dife rentes C aminhos pode haver me sma
Plataforma e que isto gere Caminhos em se parado. Pode acontecer que uma
Plataforma cheg ue a sua capacidade máxima antes que um novo Caminho
seja concluid o.
Depois de obter o conjunto de Plataformas que será assoc i ada a um cenário,
o passo seguinte é analizar o estado de todas as Plataforma em cada tempo, ou
seja observ a-se na Matriz, que contem o scheduling, passada c omo parâmet ro
e analiza-se da primeira coluna até a ultima desta Matriz, por todas as li-
nhas da mesma, e por cada pos i ção visi t ada da matriz. Identifica-se s e é uma
Plataforma, caso afirmativo, então se resta da quantidade de petróleo dessa
Plataforma, no conjunto sem repeti ção, a quantidad e de petróleo que a mesma
carreg a em um Navio em um a u nidade de tempo (esta velocidade é da da pelo
atributo v_carrega da classe Plataf orma), fazendo referencia à unidade de
tempo com uma unid ade da discretiz ação. Uma vez tendo todas as linhas
da Matriz (por cada coluna) incrementa-se a quantidade de pet r óleo de c ada
Plataforma com a quantidade que a plata forma produz em uma unida de de
tempo (esta é dada pelo atributo producao na classe Plataforma). Neste mo-
mento observa-se se a quantidade d e petróleo armazenada na Plataforma é
maior que a capacidade máxima da mesma, ca so afirmativo, retorna-se uma
Matriz com u ma linha e dois colunas, na primeira coluna tem-se o código da
Plataforma e na segunda coluna tem-se o tem po (ou seja o índice da coluna)
em que esta Plataforma c hegou ao máximo da sua capaci dade de armazena-
mento. No caso de não h aver nenhuma Plataforma que c hegou ao máximo da
sua capacidade de armazenamen to, r etorna o mesmo objeto, mas na pr i meira
coluna tem-se o valor 1.
6.8. FUNÇÃO ATRACARENREFINERIA 55
6.8 Função atracarEnRefineria
Esta função implementa a restrição de que em uma Refinaria n ão p ode ser
permitido que novos Navios sejam atracad os nos portos a este associado, a l ém
disto, um Nav i o poderá atracar ou des atracar em um Pier se a altura da maré
mais a profundidade do Pier é menor qu e o calado do Navio.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que va i determinar a quantidade de objetos Caminhos que temos
no conjunto; e um objeto Matriz o qual terá o scheduling que será avaliado
pela restrição.
Dados de saída
O dado de saída desta função, é um ob j eto Matriz de uma linha e t rês colunas,
onde no caso de não c umprir-se a res trição, retornar na primeir a coluna o
código da R efinaria, na segunda coluna o código do Cami nho, e na terce i r a
coluna o tempo em que não pode -se atracar. No caso de cumprir-se a restrição
retorna o mesmo objeto m as na primeira co l una tem um 1.
Métodos e fundamentos
Nesta função o que se faz é percorrer a Matriz, que c ontem o scheduli ng
que será avaliado pela restrição, procurand o em cad a posição da Matriz se
o número que armaz ena é um código de uma Refinaria (razão esta da im ple-
mentação da função esRefineria apresentada na seção 6.5). No caso de um a
coluna ter ma i s de um código de Refinaria procede-se quase da mesma forma
que na função conflicto_navios, apresen t ado na seção 6.6, que nesta
função se fo r encontrado, numa coluna, d ois ou mais códigos de Refinaria
iguais. Is to é realizado observando-se se e m uma Refinar i a, à qual pertence
o código, tem di sponibilidade de Piers par a que os dois ou mais Navios po-
dam atracar. Além de disto, avalia-se se os Navios podem atracar nos Piers
ou não invocando a função puedeAtracar apr esentada na classe Refinaria na
pagina 3 3, onde esta função toma como parâmetros o Navio a ser atraca do e
o tempo em que deve at racar (que é a coluna). Com a informaçã o do Navio
e o tempo, o método procura em todos os Piers e identifica-se ao menos em
um deles pod e atracar, no caso de que nem to dos os Navios possam atracar
na Refinaria, retorna-se uma Matriz de uma linha e três colun as, onde na
6.9. FUNÇÃO ESCOJER_COMBINACION 56
primeira coluna tem o código d a Refinaria, na segunda coluna o código d o
Caminho e na terceira colu na o tempo em que não se pode atracar. No caso de
ter disponib i l idade de Piers e que todos os Navios possam atracar retorna- se
a mesma Matr iz, mas na prime i ra coluna tem um 1.
6.9 Função escojer_combinacion
Esta função é encarregada de a char um scheduling em que não exista conflito
dos Navios como apresentad o na seção 6.6.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que vai determinar a quantidade de objetos Caminhos que tem-se
no conj unto; e um obj eto Grafo o qual no tem-se a informação das dis t âncias
entre os n´os (Refinarias e Plataformas).
Dados de saída
O dado de saída desta funç ão é um objeto Matriz com l i nhas igua l à quan-
tidade de Caminhos que foram dados como p arâmetr os, e a qua ntidade de
colunas igual ao Horizonte, cada linha desta matriz se o resultado de ter
aplicado a fun ção cargar_linha_matriz que foi aprese ntada na seção 6.3.
Métodos e fundamentos
Esta função é a en carregada de procurar um Scheduling q ue não tenha confli-
tos de Navios. Nesta o que se faz é ir procurando diferente s combinações das
seqüências dos Caminhos até achar u ma que não tenha conflito de navio s,
para assim av aliar o restante d as restriç ões.
O todo usado nesta função baseia-se na teoria da programação GREEDY,
a qual é aquela que, para resolver um determinado problema, segue uma
metaheuríst i ca b aseada em esc olher a opção ótima em cada pass o local com a
esperança d e chegar a uma soluç ão geral ótima. Normalmente aplica-se aos
proble mas de o ptimização. Os algori tmos G REEDY mais conhecidos são :
Algoritmo de Dijkstra: A idéia neste algoritmo consiste em ir explora ndo to-
dos os caminhos mai s curtos que partem do vértice or i gem e que levam a
todos os demais v értices; quando obtém-se o camin ho m ais curto desde
o vértic e origem, ao resto de vértices que compõem o grafo, o algoritmo
6.9. FUNÇÃO ESCOJER_COMBINACION 57
detém-se. O algoritmo não funciona e m grafos com arestas de custo ne-
gativo.
Algoritmo de Kruskal : O algoritmo de Kruskal é um algoritmo da teoria de
grafos para encontrar uma árvore ge r adora mí nima em um grafo conexo
e ponderado , ou seja que de um posso chegar a q ualquer outro
no grafo e que toda a resta no gra f o tenha u m custo. Em outras palavras
o algoritmo procura um subconjunto de arestas que, formando uma ár-
vore, incluem todos os vé rtices e o nde o valor total de todas as arestas da
árvore é mínimo.
Algoritmo de Prim: O al goritmo de Prim é um al goritmo da teor ia de grafos
para achar uma árvore cobertor mínimo em um grafo conexo e ponde-
rado, não dir i gido. Em outras palavras o algoritmo acha um subconjunto
de arestas que formam u ma árvore c om todos os vérti ces, onde o peso
total de todas a s arestas na árvor e é o mínimo poss í vel.
Seguindo a idéia da progr amação GREEDY e o significado de metaheurís-
tica, a qual vem do griego “Meta”=“mais e “heurística”=“encon t rar” o que
interpreta-se como “m ais que não se j a otimo glob al achar ...”, é que encontra-
se a solução para e sta função, a idéi a desta solução é, semp re tomar a se-
qüência de distância mínima que cumpra com as restr i ções, obtendo desta
forma um v alor da distância total que se não é ótim o aproxima-se muito a
este. Agora, porq ue usar um mét odo que pode não dar o ótimo glo bal? A
resposta a isto basea-se na complexid ade computaci onal do problema, dado
que em teoria é possível fazer um algoritmo de backtra cking, divide & con-
quers, programação dinâmica ou um modelo matemático, e ntre outros, que
apresente solução a este problem a, mas na hora de implementar isto em um
computador torna-se imposs í vel de calcular, dado que este problema cai em
um prob l ema de NP-Completo (NP-Hard) que segundo a quantid ade de dado s
é possível chegar a uma solução ou não. Artigos relacion ados a complexidade
computacio nal podem ser encontrados em Hartley (1987), Jones (1997) e Cut-
land (1997). Diante deste fato o ptou-se por uma metodologia que não fosse
exaustivas c omo as mencion adas com anterioridade, que se b aseara em um
fundamento de escolha, como é o fundamento de escolher sempre a seqüência
da distância mínima.
Alguns c onceitos utilizad os para fazer a explicaçã o o menos ambígüa pos-
sível, são apresentados a seguir.
Seja C um objeto da classe Caminho e R 1, R2, R3 objetos da classe Rota os
quais estão no conjunto de rotas no C, então define-s e o nivel da rota R1 no
6.9. FUNÇÃO ESCOJER_COMBINACION 58
Caminho C como N
C,R1
e define - se o sucesor do nivel, ou seja o nivel incre-
mentado em um, como SN
C,R1
. O ni vel da ro ta é o at r i buto nivel_en_rutas
da classe Caminho apresentada na seção 4 qu e determina a linha na matriz
de seqüência s de cad a rota.
Sejam C1, C2 e C3 três Caminhos e R1, R2, R3, R4, R5 e R6 seis rotas, onde:
C1 tem as Rotas R1, R3 e R5;
C2 tem as Rotas R2, R4 e R6;
C3 tem as rotas R1, R2 e R5.
onde os respectivos níveis nas rotas são:
C1 tem os seguintes niveis N
C1,R1
, N
C1,R3
e N
C1,R5
;
C2 tem os seguintes niveis N
C2,R2
, N
C2,R4
e N
C2,R6
;
C3 tem os seguintes niveis N
C3,R1
, N
C3,R2
e N
C3,R5
.
E sejam as seqüências de rot as com distância mínima em cada Caminho como
se apre s entou, ou seja:
No C1 a seqüência de rotas com a distância mínima é R1 R3 R5;
No C2 a seqüência de rotas com a distância mínima é R2 R4 R6;
No C3 a seqüência de rotas com a distância mínima é R1 R2 R5.
Então, o conjunto de Ca minhos que serão passados como dad os de entrada
para esta função serão C1, C2 e C3, e o ordem a ser conduzido no scheduling
que se gera a partir deste conjunto de Caminhos é:
Tabela 6.4: Ordem do conjunto de caminhos
C1 R1 R3 R5
C2 R2 R4 R6
C3 R1 R2 R5
Agora, consi dera-se que ha j a confl i to entre os Caminhos C1 e C3 na Rota
R1, então, o que se faz, é encontra r a combinaç ão de distância mí nima na qu al
não exi sta conflito, e no caso de que todas as combinações tenha m confl i t o,
então pega-se a de me nor d i stância e faze-se recur sivamente o mesmo até
chegar a uma combinação sem conflitos. Mas quais são as combinações que
podem ser obt i das? Estas são:
6.9. FUNÇÃO ESCOJER_COMBINACION 59
Inc rementar o nível da Rota que tem conflito no primeiro Caminho e
deixar a Rota do segundo Caminho sem mod i ficação. Então o nível das
Rotas seguindo a ord em das m esmas po r cada Caminho seria o seguinte:
Tabela 6.5: Nível de rota 1
C1 SN
C1,R1
N
C1,R3
N
C1,R5
C2 N
C2,R2
N
C2,R4
N
C2,R6
C3 N
C3,R1
N
C3,R2
N
C3,R5
Inc rementar o nível da Rota que tem conflito no segundo Caminho e
deixar a Rota do pr i meiro Caminho sem modificação. Então o nível das
Rotas seguindo o ord e m das mesmas por cada Caminh o seri a o seguinte:
Tabela 6.6: Nível de rota 2
C1 N
C1,R1
N
C1,R3
N
C1,R5
C2 N
C2,R2
N
C2,R4
N
C2,R6
C3 SN
C3,R1
N
C3,R2
N
C3,R5
Inc rementar o nível da Rota que tem conflito no prime i ro e segundo Ca-
minho. Então o nível da s R otas segu i ndo o ordem das mesmas por cada
Caminho seria o seguinte:
Tabela 6.7: Nível de rota 3
C1 SN
C1,R1
N
C1,R3
N
C1,R5
C2 N
C2,R2
N
C2,R4
N
C2,R6
C3 SN
C3,R1
N
C3,R2
N
C3,R5
Capítulo 7
Estudos de casos
Nesta seção será apresentado u m cenário, o qual foi construido com a fina-
lidade de tes t ar o software desenvolvido, não co r respond endo a um cenário
real. Nele considerou-se que temos 4 Plataformas, 2 R efinarias, 5 Rotas, 3
Navios os quais tem associados Rota s, para o qual tem - se 3 Caminhos.
Nesta s eção será apresentado parte do relatorio final gerado pe l o softwa re,
o qual apresenta-se no Apendice A onde pode observar-se com muito mais
detalhes os dados de entrada e saida.
7.1 Dados d e entrada
7.1.1 Estado inicial das plataformas
PLATAFORMA 1
Nome: ESPF
Produ ção: 311 m
3
/h
Capacidade máxima de armazenamento: 11 0000 m
3
Hora da últim a descarga: 0 h
Volume resi dual de pr oduto no tanque: 100 m
3
PLATAFORMA 2
Nome: FPSO -RJ
Produ ção: 322 m
3
/h
Capacidade máxima de armazenamento: 12 0000 m
3
Hora da últim a descarga: 0 h
Volume resi dual de pr oduto no tanque: 100 m
3
PLATAFORMA 3
60
7.1. DADOS DE ENTRADA 61
Nome: FPSO -FLU
Produ ção: 333 m
3
/h
Capacidade máxima de armazenamento: 13 0000 m
3
Hora da últim a descarga: 0 h
Volume resi dual de pr oduto no tanque: 100 m
3
PLATAFORMA 4
Nome: FPSO -BR
Produ ção: 344 m
3
/h
Capacidade máxima de armazenamento: 14 0000 m
3
Hora da últim a descarga: 0 h
Volume resi dual de pr oduto no tanque: 100 m
3
7.1.2 Estado inicial das refinarias
REFINARIA 10
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Volume inicial: 50 0 m
3
REFINARIA 20
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Volume inicial: 70 0 m
3
7.1.3 Rotas
ROTA 1
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 1 > < P lat : 2 > < P lat : 3 > < P lat : 4 > < Ref_C : 20 >
As quantidades a serem carregadas em cada p l ataforma são:
7.1. DADOS DE ENTRADA 62
Tabela 7.1: Quantidades carregadas nas plataformas
na rota 1
Na plat aforma 1 carrega-se: 3110 m
3
Na plat aforma 2 carrega-se: 3210 m
3
Na plat aforma 3 carrega-se: 3310 m
3
Na plat aforma 4 carrega-se: 3410 m
3
ROTA 2
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 3 > < P lat : 4 > < Ref_C : 10 >
As quantidades a serem carregadas em cada p l ataforma são:
Tabela 7.2: Quantidades carregadas nas plataformas
na rota 2
Na plat aforma 1 carrega-se: 4120 m
3
Na plat aforma 3 carrega-se: 4320 m
3
Na plat aforma 4 carrega-se: 4420 m
3
ROTA 3
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 1 > < P lat : 2 > < P lat : 4 > < Ref_C : 20 >
As quantidades a serem carregadas em cada p l ataforma são:
Tabela 7.3: Quantidades carregadas nas plataformas
na rota 3
Na plat aforma 1 carrega-se: 3130 m
3
Na plat aforma 2 carrega-se: 3230 m
3
Na plat aforma 4 carrega-se: 3430 m
3
ROTA 4
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 2 > < P lat : 3 > < Ref_C : 10 >
As quantidades a serem carregadas em cada p l ataforma são:
7.1. DADOS DE ENTRADA 63
Tabela 7.4: Quantidades carregadas nas plataformas
na rota 4
Na plat aforma 1 carrega-se: 4140 m
3
Na plat aforma 2 carrega-se: 4240 m
3
Na plat aforma 3 carrega-se: 4340 m
3
ROTA 5
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 3 > < P lat : 4 > < Ref_C : 20 >
As quantidades a serem carregadas em cada p l ataforma são:
Tabela 7.5: Quantidades carregadas nas plataformas
na rota 5
Na plat aforma 3 carrega-se: 2350 m
3
Na plat aforma 4 carrega-se: 2450 m
3
7.1.4 Navios
NAVIO 1
Descrição: Navio uno
Calado: 18 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Vazão de bombeamento d o produto: 1100 m
3
/h
Tempo de atracacam ento:
Tabela 7.6: Tempo de atracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo (h): 1 2 1 1 2 1
Tempo de desatracac amento:
Tabela 7.7: Tempo de desatracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo (h): 1 2 1 1 2 1
Capacidade de carg a do navio: 14000 m
3
Carga total do navio é: 0 m
3
7.1. DADOS DE ENTRADA 64
NAVIO 2
Descrição: Navio dois
Calado: 16 m
Comprimen t o: 52 m
Velocidade: 12 n´os
Vazão de bombeamento d o produto: 1200 m
3
/h
Tempo de atracamen t o:
Tabela 7.8: Tempo de atracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo(h): 1 2 2 2 2 1
Tempo de desatracamento:
Tabela 7.9: Tempo de desatracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo(h): 1 2 2 2 2 1
Capacidade de carg a do navio: 24000 m
3
Carga total do navio é: 400 m
3
NAVIO 3
Descrição: Navio três
Calado: 17 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Vazão de bombeamento d o produto: 1300 m
3
/h
Tempo de atracamen t o:
Tabela 7.10: Tempo de atracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo(h): 2 2 1 1 1 1
Tempo de desatracamento:
7.1. DADOS DE ENTRADA 65
Tabela 7.11: Tempo de desatracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4
Unidade de Te mpo(h): 2 2 1 1 1 1
Capacidade de carg a do navio: 18000 m
3
Carga total do navio é: 300 m
3
7.1.5 Caminhos
CAMINHO 1
Navio associado: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho é: 4 h
CAMINHO 2
Navio associado a est e caminho: Navio 2
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 6 h
CAMINHO 3
Navio associado a est e caminho: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
7.1.6 Distâncias entre as refinarias e plataformas
Grafo com as distâncias entre as refinarias e plataformas
7.2. RESULTADO 66
Tabela 7.12: Matriz de adjacência (G)
10 20 1 2 3 4
10 0 400 101 102 103 104
20 400 0 201 202 203 204
1 101 201 0 120 130 140
2 102 202 120 0 230 240
3 103 203 130 230 0 340
4 104 204 140 240 340 0
7.2 Resultado
Os Cam i nhos resultantes obtidos do software desenvolvido foram os que estão
apresentados nas tabelas a seguir, junto com o gráfico do scheduling, o qual
se apresenta na Figura 7.1 (na p agina 68). Este gráfico bas e a-se no Diagrama
de Gantt.
7.2.1 Caminhos resultantes
CAMINHO 1
Navio associado a est e caminho: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho: 4 h
A seqüência que o navio 1 segue é apresentado na Tabela 7.13:
Tabela 7.13: Seqüência de plataformas e refinarias
que segue o navio 1 do caminho 1
Desatraca Ref_10
Carrega 3410 m
3
P lat_4
Carrega 3210 m
3
P lat_2
Carrega 3110 m
3
P lat_1
Carrega 3310 m
3
P lat_3
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
7.2. RESULTADO 67
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Distância total dest a seqüência = 19 40 mn
CAMINHO 2
Navio associado a est e caminho: Navio 2
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 6 h
A seqüência que o navio 2 segue é apresentado na Tabela 7.14:
Tabela 7.14: Seqüência de plataformas e refinarias
que segue o navio 2 do caminho 2
Desatraca Ref_20
Carrega 4240 m
3
P lat_2
Carrega 4140 m
3
P lat_1
Carrega 4340 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Distância total dest a seqüência = 15 98 mn
7.2. RESULTADO 68
Scheduling do escoamento de petroleo bruto de plataformas maritimas
Horas
Caminhos
0 10 20 30 40 50 60 70 80 90100110120130140150160170180190200210220230240250260270280290300310320330340350360
1
2
3
Figura 7.1: Diagrama do scheduling de escoamento de petróleo bruto de plataformas
marítimas
7.2. RESULTADO 69
CAMINHO 3
Navio associado a est e caminho: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
A seqüência que o navio 3 segue é apresentado na Tabela 7.15:
Tabela 7.15: Seqüência de plataformas e refinarias
que segue o navio 3 do caminho 3
Desatraca Ref_10
Carrega 3230 m
3
P lat_2
Carrega 3130 m
3
P lat_1
Carrega 3430 m
3
P lat_4
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4340 m
3
P lat_3
Carrega 4140 m
3
P lat_1
Carrega 4240 m
3
P lat_2
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 2450 m
3
P lat_4
Carrega 2350 m
3
P lat_3
Descarrega-se Ref_20
Distância total dest a seqüência = 22 45 mn
Capítulo 8
Conclusão
Como conc lusão desta parte do trab alho pode-se dizer que a metodolog i a
usada foi satisfatória, ob t endo uma solução ao problema em um curt o temp o,
dado que a metodologia da resol ução não foi exausti va (método GREEDY). O
scheduling obtido cumpre com as restriçõ es que o siste ma d emanda, além
disto a saída do software apresenta muitas informações importantes, facili-
tando a comprensão do scheduli ng e permitindo desta forma avaliar os resul-
tados e até usar estes da dos como entrada de ou t ro dados p ara um cenário.
A esco l ha da ferramenta foi correta, dado que apresenta resultados satis-
fatórios, e, caso necessite de inserir novas rest r i ções, é preciso implemen tar
esta como uma nova fun ção no sistema con seguindo desta forma flexib i l i dade
e reutilização do sistema como poder á ser obs ervado na próxima seção, onde
o codigo fonte escri to para este software será reutilizado para dar solução ou
proble ma do Scheduling de atendimento a ce ntros consumidores.
70
Parte III
Scheduling de atendimento a
centros consumidores
71
72
Nesta terceir a parte do tra balho, será apresentad o o problema de realizar
um schedulin g de aten dimento a centro s consu midores . As refinarias provêem
de difere ntes produtos, derivados de pe t róleo, que de vem ser transporta dos a
diferentes centros con sumidores, onde se deve atender uma demanda em um
tempo especificado.
Para a solução deste problema, tomou- se como ponto de p artida o trabalho
de Soletti (2006), no qual se fo rmula um m odelo mat emático q ue permite o
planejamen t o de uma frota de navios que transporta m grandes qu antidades
de petróleo e s eus derivados. O problema principal de que trata o trabalho
apresentado por Soletti é a obtenção de rotas que permitam aos navios a mi-
nimização de custos de logística e de riscos, para o qual ut i l i zaram-se ferr a-
mentas clássicas de pesquisa operacional, tentando o bter resul tados ótimos
ou próximos a este. Neste, desenvolveram -se dois modelos, um para ge r ar
as rotas viáveis e o o utro foi formulado como um problema de Programação
Linear Inteira Mista (PLIM), onde, neste último, leva-se em conta a demanda
dos centros consumidores às refinarias. O modelo proposto, nesse trabalho, é
capaz de identificar, entre um conjunto de navios, qual o melhor e mais capa-
citado para a transp ortação de produtos petroleiros, assim como também qu al
a melhor rota para a viagem em questão, e assim , ter um custo de transpore
mínimo.
A metodologia a ser uti l i zada nes t a seção será semelhante a apres entada
na Parte II, onde, mesmo conhec endo as rotas que um navio deveria seguir,
não se sabia qual a seqüência a ser adotada pelo navio nestas rot as. Além das
restriç ões apr esentadas, para este pro blema é necess aria a inclusão de no-
vas rest r ições rela cionadas ao fato que um navi o só poderá a tracar em um pier
se este possuir profundidad e suficiente, se houver disponibilidade, se o calado
do navio, a dep ender da altura d a maré, for sufic i ente. Estas rest r ições fo ram
descritas na seção 4 na cl asse Refinaria, com o método puedeAtracar. To-
das as demais res t rições, assim como o métod o de solução e ferramentas que
foram utilizados na Parte II, serã o também utilizados nesta seção. Algo muito
importante a destacar é que nesta parte do trabalho o conceito d e rota seguir á
a mesma es trutura, que agora um a rota, para o problema de s cheduling
de atendimen to a centros consu midores , é a quela que começa em uma refi-
naria, pass a por u m conjunto não vazio de centros consumidores para chegar
à mesma ou ou t ra refinaria.
No desenvol vimento desta parte d o trabalho, seguem-se o s segu i ntes pas-
sos:
Definir o pro blema;
73
Int roduzir os conceitos prévios, ou seja, redefinir os conceitos de Rota e
Caminho;
Apresentar as nova s classes implem entadas e as classes que foram re-
utilizadas e modificadas;
Apresentar o Diagrama de classes do sist e ma;
Explicar c omo se res olveu o pr oblema;
Esboçar um cenário p ara ava l i ar os res ultados do software desenvolvido;
Conclusão parcial.
Capítulo 9
Problema a resolver
Consideran do que um planejamento sobre a entre ga de produto, e que cada
navio tem assoc i ado um conjunto de rotas nas quais dete rminado a de-
manda a ser entregue em cada cent ro consumidor, o problema a ser resolvido
consiste em se encontrar a seqüência de refin arias e centros consumidores
que cada navio terá que seguir para minimizar a distância total percorr i da por
todos os navios, garantind o que as restrições, que se seguem , sejam satis -
feitas. Estas restrições são:
Um navio pode atracar num p i er se o calado do mesmo é menor que a
profundidade do pie r mais a altura da maré;
Não é permitido que haja mais de um navio p or cada piers ao mesmo
tempo;
Um centro consumidor tem que ser atendido no tempo determinado pela
demanda, ou seja não pode ac ontecer que um centro co nsumidor fique
sem produto e m um tempo de planejamento pré-definido.
74
Capítulo 10
Conceitos prévios
No problema para realizar um Scheduling de aten dimento a centros consumi-
dores, a idéia de uma rota é basicamente a mesma apresentada na seção 3,
diferenciando no f ato que e m lugar de ter um conjunto de plataformas maríti-
mas, vai-se ter um conjunto de centro s consumidore s.
Assim, redefinindo o co nceito de rota, pode se diz er que: Uma rota é aquela
que começa em uma refinaria, passa por um conjunto não va zio de centros con-
sumidores pa r a chegar à mesma ou outra refinaria.
Para a obtenção da ma triz de todas as possíveis seqüências de centros
consumidores, t em-se a mesma idéia, s ó q ue agora vai -se ter digos que
corres pondem a centros cons umidores e não a plataformas.
Neste trabalho considerou-se que um navio pode transportar os produ-
tos, a serem entregues aos centros co nsumidores, em qualquer refinaria, ou
seja, acontece o caso de ter-se dua s rotas cons ecutivas onde as refinarias de
chegada e parti da são diferentes. Assim, como apre sentado na seção 6.1, um
produ t o é transportado de uma refinaria a outra, ou de volta para a mesma,
passando por um ou vários centros consumidores atrav és de rotas, que podem
ser iguais ou não. E ste conceito de caminho é semelhante ao apresentado na
Parte II. É por esta razão q ue o conce i to de caminho para este pr oblema, não
muda.
Na seguinte seção serão apresentadas novas classes específicas deste pro-
blema. As demais serão as mesmas apresentadas na seção 4 e não mudaram.
75
Capítulo 11
Classes
Nesta seção serão apresentadas as classes que pertencem ao s i stema as quais
tiveram que ser alteradas com resp eito ao si stema apresentado na Parte II
além das novas clas ses incorporadas n o sistema. Nas classes alteradas,
serão apresentadas as mudanças r ealizadas assim como sua justificativ a.
Classe Refinaria
Esta classe apresent a, Figura 11.1, no novo sistema , uma refinaria qu e tem
que prover aos cen t ros consu midores, p elo fato que agora uma refinari a re-
aliza a ta refa de abastecer os n avios e não mais receber produ tos. Assim, foi
incorporado mais um atr i buto (VelCarga) o qual contém a velocidade com a
qual se ca rrega os prod utos a serem transportados nos navios, das refinarias
aos centros consumidores, e a l ém deste atributo, foram impl ementados do i s
métodos de manipulação das inform ações, chamadas de getVelCarga para
obter a informação do a t ributo e setVelCarga para adicionar a informação
no atributo.
Classe CConsumidor
Esta classe tem por objetivo incorporar ao sistema dad os de armazenamento
dos objetos que irão representar os cen tros consumidores. Ela tem um com-
portamento parecid o com o da classe R efinaria, dad o que ne l a c onsta um
conjunto de portos, fato este necessario, pois considera-se que um cen tro
consumidor pode ter mais de um porto associado, esta é a causa principal do
desenvolvimento deste modelo, o qu al pode-se adaptar a um maior número de
cenários possíveis.
76
77
Figura 11.1: Classe Refinaria
78
Figura 11.2: Classe CConsumidor
79
Na clas se CConsumidor, apresentada na Fig ura 11.2, os atributos o: o
código (codigo) o qual vai a determinar o centro consumidor, s endo este,
único; o nome (nome) ; a cidad e na qua l o navio se encon tra (cidade); o estad o
no qual se encontra (estado); o país (pais); o conjunto de portos (portos);
a quantidade de port os no conjunto portos (quantidadePortos); a demanda
(demanda); a hora da última descarga dos nav i os (HoraUD) ou como também
pode ser chamada da ho r a do úl t i mo atendimento ao centro consumidor; o
resto do último a tendimento (resto) ou para dize-lo de outra maneira, a quan-
tidade de produto que tem o cent ro consumidor depois da en trega do último
atendimento do navio; e a quantidade total do produto de scarregado no cent ro
consumidor (descargado). Os mé todos implementados como get_Atributo
são os que permitem obt er a informa ção do atributo, e set_Atributo, os que
permitem adicionar informação n o atr i buto, e os que permitem imprimir a
informação da clas se, são: o método getCantPiers o qual retorna a q uan-
tidade d e Piers associados a este centro consumido r, ou seja, é a soma dos
Piers pertencentes a os Portos associad os a os centros consumidores; o método
que determina se um navio pode atracar ou não nes te centro consumidor, este
método (puedeAtracar) t oma com o parâmetros o na vio (n) e o tempo (t), com
as informação respetivas, o mét odo procura em to dos o s portos, do conjunto
portos, e olha se, ao meno s, um deles pode atracar procuran do em todos os
piers d estes portos; e o construtor (iniciar) que toma como parâmetros o
código (codP), o nome (nP), a cidade (cidP), o estado (estP), o país (paisP), a
demanda (dem) e a quantidade de produto que o centro consum i dor possui no
inicio (tem).
Classe Rota
Nesta classe, com relação ao apresentad o na seção 4, (página 35) as p l atafor-
mas são subsituid as por centros consumidores. Assim se tem um conjunto de
centro s consumido res ( cconsumidores) e um atributo que determina a quan-
tidade de centros consumidores deste conjunt o ( CCC), e um atributo que irá
determinar a quantidade de produto que o navio t em ao descarregar em cada
centro consumi dor associado a u ma rota, este atributo é descarrega. Os
outros atributos são os mesmos que na classe Rota apresentada na Parte II.
Além dos método s descritos na seção 4 (página 35), incorporam-s e: um
método que permite im primir a informaç ão da cla sse, dado que agora a inf or-
mação desta é diferent e; e um mét odo que permite determinar se um número
dado como pa r âmetro corresponde a um centro consumidor (esCConsumi-
80
Figura 11.3: Classe Rota
81
dor).
Classe Caminho
Nesta classe (Figu r a 11.4) a única modificaçã o refere-se às f unções que con-
têm as plataformas trocando estas por funções que contê m centros consumi-
dores. Estas funções são: o método getCConsumidor o qual retorna o centro
consumidor (CConsumidor) cujo cód i go c oincide com o número passado como
parâmetro. O CConsum idor tem que pert encer a alguma Rota no Caminho,
caso contrário retorna o código 1; o método es_CConsumidor retorna um
número que representa um parâmetro que coincide com o código de algum
CConsumid or associado às Rotas do Caminho; o método obtener_secuencia
_del_camino retorna uma matriz, que na segunda linha representa a seqüên-
cia dos c entros co nsumidores e refi narias associadas ao Caminho, baseando-
se nos nívei s da seqüênc i a d e cada Rota e no nível da seqüência de rotas.
Na prim eira linha tem-se a quantidade a ser transportada para cada cen tro
consumidor, a qual é determinada p ela segunda linha na mesma coluna, para
uma Refinaria determina-se a quantidade que o Navio irá carregar a os cen-
tros consumidores.
82
Figura 11.4: Classe Caminho
Capítulo 12
Diagrama de classes
O diagrama de classes que apresenta como interagem as classes do sistema,
além de esclarec er a base da construção do software do sistema, é o que se
apresenta na Figura 12.1, estando re present ado por: u m Porto comp osto por
um conj unto de Piers; uma Refinaria composta por um c onjunto de Portos;
um CConsumidor composto por um conjunto de Portos; uma Rota composta
por duas Refinarias, uma de partida e outra de chegada, um conjunto de
CConsumid ores e uma Matriz qu e d etermina as possíveis seqüênc i as; um
Navio composto por um conjunto de C ompartimentos e duas matrizes, u ma
que determina o tempo de descarregamento e outra que determin a o tempo
de atracamento do Navio das Refinarias e CConsumidores associa dos a um
Cenário; uma Frota comp osta por um conjunto de Navios; um Grafo com-
posto por uma Matriz, que é a matriz de adjac ência do mesmo; e um Cami nho
composto por um c onjunto de Rota s, uma Matriz que d etermina as possíveis
seqüências de Rotas no Caminho, um Graf o com as distâncias e um Navio que
esta associado às Rotas no con j unto de Rotas do Caminho.
83
84
Figura 12.1: Diagrama de Classes do Sistema
Capítulo 13
Funções para a solução do
problema
Nesta seção serão apresentadas as funções que foram utilizad as na resolução
do problema de realizar um scheduling de atend i mento a centro consumido-
res. Para solucio nar este problema , reutil i zou-se parte do cód i go us ado para
a Parte II deste trabalho,assim serão apresentados somente os dados de en-
trada e saída de cada função uma vez que os método s e fu ndamentos f oram
descritos anteriormente.
13.1 Função obtener_secuencia
O obje t i vo desta função é obter a seqüência total que um Navio, associado a
um Caminho , deverá fazer.
Dados de entrada
O dado de entrada desta função é um obj eto Caminho.
Dados de saída
O dado de saída desta função é um objeto Matriz, o qual tem duas linhas e
colunas igua i s ao somatório de todos os CConsumid ores e Refinarias de cada
Rota. Na segunda linha enco ntram-se os códigos dos CConsumidores ou Refi-
narias aos quais o Navio associado ao C aminho terá que a t racar, e na primeira
linha tem-se a qu antidade de produto que o Navio tem que descarregar, se o
código que se corresponde com a coluna na segunda lin ha for um CConsu-
midor, ou carregar se o código que se correspon de c om a coluna na segunda
linha for uma Refinaria.
85
13.2. FUNÇÃO IMPRIMIRRESULTADO 86
13.2 Função ImprimirResultado
O objetivo desta função é a geraç ão de um relatório final, onde é apresentado
o resultado final do sched uling, informando quais foram os estados nais das
Refinarias, CConsumidores, Navios e Caminhos do sistema. Um re l atório ge-
rado pelo software é apresentado no Apendice B, este relatório corresp onde ao
resultado do C enário apresen tado na seção 14.
Dados de entrada
Os dados de entrada desta função s ão: um conjunto de Caminhos, obtidos no
proble ma de plan ejamento e cumprem todas as restrições importantes do pro-
blema; o mesm o conjunto de Caminhos, mas sem serem tratados; um valor in-
teiro que determina a quantid ade de objetos Cam inho que tem-se no primeiro
ou segundo conju nto; e um objeto Matriz, o qual armazena o schedulin g que
cumpre com todas as restrições.
Dados de saída
Gera os arquivos necess ários para o r elatório final, te x e outros arquivos com
extensão R.
13.3 Função cargar_linha_matriz
Esta f unção tem como objeti vo a geração de um objet o Matriz, de uma linha e
a quantidade de colunas igual ao Horizonte (que é o tempo limite do sc hedul-
ing), o qual descreve a po sição do Navio, em um tempo especifico.
Dados de entrada
Os dad os de entrada desta função são: o Caminho percorrido em função do
tempo e o Grafo de distância.
Dados de saída
O dado de saída desta função é um objeto Matriz, de uma linha e o número
de colunas que repr esenta o Horizonte que almace na a posição do navio no
percor rer do tempo.
13.4. FUNÇÃO ESCCONSUMIDOR 87
13.4 Função esCConsumidor
O objetiv o desta função é determinar se um códi go dado como parâ metro co-
rrespo nde a um CConsumid or em um conjunto de Caminhos dados.
Dados de entrada
Os dados de entrada desta função são: um c onjunto de Caminhos; um valor
inteiro que determina a quantidade de C aminhos n o conjunto dad o como
parâmetro; e o cód i go, que será avali ado para determ i nar se corresp onde a
um CConsumidor neste co njunto de Caminhos.
Dados de saída
O dado de saída é um valor de verdade, o qual vai ser verdadeiro no caso do
conjunto de Caminhos ter um CCon sumidor com o código igual ao número
dado como pa r âmetro.
Métodos e fundamentos
Esta função procura em tod os os Caminhos, dado s como parâmetros, se ex-
iste algum centro consumido r (CConsumidor) nestes Caminhos que tenha um
código que coi ncida com o núm ero dado como parâmetr o.
13.5 Função esRefineria
O objetivo desta função é determinar se um código (número inteiro) dado como
parâmetro corresponde a uma R efinaria em um conjunto de Caminhos dados.
Dados de entrada
Os dados de entrada desta função são: um c onjunto de Caminhos; um valor
inteiro que determina a quantidade de Caminhos no conjunto passad o com o
parâmetro; e o digo ao qual q uer-se determinar a correspondencia d e uma
Refinaria neste conj unto de Caminhos.
Dados de saída
O dado de saída é um valor de verdade, o qual vai ser verdadeiro no caso do
conjunto de Caminhos ter uma Refinaria com o código igual ao número dado
13.6. FUNÇÃO CONFLICTO_NAVIOS 88
como parâmetro.
13.6 Função conflicto_navios
Esta função é a im plementação da restrição onde um navio pode atracar
em um pier se o calado deste é me nor que a profundidade do pier mais a altura
da maré, além do fato que d este pier est ar disponível, ou seja não pode haver
outro navio at r acado, atracando ou d esatracando naquele período de tempo.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor in teiro que determina a quantidade de objetos Caminhos que se tem no
conjunto; e um objeto Matriz o qu al terá o sched uling que será avali ado pela
restriç ão.
Dados de saída
O dado de saída desta função é um objeto Matriz com uma l i nha e três c o-
lunas. Na p r imeira coluna tem-se o tempo do conflito, na segunda e ter-
ceira posição e ncontra-se o código dos Caminhos onde existem conflitos com
os Navios. No ca so de não haver conflito retorna o me smo objeto, mas na
primeira coluna tem-se o valor 1.
13.7 Função cconsumidore_parado
Esta função tem com o finali dade im plementar a res trição onde um CConsu-
midor não pode ficar sem produto forneci do pelas Refinarias.
Dados de entrada
Os dados de entrada desta função são: um conjunto de objetos Caminho;
um valor inteiro que determ ina a quant i dade de objetos Caminhos que no
conjunto; e um objeto Matriz o qu al terá o sched uling que será avali ado pela
restriç ão.
13.7. FUNÇÃO CCONSUMIDORE_PARADO 89
Dados de saída
O dado de saída desta função é um objet o Matriz com uma linha e duas co l u-
nas, na prim eira coluna tem-se o código do centro con sumidor (CCon sumidor)
que ficou s em produto, e na segunda coluna tem-se o tempo em que o CCon-
sumidor ficou sem produto. No ca so de não haver nenhum CConsu midor
que ficou sem pr oduto, retorna-se o mes mo objeto, mas na primeira coluna
assume-se o valor 1.
Métodos e fundamentos
Nesta função inicialmente gera-se um co njunto, sem repetição, dos centros
consumidores (CConsumidor) que estão em algum Caminho do conjunto de
Caminhos da dos como parâmetr o. O motivo deste procedimento é pelo fato
que nesta rest rição nã o pode haver Ca minhos por separado , ou seja, em di-
ferentes Caminhos pode existir o mesmo CConsumidor e isto produ z que se
considera-s e por separado estes Ca minho, pode acont ecer que um CConsumi-
dor fique sem produto n este Caminho, mas em outro, esse mesmo CConsu-
midor foi at endido em um tempo anterior, e desta forma não teria fica do s em
produ t o, pelo qual não teria con flito.
Depois de o btido o conju nto de CConsumidores associados a est e cenário,
o passo se guinte é observar se conflito durante a operação com relação ao
tempo, ou seja, observa-se na Matriz, que contém o scheduling, dada como
parâmetro e analiza-se da pri meira coluna até a última dest a Matriz, em to-
das as l i nhas da mesma, e para cada posição visitada da Matriz, obser va-se
se é um C Consumidor, e a ssim o sendo, adiciona-se na quantidade de pro-
duto tr ansportado a este CConsumi dor, no conjunto sem rep etição, a quan-
tidade de produto que o Navio descarrega em uma uni dade de t empo (isto
é calculado atributo v_descarrega na classe Navio), fazendo referência a
unidade de tempo com uma unidade da discretização. Uma vez ava l i adas
toas as linhas da Matriz (por cada coluna) decrementa-s e a qua ntidade de
produ t o de cada CConsumidor com a quantidade que o CConsumidor con-
sume em uma unidade de tempo ( este consumo é dado pelo atributo demanda
na classe C Consumidor). Nesta etapa observa - se se a quantidade de produto
armazenado no CConsumidor é menor que zero, e para este caso, retorna-
se uma M atriz com uma linha e dois colunas. Na primeira colu na tem-se o
código do C Consumidor, que ficou sem produto , e na segunda coluna tem-se
o tempo (ou s eja o índi ce da col una) em que ist o acon t eceu. No cas o de não
haver nenhu m CCo nsumidor sem produto, retorna o mesmo objeto , mas na
13.8. FUNÇÃO ATRACARENREFINERIA 90
primeira coluna tem-se o valor 1.
13.8 Função atracarEnRefineria
Esta função implementa a restriç ão que em uma Refinaria não podem ficar
atracados m ais Navio s que o pe rmitido pelos Portos a esta associa dos, além
disto, um Navio poderá atrac ar ou de satracar em um Piers se a altura da
maré, mais a profundidade do Piers for menor q ue o calad o do Navio.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que vai determinar a quantidade de objetos Caminhos que tem-se
no conj unto; e um objeto Matriz o qual tem-se o scheduling que será avaliad o
pela restrição.
Dados de saída
O dado de saída desta função, é um ob j eto Matriz de uma linha e t rês colunas,
onde no caso de não cumprir-se a restriçã o retornar-se na pri meira col una o
código da Refinar i a na que não pode atracar, na segunda coluna o c ódigo do
Caminho em que não pode atracar na Refinaria, e na te rceira col una o tempo
em que não pode atracar. No caso de cu mprir-se a restri ção retorna o mesm o
objeto mas na primeira coluna tem um 1.
13.9 Função escojer_combinacion
Esta função é a encarregada de achar um Scheduling em que não tenh a-se o
conflito dos Navios que se apresentara m na seção 13. 6.
Dados de entrada
Os dados de entrada de sta função são: um conjunto de o bjetos Caminho; um
valor inteiro que irá determinar a quantidade de objetos Caminhos q ue tem-se
no conjunto; e um objeto Graf o o qual terá a informação das distância s entre
os nós (Refina r ias e CConsum i dores).
13.9. FUNÇÃO ESCOJER_COMBINACION 91
Dados de saída
O dado de saída desta função é um objeto Matriz com linhas iguais à quan-
tidade de Cami nhos que foram passados como parâmetros, e a qua ntidade
de colu nas igual ao Horizonte, cada linha desta matriz será o r esultado da
aplicação da função cargar_linha_matriz, aprese ntada n a seção 13.3.
Capítulo 14
Estudo de casos
Nesta seção será apresentado u m cenário, o qual foi construído com a fina-
lidade de tes t ar o software desenvolvido. O cenário avaliado não corresponde
a um cenário real e os dados foram escolhidos objetivando avalia r as inter-
relaçõ es entre variáveis e soluções obtidas. Nele considera-se a existencia d e
4 CConsumi dores, 2 Refinari as, 5 Rotas, 3 Navios os quai s tem associados
Rotas, pelo qu al 3 Caminhos.
Nesta seção será apresentada parte do relatorio final gerado pelo soft-
ware, o qual aprese nta-se no Apendic e B, onde pode se avliar com muito mais
detalhe os dados de entrada e s aída obtidos.
14.1 Dados de Entrada
14.1.1 Estado inicial dos Centros Consumidores
CENTRO CONSUMIDOR 10
Nome: Centro Consumidor de Mac e
Quantidade de Port os: 1
Cidade: Mac e
Estado: Alag oas
Pais: Brasil
Demanda: 110 m
3
/h
Volume inicialme nte disponível: 35100 m
3
Porto 100. Es t e Porto tem 2 piers:
pie r 1
pie r 2
92
14.1. DADOS DE ENTRADA 93
CENTRO CONSUMIDOR 20
Nome: Centro Consumidor de Reci f e
Quantidade de Port os: 1
Cidade: Reci f e
Estado: Pernambuco
Pais: Brasil
Demanda: 120 m
3
/h
Volume inicialme nte disponível: 35200 m
3
Porto 200. Es t e Porto tem 2 Piers:
pie r 3
pie r 4
CENTRO CONSUMIDOR 30
Nome: Centro Consumidor de Fort aleza
Quantidade de Port os: 1
Cidade: Fort aleza
Estado: Ceara
Pais: Brasil
Demanda: 130 m
3
/h
Volume inicialme nte disponivel: 35300 m
3
Porto 300. Es t e Porto tem 2 Piers:
pie r 5
pie r 6
CENTRO CONSUMIDOR 40
Nome: Centro Consumidor de Rio de Janeiro
Quantidade de Port os: 1
Cidade: Rio de Janeiro
Estado: Rio
Pais: Brasil
Demanda: 140 m
3
/h
Volume inicialme nte disponivel: 35400 m
3
Porto 400. Es t e Porto tem 2 piers:
pie r 7
pie r 8
14.1. DADOS DE ENTRADA 94
14.1.2 Estado inicial das refinarias
REFINARIA 60
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Porto 600.
Este Porto tem 2 piers:
pie r 11
pie r 12
REFINARIA 70
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Porto 700.
Este Porto tem 2 piers:
pie r 13
pie r 14
14.1.3 Rotas
ROTA 1
As refinarias de saída e chegada (Ref_S e Ref_C) e os centros consumidores
(CC) que compõem esta rota sã o:
< Ref_S : 60 > < CC : 10 > < CC : 20 > < CC : 30 > < CC : 40 > < Ref_C : 70 >
A quantidade a ser transport ada par a cada centro consumidor é:
Tabela 14.1: Descargas nos centros consumidores na
rota 1
No centro consumidor 10 des carrega- se: 3110 m
3
No centro consumidor 20 des carrega- se: 3210 m
3
No centro consumidor 30 des carrega- se: 3310 m
3
No centro consumidor 40 des carrega- se: 3410 m
3
14.1. DADOS DE ENTRADA 95
ROTA 2
As refinarias de saída e chegada (Ref_S e Ref_C) e os centros consumidores
(CC) que compõem esta rota sã o:
< Ref_S : 70 > < CC : 1 0 > < CC : 30 > < CC : 40 > < Ref_C : 6 0 >
A quantidade a ser tranporta da para cada centro con sumidor é:
Tabela 14.2: Descargas nos centros consumidores na
rota 2
No centro consumidor 10 des carrega- se: 4120 m
3
No centro consumidor 30 des carrega- se: 4320 m
3
No centro consumidor 40 des carrega- se: 4420 m
3
ROTA 3
As refinarias de saída e chegada (Ref_S e Ref_C) e os centros consumidores
(CC) que compõem esta rota sã o:
< Ref_S : 60 > < CC : 1 0 > < CC : 20 > < CC : 40 > < Ref_C : 7 0 >
A quantidade a ser transport ada par a cada centro consumidor é:
Tabela 14.3: Descargas nos centros consumidores na
rota 3
No centro consumidor 10 des carrega- se: 3130 m
3
No centro consumidor 20 des carrega- se: 3230 m
3
No centro consumidor 40 des carrega- se: 3430 m
3
ROTA 4
As refinarias de saída e chegada (Ref_S e Ref_C) e os centros consumidores
(CC) que compõem esta rota sã o:
< Ref_S : 70 > < CC : 1 0 > < CC : 20 > < CC : 30 > < Ref_C : 6 0 >
A quantidade que tem-se que descar regar em cada ce ntro consumid or é:
Tabela 14.4: Descargas nos centros consumidores na
rota 4
No centro consumidor 10 des carrega- se: 4140 m
3
No centro consumidor 20 des carrega- se: 4240 m
3
No centro consumidor 30 des carrega- se: 4340 m
3
ROTA 5
As refinarias de saída e chegada (Ref_S e Ref_C) e os centros consumidores
(CC) que compõem esta rota sã o:
14.1. DADOS DE ENTRADA 96
< Ref_S : 60 > < CC : 3 0 > < CC : 40 > < Ref_C : 70 >
A quantidade que tem-se que descar regar em cada ce ntro consumid or é:
Tabela 14.5: Descargas nos centros consumidores na
rota 5
No centro consumidor 30 des carrega- se: 2350 m
3
No centro consumidor 40 des carrega- se: 2450 m
3
14.1.4 Navios
NAVIO 1
Descrição: Navio uno
Calado: 15 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Velocidade de descarrega: 1100 m
3
/h
Tempo de atracamen t o:
Tabela 14.6: Tempo de atracamento do navio 1
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 1 2 1 2 1 2
Tempo de desatracamento:
Tabela 14.7: Tempo de desatracamento do navio 1
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 1 2 1 2 1 2
Capacidade de carg a do navio: 23040 m
3
Carga inicial do navio: 0 m
3
NAVIO 2
Descrição: Navio dois
Calado: 14 m
Comprimen t o: 52 m
Velocidade: 12 n´os
Velocidade de descarga: 1200 m
3
/h
Tempo de atracamen t o:
14.1. DADOS DE ENTRADA 97
Tabela 14.8: Tempo de atracamento do navio 2
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 1 2 2 2 1 1
Tempo de desatracamento:
Tabela 14.9: Tempo de desatracamento do navio 2
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 1 2 2 2 1 1
Capacidade de carg a do navio: 40940 m
3
Carga inicial do navio: 400 m
3
NAVIO 3
Descrição: Navio três
Calado: 13 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Velocidade de descarga: 1300 m
3
/h
Tempo de atracamen t o:
Tabela 14.10: Tempo de atracamento do na vio 3
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 2 2 1 1 1 1
Tempo de desatracamento:
Tabela 14.11: Tempo de desatracamento do navio 3
Ref ou C C: 10 20 30 40 60 70
Unidade de Tempo: 2 2 1 1 1 1
Capacidade de carg a do navio: 29600 m
3
Carga inicial do navio: 300 m
3
14.1. DADOS DE ENTRADA 98
14.1.5 Caminhos
CAMINHO 1
Navio associado a est e caminho: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho: 0 h
CAMINHO 2
Navio associado a est e caminho: Navio 2
Rotas que compõem o caminho são:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 0 h
CAMINHO 3
Navio associado a est e caminho: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
14.1.6 Distâncias entre as refinarias e centros consumido-
res
Grafo com as distâncias entre as refinarias e centros co nsumidores
Tabela 14.12: Matriz de adjacência (G)
60 70 10 20 30 40 50
60 0 400 101 102 103 104 105
70 400 0 201 202 203 204 205
10 101 201 0 120 130 140 150
20 102 202 120 0 230 240 250
30 103 203 130 230 0 340 350
14.2. RESULTADO 99
40 104 204 140 240 340 0 450
50 105 205 150 250 350 450 0
14.2 Resultado
Os caminhos resu l t antes que retornou o software foram os que são apre-
sentados a seguir, jun t amente com o gráfico d o sche duling, apresentado na
Figura 14.1, na página 100.
14.2.1 Caminhos resultantes
CAMINHO 1
Navio associado a est e caminho: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho: 0 h Seqü ência que o navio 1 segue:
Tabela 14.13: Seqüência de centros consumidores e
refinarias que segue o navio 1 do caminho 1
Carrega-se Ref_70
Descarrega 4 420 m
3
CC_40
Descarrega 4 320 m
3
CC_30
Descarrega 4 120 m
3
CC_10
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 3 410 m
3
CC_40
Descarrega 3 210 m
3
CC_20
Descarrega 3 110 m
3
CC_10
Descarrega 3 310 m
3
CC_30
Atraca Ref_70
14.2. RESULTADO 100
Scheduling do Atendimento a Centros Consumidores
Horas
Caminhos
0 10 20 30 40 50 60 70 80 90 100110120130140150160170180190200210220230240250260270280290300310320
1
2
3
Factor lambda
Tempo de Atraco
Tempo de Desatraco
Refinaria 60
Refinaria 70
Centro Consumidor 10
Centro Consumidor 20
Centro Consumidor 30
Centro Consumidor 40
Figura 14.1: Diagrama do scheduling do atendimento a centros consumidores
14.2. RESULTADO 101
Distância total dest a seqüência = 22 38 mn
CAMINHO 2
Navio associado a est e caminho: Navio 2
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 0 h
Seqüência que o navio 2 segue:
Tabela 14.14: Seqüência de centros consumidores e
refinarias que segue o navio 2 do caminho 2
Carrega-se Ref_70
Descarrega 4 340 m
3
CC_30
Descarrega 4 240 m
3
CC_20
Descarrega 4 140 m
3
CC_10
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Distância total dest a seqüência = 16 97 mn
CAMINHO 3
Navio asociado a este caminh o: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
Seqüência que o navio 3 segue:
14.2. RESULTADO 102
Tabela 14.15: Seqüência de centros consumidores e
refinarias que segue o navio 3 do caminho 3
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 4 340 m
3
CC_30
Descarrega 4 140 m
3
CC_10
Descarrega 4 240 m
3
CC_20
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 2 450 m
3
CC_40
Descarrega 2 350 m
3
CC_30
Atraca Ref_70
Distância total dest a seqüência = 22 45 mn
Capítulo 15
Conclusão
Como conc lusão desta parte do trab alho pode-se dizer que a metodolog i a
adaptada foi satisfatória, obte ndo uma solução ao problema em um tempo
curto de compilação, dado que a m etodologia da resolução não foi exaustiva,
mas sim foi baseada em um método GREEDY. O scheduling obtido cumpre
com as restrições que o sistema demanda, além disto a saída do sof tware apre-
senta muitas informações import antes, facilitando à compreensão do s chedul-
ing e permitindo desta forma a valiar os resultados.
Através do proced imento adatado é possível, caso haja necessidade a adição
de novas restrições ond e as mesma s seriam acescidas com uma nova função
no sistema, torn ando o sistema b astante flexivel.
103
Parte I V
Conclusão ge ra l do trabalho
104
105
Neste trabalho conseguiu-se faze r um sistema que consegue, mediante
uma combinação de diferentes métodos como a programação lineal intei r a
mista (PLIM), método GREEDY, siste mas de permutaç ões e cluste rização de
caminhos, fazer um scheduling dos problemas de escoamento de petróleo
bruto de plataformas marítimas e ate ndimento a centros consumidores, ga-
rantindo com este scheduli ng que as restrições sejam satisfeitas, como por
exemplo, a restrição de q ue não pode-se ter mais de um navio em uma pla-
taforma no mesmo tempo para o problema de escoamento de petróleo, ou o
proble ma da janela de tempo em que os na vios podem atracar em um pie r
para o problema de atendimento a centros consumidores.
Concluindo , pode-se dizer que para este trabalho específico a combinação
dos métodos com a p rogramação orientada a objetos resultou em um siste ma,
o qual retorna uma solução em um t empo bastante curto, além d as vantagens
da programação orien t ada a objetos a qual permite uma f ácil ampliação com
bibliotecas ou funcionalida des. A tudo isto anexa-se a vantagem que o sis-
tema desenvolvido usa software livre de código aberto e e s dese nvolvido
em uma das linguagens de programação ma i s usadas por a comunidade com-
putacional, favorecendo desta forma a melhora contínua dos compiladores d o
mesmo.
Como trabalhos futu ros, propõe-se a implemen tação da solução destes
proble mas com Algoritmos Gen éticos, q ue no meio academico tem apres en-
tado excelentes resultados quando aplicados a probl emas de otimizaao com-
binatória onde os valores obtidos são muito próximos do ótimo g l obal e em
tempos menores em q ue aqueles baseado s na procura exaustiva. Outra pro-
posta de trabalhos futuros é paralelizar o problema, conseguindo des ta forma
diminuir o tempo de execução.
Parte V
Apêndice
106
Apêndice A
Relatório de scheduling do
escoamento de petróleo bruto de
plataformas marítimas
Neste a nexo irão-se apre sentar os dados obtidos como r esultado da aplicação
do software ao estudo de casos apresentados na seção 7.
A.1 Estado inicial das plataformas
PLATAFORMA 1
Nome: ESPF
Produ ção: 311 m
3
/h
Capacidade máxima de armazenamento: 11 0000 m
3
Hora do últim o descarregamento: 0 h
Volume resi dual do produto no tanque: 100 m
3
PLATAFORMA 2
Nome: FPSO -RJ
Produ ção: 322 m
3
/h
Capacidade máxima de armazenamento: 12 0000 m
3
Hora do últim o descarregamento: 0 h
Volume resi dual do produto no tanque: 100 m
3
PLATAFORMA 3
Nome: FPSO -FLU
Produ ção: 333 m
3
/h
Capacidade máxima de armazenamento: 13 0000 m
3
107
A.2. ESTADO INICIAL DAS REFINARIAS 108
Hora do últim o descarregamento: 0 h
Volume resi dual do produto no tanque: 100 m
3
PLATAFORMA 4
Nome: FPSO -BR
Produ ção: 344 m
3
/h
Capacidade máxima de armazenamento: 14 0000 m
3
Hora do últim o descarregamento: 0 h
Volume resi dual do produto no tanque: 100 m
3
A.2 Estado inicial das refinarias
REFINARIA 10
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Volume inicial: 50 0 m
3
REFINARIA 20
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Volume inicial: 70 0 m
3
A.3 Rotas
ROTA 1
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 1 > < P lat : 2 > < P lat : 3 > < P lat : 4 > < Ref_C : 20 >
E as combinações po ssíveis destas, com suas distâncias são:
A.3. ROTAS 109
Tabela A.1: Combinações possíveis da rota 1
Distância(mn) Ref _S P lat P lat P lat P lat R ef _C
797 10 4 2 1 3 20
797 10 4 1 2 3 20
797 10 3 2 1 4 20
797 10 3 1 2 4 20
806 10 4 1 3 2 20
806 10 2 3 1 4 20
815 10 3 1 4 2 20
815 10 2 4 1 3 20
896 10 4 3 1 2 20
896 10 2 1 3 4 20
905 10 4 2 3 1 20
905 10 3 4 1 2 20
905 10 2 1 4 3 20
905 10 1 3 2 4 20
914 10 3 2 4 1 20
914 10 1 4 2 3 20
995 10 4 3 2 1 20
995 10 1 2 3 4 20
1004 10 3 4 2 1 20
1004 10 1 2 4 3 20
1013 10 2 4 3 1 20
1013 10 2 3 4 1 20
1013 10 1 4 3 2 20
1013 10 1 3 4 2 20
Quantidade de produto para carregar em cada plataforma:
Tabela A.2: Quantidades carregadas nas plataformas
na rota 1
Na plat aforma 1 carrega-se: 3110 m
3
Na plat aforma 2 carrega-se: 3210 m
3
Na plat aforma 3 carrega-se: 3310 m
3
Na plat aforma 4 carrega-se: 3410 m
3
ROTA 2
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
A.3. ROTAS 110
põem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 3 > < P lat : 4 > < Ref_C : 10 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela A.3: Combinações possíveis da rota 2
Distância(mn) Ref_S P lat P lat P lat Ref_C
577 20 4 1 3 10
577 20 3 1 4 10
775 20 4 3 1 10
775 20 1 3 4 10
784 20 3 4 1 10
784 20 1 4 3 10
Quantidade de produto para carregar em cada plataforma:
Tabela A.4: Quantidades carregadas nas plataformas
na rota 2
Na plat aforma 1 carrega-se: 4120 m
3
Na plat aforma 3 carrega-se: 4320 m
3
Na plat aforma 4 carrega-se: 4420 m
3
ROTA 3
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 1 > < P lat : 2 > < P lat : 4 > < Ref_C : 20 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela A.5: Combinações possíveis da rota 3
Distância(mn) Ref_S P lat P lat P lat Ref_C
566 10 4 1 2 20
566 10 2 1 4 20
665 10 4 2 1 20
665 10 1 2 4 20
683 10 2 4 1 20
683 10 1 4 2 20
Quantidade de produto para carregar em cada plataforma:
A.3. ROTAS 111
Tabela A.6: Quantidades carregadas nas plataformas
na rota 3
Na plat aforma 1 carrega-se: 3130 m
3
Na plat aforma 2 carrega-se: 3230 m
3
Na plat aforma 4 carrega-se: 3430 m
3
ROTA 4
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 20 > < P lat : 1 > < P lat : 2 > < P lat : 3 > < Ref_C : 10 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela A.7: Combinações possíveis da rota 4
Distância(mn) Ref_S P lat P lat P lat Ref_C
555 20 3 1 2 10
555 20 2 1 3 10
654 20 3 2 1 10
654 20 1 2 3 10
663 20 2 3 1 10
663 20 1 3 2 10
Quantidade de produto para carregar em cada plataforma:
Tabela A.8: Quantidades carregadas nas plataformas
na rota 4
Na plat aforma 1 carrega-se: 4140 m
3
Na plat aforma 2 carrega-se: 4240 m
3
Na plat aforma 3 carrega-se: 4340 m
3
ROTA 5
As refin arias de saída e chegada (Ref_S e Ref_C) e plataformas (Plat) q ue com-
põem esta rota são:
< Ref_S : 10 > < P lat : 3 > < P lat : 4 > < Ref_C : 20 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela A.9: Combinações possíveis da rota 5
Distância(mn) Ref_S P lat P lat Ref_C
A.4. ESTADO INICIAL DOS NAVIOS 112
647 10 4 3 20
647 10 3 4 20
Quantidade de produto para carregar em cada plataforma:
Tabela A.10: Quantidades carregadas nas platafor-
mas na rota 1
Na plat aforma 3 carrega-se: 2350 m
3
Na plat aforma 4 carrega-se: 2450 m
3
A.4 Estado inicial dos navios
NAVIO 1
Descrição: Navio uno
Calado: 18 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Vazão de bombeamento d e produto: 1100 m
3
/h
Tempo de atracamen t o:
Tabela A.11: Tempo de atracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 1 1 2 1 2 2
Tempo de desatracamento:
Tabela A.12: Tempo de desatracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 1 1 2 1 2 2
Capacidade de carg a do navio: 14000 m
3
Carga total do navio: 0 m
3
NAVIO 2
Descrição: Navio dos
Calado: 16 m
Comprimen t o: 52 m
A.4. ESTADO INICIAL DOS NAVIOS 113
Velocidade: 12 n´os
Vazão de bombeamento d e produto: 1200 m
3
/h
Tempo de atracamen t o:
Tabela A.13: Tempo de atracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 2 2 2 1 1 1
Tempo de desatracamento:
Tabela A.14: Tempo de desatracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 2 2 2 1 1 1
Capacidade de carg a do navio: 24000 m
3
Carga total do navio: 400 m
3
NAVIO 3
Descrição: Navio três
Calado: 17 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Vazão de bombeamento d e produto: 1300 m
3
/h
Tempo de atracamen t o:
Tabela A.15: Tempo de atracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 2 2 1 1 1 1 1 1
Tempo de desatracamento:
Tabela A.16: Tempo de desatracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 2 2 1 1 1 1 1 1
Capacidade de carg a do navio: 18000 m
3
Carga total do navio: 300 m
3
A.5. ESTADO INICIAL DOS CAMINHOS 114
A.5 Estado inicial dos caminhos
CAMINHO 1
Navio asociado:
Código: 1
Velocidade: 11 n´os
Capacidade : 14000 m
3
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho: 4 h
Combinações das rotas:
Tabela A.17: Possíveis seqüências das rotas que
compõem o caminho 1
Distância(mn) Rota Rota Rota
1940 3 2 1
1940 1 2 3
2040 3 1 2
2040 2 3 1
2040 2 1 3
2040 1 3 2
Seqüência que o navio 1 segue:
Tabela A.18: Seqüência de plataformas e r efinarias
que segue o navio 1 do caminho 1
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
A.5. ESTADO INICIAL DOS CAMINHOS 115
Carrega 3410 m
3
P lat_4
Carrega 3210 m
3
P lat_2
Carrega 3110 m
3
P lat_1
Carrega 3310 m
3
P lat_3
Descarrega-se Ref_20
Distância total dest a seqüência = 19 40 mn
CAMINHO 2
Navio associado a est e caminho:
Código: 2
Velocidade: 12 n´os
Capacidade : 24000 m
3
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 6 h
Combinações das rotas:
Tabela A.19: Possíveis seqüências das rotas que
compõem o caminho 2
Distância(mn) Rota Rota Rota
1598 4 2 3
1598 3 4 2
1598 3 2 4
1598 2 4 3
1698 4 3 2
1698 2 3 4
Seqüência que o navio 2 segue:
Tabela A.20: Seqüência de plataformas e r efinarias
que segue o navio 2 do caminho 2
Desatraca Ref_20
Carrega 4340 m
3
P lat_3
Carrega 4140 m
3
P lat_1
Carrega 4240 m
3
P lat_2
A.5. ESTADO INICIAL DOS CAMINHOS 116
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Distância total dest a seqüência = 15 98 mn
CAMINHO 3
Navio associado a est e caminho:
Código: 3
Velocidade: 13 n´os
Capacidade : 18000 m
3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela A.21: Possíveis seqüências das rotas que
compõem o caminho 3
Distância(mn) Rota Rota Rota Rota
2245 3 4 2 5
2245 3 2 4 5
2245 5 4 2 3
2245 5 2 4 3
2345 3 5 4 2
2345 3 5 2 4
2345 3 4 5 2
2345 3 2 5 4
2345 5 3 4 2
A.5. ESTADO INICIAL DOS CAMINHOS 117
2345 5 3 2 4
2345 5 4 3 2
2345 5 2 3 4
2345 4 3 2 5
2345 4 5 2 3
2345 4 2 3 5
2345 4 2 5 3
2345 2 3 4 5
2345 2 5 4 3
2345 2 4 3 5
2345 2 4 5 3
2445 4 3 5 2
2445 4 5 3 2
2445 2 3 5 4
2445 2 5 3 4
Seqüência que o navio 3 segue:
Tabela A.22: Seqüência de plataformas e r efinarias
que segue o navio3 do caminho 3
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4340 m
3
P lat_3
Carrega 4140 m
3
P lat_1
Carrega 4240 m
3
P lat_2
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 2450 m
3
P lat_4
A.7. SCHEDULING RESULTANTE 118
Carrega 2350 m
3
P lat_3
Descarrega-se Ref_20
Distância total dest a seqüência = 22 45 mn
A.6 Distâncias entre as refinarias e plataformas
Grafo com as distâncias entre as refinarias e plataformas
Tabela A.23: Matriz de adjacência
10 20 1 2 3 4
10 0 400 101 102 103 104
20 400 0 201 202 203 204
1 101 201 0 120 130 140
2 102 202 120 0 230 240
3 103 203 130 230 0 340
4 104 204 140 240 340 0
A.7 Scheduling resultante
A Tabela A.24 e a Fig ura A.1 apresentam o scheduling do escoamento de
petróleo bruto de pla t aformas marítimas, res ultante da simulação numér i ca.
Scheduling de 361 h
Caminho_1 Caminho_2 Caminho_3
Hora: 0 φ φ R_10
Hora: 1 φ φ TD
Hora: 2 φ φ TD
Hora: 3 φ φ λ
Hora: 4 R_10 φ
Hora: 5 TD φ
Hora: 6 λ R_20
Hora: 7 R_20
Hora: 8 TD
Hora: 9 TD
Hora: 10 λ
Hora: 11 λ
Hora: 12 TA
Hora: 13 P _2
A.7. SCHEDULING RESULTANTE 119
Hora: 14 P _2
Hora: 15 P _2
Hora: 16 λ P _2
Hora: 17 TA P _2
Hora: 18 P _4 P _2
Hora: 19 P _4 P _2
Hora: 20 P _4 P _2
Hora: 21 P _4 TD
Hora: 22 P _4 λ
Hora: 23 P _4
Hora: 24 P _4
Hora: 25 P _4
Hora: 26 TD
Hora: 27 λ λ
Hora: 28 TA
Hora: 29 TA
Hora: 30 P _3
Hora: 31 P _3
Hora: 32 P _3 λ
Hora: 33 P _3 TA
Hora: 34 P _3 P _1
Hora: 35 P _3 P _1
Hora: 36 P _3 P _1
Hora: 37 P _3 P _1
Hora: 38 P _3 P _1
Hora: 39 P _3 P _1
Hora: 40 TD P _1
Hora: 41 TD P _1
Hora: 42 λ TD
Hora: 43 λ
Hora: 44
Hora: 45
Hora: 46
Hora: 47
Hora: 48
Hora: 49 λ
Hora: 50 TA
Hora: 51 P _2
Hora: 52 P _2
Hora: 53 P _2
Hora: 54 P _2 λ
Hora: 55 P _2 TA
Hora: 56 P _2 P _4
Hora: 57 P _2 P _4
Hora: 58 P _2 P _4
Hora: 59 TD P _4
A.7. SCHEDULING RESULTANTE 120
Hora: 60 λ P _4
Hora: 61 P _4
Hora: 62 λ P _4
Hora: 63 TA P _4
Hora: 64 TA TD
Hora: 65 P _2 λ
Hora: 66 P _2
Hora: 67 P _2
Hora: 68 P _2
Hora: 69 P _2
Hora: 70 P _2
Hora: 71 λ P _2
Hora: 72 TA P _2
Hora: 73 P _1 P _2
Hora: 74 P _1 P _2
Hora: 75 P _1 TD
Hora: 76 P _1 TD
Hora: 77 P _1 λ
Hora: 78 P _1
Hora: 79 P _1
Hora: 80 P _1
Hora: 81 TD λ
Hora: 82 λ TA
Hora: 83 TA
Hora: 84 R_20
Hora: 85 R_20
Hora: 86 R_20
Hora: 87 R_20
Hora: 88 λ R_20
Hora: 89 TA R_20
Hora: 90 TA R_20
Hora: 91 P _1 R_20
Hora: 92 P _1 R_20
Hora: 93 P _1 TD
Hora: 94 λ P _1 TD
Hora: 95 TA P _1 λ
Hora: 96 TA P _1
Hora: 97 P _3 P _1
Hora: 98 P _3 P _1
Hora: 99 P _3 P _1
Hora: 100 P _3 P _1
Hora: 101 P _3 TD
Hora: 102 P _3 TD
Hora: 103 P _3 λ
Hora: 104 P _3
Hora: 105 TD
A.7. SCHEDULING RESULTANTE 121
Hora: 106 TD
Hora: 107 λ
Hora: 108
Hora: 109
Hora: 110
Hora: 111 λ
Hora: 112 λ TA
Hora: 113 TA P _3
Hora: 114 R_10 P _3
Hora: 115 R_10 P _3
Hora: 116 R_10 P _3
Hora: 117 R_10 P _3
Hora: 118 R_10 P _3
Hora: 119 R_10 P _3
Hora: 120 R_10 P _3
Hora: 121 R_10 P _3
Hora: 122 R_10 P _3
Hora: 123 R_10 TD
Hora: 124 TD λ
Hora: 125 λ
Hora: 126 λ
Hora: 127 TA
Hora: 128 TA
Hora: 129 R_20
Hora: 130 R_20
Hora: 131 R_20
Hora: 132 R_20
Hora: 133 R_20
Hora: 134 R_20 λ
Hora: 135 R_20 TA λ
Hora: 136 R_20 P _4 TA
Hora: 137 R_20 P _4 P _1
Hora: 138 R_20 P _4 P _1
Hora: 139 R_20 P _4 P _1
Hora: 140 R_20 P _4 P _1
Hora: 141 R_20 P _4 P _1
Hora: 142 TD P _4 P _1
Hora: 143 TD P _4 P _1
Hora: 144 λ P _4 P _1
Hora: 145 P _4 P _1
Hora: 146 TD P _1
Hora: 147 λ TD
Hora: 148 λ
Hora: 149
Hora: 150
Hora: 151
A.7. SCHEDULING RESULTANTE 122
Hora: 152
Hora: 153
Hora: 154
Hora: 155
Hora: 156
Hora: 157
Hora: 158 λ
Hora: 159 λ TA
Hora: 160 TA P _2
Hora: 161 TA P _2
Hora: 162 P _1 P _2
Hora: 163 λ P _1 P _2
Hora: 164 TA P _1 P _2
Hora: 165 P _4 P _1 P _2
Hora: 166 P _4 P _1 P _2
Hora: 167 P _4 P _1 P _2
Hora: 168 P _4 P _1 P _2
Hora: 169 P _4 P _1 P _2
Hora: 170 P _4 P _1 TD
Hora: 171 P _4 P _1 λ
Hora: 172 P _4 TD
Hora: 173 P _4 TD
Hora: 174 P _4 λ
Hora: 175 TD
Hora: 176 λ
Hora: 177
Hora: 178
Hora: 179 λ
Hora: 180 TA
Hora: 181 TA
Hora: 182 R_10
Hora: 183 R_10
Hora: 184 R_10
Hora: 185 λ R_10
Hora: 186 TA R_10
Hora: 187 TA R_10
Hora: 188 P _3 R_10
Hora: 189 λ P _3 R_10
Hora: 190 TA P _3 R_10
Hora: 191 P _1 P _3 TD
Hora: 192 P _1 P _3 TD
Hora: 193 P _1 P _3 λ
Hora: 194 P _1 P _3
Hora: 195 P _1 P _3
Hora: 196 P _1 P _3
Hora: 197 P _1 P _3
A.7. SCHEDULING RESULTANTE 123
Hora: 198 P _1 TD
Hora: 199 P _1 TD
Hora: 200 P _1 λ
Hora: 201 TD
Hora: 202 λ λ
Hora: 203 TA
Hora: 204 P _4
Hora: 205 P _4
Hora: 206 P _4
Hora: 207 P _4
Hora: 208 P _4
Hora: 209 λ P _4
Hora: 210 TA P _4
Hora: 211 R_10 P _4
Hora: 212 R_10 P _4
Hora: 213 R_10 P _4
Hora: 214 λ R_10 TD
Hora: 215 TA R_10 λ
Hora: 216 TA R_10
Hora: 217 P _3 R_10
Hora: 218 P _3 R_10
Hora: 219 P _3 R_10
Hora: 220 P _3 R_10
Hora: 221 P _3 R_10
Hora: 222 P _3 TD
Hora: 223 P _3 λ
Hora: 224 P _3
Hora: 225 P _3
Hora: 226 P _3 λ
Hora: 227 TD TA
Hora: 228 TD P _1
Hora: 229 λ P _1
Hora: 230 P _1
Hora: 231 P _1
Hora: 232 λ P _1
Hora: 233 TA P _1
Hora: 234 P _4 P _1
Hora: 235 P _4 P _1
Hora: 236 P _4 P _1
Hora: 237 P _4 P _1
Hora: 238 P _4 TD
Hora: 239 λ P _4 λ
Hora: 240 TA P _4
Hora: 241 R_10 P _4
Hora: 242 R_10 TD
Hora: 243 R_10 λ
A.7. SCHEDULING RESULTANTE 124
Hora: 244 R_10
Hora: 245 R_10
Hora: 246 R_10
Hora: 247 R_10
Hora: 248 R_10
Hora: 249 R_10
Hora: 250 R_10 λ
Hora: 251 R_10 TA
Hora: 252 R_10 P _3
Hora: 253 TD P _3
Hora: 254 λ P _3
Hora: 255 λ P _3
Hora: 256 TA P _3
Hora: 257 TA P _3
Hora: 258 P _1 P _3
Hora: 259 P _1 P _3
Hora: 260 P _1 P _3
Hora: 261 P _1 P _3
Hora: 262 P _1 TD
Hora: 263 P _1 λ
Hora: 264 λ P _1
Hora: 265 TA P _1
Hora: 266 P _4 TD
Hora: 267 P _4 TD
Hora: 268 P _4 λ
Hora: 269 P _4
Hora: 270 P _4
Hora: 271 P _4 λ
Hora: 272 P _4 TA
Hora: 273 P _4 TA
Hora: 274 TD R_10
Hora: 275 λ R_10
Hora: 276 R_10
Hora: 277 R_10
Hora: 278 R_10
Hora: 279 λ R_10
Hora: 280 TA R_10
Hora: 281 TA R_10
Hora: 282 P _2 R_10
Hora: 283 P _2 R_10
Hora: 284 P _2 TD
Hora: 285 P _2 TD
Hora: 286 P _2 λ
Hora: 287 P _2
Hora: 288 λ P _2
Hora: 289 TA P _2
A.7. SCHEDULING RESULTANTE 125
Hora: 290 P _1 TD
Hora: 291 P _1 TD
Hora: 292 P _1 λ
Hora: 293 P _1
Hora: 294 P _1
Hora: 295 P _1 λ
Hora: 296 P _1 TA
Hora: 297 P _1 P _4
Hora: 298 TD P _4
Hora: 299 λ P _4
Hora: 300 P _4
Hora: 301 P _4
Hora: 302 P _4
Hora: 303 TD
Hora: 304 λ
Hora: 305
Hora: 306
Hora: 307
Hora: 308
Hora: 309 λ
Hora: 310 λ TA
Hora: 311 TA TA
Hora: 312 P _2 φ
Hora: 313 P _2 φ
Hora: 314 P _2 φ
Hora: 315 P _2 φ
Hora: 316 P _2 φ
Hora: 317 P _2 φ
Hora: 318 P _2 φ
Hora: 319 P _2 φ
Hora: 320 TD φ
Hora: 321 λ φ
Hora: 322 φ
Hora: 323 φ
Hora: 324 φ
Hora: 325 φ
Hora: 326 φ
Hora: 327 φ
Hora: 328 φ
Hora: 329 φ
Hora: 330 φ
Hora: 331 φ λ
Hora: 332 φ TA
Hora: 333 φ P _3
Hora: 334 φ P _3
Hora: 335 φ P _3
A.8. CAMINHOS RESULT ANTES 126
Hora: 336 φ P _3
Hora: 337 φ P _3
Hora: 338 φ TD
Hora: 339 φ λ
Hora: 340 λ φ
Hora: 341 TA φ
Hora: 342 TA φ
Hora: 343 φ φ
Hora: 344 φ φ
Hora: 345 φ φ
Hora: 346 φ φ
Hora: 347 φ φ
Hora: 348 φ φ
Hora: 349 φ φ
Hora: 350 φ φ
Hora: 351 φ φ
Hora: 352 φ φ
Hora: 353 φ φ
Hora: 354 φ φ
Hora: 355 φ φ λ
Hora: 356 φ φ TA
Hora: 357 φ φ TA
Hora: 358 φ φ φ
Hora: 359 φ φ φ
Hora: 360 φ φ φ
A.8 Caminhos resultantes
CAMINHO 1
Navio associado a est e caminho:
Código: 1
Velocidade: 11 n´os
Capacidade : 14000 m
3
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho é: 4 h
Combinações das rotas:
A.8. CAMINHOS RESULT ANTES 127
Scheduling do escoamento de petroleo bruto de plataformas maritimas
Horas
Caminhos
0 10 20 30 40 50 60 70 80 90100110120130140150160170180190200210220230240250260270280290300310320330340350360
1
2
3
Factor lambda
Tempo de Atraco
Tempo de Desatraco
Refinaria 10
Refinaria 20
Plataforma 1
Plataforma 2
Plataforma 3
Plataforma 4
Figura A.1: Diagrama do scheduling do escoamento de petróleo bruto de plataformas
marítimas
A.8. CAMINHOS RESULT ANTES 128
Tabela A.25: Possíveis seqüências das rotas que
compõem o caminho 1
Distância(mn) Rota Rota Rota
1940 3 2 1
1940 1 2 3
2040 3 1 2
2040 2 3 1
2040 2 1 3
2040 1 3 2
Seqüência que o navio 1 segue:
Tabela A.26: Seqüência de plataformas e r efinarias
que segue o navio 1 do caminho 1
Desatraca Ref_10
Carrega 3410 m
3
P lat_4
Carrega 3210 m
3
P lat_2
Carrega 3110 m
3
P lat_1
Carrega 3310 m
3
P lat_3
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Distância total dest a seqüência = 1940 mn
CAMINHO 2
Navio associado a est e caminho:
Código: 2
Velocidade: 12 n´os
Capacidade : 24000 m
3
A.8. CAMINHOS RESULT ANTES 129
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 6 h
Combinações das rotas:
Tabela A.27: Possíveis seqüências das rotas que
compõem o caminho 2
Distância(mn) Rota Rota Rota
1598 4 2 3
1598 3 4 2
1598 3 2 4
1598 2 4 3
1698 4 3 2
1698 2 3 4
Seqüência que o navio 2 segue:
Tabela A.28: Seqüência de plataformas e r efinarias
que segue o navio 2 do caminho 2
Desatraca Ref_20
Carrega 4240 m
3
P lat_2
Carrega 4140 m
3
P lat_1
Carrega 4340 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 3430 m
3
P lat_4
Carrega 3130 m
3
P lat_1
Carrega 3230 m
3
P lat_2
Descarrega-se Ref_20
Distância total dest a seqüência = 1598 mn
A.8. CAMINHOS RESULT ANTES 130
CAMINHO 3
Navio associado a est e caminho:
Código: 3
Velocidade: 13 n´os
Capacidade : 18000 m
3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela A.29: Possíveis seqüências das rotas que
compõem o caminho 3
Distância(mn) Rota Rota Rota Rota
2245 3 4 2 5
2245 3 2 4 5
2245 5 4 2 3
2245 5 2 4 3
2345 3 5 4 2
2345 3 5 2 4
2345 3 4 5 2
2345 3 2 5 4
2345 5 3 4 2
2345 5 3 2 4
2345 5 4 3 2
2345 5 2 3 4
2345 4 3 2 5
2345 4 5 2 3
2345 4 2 3 5
2345 4 2 5 3
2345 2 3 4 5
2345 2 5 4 3
2345 2 4 3 5
2345 2 4 5 3
2445 4 3 5 2
2445 4 5 3 2
A.9. ESTADO FINAL DAS PLAT AFORMAS 131
2445 2 3 5 4
2445 2 5 3 4
Seqüência que o navio 3 segue:
Tabela A.30: Seqüência de plataformas e r efinarias
que segue o navio 3 do caminho 3
Desatraca Ref_10
Carrega 3230 m
3
P lat_2
Carrega 3130 m
3
P lat_1
Carrega 3430 m
3
P lat_4
Descarrega-se Ref_20
Desatraca Ref_20
Carrega 4340 m
3
P lat_3
Carrega 4140 m
3
P lat_1
Carrega 4240 m
3
P lat_2
Descarrega-se Ref_10
Destraca Ref_10
Carrega 4420 m
3
P lat_4
Carrega 4120 m
3
P lat_1
Carrega 4320 m
3
P lat_3
Descarrega-se Ref_10
Desatraca Ref_10
Carrega 2450 m
3
P lat_4
Carrega 2350 m
3
P lat_3
Descarrega-se Ref_20
Distância total dest a seqüência = 2245 mn
A.9 Estado fin al das plataformas
PLATAFORMA 1
Nome: ESPF
Produ ção: 311 m
3
/h
Capacidade máxima de armazenamento: 11 0000 m
3
Hora do últim o descarregamento: 297 h
Volume resi dual de pr oduto no tanque: 59327 m
3
A.9. ESTADO FINAL DAS PLAT AFORMAS 132
A Figura A.2 apre senta a q uantidade de petróleo produzido com relação a o
tempo na plataforma 1.
0 50 100 150 200 250 300 350
0 10000 20000 30000
Plataforma 1
Tempo (hora)
Volume de petróleo produzido (m³)
Figura A.2: Quantidade de petróleo por tempo na plataforma 1
PLATAFORMA 2
Nome: FPSO -RJ
Produ ção: 322 m
3
/h
Capacidade máxima de armazenamento: 12 0000 m
3
Hora do últim o descarregamento: 319 h
Volume resi dual de pr oduto no tanque: 81438 m
3
A Figura A.3 apre senta a q uantidade de petróleo produzido com relação a o
tempo na plataforma 2.
PLATAFORMA 3
Nome: FPSO -FLU
Produ ção: 333 m
3
/h
Capacidade máxima de armazenamento: 13 0000 m
3
Hora do últim o descarregamento: 337 h
Volume resi dual de pr oduto no tanque: 85021 m
3
A Figura A.4 apre senta a q uantidade de petróleo produzido com relação a o
tempo na plataforma 3.
A.9. ESTADO FINAL DAS PLAT AFORMAS 133
0 50 100 150 200 250 300 350
0 10000 30000 50000
Plataforma 2
Tempo (hora)
Volume de petróleo produzido (m³)
Figura A.3: Quantidade de petróleo por tempo na plataforma 2
0 50 100 150 200 250 300 350
0 10000 30000 50000
Plataforma 3
Tempo (hora)
Volume de petróleo produzido (m³)
Figura A.4: Quantidade de petróleo por tempo na plataforma 3
A.10. ESTADO FINAL DAS REF I NARIAS 134
PLATAFORMA 4
Nome: FPSO -BR
Produ ção: 344 m
3
/h
Capacidade máxima de armazenamento: 14 0000 m
3
Hora do últim o descarregamento: 302 h
Volume resi dual de pr oduto no tanque: 74578 m
3
A Figura A.5 apresent a a qu antidade de petróle o com relação ao tempo na
plataforma 4.
0 50 100 150 200 250 300 350
0 10000 20000 30000 40000 50000
Plataforma 4
Tempo (hora)
Volume de petróleo produzido (m³)
Figura A.5: Quantidade de petróleo por tempo na plataforma 4
A.10 Estado final das refinarias
REFINARIA 10
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Volume descarregado: 64820 m
3
A.11. ESTADO FINAL DOS NAVIOS 135
REFINARIA 20
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Volume descarregado: 23930 m
3
A.11 Estado final dos navios
NAVIO 1
Descrição: Navio uno
Calado: 18 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Vazão de bombeamento d e produto: 1100 m
3
/h
Tempo de atracamen t o:
Tabela A.31: Tempo de atracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 1 1 2 1 2 2
Tempo de desatracamento:
Tabela A.32: Tempo de desatracamento do navio 1
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 1 1 2 1 2 2
Capacidade de carg a do navio: 14000 m
3
A carga total do navio: 9790 m
3
NAVIO 2
Descrição: Navio dos
Calado: 16 m
Comprimen t o: 52 m
Velocidade: 12 n´os
Vazão de bombeamento d e produto: 1200 m
3
/h
Tempo de atracamen t o:
A.11. ESTADO FINAL DOS NAVIOS 136
Tabela A.33: Tempo de atracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 2 2 2 1 1 1
Tempo de desatracamento:
Tabela A.34: Tempo de desatracamento do navio 2
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 1 2 2 2 2 1 1 1
Capacidade de carg a do navio: 24000 m
3
A carga total do navio é: 9 790 m
3
NAVIO 3
Descrição: Navio três
Calado: 17 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Vazão de bombeamento d e produto: 1300 m
3
/h
Tempo de atracamen t o:
Tabela A.35: Tempo de atracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 2 2 1 1 1 1 1 1
Tempo de desatracamento:
Tabela A.36: Tempo de desatracamento do navio 3
Plat ou Ref: 10 20 1 2 3 4 5 6
Unidade de Tempo(h): 2 2 1 1 1 1 1 1
Capacidade de carg a do navio: 18000 m
3
A carga total do navio é: 4 800 m
3
Apêndice B
Relatório de scheduling do
atendimento a centros
consumidores
Neste a nexo irão-se apre sentar os dados obtidos como r esultado da aplicação
do software ao estudo de casos apresentados na seção 14
B.1 Estado inicial dos centros consu mid ores
CENTRO CONSUMIDOR 10
Nome: Centro Consumidor de Mac e
Quantidade de Port os: 1
Cidade: Mac e
Estado: Alag oas
Pais: Brasil
Demanda: 110 m
3
/h
Volume inicial do reservato rio: 35100 m
3
Porto 100. Es t e Porto tem 2 piers:
pie r 1
pie r 2
CENTRO CONSUMIDOR 20
Nome: Centro Consumidor de Reci f e
Quantidade de Port os: 1
Cidade: Reci f e
Estado: Pernambuco
137
B.2. ESTADO INICIAL DAS REFINARIAS 138
Pais: Brasil
Demanda: 120 m
3
/h
Volume inicial do reservato rio: 35200 m
3
Porto 200. Es t e Porto tem 2 piers:
pie r 3
pie r 4
CENTRO CONSUMIDOR 30
Nome: Centro Consumidor de Fort aleza
Quantidade de Port os: 1
Cidade: Fort aleza
Estado: Ceara
Pais: Brasil
Demanda: 130 m
3
/h
Volume inicial do reservato rio: 35300 m
3
Porto 300. Es t e Porto tem 2 piers:
pie r 5
pie r 6
CENTRO CONSUMIDOR 40
Nome: Centro Consumidor de Rio de Janeiro
Quantidade de Port os: 1
Cidade: Rio de Janeiro
Estado: Rio
Pais: Brasil
Demanda: 140 m
3
/h
Volume inicial do reservato rio: 35400 m
3
Porto 400. Es t e Porto tem 2 piers:
pie r 7
pie r 8
B.2 Estado inicial das refinarias
REFINARIA 60
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
B.3. ROTAS 139
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Porto 600.
Este Porto tem 2 piers:
pie r 11
pie r 12
REFINARIA 70
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Porto 700.
Este Porto tem 2 piers:
pie r 13
pie r 14
B.3 Rotas
ROTA 1
Refinarias de saída e che gada (Ref_S e Ref_C) e os centros consumidores (CC)
que compõem esta rota:
< Ref_S : 60 > < CC : 10 > < CC : 20 > < CC : 30 > < CC : 40 > < Ref_C : 70 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela B.1: Combinações possíveis da rota 1
Distância(mn) Ref_S CC CC CC CC Ref_C
797 60 40 20 10 30 70
797 60 40 10 20 30 70
797 60 30 20 10 40 70
797 60 30 10 20 40 70
806 60 40 10 30 20 70
806 60 20 30 10 40 70
815 60 30 10 40 20 70
B.3. ROTAS 140
815 60 20 40 10 30 70
896 60 40 30 10 20 70
896 60 20 10 30 40 70
905 60 40 20 30 10 70
905 60 30 40 10 20 70
905 60 20 10 40 30 70
905 60 10 30 20 40 70
914 60 30 20 40 10 70
914 60 10 40 20 30 70
995 60 40 30 20 10 70
995 60 10 20 30 40 70
1004 60 30 40 20 10 70
1004 60 10 20 40 30 70
1013 60 20 40 30 10 70
1013 60 20 30 40 10 70
1013 60 10 40 30 20 70
1013 60 10 30 40 20 70
Quantidade de produto para desca r regar em cada ce ntro consumid or:
Tabela B.2: Descargas nos centros consumidores da
rota 1
No centro consumidor 10 des carrega- se: 3110 m
3
No centro consumidor 20 des carrega- se: 3210 m
3
No centro consumidor 30 des carrega- se: 3310 m
3
No centro consumidor 40 des carrega- se: 3410 m
3
ROTA 2
Refinarias de saída e che gada (Ref_S e Ref_C) e os centros consumidores (CC)
que compõem esta rota:
< Ref_S : 70 > < CC : 1 0 > < CC : 30 > < CC : 40 > < Ref_C : 6 0 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela B.3: Combinações possíveis da rota 2
Distância(mn) Ref_S CC CC CC Ref_C
577 70 40 10 30 60
577 70 30 10 40 60
B.3. ROTAS 141
775 70 40 30 10 60
775 70 10 30 40 60
784 70 30 40 10 60
784 70 10 40 30 60
Quantidade de produto para desca r regar em cada ce ntro consumid or:
Tabela B.4: Descargas nos centros consumidores da
rota 2
No centro consumidor 10 des carrega- se: 4120 m
3
No centro consumidor 30 des carrega- se: 4320 m
3
No centro consumidor 40 des carrega- se: 4420 m
3
ROTA 3
Refinarias de saída e che gada (Ref_S e Ref_C) e os centros consumidores (CC)
que compõem esta rota:
< Ref_S : 60 > < CC : 1 0 > < CC : 20 > < CC : 40 > < Ref_C : 7 0 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela B.5: Possíveis combinações da rota 3
Distância(mn) Ref_S CC CC CC Ref_C
566 60 40 10 20 70
566 60 20 10 40 70
665 60 40 20 10 70
665 60 10 20 40 70
683 60 20 40 10 70
683 60 10 40 20 70
Quantidade de produto para desca r regar em cada Centro Consumi dor:
Tabela B.6: Descargas nos centros consumidores na
rota 3
No centro consumidor 10 des carrega- se: 3130 m
3
No centro consumidor 20 des carrega- se: 3230 m
3
No centro consumidor 40 des carrega- se: 3430 m
3
ROTA 4
Refinarias de saída e che gada (Ref_S e Ref_C) e os centros consumidores (CC)
B.3. ROTAS 142
que compõem esta rota são:
< Ref_S : 70 > < CC : 1 0 > < CC : 20 > < CC : 30 > < Ref_C : 6 0 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela B.7: Possíveis combinações da rota 4
Distância(mn) Ref_S CC CC CC Ref_C
555 70 30 10 20 60
555 70 20 10 30 60
654 70 30 20 10 60
654 70 10 20 30 60
663 70 20 30 10 60
663 70 10 30 20 60
Quantidade de produto para desca r regar em cada Centro Consumi dor:
Tabela B.8: Descargas nos centros consumidores da
rota 4
No centro consumidor 10 des carrega- se: 4140 m
3
No centro consumidor 20 des carrega- se: 4240 m
3
No centro consumidor 30 des carrega- se: 4340 m
3
ROTA 5
Refinarias de saída e che gada (Ref_S e Ref_C) e os centros consumidores (CC)
que compõem esta rota:
< Ref_S : 60 > < CC : 3 0 > < CC : 40 > < Ref_C : 70 >
E as combinações po ssíveis destas, com suas distâncias são:
Tabela B.9: Possíveis combinações da rota 5
Distância(mn) Ref _S CC CC R ef _C
647 60 40 30 70
647 60 30 40 70
Quantidade de produto para desca r regar em cada Centro Consumi dor:
Tabela B.10: Descargas nos centros consumidores
da r o ta 5
No centro consumidor 30 des carrega- se: 2350 m
3
No centro consumidor 40 des carrega- se: 2450 m
3
B.4. ESTADO INICIAL DOS NAVIOS 143
B.4 Estado inicial dos navios
NAVIO 1
Descrição: Navio uno
Calado: 15 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Vazão de baz amento de produto: 1100 m
3
/h
Tempo de atracamen t o:
Tabela B.11: Tempo de atracamento do navio 1
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 1 1 2 1 2
Tempo de desatracamento:
Tabela B.12: t empo de desatracamento do navio 1
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 1 1 2 1 2
Capacidade de carg a do navio: 23040 m
3
Carga inicial existente no navio: 0 m
3
NAVIO 2
Descrição: Navio dois
Calado: 14 m
Comprimen t o: 52 m
Velocidade: 12 n´os
Vazão de baz amento de produto: 1200 m
3
/h
Tempo de atracamen t o:
Tabela B.13: Tempo de atracamento do navio 2
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 2 2 2 1 1
Tempo de desatracamento:
B.5. ESTADO INICIAL DOS CAMINHOS 144
Tabela B.14: Tempo de desatracamento do navio 2
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 2 2 2 1 1
Capacidade de carg a do navio: 40940 m
3
Carga inicial existente do navio é: 400 m
3
NAVIO 3
Descrição: Navio três
Calado: 13 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Vazão de baz amento de produto: 1300 m
3
/h
Tempo de atracamen t o:
Tabela B.15: Tempo de atracamento do navio 3
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 2 2 1 1 1 1 1
Tempo de desatracamento:
Tabela B.16: Tempo de desatracamento do navio 3
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 2 2 1 1 1 1 1
Capacidade de carg a do navio: 29600 m
3
Carga inicial existente no navio: 300 m
3
B.5 Estado inicial dos caminhos
CAMINHO 1
Navio associado: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
B.5. ESTADO INICIAL DOS CAMINHOS 145
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.17: Possíveis seqüências de rotas que segue
o navio 1
Distância(mn) Rota Rota Rota
1940 3 2 1
1940 1 2 3
2040 3 1 2
2040 2 3 1
2040 2 1 3
2040 1 3 2
Seqüência que o Navio 1 segue:
Tabela B.18: Seqüência de centros consumidores e
refinarias que segue o navio 1 do caminho 1
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 410 m
3
CC_40
Descarrega 3 210 m
3
CC_20
Descarrega 3 110 m
3
CC_10
Descarrega 3 310 m
3
CC_30
Atraca Ref_70
Distância total dest a seqüência = 19 40 mn
CAMINHO 2
Navio associado: Navio 2
B.5. ESTADO INICIAL DOS CAMINHOS 146
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.19: Possíveis seqüências de rotas que segue
o navio 2
Distância(mn) Rota Rota Rota
1598 4 2 3
1598 3 4 2
1598 3 2 4
1598 2 4 3
1698 4 3 2
1698 2 3 4
Seqüência que o Navio 2 segue:
Tabela B.20: Seqüência de centros consumidores e
refinarias que segue o navio 2 do caminho 2
Carrega-se Ref_70
Descarrega 4 340 m
3
CC_30
Descarrega 4 140 m
3
CC_10
Descarrega 4 240 m
3
CC_20
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Distância total dest a seqüência = 15 98 mn
CAMINHO 3
B.5. ESTADO INICIAL DOS CAMINHOS 147
Navio associado: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.21: Possíveis seqüências de rotas que segue
o navio 3
Distância(mn) Rota Rota Rota Rota
2245 3 4 2 5
2245 3 2 4 5
2245 5 4 2 3
2245 5 2 4 3
2345 3 5 4 2
2345 3 5 2 4
2345 3 4 5 2
2345 3 2 5 4
2345 5 3 4 2
2345 5 3 2 4
2345 5 4 3 2
2345 5 2 3 4
2345 4 3 2 5
2345 4 5 2 3
2345 4 2 3 5
2345 4 2 5 3
2345 2 3 4 5
2345 2 5 4 3
2345 2 4 3 5
2345 2 4 5 3
2445 4 3 5 2
2445 4 5 3 2
2445 2 3 5 4
2445 2 5 3 4
Seqüência que o Navio 3 segue:
B.6. DISTÂNCIAS ENTRE AS R EFINARIAS E CENTR OS CONSUMIDORES148
Tabela B.22: Seqüência de centros consumidores e
refinarias que segue o navio 3 do caminho 3
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 4 340 m
3
CC_30
Descarrega 4 140 m
3
CC_10
Descarrega 4 240 m
3
CC_20
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 2 450 m
3
CC_40
Descarrega 2 350 m
3
CC_30
Atraca Ref_70
Distância total dest a seqüência = 22 45 mn
B.6 Distâncias entre as refinarias e centros con-
sumidores
Grafo com as distâncias entre as refinarias e centros co nsumidores
Tabela B.23: Matriz de adjacência
60 70 10 20 30 40 50
60 0 400 101 102 103 104 105
70 400 0 201 202 203 204 205
10 101 201 0 120 130 140 150
20 102 202 120 0 230 240 250
30 103 203 130 230 0 340 350
40 104 204 140 240 340 0 450
B.7. SCHEDULING RESULTANTE 149
50 105 205 150 250 350 450 0
B.7 Scheduling resultante
A Tabela B.24 e a Figura B . 1 apresentam o scheduling do atendime nto a centro
consumidor, resultante da simulação numéric a.
Scheduling de 321 h
Caminho_1 Caminho_2 Caminho_3
Hora: 0 R_70 R_70 R_60
Hora: 1 R_70 R_70 R_60
Hora: 2 R_70 R_70 R_60
Hora: 3 R_70 R_70 R_60
Hora: 4 R_70 R_70 R_60
Hora: 5 R_70 R_70 R_60
Hora: 6 R_70 R_70 R_60
Hora: 7 R_70 R_70 R_60
Hora: 8 R_70 R_70 R_60
Hora: 9 R_70 R_70 TD
Hora: 10 R_70 R_70 λ
Hora: 11 R_70 R_70
Hora: 12 TD TD
Hora: 13 TD λ
Hora: 14 λ
Hora: 15
Hora: 16
Hora: 17
Hora: 18
Hora: 19 λ
Hora: 20 TA
Hora: 21 CC_40
Hora: 22 CC_40
Hora: 23 CC_40
Hora: 24 TD
Hora: 25 λ
Hora: 26
Hora: 27
Hora: 28
Hora: 29
Hora: 30 λ
Hora: 31 TA
Hora: 32 TA
Hora: 33 λ CC_30
Hora: 34 TA CC_30
Hora: 35 CC_40 CC_30
B.7. SCHEDULING RESULTANTE 150
Hora: 36 CC_40 CC_30 λ
Hora: 37 CC_40 TD TA
Hora: 38 CC_40 TD TA
Hora: 39 TD λ CC_10
Hora: 40 λ CC_10
Hora: 41 TD
Hora: 42 TD
Hora: 43 λ
Hora: 44
Hora: 45
Hora: 46
Hora: 47
Hora: 48
Hora: 49
Hora: 50
Hora: 51
Hora: 52
Hora: 53 λ
Hora: 54 TA
Hora: 55 TA
Hora: 56 CC_20
Hora: 57 CC_20
Hora: 58 TD
Hora: 59 λ TD
Hora: 60 TA λ
Hora: 61 TA
Hora: 62 CC_20
Hora: 63 CC_20
Hora: 64 CC_20
Hora: 65 CC_20
Hora: 66 TD
Hora: 67 TD
Hora: 68 λ
Hora: 69
Hora: 70
Hora: 71 λ
Hora: 72 TA
Hora: 73 CC_30
Hora: 74 CC_30
Hora: 75 CC_30
Hora: 76 CC_30 λ
Hora: 77 TD TA
Hora: 78 λ R_70
Hora: 79 λ R_70
Hora: 80 TA R_70
Hora: 81 CC_10 R_70
B.7. SCHEDULING RESULTANTE 151
Hora: 82 CC_10 R_70
Hora: 83 CC_10 R_70
Hora: 84 TD R_70
Hora: 85 λ R_70
Hora: 86 R_70
Hora: 87 R_70
Hora: 88 R_70
Hora: 89 R_70
Hora: 90 λ TD
Hora: 91 TA λ
Hora: 92 CC_10
Hora: 93 CC_10
Hora: 94 CC_10 λ
Hora: 95 CC_10 TA
Hora: 96 TD R_60
Hora: 97 λ R_60
Hora: 98 R_60
Hora: 99 R_60
Hora: 100 R_60
Hora: 101 R_60
Hora: 102 R_60
Hora: 103 R_60
Hora: 104 R_60
Hora: 105 R_60
Hora: 106 R_60
Hora: 107 λ R_60 λ
Hora: 108 TA R_60 TA
Hora: 109 R_60 TD CC_30
Hora: 110 R_60 λ CC_30
Hora: 111 R_60 CC_30
Hora: 112 R_60 TD
Hora: 113 R_60 λ
Hora: 114 R_60
Hora: 115 R_60
Hora: 116 R_60
Hora: 117 R_60
Hora: 118 TD
Hora: 119 λ λ
Hora: 120 TA
Hora: 121 TA
Hora: 122 CC_40
Hora: 123 CC_40
Hora: 124 CC_40 λ
Hora: 125 CC_40 TA
Hora: 126 TD TA
Hora: 127 TD CC_10
B.7. SCHEDULING RESULTANTE 152
Hora: 128 λ CC_ 10
Hora: 129 λ CC_10
Hora: 130 TA TD
Hora: 131 CC_40 TD
Hora: 132 CC_40 λ
Hora: 133 CC_40
Hora: 134 TD
Hora: 135 λ
Hora: 136
Hora: 137
Hora: 138
Hora: 139
Hora: 140 λ
Hora: 141 TA
Hora: 142 CC_10 λ
Hora: 143 CC_10 TA
Hora: 144 CC_10 TA
Hora: 145 TD CC_20
Hora: 146 λ CC_ 20
Hora: 147 CC_20
Hora: 148 λ TD
Hora: 149 TA TD
Hora: 150 CC_10 λ
Hora: 151 CC_10
Hora: 152 CC_10
Hora: 153 TD
Hora: 154 λ
Hora: 155
Hora: 156
Hora: 157 λ
Hora: 158 TA λ
Hora: 159 TA TA
Hora: 160 CC_30 R_60
Hora: 161 CC_30 R_60
Hora: 162 CC_30 R_60
Hora: 163 CC_30 R_60
Hora: 164 TD R_60
Hora: 165 λ TD R_60
Hora: 166 TA λ R_60
Hora: 167 TA R_60
Hora: 168 CC_20 R_60
Hora: 169 CC_20 R_60
Hora: 170 CC_20 R_60
Hora: 171 TD R_60
Hora: 172 TD R_60
Hora: 173 λ TD
B.7. SCHEDULING RESULTANTE 153
Hora: 174 λ
Hora: 175 λ
Hora: 176 TA
Hora: 177 R_60
Hora: 178 R_60
Hora: 179 R_60
Hora: 180 R_60
Hora: 181 R_60
Hora: 182 R_60
Hora: 183 R_60 λ
Hora: 184 R_60 TA
Hora: 185 R_60 CC_40
Hora: 186 TD CC_40
Hora: 187 λ CC_ 40
Hora: 188 TD
Hora: 189 λ
Hora: 190
Hora: 191
Hora: 192 λ
Hora: 193 TA
Hora: 194 TA
Hora: 195 R_70
Hora: 196 R_70 λ
Hora: 197 R_70 TA
Hora: 198 R_70 TA
Hora: 199 R_70 CC_40
Hora: 200 R_70 CC_40 λ
Hora: 201 R_70 CC_40 TA
Hora: 202 R_70 TD TA
Hora: 203 R_70 TD CC_10
Hora: 204 R_70 λ CC_10
Hora: 205 R_70 CC_10
Hora: 206 TD TD
Hora: 207 TD TD
Hora: 208 λ λ
Hora: 209
Hora: 210
Hora: 211
Hora: 212
Hora: 213
Hora: 214
Hora: 215
Hora: 216 λ
Hora: 217 TA
Hora: 218 CC_10
Hora: 219 CC_10 λ
B.7. SCHEDULING RESULTANTE 154
Hora: 220 CC_10 TA
Hora: 221 TD CC_30
Hora: 222 λ CC_ 30
Hora: 223 CC_30
Hora: 224 TD
Hora: 225 λ
Hora: 226
Hora: 227 λ
Hora: 228 TA
Hora: 229 CC_40
Hora: 230 CC_40
Hora: 231 CC_40
Hora: 232 TD
Hora: 233 λ λ λ
Hora: 234 TA TA
Hora: 235 TA R_60
Hora: 236 CC_20 R_60
Hora: 237 CC_20 R_60
Hora: 238 CC_20 R_60
Hora: 239 TD R_60
Hora: 240 TD TD
Hora: 241 λ λ
Hora: 242
Hora: 243
Hora: 244
Hora: 245
Hora: 246
Hora: 247
Hora: 248
Hora: 249
Hora: 250 λ
Hora: 251 TA
Hora: 252 CC_40
Hora: 253 CC_40
Hora: 254 TD
Hora: 255 λ λ
Hora: 256 TA
Hora: 257 TA
Hora: 258 CC_20 λ
Hora: 259 CC_20 TA
Hora: 260 CC_20 φ
Hora: 261 TD φ
Hora: 262 TD φ
Hora: 263 λ φ
Hora: 264 φ
Hora: 265 φ
B.7. SCHEDULING RESULTANTE 155
Hora: 266 φ
Hora: 267 φ
Hora: 268 φ
Hora: 269 φ
Hora: 270 φ
Hora: 271 φ
Hora: 272 φ
Hora: 273 φ
Hora: 274 λ φ
Hora: 275 TA φ
Hora: 276 CC_10 φ
Hora: 277 CC_10 φ
Hora: 278 CC_10 φ
Hora: 279 TD φ
Hora: 280 λ φ
Hora: 281 φ
Hora: 282 φ λ
Hora: 283 φ TA
Hora: 284 φ CC_30
Hora: 285 φ CC_30
Hora: 286 φ TD
Hora: 287 φ λ
Hora: 288 φ
Hora: 289 φ
Hora: 290 φ
Hora: 291 φ
Hora: 292 λ φ
Hora: 293 TA φ
Hora: 294 CC_30 φ
Hora: 295 CC_30 φ
Hora: 296 CC_30 φ
Hora: 297 TD φ
Hora: 298 λ φ
Hora: 299 φ
Hora: 300 φ
Hora: 301 φ
Hora: 302 φ
Hora: 303 φ λ
Hora: 304 φ TA
Hora: 305 φ φ
Hora: 306 φ φ
Hora: 307 φ φ
Hora: 308 φ φ
Hora: 309 φ φ
Hora: 310 φ φ
Hora: 311 φ φ
B.8. CAMINHOS RESULTANTES 156
Hora: 312 φ φ
Hora: 313 φ φ
Hora: 314 φ φ
Hora: 315 φ φ
Hora: 316 φ φ
Hora: 317 λ φ φ
Hora: 318 TA φ φ
Hora: 319 TA φ φ
Hora: 320 φ φ φ
B.8 Caminhos resultantes
CAMINHO 1
Navio associado: Navio 1
Rotas que compõem o caminho:
< Rota 1 > < Rota 2 > < Rota 3 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.25: Possíveis seqüências de rotas que segue
o navio 1
Distância(mn) Rota Rota Rota
1940 3 2 1
1940 1 2 3
2040 3 1 2
2040 2 3 1
2040 2 1 3
2040 1 3 2
Seqüência que o Navio 1 segue:
Tabela B.26: Seqüência de centros consumidores e
refinarias que segue o navio 1 do caminho 1
Carrega-se Ref_70
Descarrega 4 420 m
3
CC_40
Descarrega 4 320 m
3
CC_30
Descarrega 4 120 m
3
CC_10
B.8. CAMINHOS RESULTANTES 157
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 3 410 m
3
CC_40
Descarrega 3 210 m
3
CC_20
Descarrega 3 110 m
3
CC_10
Descarrega 3 310 m
3
CC_30
Atraca Ref_70
Distância total dest a seqüência = 22 38 mn
CAMINHO 2
Navio associado: Navio 2
Rotas que compõem o caminho:
< Rota 2 > < Rota 3 > < Rota 4 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.27: Possíveis seqüências de rotas que segue
o navio 2
Distância(d istancia) Rota Rota Rota
1598 4 2 3
1598 3 4 2
1598 3 2 4
1598 2 4 3
1698 4 3 2
1698 2 3 4
Seqüência que o Navio 2 segue:
Tabela B.28: Seqüência de centros consumidores e
refinarias que segue o navio 2 do caminho 2
Carrega-se Ref_70
B.8. CAMINHOS RESULTANTES 158
Descarrega 4 340 m
3
CC_30
Descarrega 4 240 m
3
CC_20
Descarrega 4 140 m
3
CC_10
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Distância total dest a seqüência = 16 97 mn
CAMINHO 3
O Navio assoc i ado: Navio 3
Rotas que compõem o caminho:
< Rota 2 > < Rota 4 > < Rota 5 > < Rota 3 >
Horario de início deste caminho: 0 h
Combinações das rotas:
Tabela B.29: Possíveis seqüências de rotas que segue
o navio 3
Distância(mn) Rota Rota Rota Rota
2245 3 4 2 5
2245 3 2 4 5
2245 5 4 2 3
2245 5 2 4 3
2345 3 5 4 2
2345 3 5 2 4
2345 3 4 5 2
2345 3 2 5 4
2345 5 3 4 2
2345 5 3 2 4
B.8. CAMINHOS RESULTANTES 159
2345 5 4 3 2
2345 5 2 3 4
2345 4 3 2 5
2345 4 5 2 3
2345 4 2 3 5
2345 4 2 5 3
2345 2 3 4 5
2345 2 5 4 3
2345 2 4 3 5
2345 2 4 5 3
2445 4 3 5 2
2445 4 5 3 2
2445 2 3 5 4
2445 2 5 3 4
Seqüência que o Navio 3 segue:
Tabela B.30: Sequencia de centros consumidores e
refinarias que segue o navio 3 do caminho 3
Carrega-se Ref_60
Descarrega 3 430 m
3
CC_40
Descarrega 3 130 m
3
CC_10
Descarrega 3 230 m
3
CC_20
Atraca Ref_70
Carrega-se Ref_70
Descarrega 4 340 m
3
CC_30
Descarrega 4 140 m
3
CC_10
Descarrega 4 240 m
3
CC_20
Atraca Ref_60
Carrega-se Ref_60
Descarrega 4 420 m
3
CC_40
Descarrega 4 120 m
3
CC_10
Descarrega 4 320 m
3
CC_30
Atraca Ref_60
Carrega-se Ref_60
Descarrega 2 450 m
3
CC_40
Descarrega 2 350 m
3
CC_30
B.9. ESTADO FINAL DOS CENTROS CONSUMIDORES 160
Atraca Ref_70
Distância total dest a seqüência = 22 45 mn
B.9 Estado fin al dos centros consumidores
CENTRO CONSUMIDOR 10
Nome: Centro Consumidor de Mac e
Quantidade de Port os: 1
Cidade: Mac e
Estado: Alag oas
Pais: Brasil
Demanda: 110 m
3
/h
Volume final do tanque: 98 820 m
3
Porto 100. Es t e Porto tem 2 piers:
pie r 1
pie r 2
A Figura B.2 a presenta a qu antidade de produto com relaçã o ao tempo no
centro consu midor 10.
CENTRO CONSUMIDOR 20
Nome: Centro Consumidor de Reci f e
Quantidade de Port os: 1
Cidade: Reci f e
Estado: Pernambuco
Pais: Brasil
Demanda: 120 m
3
/h
Volume final do tanque: 87 780 m
3
Porto 200. Es t e Porto tem 2 piers:
pie r 3
pie r 4
A Figura B.3 a presenta a qu antidade de produto com relaçã o ao tempo no
ccntro consu midor 20.
CENTRO CONSUMIDOR 30
Nome: Centro Consumidor de Fort aleza
Quantidade de Port os: 1
B.9. ESTADO FINAL DOS CENTROS CONSUMIDORES 161
Scheduling do Atendimento a Centros Consumidores
Horas
Caminhos
0 10 20 30 40 50 60 70 80 90 100110120130140150160170180190200210220230240250260270280290300310320
1
2
3
Factor lambda
Tempo de Atraco
Tempo de Desatraco
Refinaria 60
Refinaria 70
Centro Consumidor 10
Centro Consumidor 20
Centro Consumidor 30
Centro Consumidor 40
Figura B.1: Diagrama do scheduling do atendimento a centro consumidor
B.9. ESTADO FINAL DOS CENTROS CONSUMIDORES 162
0 50 100 150 200 250 300
28000 30000 32000 34000
Centro Consumidor 10
Tempo (horas)
Volume de produto estocado (m³)
Figura B.2: Volume de produt o estocado no centro consumidor 10
0 50 100 150 200 250 300
20000 25000 30000 35000
Centro Consumidor 20
Tempo (horas)
Volume de produto estocado (m³)
Figura B.3: Volume de produt o estocado no centro consumidor 20
B.9. ESTADO FINAL DOS CENTROS CONSUMIDORES 163
Cidade: Fort aleza
Estado: Ceara
Pais: Brasil
Demanda: 130 m
3
/h
Volume final do tanque: 10 1080 m
3
Porto 300. Es t e Porto tem 2 piers:
pie r 5
pie r 6
A Figura B.4 a presenta a qu antidade de produto com relaçã o ao tempo no
centro consu midor 30.
0 50 100 150 200 250 300
20000 25000 30000 35000
Centro Consumidor 30
Tempo (horas)
Volume de produto estocado (m³)
Figura B.4: Volume de produt o estocado no centro consumidor 30
CENTRO CONSUMIDOR 40
Nome: Centro Consumidor de Rio de Janeiro
Quantidade de Port os: 1
Cidade: Rio de Janeiro
Estado: Rio
Pais: Brasil
Demanda: 140 m
3
/h
B.10. ESTADO FINAL DAS REF INARIAS 164
Volume final do tanque: 10 0230 m
3
Porto 400. Es t e Porto tem 2 piers:
pie r 7
pie r 8
A Figura B.5 a presenta a qu antidade de produto com relaçã oa o tempo no
centro consu midor 40.
0 50 100 150 200 250 300
20000 25000 30000 35000
Centro Consumidor 40
Tempo (horas)
Volume de produto estocado (m³)
Figura B.5: Volume de produt o estocado no centro consumidor 40
B.10 Estado final das refinarias
REFINARIA 60
Nome: Refinaria Du que de Caixas
Quantidade de Port os: 1
Cidade: Duq ue de Caixas
Estado: RJ
Pais: Brasil
Porto 600.
Este Porto tem 2 piers:
B.11. ESTADO FINAL DOS NAVIOS 165
pie r 11
pie r 12
REFINARIA 70
Nome: Refinaria Landulpho Alves
Quantidade de Port os: 1
Cidade: São F rancisco do Conde
Estado: BA
Pais: Brasil
Porto 700.
Este Porto tem 2 piers:
pie r 13
pie r 14
B.11 Estado final dos navios
NAVIO 1
Descrição: Navio uno
Calado: 15 m
Comprimen t o: 71.9 m
Velocidade: 11 n´os
Velocidade de descarga: 1100 m
3
/h
Tempo de atracamen t o:
Tabela B.31: Tempo de atracamento do navio 1
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 1 1 2 1 2
Tempo de desatracamento:
Tabela B.32: Tempo de desatracamento do navio 1
Ref ou C C: 10 20 30 40 5 0 60 70
Unidade de Te mpo (h): 1 2 1 1 2 1 2
Capacidade de carg a do navio: 23040 m
3
Volume final de prod uto no navio: 0 m
3
B.11. ESTADO FINAL DOS NAVIOS 166
NAVIO 2
Descrição: Navio dois
Calado: 14 m
Comprimen t o: 52 m
Velocidade: 12 n´os
Velocidade de descarga: 1200 m
3
/h
Tempo de atracamen t o:
Tabela B.33: Tempo de atracamento do navio 2
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 2 2 2 1 1
Tempo de desatracamento:
Tabela B.34: Tempo de desatracamento do navio 2
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 1 2 2 2 2 1 1
Capacidade de carg a do navio: 40940 m
3
Volume final de prod uto no navio é: 400 m
3
NAVIO 3
Descrição: Navio três
Calado: 13 m
Comprimen t o: 73.9 m
Velocidade: 13 n´os
Velocidade de descarga: 1300 m
3
/h
Tempo de atracamen t o:
Tabela B.35: Tempo de atracamento do navio 3
Ref ou C C: 10 20 30 40 50 60 70
Unidade de Tempo(h): 2 2 1 1 1 1 1
Tempo de desatracamento:
Tabela B.36: Tempo de desatracamento do navio 3
Ref ou C C: 10 20 30 40 50 60 70
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 167
Unidade de Tempo(h): 2 2 1 1 1 1 1
Capacidade de carg a do navio: 29600 m
3
Volume final no navio: 300 m
3
B.12 Gráficos dos tempos de atracação nos piers
PIER 11
Profundidade: 14 m
Largura: 34 m
Comprimen t o: 74 m
A Figura B.6 apresenta o tempo que os navios podem atracar n o pier 11.
Os navios podem atracar no Piers 11
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.6: Gráficos dos tempos que os navios podem at racar no pier 11
PIER 12
Profundidade: 15 m
Largura: 35 m
Comprimen t o: 75 m
A Figura B.7 apresenta o tempo que os navios podem atracar n o pier 12.
PIER 13
Profundidade: 16 m
Largura: 36 m
Comprimen t o: 76 m
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 168
Os navios podem atracar no Piers 12
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.7: Gráficos dos tempos que os navios podem at racar no pier 12
Os navios podem atracar no Piers 13
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.8: Gráficos dos tempos que os navios podem at racar no pier 13
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 169
A Figura B.8 apresenta o tempo que os navios podem atracar n o pier 13.
PIER 14
Profundidade: 17 m
Largura: 37 m
Comprimen t o: 77 m
A Figura B.9 apresenta o tempo que os navios podem atracar n o pier 14.
Os navios podem atracar no Piers 14
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.9: Gráficos dos tempos que os navios podem at racar no pier 14
PIER 1
Profundidade: 11 m
Largura: 31 m
Comprimen t o: 71 m
A Figura B.10 apresenta o tempo que os n avios podem atracar no pier 1.
PIER 2
Profundidade: 12 m
Largura: 32 m
Comprimen t o: 72 m
A Figura B.11 apresenta o tempo que os n avios podem atracar no pier 2.
PIER 3
Profundidade: 13 m
Largura: 33 m
Comprimen t o: 73 m
A Figura B.12 apresenta o tempo que os n avios podem atracar no pier 3.
PIER 4
Profundidade: 14 m
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 170
Os navios podem atracar no Piers 1
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.10: Gráficos dos tempos que os navios podem atracar no pier 1
Os navios podem atracar no Piers 2
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.11: Gráficos dos tempos que os navios podem atracar no pier 2
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 171
Os navios podem atracar no Piers 3
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.12: Gráficos dos tempos que os navios podem atracar no pier 3
Largura: 34 m
Comprimen t o: 74 m
A Figura B.13 apresenta o tempo que os n avios podem atracar no pier 4.
Os navios podem atracar no Piers 4
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.13: Gráficos dos tempos que os navios podem atracar no pier 4
PIER 5
Profundidade: 15 m
Largura: 35 m
Comprimen t o: 75 m
A Figura B.14 apresenta o tempo que os n avios podem atracar no pier 5.
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 172
Os navios podem atracar no Piers 5
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.14: Gráficos dos tempos que os navios podem atracar no pier 5
PIER 6
Profundidade: 16 m
Largura: 36 m
Comprimen t o: 76 m
A Figura B.15 apresenta o tempo os navi os pode m atracar no pie r 6.
Os navios podem atracar no Piers 6
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.15: Gráficos dos tempos que os navios podem atracar no pier 6
PIER 7
Profundidade: 17 m
Largura: 37 m
B.12. GRÁFICOS DOS TEMPOS DE ATRACAÇÃO NOS PIERS 173
Comprimen t o: 77 m
A Figura B.16 apresenta o tempo que os n avios podem atracar no pier 7.
Os navios podem atracar no Piers 7
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.16: Gráficos dos tempos que os navios podem atracar no pier 7
PIER 8
Profundidade: 11 m
Largura: 31 m
Comprimen t o: 71 m
A Figura B.17 apresenta o tempo que os n avios podem atracar no pier 8.
Os navios podem atracar no Piers 8
Tempo (horas)
Navios
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320
1
2
3
Pode atracar
Nao pode atracar
Figura B.17: Gráficos dos tempos que os navios podem atracar no pier 8
Referências B ibliográficas
Al-Yakoob, S. M . (1 997), Mix ed-Integer Mat hematical Prog ramming Optimiza-
tion Models and Algorithm s for an Oil Tanker Routing and Scheduling
Proble m, PhD t hesis, Virginia Polytechnic Institute and State University.
Almeida Lima, C. A. d. (2002), Riscos de at rasos na cad eia logística d e supri-
mento de petróleo, Master dissertati on, Universidade Federal de Santa
Catarina.
Arranz, L. (2005), Imágenes vector i ales y map as de bits, Centro Nacional d e In-
formación y Comunica ción Educativa , Madrid. Ultima visita: 11/ 8/2008.
URL: http:// observatorio.c nice.mec.es/modules.php?op= modload&name
=News&file=article&sid= 293
Augusto, O. B. & Kawano, A. (1998), ‘A mixed continuous and discrete non-
linear constrained algo rithm for optim i zing ship hull structural design’,
Ocean Engng. 25, 7 93–811.
Board man, B. S . , Malstrom, E. M., B utler, D. P. & Cole, M. H. (1997 ) , Com-
puter assi sted ro uting of intermodal shipments, i n ‘Proceedings of the
21st Internat i onal Conference on Computers a nd Industrial Engineering’,
Elsevier Science Pu blishers Ltd., Essex, UK, pp. 311–314 .
Calégari, P. R. (1999) , Paralle l i zation of Population- Based Evolutionary Algo-
rithms for Combi natorial Optim i zation Pr oblems, PhD thesis, École Poly-
technique Fédérale de Lausanne.
Cutland, N. (1997), Computabili t y: An In t roduction to Recursive Function T he-
ory, Cambrid ge Univ ersity P ress.
Fagerholt, K. (2001), ‘Ship scheduling wit h soft time windows : An optimisa tion
based approach’, European Journal of Operational Research 13, 559–5 71.
Fagerholt, K. & Christiansen, M. (2000), ‘A tra velling salesman problem with
allocation, time window and precedence constraints - an application
174
REFERÊNC I AS BIBLIOGRÁFICAS 175
to ship scheduling’, Internation al Transactio ns in Operationa l research
7, 231–244.
González Vargas, G . & Gonz ález Aristizábal, F. (2007), ‘Meta heurísticas apli-
cadas al ruteo de vehículos. un caso de estudio. parte 2: alg oritmo
genético, c omparación con una s olución heurística’, Revist a Ingenierí a
e Investigación 27, 149–157.
Hartley, R. ( 1987), Theory of Recursive Function s a nd Effective Computability,
McGraw–Hi l l Book Copany.
Iskendar, Suprayogi & Yama to, H. (2001), ‘Ship rou ting design for the oily
liquid waste collection’, The Japan Society of Naval Architects and Ocean
Engineers 190, 325 –335.
Jones, N. D. (1997), Computab i l i t y and Complexity: From a Programming Per-
spective, Foundati on of Computing Series.
Kim, D. & Barnhart, C. (1997), ‘Mu ltimodal express shipmen t se rvice design:
Models an d algorithms’, Computer Industrie and Enginee ring 33, 685–688.
Larman, C. (200 3), UML y Patrones Introducción al Análi sis y Diseñ o Orien-
tado a Objetos, Addison Wesley Longman.
Lippman, S. B. (2002), Essential C++, Addison Wesley.
Malandraki , C. & D askin, M. S. (1992), ‘Time dependent v ehicle routing prob-
lems: Formulati ons, properties and heuristic algo rithms’, Transportation
Science 6–3, 185–198.
Paolucci, M., Sacile, R. & Boccalatte, A. (2002) , ‘Allocating crude oil supply
to port and refinery tanks: a sim ulation–based decision support system’,
Decision Support Systems 33, 39–54.
Pereira Motta Franco, K. (2003), Desenvolvimento de um sist e ma inteligente
para auxiliar a escolha de si stema para produção no m ar, Master disser-
tation, Universidade Esta dual de Campinas.
Persson, J. A. & Gothe-Lun dgren, M. (2004), ‘ Shipment planning at oil refiner-
ies usi ng column generation and valid inequa lities’, E uropean Journal of
Operational Rese arch pp. 2–22.
Pinto Junior, O. P. F. (2001), Simulação e otimização; desenvolvimento de
uma fe r ramenta de análise de d ecisão para suprimento de refinar i as de
REFERÊNC I AS BIBLIOGRÁFICAS 176
petróleo atr avés de uma re de de oleoduto s, Master dissertation, Universi-
dade Federal de Santa Catari na.
Reis da Silva, P. ( 2004), Transporte marítimo de petróleo e derivados na cost a
brasileira: Estrutura e implicações ambientais, Ma ster dissertation, Uni-
versidade Federal de Rio de Ja neiro.
Resende, M. G. & González Velarde, J. L. (2003 ) , ‘Grasp: Greedy randomized
adaptive search procedures’, Revista I beroamericana de Intel i gencia Artifi-
cial 19, 61–76 .
Ronen, D. (1983), ‘Car go ships routing and scheduling: Survey of models and
proble ms’, Eu ropean Jou rnal of Operation al Reserch 2, 119–126.
Rumbaugh, J. , Jacobson, I. & Booc h, G. (2004), The Unified Modeling Lan-
guage Reference Manual, Ad dison Wesley.
Schut, M. C. (2005), ‘Distributed ship scheduling wit h partially known time
windows’, Vri j e Universiteit, Amsterdam (The Netherlands).
Shih, L.-H. (1997), ‘Planning of fuel coal imports using a mixed integer
programming method’, International Journal of Production Economics
51(3), 243–249.
Soares de Medeiros, E. (1999), Metodologi a para implementação d o sistema de
custeio baseado em atividades (ABC) nos ser viços logísticos da industria
de exploração e produção de petróleo: Ap l i cação no provedor de trans-
porte do órgão de exploração e produçã o da Petrobras n a bacia de Cam-
pos, Master di ssertation, U niversidade Federal de Santa Catarina.
Soletti, J . I., Carvalho , S. H. V., Luna, H. P. L. & Soletti, L. (2007), ‘Plane-
jamento e distribuição de derivados de petroleo via trans porte ma r í timo’,
XXVIII Congresso ìbero Latino Americano Sobre Méto dos Computaci onais
em Engenharia - CILAMCE, 2007. Porto - P ortugal: CD RO M, 2007.
Soletti, J. I., Carvalho, S. H. V., Soletti, L., Carvalh o, D. & Pucu, P. A. B. (2007),
‘Simulação numéri ca de transporte naval para dis tribuição de produtos
petroq uímicos’, Anais do X Simpósio de Pes quisa Op eracional e Logíst i ca
da Marinha. Rio de Janeiro: CD ROM, 2007.
Soletti, J. I., Carvalho, S. H. V., Soletti, L. & Cost a, C. A. P. (2004a), ‘Estudo
do dimensionamento de uma frota d e navios para o transport e de deri va-
dos de petróleo por cabotagem’, XV Congress o Brasileiro de Engenh aria
Química. Curitiba - PR. An ais do XV C OBEQ: CD-ROM, 2004.
REFERÊNC I AS BIBLIOGRÁFICAS 177
Soletti, J. I., Carvalh o, S. H. V., Soletti, L. & Costa, C. A. P. (2004b), ‘ Maritime
transportati on schedu l i ng of petrochemical products’, XXV Iberian Lati n
American Congress on Computation al Methods in Engineeri ng. R ecife -
PE. Anais do XXV CILAMCE: CD-RO M, 2004.
Soletti, L. (2006), Planejamento e distribuição de deriva dos de p etróleo
via transporte maríti mo, M aster dissert ation, Unive rsidade Fe deral de
Alagoas.
Terumichi Ono, R. (2001), Estu do de viabilida de do tran sporte marítimo de
contêiners po r cabotagem na costa brasileira, Master dissertation, Uni-
versidade de São Paulo.
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo