universidade tecnologica federal do paran´ a´ departamento academico de informˆ...
TRANSCRIPT
-
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁDEPARTAMENTO ACADÊMICO DE INFORMÁTICA
DÉBORA SANDI
SAGUI: APLICAÇÃO DESKTOP PARA A VISUALIZAÇÃO DESOLUÇÕES DE ESCALONAMENTO PARA A REDE DUTOVIÁRIA
OSBRA
TRABALHO DE CONCLUSÃO DE CURSO
CURITIBA
2019
-
DÉBORA SANDI
SAGUI: APLICAÇÃO DESKTOP PARA A VISUALIZAÇÃO DESOLUÇÕES DE ESCALONAMENTO PARA A REDE DUTOVIÁRIA
OSBRA
Trabalho de Conclusão de Curso apresentadoao Departamento Acadêmico de Informática daUniversidade Tecnológica Federal do Paraná comorequisito parcial para obtenção do tı́tulo deEngenheiro da Computação
Orientadora: Profa. Dra. Ana Cristina B. KochemVendramin
CURITIBA
2019
-
RESUMO
SANDI, Débora. SAGUI: APLICAÇÃO DESKTOP PARA A VISUALIZAÇÃO DESOLUÇÕES DE ESCALONAMENTO PARA A REDE DUTOVIÁRIA OSBRA. 51 f.Trabalho de Conclusão de Curso – Departamento Acadêmico de Informática, UniversidadeTecnológica Federal do Paraná. Curitiba, 2019.
Este trabalho trata do desenvolvimento de uma aplicação denominada SAGUI, a qual tem comoobjetivo permitir a visualização de soluções de escalonamento para a rede dutoviária OSBRAda Petrobras. A malha dutoviária da área de São Paulo e adjacências é composta pelas redesEscuros e Claros. Esta última é subdividida em três regiões, sendo uma delas a rede apresentadacomo foco deste trabalho. Atualmente, o projeto SConsuelo, com apoio financeiro da Petrobras,além de desenvolver ferramentas para o auxı́lio de tomada de decisão operacional, tambémpossui uma aplicação web Java para a visualização de somente uma solução de determinadocenário. A necessidade de desenvolvimento de uma nova ferramenta surgiu devido ao fimdo suporte ao plugin Java nos navegadores e à crescente necessidade de visualizar diferentessoluções em uma mesma aplicação. Sendo a utilização da linguagem Java um pré-requisitoda Petrobras, optou-se então pela produção de uma aplicação desktop. Por meio de reuniõescom a equipe do projeto, foram definidos o escopo e os pontos principais a serem abordadosna implementação, tendo como mecanismo de gestão o método Kanban. Como resultado,espera-se facilitar aos programadores e desenvolvedores do projeto SConsuelo a visualizaçãoe comparação de soluções de escalonamento, por meio de estatı́sticas, gráficos de Gantt, erepresentações gráficas do estoque e vazão presentes na aplicação desenvolvida.
Palavras-chave: OSBRA, Soluções de Escalonamento, Gráficos de Gantt, JavaFx
-
ABSTRACT
SANDI, Débora. SAGUI: DESKTOP APPLICATION FOR VISUALIZATION OFSCHEDULING SOLUTIONS FOR THE OSBRA PIPELINE NETWORK. 51 f. Trabalhode Conclusão de Curso – Departamento Acadêmico de Informática, Universidade TecnológicaFederal do Paraná. Curitiba, 2019.
This work presents the development of an application denominated SAGUI, which aims to allowthe visualization of scheduling solutions for Petrobras’ OSBRA pipeline network. The pipelinenetwork of São Paulo’s area and adjacencies is composed by the Escuros (Heavy products)and Claros (Light products) networks. The latter one is subdivided into three regions, one ofwhich is the network presented as the focus of this work. Currently, the SConsuelo project,with financial support from Petrobras, besides developing tools for assistance in operationaldecision-making, also has a Java web application for visualizing only one solution of a givenscenario. The need to develop a new tool is due to the end of the Java language plugin support inbrowsers and the growing need to visualize different solutions in the same application. Since theuse of Java language is a prerequisite of Petrobras, the development of a desktop application waschosen. Through meetings with the project team, the scope and main points to be approachedin the implementation were defined, with the Kanban method as the management mechanism.As a result, it is expected to make it easier for programmers and developers of the SConsueloproject to view and compare scheduling solutions through statistics, Gantt charts, and graphicalrepresentations of inventory and flow rate in the developed application.
Keywords: OSBRA Scheduling Solutions, Gantt Chart, JavaFx
-
LISTA DE FIGURAS
–FIGURA 1 Mapa de localização dos terminais e dutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17–FIGURA 2 Topologias de rede dutoviária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17–FIGURA 3 Malha dutoviária da rede OSBRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18–FIGURA 4 Operação de bombeio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19–FIGURA 5 Operação de passagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20–FIGURA 6 Operação de recebimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20–FIGURA 7 Operação de sangria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21–FIGURA 8 Diagrama de operações do escalonamento (scheduling) . . . . . . . . . . . . . . . . 24–FIGURA 9 Diagrama de casos de uso da aplicação SAGUI . . . . . . . . . . . . . . . . . . . . . . . . 31–FIGURA 10 Diagrama de classes das entidades cenário e solução . . . . . . . . . . . . . . . . . . . 32–FIGURA 11 Diagrama de classes da aplicação SAGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33–FIGURA 12 Tela de menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36–FIGURA 13 Tela carregar soluções do banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36–FIGURA 14 Tela de menu com soluções carregadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37–FIGURA 15 Tela de estatı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38–FIGURA 16 Tabela de estatı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38–FIGURA 17 Aba de opções da tela de estatı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39–FIGURA 18 Tela do gráfico de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40–FIGURA 19 Informações de batelada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40–FIGURA 20 Movimentação de uma batelada no tempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41–FIGURA 21 Aba de opções da tela do gráfico de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42–FIGURA 22 Exibição apenas dos bombeios das bateladas nos dutos . . . . . . . . . . . . . . . . . 43–FIGURA 23 Exibição dos bombeios e das sangrias das bateladas nos dutos . . . . . . . . . . . 43–FIGURA 24 Representação da vazão dos produtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44–FIGURA 25 Tela de estoque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45–FIGURA 26 Limites de estoque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46–FIGURA 27 Opções de exibição do gráfico de estoque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
-
LISTA DE TABELAS
–TABELA 1 Configuração da rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22–TABELA 2 Perfil de produção e demanda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22–TABELA 3 Estoque inicial dos órgãos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23–TABELA 4 Movimentos presentes nos dutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23–TABELA 5 Limites de inventário em uv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
-
LISTA DE SIGLAS
SAGUI SConsuelo Advanced Graphic User InterfaceOSBRA Oleoduto São Paulo-Brası́liaREPLAN Refinaria de Paulı́niaPetrobras Petróleo Brasileira S.A.JDK Java Development Kituv Unidades VolumétricasIDE Integrated Development EnvironmentXML Extensible Markup LanguageGNU GNU is Not UnixWiP Work in Progress
-
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.1 MOTIVAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.2 OBJETIVO GERAL E OBJETIVOS ESPECÍFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 ORGANIZAÇÃO DO DOCUMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1 MALHA DUTOVIÁRIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.1.1 Malha Dutoviária Brasileira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.2 REDE OSBRA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.1 Movimento ou Batelada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Produto Selo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.3 Operações Tı́picas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.3 ESCALONAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.1 Resolução de Problemas de Escalonamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1 LINGUAGEM DE PROGRAMAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.2 AMBIENTE DE DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3 CONTROLE DE VERSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4 MECANISMO DE GESTÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.5 ETAPAS DE DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.6 ESTRUTURA DE ENTIDADES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 A APLICAÇÃO SAGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.1 REQUISITOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2 DIAGRAMA DE CASOS DE USO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3 DIAGRAMA DE CLASSES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.4 IMPLEMENTAÇÃO E TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.5.1 Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.5.2 Tabela de Estatı́sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.5.3 Gráfico de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.5.4 Gráfico de Estoque e Tabela de Violações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 CONCLUSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.1 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
-
13
1 INTRODUÇÃO
O uso de sistemas dutoviários para o transporte de produtos derivados de petróleo
é uma opção logı́stica largamente empregada em diversos paı́ses devido à relativa eficiência
demonstrada por este modal de transporte (KENNEDY, 1993). Contudo, a expansão da
malha dutoviária demanda investimentos iniciais significativos e, deste modo, buscar a máxima
utilização da malha de dutos existente é prática operacional. No Brasil observa-se esta tendência
de busca pela eficiência no transporte dutoviário, com crescentes esforços de pesquisa que
busquem a eficiência logı́stica do modal em análise (HAMACHER; FILHO, 2015; ALVES
et al., 2010).
A malha dutoviária da área de São Paulo e adjacências é composta por duas redes
principais, Escuros e Claros, segmentadas pelo tipo de produtos nelas transportados. A rede
Escuros opera o transporte de derivados pesados, enquanto a rede Claros, subdividida nas sub-
redes Baixada, Planalto e OSBRA, opera principalmente com o transporte de derivados leves,
como gasolina, diesel, querosene de aviação e nafta. A rede OSBRA, foco do presente trabalho,
é composta por um poliduto que conecta uma refinaria, denominada REPLAN, à cinco órgãos,
sendo eles: Ribeirão Preto, Uberaba, Uberlândia, Goiânia e Brası́lia (MEIRA, 2015).
O projeto SConsuelo, com apoio financeiro da Petrobras, atua desenvolvendo
ferramentas para o auxı́lio de tomada de decisão operacional para essas redes, além de uma
ferramenta visual que possibilita a exibição dos resultados obtidos no processo de otimização
de somente uma solução. Tal ferramenta, que consiste em uma aplicação web Java, é composta
por dois gráficos de Gantt, além de gráficos para representação de estoque e vazão dos produtos.
Atualmente, as funcionalidades disponı́veis nesta aplicação não suprem todas as necessidades
dos especialistas da Petrobras na determinação da solução, além de não mostrarem os dados da
solução de uma forma compreensı́vel.
Desde o ano de 2015, as empresas que desenvolvem navegadores web vêm anunciando
a remoção do suporte de diversos plugins em seus produtos. Além disso, a empresa Oracle
anunciou em 2016 o fim do suporte ao plugin Java a partir da versão JDK 9 (ORACLE,
-
14
2016; TOPIC, 2016). Considerando os fatos apresentados, viu-se a necessidade de migração
da aplicação web Java para uma nova tecnologia. Para que fosse possı́vel atender aos padrões
Petrobras, a equipe do projeto SConsuelo optou pelo desenvolvimento de uma aplicação desktop
utilizando JavaFx (COMMUNITY, 2018).
Conforme já descrito, a aplicação utilizada atualmente permite visualizar somente uma
solução de um dado cenário, tendo como principal ferramenta dois gráficos de Gantt, sendo: a)
um para bombeio e b) outro para recebimento de produtos, dispostos em telas distintas. Para
a nova aplicação, por meio de reuniões com os membros do projeto Sconsuelo, constatou-se
a necessidade de duas novas funcionalidades: a unificação dos dois gráficos de Gantt, para
facilitar o entendimento do comportamento de movimentação dos produtos nos dutos da rede, e
a possibilidade de visualização de mais de uma solução. As demais ferramentas, como gráficos
de estoque, vazão, mensagens de erros e alertas sobre o cenário, passarão por modificações para
aprimoramento por meio de estudos sobre representação gráfica de dados .
Quanto às restrições referentes ao escopo do presente trabalho, foi decidido pela
implementação apenas para a sub-rede OSBRA, por se tratar de uma rede com respostas
consolidadas, possibilitando que as soluções gráficas a serem observadas não apresentem
desvios significativos em relação a condições operacionais, fato que dificultaria a análise
gráfica.
1.1 MOTIVAÇÃO
Atualmente, o projeto SConsuelo possui uma aplicação web Java sendo executada em
navegadores para a visualização de apenas uma solução de um cenário. Com o fim do suporte
ao plugins Java nos navegadores a partir do JDK 9 e com a utilização da linguagem Java sendo
imposta como pré-requisito pela Petrobras, houve a necessidade de migração da atual aplicação
web Java para uma aplicação desktop (ORACLE, 2016; TOPIC, 2016). A partir disso e devido
à crescente necessidade de visualização de diferentes soluções em uma mesma aplicação, foi
decidido pela inserção de novas funcionalidades à ferramenta.
1.2 OBJETIVO GERAL E OBJETIVOS ESPECÍFICOS
O objetivo geral deste trabalho é desenvolver uma aplicação desktop para a
visualização de soluções de escalonamento para a rede dutoviária OSBRA da Petrobras.
-
15
Os objetivos especı́ficos são:
• Realizar pesquisas com os usuários para a coleta de requisitos da aplicação.
• Realizar pesquisas com os usuários para determinar a melhor forma de representação dosdados.
• Desenvolver uma aplicação que seja capaz de representar graficamente os dados de umasolução de escalonamento para a rede dutoviária OSBRA.
• Realizar testes especı́ficos para cada etapa de desenvolvimento, bem como testes geraisao final da implementação.
1.3 ORGANIZAÇÃO DO DOCUMENTO
O presente trabalho está organizado em cinco capı́tulos. Este capı́tulo apresenta uma
contextualização do trabalho, bem como sua motivação e seus objetivos. O capı́tulo 2 apresenta
os conceitos abordados pela aplicação desenvolvida. O capı́tulo 3 apresenta a metodologia
empregada, bem como as tecnologias utilizadas e as etapadas de desenvolvimento. O capı́tulo
4 apresenta os requisitos da aplicação, os diagramas de casos de uso e de classes, uma breve
descrição da implementação e dos testes realizados, bem como os resultados obtidos. Por fim,
o capı́tulo 5 apresenta as conclusões obtidas e os trabalhos futuros.
-
16
2 FUNDAMENTAÇÃO TEÓRICA
Esse capı́tulo inicia com a apresentação de malha dutoviária e da malha dutoviária
brasileira. Em seguida, são apresentados caracterı́sticas e conceitos sobre a rede OSBRA da
Petrobras, além de alguns conceitos a respeito de escalonamento. Ao final são apresentados os
trabalhos futuros.
2.1 MALHA DUTOVIÁRIA
O sistema de transporte dutoviário é composto por dutos (tubos ou cilı́ndros), dispostos
de forma a unir dois pontos (por exemplo, terminal e refinaria). Na indústria, a utilização de tais
sistemas se deu inicialmente devido à exploração de petróleo, já que era necessário o transporte
deste dos poços de coleta até as centrais de produção. Atualmente, os produtos transportados
por meio de dutovias são: petróleo e derivados (oleodutos); gás natural (gasodutos); minério,
cimento e cereais (minerodutos ou polidutos); carvão e resı́duos sólidos (minerodutos); esgoto
(dutos de esgoto); e água potável (dutos de água) (PESSOA, 2016).
Das principais vantagens observadas deste tipo de transporte, tem-se: transporte de
grandes quantidades de produto, transporte ininterrupto, alta confiabilidade, baixo consumo de
energia, baixos custos operacionais. Entretanto, as desvantagens são: custo fixo alto, pouca
disponibilidade e grande impacto ambiental em casos de acidentes (ALVES et al., 2010).
2.1.1 MALHA DUTOVIÁRIA BRASILEIRA
A malha dutoviária brasileira apresentada na Figura 1 é constituı́da essencialmente
pela rede de Escuros e pela de Claros. Estas são compostas por dutos que interligam refinarias
e terminais com a finalidade de transportar um conjunto de produtos, como petróleo e seus
derivados. A rede de Escuros e Claros se difererem pelo tipo de produto transportado, derivados
pesados, e derivados leves de alto valor agregado, respectivamente (LAMBOIA et al., 2012).
-
17
Figura 1: Mapa de localização dos terminais e dutosFonte: (TRANSPETRO, 2017)
Exisem diferentes topologias de rede dutoviária, que variam de acordo com o
posicionamento dos dutos e com as caracterı́sticas geográficas da área, são elas compostas por:
uma origem e um destino (Figura 2a), uma origem e múltiplos destinos (Figura 2b), múltiplas
origens e múltiplos destinos (Figura 2c) e rede de dutos (Figura 2d) (MAGATÃO et al., 2012).
Figura 2: Topologias de rede dutoviáriaFonte: (MAGATÃO et al., 2012)
-
18
2.2 REDE OSBRA
A rede OSBRA apresentada na Figura 3, foco do presente trabalho, se enquadra na
topologia de uma origem e vários destinos, possuindo 964 km de extensão e 164.374 m3 de
volume. Esta extende-se desde a Refinaria de Paulı́nia (REPLAN) até os terminais terrestres
de Ribeirão Preto, Uberaba, Uberlândia, Senador Canedo (Goiânia) e Brası́lia. Os cinco
dutos que compõem essa malha são denominados: OSBRA, que interliga REPLAN-Ribeirão
Preto; OSBRA1, que interliga Ribeirão Preto-Uberaba; OSBRA2, que interliga Uberaba-
Uberlândia; OSBRA3, que interliga Uberlândia-Goiânia; e OSBRA4, que interliga Goiânia-
Brası́lia (RIBAS, 2012).
Figura 3: Malha dutoviária da rede OSBRAFonte: (TRANSPETRO, 2017)
Por estar conectada à rede Claros, o OSBRA transporta derivados de petróleo de baixa
densidade, sendo que, dos diversos produtos existentes, apenas gasolina, diesel S500 e diesel
S10 utilizam os dutos atualmente. O transporte nesta rede ocorre de forma unidirecional,
seguindo o fluxo de REPLAN para Brası́lia. Os produtos são deslocados dentro dos dutos
por meio de bombeios ocorridos na refinaria REPLAN, até que estes atinjam seu destino. Os
terminais terrestres não possuem capacidade de injetar outros produtos na rede, apenas recebem
produtos que já estão trafegando (MEIRA, 2015).
-
19
2.2.1 MOVIMENTO OU BATELADA
Um movimento ou batelada consiste em um volume de um produto que é deslocado na
rede entre dois pontos com uma determinada vazão. Sendo assim, uma batelada é caracterizada
por: produto, volume, origem, destino e vazão de bombeamento (MEIRA, 2015).
2.2.2 PRODUTO SELO
O produto selo consiste de um produto intermediário utilizado em quantidades
mı́nimas entre dois produtos incompatı́veis, quando estes precisam ser deslocados em sequência
dentro do duto (MEIRA, 2015).
2.2.3 OPERAÇÕES TÍPICAS
• Bombeio: ocorre quando um produto armazenado em um órgão é impulsionado paradentro de um duto com uma determinada vazão, ocasionando o deslocamento dos demais
produtos já inseridos na rede, como representado na Figura 4. Essa operação não permite
o bombeio de dois produtos em um mesmo duto simultaneamente. Na rede OSBRA o
bombeio ocorre apenas em REPLAN, de forma contı́nua, e em Gôiania (RIBAS, 2012).
Figura 4: Operação de bombeio
• Passagem: ocorre quando um produto atravessar um órgão, sem que haja armazenamentoou bombeio do mesmo, como representado na Figura 5. Essa operação pode ocorrer em
Ribeirão Preto, Uberada, Uberlândia e Goiânia (RIBAS, 2012; MEIRA, 2015).
-
20
Figura 5: Operação de passagem
• Recebimento: ocorre quando um produto em deslocamento no duto é entregue em umórgão, como representado na Figura 6. Como visto anteriormente, este deslocamento
ocorre quando há bombeio de outro produto para dentro de um duto. A operação de
recebimento pode ocorrer em todos os terminais terrestres que compõem a rede (MEIRA,
2015).
Figura 6: Operação de recebimento
• Sangria: ocorre quando em uma operação de recebimento, parte do produto deslocadoé armazenado no órgão e o restante atravessa o órgão com destino ao próximo (RIBAS,
2012), como representado na Figura 7.
-
21
Figura 7: Operação de sangria
2.3 ESCALONAMENTO
Com estudos iniciados na década de 50 por Johnson (1954) e Bellman (1954), a
teoria do escalonamento tem como objetivo alocar para tarefas concorrentes recursos limitados
(máquinas, robôs, operadores, entre outros), de forma a otimizar uma ou mais medidas de
desempenho (tempo ou custo). Devido ao considerável avanço no estudo dessa teoria, houve
o surgimento de uma grande diversidade de modelos e técnicas de otimização para diferentes
áreas de aplicação, tais como indústria, transporte e comunicação (LEVNER, 2007).
Segundo Righi e Graebin (2012), o escalonamento é uma importante ferramenta na
manufatura e engenharia, tendo grande impacto na produtividade de processos. Tal ferramenta
permite a modelagem de problemas reais por meio de métodos matemáticos, capaz de encontrar
uma solução ótima de forma a otimizar quaisquer que sejam os objetivos.
2.3.1 RESOLUÇÃO DE PROBLEMAS DE ESCALONAMENTO
De forma geral, segundo Reklaitis et al. (1992), problemas de escalonamento referem-
se à uma estratégia de operação, um conjunto de operações, um conjunto de recursos
(operadores, utilidades e materiais), um conjunto de especificações e relações de precedência
de produtos, especificações sobre disponibilidades de recursos e necessidades de produtos, e
um ou mais critérios que devem ser otimizados.
Há três elementos chave envolvidos no processo de escalonamento de recursos:
determinação dos recursos a serem utilizados (assignment), sequenciamento de atividades
(sequencing), e determinação do tempo de utilização de cada recurso (timing) (REKLAITIS
-
22
et al., 1992).
No contexto em análise, o problema de escalonamento tem como entrada um cenário,
composto pelos dados de configuração da rede (dutos e orgãos), perfis de produção e demanda,
estado inicial da rede (movimentos presentes nos dutos e estoques iniciais nos órgãos), limites
de inventários e os parâmetros de configuração sugeridos pelo operador (POLLI, 2014). A
seguir são apresentadas cinco tabelas contendo dados fictı́cios de um cenário.
A Tabela 1 apresenta a configuração da rede, indicando os órgãos e os dutos com os
quais estão conectados. Por exemplo, o duto D1 interliga o órgão OR1 e OR2, enquanto o duto
D2 interliga o órgão OR2 e OR3.
Tabela 1: Configuração da redeÓrgão DutoOR1 D1
OR2 D1
D2
OR3 D2
A Tabela 2 apresenta o perfil de produção e demanda da rede, que indica o volume
de ambos para cada produto em um determinado órgão. Por exemplo, para o produto P1,
no órgão OR1 o volume de produção é 20.000 uv, enquanto o volume de demanda é 12.000
uv. Já os volumes de produção e demanda para o mesmo produdo, dentro do órgão OR2, são
respectivamente 7.000 uv e 3.000 uv.
Tabela 2: Perfil de produção e demandaProduto Órgão Produção (uv) Demanda (uv)
P1 OR1 20.000 12.000
OR2 7.000 3.000
0R3 15.000 10.000
P2 OR1 20.000 17.000
OR2 7.000 5.000
OR3 15.000 9.000
P3 OR2 20.000 11.000
OR2 7.000 4.000
OR3 15.000 8.000
A Tabela 3 apresenta o estoque inicial dos órgãos, que indica o volume inicial de cada
produto dentro de determinado órgão. Por exemplo, o produto P1 possui um volume inicial de
-
23
6.000 uv dentro do órgão OR1.
Tabela 3: Estoque inicial dos órgãosProduto Órgão Estoque (uv)
P1 OR1 6.000
P2 OR2 2.000
P3 OR2 2.000
OR3 1.000
A Tabela 4 apresenta os movimentos presentes dentro do duto no inı́cio do cenário, que
indica o volume inicial de cada produto dentro de determinado duto. Por exemplo, inicialmente
na rede o produto P1 possui um volume de 10.000 uv dentro do duto D1.
Tabela 4: Movimentos presentes nos dutosProduto Duto Volume (uv)
P1 D1 10.000
P2 D2 7.000
P3 D2 3.000
A Tabela 5 apresenta os limites de inventário dos produtos, indicando as caracterı́sticas
de cada produto dentro de cada órgão: volume inicial, capacidade, vazio, volume máximo,
volume mı́nimo, meta-máximo e meta-mı́nimo. Por exemplo, o produto P1, dentro do órgão
OR1, possui volume inicial de 6.000 uv, capacidade de 12.000 uv, volume vazio de 0 uv, volume
máximo e mı́nimo de 9.600 uv e 2.400 uv, respectivamente, além de meta-máximo de 9.000 uv
e meta-mı́nimo de 3.000 uv.
Tabela 5: Limites de inventário em uvProduto Órgão Inicial Capac. Vazio Máximo Mı́nimo Meta-Max. Meta-Min.
P1 OR1 6.000 12.000 0 9.600 2.400 9.000 3.000
OR2 4.000 8.000 0 6.400 1.600 6.000 2.000
0R3 5.000 10.000 0 8.000 2.000 7.500 2.500
P2 OR1 8.000 17.000 0 13.600 3.400 12.750 4.250
OR2 7.000 9.000 0 7.200 1.800 6.750 2.250
OR3 3.000 9.000 0 7.200 1.800 6.750 2.250
P3 OR2 3.000 11.000 0 8.800 2.200 8.250 2.750
OR2 6.000 10.000 0 10.000 2.000 7.500 2.500
OR3 6.000 9.000 0 7.200 1.800 6.750 2.250
-
24
A partir dos dados de um cenário é possı́vel aplicar os três elementos-chave citados
anteriormente para resolver problemas como o de otimização do sequenciamento de bateladas
em uma rede de dutos real. O diagrama apresentado na Figura 8 descreve as operações
necessárias para a obtenção de uma solução.
Figura 8: Diagrama de operações do escalonamento (scheduling)Fonte: (POLLI, 2014)
Ainda de acordo com Polli (2014), a etapa de Alocação dos recursos é responsável
por estabelecer as bateladas que utilizarão os tanques e dutos; o Sequenciamento das atividades
determina a ordem de passagem das bateladas pelos dutos; e por fim a Determinação temporal
estipula os tempos de bombeio e recebimentos destas bateladas.
A execução destas três etapas resulta em uma solução de escalonamento, que é
composta por quatro caracterı́sticas: a) o produto a ser enviado; b) a quantidade; c) a vazão
e d) a sequência de envio (YAMAMOTO, 2009).
O próximo capı́tulo apresenta a metodologia utilizada para o desenvolvimento da
aplicação.
-
25
3 METODOLOGIA
Esta seção apresenta as tecnologias escolhidas para o desenvolvimento do projeto,
dentre elas a linguagem de programação, o ambiente de desenvolvimento, a ferramenta para
controle de versão e o mecanismo para gestão de projeto. Também é apresentado as etapas de
desenvolvimento seguidas e uma breve descrição da estrutura de entidades adotada.
3.1 LINGUAGEM DE PROGRAMAÇÃO
A escolha da linguagem de programação a ser utilizada no projeto SAGUI decorreu por
meio da ponderação de duas principais questões: a) o pré-requisito determinado pela Petrobras
e b) qual biblioteca gráfica gratuita melhor contemplaria as necessidades da aplicação. Como
mencionado anteriormente, a linguagem de programação utilizada deveria ser Java, para que
fosse compatı́vel com a infraestrutura já existente dentro da Petrobras. Tendo isso em vista,
optou-se por escolher uma dentre as duas bibliotecas gráficas gratuitas mais conhecidas do
mercado: JavaFx e Swing. Avaliou-se as principais diferenças entre elas: embora a biblioteca
Swing estivesse funcionando normalmente, ela já estava sendo descontinuada pela Oracle há
alguns anos; os eventos em JavaFx são mais consistentes e melhor construı́dos do que em
Swing; JavaFx possui uma quantidade de controles muito maior do que em Swing; e JavaFx
possui suporte intrı́nseco para animações, enquanto Swing permite a criação de animações
apenas por meio de timers e lógicas criadas pelos usuários. Considerando as diferenças citadas,
optou-se pela utilização da biblioteca JavaFx (EDUCBA, 2019).
Baseado nas APIs Java, o JavaFx foi lançado em 2011. Essa linguagem contém
estrutura e APIs que suportam animações, gráficos, elementos geométricos 2D e 3D, efeitos
especiais e diversas outras caracterı́sticas que provê interfaces gráficas mais ricas do que seus
antecessores Swing e Java2D. Além disso, fornece a renderização gráfica e animações operando
com alto desempenho em diferentes plataformas, devido aos recursos serem acelerados por
hardware (ANDERSON; ANDERSON, 2014).
-
26
3.2 AMBIENTE DE DESENVOLVIMENTO
O Eclipse foi criado inicialmente em 2001 pela IBM, e consiste em uma IDE baseada
em Java, de código livre extensı́vel, que permite, além de sua linguagem base, a utilização de
diversas outras como: C/C++ e COBOL (ANISZCZYK; GALLARDO, 2012).
O Scene Builder é uma ferramenta gráfica que permite a edição de arquivos FXML, os
quais são baseados em arquivos XML para a construção de objetos gráficos em Java, de forma
simples e rápida, possibilitando que os componentes sejam arrastados para uma área de trabalho
e tenham suas propriedades alteradas. O código fonte dos arquivos é gerado automaticamente
em background, sem a necessidade de interação com o mesmo (ORACLE, 2014).
As duas ferramentas de desenvolvimento citadas foram escolhidas por serem gratuitas,
pela familiariade com a mesma e por já fazerem parte da infraestrutura do projeto Sconsuelo,
facilitando assim a integração com o restante do projeto.
3.3 CONTROLE DE VERSÃO
O TortoiseSVN é um software para controle de versão, código fonte e revisão, baseado
no Apache Subversion. Por ser desenvolvido no sistema operacional GNU, o TortoiseSVN não
possui custo para sua utilização, além de ter código fonte aberto (TORTOISESVN, 2004). Essa
ferramenta de controle de versão também foi escolhida por ser gratuita, pela familiariade com
a mesma e por também fazer parte da infraestrutura do projeto Sconsuelo.
3.4 MECANISMO DE GESTÃO
Kanban é um método que define, gerencia e melhora os serviços a serem entregues.
Também conhecido como mecanismo de sinalização, o mesmo é usualmente representado em
um quadro com limites WiP que controlam o fluxo de trabalho inserido no sistema, sendo que
uma tarefa só é inserida no sistema, quando outra é finalizada (ANDERSON; CARMICHAEL,
2016). Esse mecanismo de gestão foi escolhido por melhor se adequar às preferências e modo
de desenvolvimento do autor do presente trabalho.
3.5 ETAPAS DE DESENVOLVIMENTO
O desenvolvimento da aplicação iniciou-se por meio de reuniões com a equipe do
projeto SConsuelo para a definição do escopo e dos pontos principais a serem abordados na
-
27
implementação. Posteriormente, foi feita a análise de requisitos funcionais, não funcionais e
de projeto, de acordo com as necessidades a serem supridas na aplicação já existente, além de
estabelecer o público alvo para o qual essa será direcionada. A escolha da linguagem para o
desenvolvimento da aplicação se deu com base nas restrições impostas pela Petrobras, além
da necessidade de uma aplicação com diversas ferramentas visuais. Por fim, antecedendo a
definição das etapas de implementação, foi feito um breve estudo para a escolha do mecanismo
de gestão do projeto.
As etapas executadas quanto à implementação do projeto foram cumpridas na seguinte
ordem: a) organização da estrutura de telas da interface gráfica, b) implementação da tabela
de estatı́sticas, c) implementação do gráfico de Gantt, d) implementação do gráfico de estoque,
e) implementação da tabela de violações, f) implementação do menu para carregamento de
soluções, g) implementação da internacionalização da interface gráfica e h) Ajustes da interface
gráfica.
3.6 ESTRUTURA DE ENTIDADES
Atualmente, a estrutura da Petrobras e do projeto SConsuelo prevê que os cenários e
soluções são salvos em arquivos XML, e depois são exportados e salvos em banco de dados,
pela facilidade na manipulação dos dados. Portanto, toda a estrutura do banco de dados e das
entidades que regem esses dados já estão implementadas e serão utilizadas como base para a
aplicação em desenvolvimento.
O próximo capı́tulo apresenta as etapas de projeto, desenvolvimento, testes e resultados
da aplicação SAGUI.
-
28
4 A APLICAÇÃO SAGUI
Este capı́tulo apresenta os requisitos levantados para a aplicação, os diagramas de casos
de uso e de classes, as etapas de implementação e os testes executados, e por fim os resultados
obtidos.
4.1 REQUISITOS
Os requisitos funcionais da aplicação estão listados a seguir.
• RF01: A aplicação deverá permitir ao usuário inserir soluções de um mesmo cenáriocomo entrada de dados.
• RF02: A aplicação deverá permitir remover as soluções selecionadas.
• RF03: A aplicação deverá permitir a alteração do idioma.
• RF04: A aplicação deverá exibir uma tabela de estatı́sticas com todas as soluçõesselecionadas.
• RF05: A aplicação deverá permitir a alteração do valor de horizonte nos cálculos da tabelade estatı́sticas.
• RF06: A aplicação deverá considerar ou não o estoque das refinarias nos cálculos databela de estatı́sticas.
• RF07: A aplicação deverá considerar ou não o estoque dos produtos selo nos cálculos databela de estatı́sticas.
• RF08: A aplicação deverá permitir a captura de tela da tabela de estatı́sticas.
• RF09: A aplicação deverá exibir para cada solução selecinada, um gráfico de Gantt.
• RF10: A aplicação deverá exibir a representação de bombeio de produtos em cada órgão.
-
29
• RF11: A aplicação deverá permitir a representação de recebimento de produtos em cadaórgão.
• RF12: A aplicação deverá permitir a representação de sangria de produtos em cada órgão.
• RF13: A aplicação deverá permitir a representação da vazão de produtos em cada órgão.
• RF14: A aplicação deverá permitir a captura de tela de cada gráfico de Gantt.
• RF15: A aplicação deverá exibir um gráfico de estoque.
• RF16: A aplicação deverá permitir a alteração da unidade do eixo x.
• RF17: A aplicação deverá permitir a alteração da unidade do eixo y.
• RF18: A aplicação deverá permitir a captura de tela do gráfico de estoque.
• RF19: A aplicação deverá permitir que o usuário possa ocultar, de modo independente,cada um dos conjuntos de dados do gráfico de estoque.
• RF20: A aplicação deverá exibir uma tabela de violações de estoque.
O único requisito não funcional da aplicação é:
• RNF01: A aplicação será desenvolvida somente para soluções da rede dutoviáriaOSBRA.
Os requisitos de projeto são:
• RP01: A aplicação será desenvolvida utilizando a linguagem JavaFX.
• RP02: A IDE para desenvolvimento será o Eclipse 2018-09 versão 4.9.0.
• RP03: A ferramenta para criação da interface gráfica será o Scene Builder versão 8.5.0.
• RP04: O mecanismo de gestão de projeto será o Kanban.
• RP05: A aplicação será desenvolvida utilizando o pacote de entidades já existente dentrodo projeto SConsuelo.
• RP06: A aplicação consultará os dados do banco de dados do projeto SConsuelo.
-
30
4.2 DIAGRAMA DE CASOS DE USO
A partir do levantamento de requisitos, foi possı́vel descrever os casos de uso da
aplicação. Tendo em vista que esta foi desenvolvida para a visualização de soluções, a ação
principal do usuário é a de carregar soluções. A partir desta é possı́vel efetuar sete ações
subsequentes: a) remover cenário, que remove juntamente todas as soluções selecionadas (caso
haja mais de uma), b) remover uma solução especı́fica, c) alterar idioma da aplicação, d)
visualizar tabela de estatı́sticas, e) visualizar gráfico de Gantt, f) visualizar gráfico de estoque e
g) visualizar tabela de violações.
Os casos de uso dos itens d), e) e f) permitem ações subsequentes. A partir da
visualização da tabela de estatı́sticas, são permitidas as seguintes ações: a) alterar valor do
horizonte do cenário, b) considerar estoque das refinarias, c) considerar estoque de produtos selo
e d) capturar imagem da tabela. A partir da visualização do gráfico de Gantt, as possı́veis ações
são: a) exibir recebimento, b) exibir sangria, c) representar vazão dos produtos e d) capturar
imagem do gráfico. E por fim, a partir da visualização do gráfico de estoque, as possı́veis ações
são: a) alterar representação do horizonte, b) alterar representação da vazão, c) ocultar dados
por meio da legenda e c) capturar imagem do gráfico.
A Figura 9 apresenta o diagrama de casos de uso contendo todas as ações mencionadas
anteriormente.
-
31
Figura 9: Diagrama de casos de uso da aplicação SAGUI
4.3 DIAGRAMA DE CLASSES
Para que fosse possı́vel iniciar a implementação do projeto, primeiramente foi
necessário entender a correlação entre as classes que compõem o conjunto de entidades
adotados. Para facilitar o entendimento de como é composto um cenário e uma solução e
de como estes se relacionam, a Figura 10 apresenta um diagrama de classes com um panorama
geral das principais classes e atributos que os compõem. Optou-se por não inserir o diagrama de
classes completo das entidades, por se tratar de um conjunto extremamente amplo e complexo.
-
32
Figura 10: Diagrama de classes das entidades cenário e solução
Por conseguinte, foi criado o diagrama de classes da aplicação, apresentado na Figura
11. Este apresenta o relacionamento entre as classes e alguns de seus principais atributos.
Optou-se por não inserir todos os atributos para que o diagrama não se tornasse muito extenso
e de difı́cil leitura.
-
33
Figura 11: Diagrama de classes da aplicação SAGUI
4.4 IMPLEMENTAÇÃO E TESTES
Os testes na aplicação foram feitos durante o desenvolvimento do projeto, seguindo
o mecanismo Kanban. Sendo assim, os testes foram feitos assim que uma etapa (tarefa) fosse
concluı́da.
A primeira etapa de desenvolvimento da aplicação SAGUI foi a estruturação de toda a
interface da aplicação, como disposição das telas e seus componentes. Para a criação da mesma
foi feito um questionamento para os usuários da aplicação a respeito do grau de importância em
relação aos dados apresentados pelas telas da aplicação. Com isso foi definida a sequência de
-
34
apresentação dos dados, sendo que a primeira tela apresenta a tabela de estatı́sticas, a segunda
tela mostra o gráfico de Gantt e a terceira tela apresenta o gráfico de estoque e tabela de
violações.
A segunda etapa realizada foi a implementação da tabela de estatı́sticas e todas as
suas funcionalidades. Foram efetuados testes de usabilidade com os usuários para analisar o
fluxo de movimentação dentro da tela e foram observados alguns ajustes necessários para que o
desempenho do usuário pudesse ser melhorado.
A terceira etapa realizada foi a implementação do gráfico de Gantt. A ideia inicial
era que houvesse em uma mesma tela os gráficos de todas as soluções selecionadas, para que
estes pudessem ser comparados entre si. Após alguns estudos feito com os usuários, chegou-se
a conclusão de que não seria viável a inserção de diversos gráficos de Gantt em uma mesma
tela, tendo em vista que estes apresentam um vasto número de informações que preciam ser
representadas de forma clara. Foi decidido então que o gráfido de cada uma das soluções seria
disposto em abas distintas da tela principal, priorizando a representação dos dados ao invés da
facilidade na comparação entre eles. Testes de usabilidade também foram aplicados nessa tela
para aprimoramento da mesma.
A quarta e quinta etapas realizadas foram a implementação do gráfico de estoque e da
tabela de violações. Embora estas tenham sido implementadas separadamente, os testes foram
efetuados em conjunto, já que ambas encontram-se na mesma tela e possuem informações que
se complementam. O gráfico de estoque apresenta as violações de cada produto dentro de cada
órgão, enquanto a tabela apresenta um panorama geral de todas as violações.
Por fim, após os testes isolado de cada etapa, os usuários puderam navegar pela
aplicação completa para apontar melhorias e os principais pontos fortes da aplicação. E os
resultados finais apontados pelos usuários foi que a aplicação supria todas as necessidades
apontadas na proposta.
4.5 RESULTADOS
Esta seção apresenta as telas que compõem a aplicação desenvolvida, bem como a
descrição de suas funcionalidades.
-
35
4.5.1 MENU
A tela de menu (Figura 12) é a primeira tela a ser exibida na inicialização da aplicação
e é composta por:
• Um botão de alternância para exibir ou ocultar o menu, posicionado na parte superioresquerda da tela;
• três botões de alternância para a escolha da área Claros, Escuros ou OSBRA;
• um botão para a criação de uma nova solução;
• um botão para abrir soluções a partir de um diretório;
• um botão para carregar soluções a partir do banco de dados;
• uma lista para a exibição das soluções selecionadas;
• um botão para a alteração do idioma da aplicação.
Os botões de Claros, Escuros, criar nova solução e abrir solução encontram-se
desabilitados, pois suas funcionalidades estão fora do escopo do projeto. Optou-se por inseri-los
na interface, pois esses serão implementados em trabalhos futuros.
-
36
Figura 12: Tela de menu
O botão Carregar exibe a tela apresentada na Figura 13. Nessa tela é possı́vel selecionar
a partir de uma lista de cenários quais soluções o usuário deseja visualizar.
Figura 13: Tela carregar soluções do banco de dados
-
37
Após a seleção das soluções, essas são exibidas na lista de soluções na Tela de Menu
(Figura 14), na qual é possı́vel remover uma solução selecionada (utilizando o ı́cone ao lado
do código da solução) ou remover todas as soluções (utilizando o ı́cone ao lado do código do
cenário). Por fim, para a visualização dos dados carregados das soluções, a tela de menu deve
ser ocultada utilizando o botão de Menu. A tela vista ao fundo do menu é a tabela de estatı́sticas,
que será apresentada na seção 4.2.2.
Figura 14: Tela de menu com soluções carregadas
4.5.2 TABELA DE ESTATÍSTICAS
O primeiro dado exibido ao usuário é a tabela de estatı́sticas apresentada na Figura 15.
Esta tem o objetivo de exibir diferentes dados de cada solução para fins de comparação, como
por exemplo a quantidade de violações de faixa fı́sica de estoque que cada solução gerou, ou
ainda o estoque médio de cada produto nos órgãos (Figura 16). A tabela também apresenta
o melhor ou pior valor de cada informação com um indicativo de cor, sendo utilizado verde e
vermelho respectivamente, além de azul para indicar valores iguais.
-
38
Figura 15: Tela de estatı́sticas
Figura 16: Tabela de estatı́sticas
-
39
Na aba de opções, apresentada na Figura 17, que pode ser acessada a partir do botão
posicionado na parte superior direita da tela, há um botão para captura da imagem da tabela e
três paramêtros que permitem a alteração dos resultados exibidos na tabela de estatı́sticas, são
eles: a) horizonte de tempo de programação da solução; b) considerar estoque das refinarias e
c) considerar estoque dos produtos selo.
Figura 17: Aba de opções da tela de estatı́sticas
4.5.3 GRÁFICO DE GANTT
A segunda aba da aplicação exibe um gráfico de Gantt para cada uma das soluções
selecionadas, sendo que este representa a movimentação das bateladas pelos dutos da rede
OSBRA, dentro do horizonte de programação (Figura 18). As cores das bateladas são
determinadas de acordo com o tipo de produto transportado. O gráfico é composto por dez
linhas horizontais separadas em duplas que representam o bombeio e o recebimento dos dutos
OSBRA, OSBRA2, OSBRA3, OSBRA4 e OSBRA5. O bombeio apresenta as bateladas que
estão sendo inseridas dentro do duto em determinado instante de tempo e pode ser visto nas
linhas mais espessas do Gantt. Já o recebimento apresenta as bateladas que foram entreges no
final do duto e pode ser visto nas linhas mais estreitas do gráfico.
-
40
Figura 18: Tela do gráfico de Gantt
As informações de cada batelada são exibidas por meio do elemento gráfico tooltip
dentro do Gantt (Figura 19).
Figura 19: Informações de batelada
-
41
O gráfico de Gantt apresenta uma funcionalidade para facilitar a identificação do
comportamento de bateladas no tempo, apresentada na Figura 20. Ao selecionar uma batelada
em um duto, a mesma é selecionada em todos os outros, tanto no bombeio quanto no
recebimento (ou vazão) e ainda apresenta uma marcação na linha de tempo com marcadores
verticais.
Figura 20: Movimentação de uma batelada no tempo
Na aba de opções, apresentada na Figura 21, há três ações que podem ser aplicadas à
exibição das bateladas no gráfico de Gantt, são elas: a) exibir recebimento; b) exibir sangria e
c) representar vazão.
-
42
Figura 21: Aba de opções da tela do gráfico de Gantt
Como por padrão a exibição de recebimento inicia ativada, há a possibilidade de
ocultação da mesma, apresentando apenas o bombeio das bateladas nos dutos, como pode ser
visto na Figura 22. Também é possı́vel substituir o recebimento pelas sangrias nos dutos (Figura
23) ou ainda a vazão dos produtos em ambas as situações (Figura 24). A representação da vazão
dentro do gráfico de Gantt é importante para identificar se a vazão dos produtos está constante
ou se está variando com frequência. Também é possı́vel identificar se o produto está saindo
com a mesma vazão que está entrando, além de diversas outras variáveis inseridas nos modelos
matemáticos que controlam o comportamento da vazão dos produtos.
-
43
Figura 22: Exibição apenas dos bombeios das bateladas nos dutos
Figura 23: Exibição dos bombeios e das sangrias das bateladas nos dutos
-
44
Figura 24: Representação da vazão dos produtos
4.5.4 GRÁFICO DE ESTOQUE E TABELA DE VIOLAÇÕES
Por fim, a última aba da aplicação exibe o gráfico de estoque juntamente com a tabela
de violações, como apresentado na Figura 25. O gráfico representa o estoque de órgão por
produto das soluções selecionadas, tendo a possibilidade de seleção de órgão e produto por
meio das listas na lateral direita da tela. A tabela de violações apresenta todas as violações de
todos os órgãos e produtos junto, com os dados em forma de cascata.
-
45
Figura 25: Tela de estoque
Além das linhas que representam o estoque de determinado produto dentro de um
órgão para cada uma das soluções selecionadas, o gráfico exibe seis dados representados por
linhas tracejadas que condizem com as capacidades dos órgãos de armazenar determinados
produtos. Esses dados consistem nos itens listados a seguir e estão representados na Figura 26
(MEIRA, 2015):
• Limites fı́sicos (capacidade e vazio): são os limites de armazenamento de um tanque,como capacidade máxima e estoque vazio e são caracterı́sticos do sistema, sendo
modificados apenas por meio de alterações nos tanques ou equipamentos.
• Limites operacionais (máximo e mı́nimo): são os limites de armazenamento que impedemque o estoque fique próximo de violar os limites fı́sicos.
• Limites meta (meta-máximo e meta-mı́nimo): são o limites aos quais pretende se manteros estoques.
-
46
Figura 26: Limites de estoqueFonte: (BOSCHETTO, 2011)
Na aba de opções, apresentada na Figura 27, há três ações possı́veis de serem
executadas quanto à representação das unidades de medida dos eixos do gráfico, e quanto à
ordenação da lista de produtos, sendo elas:
• Representar o horizonte de programação em horas ou por data;
• Representar o volume do estoque em unidades volumétricas ou em porcentagem;
• Ordenar a lista de produtos por nome ou por status (disponı́vel e indisponı́vel).
-
47
Figura 27: Opções de exibição do gráfico de estoque
-
48
5 CONCLUSÃO
O aumento da produção e demanda de petróleo e seus derivados no Brasil, tem
tornado a utilização do transporte por meio de malhas dutoviárias cada vez mais comum.
Devido à possibilidade de transporte ininterrupto de grandes volumes de produtos, os custos
deste tornam-se mais baixos quando comparado à outros meios de transporte. Entretanto, o
escalonamento de produtos dentro das malhas é um procedimento complexo, devido à grande
quantidade de variáveis e detalhes que necessitam ser levados em consideração, além das
inúmeras técnicas de otimização que podem ser empregadas.
No presente trabalho desenvolveu-se uma aplicação desktop em JavaFX, denominada
SAGUI, para a visualização de diferentes soluções de escalonamento dutoviário da rede
OSBRA. Atualmente, as soluções geradas são salvas em arquivos XML, o que torna difı́cil
o entendimento dos processos empregados no escalonamento. Portanto, essa aplicação busca
auxiliar na tomada de decisão dos programadores por meio de ferramentas gráficas, como tabela
de estatı́sticas, gráficos de Gantt, gráfico de estoque e tabela de violações.
A tabela de estatı́sticas possibilita a comparação entre os valores de violações,
estoques, tempos e outras caracterı́sticas, indicando também quais os melhores e piores valores
de cada solução.
O gráfico de Gantt é extremamente importante na tomada de decisão das soluções
geradas para os cenários dutoviários, pois facilita a compreensão da forma como as bateladas
se deslocam dentro dos dutos durante o horizonte de tempo. Esse gráfico também representa a
vazão dos produtos, simplificando a identificação da vazão de produtos mais constante dentre
as soluções.
O gráfico de estoque de órgão por produto e a tabela de violações facilitam a
identificação de quais produtos sofreram violações de estoque e em qual órgão isso ocorreu,
além de indicar de forma simples o ponto crı́tico do estouro, seu tempo de duração e o número
de ocorrências.
Em suma, a aplicação SAGUI mostrou resultados satisfatórios e os objetivos foram
-
49
alcançados. Acredita-se que além de ser utilizada para a visualização de soluções dutoviárias
da rede OSBRA, a aplicação também será utilizada para a coleta de imagens para a inserção em
artigos cientifı́cos.
5.1 TRABALHOS FUTUROS
Como trabalhos futuros pretende-se inserir a visualização das redes Claros e Escuros,
além de implementar a visualização e comparação de soluções de cenários distintos. Também
pretende-se inserir duas novas funcionalidades à tela de Menu: a criação de uma nova solução e
a seleção de arquivos compactados contendo os arquivos XML de um cenário e de uma solução.
-
50
REFERÊNCIAS
ALVES, A. A. R.; MAEDA, K.; SILVA, R. V. da; BRITO, M. D. de; MURCA, N. G.O desenvolvimento da infraestrutura dutoviária no Brasil para as exportações de álcoolcombustı́vel. XXX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO, SãoPaulo, p. 4, 2010.
ANDERSON, D. J.; CARMICHAEL, A. Essential Kanban Condensed. Seattle,Washington: Lean Kanban University Press, 2016. (Essential Kanban). Disponı́vel em:. Acesso em: 8 de abril de 2019.
ANDERSON, G.; ANDERSON, P. JavaFX: Rich Client Programming on the NetBeansPlatform. Crawfordsville, Indiana: Addison-Wesley, 2014.
ANISZCZYK, C.; GALLARDO, D. Getting started with the Eclipse Platform. 2012.Disponı́vel em: . Acesso em: 14 demarço de 2019.
BELLMAN, R. On the theory of dynamic programming. Bulletin of the AmericanMathematical Society, v. 60, n. 6, p. 503–515, 1954.
BOSCHETTO, S. N. Otimização das operações de transfêrencia e estocagem em rede dedutos. Tese (Doutorado em Engenharia Elétrica e Informática Industrial), UniversidadeTecnológica Federal do Paraná, Curitiba, p. 84, 2011.
COMMUNITY, O. OpenJFX: Main. 2018. Disponı́vel em:. Acesso em: 19 de março de 2019.
EDUCBA. JavaFX vs Swing. 2019. Disponı́vel em: . Acesso em: 10 de abril de 2019.
HAMACHER, S.; FILHO, V. J. M. F. Aplicações de Pesquisa Operacional na IndústriaInternacional de Petróleo. Rio de Janeiro: Elsevier Editora Ltda, 2015.
JOHNSON, S. M. Optimal two- and three-stage production schedules with setup timesincluded. Naval Research Logistics, 1954.
KENNEDY, J. L. Oil And Gas Pipeline Fundamentals. Oklahoma, USA: Penn WellPublishing Company, 1993.
LAMBOIA, F.; ARRUDA, L. V. R.; NEVES-JR, F. Otimização multiobjetivo do transportede produtos em redes dutoviárias através do algoritmo shuffled frog-leaping modificado.Simpósio Brasileiro de Pesquisa Operacional, Rio de Janeiro, p. 2662, 2012.
LEVNER, E. Multiprocessor Scheduling: Theory and Applications. [S.l.]: IntechOpen,2007.
-
51
MAGATÃO, S. N. B.; MAGATÃO, L.; POLLI, H. L.; NEVES, J. F.; ARRUDA, L. V. R.;RELVAS, S.; BARBOSA-POVOA, A. P. F. D. Planning and sequencing product distribution ina real-world pipeline network: An MILP decomposition approach. Industrial EngineeringChemistry Research, p. 4591–4592, 2012.
MEIRA, W. H. T. Uma abordagem de decomposição por heurı́sticas e programação matemáticapara o scheduling de operações de um poliduto com uma origem e múltiplos destinos: RedeOSBRA. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial),Universidade Tecnológica Federal do Paraná, Curitiba, p. 29–33, 2015.
ORACLE. JavaFX Scene Builder: Getting Started with JavaFX Scene Builder.2014. Disponı́vel em: . Acesso em: 14 de março de 2019.
ORACLE. JDK 9 e o Plugin Java. 2016. Disponı́vel em:. Acesso em: 8 de abrilde 2019.
PESSOA, T. A. Logı́stica brasileira: um estudo teórico do modal dutoviário. Monografia(Graduação em Administração), UNIVERSIDADE FEDERAL DA PARAÍBA, p. 27–28,2016.
POLLI, H. L. Otimização do transporte de derivados claros de petróleo em rede de dutosutilizando programação linear inteira mista. Dissertação (Mestrado em Engenharia Elétricae Informática Industrial), Universidade Tecnológica Federal do Paraná, Curitiba, p. 36–37,2014.
REKLAITIS, G. V.; SUNOL, A. K.; RIPPIN, D. W. T.; HORTAGSU Öner. Batch ProcessingSystems Engineering. Antalya, Turkey: Published in cooperation with NATO ScientificAffairs Division, 1992. (NATO ASI Series).
RIBAS, P. C. Otimização do scheduling de movimentações de um duto com uma origeme vários destinos. Tese (Doutorado em Engenharia Elétrica e Informática Industrial),Universidade Tecnológica Federal do Paraná, Curitiba, p. 33–35, 2012.
RIGHI, R. da R.; GRAEBIN, L. Production Scheduling. Universidade do Vale do Rio dosSinos: IntechOpen, 2012.
TOPIC, D. Moving to a Plugin-Free Web. 2016. Disponı́vel em:. Acessoem: 8 de abril de 2019.
TORTOISESVN. About TortoiseSVN. 2004. Disponı́vel em:. Acesso em: 14 de março de 2019.
TRANSPETRO. Dutos e Terminais. 2017. Disponı́vel em:.Acesso em: 18 de março de 2019.
YAMAMOTO, L. Um modelo baseado em metaheurı́stica para o sequenciamento de bateladasem redes dutoviárias. Tese (Doutorado em Engenharia Elétrica e Informática Industrial),Universidade Tecnológica Federal do Paraná, Curitiba, p. 31, 2009.