Table of Contents
Introduzione
La principale sfida è prendere decisioni su quali veicoli vanno dove, quando e con quale carico—decisioni che spesso comportano scelte integre discrete (numero di veicoli, sì/no assegnazioni, sequenziamento di rotta). La programmazione di Integer fornisce un rigoroso quadro matematico per modellare queste decisioni e trovare soluzioni ottimali o quasi ottimali di ottimizzazione dei veicoli.
Comprendere la programmazione Integer
La programmazione Integer (IP) è un ramo di ottimizzazione matematica dove alcune o tutte le variabili decisionali sono costrette ad essere interi. Quando tutte le variabili sono interi, viene chiamato un programma di interi puri; quando solo un sottoinsieme è interi, è un programma di integer misto (MIP). L'IP è essenziale per la gestione della flotta perché molte decisioni operative sono naturalmente discrete: non è possibile assegnare un veicolo a un percorso.
Perché Integer Variables Matter in Gestione delle Flotte
La programmazione lineare continua (LP) assume variabili che possono assumere un valore reale. Ciò funziona per la miscelazione dei problemi, ma per l'assegnazione, la pianificazione e il routing, le soluzioni frazionarie sono inutili. Ad esempio, una soluzione LP potrebbe suggerire l'invio di 1.3 veicoli dal deposito A e 0.7 veicoli dal deposito B. La programmazione Integer costringe il modello a scegliere i numeri interi, dando piani attuabili.
- Le variabili di base (0 o 1):[] Usate per le decisioni di sì/no come “non fa veicolo v visit location i?” o “è percorso r selezionato?”
- Variabili di interi generali:[] Rappresentante conta come “numero di veicoli assegnati a turni s” o “inventario tenuto presso magazzino w.”
- Programmazione microinteger (MIP):[ Combina variabili integer e continue; ad esempio, una variabile continua per il consumo di carburante accanto a variabili integer per l'assegnazione del veicolo.
Classic IP è NP-hard in molti casi, il che significa che i tempi di soluzione peggiore crescono esponenzialmente con dimensioni di problemi. Tuttavia, i moderni risolutori con algoritmi avanzati di ramificazione e taglio possono gestire istanze su larga scala per molti problemi pratici della flotta.
Componenti fondamentali di un modello IP di gestione delle flotte
Ogni modello di programmazione interinale per la gestione della flotta condivide tre blocchi di costruzione: variabili decisionali, funzione oggettiva e vincoli. L'arte sta selezionando la giusta rappresentazione per il problema operativo.
Variabili di decisione
Le variabili di decisione traducono le azioni del mondo reale in termini matematici. Per la gestione autonoma della flotta, le variabili tipiche includono:
- = 1 se il veicolo v viaggia dalla posizione i alla posizione j, 0 altrimenti (binary, per routing).
- = 1 se il veicolo v è in servizio durante l'intervallo di tempo t, 0 altrimenti (binary, per la pianificazione).
- = numero di veicoli assegnati alla stazione di base k (integer, per l'allocazione del deposito).
La scelta dell'indicizzazione variabile (per veicolo, tempo, posizione, compito) influisce direttamente sulla dimensione del modello e sulla solvabilità. Spesso è utile aggregare la simmetria, ad esempio utilizzando variabili “route” piuttosto che variabili “edge” per ridurre il numero di decisioni binarie.
Funzione Obiettivo
L'obiettivo quanta ne sia la cura dell'operatore della flotta.
- Minimizzare la distanza o il tempo di viaggio totale:[] Riduce direttamente i costi di carburante/energia e migliora la reattività.
- Minimizzare il costo operativo totale:[ Include l'usura del veicolo, la manutenzione e il conducente (se c'è) spese.
- Numero massimo di richieste servite:[ Rilevante nei sistemi di risposta alla domanda dove alcune richieste possono essere rifiutate.
- Utilizzo di bilancia:[ Minimizza la varianza nell'uso del veicolo per evitare veicoli inattivo e strozzature.
I modelli multi-oggettivi possono essere creati combinando diversi termini con pesi, o trattando un obiettivo come costrizione (ad esempio, servire tutte le richieste entro un ritardo massimo, quindi ridurre la distanza).
Constraints
I vincoli fondamentali per le flotte autonome sono:
- Riservazione:[ Per problemi di routing, ogni veicolo che entra in una posizione deve lasciarlo (ad eccezione dei depositi).
- I veicoli possono trasportare un numero limitato di passeggeri o di peso di carico.
- Finestre di tempo:[] Ogni pickup o consegna deve avvenire entro un intervallo specificato (ad esempio, tra le 2:00 e le 15:00 PM).
- I vincoli di gamma o di batteria:[ I veicoli elettrici autonome hanno una distanza massima prima di dover ricaricare.
- I limiti di dimensione del veicolo:[ Il numero totale di veicoli disponibili è fisso, o il numero di veicoli utilizzati per turno è limitato.
- Esclusività di assegnazione:[ Ogni compito è assegnato ad un veicolo esattamente (o a zero se la richiesta può essere respinta).
La formulazione di contrasto spesso utilizza tecniche “big-M” per modellare condizioni logiche, come “se veicolo v serve la posizione i, allora deve anche servire la posizione j all’interno del suo percorso.”
Formulare i problemi comuni di ottimizzazione delle pulci
Diversi problemi canonici appaiono ripetutamente nella gestione autonoma della flotta, comprendendo le loro formulazioni IP, aiuta i professionisti a costruire modelli per il loro contesto specifico.
Problema di routing del veicolo (VRP)
Il VRP è la spina dorsale di molti sistemi di ottimizzazione della flotta. Un insieme di sedi dei clienti deve essere visitato da una flotta di veicoli che iniziano e terminano a depositi. La formulazione classica utilizza variabili binarie e include vincoli per grado (ogni cliente ha visitato esattamente una volta), l'eliminazione subtour (per evitare cicli disconnessi), e la capacità del veicolo.
Una semplice formulazione VRP a singolo punto (senza finestre a tempo) sembra:
(in inglese) [in inglese)] [in inglese] [in inglese] [in inglese] [in inglese]]
]
Σ v Σ j x ijv = 1 per ciascun cliente i (visitare ogni volta]
]
Assegnazione e Scheduling
La gestione delle flotta comporta anche l'assegnazione di veicoli a turni, compiti o stazioni di ricarica. Il problema di assegnazione minimizza i costi (ad esempio, viaggiare per avviare la posizione) soggetti a ogni veicolo che riceve alla maggior parte di un compito e ogni compito è coperto da un veicolo. Quando le attività hanno finestre temporali e veicoli multipli possono essere assegnati allo stesso compito in sequenza (ad esempio, per il ride-pooling), il problema diventa un complesso MIP pianificazione con la precedenza e la sincronizzazione.
Depot Location e Fleet Composition
Le decisioni strategiche come la localizzazione delle stazioni di ricarica o il numero di veicoli di ogni tipo da acquistare sono anche problemi di programmazione interi. Ad esempio, un modello di localizzazione della struttura utilizza variabili binarie per aperture del deposito e variabili di interi per il numero di veicoli assegnati da ogni deposito.
Riequilibrio in tempo reale
In sistemi di guida autonomi, i veicoli inattivo devono essere riposizionati a aree di domanda predetta, un problema di trasporto dinamico che può essere modellato come un flusso minimo di costi con flussi interi, aggiornato ogni pochi minuti come nuove richieste arrivano.
Tecniche e software di soluzione
I modelli di programmazione Integer vengono risolti utilizzando un mix di metodi esatti e approssimativi. La scelta dipende dalle dimensioni dei problemi, dal tempo di calcolo disponibile e dai requisiti di qualità della soluzione.
Metodi esatti
- Branch e bound:[] L'algoritmo più comune per MIP. Si divide ricorsivamente la regione fattibile in sottoproblemi (branching) e calcola i limiti ai rami subottimi prugne.
- Ali aerei di taglio:[] Le disuguaglianze aggiunte al rilassamento LP per stringere la regione fattibile e accelerare la ricerca.
- Branch e prezzo:[] Usato quando il problema ha un numero enorme di variabili (come tutte le possibili rotte in VRP). Il risolutore genera nuove variabili (colonne) in volo utilizzando un sottoproblema di prezzo.
I principali solutori commerciali per IP includono ILOG CPLEX, Gurobi], e FICO Xpress. Opzioni open source come SCIP e [Google]
Metodi euristici e metaheuristici
Quando i casi di problemi sono troppo grandi per i metodi esatti (migliaia di veicoli e milioni di richieste), gli approcci euristici forniscono rapidamente buone soluzioni.
- Euristica costruttiva:[] Creare una soluzione passo dopo passo (ad esempio, l'inserimento vicino per VRP).
- Cerca locale:[] Migliorare una soluzione esistente mediante piccole modifiche (2-opt, trasferirsi, scambiare).
- Metaheuristics:[[]] Guidare la ricerca locale per sfuggire all'optima locale. Esempi includono ricottura simulata, algoritmi genetici, ricerca tabu e ricerca di quartiere grande (LNS).
Molte piattaforme di gestione della flotta utilizzano un approccio ibrido: eseguire un risolutore IP per un periodo limitato per ottenere una soluzione di alta qualità, quindi applicare euristica per migliorarla ulteriormente.
Applicazioni reali e studi di casi
I modelli di programmazione Integer sono schierati in flotte autonome in diversi settori.
Autonoma Ride-Hailing (Robotaxis)
Le aziende come Waymo e Cruise utilizzano l'ottimizzazione per abbinare veicoli con passeggeri, gestire miglia vuote e flotte di riequilibrio. Un tipico MIP per la spedizione robotassi include vincoli di assegnazione (un veicolo per corsa), finestre temporali, intervallo di batterie e una penalità per i viaggi rifiutati. L'obiettivo minimizza il tempo di attesa del passeggero e la distanza totale di viaggio.
Veicoli di consegna autonome
Nuro, Starship Technologies e Amazon Scout distribuiscono flotte di veicoli autonomi per la consegna di last-mile. Integer programma percorsi e programmi per centinaia di veicoli, spesso con finestre di consegna sensibili al tempo e stoccaggio a bordo limitato. Il VRP con finestre e vincoli di capacità temporali è la formulazione standard.
Robot mobili autonomi del magazzino (AMRs)
Nei centri di adempimento, le flotte di AMR spostano scaffali o pacchetti tra stazioni. Integer coordina le operazioni di selezione e di collocamento, l'elusione di congestione e gli orari di carica della batteria. [ Uno studio del 2020 in Annals of Operations Research[]] ha descritto un MIP per l'assegnazione del compito robot e il routing che ha ridotto il tempo di inattivo del 18%.
Transito pubblico e mobilità condivisa
Le navette autonome in ambienti controllati (aeroporto, campus, comunità di pensionamento) richiedono pianificazione e pianificazione del percorso che si adatta alla domanda. I modelli di programmazione Integer ottimizzano il numero di navette, la loro frequenza e le sequenze di arresto nel rispetto degli accordi di livello di servizio.
Sfide e considerazioni
Nonostante il potere della programmazione interinale, applicarla alle flotte autonome comporta diversi ostacoli pratici.
Tempo di scala e di computazione
Una flotta di 500 veicoli che servono 10.000 richieste al giorno porta ad un MIP con decine di milioni di variabili e vincoli. Risolvere all'ottimalità può richiedere ore o giorni. Nei sistemi in tempo reale, le decisioni devono essere prese in pochi secondi. La soluzione è quella di utilizzare la decomposizione (ad esempio, l'orizzonte di rotolamento basato sul tempo, il raggruppamento geografico) o l'euristica veloce con riottimizzazione periodica.
Incertezza e Stocastica
I modelli di IP di deterministica possono diventare subottimi quando le previsioni sono sbagliate. La programmazione stocastica e l'ottimizzazione robusta estendono l'IP per gestire l'incertezza, ma aumentano la complessità del modello. Molti operatori invece si riotteneno frequentemente (ogni 5-10 minuti) con dati aggiornati.
Integrazione con sistemi in tempo reale
Un modello IP è utile solo se può ingerire i dati dal vivo da veicoli, API di traffico e code di richiesta. Ciò richiede un'architettura software che alimenta l'ultimo stato nel risolutore e mappa la soluzione ottimale di nuovo ai comandi della flotta. Latenza tra la risoluzione e l'esecuzione deve essere minima.
Fiamme e Constraints Regolatori
Le flotte autonome devono rispettare le leggi sul traffico, le restrizioni di accesso e i requisiti di equità (ad esempio, servire quartieri sottoservati), che possono essere codificati come vincoli (ad esempio, numero minimo di veicoli assegnati ad una zona) o come sanzioni morbide nell'obiettivo.
Le direzioni future
La programmazione Integer per le flotte autonome continua ad evolversi lungo diverse frontiere.
Integrazione con l'apprendimento automatico
I modelli ML possono prevedere modelli di domanda, tempi di viaggio e guasti dei veicoli, alimentando queste previsioni come parametri nel modello IP. L'apprendimento delle forze di rinforzo può anche imparare le politiche per il riequilibrio, mentre l'IP gestisce le decisioni di assegnazione combinatoria.
Ottimizzazione dinamica e distribuita
I modelli IP centralizzati diventano un punto di ristoro per flotte di migliaia di veicoli. I sistemi di decomposizione permettono ai veicoli o alle zone di risolvere sottoproblemi più piccoli che coordinano tramite i prezzi (rilassamento lagrangiano) o tramite consenso (ADMM).
Piattaforme di ottimizzazione end-to-End
Le nuove piattaforme software combinano i risolutori IP, la simulazione e la visualizzazione per consentire agli operatori della flotta di costruire, testare e distribuire rapidamente i modelli.
Conclusioni
Lo sviluppo di modelli di programmazione interi per la gestione autonoma della flotta di veicoli è una pratica rigorosa ma gratificante. Definindo attentamente variabili, obiettivi e vincoli decisionali, gli operatori possono risolvere problemi di routing, pianificazione e assegnazione che massimizzano l'efficienza e la reattività.