universidade tecnologica federal do paran´ a´ departamento academico de informˆ...

47
UNIVERSIDADE TECNOL ´ OGICA FEDERAL DO PARAN ´ A DEPARTAMENTO ACAD ˆ EMICO DE INFORM ´ ATICA D ´ EBORA SANDI SAGUI: APLICAC ¸ ˜ AO DESKTOP PARA A VISUALIZAC ¸ ˜ AO DE SOLUC ¸ ˜ OES DE ESCALONAMENTO PARA A REDE DUTOVI ´ ARIA OSBRA TRABALHO DE CONCLUS ˜ AO DE CURSO CURITIBA 2019

Upload: others

Post on 16-Feb-2021

0 views

Category:

Documents


0 download

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.