• Nenhum resultado encontrado

Compartilhando as Agendas de Intervalos de Indica¸c˜ oes de Luzes Verdes

`

A medida que agendas de intervalos de indica¸c˜oes de luzes verdes s˜ao geradas, os agentes respons´aveis pelo controle de uma interse¸c˜ao precisam interagir com outros agentes de mesma responsabilidade, compartilhando os dados de controle de sua in- terse¸c˜ao. Quando os agentes recebem esses dados, eles realizam a gera¸c˜ao de agendas

de intervalos de indica¸c˜oes de luzes verdes. Dessa forma, esses agentes passam a ter ciˆencia dos intervalos de indica¸c˜oes de luzes verdes de todas as interse¸c˜oes de uma rede vi´aria.

Ao receber uma mensagem de intera¸c˜ao, contendo o interesse new traffic light - schedule, os agentes respons´aveis pelo controle de uma interse¸c˜ao tratam esta men- sagem, gerando agendas de intervalos de indica¸c˜oes de luzes verdes, com base em um parˆametro extra´ıdo da mensagem. Tal parˆametro cont´em os dados de controle de alguma interse¸c˜ao, em que uma ou mais sinaliza¸c˜oes semaf´oricas sofreram algum tipo de ajuste em seus intervalos de indica¸c˜oes de luzes verdes. Uma vez que os intervalos de indica¸c˜oes de luzes verdes tenham sido gerados utilizando os dados de controle de outras interse¸c˜oes, os agentes respons´aveis pelo controle de uma in- terse¸c˜ao podem utiliz´a-los no c´alculo de rotas ´otimas, levando em considera¸c˜ao os espa¸cos, que s˜ao alocados nas vias em cada intervalo de indica¸c˜ao de luz verde.

Por fim, o agente envia uma mensagem de intera¸c˜ao contendo o mesmo interesse da mensagem recebida, para os ve´ıculos conectados. Al´em disso, a mensagem deve ser propagada no sentido oposto da via, ou seja, para tr´as dos ve´ıculos conectados. Todo agente Ve´ıculo, ao receber tal mensagem, requisita um novo c´alculo de rotas, devido `as modifica¸c˜oes nas agendas de intervalos de luzes verde das interse¸c˜oes controladas pelo sistema de controle de tr´afego.

6.4

Calculando Rotas ´Otimas

Uma vez que os agentes respons´aveis pelo controle de interse¸c˜oes tenham conheci- mento de todas as agendas de intervalos de indica¸c˜oes de luzes verdes das interse¸c˜oes de uma rede vi´aria, eles podem receber mensagens de intera¸c˜ao oriundas de ve´ıculos conectados, desde que estejam na mesma via. Aqui, o intuito dessas mensagens de intera¸c˜ao ´e requisitar o c´alculo de rota ´otima para um determinado destino. Nesse momento, fica mais clara a utilidade das listas de interesses de usu´arios, que s˜ao publicadas pelos agentes Elemento Urbano.

Os termos contidos nessas listas auxiliam o motorista quando esse realiza a busca por um determinado local do mapa, que ´e a via onde se encontra o elemento urbano desejado. Essa busca pode ser motivada, por exemplo, pelo interesse do motorista em encontrar gasolina mais barata, promo¸c˜oes das mais diversas, eventos, entre outros. Uma vez que os destinos tenham sido escolhidos pelos motoristas, agentes Ve´ıculos iniciam o processo de c´alculo de rotas ´otimas, tentando interagir com os agentes respons´aveis pelo controle das interse¸c˜oes. Para tanto, os esses agentes escalonam periodicamente a¸c˜oes, que resultam em requisi¸c˜oes de c´alculos de rotas ´otimas.

Nessas a¸c˜oes, o agente verifica se o ele j´a possui uma rota calculada. Se falso, ele envia uma mensagem de intera¸c˜ao na mesma via em que o ve´ıculo conectado se

encontra. Tal mensagem ´e enviada para frente, de modo que o agente respons´avel pelo controle da interse¸c˜ao possa ser alcan¸cado. Ap´os enviar a mensagem, o agente incrementa o n´umero de tentativas de requisi¸c˜ao de c´alculo de rotas ´otimas. Tudo isso ´e feito se o n´umero de tentativas ´e menor que o valor do parˆametro de n´umero m´aximo de tentativas de requisi¸c˜ao de rotas ´otimas. Por fim, se o agente possuir uma rota calculada, o algoritmo mant´em o n´umero de tentativas de requisi¸c˜oes de c´alculos de rotas ´otimas com o valor zero.

Ao receber a mensagem de intera¸c˜ao contendo o interesse route to <id. da via>, os agentes respons´aveis pelo controle de uma interse¸c˜ao tratam esta, verificando se a mensagem de intera¸c˜ao recebida possui o parˆametro rota. Se verdadeiro, o algoritmo verifica se os instantes de tempo relativos a cada componente da rota est˜ao dentro de um limite de tempo toler´avel, quando esses s˜ao comparados com os tempos das aloca¸c˜oes de espa¸cos na via. Se verdadeiro, o algoritmo devolve a rota para o agente Ve´ıculo requerente. Caso contr´ario, ele calcula uma nova rota ´otima para o requerente. Caso a mensagem n˜ao contenha uma rota, o algoritmo calcula uma nova rota ´otima para o agente, que ´e a origem da mensagem de intera¸c˜ao recebida.

Para calcular uma rota ´otima, o agente respons´avel pelo controle da interse¸c˜ao extrai os parˆametros destino e posicaoGPS da mensagem recebida. Em seguida, ele inicia uma lista cuja finalidade ´e armazenar os seguimentos de via componentes da rota ´otima. Al´em desta estrutura de dados, tamb´em s˜ao inicializados um mapa para associar as vias e os instantes de tempo em que o ve´ıculo conectado atravessar´a as mesmas. Ap´os isso, o agente calcula o custo inicial para o ve´ıculo conectado atra- vessar a via, onde ele e o agente Ve´ıculo requerente est˜ao localizados. Nos pr´oximos passos, o algoritmo obt´em os identificadores das faixas da via e o conjunto de vias controladas por sinaliza¸c˜oes semaf´oricas. Al´em disso, ele inicializa um acumulador de tempo de viagem.

Partindo desse pressuposto, o agente respons´avel pelo controle da interse¸c˜ao inicia o c´alculo de rotas ´otimas, tomando como in´ıcio as faixas da via em que o ve´ıculo conectado requerente est´a trafegando. Dessa forma, para cada faixa da via, o algoritmo calcula uma rota ´otima at´e o destino. Esse c´alculo tem como base o algoritmo de caminho mais curto de Dijkstra, que ´e combinado com as premissas das heur´ısticas de despacho EDD (Earliest Due Date) e SPT (Short Processing Time). Essas heur´ısticas podem ser encontradas na literatura de escalonamento de sistemas flex´ıveis de manufatura do tipo job-shop. No que diz respeito `a heur´ıstica EDD, esta ´e utilizada para selecionar a via com menor custo de tempo. Em seguida, aplica-se a heur´ıstica SPT cujo objetivo ´e identificar, dentre as vias com menor custo de tempo, aquela via que ir´a impor o menor atraso, quando um ve´ıculo conectado for trafegar por ela. Por fim, ´e verificado se existe espa¸co na via selecionado, a fim de que esse

possa ser utilizado no processo de aloca¸c˜ao de espa¸cos em vias. Se verdadeiro, a via passa a fazer parte da rota, que est´a sendo calculada para o requerente de um c´alculo de rota ´otima.

Para cada rota ´otima calculada, o agente respons´avel pelo controle da interse¸c˜ao compara com outra rota anteriormente calculada pelo mesmo, caso esta ´ultima exista, a fim de encontrar a melhor rota ´otima dentre as que foram calculadas. Com base na melhor rota ´otima, o algoritmo aloca espa¸cos nas vias nas agendas de intervalos de indica¸c˜oes de luzes verdes. Nesse processo de aloca¸c˜ao, se existir uma rota anteriormente alocada, ela ´e removida e, em seguida, d´a lugar `a aloca¸c˜ao de uma nova rota.

Por fim, os agentes Ve´ıculo requisitam novos c´alculos de rotas ´otimas, quando recebem mensagens de intera¸c˜ao cujo interesse ´e new traffic light schedule. Al´em disso, eles tamb´em requisitam novos c´alculos de rotas ´otimas, quando seus ve´ıculos conectados atravessam as interse¸c˜oes. Nesse caso, os agentes Ve´ıculo tomam como referˆencia a via em que o seu ve´ıculo conectado se encontra.