Programmazione degli obiettivi - Goal programming
La programmazione degli obiettivi è un ramo dell'ottimizzazione multiobiettivo , che a sua volta è un ramo dell'analisi decisionale multicriterio (MCDA). Può essere pensato come un'estensione o una generalizzazione della programmazione lineare per gestire misure oggettive multiple, normalmente in conflitto. A ciascuna di queste misure viene assegnato un obiettivo o un valore target da raggiungere. Le deviazioni sono misurate da questi obiettivi sia al di sopra che al di sotto dell'obiettivo. Le deviazioni indesiderate da questo insieme di valori target vengono quindi ridotte al minimo in una funzione di raggiungimento. Può essere un vettore o una somma ponderata che dipende dalla variante di programmazione dell'obiettivo utilizzata. Poiché si ritiene che la soddisfazione dell'obiettivo soddisfi i decisori, si presume una filosofia soddisfacente di base . La programmazione degli obiettivi viene utilizzata per eseguire tre tipi di analisi:
- Determinare le risorse necessarie per raggiungere una serie di obiettivi desiderati.
- Determinare il grado di raggiungimento degli obiettivi con le risorse disponibili.
- Fornire la migliore soluzione soddisfacente in una quantità variabile di risorse e priorità degli obiettivi.
Storia
La programmazione degli obiettivi è stata utilizzata per la prima volta da Charnes, Cooper e Ferguson nel 1955, sebbene il nome effettivo sia apparso per la prima volta in un testo del 1961 di Charnes e Cooper. Seguirono opere seminali di Lee, Ignizio, Ignizio e Cavalier e Romero . Schniederjans fornisce una bibliografia di un gran numero di articoli precedenti al 1995 relativi alla programmazione degli obiettivi e Jones e Tamiz forniscono una bibliografia annotata del periodo 1990-2000. Un recente libro di testo di Jones e Tamiz. offre una panoramica completa dello stato dell'arte nella programmazione degli obiettivi.
La prima applicazione di ingegneria di programmazione obiettivo, a causa di Ignizio nel 1962, è stata la progettazione e il posizionamento delle antenne che lavorano sulla seconda fase del Saturn V . Questo è stato utilizzato per lanciare la capsula spaziale Apollo che ha portato i primi uomini sulla luna.
varianti
Le formulazioni iniziali di programmazione degli obiettivi ordinavano le deviazioni indesiderate in un numero di livelli di priorità, con la minimizzazione di una deviazione in un livello di priorità più alto che è infinitamente più importante di qualsiasi deviazione in livelli di priorità più bassi. Questo è noto come programmazione degli obiettivi lessicografici o preventivi. Ignizio fornisce un algoritmo che mostra come un programma obiettivo lessicografico può essere risolto come una serie di programmi lineari. La programmazione degli obiettivi lessicografici viene utilizzata quando esiste un chiaro ordine di priorità tra gli obiettivi da raggiungere.
Se il decisore è più interessato ai confronti diretti degli obiettivi, allora dovrebbe essere utilizzata una programmazione degli obiettivi ponderata o non preventiva. In questo caso tutte le deviazioni indesiderate vengono moltiplicate per pesi, che riflettono la loro importanza relativa, e sommate come un'unica somma per formare la funzione di raggiungimento. Scostamenti misurati in unità diverse non possono essere sommati direttamente a causa del fenomeno dell'incommensurabilità .
Quindi ogni deviazione indesiderata viene moltiplicata per una costante di normalizzazione per consentire un confronto diretto. Le scelte più comuni per le costanti di normalizzazione sono il valore target dell'obiettivo corrispondente (quindi trasformando tutte le deviazioni in percentuali) o l'intervallo dell'obiettivo corrispondente (tra i valori migliori e peggiori possibili, quindi mappando tutte le deviazioni su un intervallo zero-uno) . Per i decisori più interessati a ottenere un equilibrio tra gli obiettivi in competizione, viene utilizzata la programmazione degli obiettivi di Chebyshev . Introdotta da Flavell nel 1976, questa variante cerca di minimizzare la massima deviazione indesiderata, piuttosto che la somma delle deviazioni. Questo utilizza la metrica della distanza di Chebyshev .
Punti di forza e di debolezza
Uno dei principali punti di forza della programmazione degli obiettivi è la sua semplicità e facilità d'uso. Questo spiega il gran numero di applicazioni di programmazione degli obiettivi in molti e diversi campi. I programmi con obiettivi lineari possono essere risolti utilizzando un software di programmazione lineare sia come un singolo programma lineare, sia, nel caso della variante lessicografica, come una serie di programmi lineari collegati.
La programmazione degli obiettivi può quindi gestire un numero relativamente elevato di variabili, vincoli e obiettivi. Un punto debole dibattuto è la capacità della programmazione degli obiettivi di produrre soluzioni che non sono Pareto efficienti . Ciò viola un concetto fondamentale della teoria delle decisioni , secondo cui nessun decisore razionale sceglierà consapevolmente una soluzione che non sia Pareto efficiente. Tuttavia, sono disponibili tecniche per rilevare quando ciò si verifica e proiettare la soluzione sulla soluzione efficiente di Pareto in modo appropriato.
L'impostazione di pesi appropriati nel modello di programmazione degli obiettivi è un'altra area che ha suscitato dibattito, con alcuni autori che suggeriscono l'uso del processo di gerarchia analitica o di metodi interattivi per questo scopo.
Guarda anche
link esterno
- LiPS — Programma GUI gratuito di facile utilizzo destinato alla risoluzione di problemi di programmazione lineare, intera e obiettivo.
- LINSOLVE - Programmazione lineare della finestra della riga di comando di Windows gratuita e programmazione lineare degli obiettivi]