L'ingegneria logistica, nel corso delle sue analisi, si deve confrontare spesso con problemi di ottimizzazione, ossia con problemi in cui si deve minimizzare un "costo" (che può essere un tempo, un investimento, un numero di veicoli,...) o massimizzare un "vantaggio" (un utile, un risparmio, l'affidabilità, ...) rispettando, però, al contempo, un insieme di vincoli che non possono essere violati.
La branca della matematica che si occupa della risoluzione di questi problemi si chiama Ricerca Operativa e, da anni, ormai, viaggia quotidianamente con l'ingegneria logistica (anzi, si può affermare che sia nata proprio per risolvere i problemi che questa identificava).
Per alcuni problemi di ingegneria logistica esistono degli algoritmi che consentono di trovarne la soluzione ottima, ossia quella che garantisce, in un tempo ragionevole, l'identificazione del massimo o del minimo ricercati. Purtroppo per la maggior parte di tali problemi non esistono algoritmi specifici ed è estremamente laborioso costruirne, se non impossibile. Poiché il numero di soluzioni, possibili ma non ottime che tali problemi hanno può essere in quantità così elevata da mettere in crisi anche il più potente dei supercalcolatori oggi esistenti, è stato necessario definire delle tecniche di ottimizzazione "approssimate" che siano in grado non soltanto di trovare l'ottimo verrà proprio quanto di trovare una soluzione adesso molto vicina (detta soluzione "ottimale") che in genere soddisfa le necessità pratiche dell'ingegneria logistica.
Questi algoritmi studiati per affrontare tale categoria di problemi "difficili" (tipicamente detti "di ottimizzazione combinatoriale") sono algoritmi iterativi che sfruttano meccanismi di ricerca di soluzioni migliori a partire da soluzioni peggiori. I più famosi sono i cosiddetti Algoritmi Genetici (GAs o Genetic Algorithms) che, simulando il principio evoluzionistico di sopravvivenza del "più forte", partendo da un insieme di soluzioni anche casuale, se ben congegnati, riescono a convergere verso soluzioni significativamente migliori in tempi relativamente brevi.
Oltre agli algoritmi genetici esistono altre classi di algoritmi iterativi evolutivi quali quelli denominati Tabu Search (o Taboo Search o TS), quelli di Evoluzione Stocastica (Stochastic Evolution o StocE) e quelli di Simulated Evolution (SimE). Antesignano di questa classe di algoritmi è stato un algoritmo detto Simulated Annealing (o SA) che simulando il raffreddamento lento di un solido portato ad elevate temperature (operazione detta, appunto, in gergo, annealing) era in grado di trovare valori ottimali.
Questi algoritmi iterativi evolutivi, pur essendo concettualmente molto semplici, presentano elevate problematiche di implementazione, soprattutto nel definire (ingegnerizzare) alcune sezioni essenziali per il buon funzionamento dell'algoritmo (tipicamente il modo in cui la soluzione viene codificata e la funzione che si occupa di stabilire il miglioramento di una soluzione rispetto ad un'altra).
Logica dei Sistemi è in grado di progettare algoritmi iterativi evolutivi specifici per determinati problemi e di seguirne l'implementazione e il test (essendo quest'ultima operazione tutt'altro che semplice: come si può eseguire il test di un sistema che calcola un valore che non può essere calcolato in un altro modo se non per casi banali?).
Le applicazioni di questi algoritmi sono innumerevoli e qui ne citiamo solo alcune: gestione ottima di turni complessi, caricamento ottimale dei veicoli in funzione anche del percorso seguito, dimensionamento ottimo dei livelli di magazzino delle parti di ricambio, composizione ottima dei banchi di calibrazione per lavorazioni a lotti, ...
Se siete interessati a questo tipo di applicazione potete contattare la nostra Questo indirizzo email è protetto dagli spambots. E' necessario abilitare JavaScript per vederlo. .

