Ricerca Operativa PDF

Embed Size (px)

Citation preview

RICERCA OPERATIVAper i corsi di Laurea in Ingegneria BTRR e MMER

Dispense del corso

a cura di Laura Palagiwww.dis.uniroma1.it/~ palagi

12 Dicembre 2011

teoremi/dimostrazioni non in programma1. dimostrazione del Lemma 4.1.1 2. dimostrazione del teorema 5.1.6 3. il teorema 5.3.2 e la sua dimostrazione 4. il teorema 5.3.3 e la sua dimostrazione 5. il teorema 5.3.4 6. dimostrazione del teorema 6.2.4 7. dimostrazione del teorema 6.3.10 8. dimostrazione del teorema 6.3.11 9. la dimostrazione del teorema 7.4.4 10. la dimostrazione del teorema 8.2.1 (Lemma di Farkas) 11. la dimostrazione del teorema 10.1.1 12. la dimostrazione del teorema 10.1.10 13. il teorema 10.2.1 14. il teorema 12.4.6 15. il teorema 12.4.7

0

Capitolo 1

IntroduzioneLa Ricerca Operativa ` una disciplina relativamente giovane. Il termine Ricerca Operativa e ` stato coniato in ambito militare verso la ne degli anni 30 e deriva dal termine inglese e Operational Research, ovvero la ricerca sulle operazioni (militari). La Ricerca Operativa (di seguito indicata con lacronimo RO) si occupa dello sviluppo e dellapplicazione di metodi quantitativi per la soluzione di problemi di decisione che si presentano nella gestione di imprese e organizzazioni. Quando la complessit` dei sistemi era relativamente contenuta, e la quantit` di dati disponia a bili estremamente limitata, il personale esperto era suciente a prendere le decisioni necessarie alla conduzione dellimpresa. La crescente complessit` dei sistemi aziendali congiuntamente allenorme quantit` di dati a a messa a disposizione dallinformatizzazione capillare ha reso indispensabile lutilizzo di strumenti automatici di decisione che attraverso la modellazione matematica permettano la soluzione di problemi di grandi dimensioni. La RO, quindi, ` caratterizzata dalluso di modelli matematici deniti e risolti al ne di e fornire indicazioni ai decisori nellatto della scelta. Non a caso, la RO ` anche nota come e management science, e cio` la Scienza della Gestione, denizione che ne sintetizza nalit` e e a ambizioni.

1.1

Breve storia della Ricerca Operativa

Il termine Ricerca Operativa, si ` detto, ` legato alle prime applicazioni della RO per aumentare e e lecienza di operazioni militari della Seconda Guerra Mondiale. Tuttavia esistono esempi importanti di anticipazione dei metodi della RO in anni pi` lontani; il pi` famoso risale a F. Taylor u u che nel 1885 elabor` uno studio sui metodi di produzione; prima ancora, nel 1776, G. Monge o aveva studiato un problema di trasporti. Tuttavia la nascita della RO ` legata agli studi che e negli anni immediatamente precedenti alla Seconda Guerra Mondiale vennero condotti in Gran Bretagna per risolvere problemi strategici e tattici in operazioni militari. Pi` in particolare u questi studi erano legati alluso eciente di un nuovo strumento di difesa: il radar. Infatti nelA questo paragrafo sono associate le slide della lezione disponibili http://www.dis.uniroma1.it/~ or/meccanica/slide prima lezione09-10.pdf0

sul

sito

1

1937 la Royal Air Force inizi` degli esperimenti di un sistema di controllo della difesa aerea o basato sulluso di una stazione radar situata a Bawdsey Research Station, nella costa est; gi` dai a primi esperimenti si resero conto che era molto dicile gestire ecientemente le informazioni provenienti dal radar. Nel luglio 1938 furono compiuti altri esperimenti con laggiunta di quattro stazioni radar lungo la costa nella speranza che il sistema di controllo migliorasse sia in copertura sia in ecienza; invece non fu cos` ; dai nuovi esperimenti emersero seri problemi: cera la necessit` di coordinare e correlare le tante informazioni, spesso anche in conitto tra di a loro, che venivano ricevute dalle stazioni radar aggiunte. Nellimminenza della Guerra si rese necessario tentare qualche nuovo approccio; perci` il sovrintendente della Bawdsey Research o Station propose di sviluppare un programma di ricerca che riguardasse gli aspetti operativi del sistema e non pi` solamente quelli prettamente tecnici che erano da considerare soddisfacenti. u Il termine Operational Research Ricerca nelle operazioni (militari) fu coniato per descrivere questa nuova branca delle scienze applicate. Fu quindi selezionato un gruppo di scienziati di vari discipline per costituire un OR team; il progetto fu diretto dal comandante in capo della Royal Air Force, Air Chief Marshal Sir Hugh Dowding. Nellestate del 1939 la Gran Bretagna eettu` lultima esercitazione pre-bellica dove si evidenzi` un notevole miglioramento o o nelle operazioni di difesa aerea grazie al contributo del gruppo di scienziati. Nacque quindi una vera e propria sezione che pi` tardi, nel 1941, prese il nome formale di Operational Research u Section. Durante il conitto mondiale furono molteplici e importanti i contributi strategici di questa sezione permettendo di salvare piloti e aerei. Al termine della guerra, alcuni degli scienziati coinvolti nel progetto formarono nuclei di ricercatori per lo sviluppo post bellico e la loro attivit` si estese a campi diversi da quello a militare; in particolare, con lespandersi delle iniziative industriali e con lavvento dei computer che sono uno strumento essenziale per la risoluzione dei problemi, c` stata unespansione e dellutilizzo della RO allinterno di diverse realt` applicative. a Dagli anni 60 in poi le applicazioni della RO hanno avuto diusione crescente, inizialmente nellambito di grandi gruppi industriali e succesivamente, grazie anche alla disponibilit` di a grandi potenze di calcolo a costi contenuti, in quasi ogni settore industriale, nei servizi e nelle amministrazioni pubbliche.

1.2

La Ricerca Operativa oggi

Ai nostri giorni la rilevanza applicativa delle tecniche della RO ` riconosciuta e apprezzata e in ambito industriale. Negli ultimi cinque anni il numero di addetti del settore ` infatti cresciuto e di un fattore 100. Contestualmente, si ` allargata la richiesta di esperti di RO nelle imprese e manifatturiere e di servizi: un laureato, esperto di tecniche della RO pu` ragionevolmente o aspirare, per esempio, a ricoprire incarichi di responsabilit` nelle industrie manifatturiere, nella a assicurazioni, nel marketing, nelle societ` di consulenza aziendale, nella pianicazione e, sempre a di pi`, nelle telecomunicazioni. u Alcuni esempi di problemi possono essere risolti per mezzo delle tecniche della RO sono i seguenti: Finanza e Investimenti; si vuole rispondere a domande del tipo: quanto dobbiamo investire, e come? Dove rimediare i capitali necessari? Quanto ci coster`? Alcuni esempi sono: a

2

Selezione degli investimenti: si tratta di scegliere, fra un vasto insieme di alternative di investimento, quali attivare e quali no in presenza di vincoli di budget e con lobiettivo di massimizzare i ricavi. Scelta del portafoglio; consiste nel decidere in quali titoli e con quali quote investire i nostri capitali in modo da massimizzare il ricavo atteso, oppure minimizzare il rischio, etc. Determinazione del prezzo di derivati nanziari; si vuole determinare il prezzo di un prodotto derivato nanziario (per esempio di unopzione o di un future) in funzione del tempo e dellandamento del titolo sottostaste. pianicazione della produzione; come assegnare la forza lavoro alle varie attivit` della nostra impresa? Su quali macchine a e per quanto tempo ci conviene eettuare i nostri processi? Si tratta di pianicare i livelli di produzione e/o lutilizzazione di risorse; si hanno spesso problemi di allocazione ottima di risorse cio` problemi riguardanti la distribuzione di e risorse limitate tra alternative concorrenti in modo da minimizzare il costo complessivo o massimizzare il guadagno totale; tali risorse possono essere materie prime, manodopera, tempi di lavoro su macchine, capitali investiti. gestione ottima delle scorte; si tratta di determinare i livelli di produzione e di scorte nella gestione di materiali grezzi, prodotti in lavorazione etc.; quando e quanto conviene riordinare materiali o beni in modo da ottenere il miglior compromesso fra costi di riordino e di produzione/acquisto e costi di immagazzinamento. Conviene, cio`, ordinare o produrre pi` spesso minori quantit` per e u a far fronte alla domanda corrente, oppure ordinare/produrre maggiori quantit` e lasciarle a in magazzino per soddisfare anche la domanda futura? localizzazione e dimensionamento di impianti; Quanti depositi di unimpresa di distribuzione alimentare costruire e dove localizzarli per servire i negozi a dettaglio in unarea dinteresse? Dove costruire degli ospedali (o scuole o stazioni dei vigili del fuoco) in modo da ottimizzare il servizio fornito? Dove conviene costruire le stazioni di base di una rete GSM/UMTS per coprire soddisfacentemente territorio e traco, e con che potenza dovranno trasmettere? In senso lato, si tratta di problemi in cui si deve decidere dove istallare impianti di produzione in modo da rifornire in modo ottimale aree distribuite su un territorio. progetto di reti di comunicazione / telecomunicazione; si tratta di denire i collegamenti e dimensionare le capacit` di una rete stradale, di a telecomunicazione, di trasmissione dati, etc., in modo da garantire il traco tra le varie origini e destinazioni e minimizzare il costo complessivo; ad esempio, per instradare le comunicazioni telefoniche e dati fra Roma e Venezia, conviene costruire una nuova linea ad alta velocit` in bra ottica fra Firenze e Bologna oppure istallare un ponte radio a a larga banda? determinazione di ussi ottimi; si devono inviare merci (informazioni, telecomunicazioni, corrente elettrica, etc.) da alcune sorgenti (origini) a un certo numero di destinazioni utilizzando una rete di strade (bre ottiche, doppini telefonici, cavi coassiali, emettitori) in modo da soddisfare le richieste minimizzando i costi di trasporto.

3

assegnazione di frequenze di trasmissione; quali frequenze (prese da una banda limitata) devo assegnare a una rete di trasmettitori radio-televisivi in modo da minimizzare le interferenze reciproche o massimizzare la copertura del territorio? sequenziamento; quali processo o operazione eettuare prima e quali dopo? Per esempio, come sequenziare i treni sulla rete in modo da evitare conitti sulle tratte e minimizzare i tempi morti, le attese alle stazioni, etc.? project planning; come sequenziare le molteplici attivit` di un progetto? Quanto durer` il progetto? Come a a devono essere gestite le risorse? allocazione ottima di componenti elettronici (VLSI design); come disegnare una piastra madre in modo da minimizzare le lunghezze dei percorsi seguiti dai segnali elettrici? determinazione dei turni del personale; si tratta, ad esempio, di assegnare ai convogli il personale viaggiante sui treni (conducenti, bigliettai, etc.) in modo da minimizzare il numero di viaggi a vuoto (necessari per riportare il personale alla loro sede). Un problema analogo si presenta nellassegnazione di equipaggi (piloti, hostess, stewart) a voli. manutenzione di beni; cio` il problema di decidere quando e se eettuare la manutenzione di alcuni beni soggetti e ad usura, in modo da minimizzare il costo complessivo. istradamento di veicoli; quali percorsi devono seguire i veicoli di una otta di automezzi per, ad esempio, raccogliere limmondizia, o rifornire una rete di negozi, in modo da minimizzare le distanze complessive percorse? studi sulla struttura del DNA; come assegnare sequenze a geni minimizzando la probabilit` dellerrore sperimentale? a Come determinare un albero logenetico massimizzando la verosimiglianza? progettazione di forme ottime; che forma deve avere una macchina in modo da presentare meno resistenza possibile allaria? Che prolo deve evere lala di un aereo in modo da massimizzare la portanza? calcolo delle traiettorie ottime; qual ` la traiettoria che permette ad un veicolo spaziale di arrivare sulla luna e tornare e usando la quantit` minima di carburante? a ricostruzione di immagini; come si possono visualizzare le informazioni fornite, per esempio, da una TAC in modo da renderle pi` leggibili possibili per il medico? u progettazione strutturale ; qual ` il progetto di un ponte o di un grattacielo che resiste meglio a venti molto forti o e alle sollecitazioni derivanti da un terremoto?

4

yield management ; Letteralmente traducibile come Gestione del ritorno economico. In una azienda caratterizzata da variet` di servizi e di prezzi, domanda variabile nel tempo, stabilire quanti e a quali servizi vendere avendo incertezza sulla domanda futura, allo scopo di massimizzare il protto globale. Si tratta di un problema diuso tra le compagnie di trasporto aereo, ferroviario, marittimo, ma anche per catene alberghiere e di noleggio auto. Questa lista, lungi dallessere esaustiva, serve a mettere in evidenza le potenzialit` degli a strumenti della RO nella risoluzione di problemi applicativi complessi e disparati. In Italia la penetrazione della RO ` stata piuttosto lenta. La situazione ` rovesciata negli e e Stati Uniti e nellEuropa Centro-Settentrionale ove la crescita del settore ` stata formidabile. Le e ragioni del ritardo sono in primo luogo culturali: mancanza di conoscenze approfondite da parte delle aziende, insucente disseminazione dei risultati da parte dellaccademia. Lentamente, questa situazione va modicandosi anche in Italia, e la sensibilit` delle aziende ` fortemente a e cresciuta negli ultimi due-tre anni. In particolare ci si ` resi conto che linformatizzazione capile lare e laccresciuta potenza di calcolo non sono sucienti a risolvere i problemi dellorganizzazione aziendale in modo ottimale. A confermare questo asserto si consideri il seguente, illuminante esempio (dovuto a G. B. Dantzig1 ): si supponga di essere a capo di unazienda che impiega 70 dipendenti e deve assegnare ciascuno di essi a 70 dierenti mansioni; poich le capacit` lavorative di ogni singolo dipendente e a sono diverse, non ` indierente per lazienda come eettuare lassegnamento. Naturalmente si e deve fare in modo che ciascun dipendente sia assegnato ad una sola mansione e che ciascuna mansione sia svolta esattamente da un dipendente. Il problema consiste nel confrontare le 70! possibilit` che ci sono per selezionare quella migliore nel senso che permetta di ottenere il a maggiore utile per lazienda. Le possibilit` sono un numero molto grande, pi` grande di 10100 . a u Ora si supponga di disporre di un calcolatore capace di eettuare un milione di calcoli al secondo e che sia in funzione dal tempo del big bang; avrebbe questo calcolatore oggi nellanno 2000 esaminato tutte le 70! combinazioni possibili ? La risposta ` no. Supponiamo allora di disporre e di un calcolatore che possa eettuare un bilione di assegnamenti per ogni nano secondo; la risposta sarebbe ancora no. Supponiamo allora di riempire la supercie terrestre di calcolatori di questo tipo che lavorano in parallelo; la risposta sarebbe ancora no. Si dovrebbe disporre in verit` di 1040 terre ciascuna ricoperta di calcolatori di questo tipo, in funzione dal tempo del a big bang no a quando il sole si raredder`. a Da questo esempio facile da enunciare si deduce come in certe situazioni sia assolutamente impossibile esaminare tutti i casi possibili per determinare qual ` il migliore. Per questo, e prima dellavvento della RO, lunica possibilit` era adarsi al buon senso di persone guidate a dallesperienza che stabilivano regole ad hoc di base che dovevano essere seguite per risolvere i problemi (ad hoc ground-rule approach). A questo tipo di approccio si contrappone la RO, il cui contributo centrale consiste nellintroduzione del cosiddetto approccio modellistico-ottimizzatorio per la soluzione di un problema di decisione. In questo approccio si organizza lanalisi di un problema reale in due fasi: la rappresentazione del problema attraverso un modello matematico che ne astragga gli1 G.B. Dantzig - Linear Programming the story about it began: some legends, a little about historical signicance, and comments about where its many mathematical programming extensions may be headed in History of Mathematical programming - a collection of personal reminiscences, J.K. Lenstra, A.H.G. Rinnooy Kan and A. Schrijver eds., NOrth Holland (1991).

5

aspetti essenziali e che schematizzi le interrelazioni esistenti tra i diversi aspetti del fenomeno che si sta studiando; lo sviluppo di metodi matematici ecienti (algoritmi di soluzione) per determinare una soluzione ottima del problema o una sua buona approssimazione. Naturalmente, per costruire correttamente un modello matematico-ottimizzatorio che rappresenti un particolare fenomeno, si devono individuare i parametri di controllo signicativi e un criterio per la valutazione della qualit` della soluzione. La determinazione del modello ` a e unattivit` complessa e non completamente formalizzabile, che deve far ricorso da una parte a a una conoscenza approfondita delle caratteristiche del problema in esame e dallaltra a strumenti che provengono da diverse branche della matematica. Una volta determinato il modello corretto, la RO si occupa di fornire una procedura esplicita per determinare una soluzione di un problema; tale procedura pu` essere rappresentata da metodi matematici analitici o, come o pi` spesso accade, da metodi numerici che determinano la soluzione del problema mediante u specici algoritmi di calcolo. Da quanto detto si pu` capire come la RO sia una metodologia o tipicamente interdisciplinare, applicabile nei pi` svariati contesti e come proprio dagli stimoli u provenienti da campi anche molto distanti tra di loro tragga una delle principlai ragioni della sua attuale vitalit`. a

6

1.3

Lapproccio modellistico

Il termine modello ` di solito usato per indicare una costruzione articiale realizzata per eve idenziare propriet` speciche di oggetti reali. Esistono modelli concreti (come ad esempio i a prototipi di aerei o automobili), ma pi` spesso, come nella Ricerca Operativa, si considerano u modelli astratti cio` modelli matematici che usano il simbolismo dellalgebra per mettere in e evidenza le relazioni principali delloggetto che deve essere modellato. I modelli di cui si tratter` in seguito sono quindi modelli matematici, e sono costituiti da un insieme di relazioni che a descrivono in modo semplicato, ma rigoroso, uno o pi` fenomeni del mondo reale. La nozione u di modello matematico per rappresentare il mondo reale non ` certo nuova: gi` Pitagora nel IV e a secolo a.C. tentava di costruire un modello matematico dellUniverso. Linteresse per la modellistica matematica ` notevolmente cresciuto e attualmente si conda che attraverso modelli e matematici sia possibile rappresentare molteplici aspetti del mondo reale e studiarne le propriet`. Ci` ha portato ad un enorme sviluppo delle applicazioni della modellistica matematica a o anche al di fuori delle tradizionali applicazioni alle scienze siche. Si ` cos` avuta di fatto una e vasta utilizzazione di modelli matematici in settori lontani dagli ambiti pi` tradizionali come, u ad esempio, le scienze sociali, la biologia, le scienze ambientali, la psicologia. Come esempi concreti, si pensi agli studi sulla dinamica della popolazione, sulla diusione delle epidemie, sul risanamento ambientale. Questa notevole diusione della modellistica matematica ` anche e dovuta al fatto che levoluzione di un modello matematico pu` essere rapidamente studiata o grazie alluso di moderni calcolatori elettronici. ` E evidente come in molti casi le situazioni rappresentate da un modello sono molto complesse e alcune volte inuenzate da fenomeni di natura aleatoria; per questa ragione, sono state denite diverse classi di modelli matematici: modelli stocastici che considerano grandezze che possono essere inuenzate da fenomeni aleatori e modelli deterministici che considerano grandezze esatte; inoltre a seconda che le interazioni tra le grandezze sono immediate o distribuite nel tempo, si parla di modelli statici e di modelli dinamici. Lapproccio modellistico per risolvere un problema di decisione o, pi` in generale, limpiego u di metodi matematici per la soluzione di problemi applicativi, viene di solito realizzato attraverso diverse fasi. Tali fasi possono essere schematizzate nel seguente modo: Descrizione e Analisi del problema Costruzione del modello Analisi del modello Selezione di buone soluzioni (simulazione e/o ottimizzazione) Validazione del modello Descrizione e Analisi del problema La prima fase consiste nellanalisi della struttura del problema e nellindividuazione dei dati necessari per una descrizione per una corretta denizione del problema. Si tratta cio` di ine dividuare i parametri di controllo e di individuare i legami logico-funzionali che deniscono il problema e lo/gli obiettivi. Costruzione di un modello matematico Nella fase di costruzione del modello matematico si deve fornire una descrizione formalizzata del problema di decisione facendo uso del linguaggio della matematica. Si dovr` cercare, quindi, a

7

una corrispondenza tra relazioni del mondo reale (relazioni tecnologiche, leggi siche, vincoli di mercato, etc.) e relazioni matematiche (equazioni, disequazioni, dipendenze logiche, etc.). relazioni del mondo reale relazioni matematiche

La costruzione di un modello richiede valutazioni e scelte non facilmente codicabili in un procedimento standard. In particolare, per la costruzione di modelli soddisfacente ` necessaria e una conoscenza approfondita dellapplicazione dinteresse e dei metodi matematici di soluzione. La conoscenza dellapplicazione assicura che il modello sia soddisfacente e risponda alle domande concrete che lutilizzatore gli porr`. La conoscenza dei metodi permette la denizione a di modelli risolvibili, cio per i quali ` possibile (al termine del processo di modellazione) la e e determinazione di soluzioni di buona qualit`. a ` E importante ribadire che un modello ` denito per mezzo delle relazioni che lo costituiscono e ed ` quindi necessario che tali relazioni siano il pi` possibile indipendenti dai dati introdotti e u nel modello; questo perch uno stesso modello deve poter essere usato in dierenti occasioni e con dati (cio` costi, disponibilit` di risorse, limiti tecnologici, etc.) diversi. Lo studio di questo e a aspetto, come gi` detto, rientra nella fase di analisi del modello sotto il nome di analisi della a stabilit` del modello rispetto ai dati introdotti. a In generale, la costruzione formale di un modello di Programmazione Matematica si pu` sinteo tizzare come segue:

1. Associare opportune variabili di decisione alle grandezze reali. Tali variabili costituiscono le incognite del problema. 2. Esprimere quantitativamente i legami esistenti tra le variabili e le limitazioni derivanti da considerazioni di carattere sico, economico, etc. Tali legami e limitazioni deniscono i vincoli. Linsieme dei valori delle variabili per cui i vincoli sono soddisfatti costituisce linsieme ammissibile. 3. Esprimere formalmente lobiettivo che si intende minimizzare o massimizzare.

Analisi del modello matematico Segue lanalisi del modello che prevede la deduzione per via analitica, in riferimento a determinate classi di problemi, di alcune importanti propriet`; le principali sono: a esistenza della soluzione ottima; condizioni di ottimalit`, cio` una caratterizzazione analitica della soluzione ottima; a e stabilit` delle soluzioni al variare dei dati o di eventuali parametri presenti. a Lo studio delle condizioni di ottimalit` ha sia motivazioni di natura teorica, sia motivazioni a di natura algoritmica. Dal punto di vista teorico, una condizione di ottimalit` pu` servire a a o

8

caratterizzare analiticamente le soluzioni di un problema di ottimo e quindi consentire di svolgere analisi qualitative, anche in assenza di soluzioni numeriche esplicite; un esempio ` lanalisi e della sensibilit` delle soluzioni di un problema di ottimo rispetto a variazioni parametriche. a Selezione di buona soluzione La successiva fase di selezione di buona soluzione corrisponde alla possibilit` di determinare a tra tutte le scelte possibili costituite dalle soluzioni ammissibili, quella ottima o una sua buona approssimazione. I problemi di ottimizzazione che si presentano nella pratica sono di solito cos` complessi che non ` possibile determinarne una soluzione per via analitica. La complessit` ` determinata e ae innanzi tutto dal numero di variabili e di vincoli, che deniscono la dimensione del problema; e poi dalla eventuale presenza di funzioni non lineari tra le funzioni che deniscono lobiettivo e/o i vincoli. Se il modello ` molto semplice pu` essere possibile risolvere le relazioni e utilizzare i dati a e o disposizione per determinare una soluzione analitica. La soluzione analitica ` possibile solo nel e caso di poche variabili e di funzioni estremamente semplici, e cio` solo nei casi che si utilizzano e come esempi ed esercizi nei testi e sulla lavagna. Molto spesso, anche se esiste una soluzione analitica ` estremamente complessa e la sua determinazione richiede molte risorse di calcolo; ad e esempio invertire una matrice ` un banale esempio per il quale esiste una formula analitica, ma e che dal punto di vista numerico pu` per certe istanze non essere aatto banale. Quindi, nella o pratica, per determinare una buona soluzione di un problema di ottimizzazione occorre fare ricorso alluso del calcolatore. I due aspetti pi` importanti e in qualche modo complementari nella ricerca Operativa delluso u del calcolatore per la soluzione di un modello matematico sono la simulazione e lottimizzazione. Il processo di simulazione utilizza un modello matematico che consente di visualizzare leetto di alcune decisioni sul sistema in esame senza che queste debbano essere realizzate eettivamente sul processo reale. La simulazione consiste quindi nella valutazione numerica delle funzioni che deniscono il modello per alcuni valori delle variabili di interesse allo scopo di vericare come inuenzino alcune misure di performance delluscita. Molto spesso, i modelli per i quali si utilizza la simulazione includono qualche aspetto di natura stocastica e anche dinamica (di evoluzione nel tempo). La simulazione pu` essere usata come strumento per lottimizzazione nel senso che colui che o prende le decisioni pu` procedere per tentativi e scegliere la migliore tra varie alternative o possibile. Il modello matematico implementato nel simulatore consente di valutare leetto delle sue decisioni sul sistema nel suo complesso. Questo tipo di approccio ` detto analisi di scenari. e Lanalisi di scenari ` particolarmente utile nel caso di sistemi estremamente complessi e per i e quali una rappresentazione analitica di tutti i legami logico-funzionali pu` non essere possibile. o La soluzione determinata tramite lanalisi di scenari possibili non ha per` alcuna garanzia o di essere quella ottima o una sua approssimazione. Luso della simulazione come strumento di ottimizzazione pu` essere poco signicativo sebbene estremamente essibile; viceversa pu` o o avere un ruolo molto signicativo nella successiva fase di validazione del modello in quanto consente di individuare imprecisioni e/o errori nel modello stesso. Non si deve confondere quindi il ruolo di ottimizzazione e simulazione. Dato un modello, il processo di ottimizzazione consiste nella determinazione della soluzione ottima, se esiste, o almeno di una sua buona approssimazione. Nella pratica, per risolvere un problema di ottimizzazione occorre fare ricorso ad un algoritmo iterativo, cio` ad un programma di calcolo che, a e partire da una approssimazione iniziale x0 della soluzione, determina, con una appropriata se-

9

quenza di operazioni che deniscono una successione di valori {xk }, una nuova approssimazione x . La possibilit` di realizzazione di algoritmi ` fortemente legata alla capacit` di denire a e a condizioni di ottimalit` che caratterizzano la soluzione ottima di un certo modello. a Lanalisi del modello matematico e la denizione di un algoritmo per la sua soluzione sono aspetti fortemente legati tra di loro. Molto spesso software di ottimizzazione e di simulazione sono integrati con software statistico o con fogli elettronici (spreadsheets). La combinazione di simulazione e/o ottimizzazione con la visualizzazione dei risultati ` una combinazione vincente. La visualizzazione rende luscita e del processo di simulazione e/o di ottimizzazione molto pi` comprensibile e aggiunge spesso u maggior credibilit` al modello, soprattutto nei confronti di un pubblico non tecnico. a Luso di fogli elettronici per la costruzione di modelli per luso di simulazione e di ottimizzazione sar` discusso in un capitolo successivo. a Validazione del modello La soluzione numerica ottenuta al passo precedente deve poi essere valutata praticamente. Questa fase di costruzione del modello non deve essere sottovalutata. I motivi di inattendibilit` a di un modello possono essere molti; in particolare la maggior dicolt` consiste nellottenere dati a e/o informazioni validi. Spesso questo ` legato al diverso linguaggio utilizzato dagli esperti del e problema reale e dagli esperti di ottimizzazione. Informazioni essenziali sono spesso trascurate perch talmente scontate per lesperto del problema da non dover essere raccontate. O viceversa e modelli matematici troppo dettagliati possono produrre soluzioni incomprensibili. La validazione del modello pu` avvenire attraverso una verica sperimentale oppure con o metodi di simulazione, allo scopo di ottenere, in questa fase di interazione con lesperto, un modello matematico sempre pi` attendibile. u La denizione di un modello si congura quindi come un processo di rafnamento iterativo, che pu` essere schematizzato come rappresentato in Figura 1.1. o

10

ANALISI DEL PROBLEMA

COSTRUZIONE DEL MODELLO

ANALISI DEL MODELLO

SOLUZIONE NUMERICA

VALIDAZIONE DEL MODELLO

Figura 1.1: Fasi dellapproccio modellisticoVantaggi dellapproccio modellistico Esistono diverse ragioni per adottare lapproccio modellistico per la soluzione di problemi: si riassumono di seguito le principali. Maggiore comprensione del problema. Il modello ` una rappresentazione semplicata del problema e spesso la sua costruzione e consente di individuare propriet` strutturali del problema che altrimenti non sarebbero a aatto evidenti. Possibilit` di risolvere matematicamente il problema. a Grazie al modello ` possibile analizzare matematicamente il problema ed ottenere cos` una e soluzione che, soprattutto in riferimento a scopi di pianicazione, permette di adottare strategie che da una sola analisi strutturale del problema non apparirebbero evidenti o che a volte potrebbero essere perno controintuitive. Deduzione analitica di importanti propriet`. a Nella fase di analisi del modello ` possibile dedurre per via analitica alcune importanti e propriet` del problema sulla base dei risultati disponibili per la classe di problemi a cui a si fa riferimento.

11

Possibilit` di simulazioni. a Con un modello ` possibile eettuare esperimenti che spesso non ` possibile eettuare die e rettamente nella realt`. La fase di simulazione ` un passo fondamentale nella costruzione a e di un modello che pu` essere utilizzata per vericare leetto di una decisione, non neco essariamente quella ottima, su un prototitpo del sistema e non sul sistema stesso; ad esempio, luso di un modello consente di studiare gli eetti delladozione di una particolare misura economica in un paese senza la necessit` di sperimentarla direttamente. Il a decision maker ha uno strumento che gli consente di valutare leetto di una sua decisione senza essere necessariamente in grado di capire laspetto modellistico del problema. Critiche allapproccio modellistico Le principali critiche allapproccio modellistico possono essere sintetizzate nei seguenti due punti: Impossibilit` di quanticare soddisfacentemente con opportuni valori numerici alcuni dati a richiesti dal modello; questo accade, ad esempio, nel tentativo di quanticare con un costo o con un protto alcuni valori sociali soprattutto in relazione a scopi di pianicazione. La qualit` delle risposte che un modello produce potrebbero dipendere profondamente a dallaccuratezza dei dati introdotti. La qualit` delle risposte fornite dal modello dipende dallaccuratezza della sua denizione: a la fase di validazione cruciale per valutare la soluzione numerica ottenuta e completare il e modello introducendo elementi trascurati in una prima fase.

1.4

Un primo esempio di costruzione di un modello matematico

Come primo esempio di costruzione di un modello matematico analizziamo un semplice problema di pianicazione degli investimenti.

Esempio 1.4.1 Capital Budgeting. Supponiamo di dover investire 1000 sul mercato nanziario. Supponiamo inoltre che il mercato ora tre tipi diversi di investimenti A, B, C ciascuno caratterizzato da un prezzo dacquisto e da un rendimento netto, che sono riassunti nella seguente tabella: A B C costo 750 200 800 rendimento 20 5 10 Si vuole decidere quali degli investimenti eettuare per massimizzare il rendimento sapendo che gli investimenti A, B, C non si possono eettuare in modo parziale cio` non sono frazionabili. a Analisi del problema e costruzione del modello. Si tratta di un problema di pianicazione degli investimenti. Si devono denire formalmente le variabili di decisione, linsieme delle soluzioni ammissibili e la funzione obiettivo.

12

Variabili di decisione. In questo caso il decisore vuole semplicemente sapere, per ogni investimento, se tale investimento deve essere eettuato oppure no. Una scelta naturale delle variabili di decisione ` la seguente: e xi = 0 non si eetua linvestimento iesimo 1 si eettua linvestimento iesimo i = A, B, C (1.1)

Insieme ammissibile. In base alla denizione delle variabili, le possibili scelte compatibili con il nostro budget sono: (0) non si eettuano investimenti xA = xB = xC = 0 (1) si eettua linvestimento A; xA = 1, xB = xC = 0 (2) si eettua linvestimento B; xA = 0, xB = 1, xC = 0 (3) si eettua linvestimento C; xA = xB = 0, xC = 1 (4) si eettuano gli investimenti A e B; xA = xB = 1, xC = 0 (5) si eettuano gli investimenti B e C; xA = 0, xB = xC = 1. (6) si eettuano gli investimenti A e C; xA = 1, xB = 0, xC = 1. (7) si eettuano gli investimenti A, B e C; xA = xB = xC = 1. Tra queste solo alcune sono compatibili con il nostro budget. In particolare, notiamo che le possibilit` A, C e A, B, C non sono ammissibili in quanto il costo supera la nostra disponibilit`, a a come si evince dalla Tabella 1.4. Linsieme ammissibile o` costituito dalle scelte (0) (5) ed ` dato da: e e 1 0 0 1 0 0 S = 0 , 0 , 1 , 0 , 1 , 1 0 0 0 1 0 1 Si tratta quindi di un sottoinsieme dei vettori di IR3 a componenti 0 1 ovvero S {0, 1}3 Funzione obiettivo. Lobiettivo che ci proponiamo ` la massimizzazione del rendimento totale. e Quindi dobbiamo esprimere la funzione obiettivo che corrisponde al rendimento netto relativo ` alla scelta di x = (xA , xB , xC )T in S E possibile ottenere la soluzione ottima valutando esaustivamente la funzione obiettivo per ogni elemento di S, ottenendo in relazione alle possibili scelte i valori riportati nella Tabella 1.4. La soluzione ottima ` ovviamente quella corrispondente alla scelta (4), cio` alleettuare gli e e investimenti A e B, con valore della funzione obiettivo pari a 25. Questo rappresentazione del problema ha alcuni difetti, in particolare: 1. Linsieme ammissibile S ` rappresentato in modo estensivo, cio` elencando tutte le e e soluzioni ammissibili. In questo caso la cardinalit` dellinsieme ammissibile ` al pi` a e u quella di {0, 1}3 cio` 23 , ma in generale, se la dimensione del problema fosse pi` grande e u sarebbe impossibile valutare esaustivamente le soluzioni del problema. Se, ad esempio, il numero degli investimenti fosse stato 100 (che dal punto di vista delle applicazioni reali ` del tutto verosimile) la cardinalit` dellinsieme ammissibile sarebbe stata 2100 e per la e a

13

costi rendimento

(0) 0 0

(1) 750 20

(2) 200 5

Investimento (3) (4) (5) 800 950 1000 10 25 15

(6) 1550 30

(7) 1750 35

Tabella 1.1: Tabella costi e rendimenti relativi a tutte le possibili combinazioni di investimentovalutazione di 2100 possibilit` anche supponendo di utilizzare un calcolatore che eeta tui 1010 valutazioni al secondo (velocit` superiore a quella raggiungibile dai calcolatori a attuali) occorrerebbero 1020 secondi, cio` 3000 miliardi di anni ! e 2. Il modello non ` indipendente dai dati del problema, cio` cambiando i dati del problema e e (prezzi e/o rendimenti) sarebbe necessario cambiare completamente il modello. In genere si cerca di dare una rappresentazione intensiva dellinsieme ammissibile S, cio` e individuare le propriet` P (x) che consentono di distinguere le soluzioni ammissibili dagli elea menti dellinsieme {0, 1}3 che non lo sono. Si vuole quindi scrivere linsieme S in una forma del tipo: S = x {0, 1}3 : vale la propriet` P (x) . a Nellesempio, la propriet` distintiva degli elementi di S ` il costo complessivo che non deve a e essere superiore a 1000. Possiamo esprimere matematicamente questa relazione come: P (x) : 750xA + 200xB + 800xC 1000 e quindi linsieme ammissibile si pu` scrivere o S = x = (xA , xB , xC )T {0, 1}3 : 750xA + 200xB + 800xC 1000 . Anche la funzione obiettivo pu` essere scritta in forma pi` sintetica come: o u f (x) = 20xA + 5xB + 10xC . In conclusione, il problema di decisione pu` essere posto nella forma: o max (20xA + 5xB + 10xC ) 750xA + 200xB + 800xC 1000 xi {0, 1} i = A, B, C.

14

Capitolo 2

Modelli di Ottimizzazione2.1 Introduzione

In questo capitolo ci occuperemo pi` nel dettaglio di quei particolari modelli matematici noti u come Modelli di Ottimizzazione che rivestono un ruolo centrale nella RO. In termini generali, data una funzione f : IRn IR, ed S IRn , un problema di Ottimizzazione pu` essere formulato o nella forma: min f (x) (P O) x S.

Quindi un problema di Ottimizzazione consiste nel determinare, se esiste, un punto di minimo della funzione f tra i punti dellinsieme S. I problemi di ottimizzazione sono spesso denominati, con terminologia equivalente, problemi di Programmazione Matematica. Osserviamo subito che un problema di massimo si pu` sempre ricondurre a un problema di o minimo, cambiando di segno la funzione obiettivo. Infatti, i punti di massimo (ove esistano) del problema max f (x) xS coincidono con i punti di minimo del problema min f (x) xS e risulta: max f (x) = min(f (x)).xS xS

In base a tale osservazione ci si pu` riferire esclusivamente, senza perdita di geneo ralit`, a problemi di minimizzazione. a La funzione f viene chiamata funzione obiettivo e linsieme S insieme ammissibile cio` e linsieme delle possibili soluzioni del problema. Un punto x S si chiama soluzione ammissibile.

15

Linsieme ammissibile S ` un sottoinsieme di IRn e quindi x = (x1 , x2 , . . . , xn )T ` una e e variabile vettoriale n-dimensionale e la funzione obiettivo f ` una funzione di n variabili reali e f (x1 , x2 , . . . , xn ).

2.2

Denizioni preliminari

Si riportano di seguito alcune denizioni fondamentali riguardanti i problemi di Ottimizzazione.

Denizione 2.2.1 (Problema inammissibile) Il problema di ottimizzazione (PO) si dice inammissibile se S = , cio` se non esistono soluzioni ammissibili. e

Denizione 2.2.2 (Problema illimitato) Il problema di ottimizzazione (PO) si dice illimitato (inferiormente) se comunque scelto un valore M > 0 esiste un punto x S tale che f (x) < M . Un esempio di PO illimitato inferiormente ` dato da f (x) = x3 e S = {x : x 2}. Infatti, al e tendere di x a la funzione obiettivo tende anchessa a . Notiamo che se, con la stessa funzione obiettivo, si cambia linsieme S, e si pone S = {x : x 0}, il problema non ` pi` e u illimitato inferiormente.

Denizione 2.2.3 (Punto di minimo globale) Si dice che il problema di ottimizzazione (PO) ammette soluzione ottima (nita) se esiste un x S tale che risulti f (x ) f (x), per ogni x S.

Il punto x ` detto soluzione ottima o minimo globale e il corrispondente valore f (x ) di dice e valore ottimo. Per esempio, se si pone f = x2 e S = I lottimo ` lorigine, e il corrispondente valore ottimo R, e ` zero. Se si prende S = {x : x 2}, lottimo ` 2 e il valore ottimo 4. e e In molti problemi di ottimo, in cui la ricerca di soluzioni globali pu` risultare dicile, pu` o o avere interesse anche la ricerca di soluzioni di tipo locale. Indichiamo allora con U (x) un intorno di un punto x e consideriamo la denizione seguente.

16

Denizione 2.2.4 (Punto di minimo locale) Un punto x S si dice punto di minimo locale di f su S se esiste un intorno U (x ) di x tale che: f (x ) f (x), per ogni x S U (x ),

e, in tal caso, si dice che f (x ) ` un minimo locale di f su S. e Si dice che x S ` un punto di minimo locale stretto di f su S se esiste un intorno U (x ) e di x tale che: f (x ) < f (x), per ogni x S U (x ), x = x . Per esempio, se si pone f = x2 e S = {x : 2 x 1}, lottimo (minimo globale) ` x = 2 e di valore ottimo -4, ed il punto x = 1 ` un minimo locale di valore pari a 1. e ` E immediato rendersi conto del fatto che un punto di minimo globale ` anche un punto di minimo locale, ma non ` vero in generale il e e viceversa. Naturalmente si pu` anche presentare il caso in cui la funzione obiettivo ` limitata inferiormente o e su S ossia: inf f (x) > ,xS

ma tuttavia non esistono punti di minimo globale di f su S. Risolvere un problema di ottimizzazione signica quindi, in pratica: - stabilire se linsieme ammissibile ` non vuoto, oppure concludere che non esistono soluzioni e ammissibili; - stabilire se esistono soluzioni ottime, oppure dimostrare che il problema non ammette soluzioni ottime; - determinare (eventualmente in modo approssimato) una soluzione ottima. Allinterno dei problemi di Ottimizzazione si possono distinguere le seguenti importanti classi di problemi:

17

Problemi di Ottimizzazione Continua. Le variabili possono assumere tutti i valori reali (x IRn ); ed inoltre si parla di problemi di ottimizzazione continua vincolata se S IRn non vincolata se S = IRn . Problemi di Ottimizzazione Discreta. Le variabili sono vincolate ad essere numeri interi (x Zn ); si possono distinguere allinterno di questa classe di problemi altre due classi: programmazione a numeri interi se S Zn ottimizzazione booleana se S {0, 1}n . Problemi misti. Solo alcune delle variabili sono vincolate ad essere intere.

2.3

Problemi di Programmazione Matematica

Di solito linsieme ammissibile S viene descritto da una numero nito di diseguaglianze del tipo g(x) 0, dove g ` una funzione denita su IRn a valori reali. Cio`, formalmente, date m e e funzioni gi : IRn IR, i = 1, . . . , m si esprime S nella forma S = {x IRn | g1 (x) 0, g2 (x) 0, . . . , gm (x) 0} . Ogni diseguaglianza gi (x) 0 prende nome di vincolo e linsieme ammissibile ` quindi e formato da tutti quei punti x IRn che sono soluzione del sistema di diseguaglianze g1 (x) g2 (x) g3 (x) . . . 0 0 0 0

gm (x)

Osservazione 2.3.1 In questa formulazione dellinsieme S si sono utilizzati vincoli di diseguaglianza nella forma di minore o uguale, ma ` chiaro che questa notazione include i casi in e cui i vincoli sono espressi con vincoli di disuguaglianza nella forma di maggiore o uguale e vincoli di uguaglianza; infatti si pu` sempre trasformare un vincolo di maggiore o uguale del tipo o g(x) 0 in un vincolo di minore o uguale semplicemente riscrivendolo nella forma g(x) 0. Inoltre un vincolo di uguaglianza g(x) = 0 pu` essere riscritto nella forma equivalente delle due o diseguaglianze g(x) 0 e g(x) 0.

18

Quindi si pu` riscrivere il problema di ottimizzazione (PO) nella forma o min f (x) gi (x) 0, i = 1, . . . , m. Un problema di questo tipo viene chiamato problema di Programmazione Matematica. I problemi di Programmazione Matematica si possono classicare in base alle propriet` della a funzione obiettivo e dei vincoli prendendo in considerazione, tra le pi` signicative la linearit`, u a la convessit`. a Una prima distinzione ` quella che fa riferimeno allipotesi di linearit`. Da tale punto di vista, e a possiamo distinguere: - problemi di Programmazione Lineare (PL), in cui lobiettivo ` una funzione lineare del e tipo c1 x1 + c2 x2 + + cn xn , e i vincoli sono espressi da un sistema di equazioni e disequazioni lineari, cio` esprimibili e nella forma ai1 x1 + . . . + ain xn ( / =)bi - problemi di Programmazione Non Lineare (PNL), in cui lobiettivo oppure i vincoli non sono tutti lineari. I problemi di PNL corrispondono alla situazione pi` generale. I problemi non vincolati rientrano u nella classe di PNL, infatti, in tal caso f ` necessariamente una funzione non lineare da Rn in e R; ` facile vericare che se f fosse lineare il problema non ammetterebbe soluzione. e Inoltre, in linea di principio, possono essere formulati come problemi di PNL anche i problemi combinatori. La classicazione dei problemi di Programmazione Matematica in base alla propriet` di a convessit` sar` arontata nel Capitolo 5. a a Alcuni esempi di problemi di Programmazione Matematica sono i seguenti: Esempio 2.3.2 Si consideri una funzione obiettivo di due variabili f (x1 , x2 ) = 2x1 + x2 che si vuole minimizzare, con i vincoli 2x1 + x2 1, x1 0, x2 0. Si ottiene il problema min 2x1 + x2 x1 + x2 1 x1 0 x2 0 che ` nella forma (2.1) dove g1 (x1 , x2 ) = x1 + x2 1, g2 (x1 , x2 ) = x1 , g3 (x1 , x2 ) = x2 . e Linsieme ammissibile ` descritto attraverso da tre vincoli. Poich tutte le funzioni che come e paiono sono lineari nella variabili x1 e x2 , questo problema ` un problema di Programmazione e Lineare. Esempio 2.3.3 Si consideri una funzione obiettivo f (x1 , x2 ) = (x1 1 )2 + (x2 1 )2 che si 2 2 vuole massimizzare, con i vincoli x1 + x2 1, x1 1, x2 1. Si ottiene il problema1 1 min (x1 2 )2 (x2 2 )2 x1 + x2 1 x1 1 x2 1

(2.1)

19

che ` nella forma (2.1) dove g1 (x1 , x2 ) = 1 x1 x2 , g2 (x1 , x2 ) = x1 1, g3 (x1 , x2 ) = x2 1. e Linsieme ammissibile ` un poliedro; la funzione obiettivo ` quadratica. Si tratta quindi di un e e problema di Programmazione Non Lineare. Esempio 2.3.4 Si consideri una funzione obiettivo f (x1 , x2 ) = 3x3 + 7x2 + x2 che si vuole 1 1 1 minimizzare, con vincoli x1 + x2 2 , x1 0, x2 1. Si ottiene il problema min 3x3 + 7x2 + x2 1 1 x1 + x2 1 2 x1 0 x2 1 che ` un problema di Programmazione Non Lineare che pu` essere facilmente ricondotto nella e o forma (2.1) riscrivendo gli ultimi due vincoli nella forma x1 0 e x2 1. Esempio 2.3.5 Si consideri una funzione obiettivo f (x1 , x2 ) = x1 +x2 che si vuole minimizzare sulla regione ammissibile descritta dal vincolo di uguaglianza 4x1 x2 = 2. Il problema risultante `: e min x1 + x2 4x1 x2 = 2 che ` un problema di Programmazione Lineare con un solo vincolo di uguaglianza. e

2.4

Esempi di modelli di Programmazione Matematica

Come primi esempi di costruzione di modelli verranno ora analizzati dei semplici problemi di pianicazione della produzione e un problema di progettazione industriale. Esempio 2.4.1 (Un problema di produzione (allocazione di risorse)) Un coloricio produce due tipi di coloranti C1 e C2 utilizzando 3 preparati base in polvere P1, P2, P3 che vengono sciolti in acqua. La dierente concentrazione dei preparati base d` origine ai due diversi a tipi di coloranti. Le quantit` (in ettogrammi) di preparati base necessarie per produrre un litro a di colorante di ciascuno dei due tipi ` riportato nella seguente tabella e C1 P1 P2 P3 1 1 C2 1 2 1

Ogni giorno la quantit` di ciascuno dei preparati base (in ettogrammi) della quale il coloricio a pu` disporre ` la seguente o e P1 750 P2 1000 P3 400

Il prezzo di vendita del colorante C1 ` di 7 Euro al litro, mentre il colorante C2 viene venduto e a 10 Euro al litro. Determinare la strategia ottimale di produzione giornaliera in modo da massimizzare i ricavi ottenuti dalla vendita dei due coloranti.

20

Formulazione. Si vuole costruire il modello di Programmazione Lineare che rappresenti il problema in analisi considerando le limitazioni date dalle produzioni eettivamente realizzabili. ` E immediato associare le variabili di decisione ai quantitativi di coloranti prodotti. Siano, quindi, rispettivamente x1 e x2 i quantitativi (in litri) da produrre giornalmente dei due coloranti. Nel formulare il modello di Programmazione Lineare si deve vericare che siano soddisfatte le ipotesi fondamentali: Proporzionalit`. a I consumi dei preparati base e i ricavi ottenibili sono proporzionali ai quantitativi di coloranti prodotti. Ad esempio, per produrre una quantit` x2 di colorante C2 si consumano a 2x2 ettogrammi di P2 e dalla vendita di x2 litri di C2 si ricavano 10x2 migliaia di lire indipendentemente dalla quantit` prodotta e venduta dellaltro tipo di colorante. a Additivit`. a I consumi dei preparati base e i ricavi rispettivamente associati alla produzione dei due coloranti sono additivi, nel senso che per produrre x1 litri di colorante C1 e x2 di C2 si consumano x1 +2x2 ettogrammi di preparato di base P2 e si ricavano 7x1 +10x2 migliaia di lire. Continuit`. a Ogni variabile introdotta nel modello pu` assumere tutti i valori reali nellintervallo di o ammissibilit`. a Variabili. Come gi` detto, prendiamo come variabili di decisione x1 e x2 , rispettivamente i a quantitativi (in litri) di colorante C1 e C2 da produrre giornalmente. ` Funzione obiettivo. E rappresentata dal protto totale che per le ipotesi fatte ` dato (in Euro) e da 7x1 + 10x2 . Vincoli. Poich il consumo di preparati base non pu` essere superiore alla disponibilit` si e o a deve avere x1 + x2 750 x1 + 2x2 1000 x2 400. Inoltre si deve esplicitare il vincolo di non negativit` sulle variabili a x1 0, x2 0. Quindi la formulazione nale ` e max 7x1 + 10x2 x1 + x2 750 x1 + 2x2 1000 x2 400 x1 0, x2 0.

21

Esempio 2.4.2 (Un problema di pianicazione della produzione industriale)) Unindustria chimica fabbrica 4 tipi di fertilizzanti, Tipo 1, Tipo 2, Tipo 3, Tipo 4, la cui lavorazione ` adata a due reparti dellindustria: il reparto produzione e il reparto confezione. Per ote tenere fertilizzante pronto per la vendita ` necessaria naturalmente la lavorazione in entrambi i e reparti. La tabella che segue riporta, per ciascun tipo di fertilizzante i tempi (in ore) necessari di lavorazione in ciascuno dei reparti per avere una tonnellata di fertilizzante pronto per la vendita. Tipo 1 Tipo 2 Tipo 3 Tipo 4 Reparto produzione 2 1.5 0.5 2.5 Reparto confezionamento 0.5 0.25 0.25 1 Dopo aver dedotto il costo del materiale grezzo, ciascuna tonnellata di fertilizzante d` i seguenti a protti (prezzi espressi in Euro per tonnellata) protti netti Tipo 1 250 Tipo 2 230 Tipo 3 110 Tipo 4 350

Determinare le quantit` che si devono produrre settimanalmente di ciascun tipo di fertilizzante a in modo da massimizzare il protto complessivo, sapendo che settimanalmente il reparto produzione pu` lavorare al pi` 100 ore mentre il reparto confezionamento pu` lavorare al pi` 50 o u o u ore settimanali. Analisi del problema e costruzione del modello. Si tratta di un problema di pianicazione della produzione industriale. Costruiamo un modello di Programmazione Matematica rappresentante il problema in analisi supponendo di voler pianicare la produzione settimanale. Variabili di decisione. La scelta delle variabili di decisione molto delicata: infatti la qualit e a dellintero modello dipender da essa. In genere, per stabilire lopportuno insieme di variabili a di decisione, conviene porsi la seguente domanda: che cosa vuole sapere il decisore alla ne del processo di ottimizzazione? Ancora meglio, cosa gli suciente sapere, per prendere le sue e decisioni? In questo caso, ad esempio, tutto ci che il decisore deve conoscere sono le quantit di o a fertilizzante da produrre per ciascun tipo. Dunque introduciamo le variabili reali x1 , x2 , x3 , x4 rappresentanti rispettivamente le quantit` di prodotto del Tipo 1, Tipo 2, Tipo 3, Tipo 4 a da fabbricare in una settimana. Funzione Obiettivo. Ciascuna tonnellata di fertilizzante contribuisce al protto totale secondo la tabella data. Quindi il protto totale sar` a 250x1 + 230x2 + 110x3 + 350x4 . (2.2)

Lobiettivo dellindustria sar` quello di scegliere le variabili x1 , x2 , x3 , x4 in modo che lespressione a (2.2) del protto sia massimizzata. La (2.2) rappresenta la funzione obiettivo. Vincoli. Ovviamente la capacit` produttiva della fabbrica limita i valori che possono assumere a le variabili xj , j = 1, . . . , 4; infatti si ha una capacit` massima lavorativa in ore settimanali di a ciascun reparto. In particolare per il reparto produzione si hanno a disposizione al pi` 100 ore u settimanali e poich ogni tonnellata di fertilizzante di Tipo 1 utilizza il reparto produzione per e 2 ore, ogni tonnellata di fertilizzante di Tipo 2 utilizza il reparto produzione per 1.5 ore e cos` via per gli altri tipi di fertilizzanti si dovr` avere a 2x1 + 1.5x2 + 0.5x3 + 2.5x4 100. (2.3)

22

Ragionando in modo analogo per il reparto confezionamento si ottiene 0.5x1 + 0.25x2 + 0.25x3 + x4 50. (2.4)

Le espressioni (2.3), (2.4) costituiscono i vincoli del modello. Si devono inoltre esplicitare vincoli dovuti al fatto che le variabili xj , j = 1, . . . 4 rappresentando quantit` di prodotto non a possono essere negative e quindi vanno aggiunti i vincoli di non negativit` a x1 0, x2 0, x3 0, x4 0. La formulazione nale sar` quindi a max 25x1 + 23x2 + 11x3 + 35x4 2x1 + 1.5x2 + 0.5x3 + 2.5x4 100 0.5x1 + 0.25x2 + 0.25x3 + x4 50 x1 0, x2 0, x3 0, x4 0.

Questa formulazione ` un problema matematico ben denito e costituisce il modello di Programe mazione Matematica rappresentante il problema di pianicazione della produzione industriale in analisi. Si tratta, in questo caso, di un problema di programmazione lineare.

Esempio 2.4.3 (Dimensionamento ottimo) Unindustria deve costruire un silos di forma cilindrica. Tale silos deve essere posto in un magazzino appoggiato su una delle basi. Tale magazzino ` a pianta rettangolare di dimensioni metri 20 10 ed ha un tetto spiovente lungo il e lato di 10 metri, che ha altezza massima di metri 5 e altezza minima di metri 3. Per costruire questo silos deve essere usato del materiale plastico sottile essibile che pu` essere tagliato, o modellato e incollato saldamente. Sapendo che si dispone di non pi` di 200 m2 di tale materiale u plastico si costruisca un modello che permetta di determinare le dimensioni del silos (raggio di base ed altezza) in modo da massimizzare la quantit` di liquido che pu` esservi contenuto. a o Analisi del problema e costruzione del modello. Si tratta di determinare il dimensionamento ottimale di un contenitore cilindrico per uso industriale cercando di massimizzare il suo volume tenendo presente che deve essere contenuto in un magazzino di dimensioni ssate. Si devono denire formalmente le variabili di decisione, linsieme delle soluzioni ammissibili e la funzione obiettivo. ` Variabili di decisione. E immediato introdurre due variabili x e y che rappresentano rispettivamente la lunghezza (in metri) del raggio di base e dellaltezza del contenitore cilindrico. Funzione obiettivo. La funzione obiettivo ` rappresentata dal volume del contenitore cilindrico e ed ` data da e x2 y. Vincoli. Il diametro della base non pu` superare le dimensioni del magazzino e quindi deve o essere 2x 10.

23

La limitazione dellaltezza del contenitore varia al variare del diametro di base in quanto il tetto ` spiovente. Dato che la pendenza del tetto ` del 20%, dovr` risultare e e a y 5 0.2 2x. Inoltre disponendo solo di una quantit` limitata di materiale plastico la supercie totale del a contenitore cilindrico non pu` superare 200m2 e quindi deve risultare o 2x2 + 2xy 200. Si devono inne esplicitare i vincoli di non negativit` x 0, y 0. a La formulazione complessiva risulta quindi max x2 y x5 y 5 0.2 2x 2x2 + 2xy 200 x 0, y 0.

Il modello ` quindi un modello di programmazione non lineare. e Esempio 2.4.4 (Discriminazione del prezzo) Consideriamo un monopolista che operi su due mercati distinti (ad es. nazionale ed estero) ciascuno con una diversa funzione di domanda. Indichiamo con xi loerta sul mercato i = 1, 2 e con Pi = fi (xi ) la funzione di domanda inversa sul mercato i. Supponiamo inoltre che il costo di produzione sia proporzionale con una costante c alla oerta complessiva x1 + x2 . Il problema consiste nel massimizzare il protto del monopolista. Analisi del problema e costruzione del modello. ` Variabili di decisione. E immediato considerare le due variabili x1 , x2 che rappresentano loerta sui due mercati distinti del bene. Funzione obiettivo. Su vuole massimizzare il protto, ovvero ricavo meno costi. La funzione ricavo ` e x1 f1 (x1 ) + x2 f (x2 ), mentre il costo ` c(x1 + x2 ). Il protto totale sar` quindi e a f (x) = x1 f1 (x1 ) + x2 f (x2 ) c(x1 + x2 ). Vincoli. Poich le due variabili rappresentano unoerta si tratta di quantit` non negative e a xi 0 per i = 1, 2. Pi` in generale nel caso di n mercati distinti, posto x = (x1 , . . . , xn )T si ha linsieme ammissibile: u S = {x Rn : x 0} . Il problema di ottimizzazione corrispondente ` en n

maxxS i=1

xi fi (xi ) ci=1

xi .

24

Molto spesso le funzioni fi (xi ) hanno un andamento lineare del tipo fi (xi ) = ai mi xi con mi > 0.

La funzione ricavo risulta essere quindi una funzione quadratica del tipon

xi (ai mi xi ) = xT M x + aT xi=1

con M matrice diagonale ad elementi positivi diag{mi }n e a = (a1 . . . , an )T . i=1 Esempio 2.4.5 (Problemi di approssimazione o di curve tting) Supponiamo di conoscere i valori (ti ) che una funzione continua : R R assume in punti ti con i = 1, . . . , N in un intervallo [tmin , tmax ]. Si vuole approssimare (t) su un intervallo assegnato [tmin , tmax ] per mezzo di un polinomio di grado n:n

pn (t; x) =k=0

xk tk ,

in cui xk , per k = 0, . . . , n sono i coecienti (incogniti) del polinomio e in cui si posto e x = (x0 , x1 , . . . , xn ) Rn+1 . Si possono denire gli errori ei (x) = (ti ) pn (ti ; x), i = 1, . . . , m,

che rappresentano la dierenza tra il valore eettivo della funzione (ti ) e il valore ottenuto con ` la funzione approssimante pn (ti ; x). E allora possibile considerare diverse funzioni di ottimo 1. minimizzazione dellerrore quadratico mediom

mini=1

ei (x)2 ,

2. minimizzazione del massimo valore assoluto dellerrore min max |ei (x)|.1im

3. minimizzazione della somma dei valore assoluto dellerrorem

mini=1

|ei (x)|.

Si tratta di problemi di ottimizzazione non vincolata. Osserviamo che nel caso 1, la funzione obiettivo quadratica nelle incognite x (si veda lesempio 6.5.2). I problemi del tipo 2 e 3 e hanno funzione obiettivo che non ` continuamente dierenziabile. Nel paragrafo 3.3.4 si vedr` e a che problemi del tipo 2 e 3 possono essere ricondotti a problemi di programmazione lineare.

25

A titolo di esempio numerico sia (t), t R una funzione nota sperimentalmente che assume i valori seguenti: t (t) 0 0 1 1 2 4 3 9

Si vuole approssimare la funzione y = (t) con un polinomio di primo grado (ovvero una retta) del tipo y = x1 t + x0 in cui x0 , x1 sono le incognite. Si deniscono gli errori ei (xi ) = yi (x1 ti + x0 ), I tre problemi diventano: min x2 + (x1 + x0 1)2 + (2x1 + x0 4)2 + (3x1 + x0 9)2 0x

i = 1, . . . , 4.

min max |x0 |, |x1 + x0 1|, |2x1 + x0 4|, |3x1 + x0 9|x

min |x0 | + |x1 + x0 1| + |2x1 + x0 4| + |3x1 + x0 9|x

26

Capitolo 3

Modelli di Programmazione LineareIn questo capitolo esaminiamo in modo pi` dettagliato la Programmazione Lineare. In partiu colare saranno presentati alcuni modelli di PL pi` o meno classici. u

3.1

Struttura di un problema di Programmazione Lineare

Come abbiamo gi` visto nel Capitolo 2 un problema di Programmazione Lineare ` caratterizzato a e da una funzione obiettivo lineare (da minimizzare o massimizzare) della forman

f (x) = c1 x1 + . . . + cn xn =j=1

cj xj

e da un numero nito m di vincoli lineari della forma a11 x1 + a21 x1 + . . . am1 x1 + ... ... ... ... +a1n xn +a2n xn . . . +amn xn b1 b2 . . . bm .

(3.1)

dove con intendiamo , oppure =. Introducendo il vettore c IRn , denito c = (c1 , . . . , cn )T , x IRn denito x = (x1 , . . . , xn )T , il vettore b = (b1 , . . . , bm )T e la matrice (m n) a11 . . A= . am1 ... a1n . . .

. . . amn

un generico problema di Programmazione Lineare pu` essere scritto nella forma o min cT x Ax b.

27

Si osservi che, indicando con aT , i = 1, . . . , m, le righe della matrice A, ciascun vincolo del i problema, ovvero ciascuna disuguaglianza della (3.1) pu` essere scritto nella forma aT x bi , o i i = 1, . . . , m con pari a , oppure =. Un problema di PL consiste nel minimizzare (massimizzare) una funzione obiettivo lineare su un poliedro. Tra le forme di poliedri pi` usate nella denizione di problemi di PL abbiamo le seguenti: u (a) S = {x Rn : Ax = b} (b) S = {x Rn : Ax b} (c) S = {x Rn : Ax = b, x 0} (forma standard) In R2 sono poliedri, ad esempio, gli insiemi deniti come segue.

x2 x2 x2 3 3 3

Sx1 3 1 3 x1 3 x1

S S

a)

b)

c)

Figura 3.1: Esempi di poliedri in I 2 . R(a) S = {x R2 : x1 + x2 = 3} rappresentato in a) di Figura 3.1. La matrice A = (1 1) e b = 3. (b) S = {x R2 : x1 + x2 3, x1 1} rappresentato in b) di Figura 3.1. 1 1 3 La matrice A = eb= 1 0 0

28

(c) (forma standard) S = {x R2 : x1 + x2 = 3, x1 0, x2 0} rappresentato in c) di Figura 3.1. La matrice A = (1 1) e b = 3. In generale per` ` sempre possibile sempre riportarsi ad una delle forme (b) o (c) con o e ` semplici trasformazioni dei vincoli o delle variabili. E da notare che non ` possibile ricondursi e nel caso generale a problemi con soli vincoli di uguaglianza del tipo min cT x Ax = b. Tali problemi sono in eetti di scarsa rilevanza pratica in quanto ` possibile dimostrare che se e esiste una soluzione ammissibile e il problema non ` illimitato allora tutte le soluzioni ammissibili e sono ottime. In particolare vale il teorema 10.2.1.

Trasformazioni dei vincoli Osserviamo che si pu` sempre supporre che il secondo memobro di un vincolo di uguaglianza o disuguaglianza sia non negativo. Infatti, se cos` non fosse, basta moltiplicare per (1) (ovvero cambiare di segno) ad entrambi i membri del vincolo e, eventualmente cambiare il verso della disuguaglianza. Supponiamo quindi nel seguito, senza perdere di generalit` che bj 0. a Da disuguaglianza a uguaglianza Con lintroduzione di opportune variabili aggiuntive non negative, ogni vincolo di disuguaglianza pu` sempre essere posto nella forma di vincolo di o uguaglianza. Infatti un vincolo del tipo aT x bj , j pu` essere riscritto nella forma o aT x + xn+1 = bj , j con xn+1 0 (3.2)

ove la variabile xn+1 rappresenta la dierenza, non negativa, tra il secondo e il primo membro della disuguaglianza (3.2), e viene detta variabile di slack. Daltra parte una disuguaglianza del tipo aT x bj , (3.3) j pu` essere posta nella forma o aT x xn+1 = bj , j con xn+1 0

ove la variabile xn+1 rappresenta la dierenza, non negativa, tra il primo e il secondo membro della disuguaglianza (3.3), e viene detta variabile di surplus. Quando la distinzione non ` e necessaria, le variabili slack e di surplus vengono chiamate variabili ausiliarie. Esempio 3.1.1 Il sistema di vincoli 3x1 5x1 8x1 + x2 + 4x3 6x3 + 9x3 = 5 7 2

29

pu` essere riscritto nella forma o 3x1 5x1 8x1 x4 x5 x2 0 0 + + + 4x3 6x3 9x3 + x4 = 5 = 7 x5 = 2

avendo introdotto la variabile slack x4 e la variabile di surplus x5 , entrambe non negative. 2 ` Da uguaglianza a disuguaglianza E anche possibile trasformare vincoli di uguaglianza in vincoli di disuguaglianza. Considerato il vincolo aT x = bj si pu]o trasformare in due vincoli di j disuguaglianza aT x bj j aT x bj j

Trasformazioni delle variabili Nei problemi di programmazione lineare si pu` sempre oassumere che le variabili di decisione siano non negative, e cio` che per ogni i risulti xi 0. e Infatti se per qualche i deve risultare xi 0, basta eettuare la sostituzione xi = xi , e con xi 0; se per qualche i la variabile xi non ` vincolata in segno, basta sostituire ad essa la dierenza tra due variabili aggiuntive entrambe vincolate in segno, cio` basta porre e xi = x+ x , con x+ 0, e x 0. i i i i Esempio 3.1.2 Sia dato il vincolo x1 + 0.5x2 3 con x2 0 e con x1 non vincolata. Ponendo x1 = x1 x3 e x2 = x2 , equivale al vincolo x1 0.5x2 x3 3 con xi 0, i = 1, 2, 3. 2

3.2

Trasformazioni equivalenti

Consideriamo alcune formulazioni equivalenti di PL relative ad alcune importanti classi di problemi. In particolare, analizziamo il caso in cui la funzione obiettivo ` il massimo tra e funzioni lineari oppure nella funzione obiettivo sono presenti dei valori assoluti.

3.2.1

Funzione obiettivo di tipo max

Si consideri il problema minxS

1im

max {cT x + di } i

(3.4)

in cui S ` un poliedro e cT x + di , i = 1, . . . , m sono assegnate con x IRn , ci IRn . Il problema e i (3.4) ha una funzione obiettivo che ` della forma max1im hi (x) con hi : Rn R che, in e generale, risulta non dierenziabile e dunque non lineare. Un esempio di funzione di questo

30

20

15

10

5

0 -10

-5

0

5

10

Figura 3.2: max 2x, x, 1 x + 9 2tipo per n = 1 e m = 3 ` rappresentato in Figura 3.2. I problemi di questo tipo sono di solito e chiamati problemi minimax. Aggiungendo una variabile v R ` possibile mostrare che tale problema ` equivalente al e e problema di Programmazione Lineare: minx,v v xS cT x + di v, i = 1, . . . , m. i (3.5)

Per dimostrare lequivalenza dei problemi (3.4) e (3.5), dobbiamo fare vedere che data una soluzione x del problema (3.4) possiamo determinare una soluzione (x, v) del problema (3.5) e viceversa. Supponiamo di avere una soluzione x del problema (3.4). Posto x = x e v = max1im {cT x + di } abbiamo che la coppia (x, v) ` ammissibile per il problema (3.5), e i infatti x = x S cT x + di v = max {cT x + di }. i i1im

Inoltre v v per ogni (x, v) ammissibile. Viceversa, sia data una soluzione ottima (x, v) del problema (3.5), una soluzione ammissibile del problema (3.4) ` x = x S. Si tratta anche della soluzione ottima perche e v v = max {cT x + di } i1im

31

3.2.2

Funzione modulomin |cT x|xS

Si consideri il problema

(3.6)

con x IRn , c IRn . Il problema (3.6) pu` essere equivalentemente scritto nella forma o

20 15 10 5 0 10 5 -10 -5 0 5 10 -10 -5 0

Figura 3.3: Curve di livello della funzione f (x, y) = |x + y|min max{cT x, cT x}xS

(3.7)

e dunque applicando la trasformazione descritta per il problema (3.4), si ottiene il problema equivalente minx,v v cT x v (3.8) cT x v x S. Sono inoltre equivalenti i seguenti problemi: minx,v minxS 1im

max |hi (x)|

v v hi (x) v, i = 1, . . . , m x S.

32

3.3

Semplici esempi di problemi di programmazione lineare

Chiariremo meglio i concetti nora esposti con alcuni esempi. I problemi descritti hanno una funzione essenzialmente esemplicativa. In casi concreti, un problema di programmazione lineare pu` avere un numero di variabili di decisione e un numero di vincoli dellordine delle decine o e centinaia di migliaia.

3.3.1

Problemi di miscelazione.

Si tratta di problemi in cui si hanno a disposizione un certo numero di sostanze ciascuna delle quali ha un certo costo ed un determinato contenuto di componenti utili. Si vuole ottenere la miscela pi` economica di queste sostanze tale che contenga una certa quantit` di ciascuno dei u a componenti. vediamo un semplice esempio.

Un problema di miscelazioneUnindustria conserviera deve produrre succhi di frutta mescolando polpa di frutta e dolcicante ottenendo un prodotto nale che deve soddisfare alcuni requisiti riguardanti il contenuto di vitamina C, di sali minerali e di zucchero. La polpa di frutta e il dolcicante vengono acquistati al costo rispettivamente di Lire 400 e Lire 600 ogni ettogrammo. Inoltre dalle etichette si ricava che 100 grammi di polpa di frutta contengono 140 mg di vitamina C, 20 mg di sali minerali e 25 grammi di zucchero, mentre 100 grammi di dolcicante contengono 10 mg di sali minerali, 50 grammi di zucchero e non contengono vitamina C. I requisiti che il prodotto nale (cio` e il succo di frutta pronto per la vendita) deve avere sono i seguenti: il succo di frutta deve contenere almeno 70 mg di vitamina C, almeno 30 mg di sali minerali e almeno 75 grammi di zucchero. Si devono determinare le quantit` di polpa di frutta e di dolcicante da utilizzare a nella produzione del succo di frutta in modo da minimizzare il costo complessivo dellacquisto dei due componenti base. Formulazione. Si vuole costruire un modello di Programmazione Lineare che rappresenti il problema in analisi tenendo presente i requisiti di qualit` richiesti. Si verica facilmente che le ipotesi fondamentali a di un modello di Programmazione Lineare sono soddisfatte. ` Variabili. E naturale associare la variabili di decisione alle quantit` di polpa di frutta e di a dolcicante da utilizzare per la produzione del succo di frutta. Quindi siano x1 e x2 rispettivamente le quantit` espresse in ettogrammi di polpa di frutta e di dolcicante che devono essere a utilizzate. ` Funzione obiettivo. E rappresentata dal costo complessivo dellacquisto dei due componenti base e quindi ` data da 400x1 +600x2 . Questa espressione naturalmente deve essere minimizzata. e Vincoli. Poich un ettogrammo di polpa contiene 140 mg di vitamina C e il dolcicante non e contiene vitamina C, il primo vincolo da considerare riguardante il contenuto di vitamina C del succo di frutta si pu` scrivere nella forma o 140x1 70.

33

Analogamente per rispettare il requisito sul contenuto di sali minerali del succo di frutta si dovr` imporre il vincolo a 20x1 + 10x2 30. Inne il vincolo sul contenuto di zucchero del succo di frutta si pu` esprimere nella forma o 25x1 + 50x2 75. Inne si deve esplicitare il vincolo di non negativit` sulle variabili cio` a e x1 0, x2 0. Quindi la formulazione nale ` e min 400x1 + 600x2 140x1 70 20x1 + 10x2 30 25x1 + 50x2 75 x1 0, x2 0

Formalmente, supponiamo di disporre di n sostanze diverse che indichiamo con S1 , S2 , . . . , Sn ciascuna delle quali contenga una certa quantit` di ciascuno degli m componenti utili che a indichiamo con C1 , C2 , . . . , Cm . Supponendo che ogni sostanza Sj abbia costo unitario cj , j = 1, . . . , n S1 S2 Sn c1 c2 cn si desidera ottenere la miscela pi` economica che soddis alcuni requisiti qualitativi, cio` conu e tenga una quantit` non inferiore a bi di ciascun Ci , i = 1, . . . , m a C1 b1 C2 b2 Cm bm .

Si indichi con aij , i = 1, . . . , m, j = 1, . . . , n la quantit` di componente Ci presente nella sostanza a Sj . Si pu` cos` costruire la seguente tabella o C1 . . . Ci . . . Cm S1 a11 . . . ai1 . . . am1 Sj a1j . . . aij . . . amj Sn a1n . . . ain . . . amn

Supponendo che valgano le ipotesi di proporzionalit`, additivit` ed inoltre assumendo che le a a quantit` di sostanze da utilizzare siano frazionabili, si pu` formulare questo problema in termini a o di un problema di Programmazione Lineare.

34

Generalizzando quanto fatto nellesempio,` naturale introdurre le variabili di decisione x1 , x2 , . . . , xn e rappresentanti la quantit` di ciascuna sostanza S1 , S2 , . . . , Sn da utilizzare nella miscela. Ina troducendo come spazio delle variabili lo spazio delle nuple reali IRn si pu` considerare un o x IRn denendo x = (x1 , . . . , xn )T . La funzione obiettivo pu` essere scritta on

z = c1 x1 + . . . + cn xn =j=1

cj xj .

Introducendo c IRn , denito c = (c1 , . . . , cn )T , la funzione obiettivo pu` essere scritta in o notazione vettoriale z = cT x. Si devono introdurre i seguenti vincoli: Vincoli di qualit`. a Tenendo conto del fatto che la miscela deve contenere una quantit` non inferiore a bi di a ciascun componente Ci si dovr` avere an

aij xj bi ,j=1

i = 1, . . . , m.

Si devono considerare i vincoli di non negativit` sulle variabili cio` xj 0, j = 1, . . . , n. a e Introducendo la matrice (m n) a11 . A= . . am1 ... a1n . . .

. . . amn

e il vettore b = (b1 , . . . , bm )T la formulazione completa del problema pu` essere scritta nella o forma min cT x (3.9) Ax b x 0, x IRn . Nella pratica, potrebbe essere necessario introdurre ulteriori vincoli: possono essere presenti limitazioni superiori o inferiori sulle variabili cio` xj L, xj M , e j = 1, . . . , n; se ` richiesto anche che la miscela contenga una quantit` non superiore ad un valore di di e a ciascun componente Ci si dovr` aggiungere alla formulazione un altro vincolo di qualit`: a an

aij xj di ,j=1

i = 1, . . . , m;

in alcuni casi si richiede che una certa sostanza appartenga alla miscela solo se unaltra sostanza vi appartiene (o non vi appartiene). Questi vincoli sono detti disgiuntivi e la loro formalizzazione matematica sar` discussa nel Capitolo 12. a

35

3.3.2

Modelli di trasporto.

a Sono denite m localit` origini indicate con O1 , . . . , Om , e n localit` destinazioni indicate con a D1 , . . . , Dn . Ogni origine Oi , (i = 1, . . . , m) pu` fornire una certa disponibilit` ai 0 di merce o a che deve essere trasferita dalle origini alle destinazioni O1 a1 D1 b1 Om am . Dn bn .

Ad ogni destinazione Dj , (j = 1, . . . , n) ` richiesta una quantit` bj 0 di merce. e a

Supponiamo che il costo del trasporto di una unit` di merce da Oi a Dj sia pari a cij . Tali costi a nella realt` sono spesso collegati alle distanze tra origini e destinazioni. Si pu` cos` costruire la a o seguente tabella O1 . . . Oi . . . Om D1 c11 . . . ci1 . . . cm1 Dj c1j . . . cij . . . cmj Dn c1n . . . cin . . . cmn

Il problema consiste nel pianicare i trasporti in modo da soddisfare le richieste delle destinazioni minimizzando il costo del trasporto complessivo nella seguente ipotesi: la disponibilit` complessiva uguaglia la richiesta complessiva, cio` a em n

ai =i=1 j=1

bj ;

(3.10)

si escludono possibilit` di giacenze nelle origini, cio` tutta la merce prodotta in una origine a e deve essere trasportata in una delle destinazioni; si escludono possibilit` di giacenze nelle desa tinazioni, cio` la quantit` totale che arriva in una destinazione Dj deve uguagliare la richiesta e a bj . Formulazione. Si vuole dare una formulazione del problema in esame in termini di un problema di programmazione lineare supponendo quindi che siano vericate le ipotesi di linearit` e continuit`. a a Variabili. Per ogni coppia di origine e decisione xij rappresentanti la quantit` di a variabili D1 O1 x11 . . . . . . Oi . . . Om xi1 . . . xm1 destinazione Oi , Dj si introducono le variabili di merce da trasportare da Oi , a Dj . Si tratta di mn Dj x1j . . . xij . . . xmj Dn x1n . . . xin . . . xmn

36

Funzione obiettivo. La funzione obiettivo da minimizzare sar` data da costo totale del a trasporto e quindi dam n

z=i=1 j=1

cij xij .

Vincoli. Per le ipotesi fatte, si avranno due tipi di vincoli: vincoli di originen

xij = aij=1

i = 1, . . . , m;

(3.11)

impongono che tutta la merce prodotta in una origine sia trasportata alle destinazioni; si tratta di m vincoli; vincoli di destinazionem

xij = bji=1

j = 1, . . . , n;

(3.12)

impongono che la quantit` totale di merce che arriva in ciascuna delle destinazioni a uguaglia la richiesta; si tratta si n vincoli. Si devono inne considerare i vincoli di non negativit` delle variabili a xij 0 i = 1, . . . , n; j = 1, . . . , m.

Si ` cos` ottenuta una formulazione del problema dei trasporti con mn variabili e m+n+mn e vincoli: m n min cij xij i=1 j=1 n xij = ai i = 1, . . . , m (3.13) j=1 m xij = bj j = 1, . . . , n i=1 xij 0 i = 1, . . . , n; j = 1, . . . , m. ` E chiaro che per le ipotesi fatte dovr` risultare am n n m m n

Osservazione 1

xij =i=1 j=1 j=1 i=1

xij =i=1

ai =j=1

bj .

Anzi vale il seguente risultato

37

Teorema 3.3.1 Condizione necessaria e suciente anch il problema (3.13) ammetta soluzione, e cio` che esista una soluzione ammissibile, ` che risulti e em n

ai =i=1 j=1

bj .

(3.14)

Tale risultato chiarisce perch nella formulazione classica del problema dei trasporti si adotta e lipotesi (3.10) cio` che la disponibilit` complessiva uguagli la richiesta complessiva. e a Passiamo, ora, ad analizzare alcune varianti della formulazione classica del problema dei trasporti; pu` infatti accadere che non tutte le rotte di trasporto siano disponibili: se non ` o e possibile il trasporto da una certa origine Oi ad una destinazione Dj si pone, per convenzione, cij = . Oppure possono esistere rotte di trasporto Oi Dj in cui vi sono limitazioni sulle quantit` a massima di merci trasportabili uij . Questo produce dei vincoli del tipo xij uij . Inne, si pu` supporre che la disponibilit` complessiva possa essere superiore alla domanda o a cio` em n

ai i=1 j=1

bj .

(3.15)

In tal caso, possono essere ammesse giacenze nelle origini e/o nelle destinazioni; se si accetta di avere giacenze nelle origini, allora i vincoli di origine diventanon

xij aij=1

i = 1, . . . , m;

se si accetta di avere giacenze nelle destinazioni, allora i vincoli di destinazione diventanom

xij bji=1

j = 1, . . . , n.

Anche nel caso in cui valga la (3.15), il problema dei trasporti pu` essere posto nella sua o formulazione classica, cio` con soli vincoli di uguaglianza, introducendo una destinazione ttizia e che abbia una richiesta pari am n

ai i=1 j=1

bj

e ponendo uguale a zero il costo per raggiungere questa destinazione ttizia da qualsiasi origine.

Un problema di trasportoConsideriamo unindustria che produce un bene di consumo in due stabilimenti di produzione, situati rispettivamente a Pomezia e a Caserta. La produzione viene prima immagazzinata in due depositi, situati uno a Roma e laltro a Napoli. Quindi i prodotti vengono distribuiti alla rete di vendita al dettaglio. Per ogni unit` di prodotto, il costo del trasporto dallo stabilimento a al deposito ` dato dalla Tabella: e

38

Pomezia Caserta

Roma 1 3.5

Napoli 3 0.5

Costi di trasporto euro/unit` a La capacit` produttiva dei due stabilimenti ` limitata, per cui ogni settimana il bene in a e questione non pu` essere prodotto in pi` di 10000 unit` nello stabilimento di Pomezia e in pi` o u a u di 8000 unit` nello stabilimento di Caserta. Inoltre le statistiche di vendita informano che ogni a settimana vengono vendute mediamente 11000 unit` tramite il deposito di Roma e 4600 unit` a a tramite il deposito di Napoli. Lindustria vuole minimizzare il costo del trasporto della merce dagli stabilimenti ai depositi, assicurando che i depositi ricevano settimanalmente le quantit` a medie prima indicate. Le variabili di decisione sono le quantit` del bene di consumo trasportate settimanalmente, a che possiamo associare alle variabili x1 , x2 , x3 , x4 nel seguente modo: quantit` a quantit` a quantit` a quantit` a trasportata trasportata trasportata trasportata da da da da Pomezia a Roma Pomezia a Napoli Caserta a Roma Caserta a Napoli x1 x2 x3 x4

che corrisponde in forma di tabella a Pomezia Caserta Roma x1 x3 Napoli x2 x4

Variabili decisione La funzione obiettivo ` il costo sostenuto settimanalmente per il trasporto: e z(x1 , x2 , x3 , x4 ) = x1 + 3x2 + 3.5x3 + 0.5x4 . Osserviamo che i ai = 18000 e j bj = 15600, dunque siamo nellipotesi (3.15) e supponiamo di accettare giacenze nelle origini. Poich` i due stabilimenti hanno capacit` produttiva limitata deve essere e a x1 + x2 10000 x3 + x4 8000. Poich` si vuole garantire il rifornimento medio settimanale (senza giacenza), deve essere e x1 + x3 = 11000 x2 + x4 = 4600. Inne evidentemente deve risultare xi 0, i = 1, 2, 3, 4, e quindi il problema di programmazione lineare per lindustria dellesempio ` il seguente: e min z = x1 + 3x2 + 3.5x3 + 0.5x4 x1 + x2 10000 x3 + x4 8000 x1 + x3 = 11000 x2 + x4 = 4600 xi 0, i = 1, 2, 3, 4.

39

3.3.3

Un problema di Yield Management ferroviario

Una compagnia ferroviaria vende i biglietti per il treno che eettua il percorso dalla citt` A a (Roma) alla B (Bologna) eettuando una fermata intermedia F1 (Firenze).

x13 x12 x23

1

L1

2

L2

3

Figura 3.4: Un treno con percorso composto da due tratte L1 , L2 e tre Origini-Destinazione (1,2), (2,3), (1,3)Le tarie sono ssate a priori e dipendono solo dalla distanza tra le origini-destinazioni. In particolare i prezzi in Euro (1a classe) per per ciascuna possibile Origine-Destinazione (O-D) coperta dal treno sono riportati nella Tabella 3.3.3.

O-D Taria

A-F1 42,35

A-B 53,20

F1 -B 18,59

Tabella 3.1: Tarie per le tre possibili O-D coperte dal trenoIl numero di posti disponibili sul treno ` pari a 700. e Allinizio del periodo di prenotazione la domanda per ciascuna origine-destinazione (O-D) ` incerta, ma ` nota una previsione sulla domanda il cui valor (medio) ` riportato in Tabella e e e 3.3.3.

O-D

A-F1 420

A-B 355

F1 -B 335

Tabella 3.2: Domanda prevista per le tre possibili O-D coperte dal trenoIl problema consiste nel determinare quanti posti vendere su ciascuna Origine -Destinazione (O-D) coperta dal treno in modo da massimizzare il protto. Formulazione. Si vuole costruire un modello di Programmazione Lineare che rappresenti il problema in analisi tenendo presente i requisiti richiesti. Si assume che la domanda eettiva per ciascuna origineDestinazione sar` almeno pari al valor medio . a

40

` Variabili. E naturale associare la variabili di decisione alle quantit` di posti prenotabili su a ciascuna Origine-Destinazione possibile. In questo caso, sono le tre variabili x12 , x13 e x23 che rappresentano rispettivamente i posti prenotabili sulla tratta A-F1 , A-B, F1 -B. ` Funzione obiettivo. E rappresentata dal protto (atteso) relativo alla vendita e quindi ` data e da 42, 35x12 + 53, 20x13 + 18, 59x23 . Questa espressione naturalmente deve essere massimizzata. Vincoli. Osserviamo innanzitutto che, poich per ipotesi si avranno almeno domande per e ciascuna Origine-Destinazione, ` necessario imporre i vincoli e x12 420 x13 355 x23 335 in quanto non ` sensato prenotare pi` posti della domanda eettiva. e u Inoltre devono essere imposti i vincoli legato alla capacit` di posti del treno. In particolare, a nel tratto da A ad F1 sono presenti sia i viaggiatori che si recano da A ad F1 che quelli che vanno da A ad B. cos nel tratto dal F1 a B sono presenti sia i viaggiatori che vanno da A ad B che quelli che vanno da F1 a B. Avremo quindi 2 vincoli x12 + x13 700 x23 + x13 700 Inne si deve esplicitare il vincolo di non negativit` sulle variabili cio` x12 , x23 , x13 0. a e In principio le variabili rappresentano dei posti, e quindi si dovrebbero esplicitare anche i vincoli di interezza. Questi vincoli possono essere omessi come sar` chiarito in un prossimo capitolo. a Quindi la formulazione nale ` e max 42, 35x12 + 53, 20x13 + 18, 59x23 x12 + x13 700 x23 + x13 700 0 x12 420 0 x13 355 0 x23 335 (x12 , x23 , x13 intere)

3.3.4

Minimizzazione dello scarto massimo

Consideriamo i casi 2 e 3 deniti nel Esempio 2.4.5. Si vuole costruire un modello di Programmazione Lineare equivalente ai problemi 1. minimizzazione del massimo valore assoluto dellerrore min max |ei (x)|.1im

2. minimizzazione della somma dei valore assoluto dellerrorem

mini=1

|ei (x)|

41

utilizzando le trasformazioni nel paragrafo 3.2. Nel primo caso la funzione obiettivo ` e f (m, q) = max {|x1 ti + x0 y(ti )|} = max{|x0 |, |x1 + x0 1|, |2x1 + x0 4|, |3x1 + x0 9|}.i=0,1,2,3

Vincoli. Non ci sono vincoli espliciti, ma per poter ricondurre il problema dix1 ,x0

min max{|x0 |, |x1 + x0 1|, |2x1 + x0 4|, |3x1 + x0 9|}

ad un problema di Programmazione Lineare ` necessario introdurre una variabile aggiuntiva e z R ed i vincoli max{|x0 |, |x1 + x0 1|, |2x1 + x0 4|, |3x1 + x0 9|} z. Si ottiene il problema di PL: minx1 ,x0 ,z z z x0 z z x1 + x0 1 z z 2x1 + x0 4 z z 3x1 + x0 9 z z 0.

osserviamo che il vincolo x 0 ` implicato dagli altri vincoli e dunque puo essere eliminato. e Funzione obiettivo somma di moduli. Nel secondo caso la funzione obiettivo ` e f (m, q) =t=0,1,2,3

|x1 ti + x0 y(ti )| = |x0 | + |x1 + x0 1| + |2x1 + x0 4| + |3x1 + x0 9|.

Vincoli. Non ci sono vincoli espliciti, ma per poter ricondurre il problema di min (|x0 | + |x1 + x0 1| + |2x1 + x0 4| + |3x1 + x0 9|)x

ad un problema di Programmazione Lineare ` necessario introdurre le variabile aggiuntive zi e R, i = 1, . . . , 4 ed i vincoli |x0 | z1 |x1 + x0 1| z2 |2x1 + x0 4| z3 |3x1 + x0 9| z4 .

Si ottiene il problema di PL: min xR2 ,zR4 z1 + z2 + z3 + z4 z x z 1 0 1 z2 x1 + x0 1 z2 z 2x + x 4 z 3 1 0 3 z4 3x1 + x0 9 z4 . osserviamo che anche in questo caso il vincolo x 0 ` implicato dagli altri vincoli e dunque e puo essere eliminato.

42

Capitolo 4

Soluzione graca di problemi PM in 2 variabiliIn questo paragrafo si vuole fornire una interpretazione geometrica di un problema di Programmazione matematica. In particolare, quando un problema di Programmazione matematica ` e denito solamente in due variabili, si pu` rappresentare ecacemente il problema sul piano o cartesiano e si pu` determinare una sua soluzione in maniera elementare con semplici deduzioni o geometriche. Le situazioni che verranno presentate nel seguito vogliono rappresentare un punto di partenza intuitivo per la trattazione di problemi di Programmazione Lineare in n variabili; i risultati che verranno dedotti per via elementare nel caso bidimensionale trovano, infatti, una generalizzazione consistente nel caso di un generico problema di Programmazione Lineare.

4.1

Rappresentazione di vincoli nel piano cartesiano

In questo paragrafo si richiamano le rappresentazioni geometriche nel piano di alcune curve note in modo analitico.

4.1.1

Vincoli linearia1 x1 + a2 x2 = c (4.1)

Nel piano cartesiano Ox1 x2 lequazione lineare

rappresenta una retta che partiziona il piano in due semipiani. Ciascun semipiano ` carattere izzato da punti P (x1 , x2 ) che soddisfano la disequazione ax1 + bx2 c oppure la disequazione ax1 + bx2 c. Quindi ogni disequazione del tipo ax1 + bx2 c oppure ax1 + bx2 c

individua univocamente un semipiano. Si riporta, ora, un semplice risultato geometrico che verr` utilizzato nel seguito. a Lemma 4.1.1 Si considera una famiglia di rette parallele a1 x1 + a2 x2 = c (4.2)

43

con a1 , a2 IR ssati e con c IR. Il vettore a =

a1 individua una direzione ortogonale alle a2 rette della famiglia (4.2) ed ` orientato dalla parte in cui sono le rette della famiglia ottenute e per valori crescenti della c, cio` verso il semipiano in cui risulta a1 x1 + a2 x2 c. e

Dimostrazione. Sia x un vettore di componenti x1 e x2 . La famiglia di rette (4.2) pu` essere o scritta in forma vettoriale aT x = c. Siano ora x e z due punti appartenenti alla retta aT x = c. Risulta quindi aT z = c e aT x = c

e sottraendo membro a membro queste due uguaglianze si ottiene aT ( x) = 0. z Quindi il vettore a ` ortogonale al vettore z x che individua la direzione della famiglia di rette e cio` il vettore a rappresenta una direzione ortogonale alla famiglia di rette (4.2). e Si consideri ora un punto x = (x1 , x2 )T appartenente alla retta aT x = c e un punto y = (y1 , y2 )T tale che aT y c. Si vuole dimostrare che il punto y appartiene al semipiano individuato dalla retta aT x = c verso il quale ` orientato il vettore a. Infatti, per le ipotesi e fatte, si ha aT y c e aT x = c e sottraendo membro a membro queste due relazioni si ottiene aT ( x) 0 y e questo signica che langolo che il vettore y x forma con il vettore a deve essere acuto e quindi il vettore a deve essere orientato verso il semipiano ove si trova il punto y , cio` il e semipiano individuato dalla diseguaglianza aT x c. (Figura 4.1) Come esempio del risultato riportato dal lemma appena dimostrato, si consideri la disug3 uaglianza lineare 3x1 +x2 6. Il vettore a = individua una direzione ortogonale alla retta 1 3x1 + x2 = 6 ed ` orientato verso il semipiano individuato dalla disuguaglianza 3x1 + x2 6 e (Figura 4.2). Nella pratica, per determinare quale dei due semipiani ` individuato dalla disuguaglianza e lineare a1 x1 +a2 x2 c si pu` procedere semplicemente in questo modo: dopo aver rappresentato o la retta a1 x1 + a2 x2 = c per individuare qual ` il semipiano di i