In primo luogo, spero di chiederlo nel posto giusto. Lavoro per un grande rivenditore online nel Regno Unito. Spediamo quasi 2000 ordini al giorno e stiamo crescendo molto rapidamente.
Attualmente utilizziamo più ditte di consegna per gestire tutte le nostre consegne. Stiamo pianificando di lanciare la nostra flotta di furgoni per consegne presto per le consegne locali al nostro centro di distribuzione.
Quando lanceremo la nostra flotta di consegna, uno dei primi compiti per i sistemi informatici dietro di esso sarà decidere quali pacchi devono essere consegnati da noi e quali pacchi dobbiamo esternalizzare la consegna ad uno dei nostri partner di consegna. Una volta che è stato risolto, possiamo preoccuparci di quali pacchi andare su quali furgoni e in quale ordine saranno consegnati (il Vehicle Routing Problem (VRP)).
Cerco qualche consiglio qui sulla prima parte di questo (quali pacchi consegniamo noi stessi e quali esternalizziamo). Al momento non sto cercando aiuto con il VRP (intendiamo costruire un sistema su OSRM e Optaplanner e siamo a nostro agio su come funzionerà), anche se sapete di una buona soluzione per risolvere entrambi i problemi in uno vai, sarebbe fantastico.
Ho preso in considerazione alcune cose abbastanza ovvie per determinare gli ordini che consegniamo noi stessi:
- Tutte le consegne entro
x
miglia raggio del nostro centro di distribuzione. - Tutte le consegne entro
x
minuti di guida del nostro centro di distribuzione. - Tutte le consegne entro
x
minuti di guida del nostro centro di distribuzione e quindi tutte le consegne entroy
minuti di guida di qualsiasi consegna. Ricorsivamente. Con una distanza massima dal nostro centro di distribuzione (quindi non abbiamo una linea di consegne in tutto il paese e finiscono a 500 miglia di distanza!) - Come con il numero 3 ma calcolando
x
ey
in base al costo di noi che utilizzano una terza parte per effettuare la consegna per nostro conto (ad esempio, saremmo lieti di inviare uno dei nostri furgoni ulteriormente per un peso maggiore / pacco più grande).
Ho intenzione di pensarci un po ', ma ci deve essere un modo migliore rispetto a qualsiasi di queste opzioni sopra. Qualcuno ha un'esperienza con questo dato che sono totalmente nuovo ad esso? C'è un nome per questo problema? Molto come i nomi di Traveller Salesman Problem (TSP) e Vehicle Routing Problem (VRP) che potrebbero aiutare il mio googling? Sono sicuro che ci sarà un modo per usare Optaplanner per trovare una buona soluzione, ma non sono sicuro di come. Idealmente dovremmo considerare nel processo decisionale il costo di consegna dell'ordine con il nostro partner di consegna più economico.
Puoi presumere che sappiamo quanto segue per tutti i pacchi:
- Lat / long per ogni punto di consegna.
- Il tempo di guida effettivo e la distanza tra due punti di consegna (e / o il nostro centro di distribuzione).
- Il costo dell'utilizzo di una terza parte per ogni consegna.
Usiamo sistemi basati su linux e amiamo i progetti open source (e abbiamo apportato correzioni / miglioramenti a molti). Siamo pronti a utilizzare le applicazioni open source o closed per semplificarci la vita e persino le cose che funzionano solo su Windows se davvero ne abbiamo bisogno. Saremmo anche felici di codificare tutta la cosa internamente. Se sai se dei buoni pacchetti da guardare, per favore dì.
Grazie per il tuo aiuto.