Ricerca Operativa
Cos'è la Ricerca Operativa
E' frequente dover assumere delle decisioni. Spesso le decisioni si basano su regole euristiche più o meno consapevoli che ci siamo creati con l'esperienza e che riteniamo portino a delle soluzioni buone o quanto meno accettabili.
Spesso però non siamo sicuri di aver preso la decisione migliore possibile. In particolare di fronte a problemi complessi potremmo non essere in grado di prendere in considerazione tutte le possibili soluzioni alternative.
Non adottare dei metodi di analisi rigorosi fa sorgere il dubbio che le soluzioni trovate non siano effettivamente dei buoni risultati rispetto alla migliore soluzione possibile.
La differenza tra una soluzione accettabile e una soluzione ottimale può determinare una significativa differenza in termini di guadagno, di costo, di tempo, o comunque di qualcosa di significativo per il decisore.
Potremmo dire che il non adottare una soluzione ottimale comporta una perdita.
Esempio
Abbiamo delle risorse a disposizione (macchine, persone, materiali, ecc.).
Possiamo produrre dei prodotti assemblando e lavorando i materiali a disposizione.
Possiamo scegliere quali prodotti realizzare e in quali quantità nei limiti delle disponibilità.
Qual è la scelta delle quantità da produrre che porta ad avere il massimo guadagno?
Esempio
Abbiamo a disposizione macchine e personale
Devono essere svolte determinate attività tra loro vincolate temporalmente (alcune possono iniziare solo dopo che altre sono terminate)
A quali macchine, a quali persone e in che ordine assegno le varie attività in modo tale da sfruttare al meglio il tempo disponibile (rendere minimi i tempi morti) e terminare i lavori nel più breve tempo possibile?
Esempio
Dobbiamo consegnare delle merci a vari clienti dislocati in punti diversi di una certa zona.
Qual è il percorso ottimale che permette di terminare la consegna nel più breve tempo possibile?
Oppure come organizzo il carico dei mezzi di trasporto in modo tale da ridurre il numero di viaggi necessari?
Per rendersi conto delle difficoltà si veda il seguente esempio: Condizionatori
Al di là del significato dei vincoli imposti, ci si rende conto che anche in un problema semplice può non essere facile trovare la soluzione migliore tra quelle possibili.
Esiste una disciplina dai molti nomi che si ripropone di migliorare la nostra capacità decisionale utilizzando degli strumenti di tipo matematico/informatico.
Tale disciplina viene comunemente detta Ricerca Operativa, ma si parla anche di Scienza della Gestione, Scienza della Decisione o, in inglese, Operations Research, Operational Research, Management Science, o altro in base a ciò che si vuole mettere in evidenza.
La Ricerca Operativa si può definire come un insieme di algoritmi per risolvere alcuni problemi di carattere decisionale descritti da modelli di tipo matematico.
Lo scopo della Ricerca Operativa è non solo quello di trovare una soluzione ad un problema, ma di trovare la migliore tra le soluzioni possibili, o quanto meno una soluzione migliore di tante altre.
Lo strumento matematico consente di aiutare a risolvere i problemi e fornisce una indicazione di quanto buona sia una soluzione.
La Ricerca Operativa ha decisamente un carattere multidisciplinare. Matematica e Informatica forniscono i contributi più rilevanti.
La Ricerca Operativa è applicata in moltissimi ambiti, dalla Logistica all'Economia, dall'Urbanistica alla progettazione.
Dove si può formulare un modello matematico di un problema, si può anche applicare la Ricerca Operativa per ottimizzarne un qualche aspetto.
Come opera la Ricerca Operativa
Analisi del problema
L'applicazione della Ricerca Operativa richiede la formulazione di un modello matematico del problema.
Per arrivare al modello si dovrà comprendere il problema da risolvere, lo si dovrà analizzare, si dovranno raccogliere quante più informazioni possibili.
Modello matematico
Una volta raccolte le informazioni, queste si traducono in numeri.
Si individuano delle grandezze che andranno ad esprimere la soluzione del problema.
Si traducono le informazioni raccolte in numeri che descrivono i legami esistenti tra le grandezze in gioco.
Quanto più il modello matematico riuscirà a descrivere il comportamento del sistema in esame tanto più la soluzione proposta risulterà attendibile.
La formulazione di un modello è molto impegnativa e può richiedere vari aggiustamenti.
Soluzione del problema
Mediante l'applicazione di algoritmi matematici si ottengono delle soluzioni.
Per alcuni tipi di problemi si ottiene la migliore soluzione possibile (riferita al modello). Per altri tipi di problemi ci si deve accontentare di una buona soluzione perchè, salvo casi semplici, non si riesce a trovare la soluzione ottima in tempi ragionevoli.
Verifica/Valutazione della soluzione
La validità della soluzione è sempre legata alla bontà del modello del problema. Se il modello descrive bene il problema allora la soluzione trovata sarà applicabile.
Non è detto che la soluzione sia valida. Il modello a cui si riferisce potrebbe non aver tenuto conto di alcuni aspetti del problema e quindi può risultare necessario rivedere qualche passaggio precedente.
Attuazione della soluzione
Ottenuta la soluzione del problema formulato in forma matematica, si sottopone tale soluzione al decisore umano.
Questo la valuterà e deciderà se metterla in pratica o se sia necessario rivedere qualche aspetto del problema e del modello.
Aggiornamento delle informazioni
Applicando la soluzione si possono raccogliere ulteriori informazioni sul problema. Con informazioni aggiornate e più precise si può aggiustare il modello e trovare una soluzione migliore.
Ottimizzazione
La decisione migliore deve essere interpretata come la scelta dei valori di determinati parametri in modo tale da ottimizzare, in un senso che dovrà essere precisato, determinati indici di comportamento.
L'ottimo sarà quell'insieme di valori che rende massima o minima una determinata funzione che descrive il costo o il guadagno della decisione.
Un semplice esempio chiarificatore.
Supponiamo di riuscire a descrivere il guadagno che si ottiene dalla produzione di un certo prodotto in funzione della quantità prodotta.
La descrizione potrebbe essere una funzione matematica di cui possiamo disegnare il grafico.
La funzione avrà dei massimi (punti il cui valore è superiore ad altri).
Mediante metodi matematici è possibile individuare la quantità ottimale da produrre per avere il massimo guadagno.
Per un esempio di tipo diverso si veda Raccolta latte
Esempi di applicazioni
Date delle risorse limitate, decidere quale sia il loro impiego che massimizza il guadagno o minimizza il costo.
Pianificare la sostituzione o la manutenzione di risorse di durata limitata o soggette ad obsolescenza.
Pianificare l'utilizzo di risorse ad accesso esclusivo da parte di numerose entità che formano code di attesa.
Stabilire l'ordine di esecuzione di varie attività soggette a vincoli temporali.
Stabilire la sequenza temporale delle fasi produttive che minimizza i costi di produzione e riduce i tempi di completamento.
Determinare un percorso ottimale stabilite le tappe.
Decidere le azioni più opportune in presenza di agenti con interessi contrastanti.
Trovare la descrizione di un sistema che meglio ne rappresenta il comportamento mantenendo un prefissato grado di semplicità.
Trovare i valori che meglio descrivono l'ipotetico comportamento di un sistema in una situazione al di fuori della nostra analisi diretta.