SCIENZA DELLE DECISIONI

Ricerca operativa: che cosa è e perché è importante

Che cos’è la Ricerca Operativa ? Come può ottimizzare qualsiasi processo ?

In che ambiti si applica ? Perché è importante per la tua attività ?

APR 8, 2021

Quando sei un imprenditore ti trovi spesso a dover prendere decisioni importanti basandoti esclusivamente sulla tua esperienza e su ciò che pensi sia la cosa giusta. È un rischio? Si (e anche grosso). Come si può quindi ridurre il rischio di prendere una decisione sbagliata che arreca danno al portafoglio tuo e della tua azienda?  

Con la ricerca operativa. 

Si tratta di un approccio scientifico all’analisi dei problemi e al decision making. Perché? Perché usa la matematica e i calcolatori per sviluppare modelli che permettano di predire le conseguenze associate a scelte alternative e di determinare la scelta ottima.  Cioè riesci a stabilire prima, in maniera scientifica, quali e quante conseguenze possono nascere per ogni decisione presa e prendere la decisione che implica la conseguenza minore e il vantaggio migliore (riducendo il rischio). 

La sua rilevanza negli ultimi decenni è un crescendo soprattutto per i contesti estremamente dinamici e complessi. I problemi affrontati (come il caso studio che rederemo tra poco della fabbrica di veicoli pesanti), sono tipicamente quelli in cui bisogna prendere delle decisioni sull’uso di risorse limitate (vincoli) cercando di massimizzare il massimo risultato ragionevole ottenibile dall’uso delle risorse stesse.  

In quali ambiti si applica la ricerca operativa e a quali risultati porta ? 

Gli ambiti di applicazione sono vasti, ecco un elenco per darti un’idea:

Aerospace, Biology, Energy, Economics and Finance, Environment, Government, Healthcare, Information systems, Logistics, Marketing, Manufacturing / Production systems, Military, Security, Services and society, Transportation, Telecommunication.

I risultati della sua applicazione sono fenomenali. Nella seguente tabella ti riporto alcuni esempi di problemi di ottimizzazione sorti in vari ambiti applicativi e risolti con successo. Questi esempi sono presi dalla lista dei lavori finalisti del premio Franz Edelman che la comunità internazionale assegna annualmente alle applicazioni di Ricerca Operativa di maggiore rilevanza.  

Chi risparmia, chi ottimizza e raddoppia la produzione, chi massimizza i profitti, insomma la ricerca operativa è una competenza non trascurabile per chi vuole fare impresa sul serio.

Se questi argomenti ti interessano e vuoi ricevere ulteriori

aggiornamenti iscriviti alla community privata di Facebook

Solo negli USA, la ricerca operativa, impiega circa 50 mila persone che lavorano in aziende come American Airlines, Merrill Lynch, Citicorp, AT&T, General Motors e American Express.  

Le capacità del ricercatore operativo prevedono solide basi di matematica (analisi matematica, geometria e algebra lineare, probabilità e statistica), di conoscenza di modelli di algoritmi base, di saper usare software specifici e doti di leadership nel convincere persone. 

Lo schema per affrontare i problemi di ottimizzazione

Nella vita quotidiana, senza rendercene conto, affrontiamo problemi di ottimizzazione: per esempio determinare il miglior percorso per andare al lavoro, fare la spesa minimizzando il tempo impiegato e non superando il budget a disposizione, ecc… 

Se per problemi quotidiani non è necessario ricorrere alla RO (meno male!), questi strumenti quantitativi messi a disposizione dalla matematica non possono essere ignorati nel risolvere problemi più complessi e di più vasto impatto. Per esempio in ambito industriale si ricorre alla RO quando si deve pianificare la produzione, in ambito dei trasporti quando si deve determinare il percorso di un autobus in modo da massimizzare la qualità del servizio o il numero di passeggeri serviti, ecc, ecc.  

Prima di passare al caso studio, vi dico che personalmente quando devo affrontare un problema decisionale, adotto uno schema decomposto nelle seguenti fasi: 

  • Individuazione e formulazione del problema decisionale;
  • Analisi della realtà (segando i rumori di fondo) e raccogliendo solo i dati che contano;
  • Costruzione di un modello matematico, come astrazione del problema reale;
  • Codifica, verifica, validazione del modello matematico;
  • Determinazione di uno o più soluzioni;
  • Stesura del report;
  • Implementazione;

La prima fase, ossia l’individuazione del problema, prevede un intervista approfondita per poter capire se si tratta veramente di un problema decisionale. Bisogna stare molto attenti a distinguere quello che racconta a parole il committente, perché c’è molto rumore di fondo che non bisogna scambiare per informazione. Ad esempio: la descrizione del problema potrebbe essere non chiara perché l’imprenditore non ha capito il suo problema oppure, si può scoprire che quello di cui parla il committente non è veramente un problema decisionale.  

Quali sono gli elementi che non possono variare (e quindi attorno a cui non verte nessuna decisione) e quelli che invece possono variare ?  

Saper individuare con precisione tutti i vincoli che regolano il problema e definire quale obbiettivo perseguire (massimizzare i profitti, ridurre i costi, ottimizzare i percorsi, ecc) è cruciale per la costruzione di un modello matematico che sia il più fedele possibile alla realtà. Bisogna anche stabilire con quale criterio di preferenza, rispetto alle diverse alternative, si scelgono alcune soluzioni rispetto ad altre. 

La raccolta dati è delicata, perché in alcuni casi non è possibile avere dati certi in quanto certi fenomeni non sono noti e ci si deve accontentare di serie storiche o di previsioni. Altre volte i dati sono noti, ma non possono essere divulgati perché sono coperti dal segreto industriale per prevenire attacchi dalla concorrenza. Allora in questo caso si costruiscono dei generatori casuali di dati per poter comporre dei casi (istanze) del problema verosimili. Inoltre, bisogna interrogarsi sulla qualità dei dati acquisiti poiché potrebbero alterare o invalidare il modello matematico. 

La seconda fase, quella che riguarda la costruzione del modello matematico, rappresenta la fase più delicata di astrazione e schematizzazione del problema. Di solito scompongo il problema in “sottoproblemi”, in modo tale che possano essere risolti matematicamente utilizzando gli strumenti algoritmici più opportuni. La complessità del modello dipenderà dalla complessità del problema, e potrebbe passare abbastanza tempo prima di trovare una modellizzazione che generi una soluzione ottimale.  

Costruire un “Minimum Mathematical Models”. Perché?  

Riprendendo, dal mondo delle Start up, il concetto di Minimum Viable Product”, possiamo, per analogia, ipotizzare di costruire un modello matematico minimo. Esso ha il vantaggio di testare le nostre ipotesi, di non intervenire sul sistema e permette di effettuare, anche in parallelo, l’analisi di più scenari. Infatti, vagliando le caratteristiche del modello matematico – quelle sufficienti affinché si possa ricevere un feedback praticabile – evitiamo di lavorare su modelli matematici errati. Un dettaglio che fa risparmiare tempo, costi e rischi di implementazione o di pervenire a soluzioni non soddisfacenti. Infatti, se già nei primi tentativi di costruzione del modello matematico ci accorgiamo che siamo lontani dalla soluzione del problema reale, possiamo tornare indietro e rimodellare matematicamente il nostro problema. Tutto a costo zero (se non il tempo intellettuale investito). 

La terza fase, consiste nella scelta di una procedura di risoluzione del modello matematico , il cosiddetto algoritmo. Ossia una procedura computazionale ben definita che trasforma dati di ingresso in un insieme di dati in uscita, al fine di risolvere il problema. 

Mettiamoci in testa che non sempre è possibile risolvere all’ottimo un problema decisionale, e più delle volte ci si deve accontentare di un algoritmo euristico, ossia di un algoritmo che non garantisce di trovare la migliore soluzione al problema ma una “buona” soluzione comunque ammissibile. 

Ci sono poi anche altri algoritmi che garantiscono soluzioni ammissibili con valori prossimi a quello ottimo ma solo entro un certo range: tali algoritmi sono detti approssimati.  

E poiché le istanze del problema possono avere dimensioni tali per cui eseguire l’algoritmo di soluzione manualmente è impossibile, allora si implementerà l’algoritmo in un opportuno linguaggio di programmazione creando il codice di calcolo che consente la risoluzione del problema mediante computer. Si possono usare software per manipolare matrici, visualizzare funzioni e dati, implementare algoritmi e pervenire ad una soluzione. 

Le seguenti fasi appena elencate non sono necessariamente in sequenza. Anzi, molto spesso, prima di implementare il modello matematico sul problema, si realizzano una serie di esperimenti matematici che ci danno un feedback prezioso. Feedback che può essere incoerente rispetto alla realtà, rilevando quindi una non perfetta corrispondenza del modello matematico al problema reale o magari il compimento di errori nella fasi successive (p.e., un errore di implementazione del software o una errata raccolta dati).  

Alla fine tutta la modellizzazione consiste in questi 3 passaggi:  

  1. Individuazione delle decisioni che interessano il problema in questione. Nel caso che tra poco ti farò presente è quello rideterminare la migliore gestione delle risorse di un’industria che produce veicoli pesanti; In un modello, di tipo matematico, le decisioni vengono rappresentate da variabili decisionali; 
  2. Determinazione dell’obbiettivo o degli obbiettivi da ottimizzare. Nel nostro caso, l’industria vuole massimizzare il profitto (funzione obbiettivo) cercando di dosare intelligentemente le risorse a disposizione; 
  3. Definizione delle soluzioni ammissibili. Si deve in pratica esprimere le “regole” che definiscono il problema decisionale, in genere vengono chiamate vincoli del problema;  

Come descrivere la realtà con la ricerca operativa ?

La matematica applicata si avvale di una serie di template e metodi che permettono di descrivere la realtà con un sufficiente dettaglio matematico: 

  • Programmazione matematica;
  • Programmazione dinamica;
  • Reti;
  • Code;
  • Alberi decisionali;
  • Giochi;
  • Simulazione;

Esempio di applicazione della RO nell’industria manifatturiera

La RO può essere applicata su più livelli, sia in ambito industriale che di servizi.

A livello strategico:

  • lay-out stabilimenti, magazzini, macchinari;
  • pianificazione aggregata delle scorte e della produzione;

A livello tattico:

  • turnazione personale;
  • definizione dei mix di produzione;
  • definizione dei cicli di lavorazione e dei materiali;

A livello operativo:

  • scheduling operativo della produzione;
  • gestione operativa delle scorte in ingresso e in uscita;
  • gestione degli utensili;
  • gestione raccolta dai fornitori e distribuzione ai clienti;

Esempio di applicazione della RO nei Trasporti

Livello Strategico:

  • localizzazione delle strutture;
  • definizione delle rotte;
  • definizione della flotta;

Livello Tattico:

  • turnazione personale;
  • turnazione macchine;
  • definizione tariffe;

Livello Operativo:

  • gestione operativa dei trasporti;
  • gestione cicli manutenzione e scorte;
  • gestione aree di sosta;

Esempio di allocazione ottima delle risorse per la produzione di 2 veicoli pesanti

Una fabbrica deve produrre due tipi di camion.

Obiettivo:

deve massimizzare il profitto derivante dalla produzione dei due modelli;

Vincoli del problema:

  • non si possono vendere più di 60 Camion Toro al giorno;
  • non si possono vendere più di 50 Camion Orso al giorno;
  • non sono disponibili più di 120 ore di lavoro uomo;

Variabili decisionali:

  • produrre Camion Toro e Camion Orso (quanti ?)

Dati tecnologici e finanziari:

  • un Camion Toro richiede 1 ora uomo;
  • un Camion Orso richiede 2 ore uomo;
  • un Camion Toro rende 20 euro;
  • un Camion Orso rende 30 euro;

A scanso di equivoci, i dati citati, come le ore uomo o i prezzi di vendita, sono inventati e sono solo a scopo di esempio per spiegare il processo per ottenere una soluzione ottimale. 

Come applichiamo qui la formula matematica? 

Quali sono le variabili decisionali ? Sono le quantità che devo produrre dei due veicoli, Camion Toro e Camion Orso. Queste quantità li definiamo rispettivamente come

Qt e Qo ∈ ℛ (campo numeri reali)

che saranno vendute e sono variabili decisionali continue.

La funzione obbiettivo dell’azienda è il profitto della produzione, cioè

20 Qt + 30 Qo

Ora facciamo il passaggio successivo. Come rappresentiamo i vincoli del problema ?Abbiamo detto che non possiamo vendere più di 60 Camion Toro al giorno e matematicamente si traduce come


Qt ≤ 60


e non più di 50 Camion Orso al giorno e matematicamente si traduce in


Qo ≤ 50


e la produzione non deve richiedere più di 120 ore di lavoro umano, sapendo che per produrre un camion Toro ci vogliono 1 ora di lavoro uomo e per un camion Orso 2 ore di lavoro uomo.Segue che


Qt + 2 Qo ≤ 120


e le quantità prodotte Qt e Qo sono sempre non negative, e quindi


Qt ≥ 0Qo ≥ 0

Riassumendo la formulazione matematica verrebbe una cosa del genere:

  • max 20 Qt + 30 Qo (profitto della produzione)
  • Qt ≤ 60 (capacità Toro)
  • Qo ≤ 50 (capacità Orso)
  • Qt 7 + Qo 5 ≤ 120 (lavoro)
  • Qt ≥ 0, Qo ≥ 0

Da notare come stia parlando solo di formulazione matematica. Per la soluzione procediamo con un grafico che rende più semplice la comprensione.

Sull’asse della ascisse ci stanno le quantità Qt di camion toro. Sull’asse delle ordinate le quantità Qo di camion orso. Nell’asse orizzontale, esattamente nel punto 60, è tracciata la retta che rappresenta il vincolo di camion Toro vendibili in un giorno; invece, sull’asse verticale, in corrispondenza del numero 50 viene rappresentata tramite una retta il vincolo di camion Orso vendibili in un giorno;

Adesso individuiamo la retta Qt + 2 Qo ≤ 120 che rappresenta il vincolo delle ore lavoro uomo. Come si traccia ? Se assegniamo a Qo = 0, la disequazione diventa

Qt ≤ 120 e se, viceversa, assegniamo a Qt=0 la disequazione diventa Qo= 60. Basta unire i due punti con una linea per disegnare il vincolo del lavoro, che nel nostro caso coincide con la retta gialla tratteggiata.

L’area colorata celeste rappresenta tutte le soluzioni ammissibili al nostro problema. Ma il nostro obbiettivo non è trovare una soluzione qualunque, ma la soluzione migliore, cioè max 20 Qt + 30 Qo (ovvero il profitto della produzione).

Come si traccia la retta che rappresenta il profitto della produzione ?

Sapendo che la nostra funzione obbiettivo è 20Qt + 30Qo possiamo far traslare la retta finché non si raggiunge il punto oltre al quale non possiamo andare e che rappresenta il max risultato ottenibile, ovvero la soluzione migliore. Infatti se poniamo

20Qt + 30 Qo = K

e stabiliamo che k sia un profitto pari a 1200 otterremo

20Qt + 30 Qo = 1200

e se poniamo, come abbiamo fatto in precedenza, che la variabile Qo è uguale a 0, allora Qt diventerà pari a 60, e viceversa, se poniamo Qt=0 allora Qo diventerà pari a 40 (come riportato nel grafico sottostante attraverso la retta tratteggiata rossa)

Ora dobbiamo esser bravi a traslare la retta rossa tratteggiata fino al punto nero, punto in cui c’è la soluzione ottimale del nostro problema. Che in questo caso coincide con

Qt =60 e Qo= 30

valori di produzione che generano il profitto ottimale pari a 2100€.

Cosa ci interessa di questo ragionamento ?

  • Trovare una soluzione ottima, attraverso una formulazione matematica soddisfacente. 
  • Individuare quali sono i vincoli stringenti: nel nostro esempio l’ho omesso, per evitare di appesantire il discorso, ma puoi notare come piccole oscillazioni ± ℇ della variabili di Qt producono cambiamenti sostanziali nella scelta della soluzione ottimale, e al contrario, piccole oscillazioni ±ℇ della variabile Qo non altera la soluzione ottimale. Quindi Qt (≤ 60) è un vincolo stringente, mentre Qo ≤ 50 non è un vincolo stringente;  
  • Quali sono le risorse in eccesso ? Dato che un oscillazione di ± ℇ di Qo non varia la soluzione ottimale, allora Qo è in eccesso; 
  • Potremmo capire anche di quanto aumenterebbe il ricavo se si avessero più risorse o come varierebbe il ricavo se variassero i ricavi unitari dei prodotti; ecc, ecc  
  • Come varierebbe il ricavo se variasse la tecnologia ? Ad es. con dei robot che velocizzano le operazioni relative alla produzione ? 

Ecco un esempio di come lavoro con la ricerca operativa per i miei clienti e non sempre tutto è cosi semplice perché si può incappare in diverse difficoltà: 

  1. ottenere soluzioni illimitate (che indica di solito cattivo modello);
  2. formulazione del problema che non ammette soluzioni ammissibili;
  3. soluzioni ottime multiple (con alternative equivalenti che necessitano ulteriori approfondimenti);
  4. vincoli ridondanti;

Se sei un imprenditore e devi prendere decisioni importanti, c’è solo una soluzione che ti porta a risparmiare, ottimizzare la produzione e massimizzare i profitti: La ricerca operativa. 

Se sei interessato a saperne di più o se vuoi risolvere qualche problema spinoso in azienda, scrivimi un email con la descrizione della tua frustrazione. Verrai contattato dal mio staff per un eventuale call di approfondimento (ovviamente senza impegno). 

Invece se desideri semplicemente studiare con me o rimanere aggiornato su queste tematiche scientifiche, tecnologiche e gestionali, allora iscriviti al mio canale Youtube

Enrico Lipani

Ingegneria dell’innovazione


Ti è piaciuto l'articolo?

Vota cliccando le stelle!

Votazione Media 3.3 / 5. Conteggio voti: 3

Nessun voto finora? Sii il primo a votare questo articolo.