Docente: Marco Gaviano (e-mail:gaviano@unica.it) Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. 2013-14, lez.1) 1
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Gli argomenti del corso rientrano nell ambito più generale della Ricerca Operativa. Questa ha lo scopo di fornire strumenti matematici di supporto alle attività decisionali in cui occorre gestire e coordinare attività e risorse al fine di effettuare le scelte migliori per raggiungere un determinato obiettivo. 2
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Storia La nascita della Ricerca Operativa è dovuta ad esigenze di tipo militare, durante la seconda guerra mondiale. Immediatamente prima e durante la seconda guerra furono creati alcuni gruppi di ricerca orientati alla soluzione di importanti problemi di ordine strategico e tattico collegati alla difesa nazionale. 3
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Tra questi importante fu il problema (tra il 1935 e il 1937 nel Regno Unito) di ottimizzare la distribuzione delle apparecchiature radar sul territorio e di inviare via radio la segnalazione ad opportune località. A.P. Rowe, sovrintendente della "Bawdsey Research Station", nel 1938, utilizzò per la prima volta l'espressione "Operational Research". 4
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Fasi per la risoluzione di un problema esame della situazione reale e raccolta delle informazioni; formulazione del problema (individuazione delle variabili e scelta della funzione obbiettivo da massimizzare o minimizzare); costruzione del modello matematico che rispecchi il più possibile il problema reale; soluzione e verifica del modello matematico; verifica delle soluzioni ottenute in rapporto al problema reale (si verifica se la funzione obbiettivo offre vantaggi e si verifica la rappresentatività del modello). 5
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 definizione del problema reale costruzione del modello verifica che la soluzione trovata risolve il problema reale analisi della soluzione trovata formulazione del problema matematico risoluzione del problema matematico Fasi della Ricerca Operativa 6
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Obiettivo del corso Dati un problema reale lo studente dovrà Individuare una possibile modellizzazione matematica conoscere i metodi per la soluzione del modello. scrivere ed implementare gli algoritmi conseguenti trovare le soluzioni numeriche valutare l affidabilità delle soluzioni 7
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Il modo di operare Descrizione di problemi reali Presentazione del modello matematico Presentazione di risultati teorici relativi al modello Studio di metodi numerici che possono risolvere il modello e loro implementazione. Scrittura degli algoritmi in un linguaggio di programmazione Presentazione del software commerciale 8
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Il corso consiste in lezioni teoriche integrate da attività di laboratorio in cui agli studenti sono assegnati dei problemi da risolvere o con programmi già disponibili o con codici da mettere a punto. Ad ogni studente è assegnato un progetto da valutare nella prova orale 9
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Programma del corso Programmazione Lineare Risultati teorici fondamentali. Il metodo del Simplesso. Dualità e sensibilità. Interpretazione economica della dualità. Complessità computazionale. Altri algoritmi di risoluzione. 10
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Programmazione NonLineare Risultati teorici fondamentali. Minimizzazione non vincolata. 11
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Testi di riferimento Hillier F.S., Lieberman G.J.:Introduction to Operations Research, McGraw Hill 2005 Ravindran A.,Phillips D.T.Solberg J.: Operations Research,John Wiley, 1987 12
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Testi di riferimento per il laboratorio W.J Palm III, Matlab 6, Mc Graw-Hill. W.H. Press et alii., Numerical Recipes, The art of Scientific Computing, Cambridge Press. 13
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 prove scritte 1 prova finale prova orale Modalità dell esame 1 prova finale per la verifica della conoscenza della parte teorica, dell attività di laboratorio e della valutazione del progetto assegnato. 14
Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.1 Informazioni utili Gli schemi delle lezioni e i problemi assegnati nel laboratorio saranno disponibili all indirizzo informatica.unica.it 15
Docente: Marco Gaviano (e-mail:gaviano@unica.it) Corso di Laurea in Infomatica Corso di Laurea in Matematica Matematica Computazionale(6cfu) Ottimizzazione(8cfu) (a.a. 2013-14, lez.2) 16
Esempi di problemi risolvibili mediante l ottimizzazione Scelta di una strategia di produzione Un azienda deve decidere la strategia per la produzione di un certo prodotto: si utilizzano operai e materiali vari. La quantità di materiale disponibile giornalmente è: 200 Kg. Ugualmente c è un vincolo per le ore di lavoro disponibili: 150 ore. Si possono utilizzare 3 linee di produzione ciascuna con caratteristiche diverse: 17
linea produzione A B C n.ore lavoro per unità prodotta 7 3 6 quantità materiale per unità prodotta 4 4 5 profitto 4 2 3 18
Problema Si vogliono determinare le quantità prodotte dalle linea di produzione A, B e C in modo da ottenere il massimo profitto Il problema può tradursi in linguaggio matematico nel modo seguente 19
M assimizzare sotto le condizioni 7 4 A A A 3 4 B B 0, 6 5 B z( C C A 0,, C B, 150 200 0 C ) 4 A 2 B 3 C (vincolo ore disponibili) (vincolo materiale disponibile) (vincoli non negatività) 20
Gestione di un bacino idroelettrico Si abbia un bacino d'acqua che rifornisce n centrali idroelettriche E i i=1,,n secondo il seguente schema Bacino d acqua c 1 c 2 c n E 1 E 2 E n 21
Le centrali devono produrre energia elettrica con la condizione che vengano rispettati i seguenti vincoli. Ogni condotta ha una portata massima c i per ora. La quantità di energia prodotta deve essere in un'ora maggiore o uguale a P k, k=1,..,24. In una giornata può essere consumata al più una quantità d'acqua Q. 22
Problema Si vogliono determinare le portate orarie i,k di ciascuna condotta in modo da soddisfare i vincoli. (si sa che ad un portata i,k corrisponde una potenza a i,k ). Il problema può tradursi in linguaggio matematico nel modo seguente 23
Modellizzazione matematica M inimizzare z() sotto le condizioni i,k i i,k a i,k i,k c Q P k i i,k i,k (vincoli sulla portata) (quantità d'acqua prelevata) (potenza erogata nell' ora k) 24
Scelta di una Campagna Pubblicitaria Una azienda di pubblicità deve pianificare una campagna di spot pubblicitari in televisione, alla radio e sui giornali. L azienda ha fissato una spesa totale non superiore a 800.000 Eu. Inoltre richiede che a) Almeno 2 milioni siano i potenziali utenti donne. b) La spesa per la televisione non superi 500.000Eu. c) Almeno 3 spot siano in televisione la mattina. d) Almeno 2 spot siano in televisione la sera. e) Il numero di spot su radio e giornali siano tra 5 e 10. 25
Si dispone della seguente tabella Costo per una unità pubblicitaria No.potenz. utenti per una unità pubbl. No.potenz. donne per una unità pubbl. Televisione Televisione Radio Giornali mattino sera 40.000 75.000 30.000 15.000 400.000 900.000 500.000 200.000 300.000 400.000 200.000 100.000 26
Problema Si vogliono determinare le unità pubblicitarie per ciascun media in modo da raggiungere il numero massimo di potenziali utenti Il problema può tradursi in linguaggio matematico nel modo seguente 27
Modellizzazione matematica Si denotino con 1, 2, 3 e 4 le unità pubblicitarie da calcolare per i vari media. Il numero di potenziali utenti è espresso dalla funzione obbiettivo z() 400 1 9002 5003 2004 Ciascun vincolo può tradursi in una disequazione. Il problema può descriversi come 28
29 Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.2 10, 5, 10, 5, 2, 3, telev.) costo (vincolo 500 75 40 donne) utenti (vincolo 200 10 20 40 30 totale) costo (vincolo 800 15 30 75 40 condizioni sotto le 200 500 900 400 z() M inimizzare 4 4 3 3 2 1 2 1 4 3 2 1 4 3 2 1 4 3 2 1
Miscellazione ottimale Una compagnia petrolifera produce due tipi di benzina normale e verde che vende alla sua catena di distribuzione per 12 e 14 euro al barile. Le due benzine provengono da petrolio nazionale ed importato. Esse devono soddisfare i requisiti della seguente tabella Pressione massima vapore numero minimo ottani domanda massima barile/sett consegne minime barile/sett Normale 23 88 100.000 50.000 Verde 23 93 20.000 5.000 30
Le caratteristiche delle scorte sono pressione vapore numero ottani scorte barili costo euro/barile nazionale 25 87 40.000 8 importato 15 98 60.000 15 31
Problema Quali quantità dei due petroli (nazionale ed importato) devono essere miscelati nelle due benzine per ottenere il massimo profitto settimanale? Il problema può tradursi in linguaggio matematico nel modo seguente 32
Si pone Matematica Computazionale, Ottimizzazione, a.a. 2013-14, Lezione, n.2 Modellizzazione matematica 1 barili di petrolio nazionale miscelato nella benzina normale 2 barili di petrolio estero miscelato nella benzina normale 3 barili di petrolio nazionale miscelato nella benzina verde 4 barili di petrolio estero miscelato nella benzina verde 1 + 2 è la quantità di benzina normale prodotta. Essa dà il ricavo 12( 1 + 2 ). La quantità di benzina verde venduta dà il ricavo 14( 3 + 4 ). 33
Si impiegherà la quantità 1 + 3 di petrolio nazionale al costo di 8( 1 + 3 ) e 2 + 4 di petrolio importato al costo 15( 2 + 4 ). Dunque si deve massimizzare (funzione obbiettivo) z = 12( 1 + 2 )+14( 2 + 4 )-8( 1 + 3 )-15( 2 + 4 ) = 4 1-3 2 +6 3-4 34
Si devono ora soddisfare i vincoli. Per la domanda si ha 1 + 2 100.000 (massima domanda di benzina normale) 3 + 4 20.000 (massima domanda di benzina verde) 1 + 2 50.000 (fabbisogno minimo di benzina normale) 3 + 4 5.000 (fabbisogno minimo di benzina verde). Per la disponibilità si ha 1 + 3 40.000 (nazionale) 2 + 4 60.000 (estero). 35
I componenti di una miscela contribuiscono a determinare il numero complessivo di ottani a seconda della propria percentuale di peso; lo stesso vale nel caso della pressione del vapore. Pertanto il numero di ottani della benzina normale è 87 1 1 2 98 ed il requisito richiesto che questo tipo di benzina abbia almeno 88 ottani è espresso da 1 2 2 1-10 2 0; 36
Analogamente si ottiene 6 3-5 4 < 0 (vincolo relativo agli ottani della verde) 2 1-8 2 < 0 (vincolo relativo alla pressione del vapore nella normale) 2 3-8 4 < 0 (vincolo relativo alla pressione del vapore nella verde) Considerando i vincoli di non negatività si ottiene il problema finale 37
M assimizzare z() sotto le condizioni 1 1 2 2 3 3 4 4 4 1-3 2 6 3-4 100.000 massima domanda normale 20.000 massima domanda verde 40.000 scorte nazionale 60.000 scorte estero 38
2 1 1 1, 1 2, 10 8 3, 2 2 2 4 6 2 3 0 3 3 5 8 4 4 4 0 0 0 0 50.000 5000 ottani normale ottani verde vapore normale vapore verde richiesta normale richiesta verde 39
Criteri di Modellizzazione Raccogliere il maggior numero di elementi che descrivono la situazione reale. Costruire un modello il più vicino possibile alla realtà. Condurre rigorosamente la fase di costruzione del modello. Non costruire un modello sofisticato quando uno semplice è sufficiente. Non dimenticare che un modello è un astrazione della realtà. 40