• Nenhum resultado encontrado

Para simular o sistema, a plataforma de simulac¸˜ao de sistemas multiagentes MASON (LUKE, 2005) foi utilizada. A ferramenta ´e escrita em Java e oferece uma base para simular siste- mas multiagentes em geral, como uma noc¸˜ao de tempo e func¸˜oes de apoio. O usu´ario deve programar o sistema multiagente. Os agentes s˜ao criados derivando-se a classe Steppable. A ferramenta permite que simulac¸˜oes sejam feitas com visualizac¸˜ao, funcionalidade ideal para ve- rificar o comportamento do sistema multiagente, ou simular sem visualizac¸˜ao, ideal para coleta de dados.

Outras ferramentas foram consideradas. NetLogo (WILENSKY, 1999) tamb´em ´e uma ferra- menta de simulac¸˜ao de sistemas multiagentes, por´em tem uma linguagem pr´opria. Ela tamb´em possui visualizac¸˜ao e ´e mais intuitiva, por´em n˜ao oferece a mesma flexibilidade que o MASON. Como este ´ultimo apenas uma base em Java, toda a flexibilidade da linguagem Java ´e mantida, inclusive o paralelismo inerente da linguagem, muito ´util para executar simulac¸˜oes em bate- lada em m´aquinas com v´arios processadores. JADE (BELLIFEMINE et al., 1999) tamb´em ´e usada para simular sistemas multiagentes (SEOW; DANG; LEE, 2010), (FAUADI; MURATA, 2010), (GACI; MATHIEU, 2012), (IBRI; NOURELFATH; DRIAS, 2012). Por´em, esse n˜ao ´e o prop´osito principal dessa ferramenta, o que obriga a construc¸˜ao da simulac¸˜ao sobre ela. Por exemplo, o usu´ario deve programar ele mesmo a noc¸˜ao de tempo entre os agentes.

O dep´osito usado na simulac¸˜ao ´e baseado em um dep´osito situado na cidade de S˜ao Car- los/SP. O dep´osito foi visitado no dia 19 de Marc¸o de 2013. O dep´osito tem dimens˜oes de 400m por 100m. H´a 46 docas onde caminh˜oes estacionam e s˜ao servidos por uma frota de 10 empi- lhadeiras. Os produtos s˜ao armazenados em boxes, que funcionam como buffers demarcados no ch˜ao que especificam onde eles podem ser colocados e empilhados. As ´areas entre os boxes formam ruas, por onde as empilhadeiras transitam em dois sentidos. Cada caminh˜ao tem capa- cidade m´edia de 170 produtos, variando entre 120 e 300, dependendo das dimens˜oes de cada produto e das dimens˜oes do pr´oprio caminh˜ao. Cada box armazena, em m´edia, 500 produtos. Cada empilhadeira pode carregar grupos de 4, 6, 8 ou 12 produtos de uma vez e se movem `a uma velocidade m´edia de 16Km/h. Com base nesses dados, foi criado um dep´osito cuja planta ´e mostrada na Figura 3.26.

Na simulac¸˜ao, o dep´osito tem dimens˜oes de cerca de 150m por 360m. Os Pontos de Carga/Descarga (PC) equivalem `as docas do dep´osito real. Pontos de Armazenamento (PA) equivalem aos boxes. As ruas s˜ao representadas pelas linhas que percorrem entre os PCs e PAs, ligando-os. Essas linhas s˜ao ligadas por n´os, os N´os de Caminho. Uma linha entre dois n´os ´e um segmento. Segmentos s˜ao utilizados para apoiar a navegac¸˜ao autom´atica dos ve´ıculos. Quando parado em um n´o, um ve´ıculo deve certificar-se que o n´o na outra extremidade do segmento que deseja percorrer est´a livre. Se estiver, o ve´ıculo reserva o n´o e percorre o segmento. Se o n´o n˜ao estiver livre (est´a reservado por outro ve´ıculo), ele deve esperar ele ser liberado para poder reserv´a-lo e finalmente andar por aquele segmento. Os segmentos s˜ao unidirecionais, para evi- tar problemas de intertravamento (3.27a). Assegura-se de que caminhos c´ıclicos tenham mais n´os do que ve´ıculos, para evitar intertravamento c´ıclico (3.27b). Os caminhos s˜ao calculados atrav´es do algoritmo A* (A-star) (HART; NILSSON; RAPHAEL, 1968).

Os ve´ıculos se movem a uma velocidade m´edia de 14,4Km/h (4m/s). Na simulac¸˜ao, eles s˜ao capazes de carregar uma carga. Esta carga pode ser um grupo de produtos iguais, tratados como uma entidade ´unica pelo sistema, por que eles saem do mesmo local e tˆem o mesmo destino. Operac¸˜oes de carga e descarga levam 30s. N˜ao ´e levado em considerac¸˜ao a hip´otese de falhas nos ve´ıculos. Os ve´ıculos tamb´em n˜ao precisam parar para reabastecer ou recarregar, nem para manutenc¸˜ao. Caminh˜oes que param nos PCs carregam sempre 40 cargas, ou sempre pedem 40 cargas ao dep´osito. Cada PA ´e capaz de guardar at´e 5 cargas.

A rede de comunicac¸˜ao tamb´em ´e simulada atrav´es de um agente especial, chamado de ether. Os agentes mandam mensagens passando-as para o ether. No pr´oximo passo de simulac¸˜ao, o ether distribui as mensagens para todos os agentes destinat´arios. Assim, ´e poss´ıvel calcular quantas mensagens e bytes transitaram pela rede, e simular caracter´ısticas como latˆencia da

Área de Armazenamento

Área

de

Manut

enção

Área

das

Docas

PC

Veículo

PA Vazio

PA com

Carga

PA Cheio

(a) (b)

Figura 3.27: (a) Exemplo de intertravamento. (b) Exemplo de intertravamento c´ıclico

rede e congestionamento da rede. Cada passo de simulac¸˜ao equivale a 0.1s, portanto a latˆencia m´ınima ´e 0.1s, ou seja, uma mensagem demorar´a 0.1s para chegar ao seu destino. No caso do congestionamento, ´e poss´ıvel limitar quantos bytes o ether distribui por passo, assim, se h´a mui- tas mensagens transitando, algumas ser˜ao transmitidas apenas em passos futuros, aumentando a latˆencia, como ocorre em redes reais (KUROSE; ROSS, 2006).

Para a coleta de dados, a simulac¸˜ao ´e capaz de criar uma escala aleat´oria de chegadas de caminh˜oes. O algoritmo que cria essa escala se certifica de que h´a espac¸o suficiente para criar a chegada de um caminh˜ao para descarregar, ou de que h´a cargas do tipo requerido para criar um caminh˜ao que requisita cargas. Problemas de dep´osito cheio ou escassez de cargas est˜ao fora do escopo do sistema multiagente proposto.

3.6

Algoritmo Gen´etico para Definic¸˜ao de Parˆametros Ade-

Documentos relacionados