Supponiamo di avere un grafico ponderato non orientato. Si desidera trovare il percorso più breve dalla sorgente al nodo di destinazione mentre si inizia con un "carburante" iniziale. Il peso di ogni spigolo è uguale alla quantità di "carburante" che si perde andando oltre il bordo. Ad ogni nodo, puoi avere una quantità predeterminata di carburante aggiunta al tuo conteggio del carburante - questo valore può essere 0. Un nodo può essere visitato più volte, ma il carburante verrà aggiunto solo la prima volta che arrivi al nodo. ** Tutti i nodi possono avere diverse quantità di carburante da fornire.Algoritmo di percorso più breve con vincolo di carburante e rifornimento variabile
Questo problema potrebbe essere correlato a un treno che viaggia dalla città A alla città B. Anche se i due sono direttamente collegati da una pista semplice, c'è una carenza di carbone, quindi il treno non ha abbastanza carburante per fare il viaggio. Invece, deve fare il viaggio molto più breve dalla città A alla città C, che è noto per avere abbastanza carburante per coprire il viaggio di ritorno verso A e quindi proseguire verso B. Quindi, il percorso più breve sarebbe la distanza da A a C più il distanza da C a A più la distanza da A a B. Supponiamo che il costo del carburante e la distanza siano equivalenti.
Ho visto un esempio in cui i nodi riempiono sempre il "serbatoio" fino alla sua capacità massima, ma non ho visto un algoritmo che gestisce quantità diverse di rifornimento di carburante a nodi diversi. Cos'è un algoritmo efficiente per affrontare questo problema?