• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
160
0
0

Texto

(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

(2)

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 PUC-PR

PROF. DR. LEANDRO MAGATÃO UTFPR

PROFa. DRa. LUCIA VALERIA RAMOS DE ARRUDA

UTFPR

(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

(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.], 2008. 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: 101-5

1. 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.

(5)

iii

LISTA DE FIGURAS... vi

LISTA DE TABELAS... viii

LISTA DE ABREVIATURAS E SIGLAS... xi

RESUMO... x ABSTRACT... xi 1 INTRODUÇÃO... 1 1.1 MOTIVAÇÕES... 3 1.2 OBJETIVOS... 4 1.3 ESTRUTURA DO TRABALHO... 4 2 REVISÃO DA LITERATURA... 7 2.1 MODELO DO PORTO ... 7 2.1.1 Características do Problema ... 8 2.2 PROGRAMAÇÃO MATEMÁTICA... 12

2.3 MODELOS DO PORTO EM PLIM... 14

2.4 SMA APLICADOS AO GERENCIAMENTO DE CADEIAS DE SUPRIMENTO. 16 2.5 TÉCNICAS DE NEGOCIAÇÃO EM SMA... 22

2.5.1 Teoria dos Jogos... 23

2.5.2 Protocolo de Concessão Monotônico... 25

2.5.3 Negociação com Busca Distribuída... 26

2.5.4 Alocação de Tarefas... 27

2.5.5 Propostas Complexas... 29

2.5.6 Negociação baseada em Argumentação... 30

2.5.7 Leilão... 31

2.6 MODELOS ORGANIZACIONAIS DE AGENTES... 34

2.6.1 MOISE+... 37

3 METODOLOGIA PARA O DESENVOLVIMENTO DO SIMULADOR MULTIAGENTE... 39

3.1 DEFINIÇÃO DOS AGENTES DO SISTEMA... 40

3.1.1 Cadeia de Suprimentos no Modelo do Porto... 41

(6)

iv

3.2.2 Utilização do FIPA Contract-Net com Agentes Benevolentes... 49

3.3 DEFINIÇÃO DA POLÍTICA DE ALOCAÇÃO DE RECURSOS... 50

3.3.1 Função Objetivo do Sistema... 51

3.3.2 Restrições do Sistema... 54

3.3.3 Representação Temporal no SMA... 56

3.3.4 Política para Escolha dos Recursos... 57

3.4 ORGANIZAÇÃO DOS AGENTES... 61

3.4.1 Especificação Estrutural... 61

3.4.2 Especificação Funcional... 63

3.4.3 Especificação Deôntica... 64

3.5 ARQUITETURA DO SIMULADOR MULTIAGENTE... 64

3.6 INTERFACE DO SIMULADOR MULTIAGENTE... 67

3.7 CONFIGURAÇÃO DOS CENÁRIOS DE SIMULAÇÃO... 70

3.8 AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE... 71

3.9 VALIDAÇÃO DO SIMULADOR... 72

3.10 MATERIAIS... 75

4 RESULTADOS E ANÁLISE... 77

4.1 COMPARAÇÕES COM O SMA AUTO-INTERESSADO... 77

4.2 COMPARAÇÕES COM O SMA BENEVOLENTE... 77

4.3 COMPARAÇÃO ENTRE SMA BENEVOLENTE E OUTRAS ABORDAGENS... 85

4.3.1 Cenário com Três Navios... 86

4.3.2 Cenário com Quatro Navios... 87

4.3.3 Cenário com Sete Navios... 88

4.4 AVALIAÇÃO DO DESEMPENHO E ESCALABILIDADE... 90

4.5 SMA X PLIM... 91

5 CONCLUSÕES E DISCUSSÃO... 97

5.1 CONCLUSÕES... 97

5.2 TRABALHOS FUTUROS... 98

REFERÊNCIAS BIBLIOGRÁFICAS... 101

(7)

v

(8)

vi

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... 14

Figura 4. Protocolo de Interação da FIPA – Contract-Net (FIPA, 2008)... 33

Figura 5. Tipos de Organizações (HÜBNER, 2003)... 35

Figura 6. Estudos Realizados para a Modelagem do Sistema de Simulação Multiagente... 40

Figura 7. Correspondência do Modelo do Porto com uma cadeia de suprimentos tradicional... 42

Figura 8. Sequência de leilões no modelo do Porto... 45

Figura 9. Diagrama de sequência dos leilões no modelo do porto... 46

Figura 10. Diagrama de sequência do primeiro momento do leilão de um novo navio com SMA auto-interessado...48

Figura 11. Diagrama de sequência do segundo momento do leilão de um novo navio com SMA auto-interessado...48

Figura 12. Diagrama de sequência do primeiro momento do leilão de um novo navio com SMA benevolente...51

Figura 13. Árvore com as alternativas para alocação de um navio no porto... 59

Figura 14. Mapa de Gantt apresentando um exemplo de cenário onde o sistema multiagente não encontra a solução ótima... 61

Figura 15. Especificação Estrutural para o Sistema de Simulação Multiagente... 63

Figura 16. Especificação Funcional para o Sistema de Simulação Multiagente... 65

Figura 17. Modelo de camadas utilizado pela arquitetura MOISE+ (HÜBNER, 2003).... 65

Figura 18. Interface visual para inclusão online de navios... 68

Figura 19. Interface visual para criação de cenários para simulação... 69

Figura 20. Tela com a carta de Gantt, gerada após a simulação de um cenário... 69

Figura 21. Comparação das funções objetivo com SMA auto-interessado... 78

(9)

vii

Figura 24. Gráfico comparativo das funções objetivo alcançadas para o cenário com

quatro navios em diferentes abordagens... 86 Figura 25. Gráfico comparativo das funções objetivo alcançadas para o cenário com

sete navios em diferentes abordagens... 88 Figura 26. Gráfico da troca de mensagens nos cinco cenários utilizados... 89 Figura 27. Tempo necessário para o Sistema Multiagente Benevolente encontrar as

soluções em diferentes cenários... 91 Figura 28. Tempo necessário para o PLIM encontrar os resultados em diferentes

cenários... 92 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...92 Figura 30. Diferença (%) entre a melhor solução factível encontrada pela PLIM e a

(10)

viii

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)... 11

Tabela 3. Informações sobre alguns sistemas multiagentes para gerenciamento de cadeias de suprimentos... 22

Tabela 4. Tabela com as funções de utilidades dos agentes x e y ... 24

Tabela 5. Dados de entrada para os cenários de teste... 73

Tabela 6. Cenários utilizados nos testes... 74

Tabela 7. Soluções para os cenários com SMA Auto-Interessado... 77

Tabela 8. Soluções para os cenários com SMA Benevolente... 82

Tabela 9. Comparação dos resultados obtidos para o cenário com três navios – diferentes abordagens... 85

Tabela 10. Comparação dos resultados obtidos para o cenário com quatro navios – diferentes abordagens... 86

(11)

ix 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

(12)

x

(13)

xi

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.

(14)

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.

(15)

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).

(16)

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.

(17)

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

(auto-interessados 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

(18)
(19)
(20)

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.

(21)

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.

2.1.1 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.

(22)

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.

(23)

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).

(24)

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.

– Valor Classe Porto)

Tanque 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

(25)

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;

(26)

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;

(27)

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.

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

0 1 2 3 4 5 6 7 8 9 10 11 Operação 1 Operação 2 0 Operação 1 Operação 2 6,973

Evento 1 Evento 2 Evento 3

10,125

(28)

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 processamento sem essa restrição, sendo os resultados desse processamento aplicados novamente como restrições no modelo completo. O pré-processamento resultou em um aumento significativo na velocidade de pré-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

(29)

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 ótima1 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 à 2.6.

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

(30)

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.

(31)

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 ( NOx, CO e CO2) 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

(32)

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

(33)

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.

(34)

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.

(35)

Tabela 3: Informações sobre alguns SMA para gerenciamento de cadeias de suprimentos

SMA Agentes/Módulos Protocolo de

Negociação Estratégia distribuída/centralizada TAPAS (DAVIDSSON et al. 2008) • Costumer

• Transport Chain Coordinator • Product Buyer

• Transport Buyer • Transport Planner

Leilão utilizando

Contract-Net Dispersa em vários agentes

MOYAUX, CHAIB-DRAA e D’AMOURS (2006) • Fornecedores de Matéria Prima • Fábrica • Estoque • Cliente

Não Informado Dispersa em vários Agentes MASCOT (SADEH, HILDUMB e KJENSTADC, 2003) • Gerenciador de ofertas • Gerenciador de Aquisições • Planejador • Agenda de Recursos Heurística específica centralizada (Black Board) Centralizada em um Agente AGILE SUPPLY CHAIN (LOU et al.

2004) • Estoque • Fornecedor • Transporte • Fábrica • Cliente • Design Leilão utilizando

Contract-Net Dispersa em vários Agentes

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

Leilão utilizando

Contract-Net Centralizada em um Agente

AGENT BUILDING SHELL (FOX, BARBUCEANU e TEIGEN, 2004) • Venda • Logística • Transporte • Agenda • Entrega Negociação baseada

em argumentação Dispersa em vários Agentes

METAMORPH (MATURANA, SHEN e NORRIE, 1999) • Agentes de Recursos • Agentes Mediadores Formação de Coalizões e alocação de tarefas 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).

(36)

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.

2.5.1 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.

(37)

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 Y

Sobe Desce

Direita (3, 2) (0, 0)

AGENTE X

Esquerda (0, 0) (1, 2)

(38)

“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, tem-se uma matriz de duas dimensões, onde as linhas repretem-sentam 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.

2.5.2 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$ 14.000,00, entretanto ela inicia fazendo uma proposta de R$ 12.000,00. O vendedor, por sua vez, deseja vender o automóvel por R$ 13.000,00. Logo, o comprador inicia a negociação fazendo a proposta com a função de utilidade igual a R$ 12.000,00, que será rejeitada pelo vendedor. Em seguida, o comprador aumenta ligeiramente sua proposta (R$ 12.100,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).

(39)

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.

2.5.3 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 2.5.1 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.

(40)

algoritmos que escapem dos ótimos locais, como o Simulated Annealing (VECCHI, 1983), apresentado com detalhes na seção 2.5.5.

2.5.4 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

(41)

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 2.5.7.

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

(42)

2.5.5 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

(43)

ou ponto de solidificação mínima. Simulated Annealing é considerada a mais velha das meta-heurí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).

2.5.6 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$ 14.000,00 e desejo uma garantia de seis meses.

B: O preço está baixo, mas sugiro o carro Y por R$ 14.000,00 que possui uma garantia de 12 meses a você.

(44)

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.

2.5.7 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;

Referências

Documentos relacionados

O diretor da Agência Nacional de Energia Elétrica (Aneel), Edvaldo Santana, disse ontem que o atual cenário de turbulências no setor elétrico “está caminhando para

Há amplo espaço para preocupação quanto às dificuldades para aprovação de reformas necessárias à contenção do déficit público, peça crucial para o sucesso

Como em cada manhã cabem 05 aulas de 45 minutos significa que o professor terá uma manhã cheia de aulas com Hora Atividade (cinco aulas) e mais duas aulas de 45 minutos que podem

O livro de Crônicas esclarece o motivo para a resposta negativa: já que Davi havia passado muito tempo de sua vida em guerras, Deus queria um homem de paz para construir

A ira de Deus se revela contra os nossos pecados, e a Sua perfeita justiça exige a nossa condenação eterna, mas a misericórdia e longanimidade de Deus também

O comprimento, a largura e a altura dos mexilhões apresentaram diferença significativa entre os tanques com peixes e vazios, onde os mexilhões dos tanques vazios

Exposições de quatro palestrantes mostram que o projeto do governo federal leva à privatização da gestão, à entrega do fundo público para o setor privado, à submissão da

RESPONSABILIDADE CIVIL. Troca de medicamento. Internação em VTI. O erro médico consistente na aplicação de noradrenálina ao invés de buscopan está comprovado assim