Questa sembra essere una variazione del problema del venditore ambulante, e ho iniziato (come per quanto alcuni leggano almeno) percorrendo quella strada per risolverlo, ma le restrizioni sugli ordini mi confondono un po '.
- Ho una mappa con un numero arbitrario di destinazioni su di essa.
- Un agente riceve un insieme di rotte commerciali.
- Ogni singola rotta deve essere elaborata in ordine, ma tutte le rotte possono essere mescolate.
Ad esempio:
- Inizio a
S0
. - Ho una route
Alpha
che deve visitareA1
,A2
eA3
. - Ho una route
Beta
che deve visitareB4
,B5
eB6
.
Un'opzione valida sarebbe semplicemente unire le rotte insieme:
S0
- > A1
- > A2
- > A3
- > B4
- > B5
- > B6
Ma forse parti di Beta sono in realtà vicino alle parti iniziali di Alpha , quindi sarebbe meglio andare:
S0
- > A1
- > B4
- > B5
- > A2
- > A3
- > B6
Esiste un modo per calcolare una rotta ottimale (o "probabilmente abbastanza ottimale") tra questi nodi, senza calcolare ogni distanza tra ogni coppia possibile di nodi? In alternativa, potrei costruire un grafico di ogni viaggio possibile, ma sembra anche che potrebbe diventare problematico.