UM SIMULADOR MULTIAGENTE PARA AUXILIAR DECISÕES LOGÍSTICAS DE ALOCAÇÃO DE PETRÓLEO EM PORTOS

Tamanho: px
Começar a partir da página:

Download "UM SIMULADOR MULTIAGENTE PARA AUXILIAR DECISÕES LOGÍSTICAS DE ALOCAÇÃO DE PETRÓLEO EM PORTOS"

Transcrição

1 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CURITIBA GERÊNCIA DE PESQUISA E PÓS-GRADUAÇÃO PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E INFORMÁTICA INDUSTRIAL - CPGEI ROBISON CRIS BRITO UM SIMULADOR MULTIAGENTE PARA AUXILIAR DECISÕES LOGÍSTICAS DE ALOCAÇÃO DE PETRÓLEO EM PORTOS DISSERTAÇÃO DE MESTRADO CURITIBA DEZEMBRO DE 2008.

2 UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial DISSERTAÇÃO APRESENTADA À UTFPR por ROBISON CRIS BRITO UM SIMULADOR MULTIAGENTE PARA AUXILIAR DECISÕES LOGÍSTICAS DE ALOCAÇÃO DE PETRÓLEO EM PORTOS Banca Examinadora: Presidente e Orientador: PROF. DR. CESAR AUGUSTO TACLA UTFPR Examinadores: PROF. DR. FABRÍCIO ENEMBRECK PROF. DR. LEANDRO MAGATÃO PROFa. DRa. LUCIA VALERIA RAMOS DE ARRUDA PUC-PR UTFPR UTFPR Curitiba, dezembro de 2008.

3 ROBISON CRIS BRITO UM SIMULADOR MULTIAGENTE PARA AUXILIAR DECISÕES LOGÍSTICAS DE ALOCAÇÃO DE PETRÓLEO EM PORTOS Dissertação apresentada ao Programa de Pós- Graduação em Engenharia Elétrica e Informática Industrial da Universidade Tecnológica Federal do Paraná como requisito parcial para a obtenção do grau de Mestre em Ciências Área de Concentração: Informática Industrial Orientador: Prof. Dr. Cesar Augusto Tacla Curitiba 2008

4 Ficha catalográfica elaborada pela Biblioteca da UTFPR Campus Curitiba B862s Brito, Robison Cris Um simulador multiagente para auxiliar decisões logísticas de alocação de petróleo em portos / Robison Cris Brito. Curitiba : [s.n.], xi, 146 f. : il. ; 30 cm Orientador: Cesar Augusto Tacla Dissertação (Mestrado) Universidade Tecnológica Federal do Paraná. Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial. Área de Concentração : Informática Industrial, Curitiba, 2008 Bibliografia: Sistemas multi-agentes. 2. Métodos de simulação. 3. Otimização matemática. 4. Informática industrial. I. Tacla, Cesar Augusto, orient. II. Universidade Tecnológica Federal do Paraná. Programa de Pós- Graduação em Engenharia Elétrica e Informática Industrial. Área de Concentração Informática Industrial. III. Título. CDD 621.3

5 SUMÁRIO LISTA DE FIGURAS... vi LISTA DE TABELAS... viii LISTA DE ABREVIATURAS E SIGLAS... xi RESUMO... x ABSTRACT... xi 1 INTRODUÇÃO MOTIVAÇÕES OBJETIVOS ESTRUTURA DO TRABALHO REVISÃO DA LITERATURA MODELO DO PORTO Características do Problema PROGRAMAÇÃO MATEMÁTICA MODELOS DO PORTO EM PLIM SMA APLICADOS AO GERENCIAMENTO DE CADEIAS DE SUPRIMENTO TÉCNICAS DE NEGOCIAÇÃO EM SMA Teoria dos Jogos Protocolo de Concessão Monotônico Negociação com Busca Distribuída Alocação de Tarefas Propostas Complexas Negociação baseada em Argumentação Leilão MODELOS ORGANIZACIONAIS DE AGENTES MOISE METODOLOGIA PARA O DESENVOLVIMENTO DO SIMULADOR MULTIAGENTE DEFINIÇÃO DOS AGENTES DO SISTEMA Cadeia de Suprimentos no Modelo do Porto Agentes Auto-Interessados x Agentes Benevolentes iii

6 3.2 FIPA CONTRACT-NET APLICADO AO MODELO DO PORTO Utilização do FIPA Contract-Net com Agentes Auto-Interessados Utilização do FIPA Contract-Net com Agentes Benevolentes DEFINIÇÃO DA POLÍTICA DE ALOCAÇÃO DE RECURSOS Função Objetivo do Sistema Restrições do Sistema Representação Temporal no SMA Política para Escolha dos Recursos ORGANIZAÇÃO DOS AGENTES Especificação Estrutural Especificação Funcional Especificação Deôntica ARQUITETURA DO SIMULADOR MULTIAGENTE INTERFACE DO SIMULADOR MULTIAGENTE CONFIGURAÇÃO DOS CENÁRIOS DE SIMULAÇÃO AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE VALIDAÇÃO DO SIMULADOR MATERIAIS RESULTADOS E ANÁLISE COMPARAÇÕES COM O SMA AUTO-INTERESSADO COMPARAÇÕES COM O SMA BENEVOLENTE COMPARAÇÃO ENTRE SMA BENEVOLENTE E OUTRAS ABORDAGENS Cenário com Três Navios Cenário com Quatro Navios Cenário com Sete Navios AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE SMA X PLIM CONCLUSÕES E DISCUSSÃO CONCLUSÕES TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE 1 CARTAS DE GANTT DOS CENÁRIOS UTILIZADOS iv

7 APÊNDICE 2 PASSO A PASSO PARA ALOCAÇÃO DOS RECURSOS COM UM SMA AUTO-INTERESSADO NO CENÁRIO COM TRÊS NAVIOS APÊNDICE 3 PASSO A PASSO PARA ALOCAÇÃO DOS RECURSOS COM UM SMA BENEVOLENTE NO CENÁRIO COM TRÊS NAVIOS v

8 LISTA DE FIGURAS Figura 1. Subdivisão do problema em modelo do porto e subestação (MÁS, 2001)... 8 Figura 2. Alguns dos tratados no modelo do porto... 9 Figura 3. Alocação de recursos na representação discreta do tempo e na representação contínua do tempo Figura 4. Protocolo de Interação da FIPA Contract-Net (FIPA, 2008) Figura 5. Tipos de Organizações (HÜBNER, 2003) Figura 6. Estudos Realizados para a Modelagem do Sistema de Simulação Multiagente Figura 7. Correspondência do Modelo do Porto com uma cadeia de suprimentos tradicional Figura 8. Sequência de leilões no modelo do Porto Figura 9. Diagrama de sequência dos leilões no modelo do porto Figura 10. Diagrama de sequência do primeiro momento do leilão de um novo navio com SMA auto-interessado Figura 11. Diagrama de sequência do segundo momento do leilão de um novo navio com SMA auto-interessado Figura 12. Diagrama de sequência do primeiro momento do leilão de um novo navio com SMA benevolente Figura 13. Árvore com as alternativas para alocação de um navio no porto Figura 14. Mapa de Gantt apresentando um exemplo de cenário onde o sistema multiagente não encontra a solução ótima Figura 15. Especificação Estrutural para o Sistema de Simulação Multiagente Figura 16. Especificação Funcional para o Sistema de Simulação Multiagente Figura 17. Modelo de camadas utilizado pela arquitetura MOISE+ (HÜBNER, 2003) Figura 18. Interface visual para inclusão online de navios Figura 19. Interface visual para criação de cenários para simulação Figura 20. Tela com a carta de Gantt, gerada após a simulação de um cenário Figura 21. Comparação das funções objetivo com SMA auto-interessado Figura 22. Comparação das funções objetivo com SMA benevolente vi

9 Figura 23. Gráfico comparativo das funções objetivo alcançadas para o cenário com três navios em diferentes abordagens Figura 24. Gráfico comparativo das funções objetivo alcançadas para o cenário com quatro navios em diferentes abordagens Figura 25. Gráfico comparativo das funções objetivo alcançadas para o cenário com sete navios em diferentes abordagens Figura 26. Gráfico da troca de mensagens nos cinco cenários utilizados Figura 27. Tempo necessário para o Sistema Multiagente Benevolente encontrar as soluções em diferentes cenários Figura 28. Tempo necessário para o PLIM encontrar os resultados em diferentes cenários Figura 29. Superioridade porcentual das soluções encontradas pelo SMA benevolente comparadas às soluções obtidas pela PLIM em um mesmo período de processamento Figura 30. Diferença (%) entre a melhor solução factível encontrada pela PLIM e a solução multiagente benevolente vii

10 LISTA DE TABELAS Tabela 1. Relação entre os tipos de óleo cru (oc-i) e as classes (cl-j)... 9 Tabela 2. Tabela de nobreza das classes de óleo cru (MÁS, 2001) Tabela 3. Informações sobre alguns sistemas multiagentes para gerenciamento de cadeias de suprimentos Tabela 4. Tabela com as funções de utilidades dos agentes x e y Tabela 5. Dados de entrada para os cenários de teste Tabela 6. Cenários utilizados nos testes Tabela 7. Soluções para os cenários com SMA Auto-Interessado Tabela 8. Soluções para os cenários com SMA Benevolente Tabela 9. Comparação dos resultados obtidos para o cenário com três navios diferentes abordagens Tabela 10. Comparação dos resultados obtidos para o cenário com quatro navios diferentes abordagens Tabela 11. Comparação dos resultados obtidos para o cenário com sete navios diferentes abordagens viii

11 LISTA DE ABREVIATURAS E SIGLAS ACL - Agent Communication Language CFI - Call For Information CFP - Call For Proposal ED - Especificação Deôntica EE - Especificação Estrutural EF - Especificação Funcional EO - Especificação Organizacional KIF - Knowledge Interchange Format KQML - Knowledge Query and ManipulationLanguage MASCOT - MultiAgent Supply Chain coordination Tool MOISE - Model of Organization for multi-agent SystEm PLIM - Programação Linear Inteira Mista SACI - Simple Agent Communication Infrastructure SI - Send Information SMA - Sistema Multiagente TAPAS - Transport and Production Agent-based Simulator U.M. - Unidade de Medida ix

12 RESUMO As cadeias de suprimentos apresentam problemas interessantes para diversas comunidades científicas, devido à complexidade advinda da distribuição dos elementos, à ausência de informações globais em todos os elementos da cadeia e ao caráter dinâmico inerente às redes. A necessidade de planejar e otimizar processos neste contexto produziu modelos matemáticos e de simulação de granularidades variadas. Assim, o objetivo da dissertação é propor e avaliar o desempenho de um sistema multiagente de simulação para auxiliar a tomada de decisão na alocação de petróleo em complexos portuários. Nesta cadeia, navios, píeres, tanques, oleodutos e refinarias são modelados como agentes e negociam como alocar carregamentos de óleo cru existentes nos navios. Os resultados obtidos são comparados com os resultados gerados por modelos matemáticos de otimização, mais precisamente, programação linear inteira mista, capazes de encontrar soluções próximas da solução ótima para um dado cenário, e também comparados com a solução ótima do cenário obtida através da execução exaustiva de um dos modelos matemáticos. Nas comparações, o sistema multiagente proposto encontrou resultados próximos (inferior à 2% para menor) da melhor solução para os cenários estudados em um tempo de processamento muito menor. Em cenários com vários navios e tanques, o sistema multiagente encontrou soluções em segundos, enquanto o modelo de otimização matemática apresentou problemas com o uso de memória antes de encontrar a solução ótima. Isto evidencia a utilidade do modelo de simulação no auxílio à tomada de decisões logísticas de descarregamento, armazenamento e transporte de petróleo em portos, pois possibilita a reprogramação online frente a problemas como a impossibilidade de atracagem ou atrasos na chegada de navios. O simulador demonstra-se estável frente a inclusão de novos elementos no modelo de simulação, aumentando de forma linear o número de mensagens trocadas entre os agentes. x

13 ABSTRACT Title: A Multiagent Simulator to Assist Logistic Decision of Oil Allocation in Ports Supply chains present interesting problems to many scientific communities due to the complexity originated from the distribution of their components, absence of global information in all elements, and the intrinsic dynamic feature of supply chains. In this context, mathematic and simulation models with different granutirity have been built in order to plan and improve the supply chains processes. Therefore, the aim of this work is propose and evaluate the performance of a multi-agent system for simulationg the oil allocation in ports. In this supply chain, ships, piers, tanks, pipelines and refineries are modeled as agents, and they negotiate by auctions to allocate oil cargo. The simulation results are compared with results generated by optimization mathematical models, which are able to find solutions close to the optimal solution for a given scenario, and also compared with the optimal solution of the scenario. Such solution is by means of an exhaustive execution of mathematical models. In the comparisons, the proposed multi-agent system found similar results (less than 2% of difference) to the best solution in a shorter processing time. In scenarios with several ships and tanks, the multi-agent system found solutions in seconds, while the mathematical optimization model presented an out of memory error before finding the optimal solution. This demonstrates the usefulness of the simulator in supporting decision concerning the logistic for unloading, storaging and transporting oil in ports. The simulator allows the online reprogramming when the user is faced to problems such as inability to dock or operational delays in the arrival of ships. In addition, historical information generated by the Multi-agent system can feed other systems of decision-making, allowing a better choice of coming ships/inventories that come to port. The simulator shows stable with the inclusion of new elements in the simulation model, increasing linearly the number of messages exchanged between the players. Key words: Supply Chain; Multiagent System; Simulation; Mathematic Optimization xi

14 1 CAPÍTULO 1 INTRODUÇÃO No mercado globalizado existente, para que uma empresa se torne competitiva, ela deve trabalhar integrando todos os seus setores, com o objetivo de trocar informações, produtos e recursos (VERDICCHIO e COLOMBETTI, 2002), formando uma cadeia de suprimentos que deve ser gerenciada. De acordo com GLOBAL SUPPLY CHAIN FORUM (2008), o termo Supply Chain Management (Gerenciamento de Cadeia de Suprimentos) é definido como um processo que integra informações chave dos fornecedores de produtos, de serviços e informações do usuário final, agregando valor aos consumidores e parceiros. Já SIMCHI-LEVI, KAMINSKY e SIMCHI-LEVI (2000) definem Gerenciamento de Cadeia de Suprimentos como um conjunto de abordagens para integrar eficientemente fornecedores, fábricas, depósitos e armazéns, sendo que as mercadorias são distribuídas na quantidade certa, no local certo e na hora certa, minimizando os custos globais do sistema e satisfazendo os requisitos impostos. Nas cadeias de suprimento, uma das dificuldades encontradas é o gerenciamento das operações de transporte, consideradas comumente um dos maiores gargalos das cadeias produtivas. Enquanto atrasos acarretam perda de tempo e escassez de recursos, entregas antecipadas podem gerar excesso de estoque. Cresce então a necessidade de gerar cronogramas de transporte eficientes dentro de um plano operacional da empresa. Há várias abordagens para tratar deste problema, que vão de simulações, sistemas de gerenciamento com menor ou maior grau de intervenção humana à utilização de sistemas com programação matemática, que permitem encontrar a melhor solução (solução ótima), mas que para isso pode consumir um grande tempo computacional e requisitar sólidos conhecimentos matemáticos para modelagem. Pesquisas recentes (KWON, PAUL IM e LEE, 2007; WANG, LIU, WANG et al. 2008; ZARANDI, POURAKBAR e TURKSEN, 2008) têm utilizado o paradigma de sistemas multiagentes (SMA) para desenvolver sistemas computacionais de gerenciamento de cadeias de suprimentos. Isso porque existe uma correspondência natural entre os participantes de uma cadeia de suprimentos (fábricas, consumidores, fornecedores, etc.) e agentes facilitando a construção do modelo conceitual do sistema. Além disso, cadeias de suprimentos tendem a

15 2 ser descentralizadas, com seus participantes atuando de maneira independente, agindo de acordo com seus próprios interesses e políticas, mas compartilhando informações e recursos para alcançar os interesses globais do grupo onde estão inseridas. Em outras abordagens, como as baseadas unicamente em simulação ou otimização, a tendência é a centralização das informações e do processamento da cadeia de suprimentos, abstraindo o mundo real por meio de um modelo composto por um elemento central responsável por todas as decisões tomadas, necessitando possuir informações específicas de todas as áreas (ex. venda, compra, estoque). Em contrapartida, nas cadeias de suprimentos reais, as informações são descentralizadas e cada elemento possui conhecimento específico que lhe interessa e, por conseqüência, tem uma visão parcial e conhecimento incompleto da cadeia como um todo. Uma característica da abordagem baseada em SMA é o fato de poder trabalhar em conjunto com outras abordagens. É possível desenvolver agentes que implementem algoritmos de otimização, processando informações específicas e enviando os resultados aos demais agentes interessados. Também é possível desenvolver um modelo de simulação flexível, com agentes que interagem com o ambiente e capturam as informações que irão realimentar o sistema. Dessa maneira, um SMA pode aproveitar as vantagens existentes em outras abordagens (KWON, PAUL IM e LEE, 2007). O presente trabalho propõe um sistema de simulação multiagente para auxiliar na alocação de petróleo em complexos portuários, onde os navios petroleiros devem descarregar diversos tipos de óleos crus em tanques existentes no porto de maneira lucrativa. Os tipos de óleos crus armazenados no porto devem ser enviados às refinarias através de oleodutos, respeitando algumas restrições, como manter as refinarias com estoque entre a capacidade mínima e máxima e somente transportá-los após um período de decantação nos tanques. No sistema proposto, os agentes são autônomos e trabalham de forma coordenada para atingirem o objetivo global alocar os inventários dos navios de maneira lucrativa. Os resultados produzidos pelo SMA são comparados com os modelos de otimização em Programação Linear Inteira Mista (PLIM) realizados por MÁS (2001), BOSCHETTO (2006) e VEIGA (2006).

16 3 1.1 MOTIVAÇÕES Encontrar uma alternativa baseada em simulação para alocação de recursos em um complexo portuário, uma vez que os trabalhos que servem de referência a esta dissertação, como MÁS (2001), BOSCHETTO (2006), VEIGA (2006), SHAH (1996) e MAGATÃO et al. (2004), utilizam abordagens baseadas em PLIM, que permitem encontrar resultados próximos dos ótimos sob certas condições. Em contrapartida para encontrar a solução ótima em modelos que possuem muitas variáveis estas abordagens podem esbarrar nos limites de hardware, não encontrando uma solução em tempo finito. Num terminal portuário, decisões devem ser tomadas diariamente em algumas horas ou até mesmo em minutos (BOSCHETTO et al. 2007), daí a importância de uma ferramenta que auxilie a tomada de decisão em tempo hábil. Outro ponto importante para o trabalho é proximidade do modelo de simulação multiagente e do sistema real quanto à descentralização do processamento. Em algumas abordagens, como em MÁS (2001) e BOSCHETTO (2006), o processamento é centralizado, e em VEIGA (2006), onde o modelo é hierárquico, o processo é centralizado no seu nível mais alto. Além disso, também existe a necessidade de distribuir as informações entre os agentes, já que em sistemas reais é difícil encontrar entidades que possuam todas as informações da cadeia de suprimento. Apesar da PLIM possuir algumas limitações, como a centralização do processo de otimização e necessitar de muito tempo computacional em certas situações para encontrar resultados, é uma abordagem muito utilizada em problemas de otimização e scheduling (agendamentos). A PLIM possui uma organização baseada em restrições e funções objetivo, o que garante confiabilidade nos resultados obtidos (os resultados respeitam as restrições e maximizam/minimizam funções objetivo), por este motivo, o modelo de PLIM é utilizado como referência para o desenvolvimento de um sistema de simulação multiagente para alocação de recursos em terminais portuários. Outra motivação está no desenvolvimento de um sistema que trabalhe tanto com um conjunto pré-definido de informações, por exemplo, uma lista dos navios que chegarão nos próximos dias (processamento batch), como também possa trabalhar com informações online, onde à medida que se recebe a informação da chegada de um novo navio, o sistema se adapta ao novo cenário (processamento online).

17 4 1.2 OBJETIVOS O objetivo geral do presente trabalho é desenvolver um SMA para simular operações de alocação de petróleo em complexos portuários. São objetivos específicos: Desenvolver um simulador multiagente para gerenciar e alocar os carregamentos de petróleo (óleos crus) que chegam dos navios petroleiros. O sistema suportará tanto processamento batch, onde a agenda de atracamento de vários navios é conhecida, como também processamento online, onde à medida que se recebe a informação da chegada de novos navios ou da impossibilidade da chegada, uma nova agenda de alocação de recursos é gerada dinamicamente; Comparar os resultados gerados por duas abordagens de modelagem, i) um SMA formado exclusivamente por agentes auto-interessados, onde há pouca interação e compartilhamento de informações entre os agentes com ii) um SMA formado por agentes benevolentes que compartilham suas informações a fim de encontrar soluções que maximizam o lucro do sistema, sem atrasar o envio do petróleo para a refinaria; Comparar os resultados gerados pela melhor das abordagens de modelagem (autointeressados ou benevolentes) com as soluções ótimas globais encontradas por um modelo de PLIM que será executado exaustivamente desenvolvido por MÁS (2001), e adicionalmente, será realizada comparação com os estudos realizados por BOSCHETTO (2006) e VEIGA (2006), que também utilizam PLIM, porém buscam resultados factíveis em curto intervalo de tempo; Avaliar o SMA proposto, verificando o desempenho (número de mensagens trocadas entre os agentes) do sistema em relação ao número de navios utilizados na simulação. 1.3 ESTRUTURA DO TRABALHO O presente trabalho está estruturado da seguinte maneira: o capítulo 2 apresenta a revisão da literatura, apresentando os fundamentos para o desenvolvimento do simulador. O capítulo 3 apresenta o sistema de simulação multiagente proposto para o gerenciamento de cadeias de suprimentos de petróleo em complexos portuários, bem como sua estrutura interna e metodologia de desenvolvimento. O capítulo 4 mostra os resultados obtidos, os quais são comparados com os resultados obtidos pelos modelos de PLIM. O capítulo 5 finaliza o

18 5 trabalho com as conclusões e sugestões para trabalhos futuros. Adicionalmente, o Apêndice 1 apresenta as cartas de Gantt geradas pelo Simulador Multiagente, o Apêndice 2 e 3 apresentam, respectivamente, um passo a passo que explica a alocação de navios no porto para o SMA auto-interessado e para o benevolente.

19 6

20 7 CAPÍTULO 2 REVISÃO DA LITERATURA A revisão da literatura foi dividida em: apresentação do problema do porto, problema este utilizado nos estudos de caso; visão geral da programação matemática, sendo esta abordagem comumente utilizada para otimizações de sistemas; apresentação dos trabalhos de autores que abordaram o problema do porto utilizando PLIM, bem como suas metodologias; apresentação de SMA aplicados ao gerenciamento de cadeias de suprimentos; métodos para negociação entre agentes autônomos; e para concluir, modelos organizacionais utilizados em SMA, uma vez que o sistema será aberto, o que possibilita a inclusão de novos agentes ao longo da simulação. 2.1 MODELO DO PORTO O modelo do porto é apresentado inicialmente na dissertação de MÁS (2001), onde o autor propõe uma solução para otimizar a alocação de recursos em portos de petróleo. A cadeia de suprimento de petróleo em complexos portuários possui uma estrutura complexa, formada por píeres, tanques de armazenamento e redes de tubulações que, por sua vez, são interligados às refinarias. As refinarias possuem uma infra-estrutura própria de armazenamento, com unidades de destilação de petróleo que consomem óleo cru a uma vazão conhecida através de uma rede de oleoduto. A rede de oleoduto também possui armazenagem intermediária em subestações que realizam decantação e alocação de petróleo através das características qualitativas. Devido à complexidade desse sistema, MÁS (2001) optou por subdividir o problema em duas partes distintas, a primeira envolvendo o porto e a segunda envolvendo as subestações. Na Figura 1, a elipse denominada Porto representa o Modelo do Porto que contempla a alocação de navios nos píeres, o armazenamento de óleo cru nos tanques do porto, a decantação desse óleo e o envio do mesmo através dos oleodutos. Já as elipses Sub A e Sub B referem-se ao Modelo de Subestação e contemplam a transferência entre o oleoduto e

21 8 os tanques da subestação, e dos tanques para outros oleodutos, que terão como destino um terminal ou refinaria. Figura 1: Subdivisão do problema em modelo do porto e subestação (MÁS, 2001) O sistema de simulação multiagente apresentado nesse trabalho é aplicado ao modelo do porto, sendo este utilizado também por outros autores (BOSCHETTO, 2006; VEIGA, 2006) o que possibilita ser utilizado como parâmetro para a comparação de resultados. Ressalta-se que o SMA pode ser adaptado para utilização no modelo de subestação Características do Problema A PETROBRÁS trabalha com o corte de vários tipos diferentes de óleo cru. Uma limitação do sistema é o número reduzido de tanques para o armazenamento individual de cada um dos tipos de óleo. Para contornar essa limitação, a empresa segrega os tipos de óleo em classes, onde cada classe é composta por um ou mais tipos. Assim, um tipo de óleo cru pode ser armazenado no tanque com outros tipos que pertençam à mesma classe, sem riscos de prejuízo às propriedades da classe como um todo. Neste trabalho, o prefixo oc é utilizado para designar os tipos de óleo cru e o prefixo cl, as classes de óleo. A Tabela 1 apresenta uma amostra da relação entre os tipos de óleo crus e as classes. Como pode ser observado na tabela, enquanto algumas classes, como a cl-2, são formadas por um único tipo de óleo (oc-4), outras classes são formadas por vários tipos, como a cl-4, que é formada por todos os tipos apresentados na tabela.

22 9 Tabela 1: Relação entre os tipos de óleo cru (oc-i) e as classes (cl-j) cl-1 cl-2 cl-3 cl-4 cl-5 cl-6 cl-7 oc-1 X X X X X oc-2 X X X X X oc-3 X X X X X oc-4 X X X X X oc-5 X X X X X oc-6 X X oc-7 X X oc-8 X X oc-9 X X oc-10 X X X X X Além dos tipos e classes de óleo cru, o sistema possui outros cinco elementos (navio, píer, tanque, oleoduto e refinaria) apresentados na Figura 2 e detalhados na seqüência. Figura 2: Alguns dos elementos tratados no modelo do porto As cargas de óleo cru chegam ao porto por meio de navios petroleiros que podem transportar um ou mais tipos de óleo. Os navios se diferenciam pelo tamanho e pelo volume de óleo transportado e, por esse motivo, navios maiores só podem atracar nos píeres que os suportam. Quando um navio se aproxima do porto, atribuem-se a ele um tempo de chegada e um tempo limite para saída. Caso ocorra algum atraso operacional e o navio não descarregue até o limite estipulado de sua saída, é cobrada uma taxa de sobre-estadia para cada hora adicional que o navio permanecer no píer. Esse custo de sobre-estadia é definido pelo próprio navio. Quanto maior o navio, maior costuma ser o custo de sobre-estadia. Os navios possuem um tempo estimado para atracar e desatracar do píer. Após atracar, o inventário de óleo cru existente no navio é transferido para os tanques que armazenem uma classe compatível com os tipos de óleo transportados pelo navio. Quando o volume de óleo

23 10 em um navio é muito grande, é comum o envio do óleo para tanques distintos, porém, de maneira seqüencial, não havendo a possibilidade de descarregar em mais de um tanque simultaneamente. O escoamento de óleo para os tanques é realizado a uma vazão máxima suportada pelo navio, ou seja, o píer não interfere na velocidade de descarregamento. Uma restrição do sistema é que, depois de atracado, um navio não pode mudar de píer e deve descarregar seu inventário por completo. Os píeres possuem uma capacidade máxima para atracagem de navios, enquanto os píeres menores possuem um custo menor de operação e conseguem receber apenas navios pequenos. Os píeres maiores conseguem receber qualquer tipo de navio, porém seus custos de utilização são maiores. Dessa maneira, para diminuir os custos do sistema, os navios menores devem atracar preferencialmente nos píeres menores e os navios maiores nos píeres maiores. Cada píer possui um custo de utilização por hora. A contagem das horas de utilização começa a partir do momento que o navio inicia o processo de atracagem e termina quando o navio sai do porto. Após o descarregamento do navio, o inventário é armazenado nos tanques existentes no porto. Cada tanque pode receber óleo cru de uma classe específica, e a classe do tanque não muda ao longo do tempo. O tanque também possui uma capacidade mínima e uma máxima que devem ser respeitadas. A capacidade mínima é cerca de 15% da capacidade máxima do tanque, e como os tanques possuem um sistema de teto flutuante, se a quantidade de óleo no tanque for inferior à capacidade mínima, corre-se o risco de danificar o sistema de tampo. Outra restrição do sistema é o fato dos tanques não poderem enviar e receber óleo cru ao mesmo tempo, e nem mesmo receber óleo de dois navios diferentes simultaneamente. Entre o término do processo de recebimento de uma carga de óleo de um navio e a descarga do óleo do tanque pelo oleoduto, deve-se respeitar um período mínimo de decantação de 24 horas. Após a decantação, o óleo cru, que é menos denso, se separa da salmoura, com isso é possível drená-lo e transferí-lo pelo oleoduto. Para o transporte do óleo cru entre os elementos do sistema, é utilizada uma rede de oleodutos. A vazão de um oleoduto varia com a viscosidade do óleo transportado, entretanto, para simplificar a modelagem do sistema, assume-se que todos os tipos de óleo possibilitam a mesma vazão de escoamento. Essa simplificação também foi adotada em trabalhos como MÁS (2001), BOSCHETTO(2006) e VEIGA(2006). Outra característica na utilização do oleoduto é que diferentes classes de óleo não podem ser transferidas seqüencialmente, evitando que quantidade de óleo de uma classe mais

24 11 nobre seja parcialmente depreciada pelo transporte de uma classe menos nobre. Para evitar esse problema, são utilizadas as interfaces, tipo de óleo com menor valor agregado, utilizados entre o transporte de uma classe e outra. As interfaces possuem custos que dependem de quão diferentes são as duas classes de óleo interfaceadas. Outra restrição é que apenas um tanque pode enviar óleo cru pelo oleoduto por vez. No Modelo do Porto, não se leva em consideração as subestações existentes no modelo completo, e sim que após o período de decantação, os tanques enviam o óleo cru por meio dos oleodutos diretamente para as refinarias, simplificando com isso o processo. As subestações são tratadas no Modelo de Subestações (MÁS, 2001). A refinaria, por sua vez, possui um estoque mínimo e um máximo que devem ser respeitados, e também um consumo horário de óleo cru em suas unidades de destilação a uma vazão conhecida, assim, o sistema deve assegurar que não faltará óleo cru (ficar abaixo do estoque mínimo) ou sobrará (ficar acima do estoque máximo) na refinaria. O sistema trabalha com três valores monetários para os tipos de óleos: o primeiro valor é atribuído por metro cúbico de óleo no navio. Existe um valor específico para cada tipo de óleo (ex. oc-1, oc-2, oc-3). Ao ser descarregado no porto, agrega-se valor ao tipo de óleo que passa a ter um novo valor, sendo referenciado pela classe (ex. cl-1, cl-2, cl-3). Quando transportado para a refinaria, o tipo de óleo é valorizado novamente, atingindo seu valor máximo no processo. A diferença entre o valor da classe de óleo na refinaria e o valor da classe no porto é chamada de nobreza. A nobreza de um tanque é um ponto muito importante, uma vez que ao descarregar o petróleo dos navios em tanques com valores maiores de nobreza contribui no aumento do lucro do sistema. A Tabela 2 exibe a nobreza dos tanques utilizados nos estudos de caso capítulo 4. Tabela 2: Tabela de nobreza das classes de óleo cru (MÁS, 2001) Ordem de nobreza Classe Nobreza (Valor Classe Refin. Tanque Valor Classe Porto) 1º cl-5 5,5346 TQ3241/TQ3242 2º cl-6 5,4842 TQ3243/TQ3244 3º cl-1 5,4088 TQ3234/TQ3235 4º cl-4 5,3585 TQ3239/TQ3240 5º cl-3 5,2830 TQ3237/TQ3239 Para a resolução de problemas de otimização combinatória, no qual o problema do porto se insere, comumente são utilizadas modelagens baseadas em programação matemática. Grande parte dos autores que abordaram o problema do porto utilizaram a programação

25 12 matemática por possibilitar resultados consistentes, resultados estes que podem ser factíveis (próximos da solução ótima global) ou mesmo ser a solução ótima global. A programação matemática será abordada sucintamente na seqüência. 2.2 PROGRAMAÇÃO MATEMÁTICA Segundo BRADLEY, HAX e MAGNANTI (1977), a programação matemática consiste em um conjunto de técnicas de modelagens matemáticas que objetivam alocar de maneira eficiente recursos limitados que são disputados por vários elementos. Esses recursos são alocados respeitando-se as restrições impostas ao sistema, sendo que o resultado final visa maximizar ou minimizar uma função objetivo, representada por uma fórmula matemática. Dentre os problemas que podem ser abordados utilizando a programação matemática, destacam-se os problemas de scheduling (agendamentos), transportes e de gerenciamento de cadeia de suprimentos, como os apresentados em MÁS (2001), BOSCHETTO (2006), VEIGA (2006) e MAGATÃO et al. (2004). Na programação matemática, duas técnicas para modelagem de problemas reais se destacam, são elas: Programação Linear e a Programação Linear Inteira Mista (PLIM). A programação linear tornou-se a primeira técnica da pesquisa operacional utilizada para a solução de problemas de otimização (LUENBERGER, 2003). Ela se caracteriza por possuir em sua modelagem exclusivamente funções lineares. DANTZIG (1963) desenvolveu o método Simplex para solucionar problemas de programação linear. A eficiência e a robustez deste método, unida ao poder de processamento dos computadores digitais tornaram a programação linear atualmente um método de otimização amplamente aplicado ao ambiente empresarial e industrial. Os modelos de otimização linear podem ser identificados através das seguintes características (PUCCINI e PIZZOLATO, 1990): Um critério de escolha das variáveis constituído por uma função linear. Esta função é denominada função objetivo e seu valor deve ser otimizado (maximizado ou minimizado); As relações de interdependência entre as variáveis se expressam por um conjunto de equações e/ou inequações lineares. Essas relações são denominadas restrições; As variáveis do modelo são não-negativas, ou seja, positivas ou nulas.

26 13 O método Simplex é utilizado para obter as soluções ótimas de um modelo de programação linear. A partir das soluções factíveis, o método procura a solução ótima explorando as propriedades de um modelo linear, porém, não é possível garantir valores inteiros para as variáveis do modelo. Se for necessário inserir no modelo valores que devem ser obrigatoriamente inteiros ou binários (0 e 1), estes devem ser tratados em um modelo de PLIM. A PLIM deve tratar tanto variáveis contínuas como variáveis inteiras, por este motivo, além da aplicação do método Simplex, são necessários métodos adicionais para tornar a solução factível, uma vez que algumas variáveis devem ser inteiras. Dentre os métodos, se destaca o método Branch-and-Bound (NEMHAUSER e WOLSEY, 1999). Como em muitas situações a PLIM é utilizada para alocação de recursos ao longo do tempo, um problema existente é introduzir informações temporais na modelagem do sistema. Basicamente, a representação do tempo nos problemas de programação matemática segue duas formas (MORO, ZANIN e PINTO, 1998): Representação discreta do tempo: o tempo é dividido em intervalos iguais (domínio discreto de tempo). Para cada intervalo de tempo, as variáveis binárias e contínuas do modelo representam decisões operacionais e indicadores de produtos movimentados (produzidos ou consumidos). A representação discreta do tempo simplifica a modelagem de problemas na programação matemática, entretanto, aumenta significativamente o número de variáveis utilizadas, já que para obter soluções no tempo discretizado, muitas variáveis são geradas no modelo para representar cada instante discreto do tempo, criando, em teoria, uma extensa árvore de busca. Dessa maneira, na PLIM com representação discreta do tempo, aumenta-se o número de variáveis inteiras, o que pode acarretar um aumento de tempo para se encontrar as soluções. Outra desvantagem da representação discreta do tempo é a limitação de precisão, já que um evento no sistema deve iniciar/terminar nos intervalos de tempo discretizados; Representação contínua do tempo: nesta representação, o horizonte de tempo considerado é dividido em intervalos de tempo com duração variável. Normalmente, determina-se o número máximo de eventos que podem ocorrer em cada entidade do modelo e, para cada evento, variáveis contínuas e binárias descrevem o comportamento do sistema entre os instantes inicial e final do evento. A temporização do modelo é representada por variáveis contínuas. A utilização dessa abordagem pode tornar o processamento mais rápido, permitindo encontrar soluções mais precisa que

27 14 na representação discreta, entretanto, aumenta a complexidade da modelagem do sistema. Na Figura 3, à esquerda, tem-se um exemplo onde as operações seqüenciais 1 e 2, cujas durações reais são 6,973 e 3,152 são consideradas em uma representação discreta do tempo. É possível visualizar as 11 divisões do tempo para acomodar a realização das duas operações e o instante inicial/final de cada uma delas. À direita da figura, o tempo é representado de forma contínua, apresentando três eventos: 1, que inicia a operação 1, 2 que finda a operação 1 e inicia a operação 2, e 3, que finaliza a operação 2. tempo discretizado tempo contínuo 6,973 10,125 Operação 1 Operação 1 Operação 2 Operação 2 Evento 1 Evento 2 Evento 3 Figura 3: o lado esquerdo exemplifica a alocação de recursos na representação discreta do tempo e o direito, na representação contínua do tempo Em seguida, são apresentadas algumas abordagens de modelagem do porto utilizando programação matemática sendo, na sua totalidade, abordagens baseadas na PLIM com representação contínua do tempo. 2.3 MODELOS DO PORTO EM PLIM Na pesquisa bibliográfica realizada, foram encontradas algumas abordagens referentes ao gerenciamento da cadeia de suprimento de portos petrolíferos, sendo que nessas abordagens, o problema foi modelado utilizando programação matemática. Um dos primeiros trabalhos foi desenvolvido por MÁS (2001), e os resultados obtidos pelo seu trabalho são comparados com os do SMA proposto. Devido à complexidade do problema, o autor o divide em dois subproblemas modelados com PLIM, um denominado Modelo do Porto e o outro, Modelo de Subestação. O primeiro aborda a transferência de óleo cru entre navios e terminais petrolíferos, enquanto o segundo aborda a transferência do terminal petrolífero para a subestação. As soluções apresentadas são factíveis, já que

28 15 consideram uma margem de otimalidade a ser respeitada, entretanto, executando o modelo exaustivamente e sem a margem de otimalidade, é possível encontrar o ótimo global. BOSCHETTO (2006) compara o seu modelo com o modelo de MÁS (2001). No trabalho, a autora desenvolve um modelo em PLIM com representação contínua do tempo que faz uso de pré-processamento, onde identifica a restrição mais complexa (na situação foi identificada como restrição mais complexa a decantação de 24 horas dos tanques no porto), executando um pré-processamento sem essa restrição, sendo os resultados desse préprocessamento aplicados novamente como restrições no modelo completo. O préprocessamento resultou em um aumento significativo na velocidade de processamento, perdendo pouco na qualidade dos resultados finais. VEIGA (2006) também compara sua metodologia com o modelo de MÁS (2001), propondo uma hierarquização do modelo de otimização. Seu trabalho, desenvolvido em PLIM com representação contínua do tempo, divide o modelo com base nos três elementos básicos de scheduling. Dessa maneira, o Modelo do Porto proposto por MÁS (2001) é dividido nos modelos que envolvem assignment (determinação dos recursos), sequencing (seqüenciamento das atividades) e timing (temporização do uso dos recursos). A abordagem feita por VEIGA (2006) obtém resultados em tempos computacionais melhores que os resultados da abordagem feita por MÁS (2001), levando em consideração as mesmas margens de otimalidade. SHAH (1996) propõe uma divisão para resolver o problema de transferência de petróleo entre o porto e a refinaria. O primeiro subproblema otimiza o abastecimento da refinaria através do oleoduto, com o objetivo de minimizar a quantidade de material que permanecerá sem utilização nos tanques da refinaria. Já o segundo subproblema determina uma programação de descarregamento dos navios aos tanques e dos tanques para o oleoduto, com o objetivo de encontrar soluções factíveis. Ambos foram modelados em PLIM, com discretização uniforme dos intervalos temporais. MAGATÃO et al. (2004) também abordam o problema de transferência entre o porto e a refinaria. Contudo, no modelo apresentado, o oleoduto que transporta diferentes tipos de óleo pode operar em reversão, ou seja, um mesmo duto pode transportar óleo da refinaria para o porto ou do porto para a refinaria. O modelo aborda o scheduling do oleoduto em um horizonte de tempo pré-fixado objetivando minimizar os custos operacionais. A formulação utiliza PLIM com discretização uniforme do tempo.

29 16 Em todos os modelos apresentados para a transferência e estocagem, a solução obtida é apenas factível. Os autores não apresentam a solução ótima 1 devido ao elevado tempo computacional necessário para a sua obtenção. Sendo assim, para tentar diminuir o tempo, frequentemente é adotada uma divisão do problema em subproblemas. Alguns trabalhos adotam essa prática, como MÁS (2001), BOSCHETTO (2006), VEIGA(2006) e MAGATÃO et al. (2004) e, em todos eles, foi adotada a PLIM. Dividindo o problema em subproblemas, o sistema se aproxima da realidade, onde não existe um elemento central que processe e armazene todas as informações. Na prática, os elementos de um sistema possuem uma visão parcial do todo e são especialistas em atividades específicas. A abordagem de decomposição permite encontrar soluções factíveis para problemas complexos como o gerenciamento de cadeias de suprimento de petróleo. Os trabalhos citados anteriormente dividem o problema em subproblemas para diminuir a complexidade, sendo este também um dos conceitos fundamentais do paradigma de sistemas multiagente. Num sistema multiagente o conhecimento é distribuído em entidades de software que possuem uma visão local e informações incompletas do sistema como um todo, comunicando-se para trocar informações e atingirem os objetivos globais do sistema. Para apresentar algumas das características necessárias para um SMA gerenciar cadeias de suprimentos, foi realizada pesquisa bibliográfica apresentada nas seções 2.4 à SMA NO GERENCIAMENTO DE CADEIAS DE SUPRIMENTOS Segundo JENNINGS e WOOLDRIDGE (1999), os SMA são compostos por agentes que cooperam entre si para a resolução de problemas que fogem das capacidades individuais dos agentes. Esta abordagem pode diminuir o custo e a complexidade associados ao desenvolvimento de sistemas distribuídos. A utilização de SMA para o gerenciamento de cadeias de suprimentos é uma técnica utilizada por vários autores (HUHNS e STEPHENS, 2006; MOYAUX, CHAIB-DRAA e D AMOURS, 2006; DAVIDSSON et al., 2008; SADEH, HILDUMB e KJENSTADC, 2003; LOU et al., 2004; TA, CHAI e LIU, 2005 ; FOX, BARBUCEANU e TEIGEN, 2004). O motivo é a inexistência de uma entidade centralizadora nas organizações reais que possui todas as informações para executar os processos dos negócios. O que acontece na prática é a 1 A única abordagem que possibilita encontrar a solução ótima é a proposta por MÁS (2001), mas se executada exaustivamente e sem considerar as margens de otimalidade.

30 17 distribuição dessas informações, entre setores especializados em algumas atividades. Assim, o sucesso da organização depende da distribuição das informações e na coordenação das ações, assim como em SMA. Segundo HUHNS e STEPHENS (2006), um SMA aparenta ser menos eficiente que uma solução centralizada, isso porque a distribuição dos dados dificulta o processo de otimização, entretanto, os mesmos autores defendem a utilização de SMA pelas vantagens que os mesmos apresentam. Primeiro, os SMA são mais fáceis de entender e implementar quando o problema por si só já é distribuído. Além disso, uma solução distribuída pode forçar programadores a proporem novos algoritmos que, por meio de paralelismo na execução das tarefas, podem acelerar a resolução de problemas complexos. HUHNS e STEPHENS (2006) concluem o raciocínio dizendo que soluções centralizadas podem ser impossíveis na realidade, porque sistemas e dados podem se encontrar em organizações independentes. Na maioria dos casos, os agentes necessitam interagir com outros agentes autônomos para atingirem seus objetivos. Como os agentes não possuem um controle direto sobre o comportamento dos outros, torna-se necessário a utilização de técnicas para negociação entre agentes (FARANTIN, SIERRA e JENNINGS, 1998). Segundo PRUITT (1981), negociação é um processo no qual uma decisão conjunta é tomada por duas ou mais partes. As partes primeiramente verbalizam demandas contraditórias e então buscam um aceite mútuo. Com o objetivo de conhecer alguns modelos de SMA aplicados ao gerenciamento de cadeias de suprimentos, bem como identificar os agentes/módulos e os métodos de negociação mais utilizados, foi realizada uma pesquisa bibliográfica para fundamentar a modelagem do SMA proposto, onde foram selecionados sete trabalhos mais significativos. MOYAUX, CHAIB-DRAA e D AMOURS (2006) descrevem uma estrutura para um SMA gerenciar uma cadeia de suprimentos. Segundo os autores, para atingir os objetivos de uma cadeia de suprimentos, é necessário gerenciar os fluxos de produtos (logística), informações e recursos financeiros. Além disso, os processos de transporte e armazenamento de produtos devem ser otimizados, uma vez que não agregam valor ao produto final. Segundo os autores, um SMA gerenciador de cadeia de suprimentos deve ser formado por agentes que representam fornecedores de matéria prima, fábricas, estoques e clientes. Quanto à organização dos SMA, os mesmos precisam ser organizados como sociedades reais, possuindo inclusive comportamentos sociais. Para a comunicação entre os agentes, uma linguagem de comunicação entre agentes (ACL Agent Communication Language) deve ser

31 18 utilizada, além de uma ferramenta para o gerenciamento social, para organizar os agentes em grupos e distribuir as tarefas. Em DAVIDSSON et al. (2008), os autores apresentam um sistema de simulação multiagente para o gerenciamento de cadeias de transportes. Esse sistema, chamado TAPAS (Transport and Production Agent-based Simulator) é composto de duas camadas. A primeira camada simula as atividades físicas da cadeia, como produção, estocagem e transporte de mercadorias. A segunda camada simula os diferentes atores no processo de interação e tomada de decisão. Para a implementação da segunda camada, foi utilizada a plataforma JADE (BELLIFEMINE et al., 2007; JADE, 2008), onde cada agente corresponde a um ator em particular da cadeia de transporte. O objetivo do trabalho é demonstrar como os atores de uma cadeia de transportes se comportam quando diferentes políticas governamentais são aplicadas, como quando se altera os valores de combustíveis, valores de pedágios e impostos dos veículos. Na camada que simula as atividades físicas da cadeia, a rede de transporte é modelada como um grafo, onde cada nó é uma localização física, sendo eles interligados por arestas. As arestas possuem uma velocidade média para o transporte e uma distância. Os nós podem conter depósitos de consumidores, fábricas ou depósitos das fábricas. No sistema ainda existem os produtos que devem ser transportados, o produto possui uma massa, um volume e um valor. Os produtos são transportados por veículos que possuem uma velocidade máxima, um tipo de combustível e emissões ( NO x, CO e CO 2 ) por unidade de distância, além de possuir uma capacidade e um gasto de combustível por distância. Na segunda camada do TAPAS, existem seis tipos de agentes: Costumer: a função do Costumer é evitar que falte produto em seu estoque. Para isso envia solicitações de produtos para o Transport Chain Coordinator. O Costumer trata situações como atraso na entrega de produtos e a oscilação do preço de transporte; Transport Chain Coordinator: esse agente possui as regras centrais do SMA. É de sua responsabilidade receber requisições, enviar produtos e agendar o transporte no sistema. Ao receber uma requisição do Costumer, o Transport Chain Coordinator encontra a possibilidade mais barata para fornecer o produto, levando em consideração os custos de produção e transporte; Product Buyer: esse agente opera entre o Transport Chain Coordinator e o Production Planners. Quando uma requisição de produto é recebida do Costumer, o Transport Chain Coordinator solicita o produto do Product Buyer, que encaminha a solicitação a todos os Production Planners. Ao receber as respostas dos Production

32 19 Planners, o Product Buyer encaminha as respostas para o Trasport Chain Coordinator; Transport Buyer: agente responsável pela elaboração da solução de transporte de produtos da fábrica para o consumidor. O processo para encontrar a solução mais barata para envio do produto é tratado como um problema de caminho mínimo; Transport Planner: cada Transport Planner controla um veículo da frota que opera em cada par de nós no grafo. Esse agente recebe pedidos de cotação para o transporte entre os dois nós, respondendo o pedido com informações como o custo do transporte e o tempo estimado para o mesmo. Para a comunicação entre os elementos do SMA, foi utilizado o protocolo de comunicação Contract-Net (SMITH, 1980), que possibilita realizar a negociação entre os agentes como sendo um leilão. Nesse tipo de negociação, o agente que deseja um recurso envia uma proposta para os agentes que o fornecem, esses respondem a proposta com os custos. O agente que deseja o recurso então seleciona a proposta que melhor atenda suas necessidades, seja ela a que possua menor preço ou o menor prazo para entrega. Em SADEH, HILDUMB e KJENSTADC (2003), é apresentada a arquitetura MASCOT (MultiAgent Supply Chain coordination Tool), uma arquitetura flexível para o planejamento e agendamento em cadeias de suprimentos baseado em SMA. Essa arquitetura utiliza um recurso de coordenação central que permite aos agentes permanecerem com as informações atualizadas durante a execução do sistema, além de avaliar como o sistema se comporta com a inclusão de novos produtos/componentes, definindo os novos fluxos de informação dentro do sistema. Para a negociação entre os agentes do sistema, é utilizada uma heurística específica que faz uso de uma base de conhecimento localizada em um elemento central da rede (blackboard), nesse elemento os agentes podem consultar o histórico das transações, bem como atualizar ou recuperar esses dados. Para o gerenciamento da cadeia de suprimento, a arquitetura MASCOT utiliza quatro módulos: gerenciamento de ofertas, gerenciamento de aquisições, planejamento e agendamento de recursos. Os módulos são formados por agentes que cooperam para atingirem os objetivos em comum. Em LOU et al. (2004), é apresentado o Agile Supply Chain, um SMA para gerenciamento de cadeia de suprimentos, que possui como principal característica a habilidade de reconfigurar-se dinamicamente a partir das alterações na demanda de mercado. Recursos como sincronização das informações foram enfatizados nessa arquitetura. O Agile é

33 20 gerenciado por um conjunto de agentes inteligentes, são eles: Agente Estoque, Agente Fornecedor, Agente Transporte, Agente Fábrica, Agente Cliente e Agente Design. Para a comunicação, o Agile faz uso do protocolo de leilão Contract-Net utilizando o Case-Based Reasoning (HARRISON, 2008) para a tomada de decisões, onde as informações do histórico de transações já efetuadas são utilizadas como base de conhecimento. TA, CHAI e LIU (2005) também propõem um modelo baseado em SMA para o planejamento, agendamento e execução de tarefas em cadeias de suprimentos utilizando mecanismos de leilão combinatorial, através do protocolo Contract-Net. A solução divide-se em cinco módulos: Supply Chain Network Design and Optimization: determina a localização, capacidade e quantidade de produção; Supply Chain Plan Scheduling and Optimization: gerencia o estoque e desenvolve uma estratégia de produção; Supply Chain Performance Management: módulo que avalia os indicadores de desempenho, esse módulo define mercados alvos, verifica dados de execuções anteriores e informações da simulação; Supply Chain Operation: módulo responsável por executar os planos definidos pelo Plan Scheduling and Optimzation; Supply Chain Process Tracking: seu objetivo é coletar informações distribuídas pelo sistema, verifica a demanda atual e inicia o Supply Chain Operation. FOX, BARBUCEANU e TEIGEN (2004) apresentam o Agent Building Shell, uma biblioteca de classes com elementos reutilizáveis para criação de SMA utilizado no gerenciamento de cadeias de suprimentos. A arquitetura é composta de seis tipos de agentes: agente de venda responsável pela negociação e venda de produtos aos clientes; agente de logística monta estratégias para possibilitar a entrega dos produtos no prazo estipulado, gerencia a movimentação de produtos na cadeia de suprimento; agente de transporte responsável por gerenciar a transferência de produtos entre as fábricas ou módulos; agente de agenda responsável por agendar as produções e entregas diárias; agente de recurso responsável por negociar e comprar produtos dos fornecedores e; agente de entrega responsável por encontrar uma solução para entregar um produto, caso a fábrica não consiga fabricá-lo dentro do prazo. O Agent Building Shell utiliza a KQML (FININ et al. 1994) como linguagem de comunicação entre agentes, que possibilita a argumentação entre os agentes

34 21 através da linguagem de conteúdo KIF (Knowledge Interchange Format PATIL et al. 1992), a qual facilita a troca de informações e a tomada de decisão. A arquitetura MetaMorph, apresentada por MATURANA, SHEN e NORRIE (1999), também é um modelo de gerenciamento de cadeias de suprimentos, sendo sua principal característica a cooperatividade dos agentes, possibilitando a formação de coalizões para atingirem um objetivo comum. Nessa arquitetura, os agentes são de dois tipos: agentes de recursos e agentes mediadores. É instanciado um agente de recurso para cada dispositivo e operação da cadeia de suprimento, já os agentes mediadores são usados para coordenar as interações entre diferentes agentes. O núcleo do mecanismo de negociação está na decomposição de tarefas e formação dinâmica de grupos de agentes. As tarefas mais complexas da cadeia de suprimentos são inicialmente decompostas pelos agentes mediadores em subtarefas mais simples, sendo estas distribuídas entre diferentes agentes por meio de um plano de execução definido pelo agente mediador. Os agentes mediadores aprendem dinamicamente através das interações entre os agentes e identificam as possíveis coalizões para distribuição das tarefas. Outra característica dessa arquitetura está na interface gráfica com o usuário, onde agentes humanos conseguem interagir com o sistema, sendo possível através de mensagens KQML interferir nas regras e decisões do sistema. Todos os trabalhos citados são compostos por agentes/módulos que representam os elementos do sistema e que se comunicam para atingirem os objetivos comuns. A Tabela 3 apresenta um resumo destes SMA. É possível identificar na tabela os principais agentes/módulos de cada sistema, o método de negociação utilizado entre agentes e se a estratégia do sistema é de responsabilidade de um agente ou dispersa em vários agentes. Para a modelagem de cadeias de suprimentos como SMA, a maioria dos autores utilizaram agentes/grupos de agentes para representar os fornecedores; compra de matéria prima (compradores); venda de produto final (vendedores); consumidores, e fabricação e estocagem. Atividades como definição de estratégias e previsões, em muitas situações, foram distribuídas na lógica dos agentes do sistema. Estes modelos inspiraram a construção do simulador proposto com módulos adaptados ao problema do porto. Para não trabalharem de forma isolada, os agentes precisam trocar informações e negociarem para atingirem um objetivo. Para que isso ocorra, a escolha da técnica de negociação entre agentes é muito importante.

35 22 Tabela 3: Informações sobre alguns SMA para gerenciamento de cadeias de suprimentos SMA Agentes/Módulos Protocolo de Negociação TAPAS (DAVIDSSON Costumer Leilão utilizando et al. 2008) Transport Chain Coordinator Contract-Net Product Buyer Transport Buyer MOYAUX, CHAIB- DRAA e D AMOURS (2006) MASCOT (SADEH, HILDUMB e KJENSTADC, 2003) AGILE SUPPLY CHAIN (LOU et al. 2004) Transport Planner Fornecedores de Matéria Prima Fábrica Estoque Cliente Gerenciador de ofertas Gerenciador de Aquisições Planejador Agenda de Recursos Estoque Fornecedor Transporte Fábrica Cliente Design TA, CHAI e LIU (2005) Supply Chain Network Design and Optimization Supply Chain Plan Scheduling and Optimization Supply Chain Performance Management Supply Chain Operation Supply Chain Process Tracking AGENT BUILDING SHELL (FOX, BARBUCEANU e TEIGEN, 2004) METAMORPH (MATURANA, SHEN e NORRIE, 1999) Venda Logística Transporte Agenda Entrega Agentes de Recursos Agentes Mediadores Não Informado Heurística específica centralizada (Black Board) Leilão utilizando Contract-Net Leilão utilizando Contract-Net Negociação baseada em argumentação Formação de Coalizões e alocação de tarefas Estratégia distribuída/centralizada Dispersa em vários agentes Dispersa em vários Agentes Centralizada em um Agente Dispersa em vários Agentes Centralizada em um Agente Dispersa em vários Agentes Dispersa em vários Agentes 2.5 TÉCNICAS DE NEGOCIAÇÃO EM SMA Em um ambiente multiagente, os agentes frequentemente interagem entre si para atingir seus objetivos ou melhorar o desempenho do sistema. Um dos tipos de interação mais citado na literatura é a negociação (ASHRI, RAHWAN e LUCK, 2003). Segundo RAIFFA (1982), as técnicas de negociação podem ser unilaterais, onde as propostas realizadas por um agente são aceitas ou não pelos outros, ou bilateral, onde ambos

36 23 os agentes negociam realizando propostas e contra-propostas para atingirem os objetivos. Enquanto as técnicas unilaterais são mais fáceis de aplicar, já que costumam ser menos complexas, as bilaterais possibilitam melhores resultados, uma vez que o os dois elementos da negociação participam ativamente na escolha das melhores propostas. Para JENNINGS et al. (2001), a negociação é uma forma de interação na qual um grupo de agentes com interesses conflitantes e um desejo de cooperar tentam encontrar uma situação de acordo mútuo para a divisão de recursos limitados. Esses recursos podem ser mercadorias, serviços, tempo, processamento, entre outros. No modelo do porto, os recursos limitados são: os píeres, que devem ser compartilhados por vários navios; os tanques, que devem receber o inventário enviado pelos vários píeres; os oleodutos, que devem enviar o inventário dos tanques para a refinaria, e; a refinaria, que deve processar o inventário enviado pelos oleodutos, respeitando seu limite mínimo/máximo de estocagem. A escolha do método de negociação utilizado pelos agentes para alocar os recursos é um ponto crucial do SMA proposto. Para tanto, foram estudadas várias técnicas de negociação Teoria dos Jogos A teoria dos jogos pode ser definida como a teoria dos modelos matemáticos que estuda a escolha de decisões ótimas sob condições de conflitos. Os elementos básicos de um jogo são os agentes (jogadores) que dele participam. Na teoria dos jogos os agentes são racionais e cada agente possui um conjunto de estratégias que representam as ações que podem ser tomadas por ele. Conceitualmente pode-se tratar o conjunto de todas as estratégias (ações possíveis) de todos os jogadores como pontos em um espaço de busca e, quando um jogador escolhe uma estratégia, é como se um ponto desse espaço fosse escolhido. Os pagamentos pelas estratégias adotadas são geralmente definidos pela função de utilidade de cada agente, logo os agentes procuram selecionar estratégias que aumentem sua função de utilidade. Entretanto, a escolha de uma estratégia pode influenciar na função de utilidade dos outros agentes, e como os agentes procuram maximizar sua função de utilidade, pode-se gerar uma situação de conflito, pois uma negociação não depende da estratégia adotada por um único agente e das condições do cenário, mas sim das estratégias escolhidas por todos os

37 24 agentes do sistema. Para minimizar esse tipo de problemas, algumas estratégias podem ser adotadas, destacando-se o Jogo de Barganha. Jogo de Barganha Jogo de barganha é um dos ramos da teoria dos jogos de maior interesse prático. Foi proposto por John Nash em 1950, e tem por objetivo fazer com que todos os agentes (jogadores) atinjam um estado de equilíbrio, estado esse chamado Equilíbrio de Nash. No jogo de barganha cada agente possui um valor para a função de utilidade atribuída a cada uma das estratégias de escolha possíveis, assim o agente procura escolher estratégias que não comprometam o valor de sua função de utilidade e que maximize o valor da função de utilidade de todos os agentes. O jogo de barganha usa o princípio da orientação integrativa (win-win), onde cada agente vê a outra parte como um parceiro legítimo, que pode trabalhar em prol de seus interesses na busca de ganhos múltiplos para ambas as partes e na perspectiva de uma negociação futura próspera. Supondo que dois agentes X e Y estão em um processo de negociação para controlar um equipamento, onde o agente Y tem a opção de fazer esse equipamento subir ou descer, e o agente X tem a opção de fazer o equipamento se movimentar para a direita e para a esquerda, atribui-se a cada uma das situações uma função de utilidade aos agentes, como apresentada na Tabela 4. Tabela 4: Tabela com as funções de utilidades dos agentes X e Y AGENTE X AGENTE Y Sobe Desce Direita (3, 2) (0, 0) Esquerda (0, 0) (1, 2) Nas interseções das linhas com as colunas, são apresentadas as funções de utilidade, logo para a estratégia Direita/Sobe, o agente X tem uma função de utilidade igual a 3 e o agente Y, 2. Nessa situação, a escolha ótima do agente X depende do que ele pensa que o Agente Y escolherá. Por exemplo, se o Agente X escolher Direita, a melhor estratégia para o agente Y é escolher Sobe, mas se o agente Y escolher Desce, a melhor estratégia do agente X é Esquerda.

38 25 O equilíbrio de Nash pode ser interpretada com um par de expectativas sobre as escolhas do outro agente, de modo que, quando a escolha de um agente for revelada, nenhuma delas quererá mudar seu próprio comportamento. (VARIAN, 2003). No caso da Tabela 4 a estratégia Sobe/Direita é o equilíbrio de Nash, sendo que cada agente fez a escolha ótima dada a escolha do outro. De acordo com OSBORNE (2004), uma maneira de aplicar o jogo de barganha em sistemas computacionais é através da utilização de uma matriz com múltiplas dimensões, onde cada dimensão representa um agente jogador. Em um exemplo com dois jogadores, temse uma matriz de duas dimensões, onde as linhas representam as estratégias do primeiro agente e as colunas as estratégias do segundo agente, os pagamentos (função de utilidade) são registrados no interior da matriz. Quando um sistema é modelado dessa maneira, presume-se que cada jogador atue simultaneamente ou, ao menos, sem conhecer a ação do outro, trocando informações e cooperando para encontrarem bons resultados para ambos Protocolo de Concessão Monotônico Nesse protocolo de negociação, os agentes concordam que ao terem uma proposta rejeitada, o mesmo realizará uma nova proposta com uma função de utilidade ligeiramente maior ou menor, dependendo do cenário. Nesse modelo um agente é responsável pela realização das propostas e o segundo agente pode apenas aceitar ou não essa proposta. Por exemplo, uma pessoa deseja compra um automóvel pelo valor máximo de R$ ,00, entretanto ela inicia fazendo uma proposta de R$ ,00. O vendedor, por sua vez, deseja vender o automóvel por R$ ,00. Logo, o comprador inicia a negociação fazendo a proposta com a função de utilidade igual a R$ ,00, que será rejeitada pelo vendedor. Em seguida, o comprador aumenta ligeiramente sua proposta (R$ ,00), que também será rejeitada pelo vendedor, permanecendo nessa seqüência de iterações até que a proposta enviada pelo comprador possua uma função de utilidade compatível com a desejada pelo vendedor (negociação bem sucedida) ou que o agente comprador desista de enviar propostas (negociação mal sucedida). Esse protocolo de negociação tem algumas desvantagens: dependendo dos lances iniciais e da taxa de atualização da proposta, a convergência para a melhor proposta pode ser lenta, e; se um agente A sabe que o agente B sempre concede o mesmo aumento/desconto a

39 26 cada iteração, então o agente A pode permanecer com seu valor estático, esperando que o agente B forneça aumentos/descontos até chegar ao valor desejado por ele. Uma variação do protocolo de concessão monotônica é o protocolo de uma etapa (One-Step Protocol). Neste, os agentes devem conhecer o comportamento um do outro, bem como as funções de utilidades, com isso cada agente estuda uma proposta que possa maximizar o lucro dos dois agentes envolvidos na negociação. Assim, o primeiro agente envia a proposta ao segundo, sendo que essa proposta tem uma grande chance de ser aceita logo na primeira iteração. Entretanto, para o protocolo funcionar, os dois agentes envolvidos na negociação devem tornar suas informações públicas Negociação com Busca Distribuída O processo para encontrar soluções viáveis para uma negociação pode ser tratado como um processo para encontrar soluções ótimas em um espaço de busca distribuído. Até mesmo a teoria dos jogos apresentada na seção pode ser considerada uma técnica de busca distribuída. Para utilizar uma negociação com busca distribuída, deve-se adicionar todas as propostas possíveis em um espaço de busca, interligando-as por arestas valorizadas com a função de utilidade. Para busca pela melhor solução, pode ser aplicado o algoritmo Hill Climbing (HINSON et al. 1983), onde inicialmente é escolhida aleatoriamente uma das propostas do espaço de busca como sendo a proposta atual. A cada iteração é realizada uma busca na vizinhança da proposta atual, verificando se alguma proposta possui uma função de utilidade melhor que a atual. Caso o resultado seja positivo, a proposta atual é substituída pela proposta com melhor função de utilidade, e novamente é realizada uma busca na vizinhança por melhores propostas. Esse processo continua até não haver mais melhoria na função de utilidade. Em uma aplicação real, muitas vezes é impossível mover-se de uma proposta para qualquer outra diretamente, uma vez que o número de propostas possíveis pode ser muito grande. Dessa maneira, as propostas (nós) são parcialmente interligadas pelas arestas, construindo um grafo com vários nós. Como o número de nós pode ser grande, é possível que a melhor proposta (ótimo de Pareto) esteja a algumas iterações de distância, como também é possível que o algoritmo de busca no grafo pare em um resultado ótimo local, que é um resultado bom, mas pior que a proposta ótima de Pareto. Para isso, é necessário implementar

40 27 algoritmos que escapem dos ótimos locais, como o Simulated Annealing (VECCHI, 1983), apresentado com detalhes na seção Alocação de Tarefas Uma das atividades mais comuns em um sistema distribuído é a alocação de tarefas. Nessa situação, tem-se: um conjunto de tarefas; um conjunto de agentes e um conjunto de custos. Esse último representa os custos que cada agente possui ao assumir cada tarefa. Para esse protocolo, inicialmente todas as tarefas são distribuídas entre todos os agentes, esse estado é o estado inicial do sistema. Se acontecer algum problema no decorrer do processo de negociação, cada agente fica responsável pelas tarefas distribuídas inicialmente. Pode-se citar como exemplo de alocação de tarefa o problema do carteiro (Postman Problem), no qual cada carteiro recebe uma sacola cheia de cartas. Os carteiros preferem que suas cartas possuam endereços de entrega próximas uma das outras, o que minimizaria os custos de entrega (necessidade de andar menos), assim os carteiros devem negociar entre si para trocarem as cartas. Nesse exemplo, as tarefas são as cartas e o custo da função de utilidade é a distância percorrida pelo carteiro para entregar as cartas (VIDAL, 2007). Para a utilização de alocação de tarefas em um sistema computacional, o primeiro passo é definir quais agentes poderão trocar de tarefas e em seguida, com quais outros agentes ele poderá trocar essas tarefas. O método mais tradicional é alocar os agentes em duplas para uma troca de tarefas simples, dessa maneira, na primeira interação de troca é muito provável que o sistema não encontre a solução ótima, mas é possível que o sistema melhore a cada iteração. As trocas das duplas são feitas a cada iteração e duram até que um critério de parada seja atingido. Pagamentos Uma alternativa para que os agentes encontrem boas soluções na alocação de tarefas é permitir que eles trabalhem com valores monetários. Nessa alternativa, os agentes são adicionados no sistema com um valor monetário inicial (dinheiro em caixa), podendo transferir seu dinheiro para outros agentes como pagamento de uma tarefa executada. Nesse cenário, os agentes visam lucro e por isso procuram as melhores transações. A idéia básica de

41 28 pagamento foi introduzida no protocolo Contract-Net, onde um agente pode contratar ou ser contratado por outro agente. O agente que contrata possui uma tarefa e deseja que o outro a realize pagando por isso. No protocolo FIPA Contract-Net (FIPA, 2008), que é um extensão do Contract-Net tradicional, cada alocação de tarefa é tratada como um leilão, sendo este protocolo tratado com detalhes na seção Trapaças na Alocação de Tarefas Em alguns casos, um agente pode esconder informações sobre alguma tarefa que cabe a ele desempenhar, ou ainda, pode inventar uma tarefa divulgando-a para os outros agentes, modificando assim o ambiente onde estão inseridos. Por exemplo, se um agente inventa uma nova tarefa, então cresce no sistema o número de possibilidades para a distribuição das tarefas entre os agentes. Em contrapartida se um agente esconde uma tarefa, as possibilidades de alocação de tarefas diminuem. Às vezes, é interessante que um agente não compartilhe algumas das tarefas para não aumentar a complexidade do sistema, e em outros casos, o compartilhamento incorreto poderá ajudar um agente específico a atingir seus objetivos. Contratos Em um modelo de alocação de tarefas onde se assume o pagamento pela realização das atividades, assume-se que quando um agente A se compromete com a realização de uma tarefa, o agente B também deve se comprometer com o pagamento dessa tarefa, então ambos devem respeitar um contrato. Dessa maneira, a tarefa deve ser realizada e o dinheiro deve ser pago, porém em um modelo real essa metodologia pode ser difícil de ser seguida. Em um ambiente dinâmico por exemplo, um agente que possui um conjunto de tarefas para executar pode achar mais interessante executar uma nova tarefa que aumentará sua função de utilidade, sendo que para isso terá que abrir mão de outra tarefa previamente contratada. O modelo Leveled Commitment Contracts (SANDHOLM e LESSER, 2002) possui uma característica interessante para esse tipo de negociação, pois define valores de multas para a não realização de uma tarefa ou multa por tempo de atraso na realização, com isso, o fato de um agente desistir ou atrasar o desenvolvimento de uma tarefa, pode ser interessante para ambos agentes envolvidos no contrato.

42 Propostas Complexas Muitas vezes consideram-se as propostas como unidades atômicas, essas não podendo ser quebradas em pequenas partes. Nos exemplos citados anteriormente, consideramos a proposta como sendo um elemento que possuía um único valor monetário (função de utilidade), mas na prática, é possível ter propostas complexas, formada por vários campos como preço, garantia, data de entrega, cor, etc. Pode-se citar como exemplo dois agentes que negociam para a compra de um automóvel, devendo chegar a um acordo referente ao preço que será pago pelo mesmo, a cor, o tempo de garantia, o valor da entrada, o tipo de financiamento e outros parâmetros. Todas essas dimensões levam inevitavelmente a expansão exponencial no espaço de busca para encontrar possíveis propostas válidas. Formalmente, esse tipo de proposta é tratado como uma proposta multidimensional, o que faz o espaço de busca ter aumento exponencial. A aplicação de um algoritmo simples como Hill Climbing nessa situação provavelmente faria com que o resultado ficasse estagnado em uma solução ótima local. Para diminuir o espaço de busca, são aplicadas técnicas que ignoraram algumas propostas. No exemplo onde dois agentes negociam para a compra de um carro, se o valor da entrada é igual ao valor total do veículo (pagamento a vista), não haverá possibilidades que considerem o tipo de financiamento. Outra técnica para trabalhar com propostas multidimensionais (ou multi-critério) é o método da agenda (FATIMA et al. 2004), onde se trabalha com uma dimensão da proposta de cada vez. No exemplo da compra de um automóvel, primeiramente os agentes negociam e chegam a um acordo quanto à cor do automóvel, assim iniciam uma nova negociação para chegar ao acordo referente ao preço. Depois disso é iniciada uma nova negociação para o tempo de garantia, e assim até que todas as dimensões sejam acordadas mutuamente, entretanto, dessa maneira é possível que não seja encontrada a solução ótima, e sim, uma solução factível, já que uma dimensão pode influenciar na negociação das outras dimensões. Simulated Annealing sobre Propostas Complexas Uma alternativa para fugir das soluções ótimas locais é utilizar o algoritmo Simulated Annealing. Esse algoritmo simula o resfriamento de um conjunto de átomos aquecidos (recozimento) que corresponde a um processo térmico de liquidificação de um cristal em alta temperatura. A temperatura sofre uma lenta e gradativa diminuição até um estado de energia

43 30 ou ponto de solidificação mínima. Simulated Annealing é considerada a mais velha das metaheurísticas e, certamente, um dos primeiros algoritmos a encontrar alternativas para escapar do ótimo local. A idéia básica é permitir que soluções piores que a atual sejam selecionadas para exploração da vizinhança, escapando assim dos ótimos locais. A probabilidade de ser selecionado um estado pior diminui ao longo da busca devido à redução de temperatura. O Simulated Annealing é eficiente quando o espaço de busca é muito grande, porque possui elementos aleatórios que permitem a escolha de novos locais para iniciar novas buscas, entretanto, mesmo assim, o algoritmo não é completo já que não existe garantia que solução ótima será encontrada (DOWSLAND, SOUBEIGA e BURKE, 2007) Negociação Baseada em Argumentação Nas negociações que envolvem propostas multidimensionais, a técnica de Agenda que leva em consideração apenas uma dimensão da proposta de cada vez pode ser aplicada para encontrar resultados factíveis, porém é muito difícil a mesma retornar uma solução ótima. Para contornar esse problema, foi definida uma técnica de negociação chamada negociação baseada em argumentação. Nas técnicas anteriores era considerada uma negociação unilateral, ou seja, o primeiro agente envia uma proposta e o segundo apenas aceita-a ou não, e assim continuam até que cheguem a um acordo. Já na negociação baseada em argumentação, o segundo agente pode fazer contrapropostas. Para isso é necessário utilizar linguagens sofisticadas para comunicação, fazendo com que o segundo agente não fique limitado apenas em aceitar ou não a proposta, mas que possa criticar, justificar, persuadir, ameaçar, recompensar ou apelar (JENNINGS et al. 2001). Por exemplo, se o agente A deseja comprar o carro do Agente B, as etapas da negociação pode ser as apresentadas abaixo: A: Desejo comprar seu carro X por R$ ,00 e desejo uma garantia de seis meses. B: O preço está baixo, mas sugiro o carro Y por R$ ,00 que possui uma garantia de 12 meses a você. A: Gostei do carro Y, mas pago R$ ,00 por ele, e quero a garantia de 12 meses. B: Negócio fechado.

44 31 A negociação baseada em argumentação é muito próxima da negociação humana, e dessa maneira, o processo para que os agentes consigam interpretar a linguagem de comunicação é muito complexo Leilão Leilão é uma maneira simples de executar alocação de recursos em SMA. Em um leilão, um agente pode expressar quanto deseja pagar por um recurso específico através de um lance que, por sua vez, é processado pelo agente que oferece o recurso ou por um agente central, chamado de leiloeiro. No primeiro caso, não existe um elemento centralizador no sistema, o que evita gargalos, entretanto o agente que necessita do recurso pode não conhecer a localização do agente que o ofereça, o que dificulta o processo de negociação. No segundo caso (com o agente leiloeiro), todos os recursos disponíveis para leilão no sistema são conhecidos por esse agente, o que facilita sua localização, entretanto o sistema fica dependente desse elemento central. Em ambos os casos, todos os lances são processados pelo agente leiloeiro ou o agente que oferece os recursos, e quem oferecer o maior lance terá o direito de utilizá-lo. O processo para escolher o melhor lance depende do tipo de leilão utilizado. A seguir, são apresentados os principais tipos de leilões (VIDAL, 2008): Inglês: Os participantes dão lances crescentes para um determinado item, até que nenhum participante esteja disposto a dar um lance maior que o atual. É provavelmente o tipo mais comum de leilão; Holandês: O leiloeiro fixa um preço inicial alto e vai progressivamente diminuindo tal preço, até que algum dos participantes esteja disposto a comprar o item por aquele preço. É assim chamado devido ao fato de ser utilizado por vendedores de flores na Holanda; De Lance Fechado e Primeiro Preço: Os participantes entregam envelopes lacrados com seu respectivo lance, onde cada participante tem direito a apresentar apenas um lance. Os envelopes são abertos ao mesmo tempo, sendo que o maior lance é declarado vencedor;

45 32 Vickrey: Idêntico ao leilão de lances fechados e primeiro preço, com a diferença de que o valor pago pelo vencedor é o segundo maior preço dado no leilão. Por isso, também é chamado de leilão de segundo preço. Reverso: Conhecido como procurement auctions ou reverse auctions, este leilão é utilizado quando existe um único comprador e vários possíveis vendedores, sendo que nesse leilão cabe ao vendedor o trabalho de submeter lances. O leilão reverso não é formalmente diferente do leilão inglês, a diferença é que nesse vence o menor e não o maior preço. Por isso, qualquer estratégia definida para o caso normal vale também para o leilão reverso. Quanto ao valor a ser pago por recurso, deve ser levado em consideração a avaliação subjetiva do recurso pelo agente, e ao recurso pode ser atribuído um valor privado, comum ou correlato. Quando um agente necessita utilizar imediatamente um recurso, é provável que ele atribua ao mesmo um valor privado. Como exemplo, pode-se citar uma pessoa com fome em um restaurante, o mesmo pagará por uma refeição um valor proporcional a sua fome e a quanto possui de dinheiro. A um recurso também pode ser atribuído um valor comum, sendo esse o valor inicial. Um exemplo clássico são as lojas, as mesmas compram mercadorias em grande quantidade para revender e, nessa situação, não utilizarão o que estão adquirindo pois o produto será revendido. Logo o valor que elas oferecem pelo produto no leilão é proporcional a quanto irão lucrar com o produto na venda. Já o valor correlato, cita-se como exemplo a compra de uma casa, onde na maioria das vezes não se paga o preço de custo da mesma, e sim um valor agregado pela sua localização e quanto pagarão por ela quando desejar vendê-la. Essa é uma situação muito comum no mundo real. Para a implementação de um leilão, existe um protocolo definido pela FIPA (2008) chamado FIPA Contract-Net, apresentado em detalhes na seqüência. Protocolo de Interação FIPA Contract-Net Este protocolo define uma seqüência de passos para o desenrolar de um leilão. A Figura 4 apresenta o fluxo de um leilão utilizando o protocolo FIPA Contract-Net.

46 33 Figura 4: Protocolo de Interação da FIPA Contract-Net (FIPA, 2008) O protocolo é simples e se divide em dois momentos. Primeiro, quando o agente Iniciador solicita aos demais agentes participantes propostas para o leilão e o segundo, quando o agente Iniciador envia o resultado para o agente ganhador do leilão. O agente Iniciador pode ser um agente leiloeiro ou um agente que possua um recurso para leiloar. Inicialmente, como pode ser observado no fluxo da Figura 4, o agente Iniciador envia uma solicitação de propostas (cfp call for proposal) para os participantes do leilão. Cada participante elabora uma oferta (propose) ou envia uma mensagem de recusa (refuse). Após um período denominado deadline, o Iniciador irá analisar a proposta e selecionar uma para atender o cfp. Dessa maneira, o agente que tem a proposta selecionada receberá uma mensagem de accept-proposal, enquanto os demais receberão uma mensagem reject-proposal. O agente que teve a proposta selecionada atenderá a solicitação do agente Iniciador, e poderá respondê-lo com uma mensagem failure, caso ocorra algum erro no processamento da proposta; inform-done, para informar que a atividade já foi realizada ou; inform-result, para enviar o resultado do processamento. Cada técnica de negociação apresentada anteriormente possui características específicas, permitindo sua utilização em diferentes cenários. Por exemplo, para o problema

47 34 do porto em específico, a técnica de negociação por meio de leilões é a que melhor se adapta, uma vez que estão implícitos no modelo do porto valores monetários atribuídos às classes de óleos crus que devem ser alocados no modelo. Além disso, no modelo do porto existe a disputa entre os elementos do sistema (os píeres disputam pela atracagem dos navios, os tanques disputam o recebimento do inventário dos navios e as refinarias, bem como os oleodutos disputam o inventário armazenado nos tanques), e sendo assim o elemento que oferecer o maior lance tem o direito de receber o recurso disputado. Como o SMA proposto deve possuir uma abertura, possibilitando a inclusão de novos agentes ao longo da simulação (ex. inclusão de novos navios, tanques, etc.), que ao entrarem no sistema devem ter um papel definido para fazer parte da negociação para alocação de recursos, tornou-se necessário um estudo sobre modelos organizacionais de agentes. 2.6 MODELOS ORGANIZACIONAIS DE AGENTES Pode-se definir organização de agentes como a maneira em que os agentes se organizam para executar ações com o objetivo de levar o ambiente a um estado satisfatório a todos. LEMAITRE e EXCELENTE (1998) relatam a existência de duas abordagens para a compreensão de como é a organização de um grupo de agentes: centrada nos agentes e centrada na própria organização. Nas organizações centradas nos agentes, os agentes não possuem uma representação explícita da organização. Essa representação está distribuída no código dos agentes e um observador externo (ou outro agente) pode apenas inferir de forma subjetiva à organização por meio de observação do comportamento dos agentes. Esta descrição é chamada de organização observada. Pode-se citar como exemplo, a organização de formigas em um formigueiro. Cada indivíduo que observar um formigueiro formará uma opinião diferente sobre a organização, já que não existe uma descrição única da sua real organização, pois está distribuída e implícita no DNA das várias formigas do formigueiro. Na abordagem centrada na organização, há uma representação explícita da organização e o observador ou um agente pode obter informação formal de como o sistema está organizado. Esta descrição é chamada de sociedade institucionalizada. Pode-se utilizar como exemplo um time de futebol, o qual recebe as instruções vindas do técnico e deve cooperar mutuamente de acordo com as instruções. Neste caso, os observadores conseguem

48 35 representá-la explicitamente, sem precisar observar seu comportamento ou mesmo considerar os agentes que a compõem. Em HÜBNER (2003), é proposta uma sub-divisão nas duas abordagens citadas anteriormente, uma onde os agentes são capazes de representar subjetivamente a organização onde estão inseridos e outra onde os agentes não são capazes de tal representação. Assim temos duas abordagens centradas no agente e duas abordagens centradas na organização. A Figura 5 apresenta as quatro abordagens segundo HÜBNER (2003), sendo que em (a) apenas o observador consegue modelar o comportamento do sistema de forma subjetiva, em (b) a organização é construída pelos próprios agentes de forma subjetiva, cada agente pode construir uma representação organizacional diferente (na figura, os quadrados hachurados ilustram as diferentes representações subjetivas). Em (c), embora o sistema tenha uma organização, os agentes são incapazes de conhecê-la. Já em (d), os agentes podem conhecer a organização tanto de forma subjetiva (cada agente terá uma visão da organização) ou adquirindo informações formais da organização (institucionalizada). Figura 5: Tipos de Organização (HÜBNER, 2003)

49 36 A seguir, um descrição detalhada de cada abordagem: Tipo AR: As organizações tipo AR são concebidas com uma visão centrada nos agentes. Os agentes não representam e não raciocinam sobre a organização observada. Eles são incapazes de gerar uma representação interna de sua organização. Nesse ambiente os agentes possuem comportamentos elementares, e a partir deles, por meio da interação entre os agentes e o ambiente, podem surgir (emergir) comportamentos complexos. Evidentemente, nesse ambiente os agentes são incapazes de alterar sua organização, já que não a conhecem. (ex. formigueiro). Tipo AC: As organizações tipo AC também são concebidas com uma visão centrada nos agentes, e nesse modelo os agentes representam e raciocinam sobre a organização observada a partir de sua percepção ou comunicação, embora não exista uma representação explícita. Nesse ambiente, os agentes são incapazes de alterar sua organização (ex. algumas empresas, onde embora a organização não tenha uma representação explícita, os funcionários conseguem de maneira subjetiva raciocinar sobre a organização). Tipo OR: São concebidas com uma visão centrada na organização, e os agentes não são capazes de representar internamente a sua organização de modo explícito, apesar da sociedade possuir uma descrição. Este tipo de organização estabelece uma restrição forte sobre os agentes, já que estes não têm permissão de agir de forma diferenciada ao comportamento estabelecido pela organização, nem mesmo tirar proveito desse conhecimento para a realização das tarefas. Nesse modelo os agentes não podem mudar a organização (ex. Rede de Espionagem, onde embora haja uma organização, os espiões são incapazes de representá-las). Tipo OC: Concebidas com uma visão centrada na organização, os agentes têm capacidade de representar internamente a organização institucionalizada, possuem seu comportamento parcialmente determinado pela organização, percebem como esta interfere internamente no seu comportamento e no comportamento dos demais agentes do sistema. Os agentes são capazes também de utilizar estas informações para melhorar o seu funcionamento. O tipo de restrição imposta por este tipo de organização é chamada de restrição fraca, pois como os agentes conhecem a organização institucionalizada podem fugir do comportamento que a organização

50 37 estabelece para promover os objetivos. Por exemplo, em um time de futebol o zagueiro pode sair de sua posição original para marcar um gol. Deve-se também levar em consideração as características de autonomia dos agentes dentro das organizações, sendo chamada autonomia organizacional a capacidade do agente de agir de forma diferente ao pré-estabelecido. Para organizações do tipo OC, a autonomia é uma possibilidade. Para organizações do tipo OR não existem autonomia organizacional, já que os agentes são inteiramente dependentes do comportamento estabelecido pela organização e não conseguem modificá-las. Já nas organizações centradas nos agentes (AR e AC) não pode ser definida autonomia organizacional, já que não existem restrições organizacionais. O modelo MOISE+ (Model of Organization for multi-agent SystEm) desenvolvido por HÜBNER (2003), é utilizado para representar a organização de agentes no presente trabalho MOISE+ O modelo MOISE+ apresenta uma visão centrada nas organizações do tipo OC, onde existe uma organização institucionalizada com uma representação explícita e os agentes têm capacidade de raciocinar sobre tal representação. Como conseqüência da visão centrada na organização, o modelo MOISE+ possui uma Especificação Organizacional (EO), um documento que deve ser respeitado por todos os agentes que pertencem à organização. A Especificação Organizacional é subdividida em três dimensões: Especificação Estrutural (EE); Especificação Funcional (EF) e Especificação Deôntica (ED). Especificação Estrutural A Especificação Estrutural se preocupa com os aspectos que devem ser respeitados pelos agentes na organização, tais como a estrutura da organização e as atividades que serão distribuídas para os agentes. Nessa especificação se encontram as definições dos grupos, as atribuições de papéis aos grupos e as relações entre os papéis (autoridade, comunicação, conhecimento sobre outro papel e compatibilidade). No modelo de organização proposto pelo MOISE+, o conceito de papel tem função primordial por ser o elo entre o agente e a organização. Os papéis somente são assumidos no

51 38 nível coletivo, isto é, dentro de um grupo. Intuitivamente, um grupo representa um conjunto de agentes com afinidades maiores e objetivos mais próximos. Especificação Funcional Na Especificação Funcional, a idéia fundamental é a noção de uma meta global, também chamada de esquema, formada por várias metas locais. Uma meta global representa um estado do mundo que é desejado pelo SMA. Uma meta global diferencia-se de uma meta local pelo fato desta última ser uma meta de um único agente, enquanto a primeira é uma meta de todo o SMA. Como as metas são organizadas em uma hierarquia, onde uma meta global (nível hierárquico maior) é decomposta em metas locais (nível hierárquico menor). As metas locais podem ser: seqüenciais (uma é realizada após a outra, e a meta global é satisfeita quando todas as metas locais forem realizadas), paralelas (podem ser realizadas ao mesmo tempo, mas a meta global só é satisfeita se todas as metas locais forem realizadas) ou escolha (idêntica a anterior, porém a meta global é satisfeita se pelo menos uma meta local for realizada). Uma meta possui um valor associado ao nível de satisfação, que indica se a meta já foi realizada (valor satisfied) ou não (valor unsatisfied), ou ainda se ela é impossível de ser iniciada em dado momento (valor impossible). Uma meta é impossível quando em uma seqüência de metas, a meta anterior a ela ainda não foi realizada. Especificação Deôntica A relação entre a Especificação Estrutural e a Especificação Funcional é feita pela Especificação Deôntica em seu nível individual. Nela são especificadas quais metas locais um papel tem permissão ou obrigação de se comprometer. Uma permissão determina que um agente com um papel pode se comprometer com um objetivo local específico. Restrições temporais são estabelecidas para a permissão, isto é, se estabelece um conjunto de períodos de tempo onde a permissão é válida. Uma obrigação estabelece que um agente com papel específico deve se comprometer com um objetivo local em um período de tempo pré-determinado.

52 39 CAPÍTULO 3 METODOLOGIA PARA O DESENVOLVIMENTO DO SIMULADOR MULTIAGENTE Para o sistema de simulação multiagente proposto, foram consideradas as informações sobre o Modelo do Porto (seção 2.1), modelando-o como um SMA. Para comparar de maneira justa os resultados gerados pelo simulador com os resultados obtidos por sistemas que fazem uso da PLIM (MÁS, 2001; BOSCHETTO, 2006; VEIGA, 2006), foram utilizadas no desenvolvimento do simulador as mesmas restrições e as mesmas funções objetivo utilizadas por esses autores, sendo o SMA também modelado com representação contínua do tempo. Os módulos do SMA foram inspirados nos SMA citados na seção 2.4 da revisão bibliográfica, assim como a escolha do método de negociação foi conseqüência do estudo apresentado na seção 2.5. Para a organização dos agentes, optou-se por uma abordagem centrada na organização conforme a seção 2.6. A Figura 6 apresenta os estudos realizados para a modelagem do sistema de simulação multiagente na revisão bibliográfica e a influência destes na metodologia de desenvolvimento (coluna do meio). Este capítulo apresenta não só a metodologia, mas também os resultados das etapas de desenvolvimento. Estudo de SMA aplicados ao gerenciamento de cadeias de suprimentos (seção 2.4) Definição dos Agentes para utilização no Modelo do Porto (seção 3.1) Estudo das técnicas de negociação multiagente (seção 2.5) Modelos de Programação Linear Inteira Mista (seções 2.2 e 2.3) Modelos organizacionais de agentes (seção 2.6) Seleção de uma técnica para aplicação no Modelo do Porto (seção 3.2) Modelo interno dos agentes com as políticas de alocação de Recursos (seção 3.3) Definição da organização dos agentes (seção 3.4) Desenvolvimento do Sistema de Simulação Multiagente (seção 3.5, 3.6 e 3.7) Figura 6: Estudos realizados para a modelagem do sistema de simulação multiagente

53 DEFINIÇÃO DOS AGENTES DO SISTEMA Uma das vantagens no desenvolvimento de um SMA é que a identificação dos agentes é feita, em grande parte dos casos, de maneira um-para-um em relação aos tipos de elementos existentes no domínio da aplicação. Assim, para o sistema proposto, foram identificados os seguintes tipos de agentes: Agente Navio: responsável por fornecer recursos ao SMA. O agente navio é um elemento dinâmico do sistema podendo ser incluído a qualquer momento. Ao ser inserido, o agente navio tem por objetivo descarregar seu inventário de óleo cru nos píeres de maneira otimizada; Agente Píer: responsável pela atracagem do maior número de navios. Ao receber a informação da chegada de um novo navio, o agente píer tenta recebê-lo procurando maneiras de minimizar os custos da atracagem e de maximizar os lucros do petróleo recebido. O píer só envia propostas para navios de tamanhos por ele suportados; Agente Tanque: responsável por armazenar os carregamentos de óleo cru provenientes dos navios. Seu objetivo é receber o maior volume possível de óleo. Ao receber dos píeres a informação da chegada de um navio, envia sua proposta para receber o carregamento de óleo. Sua proposta pode ser total ou parcial. Também é tarefa do agente tanque agendar a decantação, bem como negociar com o agente oleoduto o envio de seu inventário para a refinaria; Agente Oleoduto: possui a função de enviar os tipos de óleos dos tanques para a refinaria. Ao receber uma requisição de envio, o agente oleoduto verifica se a refinaria suporta o novo inventário, se positivo o descarregamento é agendado; Agente Refinaria: agente que consome óleo cru a uma vazão conhecida, envia constantemente informações aos oleodutos que alimentam a refinaria sobre sua situação e sua agenda de recebimento de novas quantidades de óleos crus, garantindo que seu estoque fique sempre entre o mínimo e o máximo estabelecido. Para cada cenário de teste, pode existir um ou mais agentes de cada tipo, dependendo do número de elementos reais que devem ser simulados. Por exemplo, se há 10 tanques no porto, há 10 agentes tanque na simulação.

54 Cadeia de Suprimentos no Modelo do Porto É possível realizar uma correspondência entre os tipos de agentes identificados com os elementos de uma cadeia de suprimentos tradicional (Figura 7). Figura 7: Correspondência dos agentes do Modelo do Porto com uma cadeia de suprimentos tradicional Os cinco tipos de elementos, Fornecedores, Compradores, Estoque, Vendedores e Consumidores, são os agentes comumente utilizados em um SMA de gerenciamento da cadeia de suprimentos, segundo o levantamento apresentado na Tabela 3. No SMA proposto, os navios são os fornecedores da cadeia de suprimento, os quais possuem um inventário e desejam vendê-lo aos compradores, representados no SMA pelos píeres. Assim como nos leilões do mundo real, o fornecedor vende seu produto ao comprador que oferecer a maior quantia. A quantia oferecida pelo píer ao navio é o valor monetário que o sistema lucra se o navio atracar nesse píer. O lucro é calculado pelo somatório dos valores monetários agregados ao inventário de óleo do navio se os mesmos forem armazenados nos tanques escolhidos pelo píer. Do lucro são subtraídas as despesas para descarregar o inventário de óleo do navio.

55 42 O píer (comprador), por sua vez, verifica quais os produtos (classes de óleos) mais rentáveis para o inventário comprado do navio, armazenando-o nos tanques (estoque). No modelo do porto, pode-se considerar os tipos de óleos crus existentes nos navios como a matéria prima e as classes de óleos crus armazenadas nos tanques como o produto final. Assim que o agente tanque estiver próximo de sua capacidade máxima, é enviada uma mensagem ao agente oleoduto (vendedor) solicitando o descarregamento do respectivo tanque. O agente oleoduto por sua vez solicita as informações de todas as refinarias (cliente da cadeia de suprimento) ligadas a ele, solicitando as informações para saber qual refinaria está com seu inventário mais próximo do mínimo ou que resultará em um maior lucro para o sistema. A refinaria é tratada como cliente da cadeia de suprimento Agentes Auto-Interessados x Agentes Benevolentes Um dos objetivos desse trabalho é comparar o desempenho de dois SMA, um deles formados por agentes auto-interessados que compartilham poucas informações entre si e outro, por agentes benevolentes. Inicialmente, foi modelado um sistema com agentes auto-interessados, no qual os agentes de um mesmo grupo não compartilham informações entre si, somente com os agentes de outros grupos. Por exemplo, para o agente píer (requisitante) alocar o petróleo de um navio nos agentes tanques (requisitado), é necessário que o agente requisitante envie uma mensagem a todos os agentes do grupo requisitado. Cada agente do grupo requisitado, por sua vez, procura receber sozinho o máximo do recurso oferecido pelo agente requisitante, sem trocar mensagens e sem saber a situação dos outros agentes do seu grupo. Como os agentes de um grupo não trocam informações, é difícil otimizar ao mesmo tempo o valor da função objetivo (lucro) e o horizonte de tempo necessário para o envio do óleo do porto para a refinaria, já que para a otimização de ambos, seria necessário conhecer a agenda completa dos outros agentes, a fim de encontrar alternativas que possam minimizar o horizonte de planejamento 2 sem comprometer o valor da função objetivo. Por esse motivo optou-se por realizar dois testes diferentes com SMA auto-interessado: um deles visando maximizar exclusivamente o valor da função objetivo e o outro teste visando otimizar o horizonte de planejamento. 2 Horizonte de planejamento, no caso em estudo, é o tempo necessário (em horas) para enviar todo o inventário existente nos tanques para a refinaria.

56 43 Na abordagem com agentes benevolentes, como existe o compartilhamento de informações entre agentes de um mesmo grupo, é possível encontrar soluções que otimizem o valor da função objetivo e, ao mesmo tempo, o horizonte de tempo para envio de óleo do porto para a refinaria. Para alocação dos recursos (navios e óleos) é utilizado o protocolo FIPA Contract-Net no modelo do porto. 3.2 FIPA CONTRACT-NET APLICADO AO MODELO DO PORTO Dentre as técnicas de negociação estudadas, a que melhor se adaptou ao SMA proposto foi a técnica de negociação por meio de leilão, uma vez que estão implícitos valores monetários no modelo do porto, valores estes atribuídos às classes de óleos cru, e também por existir no modelo do porto a disputa por recursos (navios e óleos cru) entre os elementos do sistema. Segundo MOYAUX, CHAIB-DRAA e D AMOURS (2006), como em qualquer iteração, aquelas que envolvem SMA são formadas por no mínimo dois agentes: um agente credor e um devedor. No SMA proposto, o agente credor é o agente que inicia a oferta de um recurso e o devedor é o que recebe uma requisição e deve respondê-la com um lance. Pode-se citar como exemplo a chegada de um navio no porto (credor), o qual envia as informações dos inventários para todos os píeres (devedores) que devem responder à requisição com uma proposta. Um agente devedor em uma iteração poderá ser o agente credor em outra. Pode-se citar como exemplo os píeres, que ao receberem o pedido de cotação de um navio desempenham o papel de devedor, mas ao solicitarem uma cotação aos tanques para que recebam o inventário de um navio, passa a desempenhar o papel de credor. O leilão foi escolhido por ser uma técnica simples e eficiente de negociação e satisfaz os quatro requisitos mínimos de uma boa metodologia de negociação definidos por KRAUS (2001): Simplicidade: um processo de negociação deve ser simples e eficiente, mesmo em processos complexos. Uma estratégia simples significa a fácil implementação em agentes autônomos; Eficiência: o processo deve considerar que em algumas situações uma solução factível é mais importante que a melhor solução para um dado problema;

57 44 Tempo de negociação: em situações onde existe restrição de tempo, soluções rápidas e eficientes são preferíveis em relação às soluções ótimas; Estabilidade: independente do número de agentes no sistema, a negociação deve continuar apontando para bons resultados. Para a estratégia de negociação, foi utilizada negociação unilateral através de leilões, não sendo desenvolvidas heurísticas complexas para negociação bi-lateral, troca de dados e tomada de decisão, o que flexibiliza a utilização do simulador em outros modelos, como o Modelo da Subestação (MÁS, 2001). Dentre os tipos de leilão, foi utilizado o Leilão de Lance Fechado de Primeiro Preço, que é uma variação do Leilão Inglês. No leilão inglês original, os participantes podem enviar vários lances, e ao final, quem enviar o lance com maior valor ganha o leilão. A diferença no Leilão de Lance Fechado de Primeiro Preço é que todos os participantes têm o direito de enviar um único lance. Após a chegada de todos os lances (ou atingida a deadline), o agente que iniciou o leilão irá selecionar a melhor proposta para atender sua solicitação. No Modelo do Porto, foi implementado um leilão em três momentos, que acontecem de forma seqüencial, apresentado graficamente na Figura 8 e detalhado no diagrama de seqüência da Figura 9. Para diminuir a complexidade do sistema, não se considerou leilões paralelos, ou seja, o leilão de um novo navio só inicia após o término do leilão do navio anterior. Isso é possível porque o tempo para alocação de um novo navio utilizando SMA é pequeno. 1º 2º 3º Figura 8: Seqüência de leilões no modelo do Porto

58 45 Figura 9: Diagrama de seqüência dos leilões no modelo do porto Inicialmente, ao chegar ao porto, o navio inicia o primeiro leilão solicitando aos píeres propostas para recebê-lo (mensagem 1). Cada píer inicia um segundo leilão ao receber o pedido de proposta do navio, solicitando aos tanques propostas de armazenamento para a carga de óleo cru do navio (mensagem 2). Ao receber as propostas dos tanques (mensagem 3), os píeres selecionam a melhor proposta, se o inventário pode ser absorvido por um único tanque. Quando necessita-se ratear o inventário entre vários tanques, o píer seleciona as melhores propostas dos tanques e monta sua proposta, respondendo o pedido de cotação do navio (mensagem 4). Caso o píer não suporte o navio, ele responde o pedido de proposta com uma mensagem de recusa. A melhor proposta varia de acordo com a abordagem. Na abordagem de agente autointeressado que otimiza o valor da função objetivo, a melhor proposta é a que possui maior lucro. Na abordagem de agente auto-interessado que otimiza o horizonte de planejamento, a melhor proposta é a que possui a menor hora final de utilização. No caso de agentes benevolentes, a melhor proposta é a que apresenta melhor lucro líquido, que leva em consideração valores referentes ao período de utilização do píer, sobre-estadia, etc.

59 46 Após receber a proposta de todos os píeres ou chegada a deadline, o navio seleciona a melhor proposta e envia uma mensagem de aceite ao píer que ganhou o leilão (mensagem 5). O píer, por sua vez, envia uma mensagem de aceite a todos os tanques selecionados para receberem o inventário do navio (mensagem 6). O tanque que receber a notificação de aceite do píer deve verificar a situação do inventário após o descarregamento do navio. Se alcançar sua capacidade máxima, o tanque agenda a decantação e inicia o terceiro leilão, onde envia um pedido de cotação para todos os oleodutos ligados a ele (mensagem 7). O oleoduto, ao receber o pedido de cotação, envia uma mensagem (call for information) para a refinaria solicitando a agenda de destilação de óleo cru (mensagem 8) e com base nela elabora uma proposta para o tanque. Ao receber as propostas (mensagem 10), o tanque seleciona a melhor e envia uma mensagem de aceite para o oleoduto ganhador (mensagem 11). Os agentes píeres, tanques, oleodutos e refinarias possuem uma agenda individual de utilização e são consultadas a cada pedido de cotação para evitar a alocação de dois recursos diferentes no mesmo intervalo de tempo. Após a mensagem de aceite do primeiro leilão, o agente píer adiciona na sua agenda o horário inicial e final de sua utilização pelo navio, na mensagem de aceite do segundo leilão, os agentes tanques adicionam o início e fim de descarregamento dos tipos de óleos crus em suas agendas. Na mensagem de aceite do terceiro leilão, o agente oleoduto adiciona na sua agenda sua utilização pelo tanque e também envia essa informação para a refinaria, que a utiliza para atualizar sua agenda de recebimento de óleo Utilização do FIPA Contract-Net com Agentes Auto-Interessados A Figura 10 e a Figura 11 apresentam diagramas de seqüências das trocas de mensagens após a chegada de um novo navio ao porto em um modelo que faz uso de agentes auto-interessados. No cenário apresentado, o navio possui um inventário de 100 x m 3 de óleo cru. O porto possui dois píeres e dois tanques, os quais suportam o tipo de óleo cru contido no navio. No cenário também é apresentado um oleoduto que está ligado a uma refinaria.

60 47 m 3 de óleo m 3 de óleo,nobreza lucro($), sendo o valor da nobreza multiplicado pela qtd de óleo menos os custos de atracagem Figura 10: Diagrama de seqüência do primeiro momento do leilão de um novo navio com SMA auto-interessado m 3 de óleo m 3 de óleo custo de interface ($) Figura 11: Diagrama de seqüência do segundo momento do leilão de um novo navio com SMA auto-interessado Inicialmente, o navio envia uma mensagem multicast a todos os agentes píer com um cfp (call for proposal). O píer 1, por sua vez, inicia o leilão para selecionar os tanques que

61 48 receberão o inventário do navio, enviando uma nova mensagem multicast com o cfp a todos os tanques. Após o recebimento da mensagem, os tanques irão responder com uma proposta. Na proposta são enviadas informações como a quantidade de óleo cru que o tanque pode receber e em quanto será valorizado cada 1.000m 3 de óleo no tanque. A essa valorização dá-se o nome de nobreza. Se o leilão priorizar o tempo de envio do inventário, será enviada a hora final de descarregamento no lugar da nobreza. Na escolha da proposta pelo píer, se for levada em consideração a otimização da função objetivo, é escolhida a proposta do tanque que apresenta maior nobreza (o motivo para a utilização da nobreza na otimização do lucro é apresentado na seção 3.3.1). Caso seja priorizado o tempo de descarregamento, é selecionado o tanque que propuser a menor hora final de descarregamento. Outra característica na utilização de agentes auto-interessados é a utilização de leilão recursivo 3, como pode ser visualizado no exemplo da Figura 10. O tanque 1 possui a maior nobreza, entretanto ele consegue se comprometer com apenas 55 x m 3 de óleo cru. Nessa situação é iniciado um novo leilão para (100 55) x m 3 de óleo cru e, no segundo leilão, o tanque 2 se compromete com a quantidade restante. Após receber as propostas dos tanques, o píer envia uma mensagem propose para o navio, com o lucro da atracagem, que corresponde à valorização do óleo se o navio descarregar nos tanques escolhidos e atracar no píer descontados os custos para descarregamento. Caso seja priorizado o horizonte de planejamento, o píer envia no lugar do lucro a hora de término do descarregamento. O navio, por sua vez, seleciona a proposta que apresenta maior lucro de atracagem, caso a otimização da função objetivo seja priorizada, ou a proposta que possui a menor hora de término do descarregamento, no caso do horizonte de planejamento ser priorizado. No diagrama da Figura 11, é exibido o accept-proposal do navio. Após receber a mensagem de accept-proposal, o píer envia uma mensagem para cada tanque que se comprometeu com o inventário do navio. No exemplo, é possível verificar que o tanque 1, após receber o inventário atingiu sua capacidade máxima e, por esse motivo, inicia um novo leilão para selecionar um oleoduto para descarregá-lo. 3 No algoritmo do SMA existe a garantia que a recursividade seja finalizada. A recursividade finda de duas maneiras: quando o SMA encontra uma quantidade de agentes que se comprometem em atender um pedido de cotação, e nessa situação é enviada uma mensagem com a proposta (propose), ou quando não existem mais agentes aptos a atender o pedido de cotação, nessa situação é enviada uma mensagem de recusa (refuse) como resposta.

62 49 Após receber o cfp, o oleoduto envia um call for information (cfi) para receber a agenda da refinaria. Com ela, o oleoduto saberá quando a refinaria poderá receber óleo cru do tanque. A resposta da refinaria é dada por um send information (si) Utilização do FIPA Contract-Net com Agentes Benevolentes A utilização do protocolo de leilão FIPA Contract-Net na abordagem com agentes benevolentes é semelhante à abordagem com agentes auto-interessados, apresentada na Figura 10 e Figura 11. A maior diferença está na eliminação do leilão recursivo, leilão esse utilizado quando um agente requisitado não consegue absorver sozinho o recurso proposto pelo agente requisitante. Na abordagem cooperativa, no lugar do agente requisitado responder a proposta de um leilão com um único lance (uma hora de início, uma hora de fim e uma quantidade), ele responde à proposta com todas as opções possíveis para receber o recurso proposto, enviando os intervalos de tempos livres na sua agenda, o volume de óleo que pode ser recebido em cada intervalo de tempo e o lucro em cada situação. Com isso, o agente que fez um pedido de cotação, pode escolher as opções mais lucrativas dentre todas as enviadas pelos agentes requisitados e que ao mesmo tempo minimizem o horizonte de planejamento. Na Figura 12 é apresentada a primeira parte do leilão de um novo navio no SMA benevolente e ressalta-se a redução significativa no número das mensagens trocadas. Anteriormente (Figura 10), as mensagem 3 e 4 continham apenas uma proposta, já no SMA benevolente elas possuem toda a agenda livre do agente, bem como sua capacidade em cada intervalo (na mensagem 3, o agente indica que está livre da hora 1 até à hora 2, podendo receber 10x1000m 3 de óleo, que também está livre entre a 11ª a 13ª hora podendo receber 45x1000m 3, e também entre a 22ª a 27ª, podendo receber 60x1000m 3, sendo que nas três situações a nobreza do óleo no tanque é de 5.13). Dessa maneira, o píer pode montar sua proposta com todas as opções disponíveis e enviá-la para o navio, o que facilita a maximização do lucro e a minimização do horizonte de planejamento. Para o SMA benevolente, a segunda parte do leilão accept-proposal (Figura 11) permanece idêntica.

63 50 Figura 12: Diagrama de seqüência do primeiro momento do leilão de um novo navio com SMA benevolente Para um agente píer montar uma proposta e enviá-la ao agente navio, ele deve receber e escolher as melhores propostas enviadas pelos agentes tanques. Para a escolha da primeira proposta, o agente píer escolhe a proposta do tanque que apresenta maior nobreza. Caso seja necessário mais algum tanque para receber o inventário do navio, é levado em consideração o lucro das demais propostas, sendo o lucro calculado em função do valor da nobreza do tanque e do tempo que o navio deverá permanecer no píer para que a proposta seja utilizada, evitando períodos de ociosidade. Sempre que possível, é escolhida a proposta que possui menor hora de término, objetivando reduzir o horizonte de planejamento. 3.3 DEFINIÇÃO DA POLÍTICA DE ALOCAÇÃO DE RECURSOS Para a modelagem do SMA proposto, foi analisado o processo de desenvolvimento de um modelo utilizando a PLIM, com o objetivo de unir as vantagens de um SMA (descentralização) com as vantagens presentes na PLIM (garantia que as restrições serão respeitadas e que o ótimo da função objetivo será atingida). Para o desenvolvimento de um modelo utilizando PLIM há necessidade de definir o problema a ser abordado, identificando as restrições nele presentes e alguns fatores que influenciam a função de avaliação (função objetivo) do problema em estudo. Uma clara delimitação de escopo é mandatória. As informações obtidas serão utilizadas no processo de formulação matemática.

64 51 Para a modelagem do SMA proposto, tais identificações também foram realizadas, entretanto de modo inverso, uma vez que o modelo do porto já havia sido modelado utilizando PLIM em MÁS (2001), e dessa modelagem, foram extraídas a função objetivo e as restrições Função Objetivo do Sistema A função objetivo utilizada pelo SMA para o problema do porto possui como critério a maximização do lucro, ou seja, a diferença entre receitas e despesas (custos) no porto. Para o presente trabalho, foi utilizada a mesma função objetivo de MÁS (2001), BOSCHETTO (2006) e VEIGA (2006). A função objetivo é representada pela seguinte fórmula: Função Objetivo = Maximizar( receita das classes de óleo nas refinarias + (receita final de óleo no porto - receita inicial de óleo no porto) custo do óleo cru nos navios custo de utilização dos píeres custo de sobre-estadia dos navios custo de interface entre duas classes de óleo cru no oleoduto ) Sendo: receita das classes de óleo nas refinarias: o somatório dos volumes de todas as classes de óleos crus enviadas para as refinarias multiplicadas pelo valor da lucratividade de cada classe de óleo na refinaria; receita final de óleo no porto - receita inicial de óleo no porto: é o inventário de óleo cru que restou nos tanques do porto no final da simulação, diminuído da quantidade inicial de óleo nos tanques no início da simulação. Essa diferença é multiplicada pelo valor da lucratividade de cada classe de óleo no porto; custo do óleo cru nos navios: é o inventário de todos os navios do sistema, multiplicado pelo custo de cada tipo de óleo cru no navio; custo de utilização dos píeres: representa o gasto para atracar todos os navios nos píeres;

65 52 custo de sobre-estadia dos navios: é o somatório dos valores de sobre-estadia de todos os navios no porto; custo de interface entre duas classes de óleo cru no oleoduto: custo das interfaces utilizadas pelos oleodutos para transferir as diferentes classes de óleos dos tanques para as refinarias. A representação formal da função objetivo é dada pela Equação 1. (1) Sendo: R Conjunto de Refinarias no sistema; CL Conjunto das classes de Óleo Cru no sistema; T Conjunto dos Tanques no sistema; N Conjunto dos Navios no sistema; P Conjunto dos Píeres no sistema; O Conjunto dos Oleodutos no sistema; E Conjunto de eventos do sistema; CLR r Conjunto de classes de óleo cru que abastecem a refinaria r; REV R cl, r class Receita de volume da classe cl da refinaria r [$/1000m 3 ]; OR r Conjunto de oleodutos que abastecem a refinaria r; TCL cl Conjunto de tanques que armazenam petróleo da classe cl; TO o Conjunto de tanques que podem ser conectados ao oleoduto o; QUT t,o,e Quantidade de óleo cru descarregado do tanque t no oleoduto o no evento e [1000m 3 ]; REV P cl class Receita da classe cl no porto [$/1000m 3 ]; V t,e T Estoque no tanque t no final da simulação [1000m 3 ]; V t 0 Quantidade inicial de óleo no tanque t [1000m 3 ]; COST c crude Custo do tipo de óleo cru c nos navios [$/1000m 3 ]; NC c Conjunto de navios que armazenam o tipo de óleo cru c; C n,c Carga de Óleo cru c do navio n [1000m 3 ]; COST p pier Custo de utilização do píer p [$/h];

66 53 NP p Conjunto de navios que podem atracar no píer p; start τ n,p Instante de entrada do navio n do píer p [h]; τ end n,p Instante de saída do navio n do píer p [h]; COST se n Custo de sobre-estadia do navio n [$/h]; T se n Tempo de sobre-estadia do navio n [h]; CLO o Conjunto de classes de óleo cru que são transportados pelo oleoduto o; face COST cl, cl Custo de interface entre as classes cl e cl [$]; INT cl,cl0,o,e Indica se houve ou não interface entre classes de óleo cru cl e cl no oleoduto o entre o evento e e o evento e+1. Como o sistema proposto é multiagente, a implementação da função objetivo é distribuída na lógica dos vários agentes inseridos no sistema, sendo que cada agente implementa apenas as funções específicas referentes às suas atividades na cadeia de suprimento. Abaixo segue os itens da função objetivo, bem como os agentes envolvidos: receita das classes de óleo nas refinarias: esse item é de responsabilidade do agente píer, que ao receber um cfp de um novo navio seleciona para receber o inventário do navio os tanques que possibilitam maximizar a receita das classes de óleo na refinaria. Essa receita é maximizada quando utiliza-se tanques com maiores nobrezas. A nobreza é a valorização de cada classe de óleo quando é transportada do porto para a refinaria, uma vez que o valor da classe de óleo na refinaria é maior que o valor da classe de óleo no porto; receita final de óleo no porto menos receita inicial de óleo no porto: como o objetivo é enviar todo o óleo possível do porto para a refinaria no final da simulação, esse item não precisa ser levado em consideração pelos agentes uma vez que, ao final da simulação, a receita final do óleo no porto sempre será o inventário nos tanques do porto no final da simulação (não pode ser esvaziado totalmente, devendo permanecer uma quantidade mínima nos tanques) menos o óleo existente no porto no início da simulação; custo do óleo cru nos navios: esse item também não é levado em consideração pelos agentes, uma vez que o inventário de cada navio é imposto, não sendo decidido pelo SMA; custo de utilização dos píeres: a redução do custo de utilização dos píeres é responsabilidade do agente píer e do agente navio. Do agente píer porque ele deve montar uma agenda de descarregamento do navio que possibilite um menor tempo de

67 54 atracagem no píer. Do agente navio porque ele deve selecionar dentre os píeres que o suporte, o que possua menor custo por hora de atracagem; custo de sobre-estadia dos navios: esse item também é de responsabilidade do agente píer, uma vez que a agenda que ela prepara para o navio deve respeitar o período de entrada do navio no porto e não deve ultrapassar o tempo limite de saída do navio, caso seja necessário utilizar sobre-estadia, procura-se minimizar esse tempo; custo de interface entre duas classes de óleo cru no oleoduto: o agente tanque é o responsável por selecionar, dentre todos os oleodutos ligados a ele, o que possibilita enviar sua classe de óleo com o menor custo de interface. O custo de interface só não é levado em consideração se uma das refinarias ligadas ao porto possui seu estoque próximo do mínimo, com isso essa refinaria tem prioridade em receber o óleo cru Restrições do Sistema Em PLIM, elas são representadas por um conjunto de equações/inequações. Para o modelo do porto, as restrições do sistema, segundo MÁS (2001), são apresentadas na listagem abaixo, e são codificadas dentro de agentes específicos: Cada navio pode atracar em um só píer: restrição tratada pelo agente navio, que ao receber as respostas para os pedidos de cotação, seleciona apenas um píer para atendêlo; A quantidade de óleo cru a ser descarregada pelo navio deve ser igual a carga total de óleo existente no navio: restrição tratada pelo agente píer que, ao receber um pedido de cotação do navio, procura encontrar tanques para receber todo o inventário do mesmo, caso contrário responde o pedido de cotação com a mensagem de refuse, o que indica que o píer não está apto a atracar o navio; Um tanque não pode ser carregado e descarregado ao mesmo tempo: restrição tratada pelo agente tanque, que antes de agendar um novo carregamento ou descarregamento, verifica sua agenda para não permitir as duas operações no mesmo intervalo de tempo; Um oleoduto pode estar conectado somente a um tanque por vez: o agente oleoduto verifica sua agenda para não permitir duas conexões ao mesmo tempo;

68 55 Um navio somente pode estar conectado em um tanque de cada vez: restrição tratada pelo agente píer, que ao receber o pedido de cotação do navio, seleciona um ou mais tanques para receber seu inventário. Caso seja necessário mais de um tanque, o agente píer verifica as propostas para que o navio não utilize dois tanques ao mesmo tempo; No início da simulação, a quantidade de óleo em cada tanque deve ser igual ao volume inicial informado: ao ser iniciado, o agente tanque valoriza seu estoque inicial com as informações referentes ao cenário; Um tanque não pode armazenar mais que sua capacidade máxima: ao enviar uma proposta ao agente píer, o agente tanque verifica sua agenda e envia uma proposta respeitando sua capacidade máxima; Um tanque não pode armazenar menos que sua capacidade mínima: ao solicitar seu descarregamento no oleoduto, o agente tanque sempre descarrega seu volume atual menos sua capacidade mínima, garantindo que essa restrição não seja violada; No início da simulação, a quantidade de óleo nas refinarias devem ser iguais ao volume inicial informado: ao ser iniciado, o agente refinaria valoriza seu estoque inicial com as informações referentes ao cenário; Uma refinaria não pode armazenar mais que sua capacidade máxima: ao receber pedido de proposta para o descarregamento de um tanque, o agente oleoduto solicita informações sobre o inventário da refinaria. Se a mesma estiver com sua capacidade máxima de armazenamento, o agente oleoduto responde o pedido de cotação do tanque com uma mensagem de refuse; Uma refinaria não pode armazenar menos que sua capacidade mínima: ao receber pedido de proposta para o descarregamento de um tanque, o agente oleoduto solicita informações sobre o inventário da refinaria, se a mesma estiver com sua capacidade próxima do mínimo, o agente oleoduto irá enviar uma mensagem ao tanque indicando o estado crítico da refinaria, fazendo com que o tanque o escolha para o descarregamento; A quantidade de óleo descarregado pelo navio em um período de tempo deve ser igual ao período de tempo multiplicado pela vazão de descarregamento: essa restrição é tratada pelo agente píer, que ao receber a resposta do pedido de cotação vinda do tanque, verifica se a quantidade proposta é proporcional ao tempo necessário para receber o inventário multiplicado pela vazão do navio;

69 56 A quantidade de óleo descarregado pelo tanque em um período de tempo deve ser igual ao período de tempo multiplicado pela vazão de descarregamento: essa restrição é tratada pelo agente tanque, que ao receber a resposta do pedido de cotação vinda do oleoduto, verifica se a quantidade proposta é proporcional ao tempo necessário para enviar o inventário multiplicado pela vazão do oleoduto; Ao transportar duas classes de óleo distintas no oleoduto, gera-se uma interface: restrição tratada pelo oleoduto, o qual possui uma agenda das últimas classes transportas, com isso é possível verificar o valor da interface que será utilizada; Um tanque só pode enviar óleo pelo oleoduto após um período de decantação de no mínimo 24 horas: restrição tratada pelo agente tanque, que ao aferir que sua capacidade ultrapassou a metade do nível máximo, agenda o período de decantação de 24 horas, e envia um pedido de cotação aos oleodutos para o descarregamento na seqüência. As restrições apresentadas anteriormente são restrições operacionais, entretanto quando se utiliza tempo contínuo na PLIM, existe a necessidade de adicionar uma série de restrições referentes ao tempo de ocorrência dos eventos. Para a modelagem do SMA, essas restrições temporais não foram necessárias, já que a representação temporal é tratada de maneira diferente Representação Temporal no SMA Ao contrário da PLIM em que se pode optar pelo tempo discretizado ou contínuo, no SMA proposto o tempo é tratado apenas de forma contínua. Para a utilização de tempo contínuo na PLIM, é necessária a definição de restrições temporais, por exemplo, indicar que a hora de término do descarregamento de um navio nos tanques deve ser menor que a hora em que o navio desatraca do píer. Para o SMA proposto não são necessárias tais restrições, uma vez que o processo de alocação acontece de forma seqüencial, tendo início com a chegada do navio nas proximidades do porto. Esse evento inicia uma seqüência de leilões (Figura 8) que objetivam alocar o novo navio nos píeres, distribuir seu inventário entre os tanques mais lucrativos, agendar a decantação dos tanques que atingirem sua capacidade máxima e selecionar oleodutos para enviarem o óleo dos tanques decantados para as refinarias. Todos os eventos

70 57 citados anteriormente possuem uma hora de início, uma hora de fim e um quantificador que informa, por exemplo, o volume de óleo que será movimentado no sistema. Como os agendamentos dos recursos acontecem de forma seqüencial (seguindo a lógica dos três leilões - Figura 8), não acontecem inconsistências temporais nos agendamentos, como terminar de descarregar o inventário de um navio nos tanques após o mesmo ter desatracado do píer Política para a Escolha dos Recursos A política para escolha de recursos no SMA foi elaborada após a observação de vários resultados ótimos obtidos pelo modelo de MÁS (2001) para diferentes cenários. O resultado ótimo representa a maneira mais lucrativa de alocar os navios e seus inventários no porto. Caso não seja possível uma observação prévia dos resultados ótimos, uma coleta de informações com especialistas no problema pode auxiliar na definição das políticas para escolha dos recursos. Após a observação dos resultados ótimos gerados pela PLIM, foi identificado que, na maioria dos casos, no início da simulação (etapa inicial), os tanques decantados com maiores nobrezas eram os primeiros a serem enviados para a refinaria. Com isso os tanques mais nobres tornam-se disponíveis antes dos tanques menos nobres, permitindo que navios os utilizem precocemente. Em uma etapa intermediária, foi identificado que na maioria das vezes os navios são descarregados primeiramente no tanque livre mais nobre, caso não seja possível descarregar todo o inventário do navio nesse tanque, então os mesmos selecionam o segundo tanque mais nobre e assim por diante. Outra característica observada nos resultados ótimos é que o processo de descarregar dos tanques é feito totalmente, ou seja, ao descarregar um tanque no oleoduto todo seu inventário é enviado, permanecendo no tanque apenas a quantidade mínima, já que o custo de interface não depende da quantidade descarregada. Por esse motivo, é comum ao final da simulação não haver uma etapa final de descarregamento, já que conforme os tanques vão recebendo inventário, os mesmos vão descarregando no oleoduto. Havendo a necessidade de um descarregamento final, os tanques que possuem um menor custo de interface são descarregados primeiro. Assim, definiu-se uma estratégia em três etapas para alocação de recursos:

71 58 Etapa inicial: define-se uma agenda para descarregamento dos tanques já decantados no início da simulação, a fim de aumentar a disponibilidade dos tanques para receberem o inventário dos navios; Etapa intermediária: atracar os navios, selecionando os tanques mais lucrativos para receber o inventário. Se o tanque chegar à sua capacidade máxima, deve-se agendar a decantação do tanque, descarregando-o totalmente no oleoduto assim que possível, respeitando a capacidade mínima e máxima da refinaria; Etapa Final: Verificar quais tanques possuem inventário ao final da simulação, definindo uma agenda para descarregamento dos mesmos. Após observação, as características relatadas foram implementadas no SMA. Com o objetivo de produzir resultados próximos do ótimo global sem avaliar todas as possíveis soluções (o que acontece na PLIM que faz uso do algoritmo branch-and-bound, por exemplo), mas apenas as soluções potenciais para o resultado ótimo. Na Figura 13 é apresentado um exemplo simplificado da chegada de um navio ao porto (navio Muriae), o qual possui a opção de atracar em dois píeres (P-1 e P-2), e descarregar em dois tanques (T-1 e T-2). Para o exemplo, considerou-se que o Muriae está carregado com 15 u.m. (unidade de medida) de um tipo de óleo. Ambos os tanques possuem uma capacidade livre igual a 10 u.m. O tanque T-1 possui uma nobreza igual a 5, enquanto a nobreza do tanque T-2 é igual a 10. Dadas essas informações (sem considerar outras variáveis ou informações temporais), o algoritmo branch-and-bound geraria uma árvore semelhante à da Figura 13. Figura 13: Árvore com as alternativas para alocação de um navio no porto

72 59 Nesse exemplo, são apresentadas na árvore todas as opções de atracagem para o navio Muriae. A primeira pesquisa será realizada para calcular o lucro do navio atracando no P-1, descarregando 10 u.m no tanque T-1 e 5 u.m. no tanque T-2. Somando-se os lucros e subtraindo deste o custo do píer, tem-se um lucro final de 90. Assim o algoritmo irá explorar as outras possíveis soluções até chegar na solução do ramo mais a direita da figura, onde o mesmo atracaria no P-2, descarregando 10 u.m no T-2 e 5 u.m. no T-1, obtendo um lucro final de 120. Essa é a solução com maior lucro final, logo seria escolhida pelo modelo de MÁS (2001) que faz uso do algoritmo branch-and-bound. Com a aplicação do SMA no mesmo cenário, a princípio o navio Muriae escolheria o píer com menor custo (P-2) para continuar sua pesquisa por soluções a partir dele. A segunda escolha seria o tanque mais lucrativo (T-2). Como o inventário não pode ser descarregado totalmente nesse tanque, o segundo tanque mais lucrativo é escolhido para o inventário restante (T-1), o que produziria o resultado final. Dessa forma, o SMA consegue encontrar resultados próximos dos ótimos (e em algumas vezes o resultado ótimo) rapidamente, já que ao escolher as opções mais lucrativas acontece uma poda na árvore, sendo que as soluções podadas não serão mais consideradas.entretanto, o SMA proposto não garante que a melhor solução seja encontrada, uma vez que o espaço de busca explorado é menor que o espaço de busca da PLIM. Complementando o exemplo anterior, se no SMA, após a alocação do navio Muriae for adicionado um segundo navio, sendo que este deve permanecer um tempo muito curto no porto para não ser cobrada a taxa de sobre-estadia, e sendo ele carregado de 5 u.m. de um óleo que só pode ser descarregado no T-2, o SMA já não encontraria a melhor solução. Isso porque a solução encontrada pelo SMA para o navio Muriae utilizou a capacidade máxima do tanque T-2, e esse tanque deve decantar por 24 horas, descarregar seu conteúdo no oleoduto para só então poder receber o inventário do segundo navio. Provavelmente até essa hora, já tenha sido cobrada uma taxa considerável de sobre-estadia. Na Figura 14, é apresentada a carta de Gantt (detalhes sobre cartas de Gantt são apresentados no APÊNDICE 1), com informações gráficas sobre o exemplo citado.

73 60 Deadline para alocação do segundo navio sem sobre-estadia.o segundo navio só pode descarregar no tanque T-2 T-1 T-2 Figura 14: Mapa de Gantt apresentando um exemplo de cenário onde o SMA não encontra a solução ótima Nessa situação, como a PLIM gera um grafo contendo mais possibilidades de alocações, ela irá alocar o navio Muriae fazendo com que ele utilize apenas 5 u.m. do tanque T-2, deixando o restante livre para receber o segundo navio, que será atracado na seqüência, sendo essa a opção mais lucrativa e que não gera sobre-estadia do segundo navio. O fato do SMA alocar um recurso por vez pode impedir a alocação ótima dos mesmos. Enquanto que na PLIM as características do cenário (quantidade de navios, horas de chegada, horas de saída, etc.) são conhecidas antes do processamento, o que facilita encontrar as melhores soluções, no SMA o cenário completo pode não ser conhecido (processamento online), com isso é alocado um navio de cada vez, procurando-se otimizar cada alocação individualmente. Entretanto para a melhor alocação de um navio específico pode ser necessário o conhecimento de todos os navios que venham a atracar no sistema, otimizando o sistema de forma global. Se todas as combinações de alocações fossem simuladas, provavelmente seria atingido um grau de complexidade computacional próximo da PLIM. Na simulação, é possível deixar a cargo do usuário a opção de inverter a ordem de algum recurso, como inverter a ordem de chegada dos navios no exemplo anterior, procurando examinar novos cenários que possam produzir resultados melhores. A experiência do usuário aliada à rapidez da simulação, torna o simulador uma ferramenta útil em casos onde a PLIM não consegue encontrar soluções em tempo hábil, como em cenários com muitos recursos (navios, píeres, tanques, etc). Ao contrário do SMA, a PLIM pode ficar limitada as informações passadas antes do processamento. Se, por exemplo, for gerada uma solução para um cenário com três navios, ao receber a confirmação da chegada de um quarto navio, pode tornar-se necessário reorganizar a

74 61 agenda dos três navios já alocados, processo que pode custar muito tempo computacional. Já no SMA proposto, à medida que se recebe informações sobre a chegada de um novo navio, o mesmo é alocado, sem modificar a agenda dos navios anteriores a ele. Outra desvantagem da PLIM é a necessidade de modelar um problema como o do porto, que originalmente é distribuído, abstraindo-o à um modelo centralizado, o que dificulta o processo de modelagem. Já utilizando SMA, cada elemento real do modelo do porto é tratado como um agente autônomo, organizados para atingirem os objetivos em comum, sendo facilmente escalável (adição de novos recursos). 3.4 ORGANIZAÇÃO DOS AGENTES Para o presente trabalho, optou-se por uma abordagem centrada na organização, possibilitando maior abertura do sistema para novos agentes que venham a ser incluídos durante a simulação, permitindo que estes saibam seus papéis e com quais outros agentes podem interagir. Para representar a organização dos agentes, foi utilizado o modelo MOISE+ de HÜBNER (2003). Recorda-se que o modelo MOISE+ possui uma Especificação Organizacional (EO), sendo este documento respeitado por todos os agentes que pertencem à organização e subdividido em três dimensões: Especificação Estrutural (EE); Especificação Funcional (EF) e Especificação Deôntica (ED) Especificação Estrutural Os agentes do SMA proposto podem assumir um único papel entre os seguintes: navio, píer, tanque, oleoduto e refinaria. Todos os papéis herdam características do papel soc que possui informações sobre o modelo MOISE+. Para o sistema proposto, foram definidos cinco grupos, os quais podem ser formados por um ou mais agentes. Os grupos são: Grupo Navio: Formado por agentes que possuem o papel de navio. Esse é o grupo mais dinâmico do sistema, uma vez que são incluídos e excluídos navios constantemente, além de ser o único grupo que pode ficar sem agentes, uma vez que a simulação pode ser iniciada sem a chegada prevista de navios. Os agentes desse grupo comunicam apenas com os agentes do grupo píer. É responsabilidade do grupo navio iniciar a negociação para adicionar um novo inventário no sistema;

75 62 Grupo Píer: formado pelos agentes com papel de píer. Esse grupo consegue se comunicar com os agentes navios e com os agentes tanques. É responsabilidade desse grupo atracar os navios e descarregar o inventário nos tanques; Grupo Tanques: formado por todos os agentes com papel de tanque. Os agentes desse grupo comunicam-se apenas com os agentes do grupo píer para alocar os óleos crus dos navios, e com os agentes do grupo oleoduto para descarregar seu inventário. É responsabilidade desse grupo receber o inventário dos navios, respeitar o período de decantação e descarregar o óleo cru para no oleoduto; Grupo Oleoduto: formado pelos agentes com papel de oleoduto. Comunica-se com os tanques, para receber as solicitações de envio de óleo, e com as refinarias, para saber a agenda de destilação de óleo. É de sua responsabilidade manter a refinaria com um estoque entre o mínimo e o máximo, e agendar o envio de óleo cru minimizando os custos de interface; Grupo Refinaria: formado pelos agentes com papéis de refinarias do sistema. Comunica-se apenas com os agentes do grupo oleoduto, fornecendo informações sobre sua agenda. A representação gráfica da Especificação Estrutural utilizada no sistema de simulação multiagente é apresentado na Figura 15. Figura 15: Especificação Estrutural para o sistema de simulação multiagente

76 Especificação Funcional A especificação funcional no MOISE+ é realizada em termos de metas globais, válidas para o SMA como um todo, e locais. Estas últimas são decomposições das metas globais. Para o SMA proposto, foi definida uma única meta global, alocar-navio, que depende de duas metas locais: navio-call-for-proposal e navio-accept-propose. A meta global poderia ser formada por muitas metas locais, sendo estas distribuídas entre vários agentes com papéis distintos, porém como as trocas das mensagens são síncronas, possibilitou-se a utilização de apenas duas metas locais, que representam as duas etapas do leilão de um navio. Optou-se por apenas duas metas locais para deixar o SMA menos dependente do modelo MOISE+, que na versão atual é centralizado, o que poderia gerar um gargalo no sistema. As metas locais são de responsabilidade do agente navio e são executadas na inclusão de um novo navio no SMA. Os objetivos das metas locais são: iniciar o leilão para escolha dos píeres e avisar os agentes envolvidos no leilão sobre o resultado do mesmo. A meta local navio-call-for-proposal é detalhada na Figura 10 (SMA autointeressado) e na Figura 12 (SMA benevolente). Ela inicia uma seqüência de trocas de mensagens, cujo objetivo é solicitar as propostas dos píeres que tenham interesse em receber o inventário do navio. Quando o ambiente MOISE+ envia ao agente navio a permissão para iniciar a meta navio-call-for-proposal, o agente navio envia uma mensagem para todos os agentes píeres (agentes com papel de píer e que estão inseridos no grupo píeres) solicitando propostas para receber o inventário. Os agentes píeres, por sua vez, iniciam as trocas de mensagens com os agentes tanques para formatar suas propostas. Quando o agente navio recebe a resposta de todos os agentes píeres ou passado um tempo de deadline, o agente navio modifica o estado da meta navio-call-for-proposal para satisfied, iniciando na seqüência a próxima meta local navio-accept-propose, meta que tem o objetivo de informar os agentes que o leilão terminou (meta detalhada na Figura 11). Após a meta navio-accept-propose ter seu estado satisfied, automaticamente o estado da meta global alocar-navio também terá seu estado modificado para satisfied, sendo finalizado o processo de alocação do novo navio. A representação gráfica da Especificação Funcional utilizada no sistema de simulação multiagente é apresentado na Figura 16.

77 64 Figura 16: Especificação Funcional para o sistema de simulação multiagente Especificação Deôntica No presente trabalho, foi definido que ao ser inserido no sistema, os agentes com papéis de navio têm a obrigação de realizar as metas locais, executando-as seqüencialmente até atingirem um estado de satisfied. 3.5 ARQUITETURA DO SIMULADOR MULTIAGENTE A definição da arquitetura do SMA é fortemente influenciada pela utilização do MOISE+, sendo ele construído em camadas independentes, onde os elementos de uma camada obtêm serviços da camada inferior e provêm serviços para a superior (Figura 17). Figura 17: Modelo de camadas utilizado pela arquitetura MOISE+ (HÜBNER, 2003) Abaixo seguem as características de cada camada (HÜBNER, 2003):

78 65 Camada de Rede: permite a conexão entre os computadores onde os agentes executam. Camada de comunicação entre agentes: permite a comunicação entre os agentes por meio de uma linguagem de comunicação entre agentes. A ACL utilizada foi o KQML, implementada pelo ambiente SACI (HÜBNER e SICHMAN, 2000). O SACI (Simple Agent Communication Infrastructure) também dá suporte ao controle da execução distribuída de agentes, informando a ordem e o momento de execução de cada meta local pelos agentes envolvidos na meta global. Camada Organizacional: oferece os serviços de manutenção dos estados (informa se uma meta foi atingida) e os controles dos cumprimentos das regras estabelecidas pela organização. Por exemplo: informar se um grupo possui menos agentes que o estipulado como mínimo. Esta camada é formada por dois tipos de componentes: OrgManager e OrgBox, ambos são distribuídos, existe um OrgBox para cada agente e um OrgManager para o SMA. O OrgManager é um agente cuja função é manter o estado do SMA consistente, por exemplo, não deixando um agente assumir dois papéis incompatíveis. Toda mudança no SMA (entrada de um agente, criação de um grupo, adoção de um papel) deve passar por este agente. O OrgBox é uma interface que os agentes utilizam para acessar informações sobre o SMA. Sempre que um agente deseja realizar uma ação sobre o SMA (se comprometer com uma meta, por exemplo) ou enviar uma mensagem para outro agente, ele deve solicitar este serviço ao seu OrgBox que, por sua vez, irá interagir, via SACI, com o OrgBox do outro agente. Camada de aplicação: nesta camada estão os agentes da aplicação desenvolvida (navios, píeres, etc.). Esses agentes possuem lógicas específicas e interagem entre si utilizando o OrgBox. Como há vários OrgBoxes, uma para cada agente distribuído na rede, para manter todos os OrgBoxes sincronizados, utiliza-se o OrgManager, o qual notifica os OrgBoxes das mudanças no estado do SMA quando ocorrem atualizações pertinentes ao OrgBox. No exemplo da Figura 18, o agente Navio 1 é inserido no SMA, e automaticamente o orgmanager envia uma mensagem (mensagem 1) para informá-lo da meta que deve ser realizada alocar o inventário do navio nos tanques. Ao receber essa mensagem, o agente Navio 1 realiza um leilão para selecionar o píer e os tanques para receberem o inventário (mensagens 2 à 7). Ao finalizar o leilão, o agente navio realizou sua meta, e envia uma mensagem (mensagem 9) ao agente orgmanager, que ao recebê-la envia uma mensagem

79 66 multicast a todos os agentes envolvidos na meta, informando que a mesma foi realizada (mensagem 10). Assim as visões locais não estão completamente sincronizadas com o SMA, mas sempre que possível estão atualizadas. Mensagens do leilão Figura 18: Diagrama de seqüência das mensagens trocadas entre o orgmanager e os orgboxes. Em relação aos serviços que o OrgBox oferece à arquitetura do agente, destacam-se: Comunicação; Geração de eventos organizacionais; Informações de obrigações; Informações de metas possíveis. A camada organizacional facilita a coordenação entre os agentes, dispensando a comunicação entre eles para realizar suas ações na seqüência correta. É responsabilidade do MOISE+ e da camada organizacional coordenar a execução das ações. Assim, por exemplo,

80 67 ao ser adicionado no SMA um novo navio, ele já recebe a obrigação de executar as metas para alocar seus inventários, metas essas apresentadas na Especificação Funcional - seção Ao contrário da maioria das implementações de modelos organizacionais onde o modelo está dentro dos agentes, o MOISE+ permite o desenvolvimento de sistemas abertos (HÜBNER, 2003). Em tais sistemas, agentes podem ser incluídos e excluídos da organização e a única exigência para um agente participar do sistema é conhecer KQML (para se comunicar com o OrgManager) ou utilizar o OrgBox (que encapsula a comunicação KQML). Não é necessário a um agente conhecer a lógica interna dos demais. 3.6 INTERFACES DO SIMULADOR MULTIAGENTE O SMA desenvolvido conta com uma interface gráfica, que permite ao usuário adicionar navios de forma online. A vantagem está na possibilidade de simular a chegada de navios de forma incremental, conforme se aproximam do porto. O tempo para alocar um novo navio na agenda do porto não ultrapassa alguns segundos. A interface gráfica é um agente inserido no sistema, que tem a função de interagir com o ambiente, adicionando novos recursos (ex. navios) e de capturar informações do sistema (ex. número de navios, píer, tanques, oleodutos e refinarias), além de exibir um log com as transações efetuadas. A Figura 19 apresenta a tela do agente que permite incluir navios no ambiente durante a simulação. Essa tela é utilizada no processamento online, onde a alocação de um novo navio é feita sem modificar a alocação dos navios anteriores. Após a alocação do novo navio, o agendamento dos recursos utilizados por ele (píer e tanques, por exemplo) se transformam em restrições pesadas, não sendo alteradas com a chegada de outros navios. Com isso é possível um processamento contínuo, onde são armazenadas informações históricas das alocações.

81 68 Figura 19: Interface visual para inclusão online de navios A Figura 19 apresenta a interface do MOISE+, onde é possível visualizar as metas locais (navio-call-for-propose e navio-accept-propose) e a meta global (alocar-navio). Na interface, é possível visualizar que todas as metas foram atingidas (state achieved), e que as metas foram alcançadas pelo agente Front Brea. Figura 20: Interface do MOISE+, apresentando a realização das metas locais/globais

82 69 Para os testes apresentados na seções 4.1 e 4.2, foi utilizado processamento batch, devido à necessidade de captura do tempo total de alocação dos navios no porto para as comparações com os resultados ótimos globais, que também utiliza processamento batch. Para a obtenção do resultado Ótimo Global, que é o melhor resultado para um dado cenário, foi utilizado o modelo desenvolvido por MÁS (2001), de agora em diante referenciado como modelo original, sendo ele executado exaustivamente até encontrar o resultado ótimo global, por esse motivo BOSCHETTO (2006) e VEIGA (2006) também o utilizaram para suas comparações. Para possibilitar o processamento batch no SMA, foi desenvolvida uma interface (Figura 21) onde é cadastrada a chegada de vários navios seqüencialmente. Após adicionar todas as características do cenário, a simulação é executada e nessa situação os navios são alocados de maneira seqüencial, sendo que os navios são adicionados no sistema na ordem de chegada no porto. Figura 21: Interface visual para a criação de cenários para simulação A cada alocação de inventário do navio, ou após o processamento batch, uma carta de Gantt é apresentada ao usuário do sistema, possibilitando a visualização da alocação dos recursos - Figura 22.

83 70 Figura 22: Tela com a carta de Gantt, gerada após a simulação de um cenário 3.7 CONFIGURAÇÃO DOS CENÁRIOS DE SIMULAÇÃO Para garantir a flexibilidade do simulador, foram retiradas do código dos agentes as informações referentes às características do cenário, como o número de agentes e características específicas (capacidade de cada tanque e estoque inicial da refinaria). Esse procedimento garante que os mesmos agentes, utilizando o processo de leilão, consigam adaptar-se a diferentes situações e diferentes cenários, sem a necessidade de modificar o código fonte. Por exemplo, para os cinco estudos de caso apresentados na seção 3.9, é modificado apenas o arquivo de dados. Como se utiliza processamento batch nos testes, informa-se na interface visual que gera o arquivo de dados (Figura 21) a quantidade de navios no cenário, as características de cada navio, a ordem de chegada dos mesmos no porto, que reflete na ordem dos leilões, já que o primeiro navio inicia o primeiro leilão e assim por diante. O arquivo de dados também contém informações sobre a quantidade e as características dos píeres, tanques, oleodutos e refinarias, sobre os custos dos óleos crus no navio, no porto e na refinaria, custos de interfaces entre diferentes óleos no oleoduto. Além disso, no caso da simulação auto-interessada, se o processamento utiliza a otimização da função objetivo ou a otimização do tempo de descarregamento no SMA. Para o arquivo de

84 71 dados, foi utilizado um layout de propriedades, onde cada informação é composta por um par (<chave>=<valor>), por exemplo, navio.front_brea.chegada= AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE Utilizou-se o número de mensagens trocadas entre agentes para avaliar o desempenho e a escalabilidade do SMA proposto. A troca de mensagens em um sistema distribuído acarreta em aumento do tempo de execução da simulação. Desta forma, foi realizado um estudo para estimar o número de mensagens trocadas no sistema em função do aumento do número de navios utilizados na simulação. Como foi observado nas Figuras 10, 11 e 12, a troca de mensagens no SMA proposto acontece de maneira seqüencial. Utilizando as trocas de mensagens, é possível manter todos os agentes atualizados com as informações que lhes são necessárias. Na abordagem com agentes auto-interessados, o número de mensagens trocadas depende basicamente do número de agentes em cada grupo e da quantidade de agentes tanques necessários para receber o inventário de um navio. Assim, a fórmula para o número de mensagens trocadas no primeiro momento do leilão call for proprose é dada pela Equação 2. Número Mensagens = N x ( P x ( α x ( T + 1 ) + 1 ) + 1) (2) Onde: N = Número de navio; P = Número de Píeres; α = Número de tanques necessários para receber o inventário do navio; T = Número de Tanques. No segundo momento, quando o navio envia um accept-proposal ao píer - Figura 11, tem-se a equação 3 para calcular o número de mensagens.

85 72 Número Mensagens = N x ( α x (Φ x (β x 2+2) + 3 ) + 1) (3) Onde: N = Número de navios; α = Número de tanques necessários para receber o inventário do navio; Φ = Número de Oleodutos necessários para receber o inventário do tanque; β = Número de Refinarias necessárias para receber o óleo do oleoduto. Nos estudos de caso apresentados no capítulo 4, foram utilizados apenas um oleoduto e uma refinaria, nessa situação os valores de Φ e β será sempre 1. No SMA com agentes benevolentes, o número de mensagens trocadas é bastante reduzido, uma vez que os agentes compartilham suas agendas, o que elimina a necessidade de leilões recursivos. Dessa maneira, o número de mensagens trocadas nessa abordagem é igual ao da abordagem com agentes auto-interessados representado pelas equações 2 e 3, sendo que os parâmetros α, Φ e β devem ser substituídos por 1, uma vez que com apenas um leilão é possível montar a proposta. 3.9 VALIDAÇÃO DO SIMULADOR Para testar os resultados produzidos pelo simulador multiagente, foram utilizados cinco cenários, sendo estes também utilizados por MÁS (2001), BOSCHETTO (2006) e VEIGA (2006). Os cenários são simplificações do cenário real referente ao porto de São Sebastião-SP e foram extraídos de MÁS (2001). Em todos os cenários foram utilizados um oleoduto e uma refinaria (oleoduto OSVAT que liga o porto de São Sebastião-SP à refinaria em REVAP em São José dos Campos-SP). Para os diferentes cenários, foi alterado apenas o número de navios, píeres e tanques. MÁS (2001) fez uso apenas dos cenários com três e sete navios. Para os testes do SMA optou-se por utilizar todas as opções de cenários (três, quatro, cinco, seis e sete navios), para uma melhor análise dos resultados. Detalhes dos cenários são apresentados na Tabela 5. Para o cenário com quatro navios, foi utilizada para o navio Muriae a hora de chegada 0 e a hora de saída 48, informações consideradas também por BOSCHETTO (2006), para os

86 73 demais cenários (5, 6 e 7 navios) foi utilizada 48 para hora de chegada do navio Muriae e 96 para hora de saída. As comparações foram divididas em três momentos: 1. são comparados os resultados obtidos pelo SMA auto-interessados com o resultado Ótimo Global e também com o resultado obtido pelo modelo original em um tempo de processamento igual ao tempo que o SMA levou para encontrar sua solução; 2. são realizadas as comparações com os resultados obtidos pelo SMA benevolente, e da mesma maneira, o resultado é comparado com Ótimo Global e com o resultado obtido pelo modelo original em um tempo de processamento igual ao tempo que o SMA levou para encontrar sua solução. Os resultados do SMA benevolente também foram comparados com os resultados obtidos pelo SMA auto-interessado. 3. os resultados do SMA benevolente são comparados com os resultados obtidos por MÁS (2001) em um modelo que faz uso de margens de otimalidade, por BOSCHETTO (2006), em um modelo com pré-processamento e VEIGA (2006), em um modelo hierarquizado.

87 74 Tabela 5: Dados de entrada para os cenários de teste Navio Chegada (horas) Saída (horas) Inventário (x1000m 3 ) C. Sobre-estadia ($/h) Vazão min/max (1000m 3 /h) Tempo Ent/Sai Píer (horas) Front Brea (N1) (oc-05) 0,8333 0,0/8,0 2/2 38 (oc-08) Pedreiras (N2) (oc-27) 0,4167 0,0/8,0 2/2 Rebouças (N3) (oc-38) 0,4167 0,0/8,0 2/2 Muriae (N4) 0 4 ou ou (oc-01) 0,8333 0,0/8,0 2/2 Vergina II (N5) (oc-38) 0,8333 0,0/8,0 2/2 North Star (N6) (oc-26) 1,6667 0,0/8,0 2/2 Presidente (N7) (oc-27) 0,8333 0,0/8,0 2/2 Número de Píeres 4 Pieres Capacidade para Atracar Custo Hora ($/h) P-1 N1, N2, N3, N4, N5, N6, N7 5,0314 P-2 N1, N2, N3, N4, N5, N7 2,5157 P-3 N1, N2, N3, N4, N5, N7 2,5157 P-4 N2, N3 1,2579 Número de Tanques 10 Tanque Capacidade Min/Max Volume Inicial (x1000m 3 ) Classe Recebe Crus Vazão Max. (1000m 3 /h) Tempo Decantação (horas) (x1000m 3 ) TQ3234 (TQ1) 9,766/77, Cl-1 oc-01;05;08;38 4, TQ3235 (TQ2) 9.282/ Cl-1 oc-01;05;08;38 4, TQ3237 (TQ3) 10,457/73,077 18,232 Cl-3 oc-01;05;08;26;29 4, TQ3238 (TQ4) 3.235/ Cl-3 oc-01;05;08;26; TQ3239 (TQ5) 9,654/77,355 9,997 Cl-4 oc-01;05;26;27 4, TQ3240 (TQ6) / Cl-4 oc-01;05;26; TQ3241 (TQ7) 11,370/73,745 69,524 Cl-5 oc-01;05;26;27 4, TQ3242 (TQ8) 9.137/ Cl-5 oc-01;05;26;27 4, TQ3243 (TQ9) 11,022/77,001 39,015 Cl-6 oc-01;05;27;38 4, TQ3244(TQ10) / Cl-6 oc-01;05;27;38 4, Número de refinarias/oledutos 1 (REVAP-PLAN) / 1 (OSVAT) Refinaria Volume Inicial (x1000m 3 ) Volume min/max (x1000m 3 ) Consumo Hora (1000m 3 /h) REVAP-PLAN ,06/1515, Valor do óleo na refinaria ($/1000m 3 ) cl-1:135,2201; cl-3:132,0755; cl-4:128,6037; cl-5:132,8302; cl-6:137,1069 Valor do óleo no porto ($/1000m 3 ) cl-1:129,8113; cl-3:126,7925; cl-4:128,6037; cl-5:127,2956; cl-6:131,6227 Valor do óleo no navio ($/1000m 3 ) oc-05:116,9811; oc-08:109,7484; oc-27:100,6289; oc-38:114,7798 Custo de Interface ($) cl-1 cl-3 cl-4 cl-5 cl-6 cl-1 X 1, , , ,94340 cl-3 1,57235 X 0, , ,51570 cl-4 0, ,94335 X 2, ,57235 cl-5 1, , ,20130 X 0,62895 cl-6 0, , , ,62895 X As características dos cenários são apresentadas na Tabela 6. 4 Utilizado no cenário com 4 navios. 5 Utilizado nos cenários com 5, 6 e 7 navios.

88 75 Tabela 6: Cenários utilizados nos testes Cenário Navios Píeres Tanques 3 navios N1, N2, N3 P-1, P-2 TQ1, TQ3, TQ5, TQ7, TQ9 4 navios N1, N2, N3, N4 P-1, P-2 TQ1, TQ3, TQ5, TQ7, TQ9 5 navios N1, N2, N3, N4, N5 P-1, P-2, P-3, P-4 TQ1 à TQ10 6 navios N1, N2, N3, N4, N5, N6 P-1, P-2, P-3, P-4 TQ1 à TQ10 7 navios N1, N2, N3, N4, N5, N6, N7 P-1, P-2, P-3, P-4 TQ1 à TQ MATERIAIS Para testar os 5 cenários descritos nas Tabelas 5 e 6 a fim de verificar a qualidade dos resultados produzidos pelo simulador multiagente contra os resultados de modelos em PLIM, foi utilizado um computador Centrino com processador de 1.73 GHz e 1 GB de memória RAM. Para a modelagem e a execução dos modelos de PLIM, foi utilizado o ILOG OPL Studio 3.6.1, que utiliza o solver CPLEX 8.1. Para a execução do Sistema Multiagente, foi utilizado o Kit de Desenvolvimento Java (JDK) versão 1.6.0_10, o MOISE+ 0.4 e o SACI 1.0.

89 76

90 77 CAPÍTULO 4 RESULTADOS E ANÁLISE Para validar os resultados produzidos pelo simulador, foram utilizados os cenários detalhados na seção 3.9. Os resultados dos testes são comparados aos resultados gerados pelos modelos em PLIM de MÁS (2001), BOSCHETTO (2006) e VEIGA (2006). Recorda-se que as comparações estão assim divididas: SMA auto-interessado x modelo original com Ótimo Global x modelo original com tempo de processamento limitado; SMA benevolente x modelo original com Ótimo Global x modelo original com tempo de processamento limitado; SMA benevolente x SMA auto-interessado; SMA benevolente x MÁS (2001) com margens de otimalidade x BOSCHETTO (2006) com pré-processamento x VEIGA (2006) em um modelo hierarquizado. Para todas as soluções obtidas pelos SMA auto-interessado e benevolente, foram feitas as cartas de Gantt que mostram a alocação dos recursos ao longo do tempo. As cartas de Gantt obtidas por meio de simulação dos cenários, bem como a explicação sobre as mesmas são apresentados no APÊNDICE 1. Para finalizar, avaliou-se a escalabilidade do simulador pelo número de mensagens trocadas pelos agentes do sistema frente a inclusão de navios, conforme descrito em COMPARAÇÕES COM O SMA AUTO-INTERESSADO Inicialmente, o SMA auto-interessado foi executado para cada um dos cinco cenários. Em seguida foi recuperado o horizonte de planejamento de cada cenário (período necessário para envio de todo o volume de óleo do porto para refinaria) e o tempo de processamento gasto pelo SMA para montar a agenda de alocação de recursos no porto. Esses dados foram utilizados como entrada no modelo original, o que possibilitou comparar os dois modelos levando-se em consideração o mesmo horizonte de planejamento e o mesmo tempo de

91 78 execução, dessa maneira sabe-se que o volume de óleo trafegado no sistema ao final da simulação será o mesmo, uma vez que em ambos os casos os modelos recebem os mesmos navios e enviam todo o inventário do porto à refinaria. Em cenários mais complexos (5, 6 e 7 navios) não foi possível encontrar as soluções ótimas globais, uma vez que o solver de PLIM parou antes de encontrá-las devido à falta de memória (erro de Out of Memory). Nesta situação, foi utilizado o melhor resultado encontrado no momento do erro, de agora em diante referenciado por a melhor solução factível. O SMA auto-interessado pode funcionar em dois modos distintos, no primeiro procura-se a maximização da função objetivo do sistema e no segundo, a minimização do horizonte de planejamento. Ambos são utilizados nas comparações. A Tabela 7 apresenta as execuções realizadas nos 5 cenários, comparando os resultados obtidos pelo SMA auto-interessado com otimização do lucro, SMA autointeressado com otimização do horizonte, modelo original após execução exaustiva e modelo original após um tempo de processamento igual ao utilizado pelo SMA. São apresentadas em itálico na tabela as melhores soluções factíveis após um erro de falta de memória no solver de PLIM, bem como o tempo de processamento necessário para encontrá-las. Tabela 7: Soluções para os cenários com SMA auto-interessados Cenário SMA autointeressado Otimização do Lucro Modelo Original com limitação de tempo Modelo Original sem limitação de tempo Tempo Execução 3 navios 9s 9s 3h47m8s 9s 4 navios 10s 10s 6h11m54s 10s 5 navios 16s 16s 2h32m10s * 16s 6 navios 19s 19s 2h16m55s * 19s 7 navios 23s 23s 2h2m20s * 23s SMA autointeressado Otimização do Horizonte Função Objetivo 3 navios 5.217, , , ,51 4 navios 5.817, , , ,02 5 navios , , ,88 * * 9.218,45 6 navios , , ,11 * ,76 7 navios , , ,86 * ,84 Horizonte de 3 navios 106 horas 106 horas 106 horas 94 horas descarregamento total 4 navios 111 horas 111 horas 111 horas 107 horas 5 navios 154 horas 154 horas 154 horas 149 horas 6 navios 185 horas 185 horas 185 horas 179 horas 7 navios 212 horas 212 horas 212 horas 197 horas * Melhores resultados factíveis obtidos antes do erro de falta de memória na PLIM.

92 A comparação gráfica entre os valores da função objetivo são apresentados na Figura Comparação entre Funções Objetivos obtidos pelo SMA Egoísta e PLIM Função Objetivo x Cenário 3 navios 4 navios 5 navios 6 navios 7 navios * * * SMA Egoísta auto-interessado Otimização do Otimização Lucro do Lucro Modelo Original com limitação de tempo Modelo Original sem limitação de tempo (Ótimo Global) SMA Egoísta auto-interessado Otimização do Otimização Horizonte do Horizonte * A partir do cenário com cinco navios, a solução apresentada no gráfico para o Modelo Original sem limitação de tempo representa a melhor solução factível Figura 23: Comparação das funções objetivo com SMA auto-interessado A execução representada pela coluna SMA auto-interessado Otimização do Lucro teve por objetivo maximizar o valor da função objetivo. Para o cenário com três navios, por exemplo, sua execução levou 9 segundos e o horizonte de planejamento retornado foi de 106 horas. Essas informações foram utilizadas para a execução do modelo original, onde o tempo de execução foi estipulado em 9 segundos, dessa maneira foi possível verificar o resultado obtido pelo modelo original no mesmo tempo de processamento do SMA auto-interessado coluna Modelo Original com Limitação do Tempo. Em seguida, foi executado exaustivamente o modelo original para retornar o Ótimo Global com o horizonte de 106 horas, tal informação é importante para saber o quão distante ficou a solução encontrada pelo SMA da melhor solução para o cenário. Finalizando foi executado o teste do SMA com o objetivo de minimizar o horizonte de planejamento coluna SMA auto-interessado Otimização do Horizonte. A medida que se aumenta o número de navios nos cenários, aumenta-se também a complexidade e, por este motivo, visualiza-se um aumento no tempo de processamento para encontrar as soluções. Para o cenário com 4 navios, por exemplo, o tempo de processamento do SMA auto-interessado aumentou em um segundo (de 9 segundos cenário com 3 navios passou a 10 segundos), enquanto o tempo para encontrar a solução ótima para o cenário com 4 navios aumentou de 3h47m8s para 6h11m54s. Com a inclusão de novos navios no cenário, aumenta-se a diferença entre a função objetivo encontrada pelo Modelo Original com limitação de tempo e o SMA auto-interessado

93 80 com maximização do lucro. No cenário com três navios, por exemplo, a diferença era de $211,54 (4,05%), no cenário com quatro navios a diferença aumentou para $348,67 (5,99%). Há também um aumento nos horizontes de planejamento conforme se adiciona novos navios, uma vez que novos inventários são adicionados ao sistema. Para o cenário com três navios, o SMA auto-interessado com maximização do lucro obteve um resultado muito próximo do Ótimo Global (1,35% menor) mesmo levando 0,066% do tempo que o modelo original levou para encontrar o Ótimo Global. Com o tempo de processamento fixado em 9 segundos, o SMA obteve um resultado 4,05% maior que o modelo original. Na execução do SMA auto-interessado com otimização do horizonte de planejamento conseguiu-se reduzir o horizonte de 106 horas para 94 horas (11,32% menor), sendo que o valor da função objetivo encontrado foi inferior em 7,45% ao valor da função objetivo encontrado pelo SMA auto-interessado com otimização do lucro. Um passo a passo da negociação entre os agentes do SMA auto-interessado para o cenário com três navios é apresentado no APÊNDICE 2. No cenário com quatro navios, a diferença entre o resultado Ótimo Global e o valor da função objetivo encontrada pelo SMA auto-interessado com otimização do lucro foi de $106,80 (1,8%), uma diferença pequena, uma vez que o resultado do SMA foi obtido após 10 segundos de processamento enquanto a solução ótima foi obtida em 6h11m54s de processamento. Ao executar-se o SMA com otimização do horizonte, obteve-se uma redução de 4,46% (passou de 111 para 107 horas). Com o novo horizonte de 107 horas, a função objetivo do SMA foi de $5.404,02, ficando 1,83% em relação à função objetivo do SMA auto-interessado com otimização do lucro. A partir do cenário com cinco navios, devido ao aumento do número de navios e ao grande volume de óleo decorrente da inserção dos mesmos, foi necessário aumentar o número de tanques e de píeres para receber todo o inventário dos navios em tempo hábil. O número de tanques passou de 5 para 10 e o número de píeres passou de 2 para 4, sendo um píer exclusivo para os navios pequenos, um píer para atracagem de navios grandes e dois píeres intermediários. Com o aumento no número de elementos no sistema (navios, píeres e tanques), ao executar o modelo original para encontrar a solução ótima global, o mesmo retornou um erro de Out of Memory (falta de memória RAM). Este fato confirma a dificuldade que alguns modelos de PLIM possuem em trabalhar com grande quantidade de informações e variáveis.

94 81 Para fins de comparação, foi recuperada a melhor solução factível (soluções marcadas com * na Tabela 7). No cenário com cinco navios, o valor da função objetivo do SMA auto-interessado com otimização do lucro ficou $824,04 (7,96%) maior que a função objetivo encontrada pelo modelo original com limitação do tempo. A função objetivo do SMA auto-interessado com otimização do lucro também ficou maior que a melhor solução factível encontrada, ficando 4,37% maior, mesmo ocupando um tempo de processamento bastante inferior - 16 segundos. Quanto à execução otimizando o horizonte, foi reduzido em 3,24% o horizonte de planejamento, passando de 154 para 149 horas. A função objetivo nessa situação também baixou de $10.344,27 para $9.218,45, que corresponde a uma redução de 10,88%. No cenário com seis navios, após um tempo de processamento de 19 segundos, tanto o SMA auto-interessado com otimização do lucro quanto o SMA auto-interessado com otimização do horizonte conseguiram resultados superiores ao modelo original com limitação de tempo. Comparando o valor da função objetivo obtido pelo SMA auto-interessado com otimização do lucro com o melhor resultado factível, o SMA foi superior em 7,73%, mesmo levando um tempo 99,8% menor de processamento. Para o cenário com sete navios, destaca-se o valor da função objetivo do SMA autointeressado com otimização do lucro, que ficou $4.004,53 maior que o melhor resultado factível. A execução do SMA auto-interessado com otimização do horizonte obteve um valor de função objetivo maior que o modelo original com limitação de tempo, mesmo com horizonte de planejamento inferior em 15 horas (redução de 7,07%). Na busca pelo Ótimo Global, a falta de memória ocorreu após 2h2m20s de processamento, 14m35s antes se comparado ao tempo do cenário com seis navios. Com a inclusão de um novo navio, aumentou também o número de soluções possíveis, ou seja, aumentou o número de nós da árvore gerada pelo algoritmo branch-and-bound utilizado pela PLIM, e conseqüentemente aumentou o número de variáveis do sistema, adiantando a ocorrência do erro de falta de memória. Por este motivo, aumentou a diferença entre a solução gerada pelo SMA auto-interessado com otimização de lucro em relação à melhor solução factível encontrada. No cenário com seis navios, essa diferença era de 7,73%, no cenário com sete navios a diferença aumentou para 32,97%. Comparando-se os resultados gerados pelo SMA auto-interessado com otimização do horizonte de planejamento com os resultados do SMA auto-interessado com otimização do lucro, chega-se a conclusão que só é interessante utilizar a otimização do horizonte de

95 82 planejamento quando se necessita enviar uma grande quantidade de óleo cru para a refinaria em um curto espaço de tempo, pois o lucro do sistema (o valor da função objetivo) é comprometido consideravelmente, uma vez que ao escolher os tanques, o píer passa a utilizar aqueles com nobrezas menores, já que esses são pouco utilizados e comumente possuem sua agenda livre. Pode-se citar como exemplo de utilização de SMA auto-interessado com Otimização do Horizonte uma situação onde a refinaria está com seu inventário próximo do mínimo, dessa forma, ao chegar um novo navio no porto, a antecipação do envio do inventário para refinaria é mais importante do que o lucro que esse navio pode gerar no sistema, já que uma refinaria parada por falta de óleo gera prejuízos consideráveis. 4.2 COMPARAÇÕES COM O SMA BENEVOLENTE As comparações com o SMA benevolente foram divididas em dois momentos: no primeiro, são comparados os resultados obtidos pelo SMA benevolente com os resultados do modelo original, uma vez que o SMA benevolente otimiza ao mesmo tempo a função objetivo, o horizonte de planejamento e o tempo de processamento. Dessa maneira houve a necessidade de realizar novos testes no modelo original com o novo horizonte e o novo tempo de processamento. No segundo momento, comparam-se os resultados do SMA benevolente com os do SMA auto-interessado. Para todos os testes, utilizaram-se os mesmos cenários apresentados na seção 3.9. Os resultados referentes aos cenários são apresentados na Tabela 8, e as informações gráficas referentes aos valores das funções objetivo resultantes são apresentadas na Figura 24. Para o cenário com três navios, o mais simples testado, o SMA benevolente conseguiu encontrar uma função objetivo de $5.287,52 em 8 segundos, sendo esse o Ótimo Global encontrado pelo modelo original após 5h31m23s, lembrando que foi utilizado o mesmo computador para realizar os testes. Comparando com o resultado encontrado pelo modelo original no mesmo tempo de processamento, o SMA obteve resultado superior em 3,68%. Comparando o resultado encontrado pelo SMA benevolente com os resultados encontrados pelo SMA auto-interessado, obteve-se um aumento de 1,33% na função objetivo se comparado à função objetivo obtida pelo SMA auto-interessado com otimização de lucro, e até mesmo aumentando o lucro, o SMA benevolente conseguiu um horizonte de planejamento inferior ao do SMA com otimização de horizonte, ficando inferior em uma hora.

96 83 Tabela 8: Soluções para os cenários com SMA Benevolente Cenário SMA benevolente Modelo Original com limitação de tempo Modelo Original sem limitação de tempo SMA autointeressado Otimização do Lucro Tempo Execução 3 navios 8s 8s 5h31m23s 9s 9s 4 navios 11s 11s 9h23m10s 10s 10s 5 navios 14s 14s 1h42m49s * * 16s 16s 6 navios 17s 17s 1h23m20s * 19s 19s 7 navios 20s 20s 1h09m0s * 23s 23s SMA autointeressado Otimização do Horizonte Função Objetivo 3 navios 5.287, , , , ,51 4 navios 5.868, , , , ,02 5 navios , , ,77 * , ,45 6 navios , , ,46 * , ,76 7 navios , , ,87 * , ,84 Horizonte de descarregamento total 3 navios 93 horas 93 horas 93 horas 106 horas 94 horas 4 navios 96 horas 96 horas 96 horas 112 horas 107 horas 5 navios 149 horas 149 horas 149 horas 154 horas 149 horas 6 navios 181 horas 181 horas 181 horas 185 horas 179 horas 7 navios 200 horas 200 horas 200 horas 212 horas 197 horas Função Objetivo x Cenário SMA benevolente SMA auto-interessado Otimização do Lucro SMA auto-interessado Otimização do Horizonte Figura 24: Comparação das funções objetivo com SMA Benevolente É possível verificar no APÊNDICE 3 um passo a passo da negociação com o SMA benevolente para o cenário com 3 navios, bem como a comparação da carta de Gantt entre o resultado obtido pelo SMA benevolente e o resultado Ótimo Global obtido pelo modelo original. * Melhores resultados factíveis obtidos antes do erro de falta de memória na PLIM.

97 84 No cenário com quatro navios, por ser mais complexo que o cenário anterior, o SMA benevolente não conseguiu encontrar o resultado Ótimo Global, mas o valor da função objetivo resultante ficou muito próximo do ótimo ($46,79, uma diferença de 0,79%). O horizonte de planejamento também diminuiu comparado ao SMA auto-interessado com otimização do lucro, passou de 112 para 96 horas. Com a diminuição do horizonte de planejamento (na execução onde o modelo original foi comparado com o SMA autointeressado, o horizonte utilizado foi 112 horas; na execução para comparar com o SMA benevolente o horizonte passou para 96 horas), o modelo original teve mais dificuldade para encontrar a solução Ótima Global. Com um cenário de quatro navios e um horizonte de 112 horas, o modelo original levou 6h11m54s para encontrar o resultado ótimo, já com o horizonte de 96 horas, o modelo original levou 9h23m10s, aumento de 3h11m31s. O SMA benevolente conseguiu encontrar sua solução em 11 segundos, um tempo muito inferior. Também é possível visualizar na Tabela 8 a superioridade do SMA benevolente sobre o SMA auto-interessado, onde se obteve uma função objetivo maior em $50,82 se comparado ao obtido pelo SMA auto-interessado com otimização de lucro e, ao mesmo tempo, houve a otimização do horizonte de planejamento que ficou inferior ao horizonte obtido pelo SMA com otimização do horizonte (diferença de 11 horas). Para o cenário com 5 navios, o modelo original não conseguiu encontrar o resultado Ótimo Global, acusando um erro de falta de memória após 1h42m49s de processamento, por esse motivo o valor da melhor solução factível encontrada foi comparado ao resultado obtido pelo SMA benevolente, que ficou superior em 5,83%. O SMA benevolente levou 14 segundos para encontrar a solução. Se comparado ao SMA auto-interessado, o SMA benevolente conseguiu um valor de função objetivo superior ao SMA auto-interessado com otimização do lucro 1,14% maior, e o horizonte de planejamento ficou igual ao horizonte obtido pelo SMA auto-interessado com otimização de horizonte 149 horas. No cenário com seis navios, a diferença entre a função objetivo encontrada pelo SMA benevolente e a melhor solução factível encontrada pelo modelo original ficou ainda maior, no cenário com cinco navios, a diferença era de $576,51 (5,83%), no cenário com seis navios, essa diferença aumentou para $1.326,78 (10,93%). Com seis navios no cenário, novamente o SMA benevolente conseguiu uma função objetivo melhor que o SMA auto-interessado com otimização do lucro, aumentando o valor da função objetivo em 2,84%. Comparando o horizonte de planejamento, o SMA benevolente

98 85 conseguiu um horizonte de planejamento próximo ao horizonte obtido pelo SMA autointeressado com otimização do horizonte, ficando superior em 2 horas. Da mesma maneira que os cenários com cinco e seis navios, com sete navios o modelo original apresentou erro de falta de memória após 1h09m, apresentando como função objetivo o valor de $12.137,87, valor esse 34,21% inferior ao valor da função objetivo alcançada pelo SMA benevolente ($ ,82) em 20 segundos de processamento. Com relação ao SMA auto-interessado com otimização do lucro, o SMA benevolente conseguiu um aumento no valor da função objetivo em $70,27 (0,86%), e diminuiu significativamente o horizonte de planejamento em 12 horas. Se comparado com o SMA autointeressado com otimização do horizonte, o SMA benevolente obteve uma função objetivo 9,78% maior, entretanto o horizonte do SMA auto-interessado ficou 3 horas inferior ao horizonte obtido pelo SMA benevolente. Ao se comparar o tempo de processamento do SMA auto-interessado com o do SMA benevolente, é possível visualizar que o benevolente é mais rápido em todas as situações. O SMA benevolente necessita de um processamento mais intenso, uma vez que ao receber as agendas dos tanques, o agente píer deve montar uma agenda que otimize tanto o lucro quanto o horizonte enquanto que no sistema auto-interessado o único processamento do agente píer é escolher a proposta mais lucrativa. Em contrapartida, no sistema benevolente não são necessários leilões recursivos, e assim o número de mensagens trocadas entre os agentes pela rede diminui consideravelmente. Como o processo de troca de mensagens pode ser lento, dependendo da interface de rede, número de elementos na rede e velocidade de comunicação, o SMA benevolente conseguiu encontrar resultados de forma mais rápida. 4.3 COMPARAÇÃO ENTRE SMA BENEVOLENTE E OUTRAS ABORDAGENS Neste item, os resultados obtidos pelo SMA benevolente serão comparados com os resultados obtidos por outras abordagens que utilizam técnicas de PLIM. Optou-se pela comparação com os resultados obtidos pelo SMA benevolente, porque este obteve melhores soluções na comparação com o SMA auto-interessado.

99 Cenário com três navios O cenário com três navios também foi abordado na dissertação de MÁS (2001), onde além do modelo denominado modelo original que possibilita encontrar o resultado Ótimo Global, o autor também propõe um modelo onde se utiliza uma margem de otimalidade, o qual possibilita encontrar bons resultados (resultados factíveis) em um tempo de processamento menor. BOSCHETTO (2006) também utilizou o cenário com três navios em suas comparações, sendo que seu modelo utiliza técnicas de pré-processamento. Além da comparação com os dois modelos citados anteriormente, os resultados também são comparados com o Ótimo Global para saber o quão distante cada resultado ficou da melhor solução para o cenário. As informações referentes aos resultados obtidos em cada modelo são apresentadas na Tabela 9, e graficamente na Figura 25. Tabela 9: Comparação dos resultados obtidos para o cenário com três navios diferentes abordagens Modelo Original Ótimo Global Modelo com margem de otimalidade (MÁS, 2001) Modelo com Pré- Processamento (BOSCHETTO, 2006) Tempo Execução 5h31m23s 58s 12m24s 8s Função Objetivo 5.287, , , ,52 SMA Benevolente Horizonte de planejamento total 93 horas 96 horas 96 horas 93 horas Configuração do Centrino 1.73 GHz, Pentium III 450MHz, AMD Athlon 64 Centrino 1.73 GHz, Computador utilizado 1GB RAM nos testes 128MB RAM 2GHz, 1GB RAM 1GB RAM

100 87 Comparação de Resultados Cenário com 3 navios Função Objetivo ($) 5.300, , , , , , , , ,00 Modelo Original - Ótimo Global (MÁS,2001) (BOSCHETTO, 2006) SMA Cooperativo SMA Benevolente Figura 25: Gráfico comparativo das funções objetivo alcançadas para o cenário com três navios em diferentes abordagens O modelo de SMA benevolente destaca-se sobre os demais por encontrar a solução ótima global em 8 segundos de processamento, sendo que para a obtenção do Ótimo Global o tempo foi de 5h31m23s, e nessa situação, foi utilizado o mesmo computador para o processamento (Centrino 1.73 GHz, 1GB RAM). Já o modelo com Pré-processamento conseguiu uma função objetivo inferior em $11,30 (0,21%) do Ótimo Global, o modelo com margem de otimalidade foi $96,35 (1,82%) menor Cenário com quatro navios O cenário com quatro navios foi utilizado por BOSCHETTO (2006) em seu modelo com pré-processamento. Para o cenário, foi executado o modelo original exaustivamente até encontrar a solução Ótima Global, que também foi utilizada na comparação. Os resultados podem ser visualizados na Tabela 10, e graficamente na Figura 26.

101 88 Tabela 10: Comparação dos resultados obtidos para o cenário com quatro navios diferentes abordagens Modelo Original Ótimo Global Modelo com Pré- Processamento (BOSCHETTO, 2006) Tempo Execução 9h23m10s 54m01s 11s Função Objetivo 5.915, , ,53 SMA Benevolente Horizonte de 96 horas 96 horas 96 horas planejamento total Configuração do Centrino 1.73 GHz, AMD Athlon 64 Centrino 1.73 GHz, Computador utilizado 1GB RAM nos testes 2GHz, 1GB RAM 1GB RAM Comparação de Resultados Cenário com 4 navios 5.950,00 Função Objetivo ($) 5.900, , , , , , ,00 Modelo Original - Ótimo Global (BOSCHETTO,2006) SMA Benevolente Cooperativo Figura 26: Gráfico comparativo das funções objetivo alcançadas para o cenário com quatro navios em diferentes abordagens Sendo esse cenário mais complexo que o com três navios, a diferença dos valores das funções objetivos encontrados são maiores entre si. Nesse, o modelo de SMA benevolente conseguiu um resultado próximo do ótimo global, sendo inferior em $46,79 (0,79%), levando 11 segundos de processamento, tempo muito inferior ao tempo de processamento para o modelo original encontrar o resultado Ótimo Global (9h23m10s). Já o modelo com préprocessamento conseguiu uma função objetivo inferior em $201,61 (3,41%) do Ótimo Global, levando mais tempo de processamento que o SMA benevolente Cenário com sete navios O cenário com sete navios, o mais complexo de todos, foi abordado por MÁS (2001), em seu modelo que utiliza taxa de otimalidade para encontrar soluções factíveis, e por VEIGA

102 89 (2006), que utilizou a hierarquização do modelo do porto para melhorar tanto o resultado quanto o tempo de processamento. Como para esse cenário o modelo original não conseguiu encontrar a solução ótima, uma vez que apresentou erro de falta de memória, o resultado Ótimo Global não foi levado em consideração nas comparações da Tabela 11. O gráfico das funções objetivo resultantes é apresentado na Figura 27. Tabela 11: Comparação dos resultados obtidos para o cenário com sete navios diferentes abordagens Modelo com margem de otimalidade (MÁS, 2001) Modelo com Hierarquização (VEIGA, 2006) SMA Benevolente Tempo Execução 2h38m26s 49m14s 20s Função Objetivo , , ,59 Horizonte de planejamento parcial 168 horas 168 horas 168 horas Configuração do Pentium III 450MHz, Pentium IV 2.4 GHz, Centrino 1.73 GHz, Computador utilizado 128MB RAM nos testes 1 GB RAM 1GB RAM ,00 Comparação de Resultados Cenário com 7 navios Comparação de Resultados Cenário com 7 navios Função Objetivo ($) , , , , , ,00 (MÁS, 2001) (VEIGA, 2006) SMA Benevolente Cooperativo Figura 27: Gráfico comparativo das funções objetivo alcançadas para o cenário com sete navios em diferentes abordagens Para o cenário com sete navios, MÁS (2001) e VEIGA (2006) utilizaram um horizonte de 168 horas, dessa maneira, a função objetivo é calculada com base na visão financeira do sistema quando a simulação estava em 168 horas, não importando as operações ocorridas após esse momento. Como em 168 horas não é possível enviar todo o inventário do porto para a refinaria, a função objetivo apresentou um resultado parcial. Para realizar a comparação com

103 90 o SMA benevolente, que utilizou um horizonte de 200 horas para o descarregamento total do inventário do porto para a refinaria, foi realizado um novo cálculo da função objetivo, agora com a situação do sistema na hora 168. Os resultados ressaltam a superioridade do SMA benevolente, que conseguiu uma função objetivo 3,74% maior que a função objetivo apresentada por VEIGA (2006) e 9,69% maior que a função objetivo apresentado por MÁS (2001), levando um tempo de processamento inferior 20 segundos. 4.4 AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE Para os cinco cenários utilizados, verificou-se o número de mensagens trocadas dentro do ambiente para analisar o desempenho e a escalabilidade do sistema. Na seção 3.8, foi apresentada a fórmula para o cálculo do número de mensagens trocadas, tanto no SMA autointeressado quanto no SMA benevolente. Na Figura 28 é apresentado o gráfico para a troca de mensagens para os cenários com 3, 4, 5, 6 e 7 navios. O gráfico é acumulativo, ou seja, para o terceiro navio, por exemplo, é apresentado o número de mensagens trocadas por ele mais as mensagens trocadas pelo segundo e pelo primeiro navio. Figura 28: Gráfico da troca de mensagens nos cinco cenários utilizados Na Figura 28, o eixo x representa os cenários e o y, o número de mensagens trocadas. No SMA auto-interessado, o número de mensagens trocadas depende do número de leilões recursivos necessários para um navio alocar seu inventário nos tanques, por esse motivo o

104 91 número máximo de mensagens trocadas (pior caso) é representado pela linha superior (αt) nesse caso é necessário que todos os tanques se comprometam a receber o inventário do navio, já o melhor caso, onde é necessário apenas um leilão para alocar o inventário do navio, é representado no gráfico pela linha inferior (α1). Essa linha também representa o número de mensagens trocadas em um SMA benevolente, uma vez que nesse modelo não existem leilões recursivos, ou seja, com um único leilão é possível alocar o inventário do navio. A área destacada no gráfico com cinza escuro é a faixa de valores possíveis para o número de mensagem trocadas para o SMA Auto-interessado. Como pode ser visto no gráfico, o número de mensagens no SMA auto-interessado, representado pela linha clara, se aproxima do limite inferior do número de mensagens trocadas, já que na maioria das vezes poucos tanques são necessários para receber o inventário de um navio, o que garante a escalabilidade do SMA auto-interessado. No SMA benevolente, o número de mensagens trocadas é linear, dependendo apenas do número de navios (nessa situação, α é sempre 1), garantindo também a escalabilidade do sistema. 4.5 SMA X PLIM O SMA, tanto o auto-interessado quanto o benevolente, mostrou melhores resultados se comparado ao modelo original proposto por MÁS (2001) em todos os testes que considerou o tempo de processamento como parâmetro. Nos testes onde não se considerou o tempo de processamento como parâmetro (comparação com o Ótimo Global), no cenário com três navios o SMA benevolente conseguiu encontrar a solução ótima global, no cenário com quatro navios o SMA benevolente ficou muito próximo do resultado ótimo e nos demais cenários, o SMA conseguiu bons resultados enquanto o modelo original não conseguiu encontrar o Ótimo Global por necessitar de maior capacidade de processamento do que o disponível para os experimentos. Também foi possível observar a partir dos testes realizados que, a medida que se adicionam novos elementos no ambiente, piores são os resultados encontrados pelo modelo original para um tempo de processamento pré-estipulado. Levando-se em consideração o tempo de processamento, a superioridade do SMA é ainda maior. Recorda-se que ambas as abordagens, a original e a do SMA, utilizam a mesma função objetivo, o que assegura uma comparação justa. A diferença está na metodologia para

105 92 encontrar os melhores resultados, enquanto a programação matemática linear inteira mista gera grafos e testa todas as situações possíveis permitindo encontrar a solução ótima, o SMA procura alocar um recurso de cada vez, não procurando pelo Ótimo Global, mas o ótimo para uma situação específica Ótimo local. Por exemplo, no cenário com três navios ao adicionar-se o primeiro navio no ambiente, o SMA procura alocá-lo da melhor maneira possível, sendo utilizados os tanques mais lucrativos e com o mínimo de sobre-estadia. Depois de alocado o primeiro navio, a agenda dos recursos é atualizada e se transforma em restrições pesadas, não podendo mais ser modificadas. Essas restrições pesadas, considerando-se a programação linear, eliminariam grande quantidade de possibilidades. Entretanto, essa poda pode também eliminar a solução ótima global, por esse motivo não existe na simulação a garantia de encontrar a melhor solução para um cenário. Quando o segundo navio é adicionado ao SMA, o mesmo deve ser alocado respeitando-se a agenda do navio anterior e dessa maneira são utilizados os demais recursos que ainda permanecem livres. Com isso, o ganho no tempo de processamento é muito grande e a perda na qualidade é pequena. Quando se trabalha com muitos recursos, como aconteceu nos cenários com 5, 6 e 7 navios, o modelo original trabalha com muitas variáveis, tentando encontrar a melhor solução dentre todas as alternativas possíveis, podendo requerer muita memória e muito tempo computacional, o que muitas vezes acaba inviabilizando o processamento devido a explosão combinatorial. No gráfico da Figura 29, tem-se os tempos necessários (em segundos) para o modelo multiagente benevolente encontrar os resultados para os cinco cenários apresentados nesse trabalho. Como pode ser observado, o crescimento do tempo é linear e depende do número de navios.

106 93 Tempos para encontrar soluções - SMA Cooperativo Tempo Encontrar Solução SMA Benevolente tempo (s) navios 4 navios 5 navios 6 navios 7 navios Figura 29: Tempo necessário para o SMA Benevolente encontrar as soluções em diferentes cenários Já no gráfico da Figura 30, tem-se o tempo gasto pelo modelo original proposto por MÁS (2001) para encontrar a solução Ótima Global. Como nos cenários utilizados o PLIM só encontrou a solução ótima dos cenários com três e quatro navios, foram realizados testes para cenários com 1 e 2 navios. Em todos os cenários, foram utilizados apenas 2 píeres, 5 tanques, 1 oleoduto e 1 refinaria para não tornar o cenário muito complexo, facilitando a tarefa de encontrar os resultados ótimos globais para o PLIM. Como pode ser observado, o tempo cresce de forma exponencial, assim como o número de possibilidades e variáveis no modelo matemático também podem assim crescer. Esse aumento de variáveis e possibilidades influência a ocorrência do erro de falta de memória que ocorreu para os cenários com 5, 6 e 7 navios.

107 94 Tempo para encontrar a solução ótima em PLIM Tempo para encontrar a melhor solução em PLIM Tempo (s) h 23m 10s 5h 31m 23s 3m 42s 50m 17s 1 navio 2 navios 3 navios 4 navios Figura 30: Tempo necessário para o PLIM encontrar os resultados em diferentes cenários Levando-se em consideração os resultados obtidos num mesmo tempo de processamento, observa-se que o SMA obtém os melhores resultados, sendo que essa diferença aumenta com a complexidade do cenário. No gráfico da Figura 31, pode-se observar que com o aumento do número de navios de um cenário, cresce também a superioridade no valor da função objetivo alcançada pelo SMA benevolente se comparado à função objetivo alcançada pelo modelo original - PLIM. Diferença (%) entre as soluções matemáticas e as soluções multiagentes em um mesmo período de processamento Diferença (%) entre as soluções matemáticas e as soluções multiagentes em um mesmo período de processamento Diferença (%) ,10 23,22 16,16 8,86 3,82 3 navios 4 navios 5 navios 6 navios 7 navios Figura 31: Superioridade porcentual das soluções encontradas pelo SMA benevolente comparadas às soluções obtidas pela PLIM em um mesmo tempo de processamento

108 95 Também foi realizada uma comparação entre a melhor solução encontrada pela PLIM, seja ela a solução ótima global ou a melhor solução factível encontrada. A diferença é expressa em porcentagem, e os valores positivos significam que a superioridade foi da PLIM, valores negativos representam a superioridade do SMA benevolente (Figura 32). Diferença (%) Diferença (%) entre a melhor solução encontrada pela programação matemática e as soluções multiagentes Diferença (%) entre a melhor solução encontrada pela programação matemática e as soluções multiagentes 0 0,79 3 navios 4 navios 5 navios 6 navios 7 navios -5,5-9, ,49 Figura 32: Diferença (%) entre a melhor solução encontrada pela PLIM e a solução multiagente benevolente Como pode ser observado, para o cenário com três navios, devido à sua pouca complexidade, o SMA benevolente encontrou o melhor resultado (Ótimo Global), não apresentando diferença com o resultado obtido pela PLIM. Com quatro navios, a superioridade foi da PLIM, obtendo valor da função objetivo 0,79% superior ao resultado obtido pelo SMA benevolente. Nos demais cenários (5, 6 e 7 navios), a superioridade foi do SMA benevolente, uma vez que a PLIM apresentou erro de falta de memória antes de findar sua execução. Além das vantagens referentes ao pouco tempo de processamento para encontrar soluções factíveis e de encontrar soluções mesmo em cenários complexos, outra vantagem do SMA está na possibilidade de trabalhar com processamento online, alocando recursos em tempo de execução, ao contrário da PLIM, que se caracteriza por possuir processamento batch, o que dificulta sua utilização em sistemas online.

109 96

110 97 CAPÍTULO 5 CONCLUSÃO 5.1 CONCLUSÕES O trabalho apresentou um SMA para o gerenciamento de cadeia de suprimento para portos de petróleo. Para o desenvolvimento, foi utilizado o leilão como técnica de negociação, bem como constantes trocas de mensagens entre os agentes para o compartilhamento das informações. Para o desenvolvimento do simulador multiagente, foram analisados modelos de PLIM, estes organizados em restrições e funções objetivo, bem como seus resultados otimizados, o que possibilitou uma política eficiente para alocação de recursos. Devido à implementação das restrições e da função objetivo na lógica dos agentes, encontrou-se resultados que não violaram as restrições do sistema e otimizaram ao mesmo tempo o lucro e o horizonte de planejamento, maximizando a função objetivo. Com isso, os resultados apresentados foram satisfatórios, uma vez que o SMA conseguiu encontrar melhores resultados comparado ao modelo de PLIM, quando este possui limitação de tempo. O SMA obteve o resultado Ótimo Global em um cenário (3 navios com SMA benevolente) e todos os outros resultados ficaram próximos do Ótimo Global, mesmo com um tempo computacional muito menor quando comparado aos mesmos testes realizados pela PLIM. Ressalta-se que o SMA encontra resultados bons com pouco tempo de processamento, pois o mesmo não otimiza o sistema como um todo (não existe a garantia de encontrar o ótimo global), e sim otimiza a alocação de um navio de cada vez. Após a alocação de cada navio, a mesma não pode mais ser modificada, se transformando em restrição pesada. Fazendo uma analogia com a PLIM, estas restrições pesadas eliminam grande parte das soluções possíveis na árvore de busca, sendo essas soluções pesquisadas por algoritmos de PLIM. Também foi verificado que mesmo com o aumento de agentes no ambiente, o número de mensagens trocadas não aumentou significativamente, já que o número de mensagens depende somente do número de agentes navios e da quantidade de tanques necessários para receber o inventário de um navio. Foi observado que na utilização do SMA benevolente o

111 98 número de mensagens trocadas é inferior ao da abordagem multiagente auto-interessado, já que este último faz uso de leilões recursivos, enquanto o primeiro realiza um único leilão, recebendo como respostas as agendas completas dos recursos, as quais são processadas com o objetivo de montar uma agenda que otimize o lucro e o horizonte ao mesmo tempo. Pelo fato de trocar menos mensagens, o SMA benevolente consegue encontrar resultados mais rapidamente que o SMA auto-interessado. Quanto à escalabilidade, o sistema apresentou um bom desempenho, mesmo com um grande número de agentes (5, 6 e 7 navios), superando o valor da função objetivo do modelo original que faz uso da PLIM em até 34,21% nos testes realizados para o cenário com sete navios, lembrando que nesses cenários (5 à 7 navios) o PLIM encontrou resultados factíveis. Também foi possível constatar que a superioridade do SMA sobre o modelo original aumenta conforme aumenta o número de navios nos cenários. Referente à adaptabilidade do SMA proposto, como o mesmo não utiliza heurísticas complexas e específicas de negociação para o problema do porto, utilizando apenas o protocolo de leilão FIPA Contract-Net, o sistema pode ser adaptado sem muito esforço para outros problemas de agendamentos (scheduling), como o problema da subestação (MÁS, 2001), possibilitando a alocação de recursos ao longo do tempo. Com relação ao ambiente, o modelo MOISE+ e a ferramenta SACI supriram as necessidades do SMA no que diz respeito ao modelo organizacional e a troca de mensagens na rede. Para finalizar, o desenvolvimento de uma ferramenta online para gerenciamento do porto possibilita a inclusão e exclusão dos navios de forma rápida. Isto possibilita a reprogramação online frente a problemas como a impossibilidade de atracagem ou atrasos operacionais na chegada de navios. Além disso, as informações históricas geradas pelo SMA podem alimentar outros sistemas de tomada de decisão, permitindo uma melhor escolha dos próximos navios/inventários que chegarão ao porto, constituindo-se uma ferramenta de auxílio à tomada de decisão. 5.2 TRABALHOS FUTUROS Como trabalho futuro, sugere-se que a abordagem com SMA também seja aplicada ao modelo das subestações. Na abordagem proposta por MÁS (2001), o modelo é dividido em modelo do porto e modelo da subestação, essa divisão se dá para minimizar a complexidade

112 99 do sistema. Na seqüência cada parte é modelada em PLIM, onde são executadas e recuperadas as informações factíveis, para só então fazer a integração dos dados do modelo do porto com o modelo de subestação. Com a utilização de SMA, um modelo completo (modelo do porto + modelo de subestação) pode ser modelado com agentes autônomos, possibilitando um modelo integrado que, como conseqüência, viabiliza resultados melhores para o sistema. Outro trabalho é o desenvolvimento de mecanismos de replicação de agentes, dessa maneira, quando se verifica que um agente saiu de um grupo de forma inesperada, sua réplica que possui as informações copiadas assume seu lugar. Nas simulações realizadas, onde o sistema é executado por alguns segundos, técnicas de tolerância a falhas não são tão importantes, mas em aplicações reais ou simulações longas, esta é uma característica desejável. A descentralização do modelo MOISE+, uma vez que todo o ambiente multiagente proposto nessa arquitetura trabalha de forma distribuída e o único recurso centralizado no ambiente é o MOISE+, que possui a função de gerenciar os recursos estruturais, funcionais e deônticos da organização. Estando as funcionalidades do MOISE+ em um nó da rede, todos os agentes do sistema necessitam acessar esse nó para terem informações sobre os outros agentes, situação das metas e do sistema, formando com isso um gargalo na rede. Outra desvantagem é que todo o sistema depende do MOISE+. Se acontecer algum problema com este recurso centralizado, o sistema inteiro pára de funcionar. A descentralização do sistema em relação ao MOISE+, fazendo com que cada agente do sistema implemente parte da sua lógica, também é uma característica desejável para tolerância a falhas. Outro ponto é tornar a política de escolha e alocação de recursos externa ao código do simulador e, portanto, passível de modificação pelo usuário, já que o trabalho apresentado utiliza uma política de escolha e alocação inferida pelo desenvolvedor a partir dos resultados ótimos obtidos pelo modelo de PLIM, sendo esta política inserida na lógica dos agentes. Entretanto, em um sistema real de simulação, a experiência do usuário pode aumentar a eficiência do sistema, se o mesmo puder modificar/selecionar tais políticas de escolha e alocação. Para possibilitar a escolha de resultados melhores pelo simulador multiagente, pode-se aplicar técnicas de negociação multilaterais, como a negociação baseada em argumentação, o que possibilitaria encontrar resultados melhores incluindo os resultados ótimos para um dado cenário. Pode-se aprimorar a interface gráfica do SMA para que o usuário consiga modelar de forma visual uma cadeia de suprimentos, adicionando as restrições, as funções objetivo e os

113 100 fluxos de forma visual, bem como a definição dos agentes e dos grupos necessários para o sistema. Com essa ferramenta, seria possível o desenvolvimento de um SMA para gerenciamento de cadeias de suprimentos sem conhecimento técnico de programação.

114 101 REFERÊNCIAS BIBLIOGRÁFICAS ASHRI, R. RAHWAN, I. LUCK, M. Architectures for Negotiating Agents. In Multi-Agent Systems and Applications III: Proceedings of the Third International Central and Eastern European Conference on Multi-Agent Systems, v. 2691, BELLIFEMINE, F. L. CAIRE, G. GREENWOOD, D. Developing Multi-Agent Systems with JADE. Addison-Wiley, BOSCHETTO, S. Otimização das Operações de Terminais Petrolíferos Usando Técnicas de Pré-Processamento. Dissertação de Mestrado. Universidade Tecnológica Federal do Paraná, Curitiba, BOSCHETTO, S. LUDERS, R. ARRUDA, L. V. R. NEVES JÚNIOR, F. Otimização da Programação de Operações em Terminais Petrolíferos. Quarto Congresso Brasileiro de P&D em Petróleo e Gás, BRADLEY, A. HAX, B. MAGNANTI, A. Applied Mathematical Programming. Addison- Wesley, DANTZIG, G. Linear Programming and Extensions. Princeton University Press, Princeton, DAVIDSSON, D. HOLMGREN, J. PERSSON, J. A. RAMSTEDT, L. Multi Agent Based Simulation of Transport Chain. AAMAS, p , DOWSLAND, K. A. SOUBEIGA, E. BURKE, E. A simulated annealing based hyperheuristic for determining shipper sizes for storage and transportation. In European Journal of Operational Research, v. 179, p , FARANTIN, P. SIERRA, C. JENNINGS, N. Negotiation decision functions for autonomous agents. In International Journal of Robotics and Autonomous Systems, v. 24, p. 3-4, FATIMA, S. S. WOOLDRIDGE, M. JENNINGS, N. Optimal negotiation of multiple issues in incomplete information settings. In Proceedings of the Third International Joint Conference on Autonomous Agents and MultiAgent Systems, p , 2004.

115 102 FININ, T., FRITZSON, R., MCKAY, D., MCENTIRE, R. KQML as an Agent Communication Language. In Proceedings of the Third International Conference on Information and Knowledge Management, FIPA - FOUNDATION FOR INTELLIGENT PHYSICAL AGENTES FIPA Contract Net Interaction Protocol Specification. Disponível em: Acessado em: 14/11/2008. FOX, M.S. BARBUCEANU, M. TEIGEN, R. Agent-Oriented Supply-Chain Management. In International Journal of Flexible Manufacturing Systems, v. 12, n. 2-3, p , GLOBAL SUPPLY CHAIN FORUM Disponível em: Acessado em: 14/11/2008. HARRISON, L. Case Based Reasoning. Disponível em: Acesso: 14/11/2008. HINSON, M. JOHN, A. STADDON, J. E. R. Hill-Climbing by Pigeons. In Journal of the Experimental Analysis of Behavior, p.25-47, HUBNER, J. S. Um Modelo de Reorganização de Sistemas Multiagente, Tese de Doutorado, Universidade de São Paulo, São Paulo, HUBNER, J. F. SICHMAN, J. S. SACI: Uma Ferramenta para Implementação e Monitoração da Comunicação entre Agentes. IBERAMIA 2000, SBIA 2000, HUHNS, M. N. STEPHENS, L. M. Multi-agent systems and societies of agents. In Weiss, G. e. Multiagent Systems - A Modern Approach to Distributed Artificial Intelligence. MIT Press, Cambridge, p , JADE JAVA AGENT DEVELOPMENT FRAMEWORK. Disponível em: Acessado em: 14/11/ JENNINGS, N. R. FARATIN, P. LOMUSCIO, A. PARSONS, S. SIERRA, C. WOOLDRIDGE, M. Automated Negotiation: Prospects, Methods and Challenges. In International Journal of Group Decision and Negotiation, p , 2001.

116 103 JENNINGS, N. R. WOOLDRIDGE M. Agent-Oriented Software Engineering. Nineth European Workshop on Modelling Autonomous Agents in a Multi-Agent World, KRAUS, S. Automated negotiation and decision making in multiagent environments. Book: Multi-agents systems and applications, Springer-Verlag New York, p , KWON, O, PAUL IM, G, LEE, K. C. MACE-SCM: A multi-agent and case-based reasoning collaboration mechanism for supply chain management under supply and demand uncertainties. In Expert Systems with Applications: An International Journal, v. 33, N. 3, p , LEMAÍTRE, C. EXCELENTE, C. B. Multi-agent Organization Approach. In Proceedings of II Iberoamerican Workshop on DAI and MAS, LOU, P. ZHOU, Z. D. CHEN, Y. P. AI, W. Study on multi-agent-based agile supply chain management. In The International Journal of Advanced Manufacturing Technology, Springer London. v. 23, p , LUENBERGER, D. Linear and Nonlinear Programming, Pearson Education, Ed MAGATÃO, L., ARRUDA, L. V. R., NEVES-Jr, F. A mixed integer programming approach for scheduling commodities in a pipeline, Computers and Chemical Engineering, v. 28, p , MÁS, R. Otimização da Programação de Suprimento de Petróleo. Dissertação de Mestrado. Universidade de São Paulo, São Paulo, MATURANA, F. SHEN, W. NORRIE, D. H. MetaMorph: An Adaptive Agent-Based Architecture for Intelligent Manufacturing. In International Journal of Production Research, MORO, L. ZANIN, A. PINTO, J. M. A planning model for refinery diesel production. In Computers and Chemical Engineering, v. 22, p , MOYAUX, T. CHAIB-DRAA, B. D AMOURS, S. Supply Chain Management and Multiagent Systems: An Overview. Book: Multiagent based Supply Chain Management, Springer Berlin Heidelberg, 2006.

117 104 NEMHAUSER, G. WOLSEY, L. Integer and Combinatorial Optimization, John Wiley, OSBORNE, M. J. An Introduction to Game Theory. Oxford University Press, PATIL, R. FIKES, R. PATEL-SCHNEIDER, P. MCKAY, D. FININ, T. GRUBER, T. NECHES, R. The ARPA Knowledge Sharing Effort: Progress Report. In Principles of Knowledge Representation and Reasoning: Proceedings of the Third International Conference, PRUITT, D. G. Negotiation Behavioer. Academic Press, PUCCINI, A. PIZZOLATO, N. Programação Linear, ed. 2, Rio de Janeiro, RAIFFA, H. The Art and Science of Negotiation. Harvard University Press, Cambridge, USA SADEH, N. HILDUM, D. KJENSTAD, D. Agent-Based e-supply Chain Decision Support. Journal of Organizational Computing and Electronic Commerce, V. 13, SANDHOLM, T. LESSER, V. Leveled-Commitment Contracting: A Backtracking Instrument for Multiagent Systems. AI Magazine, v. 23, p , SHAH, N. Mathematical programming techniques for crude oil scheduling. Computers and Chemical Engineering 20, p , SIMCHI-LEVI, D., KAMINSKY, P., SIMCHI-LEVI, E. Designing and Managing the Supply Chain, McGraw-Hill Higher Education, SMITH, R. G. The Contract Net Protocol: high-level communication and control in a distributed problem solver. IEEE Transactions on Computers, v.29, n.12, p , TA, L. CHAI, Y. LIU, Y. Multi-agent-based Architecture and Mechanism for Coordination and Execution in Agile Supply Chain Operational Management. In 2005 IEEE International Conference on e-technology, e-commerce and e-service, Washington, DC. p , VARIAN, H. Micro-economia Princípios Básicos. Elsevier, 2003.

118 105 VECCHI, C. D. KIRKPATRICK, S. GELATT JR, M. P. Optimization by Simulated Annealing, Science, 220, n. 4598, p , VEIGA, S. L. Modelo Hierarquizado para Scheduling de Suprimento de Petróleo. Dissertação de Mestrado. Universidade Tecnológica Federal do Paraná, Curitiba, VERDICCHIO, M., COLOMBETTI, M. Commitments for Agent-Based Supply Chain Management. SIGecom Exch ACM, p , VIDAL, J. M. Fundamentals of Multiagent System. E-book. Disponível em Acessado em 14/11/2008. WANG, M., LIU, J., WANG, H., CHEUNG, W. K., XIE, X. On-demand e-supply chain integration: A multi-agent constraint-based approach. Expert Systems with Applications: An International Journal, v. 43, ZARANDI, M. H. F. POURAKBAR, M. TURKSEN, I. B. A Fuzzy agent-based model for reduction of bullwhip effect in supply chain systems. Expert Systems with Applications: An International Journal, v. 34, 2008.

119 106

120 107 APÊNDICE 1 CARTAS DE GANTT DOS CENÁRIOS UTILIZADOS A carta de Gantt é comumente utilizada para apresentação gráfica da alocação de recursos, sendo uma maneira eficiente para verificar se o modelo violou alguma restrição. É possível de forma visual, utilizando a carta de Gantt, descobrir se um mesmo tanque é utilizado ao mesmo tempo por dois navios ou se um tanque descarregou antes do período mínimo de 24 horas de decantação. A carta de Gantt é um gráfico bidimensional onde o eixo x apresenta o intervalo de tempo, que vai de zero até o horizonte de planejamento, e o eixo y contém os recursos. Por meio de cores, é possível representar a forma de utilização de um recurso em um instante de tempo específico. Através da carta de Gantt, percebe-se que os tanques que possuem maior nobreza são utilizados frequentemente na otimização do lucro. O valor da nobreza de um tanque é dado pela diferença entre o valor da classe de óleo na refinaria e o valor da classe de óleo no porto ver Tabela 2. As cartas de Gantt apresentadas na seqüência foram produzidas pelo SMA proposto. Inicialmente são apresentadas as cartas de Gantt geradas pelo SMA auto-interessado e, em seguida, as cartas de Gantt para o SMA benevolente. Na legenda, NAVIO significa a alocação dos navios nos píeres, DESCARREG é o processo de descarregamento do inventário do navio nos tanques, CL-1 à CL-6 representam o descarregamento das diferentes classes de óleo no oleoduto e DECANT o período de 24 horas para decantação. CARTAS DE GANTT GERADAS PELO SMA AUTO-INTERESSADO Para cada cenário, é apresentado o Gantt da solução encontrada pelo SMA com otimização de lucro seguido do Gantt da solução encontrada pelo SMA com otimização do horizonte. A Figura 33 e a Figura 34 apresentam os Gantts para o cenário com três navios otimizando lucro e horizonte respectivamente. A Figura 35 e a Figura 36 apresentam os Gantts para o cenário com quatro navios, a Figura 37 e a Figura 38 os Gantts para o cenário com cinco navios, a Figura 39 e a Figura 40 os Gantts para o cenário com seis navios e a Figura 41 e a Figura 42 os Gantts para o cenário com sete navios.

121 108 Figura 33: Carta de Gantt do cenário com três navios. Solução gerada pelo SMA autointeressado com otimização do lucro Figura 34: Carta de Gantt do cenário com três navios. Solução gerada pelo SMA autointeressado com otimização do horizonte

122 109 Figura 35: Carta de Gantt do cenário com quatro navios. Solução gerada pelo SMA autointeressado com otimização do lucro Figura 36: Carta de Gantt do cenário com quatro navios. Solução gerada pelo SMA autointeressado com otimização do horizonte

123 110 Figura 37: Carta de Gantt do cenário com cinco navios. Solução gerada pelo SMA autointeressado com otimização do lucro

124 111 Figura 38: Carta de Gantt do cenário com cinco navios. Solução gerada pelo SMA autointeressado com otimização do horizonte

125 112 Figura 39: Carta de Gantt do cenário com seis navios. Solução gerada pelo SMA autointeressado com otimização do lucro

126 113 Figura 40: Carta de Gantt do cenário com seis navios. Solução gerada pelo SMA autointeressado com otimização do horizonte

127 114 Figura 41: Carta de Gantt do cenário com sete navios. Solução gerada pelo SMA autointeressado com otimização do lucro

128 115 Figura 42: Carta de Gantt do cenário com sete navios. Solução gerada pelo SMA autointeressado com otimização do horizonte

129 116 CARTAS DE GANTT GERADAS PELO SMA BENEVOLENTE Na seqüência são apresentados os Gantts gerados pelo SMA benevolente. A Figura 43 apresenta o Gantt para o cenário com três navios, a Figura 44 o Gantt para o cenário com 4 navios, a Figura 45 o Gantt para cinco navios, Figura 46 para o cenário com seis navios e a Figura 47 o Gantt para o cenário com sete navios. Figura 43: Carta de Gantt do cenário com três navios. Solução gerada pelo SMA benevolente Figura 44: Carta de Gantt do cenário com quatro navios. Solução gerada pelo SMA benevolente

130 117 Figura 45: Carta de Gantt do cenário com cinco navios. Solução gerada pelo SMA benevolente

131 118 Figura 46: Carta de Gantt do cenário com seis navios. Solução gerada pelo SMA benevolente

132 119 Figura 47: Carta de Gantt do cenário com sete navios. Solução gerada pelo SMA benevolente

133 120

134 121 APÊNDICE 2 PASSO A PASSO PARA A ALOCAÇÃO DE RECURSOS COM UM SMA AUTO- INTERESSADO NO CENÁRIO COM TRÊS NAVIOS Nesse apêndice é apresentado um passo a passo para a negociação do SMA autointeressado para a alocação de recursos em um cenário com três navios, dois píeres, cinco tanques, um oleoduto e uma refinaria detalhes do cenário se encontram na Tabela 5 e Tabela 6. A alocação divide-se em 5 passos: o primeiro é o processo inicial de enviar para a refinaria o inventário dos tanques que iniciaram a simulação decantados; do segundo ao quarto passo são apresentados, respectivamente, a alocação dos três navios existentes no cenário, o quinto e último passo é responsável por finalizar a simulação, enviando para a refinaria o inventário restante nos tanques do porto. Embora existam dois píeres no cenário, o P-1 não é exibido no processo de negociação, uma vez que seu custo de atracagem é muito alto ($5,0314/hora enquanto o P-2 possui um custo de $2,5157/hora), sendo possível nesse cenário atracar todos os navios utilizando apenas o P-2. A refinaria também não é apresentada na carta de Gantt, uma vez que está ligada ao oleoduto e por esse motivo, ao enviar óleo pelo oleoduto, está se enviando óleo para a refinaria. 1º Passo O primeiro passo da simulação consiste em enviar o inventário dos tanques que iniciam a simulação decantados para a refinaria. A seqüência de envio é dada pela nobreza dos tanques. O tanque mais nobre envia seu inventário para a refinaria antes dos tanques menos nobres. Na Figura 48 é possível visualizar o processo de descarregamento dos tanques decantados para o cenário com três navios.

135 122 Figura 48: Descarregamento dos tanques decantados no início da simulação Assim como na solução ótima global encontrada pelo modelo original, os tanques TQ2134 e TQ3241 iniciam a simulação decantados, e como o tanque TQ3241 possui maior nobreza que o TQ3234, o mesmo é descarregado no oleoduto (OSVAT) primeiro. O processo de descarregamento é seqüencial, assim no início da simulação (hora zero do horizonte de planejamento) é iniciado o descarregamento do TQ3241 e concluindo esse descarregamento é iniciado o descarregamento do tanque TQ3234. Para o descarregamento, cada tanque realiza um leilão para escolha do oleoduto. No pedido de proposta enviado pelo tanque ao oleoduto é informada a quantidade de óleo para descarregamento. O oleoduto ao receber este pedido solicita à refinaria sua agenda de processamento, com base na agenda o oleoduto seleciona um período para o descarregamento, enviando esta informação ao tanque junto com o custo da interface. No SMA auto-interessado com otimização do lucro, o tanque seleciona a proposta do oleoduto com menor custo de interface, já no SMA auto-interessado com otimização do horizonte, é escolhida a proposta com menor hora de término. Ao selecionar a melhor proposta, o tanque envia uma mensagem de accept-proposal ao oleoduto, que por sua vez envia as informações para a refinaria, ambos os agentes (oleoduto e refinaria) adicionam na sua agenda as informações sobre o descarregamento. O presente cenário é composto de um único oleoduto, logo os tanques não terão opção de escolha, mas em cenários mais complexos com vários oleodutos os tanques podem escolher dentre as propostas a melhor.

136 123 2º Passo No segundo passo da simulação, é inserido no sistema o primeiro navio, que chega ao porto na hora zero e pode permanecer sem sobre-estadia até a hora 48, esse navio possui um inventário com m 3 de óleo tipo oc-05. Como o P-2 possui o menor custo de atracagem, é apresentada a seqüência de negociação desse píer para receber o navio, porém toda a seqüência apresentada para o P-2 também é realizada pelo P-1, que envia sua proposta para o navio. A chegada do primeiro navio no sistema é apresentada na Figura 49. Figura 49: Intervalo permitido de utilização do navio pelo P-2 Ao se aproximar do porto, o navio Front Brea inicia o primeiro leilão enviando um pedido de proposta a todos os píeres. Recebendo o pedido, cada píer formata um pedido de proposta e inicia o segundo leilão, o qual objetiva selecionar os tanques para receber o inventário do navio. Ao receber o pedido de proposta enviado pelo píer no segundo leilão, cada tanque formata uma resposta com a hora de início e de término para receber o óleo cru, a quantidade disponível e a nobreza do tanque. Nessa cenário, todos os tanques suportam o tipo de óleo disponível no navio Front Brea, enviando as propostas (representadas pelos retângulos numerados na Figura 49).

137 124 Figura 50: Agenda de disponibilidade dos tanques para o recebimento do óleo tipo oc-05 Após receber as proposta, o P-2 escolhe o tanque mais lucrativo (SMA autointeressado com otimização do lucro) ou com menor hora de término (SMA auto-interessado com otimização do horizonte), a lucratividade dos tanques é representada pela numeração à direita da proposta, sendo o número um (TQ3241) o mais lucrativo e o número cinco (TQ3237) o menos lucrativo. Entretanto, o TQ3241 possui uma disponibilidade de m 3 de óleo, quantidade essa inferior ao inventário do Front Brea ( m 3 de óleo), como se tratam de agentes auto-interessados, os mesmos não compartilham informações sobre sua agenda, assim o P-2 deve realizar um novo leilão para o inventário restante do navio. Nesse novo leilão, é enviada uma mensagem a todos os tanques solicitando propostas para os m 3 de óleo restante no navio, sendo que o intervalo de tempo respeita o término de descarregamento da primeira parte do inventário no TQ3241 (hora 20,87) e vai até o limite de permanência do Front Brea no porto sem sobre-estadia (hora 48) - Figura 51.

138 125 Figura 51: Escolha do TQ3241 como sendo o tanque mais lucrativo, mesmo este recebendo parcialmente o inventário do Front Brea. Para o inventário restante do navio, é solicitada novas propostas dos tanques Para a escolha do segundo tanque, leva-se em consideração o tanque mais lucrativo (SMA auto-interessado com otimização do lucro) ou o que possui menor hora de término (SMA auto-interessado com otimização do horizonte) ainda não selecionado para receber o inventário do navio. Para o SMA com otimização do lucro, o tanque selecionado foi o TQ Figura 52.

139 126 Figura 52: Escolha dos dois primeiros tanques para receber o inventário do navio Front Brea Como o TQ3243 possui um capacidade livre de m 3 de óleo, é necessário realizar um terceiro leilão para o óleo restante no navio (5.639m 3 ). Para o SMA com otimização do lucro, o TQ3234 é selecionado. Assim, o P-2 formata sua proposta e envia-a para o navio. Essa proposta é formada pela hora de início e fim de atracagem e o lucro do sistema caso o navio atraque no P-2. Esse lucro é calculado pela quantidade de óleo descarregado em cada tanque multiplicado pela nobreza de cada óleo, desse valor é reduzido o custo de utilização do píer pelo navio e o custo de sobre-estadia (no exemplo apresentado não foi necessário sobre-estadia). As informações sobre a proposta do P-2 podem ser observadas na Figura 53.

140 127 Figura 53: Alocação do primeiro navio no porto Ao receber a proposta de todos os píeres, o Front Brea escolhe a proposta mais lucrativa (SMA com otimização de lucro) ou a proposta com menor hora final de atracagem (SMA com otimização de horizonte). Após escolher a melhor proposta enviada pelos píeres, o navio envia uma mensagem de accept-proposal para o píer que ganhou o leilão P-2, que por sua vez envia um accept-proposal a todos os tanques selecionados para receber o inventário do navio. Cada tanque inicia então o processo de decantação para, na seqüência, iniciar um terceiro leilão leilão para escolha do oleoduto. Dos tanques que receberam o inventário do navio, apenas o TQ3234 não inicia seu processo de decantação, isso porque o inventário de óleo que o mesmo recebeu é pequeno (recebeu m 3 e a capacidade máxima do tanque é m 3 ), sendo que a decantação só é realizada quando o tanque está acima da metade de sua capacidade máxima. No leilão pelo oleoduto, o tanque que finalizar a decantação primeiro terá o direito de iniciar o leilão, assim o TQ3241 tem a prioridade e inicia o leilão, seguido do TQ3243. Para o cenário existe apenas um oleoduto, este ligado a uma refinaria, então o tanque envia um pedido de proposta ao único oleoduto. O oleoduto por sua vez solicitará as informações da refinaria e formatará uma resposta ao tanque. Ao receber a resposta, o tanque agenda seu descarregamento e envia uma mensagem de aceite para o oleoduto, que também envia uma confirmação para a refinaria, que irá agendar o recebimento do óleo pelo tanque. A agenda após a decantação e o descarregamento dos tanques é apresentada na Figura 54.

141 128 Figura 54: Decantação e descarregamento dos tanques utilizados pelo Front Brea Após alocar o primeiro navio no sistema e atualizar a agenda de cada agente, as alocações apresentadas na Figura 54 se transformam em restrições pesadas, logo as mesmas não podem ser modificadas ao longo da simulação. 3º Passo No terceiro passo é iniciada a alocação do segundo navio - Pedreiras, o qual chega ao porto na hora 12 e pode permanecer sem custo de sobre-estadia até a hora 60. O navio chega carregado com dois tipos de óleo: m 3 de óleo tipo oc-08, e m 3 de óleo tipo oc- 27. Como o P-2 está sendo utilizado pelo Front Brea até o período de 28,32 horas, o mesmo só poderá gerar uma agenda para o navio Pedreiras após a saída do porto do Front Brea. Inicialmente o P-2 inicia o leilão com o objetivo de encontrar tanques para receber os m 3 de óleo tipo oc-08. Como no sistema só o TQ3239 e o TQ3241 conseguem receber esse tipo de óleo, os mesmos respondem ao pedido com as propostas, os demais tanques respondem o pedido com uma mensagem de refuse. O P-2, ao receber as propostas seleciona a melhor no SMA com otimização de lucro é o TQ3239 o qual pode receber m 3 de óleo - Figura 55.

142 129 Figura 55: Chegada do Pedreiras ao sistema, bem como as propostas do TQ3237 e TQ3239 para receberem o inventário do navio A proposta realizada pelo TQ3239 é inferior aos m 3 de óleo tipo oc-08 existente no Pedreiras, assim um novo leilão é iniciado, e dessa vez, o TQ3237 é selecionado para receber m 3 de óleo restante - Figura 56. Figura 56: Seleção do segundo tanque para receber o primeiro inventário do navio Pedreiras Após a alocação do primeiro inventário existente no Pedreiras, é iniciado e leilão para escolha do tanque que irá receber o segundo inventário m 3 de óleo tipo oc-27. O tipo

143 130 oc-27 é suportado apenas pelo TQ3237, os demais tanques respondem o pedido de proposta com uma mensagem de refuse - Figura 57. Figura 57: Proposta do TQ3237 para receber o segundo inventário do navio Pedreiras Com a escolha do tanque que receberá o segundo inventário do navio, o P-2 formata e envia sua proposta. Após o Pedreiras receber as propostas dos píeres, ele escolhe a melhor e envia uma mensagem de accept-proposal. Essa mensagem é recebida pelo P-2 que envia a todos os tanques que se comprometeram em receber o inventário do navio uma mensagem de accept-proposal. Ao receber a mensagem, cada tanque atualiza sua agenda de utilização e inicia o processo de decantação e descarregamento no oleoduto - Figura 58.

144 131 Figura 58: Decantação e o descarregamento dos tanques que recebam o inventário do navio Pedreiras 4º Passo Com a alocação do segundo navio, o último navio Rebouças é inserido no sistema, o mesmo chega ao porto na hora 24, onde pode permanecer sem sobre-estadia até a hora 72. O navio está carregado com m 3 de óleo tipo oc-38. Com a chegada do novo navio, o P-2 solicita aos tanques propostas para receberem o inventário, enviando a todos os tanques sua disponibilidade de tempo (da hora 37,57 até a hora 72). Dos cinco tanques do SMA, apenas dois podem receber o óleo do navio Rebouças TQ3234 e TQ3243, mas como o TQ3243 foi utilizado no início da simulação, o mesmo só poderá ser utilizado novamente após seu descarregamento total que acontece na hora 73,52, o que o torna inapto a receber o inventário do Rebouças dentro do horizonte de 72 horas, sendo assim, o píer seleciona a proposta enviado pelo TQ Figura 59.

145 132 Figura 59: Descarregamento do inventário do Rebouças no TQ3234 Após selecionar o TQ3234, o píer formata uma proposta para devolver ao navio, nessa proposta é adicionado ao tempo de descarregamento o tempo para entrada e saída do navio no píer e o lucro do navio no píer. Essas informações são enviadas ao navio Rebouças como resposta ao pedido de proposta. O navio, por sua vez, seleciona a melhor proposta enviada pelos píeres, enviando um accept-proposal ao píer ganhador P-2, que envia uma mensagem para o TQ3234, o qual agenda a decantação e realiza o leilão para selecionar um oleoduto para descarregar, conforme apresentado na Figura 60.

146 133 Figura 60: Processo de decantação e descarregamento do TQ3234 5º Passo O quinto passo não se aplica ao cenário atual, mas é utilizado quando ao final da simulação ainda existem tanques que não estão vazios, assim esses tanques agendam a decantação e, em seguida, iniciam o leilão pelo oleoduto para enviar seu inventário para a refinaria. Para o leilão, o tanque que concluir sua decantação primeiro terá o direito de iniciar o leilão.

147 134

148 135 APÊNDICE 3 PASSO A PASSO PARA A ALOCAÇÃO DE RECURSOS COM UM SMA BENEVOLENTE NO CENÁRIO COM TRÊS NAVIOS Antes de apresentar um passo a passo do processo de negociação do SMA benevolente, é apresentado, na Figura 61, a carta de Gantt da solução ótima global. Essa solução foi encontrada pela PLIM para um cenário com três navios, dois píeres, cinco tanques, um oleoduto e uma refinaria detalhes do cenário na Tabela 5 e Tabela 6. Tal solução é apresentada porque o SMA benevolente a atingiu, e os passos do processamento serão apresentados na seqüência. Figura 61: Solução ótima global para o cenário com três navios Na carta apresentada na Figura 61, o P-1 não é exibido, uma vez que seu custo de atracagem é muito alto ($5,0314/hora enquanto o P-2 possui um custo de $2,5157/hora), por isso ele não foi utilizado no cenário. No eixo Y é possível visualizar todos os recursos disponíveis no sistema (com exceção do P-2 e da refinaria, esta última ligada ao duto, e por esse motivo, ao enviar óleo pelo oleoduto, está se enviando óleo para a refinaria).

149 136 No eixo X tem-se o horizonte de planejamento. Na legenda, é possível visualizar as texturas que representam o descarregamento de cada classe de óleo no duto e também o descarregamento de óleo do navio para os tanques. Como existem três navios no cenário, a simulação foi dividida em cinco passos: o primeiro é o processo inicial de enviar para a refinaria o inventário dos tanques que iniciaram a simulação decantados. Do segundo ao quarto passo são apresentados, respectivamente, a alocação dos três navios existentes no cenário. O quinto e último passo é responsável por finalizar a simulação, enviando para a refinaria o inventário restante nos tanques do porto. 1º Passo Para o processo de negociação no SMA benevolente, o primeiro passo é realizar o descarregamento dos tanques que estão decantados no início da simulação, dessa maneira, o SMA benevolente classifica os tanques decantados pela nobreza e então, cada tanque decantado seqüencialmente realiza o leilão pelo oleoduto. O resultado desse leilão é apresentado na Figura 62. Figura 62: Descarregamento dos tanques decantados no início da simulação Como na solução ótima global encontrada pelo modelo original, os tanques 4 e 5 iniciam a simulação decantados, e como o TQ3241 possui maior nobreza que o TQ3243, o mesmo é descarregado no oleoduto primeiro. O descarregamento acontece para todo o inventário do tanque, uma vez que o custo de interface no oleoduto independe da quantidade

150 137 de óleo que será transferida, além disso, descarregar totalmente os tanques permite o recebimento de uma grande quantidade de óleo posterior dos navios. 2º Passo Após o descarregamento dos tanques decantados, é inserido no sistema o primeiro navio Front Brea, o qual possui um inventário de m 3 de óleo tipo oc-05. Esse navio chega ao porto na hora zero e pode permanecer no porto sem custo de sobre-estadia até a hora 48. A Figura 63 representa o intervalo permitido de utilização do navio pelo P-2. Figura 63: Intervalo permitido de utilização do navio pelo P-2 Com a chegada do navio, o mesmo faz um cfp call for proposal - para todos os píeres do sistema. Para evitar a redundância na explicação, será apresentado apenas o processo de leilão realizado pelo P-2, pois o mesmo possui um custo baixo de atracagem, tornando ele o píer mais barato e, conseqüentemente, o píer que será escolhido pelo navio Front Brea. O processo de leilão do P-1 é idêntico ao que será apresentado. O P-2, após receber o cpf do navio, inicia o leilão para selecionar os tanques que irão receber o inventário do Front Brea. Ao receber o cpf do píer, os tanques respondem com uma proposta. No cenário apresentado, todos os tanques podem receber o óleo cru tipo oc-05, por esse motivo todos enviam para o píer sua agenda de disponibilidade (em verde na Figura 64). Como pode ser observado, à direita da agenda é apresentado o número com a ordem de nobreza dos tanques, o número um representa o tanque mais nobre, o número cinco representa o menos nobre.

151 138 Figura 64: Agenda de disponibilidade dos tanques para o recebimento do óleo tipo oc-05 Ao receber todas as propostas dos tanques, o P-2 seleciona a proposta do tanque mais lucrativo (TQ3241), e verifica qual a quantidade máxima de óleo que esse tanque pode receber. Na situação, o TQ3241 pode receber m 3 de óleo - Figura 65, capacidade essa insuficiente para o descarregamento total do navio, por esse motivo, o P-2 deve selecionar outros tanques para receber a quantidade restante m 3. Figura 65: Escolha do TQ3241 como sendo o tanque mais lucrativo, mesmo este recebendo parcialmente o inventário do Front Brea Para a escolha do segundo tanque no SMA benevolente, já não se leva em consideração apenas a nobreza do tanque e sim a lucratividade. Para calcular a lucratividade considera-se a quantidade de óleo que o tanque pode receber multiplicado pela nobreza do

152 139 tanque, diminuído dos custos de utilização do píer, que depende do tempo que o navio permanece atracado. O custo do píer é adicionado para forçar que os descarregamentos fiquem próximos uns dos outros no horizonte de planejamento. Inicialmente o P-2 tenta alocar o novo descarregamento no segundo tanque antes do primeiro descarregamento (descarregamento do TQ3241). Se não for possível é feita uma tentativa para descarregá-lo após o primeiro descarregamento, esse comportamento visa reduzir o horizonte de planejamento. O segundo tanque mais nobre o TQ3243 também não pode receber todo o inventário restante m 3 pois o mesmo já possui um inventário inicial, por esse motivo o tanque pode receber do navio apenas m 3. Dessa maneira, houve a necessidade do píer selecionar um terceiro tanque para receber o inventário restante 5.639m3, inventário esse alocado no terceiro tanque mais nobre TQ3234. Como pode ser observado, o primeiro tanque selecionado TQ3241 tem a função de ser a referência para os demais tanques, sendo que o TQ3243 e o TQ3234 receberão o inventário do navio antes do TQ3241, o que resultará em uma diminuição significativa do horizonte de planejamento. A Figura 66 apresenta a alocação do inventário restante do navio no TQ3243 e no TQ3234. Figura 66: Alocação de todo o inventário do navio Front Brea nos tanques TQ3234, TQ3241 e TQ3243 Após o P-2 formatar sua proposta, a mesma é enviada ao navio, indicando a hora inicial para atracagem (leva-se em consideração o tempo de entrada no píer), a hora para desatracar no píer (considera-se o tempo para sair do píer) e o lucro que o navio irá gerar no sistema se atracado no P-2. Esse lucro é calculado pela quantidade de óleo descarregado em

153 140 cada tanque multiplicado pela nobreza de cada óleo. Desse valor é reduzido o custo de utilização do píer pelo navio e o custo de sobre-estadia (no exemplo apresentado não foi necessário sobre-estadia). A alocação do navio após o leilão é apresentado na Figura 67. Figura 67: Alocação do primeiro navio no porto Após o navio Front Brea escolher a melhor proposta enviada pelos píeres, o mesmo envia uma mensagem de accept-proposal para o píer que ganhou o leilão P-2, que por sua vez envia um accept-proposal a todos os tanques selecionados para receber o inventário do navio. Cada tanque inicia então o processo de decantação para na seqüência iniciar um terceiro leilão, o leilão para escolha do oleoduto. A ordem do leilão é dada pela ordem de término da decantação. Nesse exemplo, o TQ3234 foi o primeiro tanque a concluir sua decantação, logo ele será o primeiro tanque a realizar o leilão pelo oleoduto, seguido do TQ3243 e do TQ3241. Como um dos objetivos da alocação é diminuir o horizonte de planejamento, os recursos são alocados seqüencialmente, não havendo intervalos entre uma alocação e outra, como pode ser observado na Figura 68. Na abordagem cooperativa, foi mudada a política de descarregamento dos tanques. No SMA auto-interessado os tanques esperavam chegar a sua capacidade máxima para descarregar, no benevolente, o tanque é descarregado quando sua capacidade ultrapassar a metade da capacidade máxima. O objetivo é disponibilizar espaço de armazenamento nos tanques de maneira precoce.

154 141 Figura 68: Decantação e descarregamento dos tanques utilizados pelo Front Brea Após alocar o primeiro navio no sistema, e atualizar a agenda de cada agente, as alocações apresentadas na Figura 68 se transformam em restrições pesadas, logo as mesmas não podem ser modificadas ao longo da simulação. 3º Passo Na seqüência, é iniciada a alocação do segundo navio - Pedreiras, o qual chega no porto na hora 12 e pode permanecer sem custo de sobre-estadia até a hora 60. O navio chega carregado com dois tipos de óleo: m 3 de óleo tipo oc-08, e m 3 de óleo tipo oc- 27. Como o P-2 está sendo utilizado pelo Front Brea até o período de 23 horas, o mesmo só poderá gerar uma agenda para o Pedreiras após a saída do porto do Front Brea. Inicialmente o P-2 inicia o leilão com o objetivo de encontrar tanques para receber os m 3 de óleo tipo oc-08. Como no cenário só o TQ3239 e o TQ3241 conseguem receber esse tipo de óleo, os mesmos enviam como proposta sua agenda livre e a nobreza do tanque, os outros tanques enviam uma mensagem de refuse ao cpf do píer. A Figura 69 apresenta a chegada do Pedreiras no sistema, bem como as propostas enviadas pelos tanques TQ3237 e TQ3239 para receberem o inventário do navio.

155 142 Figura 69: Chegada do navio Pedreiras ao sistema, bem como as propostas do TQ3237 e TQ3239 para receberem o inventário do Pedreiras O P-2 seleciona o TQ3239 para receber o inventário do navio, sendo que o início do recebimento se dá após o Pedreiras atracar no píer. Como o Pedreiras pode entrar no píer às 23 horas e leva duas horas para atracar, o mesmo pode iniciar o descarregamento de seu inventário no tanque na hora 25, conforme apresentado na Figura 70. Figura 70: Recebimento de um dos tipos de óleo transportados pelo Pedreiras Na seqüência, o P-2 inicia um novo leilão para selecionar os tanques que receberam os m 3 de óleo tipo oc-27, esse óleo só pode ser recebido pelo TQ3237, conforme apresentado na Figura 71. Esse é o único tanque que responde com uma proposta o cpf do píer, os demais tanques respondem a cpf com mensagem de refuse.

156 143 Figura 71: Alocação da segunda parte do inventário no TQ3237 Com a agenda livre enviada pelo TQ3237, o píer vai alocar a segunda parte do inventário o mais próximo possível do descarregamento do primeiro inventário, minimizando com isso o custo de utilização do píer pelo navio. Como não é possível descarregar a segunda parte do inventário antes do tanque TQ3239, o mesmo será descarregado na seqüência. Após o píer montar sua proposta, o mesmo responde ao cfp do navio, enviando a hora inicial e a hora final da alocação do navio no píer e o lucro do sistema se o navio atracar nele. O navio seleciona a melhor proposta e envia o accept-proposal. Ao receber a mensagem, o P- 2 avisa todos os tanques envolvidos no leilão, que agendarão suas decantações e iniciarão os leilões pelos oleodutos, sendo que o tanque que concluir primeiro a decantação terá direito de ser o primeiro tanque a fazer o leilão pelo oleoduto, conforme apresentado na Figura 72.

157 144 Figura 72: Decantação e o descarregamento dos tanques que recebam o inventário do Pedreiras 4º Passo No quarto passo, o último navio é inserido no sistema navio Rebouças, o mesmo chega ao porto na hora de número 24, onde pode permanecer sem sobre-estadia até a hora 72. O navio está carregado com m 3 de óleo tipo oc-38. Na Figura 73 é possível visualizar a chegada do navio Rebouças. Figura 73: Chegada do navio Rebouças, bem como sua alocação no P-2 Com a chegada do novo navio, o P-2 solicita aos tanques propostas o recebimento do inventário dele. Dos cinco tanques do SMA, apenas dois podem receber o óleo do Rebouças,

158 145 respondendo ao cfp com propostas, os outros três respondem com mensagens de refuse. Desses dois tanques, o que apresenta maior nobreza é o TQ3243, que por ter sido utilizado no início da simulação, só tem sua agenda livre após a hora 55 do horizonte, conforme Figura 74. Figura 74: Proposta dos tanques 1 e 5 ao call for proposal feito pelo P-2 Logo, o inventário do navio é alocado ao TQ3243 assim que o mesmo termina seu descarregamento no oleoduto, conforme Figura 75. Figura 75: Descarregamento do inventário do Rebouças no TQ3243

4 Descrição do modelo matemático proposto

4 Descrição do modelo matemático proposto 4 Descrição do modelo matemático proposto O modelo matemático de programação linear inteiro misto (PLIM) proposto neste capítulo foi baseado no modelo apresentado por Steffensen (2012). Após algumas adaptações,

Leia mais

PMR3507 Fábrica digital

PMR3507 Fábrica digital LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Empresas Virtuais Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas

Leia mais

Projeto Final Simulação do Descarregamento de Navios em Portos

Projeto Final Simulação do Descarregamento de Navios em Portos IF6AL Simulação de Eventos Discretos / Prof. Ricardo Equipe: Lucas Campiolo Paiva Luiz Gustavo Cardoso Ribeiro Projeto Final Simulação do Descarregamento de Navios em Portos Resumo Este trabalho tem como

Leia mais

1 Introdução Justificativa

1 Introdução Justificativa 1 Introdução Neste estudo foi abordada a cadeia de suprimento e distribuição de derivados de petróleo no Brasil, com foco na avaliação econômica do investimento necessário para a manutenção de estoque

Leia mais

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP O Problema de Alocação de Berços: Aspectos Teóricos e Computacionais Flávia Barbosa UNICAMP flaflabarbosa0@gmail.com Antônio Carlos Moretti UNICAMP moretti@ime.unicamp.br Luiz Leduíno de Salles Neto UNIFESP

Leia mais

Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques.

Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques. Marcelo Maciel Monteiro Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques. Tese de Doutorado Tese apresentada ao Programa

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

A otimização como fator de transformação do planejamento de Supply Chain na COAMO. Ademir Gonçalvez

A otimização como fator de transformação do planejamento de Supply Chain na COAMO. Ademir Gonçalvez A otimização como fator de transformação do planejamento de Supply Chain na COAMO Ademir Gonçalvez Institucional Veja o vídeo em: https://www.youtube.com/embed/hijwsyq74ee http://www.youtube.com/embed/hijwsyq74ee

Leia mais

Localização de Instalações. Projeto de Redes Logísticas. Escola Politécnica. Prof. Dr. Claudio Barbieri da Cunha.

Localização de Instalações. Projeto de Redes Logísticas. Escola Politécnica. Prof. Dr. Claudio Barbieri da Cunha. Localização de Instalações Projeto de Redes Logísticas Prof. Dr. Claudio Barbieri da Cunha Escola Politécnica cbcunha@usp.br Objetivo Definir a configuração de uma rede logística / supply chain em termos

Leia mais

Proposta de um sistema de suporte à decisão para programação de navios baseado em otimização: um caso prático

Proposta de um sistema de suporte à decisão para programação de navios baseado em otimização: um caso prático Gustavo Souto dos Santos Diz Proposta de um sistema de suporte à decisão para programação de navios baseado em otimização: um caso prático Dissertação de Mestrado Dissertação apresentada como requisito

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

Leia mais

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear Introdução à Pesquisa Operacional Origens militares Segunda guerra mundial Aplicada na alocação de

Leia mais

CURSO DE LOGÍSTICA INTEGRADA DE PRODUÇÃO. Ferramentas de Apoio à Decisão Prof. Dr. Fabrício Broseghini Barcelos PARTE 01

CURSO DE LOGÍSTICA INTEGRADA DE PRODUÇÃO. Ferramentas de Apoio à Decisão Prof. Dr. Fabrício Broseghini Barcelos PARTE 01 CURSO DE LOGÍSTICA INTEGRADA DE PRODUÇÃO Ferramentas de Apoio à Decisão Prof. Dr. Fabrício Broseghini Barcelos PARTE 01 Tomada de Decisão É o processo de identificar um problema específico e selecionar

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho agosto/2013 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

Sistemas de Informações Gerenciais. da Cadeia de Suprimento ao ERP e ao CRM

Sistemas de Informações Gerenciais. da Cadeia de Suprimento ao ERP e ao CRM Sistemas de Informações Gerenciais da Cadeia de Suprimento ao ERP e ao CRM Empresa digital 2 Sistema Integrado de Gestão e-commerce e empresas parceiras Compras BACK OFFICE FRONT OFFICE SCM - Supply Chain

Leia mais

Logística: gerenciando a cadeia de suprimentos. Prof Annibal Affonso Neto Doutor em Estratégia Competitiva

Logística: gerenciando a cadeia de suprimentos. Prof Annibal Affonso Neto Doutor em Estratégia Competitiva Logística: gerenciando a cadeia de suprimentos Prof Annibal Affonso Neto Doutor em Estratégia Competitiva Objetivo Esta palestra tratou do gerenciamento logístico e da cadeia de suprimentos. Logística:

Leia mais

Sumário. Simulação (1) Simulação (2) Simulação (3) Inteligência Artificial Distribuída (1) Ambientes de Simulação Baseados em Agentes

Sumário. Simulação (1) Simulação (2) Simulação (3) Inteligência Artificial Distribuída (1) Ambientes de Simulação Baseados em Agentes Ambientes de Simulação Baseados em Agentes Disciplina: Inteligência Artificial Avançada INF 5004 Aluna: Diana Francisca Adamatti Orientadora: Ana Lucia C. Bazzan Sumário Simulação Inteligência Artificial

Leia mais

Modelo de Programação Estocástica para o Planejamento Estratégico da Cadeia Integrada de Petróleo

Modelo de Programação Estocástica para o Planejamento Estratégico da Cadeia Integrada de Petróleo Gabriela Pinto Ribas Modelo de Programação Estocástica para o Planejamento Estratégico da Cadeia Integrada de Petróleo Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de 12 1 1.1. Motivações Dentre os tipos de técnicas de Inteligência Artificial existentes, as técnicas de Programação Genética (PG) continuam mudando rapidamente conforme os pesquisadores e profissionais

Leia mais

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

PESQUISA OPERACIONAL. UNIDADE 1 Introdução à Pesquisa Operacional. Prof. Me. Carlos Guimarães

PESQUISA OPERACIONAL. UNIDADE 1 Introdução à Pesquisa Operacional. Prof. Me. Carlos Guimarães PESQUISA OPERACIONAL UNIDADE 1 Introdução à Pesquisa Operacional Prof. Me. Carlos Guimarães Objetivo Introduzir o tema Pesquisa Operacional por meio da apresentação: Da sua origem; Das sociedades profissionais

Leia mais

1 Introdução Contextualização e motivação

1 Introdução Contextualização e motivação 1 Introdução Neste capítulo é apresentada a contextualização e motivação principal da pesquisa, o objetivo principal do trabalho, sua metodologia de pesquisa e a forma como esta dissertação está estruturada.

Leia mais

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA Cristiano Marinho Vaz, cmv02@hotmail.com Vinícius Ferreira da Silva

Leia mais

INTRODUÇÃO A LOGÍSTICA CURSO TÉCNICO EM LOGÍSTICA

INTRODUÇÃO A LOGÍSTICA CURSO TÉCNICO EM LOGÍSTICA INTRODUÇÃO A LOGÍSTICA CURSO TÉCNICO EM LOGÍSTICA Introdução a logística O QUE É LOGÍSTICA? Segundo Ronald Ballou, (1999). Para ele, Logística é o processo de planejamento do fluxo de materiais, objetivando

Leia mais

2 Fundamentos Replicação de Dados

2 Fundamentos Replicação de Dados 2 Fundamentos Neste capítulo serão abordados de forma introdutória os principais conceitos relacionados com replicação de dados. Em seguida, será abordada a metodologia de projeto orientado a domínio que

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO À TECNOLOGIA DA OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ INTRODUÇÃO O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos físicos de armazenamento, exemplo

Leia mais

I - Introdução à Simulação

I - Introdução à Simulação 1 I - Introdução à Simulação Simulação é, entendida como a imitação de uma operação ou de um processo do mundo real. A simulação envolve a geração de uma história artificial de um sistema para a análise

Leia mais

1 Introdução. 1.1 Justificativa

1 Introdução. 1.1 Justificativa 1 Introdução Neste capítulo, serão apresentadas as justificativas que motivaram esta dissertação de mestrado, o objetivo principal da pesquisa, a metodologia utilizada e a estrutura do trabalho. 1.1 Justificativa

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Prof. Gustavo Suriani de Campos Meireles, M.Sc.

Prof. Gustavo Suriani de Campos Meireles, M.Sc. Pontifícia Universidade Católica de Goiás Departamento de Engenharia Curso de Graduação em Engenharia de Produção ENG 1090 Introdução à Engenharia de Produção Prof. Gustavo Suriani de Campos Meireles,

Leia mais

1 Introdução 1.1 Motivação

1 Introdução 1.1 Motivação 13 1 Introdução 1.1 Motivação O planejamento de tarefas é um trabalho de resultados economicamente importantes mas de uma dificuldade computacional muito grande. Os problemas de planejamento podem ser

Leia mais

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO Sumário PREFÁCIO...3 MODELO DA DOCUMENTAÇÃO...3 1. INTRODUÇÃO AO DOCUMENTO...3 1.1. Tema...3 2. DESCRIÇÃO

Leia mais

Logística E gerenciamento da cadeia de abastecimento

Logística E gerenciamento da cadeia de abastecimento Logística E gerenciamento da cadeia de abastecimento Conceitos básicos Logística e Varejo Entendendo a cadeia de abastecimento integrada OBJETIVOS Os conceitos, definições e importância da cadeia de abastecimento;

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

2 Fundamentação Teórica

2 Fundamentação Teórica 22 2 Fundamentação Teórica Este capítulo expõe os principais conceitos envolvidos com o tema desta dissertação sob a forma de uma revisão dos conceitos-chave associados à modelagem de processos, à identificação

Leia mais

Processo de distribuição. Curso de Tecnologia de Marketing. Gestão da Cadeia de Distribuição. Gestão da Cadeia de Distribuição.

Processo de distribuição. Curso de Tecnologia de Marketing. Gestão da Cadeia de Distribuição. Gestão da Cadeia de Distribuição. Curso de Tecnologia de Marketing Gestão da Cadeia de Distribuição Este material é destinado ao acompanhamento das aulas, para estudo recomenda-se utilizar a bibliografia indicada. Gestão da Cadeia de Distribuição

Leia mais

OTIMIZAÇÃO DA PROGRAMAÇÃO DE OPERAÇÕES EM TERMINAIS PETROLÍFEROS

OTIMIZAÇÃO DA PROGRAMAÇÃO DE OPERAÇÕES EM TERMINAIS PETROLÍFEROS 3.2.0162 1 1 OTIMIZAÇÃO DA PROGRAMAÇÃO DE OPERAÇÕES EM TERMINAIS PETROLÍFEROS Suelen Neves Boschetto 1 (UTFPR), Ricardo Lüders 2 (UTFPR), Flávio Neves Jr 3 (UTFPR), Lúcia Valéria Ramos de Arruda 4 (UTFPR)

Leia mais

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho Pesquisa Operacional Introdução Profa. Alessandra Martins Coelho julho/2014 Operational Research Pesquisa Operacional - (Investigação operacional, investigación operativa) Termo ligado à invenção do radar

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Administração de Sistemas de Informação

Administração de Sistemas de Informação 1 Administração de Sistemas de Informação 2 Objetivos Identificar o uso da Tecnologia da Informação (TI); Conceitos fundamentais associados à Tecnologia da Informação; Conceitos de TI e de Sistemas de

Leia mais

GST0045 GESTÃO DA CADEIA DE SUPRIMENTO Aula 07: Tecnologia da Informação

GST0045 GESTÃO DA CADEIA DE SUPRIMENTO Aula 07: Tecnologia da Informação GST0045 GESTÃO DA CADEIA DE SUPRIMENTO Aula 07: Tecnologia da Informação Tecnologia da Informação Ao final dessa aula o aluno deverá conhecer: Informações e cadeia de suprimentos; Níveis da cadeia de suprimentos

Leia mais

UTILIZAÇÃO DE TÉCNICAS DE PESQUISA OPERACIONAL EM PROBLEMAS DE DISTRIBUIÇÃO DUTOVIÁRIA: UMA REVISÃO

UTILIZAÇÃO DE TÉCNICAS DE PESQUISA OPERACIONAL EM PROBLEMAS DE DISTRIBUIÇÃO DUTOVIÁRIA: UMA REVISÃO UTILIZAÇÃO DE TÉCNICAS DE PESQUISA OPERACIONAL EM PROBLEMAS DE DISTRIBUIÇÃO DUTOVIÁRIA: UMA REVISÃO Érito Marques de Souza Filho UFRJ / COPPE / Programa de Engenharia de Produção eritomarques@yahoo.com.br

Leia mais

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru 1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna

Leia mais

Pontifícia Universidade Católica do Rio de Janeiro

Pontifícia Universidade Católica do Rio de Janeiro Pontifícia Universidade Católica do Rio de Janeiro Rosa Blajberg Benzecry Otimização da Programação de Movimentação de Petróleo: Aplicação ao Sistema Terminal Duto Refinaria Dissertação de Mestrado (Opção

Leia mais

AULA 2/4 ASSUNTOS ABORDADOS: Gestão da cadeia de suprimentos. Gestão de estoques. 04/05/ :30 12:00

AULA 2/4 ASSUNTOS ABORDADOS: Gestão da cadeia de suprimentos. Gestão de estoques. 04/05/ :30 12:00 AULA 2/4 ASSUNTOS ABORDADOS: Gestão da cadeia de suprimentos. Gestão de estoques. 04/05/2013 10:30 12:00 Assunto: Gestão da cadeia de suprimentos. Consiste em gerenciar estrategicamente diferentes fluxos

Leia mais

Simulação de uma linha de produção em U com deslocamento de operadores

Simulação de uma linha de produção em U com deslocamento de operadores https://eventos.utfpr.edu.br//sicite/sicite2017/index Simulação de uma linha de produção em U com deslocamento de operadores RESUMO Ruan Rithelle de Faria Franco Chagas ruan@alunos.utfpr.edu.br Universidade

Leia mais

Estudo de Viabilidade da Implementação de Software de Roteamento para Transporte de Funcionários de Refinaria da Petrobras

Estudo de Viabilidade da Implementação de Software de Roteamento para Transporte de Funcionários de Refinaria da Petrobras Claudio Roberto Lima do Rego Estudo de Viabilidade da Implementação de Software de Roteamento para Transporte de Funcionários de Refinaria da Petrobras Dissertação de Mestrado Dissertação apresentada como

Leia mais

4. Modelo Co-evolucionário para Otimização da Programação da Produção.

4. Modelo Co-evolucionário para Otimização da Programação da Produção. 56 4. Modelo Co-evolucionário para Otimização da Programação da Produção. 4.1. Introdução. O modelo proposto para solucionar este problema é um modelo coevolucionário cooperativo formado por duas espécies.

Leia mais

2 Fundamentação Teórica

2 Fundamentação Teórica 2 Fundamentação Teórica Este capítulo oferece uma fundamentação teórica com os principais conceitos acadêmicos necessários para o alcance dos objetivos deste trabalho. Ele aborda o tema de programação

Leia mais

4 Arquitetura Adotada

4 Arquitetura Adotada 4 Arquitetura Adotada Neste trabalho foi desenvolvido um sistema para a inspeção de dutos de óleo, gás e outros fluidos. Este sistema está sendo usado em inspeções que utilizam como ferramenta de inspeção

Leia mais

3 Apresentação do problema

3 Apresentação do problema 3 Apresentação do problema 3.1 A cadeia de suprimentos da indústria petrolífera Conforme se definiu no início do capítulo anterior, a cadeia de suprimentos é um processo em que fornecedores, fabricantes,

Leia mais

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA

PESQUISA OPERACIONAL APLICADA A LOGÍSTICA PESQUISA OPERACIONAL APLICADA A LOGÍSTICA Pós-Graduação em Logística e Supply Chain Valdick Sales 1 APRESENTAÇÃO Valdick sales Graduado em Ciência da Computação pela UFPE. Pós-Graduado em Redes e Banco

Leia mais

Universidade de São Paulo. Faculdade de Economia, Administração e Contabilidade Departamento de Contabilidade e Atuária EAC FEA - USP

Universidade de São Paulo. Faculdade de Economia, Administração e Contabilidade Departamento de Contabilidade e Atuária EAC FEA - USP Universidade de São Paulo Faculdade de Economia, Administração e Contabilidade Departamento de Contabilidade e Atuária EAC FEA - USP AULA 10 Supply Chain Management (SCM) Prof. Dr. Joshua Onome Imoniana

Leia mais

6.CONCLUSÕES CONCLUSÕES

6.CONCLUSÕES CONCLUSÕES 6.CONCLUSÕES 193 6 CONCLUSÕES Este trabalho apresentou uma proposta para modelagem e análise de Sistemas de Controle envolvidos na geração de energia elétrica hidráulica, tendo como base dois desenvolvimentos:

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

3 Estudo de Caso: Processo Atual

3 Estudo de Caso: Processo Atual 3 Estudo de Caso: Processo Atual Na seção Breve Resumo serão apresentados os dados básicos da empresa e o seu perfil no mercado, definindo a configuração do sistema atual com os seus pontos fortes e fracos,

Leia mais

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto

Programação Linear Aplicada em Redes de Telecomunicações. Prof. Rodrigo de Souza Couto Programação Linear Aplicada em Redes de Telecomunicações Prof. Rodrigo de Souza Couto Informações Gerais Prof. Rodrigo de Souza Couto E-mail: rodsouzacouto@ieee.org Página da disciplina: http://www.lee.eng.uerj.br/~rodrigo/proglin

Leia mais

1 Introdução Motivação

1 Introdução Motivação 15 1 Introdução O tema central da dissertação aborda a proposta de sistema de informações para o armazenamento e análise de dados referentes aos fluxos logísticos dos corredores de exportação e importação

Leia mais

S.C.M. Prof. Fulvio Cristofoli. Supply Chain Management.

S.C.M. Prof. Fulvio Cristofoli. Supply Chain Management. S.C.M. Supply Chain Management Prof. Fulvio Cristofoli fulviocristofoli@uol.com.br www.fulviocristofoli.com.br Conceito SCM Gerenciamento da Cadeia de Suprimentos Processo de negócio que liga fabricantes,

Leia mais

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.

Resumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento. Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: PROJETOS I Aluno: Cleosvaldo G. Vieira Jr cgvjr@inf.ufsc.br Resumo parcial da Tese de Doutorado Um modelo de Sistema de Gestão do Conhecimento

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

Modelagem de um sistema informatizado de calculo de rotas logísticas com algoritmo de busca heurística Elias Vidal Bezerra Junior 1

Modelagem de um sistema informatizado de calculo de rotas logísticas com algoritmo de busca heurística Elias Vidal Bezerra Junior 1 Modelagem de um sistema informatizado de calculo de rotas logísticas com algoritmo de busca heurística Elias Vidal Bezerra Junior 1 1 Mestrando do Programa de Pós-Graduação em Ciência da Computação CIN/UFPE.

Leia mais

Planejamento Logístico. Anhanguera 2011 Prof. André Jun

Planejamento Logístico. Anhanguera 2011 Prof. André Jun Planejamento Logístico Anhanguera 2011 Prof. André Jun CAP. 05 MODELANDO A CADEIA DE SUPRIMENTOS Modelos: introdução Definição é uma representação simplificada de um sistema funcionando na prática Tipos

Leia mais

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h

Curso de Tecnologia em Sistemas Eletrônicos MATRIZ CURRICULAR. Módulo I /Semestre 1 Carga horária total: 400h Curso de Tecnologia em Sistemas Eletrônicos CÂMPUS FLORIANÓPOLIS MATRIZ CURRICULAR Módulo I /Semestre 1 Carga horária total: 400h Circuitos Elétricos 1 80 Lógica Combinacional 80 Física Geral 80 Comunicação

Leia mais

Sistemas Multi-agentes

Sistemas Multi-agentes Sistemas Multi-agentes! Projeto dos agentes «O problema é resolvido por um conjunto de agentes, fisicamente distribuídos em diversas máquinas conectadas. «Os agentes são concebidos para solucionar um problema

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características

Leia mais

SISTEMA LOGÍSTICO DE APOIO À DECISÃO NAS OPERAÇÕES DE TRANSFERÊNCIA DE DERIVADOS DA REDE DE DUTOS DA PETROBRAS

SISTEMA LOGÍSTICO DE APOIO À DECISÃO NAS OPERAÇÕES DE TRANSFERÊNCIA DE DERIVADOS DA REDE DE DUTOS DA PETROBRAS 1 de 7 26/6/2009 16:33 SISTEMA LOGÍSTICO DE APOIO À DECISÃO NAS OPERAÇÕES DE TRANSFERÊNCIA DE DERIVADOS DA REDE DE DUTOS DA PETROBRAS Suelen Neves Boschetto, Flávio Neves Jr CPGEI Universidade Tecnológica

Leia mais

Os pontos mais fortes do MAS-School são: A técnica orientada a objetivos para a fase de requisitos utiliza o processo recursivo de decomposição de um

Os pontos mais fortes do MAS-School são: A técnica orientada a objetivos para a fase de requisitos utiliza o processo recursivo de decomposição de um 140 7 Conclusões O desenvolvimento de um sistema multi-agente de larga escala (Lucena et al., 2003; Garcia et al., 2003) não é uma tarefa simples. Sistemas com muitos agentes em ambientes heterogêneos

Leia mais

FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE

FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE Camila Tenfen Prof. Jacques R. Heckmann, Orientador ROTEIRO

Leia mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

Capítulo 1: Introdução

Capítulo 1: Introdução Capítulo 1: Introdução Na indústria do petróleo, denomina-se downstream 1 ao setor que compreende o transporte (inclusive importação), refino ou processamento, distribuição e comercialização de petróleo,

Leia mais

(Jeong & Lee, 1992; Liu et al., 2001; Liu et al., 2003; Li et al., 2008 ehe & Chen 2012), b) Modelo discreto de redes de fraturas (Long et al.

(Jeong & Lee, 1992; Liu et al., 2001; Liu et al., 2003; Li et al., 2008 ehe & Chen 2012), b) Modelo discreto de redes de fraturas (Long et al. 1 Introdução A hidráulica dos meios fraturados tem sido investigada desde a década de 40, cujo interesse inicial foi estudar os problemas que ocasiona o escoamento de fluxo nestes meios. Louis (1974) indica

Leia mais

5 O Problema de Localização dos Sistemas de Mistura em Linha

5 O Problema de Localização dos Sistemas de Mistura em Linha 35 5 O Problema de Localização dos Sistemas de Mistura em Linha 5.1 Sistemas de Mistura em Linha A Petrobras está desenvolvendo um vasto programa de adequação da infraestrutura de suas refinarias para

Leia mais

3 Metodologia para Avaliação Probabilística de Reservas

3 Metodologia para Avaliação Probabilística de Reservas 3 Metodologia para Avaliação Probabilística de Reservas Este trabalho tem o objetivo de propor uma metodologia para a avaliação probabilística de reservas de óleo e gás. Conforme exposto no capítulo introdutório,

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CURITIBA CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO AMANDA LÚCIA CARSTENS RAMOS

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CURITIBA CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO AMANDA LÚCIA CARSTENS RAMOS UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CAMPUS CURITIBA CURSO DE ENGENHARIA DE CONTROLE E AUTOMAÇÃO AMANDA LÚCIA CARSTENS RAMOS JOSÉ EDUARDO LIMA DOS SANTOS SISTEMA INTEGRADO DE AUTOMAÇÃO RESIDENCIAL

Leia mais

Avaliação Preliminar dos Movimentos Aéreos no Aeroporto Internacional Antônio Carlos Jobim Galeão

Avaliação Preliminar dos Movimentos Aéreos no Aeroporto Internacional Antônio Carlos Jobim Galeão Íris Firmino Cardoso Avaliação Preliminar dos Movimentos Aéreos no Aeroporto Internacional Antônio Carlos Jobim Galeão Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

Tabela Valores de estoques nos balanços patrimoniais de empresas de capital aberto no Brasil, 2008

Tabela Valores de estoques nos balanços patrimoniais de empresas de capital aberto no Brasil, 2008 1 Introdução Este trabalho trata da gestão de estoques de produtos de consumo final, ou produtos acabados, em cadeias de distribuição com múltiplos itens de estoques armazenados em vários locais ou armazéns

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes Áreas Funcionais de Gerenciamento FCAPS Modelo OSI de Gerenciamento Criado pela ISO para situar os cenários de gerenciamento em um quadro estruturado Fault Configuration Account

Leia mais

Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos

Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos Adoção de JBoss Drools no desenvolvimento de sistemas Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos Roteiro da apresentação Introdução Objetivos Fundamentação Teórica Trabalhos

Leia mais

PROTÓTIPO DE SISTEMA DE INFORMAÇÕES GERENCIAIS APLICADO A INDÚSTRIA DE BENEFICIAMENTO DE COURO BASEADO NA REDE PERT-CPM

PROTÓTIPO DE SISTEMA DE INFORMAÇÕES GERENCIAIS APLICADO A INDÚSTRIA DE BENEFICIAMENTO DE COURO BASEADO NA REDE PERT-CPM UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE CIÊNCIAS DA COMPUTAÇÃO PROTÓTIPO DE SISTEMA DE INFORMAÇÕES GERENCIAIS APLICADO A INDÚSTRIA

Leia mais

8.1 Principais Resultados

8.1 Principais Resultados 8 Conclusões Nesta dissertação, descrevemos um sistema multi-agente para negociação em leilões simultâneos de bens relacionados. Quando falamos de agentes de negociação nos referimos ao software que negocia

Leia mais

Prof. Fabrício Maciel Gomes Departamento de Engenharia Química Escola de Engenharia de Lorena EEL

Prof. Fabrício Maciel Gomes Departamento de Engenharia Química Escola de Engenharia de Lorena EEL Prof. Fabrício Maciel Gomes Departamento de Engenharia Química Escola de Engenharia de Lorena EEL Sequenciamento e Emissão de Ordens Escolhida uma sistemática de administração dos estoques, serão geradas,

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

Leia mais

Análise de investimentos na cadeia de suprimentos downstream da indústria petrolífera: proposta de um modelo de programação linear inteira mista.

Análise de investimentos na cadeia de suprimentos downstream da indústria petrolífera: proposta de um modelo de programação linear inteira mista. Luiza Fiorencio Cabral de Andrade Análise de investimentos na cadeia de suprimentos downstream da indústria petrolífera: proposta de um modelo de programação linear inteira mista. Dissertação de Mestrado

Leia mais

Aplicativos Integrados. Profa. Dra. Ellen Francine Barbosa PAE Lívia Castro Degrossi

Aplicativos Integrados. Profa. Dra. Ellen Francine Barbosa PAE Lívia Castro Degrossi Aplicativos Integrados Profa. Dra. Ellen Francine Barbosa PAE Lívia Castro Degrossi Aplicativos Integrados ERP (Enterprise Resource Planning) CRM (Consumer Relationship Management) SCM (Supply Chain Management)

Leia mais

armazenagem, distribuição, transporte e vendas, e por conseqüência, uma grande importância no faturamento das empresas. Apesar disso não foi

armazenagem, distribuição, transporte e vendas, e por conseqüência, uma grande importância no faturamento das empresas. Apesar disso não foi 5. Conclusões A presente dissertação tem como principal objetivo mapear e analisar os principais processos de negócio da Castrol do Brasil sob a perspectiva de seus Sistemas de Informação (SI). Buscou-se

Leia mais

SIMULAÇÃO DO SISTEMA IDEAL PARA LINHA DE PRODUÇÃO DE UMA FÁBRICA DE ENGRENAGENS SIMULATION OF IDEAL SYSTEM FOR PRODUCTION LINE OF A FACTORY GEARS

SIMULAÇÃO DO SISTEMA IDEAL PARA LINHA DE PRODUÇÃO DE UMA FÁBRICA DE ENGRENAGENS SIMULATION OF IDEAL SYSTEM FOR PRODUCTION LINE OF A FACTORY GEARS v. 01, n. 02: p. 66-75, 2014 SIMULAÇÃO DO SISTEMA IDEAL PARA LINHA DE PRODUÇÃO DE UMA FÁBRICA DE ENGRENAGENS SIMULATION OF IDEAL SYSTEM FOR PRODUCTION LINE OF A FACTORY GEARS Daniel Roberto Censi 1 Gilberto

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

CADEIA DE SUPRIMENTOS

CADEIA DE SUPRIMENTOS CADEIA DE SUPRIMENTOS Supply Chain Management (SCM) TÉCNICO EM LOGÍSTICA - 2019 CADEIA DE SUPRIMENTOS Supply Chain Management (SCM) OBJETIVO DO ESTUDO Esse trabalho tem como objetivo apresentar o conceito,

Leia mais

Supply Chain. Inspiring consumer goods sector by everis

Supply Chain. Inspiring consumer goods sector by everis Supply Chain Inspiring consumer goods sector by everis Cadeia de suprimentos (CS): Somos capazes de fornecer serviços e soluções importantes em todas as etapas do ciclo de vida de um produto. Para melhorarmos

Leia mais

STT Pesquisa Operacional para Sistemas Logísticos e Engenharia de Transportes. Lucas Assirati beth.stt.eesc.usp.

STT Pesquisa Operacional para Sistemas Logísticos e Engenharia de Transportes. Lucas Assirati beth.stt.eesc.usp. STT 0626 - Pesquisa Operacional para Sistemas Logísticos e Engenharia de Transportes Lucas Assirati assirati@usp.br beth.stt.eesc.usp.br/~la 10/mar 17/mar 24/mar 31/mar Introdução Modelagem, Programação

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais

8 Conclusão 8.1 Contribuição

8 Conclusão 8.1 Contribuição 8 Conclusão 8.1 Contribuição O crescente volume e a distribuição de dados e processos em Bioinformática torna cada vez mais fácil as descobertas de novas informações biológicas. Entretanto, como são inúmeras

Leia mais

COMPETIÇÃO DE PRODUÇÃO SEMANA DE ENGENHARIA 2016 / 2 BEER GAME

COMPETIÇÃO DE PRODUÇÃO SEMANA DE ENGENHARIA 2016 / 2 BEER GAME COMPETIÇÃO DE PRODUÇÃO SEMANA DE ENGENHARIA 2016 / 2 BEER GAME APRESENTAÇÃO Com a competitividade atual dos mercados as empresas estão buscando otimizar as suas operações com o objetivo de reduzir custo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU. Acadêmica: Anilésia P. Boni Orientador: Oscar Dalfovo 1999/2-02

UNIVERSIDADE REGIONAL DE BLUMENAU. Acadêmica: Anilésia P. Boni Orientador: Oscar Dalfovo 1999/2-02 UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO PROTÓTIPO DE UM SISTEMA DE INFORMAÇÃO PARA ÁREA DE ADMINISTRAÇÃO DE MATERIAIS BASEADO EM DATA WAREHOUSE

Leia mais