• Nenhum resultado encontrado

METODOLOGIA PARA O DESENVOLVIMENTO DO SIMULADOR MULTIAGENTE

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;

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

Figura 8: Seqüência de leilões no modelo do Porto 1º 2º 3º

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 auto-interessado 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.

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.

3.2.1 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 1.000 m3 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.

Figura 10: Diagrama de seqüência do primeiro momento do leilão de um novo navio com SMA auto-interessado

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

m3 de óleo m3 de óleo,nobreza lucro($), sendo o valor da nobreza multiplicado pela qtd de óleo menos os custos de atracagem m3 de óleo m3 de óleo custo de interface ($)

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.000m3 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 recursivo3, 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 1.000 m3 de óleo cru. Nessa situação é iniciado um novo leilão para (100 – 55) x 1.000 m3 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.

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

3.2.2 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 10x1000m3 de óleo, que também está livre entre a 11ª a 13ª hora podendo receber 45x1000m3, e também entre a 22ª a 27ª, podendo receber 60x1000m3, 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.

 

  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.