Closed rafaelcaue closed 8 years ago
Faz sentido, poderíamos também deixar isso pré-calculado já que não importa a posição do agente, apenas dos pares de facility.
Commit 2121241604e7946082acec4a5e8f7a5dac88e744 melhorou bastante o nosso comportamento de carregar a bateria, porém ainda acontece de chamar o service breakdown.
Temos que testar mais e descobrir por que isso acontece.
Finally! Tive que adicionar uma gordurinha de 10 no cálculo da bateria, tinha alguns agentes que estavam morrendo a um passo das charging stations.
O pior bug de encontrar foi perceber que os agentes calculavam se tinha bateria suficiente para chegar no objetivo e na charging station mais próxima, mas a nossa nova estratégia pode não adicionar essas charging stations na lista de charging stations que estão entre nós e o nosso objetivo.
Adicionei uma outra regra que testa se o agente tem bateria suficiente para chegar na charging station escolhida pela nossa estratégia, caso contrário ele vai para a charging station mais próxima.
1000 steps e 0 chamadas pro service breakdown :smile:
Mas descobri outro problema. Ir para a charging station mais próxima entre o agente e o objetivo não é a melhor estratégia. Se tiver 8 charging stations ele vai ficar parando em várias. O melhor é calcular das charging stations da lista, qual é a mais longe que ele pode chegar sem ficar sem combustível.
Quando resolver isso podemos fechar esse commit.
Não é só quando o agente não começa perto o suficiente de uma charging station que a nossa estratégia não funciona.
Se o objetivo estiver longe o suficiente (i.e., o veículo não tem bateria para ir até la), e o veículo consegue chegar na charging station mais próxima dele, mas mesmo com a bateria cheia não da para chegar no objetivo. Ele tentaria ir para o charging station mais próximo novamente, que seria o que ele está. Vide imagem abaixo:
Uma solução seria ir para outro charging station mais próximo (e.g., desconsiderar rotas com valor 0). Acho que a melhor solução seria ir para o charging station mais próximo do objetivo.
O que acham?