Digamos que vamos de 1 a 5. O caminho mais curto será 1-4-3-5 (total: 60 km).
Podemos usar o algoritmo de Dijkstra para fazer isso.
Agora, o problema é que a rota mais curta nem sempre é a mais rápida, devido a congestionamentos ou outros fatores.
Por exemplo:
- Sabe-se que o 1-2 tem congestionamentos frequentes, por isso deve ser evitado.
- De repente, um acidente de carro acontece ao longo de 4-3, por isso deve ser evitado também.
- Etc ...
Então, provavelmente, podemos acelerar na rota 1-4-5, por causa de nenhum engarrafamento / acidente, por isso chegamos às 5 mais rapidamente.
Bem, essa é a ideia geral, e ainda não pensei em mais detalhes.
Existe algum algoritmo para resolver esse problema?