Quale software di mappatura GPS usano gli autisti di FedEx e UPS per consegnare i pacchi?
Ci sono diversi componenti software coinvolti in questo. Disclaimer, non so cosa usano effettivamente UPS, FedEx e le altre compagnie di consegna, sto facendo delle ipotesi informate.
- Standardizzazione dell'indirizzo - convertire l'indirizzo dato in uno che si sa essere buono
- Localizzazione geografica - convertire l'indirizzo buono in coordinate di latitudine/longitudine
- Instradamento - determinare dalle coordinate del punto di partenza e del punto di arrivo qual è il percorso ottimale
- Ottimizzazione - fare quanto sopra per tutti gli indirizzi, come coppie (o per un sottoinsieme ragionevole) per determinare qual è il percorso migliore dal punto di partenza (il centro di consegna/smistamento) a ciascun indirizzo e ritorno, tenendo conto dei vincoli di tempo, che forma una lista di waypoint
- Ricalcolo dinamico - mentre si guida, se si fa una svolta sbagliata o si deve affrontare una deviazione o un blocco, ricalcolare il percorso fino al waypoint successivo. Eventualmente, se il percorso è abbastanza sconvolto e il tuo software è abbastanza sofisticato, riordina i waypoint (la tua deviazione potrebbe portarti vicino a un waypoint che avevi pianificato di visitare in seguito)
Un po' di più su alcuni di questi
Per effettuare una consegna devi sapere dov'è il luogo della consegna. Per fare questo è necessario convertire l'indirizzo in una posizione geografica. Ma prima devi essere sicuro di avere un buon indirizzo. L'indirizzo che ti è stato dato potrebbe non essere buono. O potrebbe essere in una forma non standard
Se hai un indirizzo casuale, c'è un software di convalida degli indirizzi che può renderlo più probabile che sia un indirizzo corretto e consegnabile, (questo è disponibile per indirizzi in molti paesi) e c'è un software di certificazione degli indirizzi (disponibile per indirizzi USA) che usa un database USPS che creerà un indirizzo che è *garantito* per essere consegnabile, o risponderà che l'indirizzo non è un indirizzo valido. Quest'ultimo software utilizza un database che l'USPS fornisce e per il quale bisogna avere un abbonamento, viene aggiornato mensilmente, e se il vostro abbonamento non è aggiornato, deve rifiutarsi di funzionare (secondo i termini del contratto di licenza con l'USPS)
IBM Information Management's QualityStage ha un prodotto di verifica degli indirizzi che svolge questa funzione (disclaimer, io sostengo questo prodotto). Utilizza il database USPS negli Stati Uniti. Ce ne sono altri.
Qui ci sono alcune informazioni di marketing sul nostro software
IBM InfoSphere QualityStage Address Verification Interface V10.0 può aiutarvi a ridurre i costi migliorando la precisione dei vostri dati di indirizzo
L'altra parte, la mappatura dell'indirizzo... Per visualizzare l'indirizzo su una mappa, questo significa convertire l'indirizzo in coordinate lat/long e usarlo per mostrare un marcatore su una mappa salvata. Non credo che sia un problema difficile. Ma quella latitudine/longitudine è necessaria anche per il routing. Ci sono database che convertono gli indirizzi in latitudine/longitudine. Lavorano per interpolazione dei numeri di strada da punti noti, quindi a volte possono essere leggermente fuori.
Per fare il routing all'indirizzo, avete bisogno di dati GIS (Geographic Information Systems) sulle strade che potreste percorrere e quali sono le loro restrizioni e i tempi di viaggio stimati in modo da poter ottimizzare il percorso.
Il GPS non entra davvero in gioco nel calcolo del percorso, tranne che per sapere qual è la posizione di partenza. Il ricalcolo dinamico del percorso avviene quando la posizione attuale si discosta significativamente dall'insieme delle posizioni che sono "sul percorso" e/o le informazioni direzionali (delta tra posizioni successive) indicano che il veicolo sta viaggiando in una direzione diversa da quella prevista dal percorso.
Nota che per la consegna/ritiro dei pacchi (lo stesso problema in realtà) non lavorerai con un solo indirizzo. Invece ne avrete una collezione e vorrete ottimizzare il routing in modo da percorrere il percorso più efficiente che li raggiunga tutti. O quasi. In realtà ottenere il percorso più efficiente è una variante molto vicina al Traveling Salesman Problem che è un problema abbastanza costoso da risolvere in modo ottimale, ma è possibile utilizzare delle euristiche che vi porteranno molto vicino all'ottimo per meno calcoli.
Rendere il problema più difficile è che potreste avere alcuni ritiri o consegne che devono essere fatti entro una certa scadenza anche se l'intero percorso richiederà più tempo di quello che avete, quindi questi potrebbero dover essere visitati all'inizio del percorso anche se questo lo rende inefficiente dal punto di vista del tempo/della distanza.