Programmazione Lineare (Linear Programming, LP)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Lineare (Linear Programming, LP)"

Transcript

1 Corso di Modelli e metodi di ottimizzazione (materiale integrativo) Alberto Bemporad Università di Siena Dipartimento di Ingegneria dell Informazione Programmazione Lineare (Linear Programming, LP) 2

2 Modellistica Formulare in termini matematici un problema reale Occorre definire: Quali sono le variabili da decidere Qual è la funzione obiettivo che ci interessa minimizzare o massimizzare Quali vincoli si hanno nella scelta Sono una componente fondamentale del modello. Dato il problema reale, occorre cercare di individuarli facendo riferimento a una casistica nota (e non solo) 3 Vincoli 1 - Upper & Lower Bounds 2 - Flusso 3 - Risorse 4 - Qualità 5 - Miscelazione 4

3 6 Vincoli di contabilità (accounting) ( Vincoli che non vincolano ) Sono vincoli che aggiungono informazioni sulla relazione esistente fra variabili del modello Esempi: In generale possono essere espressi come vincoli di uguaglianza: Sono usati per aumentare la leggibilità del modello 5 7 Bilanciamento I flussi in ingresso e in uscita devono bilanciarsi x 1 IN L IN x 1 OUT x 2 IN x 2 OUT x IN 3 x OUT 3 L OUT x IN 1, x IN 2, x IN 3, x OUT 1, x OUT 2, x OUT 3 = variabili È fondamentale per problemi con variabili dinamiche Esempio: cassa k+1 = cassa k + guadagno k -spese k 6

4 7 - Bilanciamento Esempio: Il numero di azioni di un certo tipo contenute nel portafoglio titoli ad un dato mese k è uguale al numero di azioni presenti nel mese precedente k-1, più il numero di azioni acquistate durante il mese k meno il numero di azioni vendute durante il mese k Scelta del Modo di Produzione Generalizzazione dei vincoli di miscelazione: M ingredienti (=inputs) danno N prodotti (=outputs). Le percentuali di miscelazione variano a seconda del modo di produzione. Modo 1 Modo 2 Modo 3 IN 1 34% 36% 44% IN 2 28% 25% 24% IN 3 38% 39% 32% OUT OUT Significato: n kg di miscela composta al 34% da IN1, 28% da IN2 e 38% da IN3 viene trasformata, in un ora di lavorazione e operando nel modo 1, in.28*n kg di OUT1 e.29*n kg di OUT2. 8

5 8 - Scelta del Modo di Produzione ore j = numero di ore impiegate nel j-esimo modo di produzione (=variabili di ottimizzazione), j=1,2,3 Sia f = kg di miscela di ingredienti processata ogni ora. f*ore j = kg di miscela processata nel j-esimo modo L utilizzo complessivo delle risorse IN1, IN2, IN3 sarà: La produzione di OUT1 e OUT2 sarà: Scelta del Modo di Produzione Tipicamente si ha un vincolo sulla durata complessiva dell operazione: 1

6 Inammissibilità INAMMISSIBILITÀ (INFEASIBILITY) Il problema non ammette una soluzione, vale a dire nessuna scelta delle variabili è in grado di soddisfare tutti i vincoli. I vincoli imposti sono troppo stringenti. R 2 Il risolutore non restituisce alcuna soluzione! Nota: La non ammissibilità non dipende dalla funzione obiettivo! Solo dai vincoli 11 Inammissibilità L inammissibilità del problema spesso è dovuta ad errori commessi in fase modellistica Se sappiamo a priori che il problema ammette soluzione perché conosciamo una scelta x ammissibile, dobbiamo capire dov è che il modello è errato. In particolare: Una direzione invertita in una diseguaglianza Dati del problema sbagliati Come individuare i vincoli errati? Se conosciamo una scelta x che sappiamo dovere essere ammissibile, possiamo vedere subito quali vincoli sono violati 12

7 Inammissibilità Se non sappiamo a priori se il problema ammette una soluzione, diventa molto più difficile individuare quali vincoli sono errati (ammesso che siano errati) Nota: chiedersi quale vincolo causa infeasibility? non ha molto senso. È la combinazione di vincoli che è infeasible! Esempio: Quale di questi quattro vincoli causa infeasibility? Tutti e nessuno... Occorre guardare al significato fisico di ogni vincolo Vincoli soft Ammettiamo che il modello sia corretto, ma che non ammetta soluzioni ammissibili. Dobbiamo quindi modificare il modello per ottenere una soluzione. Distinguiamo fra due tipi di vincoli: - Vincoli HARD : non possono essere assolutamente violati (es: capacità di un magazzino) - Vincoli SOFT : una loro violazione è tollerabile, anche se c è una penale da pagare (es: il fattore di rischio di un investimento è maggiore del dovuto) 14

8 9 Vincoli soft Esempio: Abbiamo a disposizione 2 kg di legno, ma se necessario possiamo comprarne quantità aggiuntive al prezzo di 2 /kg ammorbidimento del vincolo penalità 15 9 Vincoli soft La variabile legno add viene chiamata anche variabile di panico Il risolutore tenderà a porre le variabili di panico a zero Qualora ciò non sia possibile, fornirà comunque una soluzione al problema, rendendo positive alcune variabili di panico Se una certa variabile di panico è diversa da zero nella soluzione ottima, possiamo provare ad aumentare la penalità per capire se il vincolo corrispondente deve essere davvero violato per avere una soluzione 16

9 Problema del prestito La nostra ditta, all inizio della propria attività, pur disponendo di un capitale iniziale di 5 k, deve decidere l entità di un prestito da richiedere al Monte dei Paschi. Supponendo che l interesse sia del 4% annuo, l obiettivo è di minimizzare gli interessi restituiti alla banca. Si ha una stima dei pagamenti e degli introiti che la nostra ditta dovrà effettuare nei prossimi 12 anni. Spese (k ): [ ] Profitti (k ):[ ] 17 Modellistica decidere l entità del prestito variabile di ottimizzazione minimizzare gli interessi restituiti funzione obiettivo interesse annuale del 4% È una funzione lineare? 18

10 Si ha una stima dei pagamenti e degli introiti Modellistica vincoli di bilanciamento Osservazione: la cassa non deve mai diventare negativa! Lower bound: il capitale! Dobbiamo esprimere l evoluzione del capitale a disposizione della ditta sull arco temporale dei 12 anni 19 Scelta delle variabili prestito Entità del prestito rata i Rata pagata durante l anno i-esimo cassa i Capitale a disposizione nell anno i-esimo i = 1... N N=12, I%=4 2

11 Interessi Abbiamo supposto che gli interessi siano a tasso fisso sembra non lineare... In realtà, essendo I% e N parametri fissati, vale la relazione seguente, dove K èunacostante: È un vincolo lineare (di contabilità) 21 Funzione obiettivo Minimizzare gli interessi restituiti: 22

12 Vincoli di bilanciamento I flussi di cassa si devono bilanciare: 1) Alla fine del primo anno variabili dati del problema 2) negli anni successivi 23 Modello del problema min Interessi sogg. a 24

13 Modello MOSEL mutuo.mos model "Mutuo" uses "mmxprs" declarations N = 12! Arco temporale (anni) ANNI = 1..N SPESA: array(anni) of real! Spese PROFITTO: array(anni) of real! Profitti I: real! Interesse annuale del mutuo (%) INIZIALE: real! Capitale iniziale prestito: mpvar! Importo del mutuo richiesto rata: array(anni) of mpvar! Rata del mutuo cassa: array(anni) of mpvar! Capitale disponibile in cassa end-declarations initializations from 'mutuo.dat' SPESA PROFITTO I INIZIALE end-initializations 25 Dati del problema mutuo.dat SPESA: [ ] PROFITTO: [ ] I: 4 INIZIALE: 4 26

14 Definizione dei vincoli Modello MOSEL! Funzione obiettivo: interessi restituiti Interessi:= sum(i in ANNI) rata(i) - prestito! Relazione fra mutuo e rata forall (i in ANNI) do rata(i)=prestito*(i/1)/(1-((1+(i/1))^(-n))) end-do! Bilancio alla fine del primo anno cassa(1) = prestito + INIZIALE - SPESA(1) + PROFITTO(1)- rata(1)! Bilancio alla fine del generico anno k-esimo forall(i in ANNI i>1) do cassa(i) = cassa(i-1) - SPESA(i) + PROFITTO(i) - rata(i) end-do! Risolvi il problema: arricchire il meno possibile la banca minimize(interessi) 27 Risultati File MOSEL: mutuo.mos Xpress-IVE Importo del prestito: Capitale restituito: rata cassa Anno 1: Anno 2: Anno 3: Anno 4: Anno 5: Anno 6: Anno 7: Anno 8: Anno 9: Anno 1: Anno 11: Anno 12:

15 Infeasibility Il problema può diventare non ammissibile? SPESA: [ ] PROFITTO: [ ] I: 4 INIZIALE: 4 Problem infeasible!!! Interessi restituiti: Importo del prestito: Rata del mutuo: Anno 1: - Cassa: Anno 2: - Cassa: Anno 3: - Cassa: Anno 4: - Cassa: Anno 5: - Cassa: Anno 6: - Cassa: Anno 7: - Cassa: Anno 8: - Cassa: Anno 9: - Cassa: Anno 1: - Cassa: Anno 11: - Cassa: Anno 12: - Cassa: 29 Vincoli soft Rimuoviamo il vincolo che impone cassa i, supponendo di ricorrere se necessario a dei prestiti aggiuntivi. I prestiti sono molto costosi: per ogni euro preso a prestito, devono essere restituiti (1+F) euro. Vincoli soft: variabile di panico 3

16 Vincoli soft Il problema sarà sempre ammissibile, ma il costo si modifica: valore molto elevato 31 Modello con vincoli soft min Interessi sogg. a 32

17 Soluzione SPESA: [ ] PROFITTO: [ ] I: 4 F:1.5 INIZIALE: 4 File MOSEL: mutuo2.mos Xpress-IVE Importo del prestito: Capitale restituito: rata cassa emergenza Anno 1: Anno 2: Anno 3: Anno 4: Anno 5: Anno 6: Anno 7: Anno 8: Anno 9: Anno 1: Anno 11: Anno 12: Programmazione lineare mista-intera intera (MILP)

18 Modellistica MILP Oltre alle variabili reali continue, si hanno a disposizione nuovi tipi di variabili: intere binarie semicontinue SOS (special ordered sets)... Si possono modellare una gamma molto estesa di nuovi vincoli! In particolare: vincoli logici 35 Variabili intere Le variabili intere possono assumere valori soltanto nell insieme dei numeri naturali N = {,1,2,...} x N È un vincolo molto comune e del tutto naturale. Esempi: Numero di persone assegnate ad un progetto Numero di impianti di produzione impiegati Numero di lotti prodotti... 36

19 Variabili semicontinue Una variabile semicontinua o è nulla, oppure assume un valore maggiore di una certa quantità x min x min x l insieme dei valori possibili è discontinuo Permettono di esprimere delle situazioni reali molto frequenti. Esempi: Se vendo, devo vendere almeno una certa quantità Livelli di produzione minima per garantire un profitto 37 Altri tipi di variabile Esistono altri tipi di variabile non reale. Ad esempio: Special Ordered Sets SOS1 e SOS2 Riconoscerle è importante per facilitare la risoluzione del problema di ottimizzazione. Dal punto di vista della sola modellistica, possiamo focalizzare l attenzione soltanto sulle variabili continue e intere. 38

20 Il problema del ladro Un malvivente decide di derubare un supermercato. La capacità del bagagliaio del suo furgoncino è di 5 litri. Dato che dei prodotti disponibili si conosce il prezzo e la quantità sugli scaffali, quali prodotti conviene scegliere e in quale quantità per ricavare un bottino il più redditizio possibile? (applicazione: problemi di stoccaggio) 39 Modellistica...quali prodotti e in quale quantità... Variabili intere...bottino il più costoso possibile... Funzione obiettivo...bagagliaio di 5 litri... Vincoli di spazio...quantità disponibile... 4

21 Prodotti disponibili Prezzo per unità ( ) Vol. per unità (litri) pezzi disponibili TV DVD Lavatrice Detersivo Cioccolata Profumo Conf. Latte (12 pezzi) value i volume i quantity i 41 Modello del problema max Profit sogg.a 42

22 (file: ladro.mos) Modello MOSEL declarations ITEMS = 1..7 SMAX = 5!Data arrays VALUE: array(items) of real VOLUME: array(items) of real QMAX: array(items) of real!decision variables take: array(items) of mpvar end-declarations!objective function Profit:= sum(i in ITEMS) VALUE(i)*take(i)!Constraints sum(i in ITEMS) VOLUME(i)*take(i) <= SMAX forall (i in ITEMS) take(i) <= QMAX(i)!Decision variable type forall (i in ITEMS) take(i) is_integer!solver call maximize(profit) Il ladro ricava un bottino di portandosi via... TV: 1 (di 2) DVD: 3 (di 3) Lavatrice: 3 (di 3) Detersivo: (di 5) Cioccolata: 63 (di 8) Profumo: 1 (di 1) Latte: 3 (di 15) NEW Xpress-IVE 43 Risoluzione di problemi misti-interi interi È un problema facile da risolvere? Alcune variabili sono continue, altre binarie Proviamo ad enumerare tutte le possibili combinazioni di variabili intere e scegliamo quella migliore! Dobbiamo risolvere un LP per ogni combinazione 44

23 Esplosione combinatoria Enumerare tutte le alternative possibili spesso è impossibile Si ha la cosiddetta esplosione combinatoria delle possibili alternative 45 Esplosione combinatoria - Esempio Trovare il minimo percorso che copre 1 località Supponiamo di avere un super-computer in grado di analizzare un milione di alternative al secondo La risposta viene determinata in circa 3 secondi (1! 3.6*1 6 ) Adesso supponiamo di volere coprire 2 località Lo stesso computer impiegherebbe 77. anni per trovare la soluzione! (2! 2.4*1 18 ) 46

24 Risoluzione di problemi misti-interi interi L enumerazione non è una via percorribile: Se abbiamo m variabili binarie, dovremmo risolvere ben 2 m problemi LP! Esempio: supponiamo che in media riusciamo a risolvere un LP con 1 variabili in.3s e un LP con 2 variabili in.12s Un MILP con 1 variabili reali + 1 binarie richiederebbe 2 1 *.3s 3s 47 Algoritmi di Branch & Bound Esiste il modo di evitare di esplorare tutte le combinazioni possibili di variabili intere. Gli algoritmi di branch & bound, risolvendo una sequenza di problemi LP, evitano di enumerare tutte le possibili combinazioni, permettendo di poter risolvere problemi di ottimizzazione con variabili intere in maniera efficiente. Purtroppo non sono altrettanto efficienti dei risolutori di problemi lineari a variabili continue. 48

25 Algoritmo di Branch & Bound 1. Viene risolto un problema rilassato in cui tutte le variabili binarie δ sono considerate come continue, δ 1. La soluzione di tale problema fornisce una stima per difetto (lower bound) del valore ottimo della soluzione. Purtroppo, nella soluzione del problema rilassato può accadere che alcune delle variabili binarie δ abbiano valori frazionari. 2. Si dirama (branch) la ricerca spezzando il problema in due sottoproblemi: uno in cui una certa variabile binaria è posta =, l altro in cui è posta =1. 3. Ciascuno dei sottoproblemi viene rilassato a sua volta, e suddiviso ulteriormente se necessario scegliendo un altra variabile binaria per diramare la ricerca Vantaggio rispetto all enumerazione completa: spesso si riescono ad eliminare molte diramazioni usando il bound del valore ottimo trovato via via. 49 Problema del ladro: albero di ricerca 5

26 Traduzione di vincoli logici in disuguaglianze (miste-)intere lineari (Glover 1975, Williams 1977, Hooker 2) 51 Formule logiche: Approccio simbolico. Data una formula logica 1. Si converte in Conjunctive Normal Form (CNF): 2. Si trasforma in disuguaglianze: poliedro Any logic proposition can be translated into linear integer ineqs. 52

27 Formule logiche: Approccio simbolico Esempio: 1. Si converte in Conjunctive Normal Form (CNF): (ad esempio: oppure cerca [CNF + applet] su Google...) 2. Si trasforma in disuguaglianze 53 Formule logiche: approccio geometrico Formula booleana poliedro Il politopo è dato dall inviluppo convesso (convex hull) delle righe della tabella di verità T associata alla formula δ 2 δ 3 δ 1 Algoritmi di convex hull: cdd, lrs, qhull, chd, Hull, Porto 54

28 Formule logiche: approccio geometrico Esempio: AND logico δ 3 (1,1,1) δ 2 (,1,) Idea chiave: I punti bianchi non sono (,,) contenuti nell inviluppo convesso dei punti neri (1,,) δ 1 55 Confronti fra gli approcci Il politopo ottenuto con l inviluppo convesso è minimale Il politopo ottenuto tramite CNF potrebbe essere più grande. Ad esempio: convex hull Nota: l unico altro esempio con 3 vars è vertice spurio in (.5,.5,.5) CNF 56

29 Problema dello zaino Stiamo pianificando un trekking in montagna per il fine settimana. Intenderemmo portare una serie di oggetti, ma ci troviamo di fronte al dilemma di dovere scegliere quali effettivamente inserire nello zaino, in modo tale da non superare i 9 kg. oggetti disponibili 1)sacco a pelo 2)materassino 3)bussola 4)giacca 5)fornello 6)piatti 7)posate 8)vivande 9)ricambi 1)sapone 11)asciugamano 12)pane 13)accendino 57 Problema dello zaino Assegniamo a ciascuno degli oggetti un certo valore. L obiettivo è massimizzare il valore totale, senza eccedere però un peso complessivo massimo. Quali oggetti dobbiamo portare? Decisione binaria Vincoli sulle risorse funzione obiettivo! Articolo: VALORE:= [11, 9, 12, 8, 8, 6, 2, 6, 1, 4, 3, 5, 6] PESO:= [ 4, 2,.2, 2,1.5,.5,.2,3.5,.3,.2,.8, 1,.1] 58

30 Modello massimizza Valore tot sogg. a Niente di nuovo rispetto al problema del ladro (file: zaino.mos) Risultato Soluzione: Valore ottimo: 118 Peso dello zaino: 8.5 prendi(sacco a pelo): 1 prendi(materassino): prendi(bussola): 1 prendi(giacca): 1 prendi(fornello): prendi(piatti): 1 prendi(posate): 1 prendi(vivande): prendi(ricambi): 1 prendi(sapone): 1 prendi(asciugamano): prendi(pane): 1 prendi(accendino): 1? Occorre aggiungere dei vincoli logici!? Xpress-IVE 6

31 Vincoli logici Aggiungiamo dei vincoli logici: se non prendo le vivande, non devo prendere neanche i piatti se non prendo le vivande, non devo prendere neanche le posate se non prendo le vivande, non devo prendere neanche il fornello prendi("piatti") <= prendi("vivande") prendi("posate") <= prendi("vivande") prendi("fornello") <= prendi("vivande") 61 Vincoli logici se prendo il fornello devo prendere anche l accendino se non prendo il sapone non prendo i ricambi prendi("accendino") >= prendi("fornello") prendi("ricambi") <= prendi("sapone") 62

32 (file: zaino2.mos) Risultato Soluzione: Valore ottimo: 112 Peso dello zaino: 8.6 prendi(sacco a pelo): 1 prendi(materassino): prendi(bussola): 1 prendi(giacca): 1 prendi(fornello): prendi(piatti): prendi(posate): prendi(vivande): prendi(ricambi): 1 prendi(sapone): 1 prendi(asciugamano): 1 prendi(pane): 1 prendi(accendino): 1 Xpress-IVE 63 Ulteriori modifiche al modello Aggiungiamo un altro vincolo logico: se prendo sacco e materassino aumento di +1 il valore Definiamo una nuova variabile binaria: dormibene = prendi("sacco a pelo") AND prendi("materassino") A = B AND C dormibene <= prendi("sacco a pelo") dormibene <= prendi("materassino") dormibene >= prendi("sacco a pelo") + prendi("materassino") - 1 a b a c a b+c-1 ValoreTot ValoreTot + 1*dormibene 64

33 Ulteriori modifiche al modello Aggiungiamo un altro vincolo logico: se non prendo cibo diminuisco -1 il valore Definiamo una nuova variabile binaria: cibo = prendi("vivande") OR prendi("pane") A = B OR C cibo >= prendi("vivande") cibo >= prendi("pane") cibo <= prendi("vivande") + prendi("pane") a b a c a b+c ValoreTot ValoreTot - 1*(1-cibo) 65 (file: zaino3.mos) Risultato Soluzione: Valore ottimo: 112 Peso dello zaino: 8.6 prendi(sacco a pelo): 1 prendi(materassino): 1 prendi(bussola): 1 prendi(giacca): prendi(fornello): prendi(piatti): prendi(posate): prendi(vivande): prendi(ricambi): 1 prendi(sapone): 1 prendi(asciugamano): 1 prendi(pane): 1 prendi(accendino): 1 Xpress-IVE 66

34 Problemi di trasporto (ground transport problems) Problemi di Trasporto Sono esempi classici in cui l ottimizzazione fornisce soluzioni utili e in maniera molto efficiente Tipicamente l obiettivo è minimizzare il costo dovuto al trasporto di merci su gomma o rotaia, pianificando in maniera ottima (1) le locazioni per i depositi e le fabbriche e (2) gli itinerari da seguire. 68

35 Esempio: Autonoleggio Una compagnia di autonoleggio ha una flotta di 146 veicoli distribuiti su 17 agenzie. Dopo alcuni mesi di movimenti di auto da un agenzia all altra, si vuole determinare come ridistribuire i veicoli in modo che ve ne siano un certo numero per agenzia, minimizzando i costi complessivi, assumendo un costo di.5 per km, 69 Distanze fra città AN AO BA BO CB FI GE AQ MI NA PG PZ RC RM TO UD VE Ancona Aosta Bari Bologna Campobasso Firenze Genova L'Aquila Milano Napoli Perugia Potenza Reggio Calabria Roma Torino Udine Venezia

36 Agenzie di autonoleggio Auto disponibili: AN AO BA BO CB FI GE AQ MI NA PG PZ RC RM TO UD VE Auto richieste: AN AO BA BO CB FI GE AQ MI NA PG PZ RC RM TO UD VE Vincoli da soddisfare: Modello matematico... ve ne siano un certo numero per agenzia... Variabili di ottimizzazione...determinare come ridistribuire i veicoli... Funzione obiettivo:... minimizzando i costi complessivi... 72

37 Modello matematico Variabili di ottimizzazione CIT = {1,2,...,17} move ij = quante auto spostare dalla città #i alla città #j Vincolo di interezza: 73 Vincolo di bilanciamento 74

38 Variabili di contabilità Nota che abbiamo una variabile di contabilità: Per come abbiamo definito il problema, le variabili stock i non hanno necessità di essere definite come intere! Il vincolo di contabilità impone già automaticamente la natura intera di stock i 75 Funzione obiettivo Il costo totale per il trasporto dei veicoli da un agenzia all altra: 76

39 Formulazione del problema min sogg. a 77 Modello MOSEL declarations CIT = DIST : array(cit,cit) of integer AVAIL : array(cit) of integer NEED : array(cit) of integer move : array(cit,cit) of mpvar stock : array(cit) of mpvar end-declarations initializations from 'ground.dat' DIST AVAIL NEED end-initializations Cost := sum(i,j in CIT).5*move(i,j)*DIST(i,j) forall (i in CIT) stock(i) = AVAIL(i) + sum(j in CIT) move(j,i) - sum(j in CIT) move(i,j) forall (i in CIT) stock(i) >= NEED(i) forall (i,j in CIT) move(i,j) is_integer minimize(cost) end-model Solo queste sono dichiarate come variabili intere 78

40 Soluzione Il costo totale e' euro Mosse ottime: Dopo gli spostamenti: in stock / richieste 1/1, 9/6, 8/8, 11/11, 9/9, 7/7, 15/15, 7/7, 1/9, 12/12, 3/3, 3/1, 3/2, 16/16, 15/15, 4/4, 4/4 79 Problemi di trasporto I problemi di trasporto godono di una proprietà molto interessante: Il metodo del simplesso per risolvere un LP a variabili continue trova sempre una soluzione intera Questo vuol dire che i problemi di trasporto, sebbene siano definiti come problemi MILP (=problemi difficili), possono essere risolti come LP (=problemi facili). 8

41 MOSEL declarations CIT = DIST : array(cit,cit) of integer AVAIL : array(cit) of integer NEED : array(cit) of integer move : array(cit,cit) of mpvar stock : array(cit) of mpvar end-declarations initializations from 'ground.dat' DIST AVAIL NEED end-initializations Cost := sum(i,j in CIT).5*move(i,j)*DIST(i,j) forall (i in CIT) stock(i) = AVAIL(i) + sum(j in CIT) move(j,i) - sum(j in CIT) move(i,j) forall (i in CIT) stock(i) >= NEED(i) forall (i,j in CIT) move(i,j) is_integer minimize(cost) end-model È stato eliminato il vincolo di interezza 81 Risultato MILP Soluzione Il costo totale e' euro Mosse ottime: 4 Il costo totale e' euro 3 Mosse ottime: i risultati sono identici Risultato LP 82

42 Linearizzazione di funzioni obiettivo Funzioni obiettivo razionali Abbiamo già visto vincoli sulla qualità e di miscelazione, che sono vincoli sul rapporto di variabili Esempio: vincolo sulla qualità Supponendo, è possibile riscrivere il vincolo come vincolo lineare: Vediamo adesso come trattare rapporti di variabili nella funzione obiettivo 84

43 Esempio: Funzioni obiettivo razionali La ditta Metalli S.p.A. ha ricevuto un ordine di 5 tonnellate di acciaio da usare per la costruzione di una nave. L acciaio deve avere determinate caratteristiche di composizione. La ditta dispone di sette tipi diversi di materiale grezzo da utilizzare per la produzione di questo acciaio. L obiettivo è determinare la composizione che minimizza la percentuale di zolfo, soddisfacendo i vincoli sulle caratteristiche di composizione. 85 Dati a disposizione Mat. grezzo C% Cu% Mn% Tons S% Iron Iron Iron Copper Copper Aluminium Aluminium Composizioni %, quantità disponibili, % di zolfo 86

44 Funzione obiettivo razionale funzione non lineare delle variabili! sogg. a: rappresentano i vincoli originali del problema 87 Cambio di variabili 1) abbiamo aggiunto una nuova variabile: d 2) abbiamo abbandonato le vecchie variabili use j per sostituirle con le nuove variabili x j 88

45 Cambio di variabili Considerando la variabile d come libera, otteniamo un vincolo lineare sulle variabili x j : nuovo vincolo lineare da aggiungere al problema Moltiplicando i vincoli originali a destra e a sinistra per la quantità d (d>), otteniamo dei vincoli equivalenti in x,d: 89 Funzione obiettivo: Cambio di variabili Tutti i vincoli (=quelli originali + il nuovo vincolo) possono essere espressi come un insieme di disuguaglianze lineari sulle variabili x j, d. Programma Lineare 9

46 Costi variabili 1 (economies( of scale) Considera il seguente esempio: i prezzi del legno sono fissati come segue: -1 kg.99 /kg 1-2 kg.95 /kg 2-4 kg.9 /kg +4 kg.8 /kg scala dei prezzi Nota: non vengono effettuati sconti in blocco! I primi 1 kg sono sempre pagati 99, indipendentemente dal fatto che se ne comprino quantità maggiori Come esprimere la funzione di costo? 91 Costi variabili 1 Occorre introdurre delle variabili continue x 1, x 2, x 3, x 4 e binarie b 1, b 2, b 3, b 4 Costo b 1 = b 4 = b 4 = 1 b 3 = b 3 = 1 b 2 = b 2 = 1 C C 4 b 1 = 1 3 C 2 C 1 x = x 1 +x 2 +x 3 +x 4 x i = quantità acquistata al prezzo C i x 92

47 Costi variabili 1 93 Esempio: Costi variabili 1 [1] [11] [111] [1111] x 1 =1, x 2 =1, x 3 minore di 2 94

48 Costi variabili 2 Considera il seguente esempio: i prezzi del legno sono fissati come segue: -1 kg.99 /kg 1-2 kg.95 /kg 2-4 kg.9 /kg +4 kg.8 /kg scala dei prezzi Nota: vengono effettuati sconti in blocco! Maggiore è la quantità acquistata, minore è il costo per kg Come esprimere la funzione di costo? 95 Costi variabili 2 Costo b 1 = b 4 = b 4 = 1 b 3 = b 3 = 1 b 2 = b 2 = 1 b 1 = 1 C 3 C 4 C 1 C 2 x = x 1 +x 2 +x 3 +x 4 x i = quantità acquistata al prezzo C i x 96

49 Costi variabili 2 Definiamo le variabili b e x esattamente come prima: e riscriviamo il costo come: 97 Costi variabili 2 Il vincolo b 1 b 2 b 3 b 4 impone che le uniche combinazioni possibili siano [1],[11],[111],[1111] uno soltanto dei quattro termini sarà non nullo OK, ma il costo non è lineare! Abbiamo il prodotto fra variabili continue e binarie 98

50 Prodotto variabili continue-binarie Tecnica del big-m : può essere modellato come x z b {,1} sotto l ipotesi che M sia scelto sufficientemente grande, in modo che sia sempre x M 99 Prodotto variabili continue-binarie b= b=1 x z b {,1} z= z=x 1

51 Vincoli di cardinalità (counting) È un vincolo (molto ricorrente) che limita il numero di scelte discrete che possiamo decidere. Associamo ad ogni opzione i, i=1,2,...,n, una variabile binaria b i, b i {,1} Possiamo scegliere al più M opzioni Dobbiamo scegliere esattamente M opzioni Dobbiamo scegliere almeno M opzioni 11 Problema del prestito È un vincolo molto ricorrente. Facciamo un esempio: Vogliamo aprire tre punti vendita, uno a Roma, uno a Parigi e uno a Madrid. Per realizzare il progetto abbiamo bisogno rispettivamente di 2 M, 2.5 M e 1.8 M. Dobbiamo scegliere a quali banche rivolgersi per un prestito. In base a calcoli sui fattori di rischio, ogni banca ha interessi diversi a seconda del paese nel quale il progetto verrà realizzato. Siamo però costretti a scegliere al più due banche per i prestiti. Ad una singola banca non possiamo chiedere più di 3.5 M. Vincolo di cardinalità 12

52 Problema del prestito Interessi applicati dalle banche e capitali necessari Roma Parigi Madrid Monte dei Paschi 5% 6.1% 6% Cassa di Risparmio di Firenze 6.3% 4.3% 5.6% Abbey National Bank 3% 5% 6% Capitale: 2 M 2.5 M 1.8 M 13 Problema del prestito soggetto a: Vincolo di cardinalità 14

53 Problema del prestito - Risultato Interessi complessivi: Roma: banca 3=2 MEUR; Londra: banca 2=2.5 MEUR; Madrid: banca 2=1 MEUR; banca 3=.8 MEUR; (file: prestiti.mos) Xpress-IVE 15 Vincoli di or logico Anche questi sono vincoli molto ricorrenti. Hanno bisogno di variabili binarie per essere modellati. Esempio: Siamo interessati ad investire del denaro per scopi pubblicitari, al fine di ottenere un buon impatto commerciale in TV o in radio... Basta che sia soddisfatto almeno uno dei due vincoli 16

54 Vincoli di or logico Impatto minimo = 1.5 TV Radio Costo Mediaset RAI Radio Capital..5 5 MTV Vincoli di or logico Vincoli sulle variabili buy(i): 18

55 Vincoli di or logico Se almeno uno dei due vincoli è soddisfatto, allora esiste un valore della variabile binaria b ammissibile. Viceversa, se entrambe i vincoli non possono essere soddisfatti, non esistono valori ammissibili per b. buy(2) Regione ammissibile (non convessa) buy(1) 19 Problemi di assegnamento

56 Gestione del personale Pianificazione dei turni di lavoro (timetabling( and personnel planning) La gestione del personale può essere vista come un problema di distribuzione di risorse. I dati a disposizione tipicamente sono: tassi di produttività ore lavorative vincoli sul personale... Le tecniche di ottimizzazione risultano molto utili per risolvere tali problemi, anche se occorre fare attenzione: gli uomini non sono risorse, quindi non dobbiamo sottovalutare eventuali risvolti psicologici 111 Assegnamento operatori/macchine In un officina esistono sei macchine, a ciascuna delle quali occorre assegnare un operatore. Sono stati prescelti sei operai, per ognuno dei quali è stato effettuato un test di produttività su ciascuna macchina. Le macchine lavorano in parallelo, quindi la produttività complessiva è la somma delle produttività di ciascuna macchina. L obiettivo è assegnare il personale in modo da massimizzare la produttività 112

57 Assegnamento operatori/macchine diversi operai per diverse macchine 113 Dati di produttività Macchina Operaio Pezzi prodotti all ora Unità? Problema dei dati 114

58 Soluzione euristica Molti problemi di ottimizzazione ammettono soluzioni di tipo euristico in grado di soddisfare i vincoli imposti. Soluzione euristica: Iniziando dalla macchina numero 1, assegna a ogni macchina l operaio che ha il tasso di produttività più alto La soluzione euristica è un algoritmo molto semplice che può essere implementato anche a mano NOTA: la soluzione dipende dall ordine scelto per le macchine. Inoltre, molto probabilmente, la soluzione non sarà ottimale. 115 Soluzione euristica in MOSEL declarations ALLP, ALLM: set of integer! Copia degli insiemi OPERAI e MACCHINE HProd: integer! Valore totale di produttivita' pmax,omax,mmax: integer end-declarations! Copia gli insiemi di operai e macchine forall(p in OPERAI) ALLP+={p} forall(m in MACCHINE) ALLM+={m}! Assegna operai alle macchine finche' esistono macchine non assegnate while (ALLP<>{}) do pmax:=; mmax:=; omax:=! Trova la produttivita' piu' elevata fra quelle rimaste forall(p in ALLP, m in ALLM) if PRODUT(p,m) > omax then omax:=produt(p,m) pmax:=p; mmax:=m end-if NON CI SONO VARIABILI DI OTTIMIZZAZIONE HProd+=omax ALLP-={pmax}; ALLM-={mmax}! Lo aggiunge alla produttivita' totale! Rimuove la macchina e l'operai dai rispettivi insiemi writeln(" ",pmax, " e' assegnato alla macchina ", mmax, " (", omax, ")") end-do writeln(" Produttivita' totale: ", HProd) Nota: La soluzione euristica può essere implementata in qualsiasi linguaggio di programmazione, ad esempio in MATLAB 116

59 Soluzione ottima Utilizziamo un modello matematico per risolvere il problema di assegnamento in maniera ottimale 117 Modello matematico... sei macchine, a ciascuna delle quali occorre assegnare un operatore... Variabili di ottimizzazione... Sono stati prescelti sei operai... Vincoli... per ognuno dei quali è stato effettuato un test di produttività... Dati del problema... massimizzare la produttività... Funzione obiettivo 118

60 Modello matematico Prima di tutto dobbiamo scegliere le variabili di ottimizzazione:...sei macchine, a ciascuna delle quali occorre assegnare un operatore......sono stati prescelti sei operai... Reali? Difficile rappresentare poi il vincolo di assegnare soltanto UN operatore per macchina Intere? Binarie? 119 Modello matematico Vincolo:... ogni macchina ha un solo operaio ogni operaio ha assegnata una sola macchina... vincolo logico di or esclusivo 12

61 Modello matematico... ogni macchina ha un solo operaio... Variabili binarie (,1) Almeno una variabile deve essere posta = 1 Soltanto una variabile può essere posta = 1 Idem per il vincolo...ogni operaio ha assegnata una sola macchina Funzione obiettivo Lavorazione in parallelo... PROFITTO PROFITTO PROFITTO PROFITTO PROFITTO PROFITTO 122

62 Problema di ottimizzazione sogg. a È un problema di assegnamento (assignment problem) 123 Formulazione MOSEL declarations OPERAI = 1..6! Personale MACCHINE = 1..6! Macchine PRODUT: array(operai,macchine) of integer! Produttivita' assegna: array(operai,macchine) of mpvar end-declarations! 1 se l'operaio e' assegnato! alla macchina, altrimenti! Obiettivo: produttivita' totale TotalProd:= sum(p in OPERAI, m in MACCHINE) PRODUT(p,m)*assegna(p,m)! Una macchina per operaio forall(p in OPERAI) sum(m in MACCHINE) assegna(p,m) = 1! Un operaio per macchina forall(m in MACCHINE) sum(p in OPERAI) assegna(p,m) = 1 forall(p in OPERAI, m in MACCHINE) assegna(p,m) is_binary! Risoluzione del problema maximize(totalprod) 124

63 Soluzione Soluzione euristica (macchine parallele): 6 e' assegnato alla macchina 5 (45) 5 e' assegnato alla macchina 3 (34) 3 e' assegnato alla macchina 6 (33) 4 e' assegnato alla macchina 2 (26) 1 e' assegnato alla macchina 4 (19) 2 e' assegnato alla macchina 1 (18) Produttivita' totale: 175 Soluzione esatta (macchine parallele): 1 e' assegnato alla macchina 3 (31) 2 e' assegnato alla macchina 5 (43) 3 e' assegnato alla macchina 4 (25) 4 e' assegnato alla macchina 6 (3) 5 e' assegnato alla macchina 1 (28) 6 e' assegnato alla macchina 2 (36) Produttivita' totale: 193 La soluzione ottima è migliore di quella euristica (e non può che essere cosí!) 125 Problemi di assegnazione È uno strumento molto utile per risolvere problemi del tipo: Orari dei corsi Orari degli esami Schedulazione dei turni di lavoro... Esistono molti esempi di applicazione in vari settori (vedi ad esempio nel testo Applications of optimization with Xpress-MP ) Nota: quando non si hanno funzioni obiettivo da ottimizzare ma basta solo trovare una soluzione ammissibile, esistono anche altre tecniche modellistiche e risolutive (es: Constraint Logic Programming) 126

64 Assegnazione operatori/macchine In un officina esistono sei macchine, a ciascuna delle quali occorre assegnare un operatore. Sono stati prescelti sei operai, per ognuno dei quali è stato effettuato un test di produttività su ciascuna macchina. Le macchine lavorano in serie, quindi la produttività complessiva è quella della macchina con minor tasso di produttività. L obiettivo è assegnare il personale in modo da massimizzare la produttività complessiva 127 Produzione in serie Macchine in serie PROFITTO catena di produzione 128

65 Modello matematico... sei macchine, a ciascuna delle quali occorre assegnare un operatore Sono stati prescelti sei operai per ognuno dei quali è stato effettuato un test di produttività... NESSUNA MODIFICA Variabili di ottimizzazione Vincoli Dati del problema 129 Funzione obiettivo 1 pezzi/ora P1 P2 P3 P4 P5 P6 P 5 pezzi/ora Qui i pezzi sono in attesa 5 pezzi/ora Qui le macchine sono in attesa Situazione di Bottleneck massimizzare la produttività complessiva = massimizzare la minima produttività È un problema di MaxMin 13

66 Funzione obiettivo MaxMin Per ogni macchina, la sua produttività deve essere maggiore della produttività complessiva della fabbrica È del tutto simile al caso MinMax: si massimizza una variabile (Prod) che rappresenta un lower bound della produttività di ciascuna macchina (e quindi è minore o uguale al minimo). All ottimo, tale variabile sarà esattamente la produttività minima (si dimostra per assurdo) 131 Modello matematico max Prod sogg. a COME PRIMA 132

67 Formulazione MOSEL declarations OPERAI = 1..6! Personale MACCHINE = 1..6! Macchine PRODUT: array(operai,macchine) of integer! Produttivita' assegna: array(operai,macchine) of mpvar MinProd: mpvar end-declarations! 1 se l'operaio e' assegnato! alla macchina, altrimenti! Produttivita' complessiva! Produttivita' minima forall(m in MACCHINE) sum(p in OPERAI) PRODUT(p,m)*assegna(p,m) >= MinProd! Una macchina per operaio forall(p in OPERAI) sum(m in MACCHINE) assegna(p,m) = 1! Un operaio per macchina forall(m in MACCHINE) sum(p in OPERAI) assegna(p,m) = 1 forall(p in OPERAI, m in MACCHINE) assegna(p,m) is_binary! Obiettivo: produttivita' totale maximize(minprod) 133 Soluzione Soluzione esatta (macchine serie): 1 e' assegnato alla macchina 6 (29) 2 e' assegnato alla macchina 3 (3) 3 e' assegnato alla macchina 5 (34) 4 e' assegnato alla macchina 2 (26) 5 e' assegnato alla macchina 1 (28) 6 e' assegnato alla macchina 4 (27) Produttivita' totale:

68 Esercizio Risolvere il problema utilizzando MOSEL (file: calcolo_enigmatico-assegnamento.mos) Programmazione Quadratica

69 Programmazione lineare minimizza o massimizza funzione obiettivo soggetto a 137 Programmazione quadratica minimize or maximize funzione obiettivo soggetto a STESSI VINCOLI DELL LP 138

70 Funzione obiettivo Si hanno dei termini quadratici: Solitamente, per programmazione quadratica (QP) si intende quella convessa, ovvero quella per cui per ogni [x 1... x n ] [... ] 139 Programmazione quadratica Insieme ammissibile 14

71 Programmazione quadratica Anche la programmazione quadratica è molto diffusa nelle applicazioni e vari risolutori QP sono disponibili in molti pacchetti software per l ottimizzazione Xpress-MP, Cplex, Matlab, OOQP, LOQO, NAG,... H.D. Mittelmann and P. Spellucci, Decision Tree for Optimization Software, World Wide Web, Applicazioni: Economia (es: selezione di portafoglio titoli) Ingegneria (es: automazione di processo) Matlab Optimization Toolbox QP Esistono risolutori QP molto più efficienti! 142

72 Scelta portafoglio titoli (Mean Variance Portfolio Selection) Decidiamo di investire una certa somma di denaro in titoli di quattro tipi diversi: buoni del tesoro, una fabbrica di calcolatori, una software company, e una produzione cinematografica ad alto rischio. Definiamo adesso la funzione obiettivo Scelta portafoglio titoli I vantaggi di questi investimenti non sono indipendenti, per esempio hardware e software sono direttamente correlati, mentre cinema e software sono inversamente correlati (quando gli acquirenti vanno molto al cinema comprano meno videogiochi). Vogliamo investire la nostra somma in maniera tale da massimizzare il profitto atteso minimizzando però la varianza del profitto stesso (e quindi il rischio). Espressione quadratica

73 Dati del problema di portfolio Hardware Software Cinema BOT Valore atteso Hardware Software Cinema BOT Termini di covarianza 145 Funzione obiettivo = quota di denaro da investire nell i-esimo titolo 146

74 Modello matematico Vincoli: Vogliamo avere almeno un certo profitto minimo Vogliamo investire tutta la somma Vincoli di non negatività 147 Modello matematico min sogg. a 148

75 uses "mmxprs","mmquad" declarations RETMIN = 9 SECS = 1..4 RET: array(secs) of real MOSEL VAR: array(secs,secs) of real frac: array(secs) of mpvar end-declarations initializations from 'meanvar.dat' RET VAR end-initializations Variance:= sum(i,j in SECS) VAR(i,j)*frac(j)*frac(i) sum(i in SECS) frac(i) = 1 sum(i in SECS) frac(i)*ret(i) >= RETMIN minimize(variance) end-model meanvar.mos Usiamo un nuovo tipo di risolutore La varianza del portafoglio e' Il portafoglio ottimo e' costituito da: % di titoli di tipo % di titoli di tipo % di titoli di tipo % di titoli di tipo Ottimizzazione dinamica e controllo a orizzonte recessivo 15

76 Problema di controllo ottimo Dato il modello dinamico r(t) outputs y(t) manipulated inputs u(t) 1 tempo determinare la sequenza di variabili u manipolate che ottimizza Può essere riscritto come problema di ottimizzazione Problemi: complessità elevata se T è grande; soluzione open-loop 151 Al tempo t: Filosofia Receding Horizon Si risolve un problema di controllo ottimo su un orizzonte futuro di p passi: minimizza soggetto ai vincoli t t+1 r(t) Predicted outputs Manipulated Inputs u(t+k) t+p t+1 t+2 t+p+1 Si applica soltanto la prima della sequenza ottima di mosse: Ottenute nuove misure, si ripete l ottimizzazione al tempo t+1 Vantaggio dell ottimizzazione in linea: FEEDBACK! 152

77 Receding Horizon - Esempi MPC is like playing chess! MPC and investing money 153 MPC nell industria History: 1979 Dynamic Matrix Control (DMC) by Shell (Motivation: multivariable, constrained) Particularly suited for problems with many inputs and outputs constraints on inputs, outputs, states varying objectives and limits on variables (e.g. because of faults) 154

78 Controllo ottimo LQ non vincolato Modello lineare: Obiettivo: trova la sequenza che minimizza è la sequenza di ingressi che porta lo stato verso l origine x= in maniera ottima Controllo ottimo LQ non vincolato Il problema di controllo ottimo LQ può essere riscritto come L ottimo viene ottenuto azzerando il gradiente: (questo metodo è conosciuto anche come batch least squares ) Alternativa: trovare la soluzione ottima utilizzando le iterazioni di Riccati (programmazione dinamica)

79 Modello lineare: MPC Lineare Vincoli: Problema di controllo ottimo (con indice di prestazione quadratico): 157 Sostituzione: MPC Lineare Problema di ottimizzazione: Convex QUADRATIC PROGRAM (QP) (quadratico) (lineare) 158

80 Algoritmo MPC Al tempo t: past future t t+1 Misura o stima lo stato corrente x(t) Risolvi il problema QP Predicted outputs y(t+k t) Manipulated Inputs u(t+k) t+n e sia U={u * (),...,u * (N-1)} la soluzione (=controllo ottimo vincolato ad anello aperto su orizzonte finito) Applica soltanto ottimi futuri rimanenti Vai al tempo t+1 al processo e scarta gli ingressi 159 Model Predictive Control Toolbox MPC Toolbox 2. (Bemporad, Ricker, Morari, 1998-today): Object-oriented implementation (MPC object) MPC Simulink Library MPC Graphical User Interface RTW extension (code generation) Linked to OPC Toolbox v2..1 Only linear models are handled 16

81 MPC Simulink Library Software e documentazione: Mixed Logical Dynamical Systems Discrete Hybrid Automaton HYSDEL (Torrisi, Bemporad, 24) Mixed Logical Dynamical (MLD) Systems (Bemporad, Morari 1999) Continuous and binary variables Computationally oriented (mixed-integer programming) 162

82 MIQP Formulation of MPC (Bemporad, Morari, 1999) Optimization vector: Mixed Integer Quadratic Program (MIQP) 163 MILP Formulation of MPC (Bemporad, Borrelli, Morari, 2) Basic trick: introduce slack variables Optimization vector: Mixed Integer Linear Program (MILP) 164

83 A Simple Example in Supply Chain Management manufacturer A inventory 1 manufacturer B retailer 1 inventory 2 manufacturer C 165 continuous states: System Variables x ij (k) = amount of j hold in inventory i at time k (i=1,2, j=1,2) continuous outputs: y j (k) = amount of j sold at time k (i=1,2) continuous inputs: u ij (k) = amount of j taken from inventory i at time k (i=1,2, j=1,2) binary inputs: U Xij (k) = 1 if manufacturer X produces and send j to inventory i at time k 166

84 Max capacity of inventory i: Constraints j x ij (k) x Mi Numerical values: x M1 =1, x M2 =1 Max transportation from inventories: u ij (k) u M A product can only be sent to one inventory: UA11(k) and UA21(k) cannot be =1 at the same time UB11(k) and UB21(k) cannot be =1 at the same time UB12(k) and UB22(k) cannot be =1 at the same time UC12(k) and UC22(k) cannot be =1 at the same time A manufacturer can only produce one type of product at one time: [UB11(k)=1 or UB21(k)=1] and [UB12(k)=1 or UB22(k)=1] cannot be true 167 Dynamics Numerical values: P A1 =4, P B1 =6, P B2 =7, P C2 =3 Level of inventories: 168

85 SYSTEM supply_chain{ INTERFACE { STATE { REAL x11 [,1]; REAL x12 [,1]; REAL x21 [,1]; REAL x22 [,1]; } Hybrid Dynamical Model INPUT { REAL u11 [,1]; REAL u12 [,1]; REAL u21 [,1]; REAL u22 [,1]; BOOL UA11,UA21,UB11,UB12,UB21,UB22,UC12,UC22; } OUTPUT {REAL y1,y2;} PARAMETER { REAL PA1,PB1,PB2,PC2,xM1,xM2;} } IMPLEMENTATION { AUX { REAL za11, zb11, zb12, zc12, za21, zb21, zb22, zc22;} DA { za11 = {IF UA11 THEN PA1 ELSE }; zb11 = {IF UB11 THEN PB1 ELSE }; zb12 = {IF UB12 THEN PB2 ELSE }; zc12 = {IF UC12 THEN PC2 ELSE }; za21 = {IF UA21 THEN PA1 ELSE }; zb21 = {IF UB21 THEN PB1 ELSE }; zb22 = {IF UB22 THEN PB2 ELSE }; zc22 = {IF UC22 THEN PC2 ELSE }; } /demos/hybrid/supply_chain.m } } CONTINUOUS {x11 = x11 + za11 + zb11 - u11; x12 = x12 + zb12 + zc12 - u12; x21 = x21 + za21 + zb21 - u21; x22 = x22 + zb22 + zc22 - u22; } OUTPUT { y1 = u11 + u21; y2 = u12 + u22; } MUST { ~(UA11 & UA21); ~(UC12 & UC22); ~((UB11 UB21) & (UB12 UB22)); ~(UB11 & UB21); ~(UB12 & UB22); x11+x12 <= xm1; x11+x12 >=; x21+x22 <= xm2; x21+x22 >=; } 169 Objectives Meet customer demand as much as possible: y 1 r 1, y 2 r 2 Minimize transportation costs Fulfill all constraints 17

86 Performance Specs penalty on demand tracking error cost for shipping from inv.#1 to market cost for shipping from inv.#2 to market cost from A to inventories cost from B to inventories cost from C to inventories 171 Hybrid MPC - Example >>refs.y=[1 2]; % weights output2 #1,#2 >>Q.y=diag([1 1]); % output weights >>Q.norm=Inf; % infinity norms >>N=2; % optimization horizon >>limits.umin=umin; % constraints >>limits.umax=umax; >>limits.xmin=xmin; >>limits.xmax=xmax; >>C=hybcon(S,Q,N,limits,refs); >> C Hybrid controller based on MLD model S <supply_chain.hys> [Inf-norm] 4 state measurement(s) 2 output reference(s) 12 input reference(s) state reference(s) reference(s) on auxiliary continuous z-variables 44 optimization variable(s) (28 continuous, 16 binary) 176 mixed-integer linear inequalities sampling time = 1, MILP solver = 'glpk' Type "struct(c)" for more details. >> 172

87 Hybrid MPC - Example >>x=[;;;]; >>r.y=[6+2*sin((:tstop-1)'/5) 5+3*cos((:Tstop-1)'/3)]; % Initial condition % Reference trajectories >>[XX,UU,DD,ZZ,TT]=sim(C,S,r,x,Tstop); CPU time: 3ms per time step (using GLPK on this machine) 173 Programmazione stocastica 174

88 Incertezza dei dati del problema Finora abbiamo ipotizzato che i dati del problema di ottimizzazione (es. A,b,c di un problema LP) fossero noti con precisione Spesso però in pratica si hanno molte situazioni in cui tali dati non sono deterministici, ma piuttosto stocastici, cioè descritti da funzioni di probabilità Questo accade ad esempio quando i dati del problema saranno noti soltanto nel futuro (es: domanda di un cliente, prezzo del materiale, ecc.) 175 Programmazione stocastica (2 stadi) Nella modellazione a 2 stadi, la sequenza delle decisioni può essere rappresentata come segue: stadio evento random 1 2 ω decisioni iniziale x ricorsione y ω = variabile random x = variabile di decisione presa prima che l evento ω si sia manifestato y = variabile di decisione presa dopo che l evento ω si sarà manifestato, e quindi da esso dipendente. Permette di effettuare hedging. 176

89 Programmazione stocastica (2 stadi) Esempio: Significato delle variabili in problemi gerarchici di pianificazione (hierarchical planning problems) Stadio 1 (variabile x): decisioni strategiche e globali, con impatto a lungo termine. Esempi: investimenti, capacità produttive, ecc. In questo caso la domanda del cliente può essere trattata come incerta. Stadio 2 (variabile y): variabili operative, decisioni a breve termine in risposta a come le variabili stocastiche ω si sono realizzate (ad esempio la domanda del cliente). Esempi: quantitativi di produzione, schedulazione delle macchine, ecc. 177 Programmazione stocastica (2 stadi) Considera il seguente problema di programmazione lineare stocastica a due-stadi con ricorsione ω = variabile random x = variabile di decisione presa prima che l evento ω si sia manifestato y = variabile di decisione presa dopo che l evento ω si sarà manifestato, e quindi da esso dipendente Nota: 178

90 Programmazione stocastica (2 stadi) Supponiamo che il vettore ω possa assumere solo un numero finito di valori possibili (detti scenari ) Siano le rispettive probabilità (se equiprobabili p i =1/S) Allora, possiamo riscrivere e quindi il problema di ottimizzazione stocastica come x y 1 y 2... y S costo matrice dei vincoli termini noti La struttura particolare (e sparsa) del problema può essere sfruttata dai risolutori 179 Esempio Un municipalizzata deve gestire gli acquisti di gas per l anno in corso e il prossimo. Il gas può essere comprato, venduto e immagazzinato A seconda delle condizioni climatiche, i prezzi di acquisto per quantitativo di gas e la domanda cambiano: Clima Probabilità p Costo gas c Domanda d Normale 1/3 5 1 Freddo 1/ Molto freddo 1/ Supponiamo che nell anno in corso ci sia un clima normale, mentre il clima dell anno prossimo è incerto Quanto gas dobbiamo comprare quest anno? Quanto dobbiamo comprarne per immagazzinarlo? Quanto dovremo comprarne l anno prossimo? 18

Controllo Predittivo (cenni)

Controllo Predittivo (cenni) Controllo Predittivo (cenni) Controllo Digitale - A. Bemporad - A.a. 2007/08 Optimizer Model Predictive Control Plant Reference r(t) Input u(t) Output y(t) Measurements MODEL: è richiesto un modello del

Dettagli

Programmazione Quadratica. 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione A.a. 2008/09

Programmazione Quadratica. 2009 by A. Bemporad Controllo di Processo e dei Sistemi di Produzione A.a. 2008/09 Programmazione Quadratica 1/82 Programmazione lineare minimizza o massimizza funzione obiettivo soggetto a 2/82 Programmazione quadratica minimize or maximize funzione obiettivo soggetto a STESSI VINCOLI

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Modelli di Programmazione Lineare e Programmazione Lineare Intera

Modelli di Programmazione Lineare e Programmazione Lineare Intera Modelli di Programmazione Lineare e Programmazione Lineare Intera 1 Azienda Dolciaria Un azienda di cioccolatini deve pianificare la produzione per i prossimi m mesi. In ogni mese l azienda ha a disposizione

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 20/202 Lezione 6-8 Rappresentazione di funzioni non lineari: - Costi fissi - Funzioni lineari a tratti Funzioni obiettivo non lineari:

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

Dettagli

Un modello matematico di investimento ottimale

Un modello matematico di investimento ottimale Un modello matematico di investimento ottimale Tiziano Vargiolu 1 1 Università degli Studi di Padova Liceo Scientifico Benedetti Venezia, giovedì 30 marzo 2011 Outline 1 Investimento per un singolo agente

Dettagli

Dipartimento di Economia Aziendale e Studi Giusprivatistici. Università degli Studi di Bari Aldo Moro. Corso di Macroeconomia 2014

Dipartimento di Economia Aziendale e Studi Giusprivatistici. Università degli Studi di Bari Aldo Moro. Corso di Macroeconomia 2014 Dipartimento di Economia Aziendale e Studi Giusprivatistici Università degli Studi di Bari Aldo Moro Corso di Macroeconomia 2014 1. Assumete che = 10% e = 1. Usando la definizione di inflazione attesa

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Il modello matematico 2: Funzioni obiettivo: ma.min, Min-ma Tipologie di Vincoli Funzione obiettivo ma-min: Esempio Scommesse Il signor

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

La Programmazione Lineare

La Programmazione Lineare 4 La Programmazione Lineare 4.1 INTERPRETAZIONE GEOMETRICA DI UN PROBLEMA DI PROGRAMMAZIONE LINEARE Esercizio 4.1.1 Fornire una rappresentazione geometrica e risolvere graficamente i seguenti problemi

Dettagli

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000

mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 1.7 Servizi informatici. Un negozio di servizi informatici stima la richiesta di ore di manutenzione/consulenza per i prossimi cinque mesi: mese 1 2 3 4 5 richiesta 6000 7000 8000 9500 11000 All inizio

Dettagli

Management Sanitario. Modulo di Ricerca Operativa

Management Sanitario. Modulo di Ricerca Operativa Management Sanitario per il corso di Laurea Magistrale SCIENZE RIABILITATIVE DELLE PROFESSIONI SANITARIE Modulo di Ricerca Operativa Prof. Laura Palagi http://www.dis.uniroma1.it/ palagi Dipartimento di

Dettagli

Equivalenza economica

Equivalenza economica Equivalenza economica Calcolo dell equivalenza economica [Thuesen, Economia per ingegneri, capitolo 4] Negli studi tecnico-economici molti calcoli richiedono che le entrate e le uscite previste per due

Dettagli

2. Leggi finanziarie di capitalizzazione

2. Leggi finanziarie di capitalizzazione 2. Leggi finanziarie di capitalizzazione Si chiama legge finanziaria di capitalizzazione una funzione atta a definire il montante M(t accumulato al tempo generico t da un capitale C: M(t = F(C, t C t M

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Prodotto Disponibilità Costo 1 3000 3 2 2000 6 3 4000 4. e rispettando le seguenti regole di composizione delle benzine:

Prodotto Disponibilità Costo 1 3000 3 2 2000 6 3 4000 4. e rispettando le seguenti regole di composizione delle benzine: 1.1 Pianificazione degli investimenti. Una banca deve investire C milioni di Euro, e dispone di due tipi di investimento: (a) con interesse annuo del 15%; (b) con interesse annuo del 25%. Almeno 1 di C

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Introduzione

Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili. Introduzione Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili Introduzione La Ricerca Operativa La Ricerca Operativa è una disciplina relativamente recente. Il termine Ricerca Operativa è stato coniato

Dettagli

Esercitazione n.1 (v.c. Binomiale, Poisson, Normale)

Esercitazione n.1 (v.c. Binomiale, Poisson, Normale) Esercizio 1. Un azienda produce palline da tennis che hanno probabilità 0,02 di essere difettose, indipendentemente l una dall altra. La confezione di vendita contiene 8 palline prese a caso dalla produzione

Dettagli

Scelte in condizioni di rischio e incertezza

Scelte in condizioni di rischio e incertezza CAPITOLO 5 Scelte in condizioni di rischio e incertezza Esercizio 5.1. Tizio ha risparmiato nel corso dell anno 500 euro; può investirli in obbligazioni che rendono, in modo certo, il 10% oppure in azioni

Dettagli

La Minimizzazione dei costi

La Minimizzazione dei costi La Minimizzazione dei costi Il nostro obiettivo è lo studio del comportamento di un impresa che massimizza il profitto sia in mercati concorrenziali che non concorrenziali. Ora vedremo la fase della minimizzazione

Dettagli

Il sistema monetario

Il sistema monetario Il sistema monetario Premessa: in un sistema economico senza moneta il commercio richiede la doppia coincidenza dei desideri. L esistenza del denaro rende più facili gli scambi. Moneta: insieme di tutti

Dettagli

Algoritmo proposto. Maria Silvia Pini, Francesca Rossi, K. Brent Venable. Dipartimento di Matematica Pura e Applicata Università di Padova

Algoritmo proposto. Maria Silvia Pini, Francesca Rossi, K. Brent Venable. Dipartimento di Matematica Pura e Applicata Università di Padova Algoritmo proposto Maria Silvia Pini, Francesca Rossi, K. Brent Venable Dipartimento di Matematica Pura e Applicata Università di Padova Algoritmo proposto L agoritmo che proponiamo Parte da una soluzione

Dettagli

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema.

1) Descrivere dettagliatamente a quale problema di scheduling corrisponde il problema. Un veicolo viene utilizzato da una società di trasporti per trasportare beni a partire da un unico deposito verso prefissate località di destinazione. Si supponga che occorre trasportare singolarmente

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1 1 PORTAFOGLIO Portafoglio Markowitz (2 titoli) (rischiosi) due titoli rendimento/varianza ( μ 1, σ 1 ), ( μ 2, σ 2 ) Si suppone μ 1 > μ 2, σ 1 > σ 2 portafoglio con pesi w 1, w 2 w 1 = w, w 2 = 1- w 1

Dettagli

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI

ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI ESEMPIO P.L. : PIANIFICAZIONE DI INVESTIMENTI PROBLEMA: un azienda deve scegliere fra due possibili investimenti al fine di massimizzare il profitto netto nel rispetto delle condizioni interne e di mercato

Dettagli

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo

Logica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero

Dettagli

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11

Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11 Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 7 Costituzione di un capitale Classificazione Fondo di

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Domande a scelta multipla 1

Domande a scelta multipla 1 Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco

Dettagli

CAPITOLO 10 I SINDACATI

CAPITOLO 10 I SINDACATI CAPITOLO 10 I SINDACATI 10-1. Fate l ipotesi che la curva di domanda di lavoro di una impresa sia data da: 20 0,01 E, dove è il salario orario e E il livello di occupazione. Ipotizzate inoltre che la funzione

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni

Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni Ottimizzazione nella gestione dei progetti Capitolo 4: la gestione dei costi (Programmazione multimodale): formulazioni CARLO MANNINO Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica

Dettagli

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE

APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse

Dettagli

Marco Tolotti - Corso di Esercitazioni di Matematica 12 Cfu - A.A. 2010/2011 1

Marco Tolotti - Corso di Esercitazioni di Matematica 12 Cfu - A.A. 2010/2011 1 Marco Tolotti - Corso di Esercitazioni di Matematica 1 Cfu - A.A. 010/011 1 Esercitazione 1: 4/09/010 1. Determinare il dominio delle seguenti funzioni: log a) f() = 5 ( 1). b) g() = log 3 (3 6) log 13.

Dettagli

Università del Salento

Università del Salento Università del Salento Dipartimento di Matematica DAI SISTEMI DI DISEQUAZIONI LINEARI.. ALLA PROGRAMMAZIONE LINEARE Chefi Triki La Ricerca Operativa Fornisce strumenti matematici di supporto alle attività

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti Enrico Saltari Università di Roma La Sapienza 1 Dotazioni iniziali Il consumatore dispone ora non di un dato reddito monetario ma di un ammontare

Dettagli

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano

Capitolo 5: Ottimizzazione Discreta. E. Amaldi DEI, Politecnico di Milano Capitolo 5: Ottimizzazione Discreta E. Amaldi DEI, Politecnico di Milano 5.1 Modelli di PLI, formulazioni equivalenti ed ideali Il modello matematico di un problema di Ottimizzazione Discreta è molto spesso

Dettagli

LABORATORIO DI MATEMATICA I PROBLEMI DI SCELTA IN CONDIZIONI DI INCERTEZZA CON EXCEL

LABORATORIO DI MATEMATICA I PROBLEMI DI SCELTA IN CONDIZIONI DI INCERTEZZA CON EXCEL LABORATORIO DI MATEMATICA I PROBLEMI DI SCELTA IN CONDIZIONI DI INCERTEZZA CON EXCEL ESERCITAZIONE GUIDATA I problemi di scelta Problema. Una ditta produttrice di detersivi per lavatrice ha costi al litro

Dettagli

Scelta intertemporale: Consumo vs. risparmio

Scelta intertemporale: Consumo vs. risparmio Scelta intertemporale: Consumo vs. risparmio Fino a questo punto abbiamo considerato solo modelli statici, cioè modelli che non hanno una dimensione temporale. In realtà i consumatori devono scegliere

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

Basi di matematica per il corso di micro

Basi di matematica per il corso di micro Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione

Dettagli

La teoria finanziaria del valore asserisce che il valore di una iniziativa dipende essenzialmente da tre fattori:

La teoria finanziaria del valore asserisce che il valore di una iniziativa dipende essenzialmente da tre fattori: La teoria finanziaria del valore asserisce che il valore di una iniziativa dipende essenzialmente da tre fattori: i flussi monetario che l iniziativa è in grado di generare il profilo temporale associabile

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Elementi di Psicometria con Laboratorio di SPSS 1

Elementi di Psicometria con Laboratorio di SPSS 1 Elementi di Psicometria con Laboratorio di SPSS 1 29-Analisi della potenza statistica vers. 1.0 (12 dicembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca

Dettagli

Epoca k Rata Rk Capitale Ck interessi Ik residuo Dk Ek 0 S 0 1 C1 Ik=i*S Dk=S-C1. n 0 S

Epoca k Rata Rk Capitale Ck interessi Ik residuo Dk Ek 0 S 0 1 C1 Ik=i*S Dk=S-C1. n 0 S L AMMORTAMENTO Gli ammortamenti sono un altra apllicazione delle rendite. Il prestito è un operazione finanziaria caratterizzata da un flusso di cassa positivo (mi prendo i soldi in prestito) seguito da

Dettagli

Fondamenti e didattica di Matematica Finanziaria

Fondamenti e didattica di Matematica Finanziaria Fondamenti e didattica di Matematica Finanziaria Silvana Stefani Piazza dell Ateneo Nuovo 1-20126 MILANO U6-368 silvana.stefani@unimib.it 1 Unità 9 Contenuti della lezione Operazioni finanziarie, criterio

Dettagli

Capitolo Terzo Valore attuale e costo opportunità del capitale

Capitolo Terzo Valore attuale e costo opportunità del capitale Capitolo Terzo Valore attuale e costo opportunità del capitale 1. IL VALORE ATTUALE La logica di investimento aziendale è assolutamente identica a quella adottata per gli strumenti finanziari. Per poter

Dettagli

Ai fini economici i costi di un impresa sono distinti principalmente in due gruppi: costi fissi e costi variabili. Vale ovviamente la relazione:

Ai fini economici i costi di un impresa sono distinti principalmente in due gruppi: costi fissi e costi variabili. Vale ovviamente la relazione: 1 Lastoriadiun impresa Il Signor Isacco, che ormai conosciamo per il suo consumo di caviale, decide di intraprendere l attività di produttore di caviale! (Vuole essere sicuro della qualità del caviale

Dettagli

Paperone e Rockerduck: a cosa serve l antitrust?

Paperone e Rockerduck: a cosa serve l antitrust? Paperone e Rockerduck: a cosa serve l antitrust? Paperone Anna Torre, Rockerduck Ludovico Pernazza 1-14 giugno 01 Università di Pavia, Dipartimento di Matematica Concorrenza Due imprese Pap e Rock operano

Dettagli

Modelli per la gestione delle scorte

Modelli per la gestione delle scorte Modelli per la gestione delle scorte Claudio Arbib Università di L Aquila Seconda Parte Sommario Sui problemi di gestione aperiodica equazioni di stato Funzioni di costo Un modello convesso formulazione

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento

Dettagli

Il modello generale di commercio internazionale

Il modello generale di commercio internazionale Capitolo 6 Il modello generale di commercio internazionale [a.a. 2013/14] adattamento italiano di Novella Bottini (ulteriore adattamento di Giovanni Anania) 6-1 Struttura della presentazione Domanda e

Dettagli

Le Scelte Finanziarie. S. Corsaro Matematica Finanziaria a.a. 2007/08

Le Scelte Finanziarie. S. Corsaro Matematica Finanziaria a.a. 2007/08 Le Scelte Finanziarie 1 Tasso Interno di Rendimento Consideriamo un operazione finanziaria (t 0 =0): 0 x 0 t 1 t 2 t m...... x 1 x 2 x m Posto: x = x0, x1,, xm { } si definisce tasso interno di rendimento

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007 RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007 Rispondere alle seguenti domande marcando a penna la lettera corrispondente alla risposta ritenuta corretta (una sola tra quelle riportate). Se

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Il progetto della rete di fornitura in ambiente incerto. Il progetto della rete in ambienti incerti 1

Il progetto della rete di fornitura in ambiente incerto. Il progetto della rete in ambienti incerti 1 Il progetto della rete di fornitura in ambiente incerto Il progetto della rete in ambienti incerti 1 Linea guida L impatto dell incertezza sulle decisioni relative alla rete Analisi dei flussi di cassa

Dettagli

Modelli LP (complementi)

Modelli LP (complementi) Modelli LP (complementi) Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - ottobre 2003 1. Comprare o fabbricare? Electro-Poly è un produttore leader di lavatrici Ha ricevuto

Dettagli

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ In questa Appendice mostreremo come trovare la tariffa in due parti che massimizza i profitti di Clearvoice,

Dettagli

Produzione e forza lavoro

Produzione e forza lavoro Produzione e forza lavoro Testo Un azienda produce i modelli I, II e III di un certo prodotto a partire dai materiali grezzi A e B, di cui sono disponibili 4000 e 6000 unità, rispettivamente. In particolare,

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

ESERCIZI DI MATEMATICA FINANZIARIA DIPARTIMENTO DI ECONOMIA E MANAGEMENT UNIFE A.A. 2015/2016. 1. Esercizi: lezione 24/11/2015

ESERCIZI DI MATEMATICA FINANZIARIA DIPARTIMENTO DI ECONOMIA E MANAGEMENT UNIFE A.A. 2015/2016. 1. Esercizi: lezione 24/11/2015 ESERCIZI DI MATEMATICA FINANZIARIA DIPARTIMENTO DI ECONOMIA E MANAGEMENT UNIFE A.A. 2015/2016 1. Esercizi: lezione 24/11/2015 Valutazioni di operazioni finanziarie Esercizio 1. Un operazione finanziaria

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

Un modello matematico di investimento ottimale

Un modello matematico di investimento ottimale Un modello matematico di investimento ottimale Tiziano Vargiolu 1 1 Università degli Studi di Padova Liceo Scientifico Benedetti Venezia, giovedì 30 marzo 2011 Outline 1 Preliminari di calcolo delle probabilità

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

ESERCITAZIONE MATEMATICA FINANZIARIA OPZIONI. Matematica finanziaria Dott. Andrea Erdas Anno Accademico 2011/2012

ESERCITAZIONE MATEMATICA FINANZIARIA OPZIONI. Matematica finanziaria Dott. Andrea Erdas Anno Accademico 2011/2012 ESERCITAZIONE MATEMATICA FINANZIARIA 1 OPZIONI 2 LE OPZIONI Le opzioni sono contratti che forniscono al detentore il diritto di acquistare o vendere una certa quantità del bene sottostante a una certa

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Note su quicksort per ASD 2010-11 (DRAFT)

Note su quicksort per ASD 2010-11 (DRAFT) Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12

Seconda Prova di Ricerca Operativa. Cognome Nome Numero Matricola A 1/12 A 2/12 A / A / Seconda Prova di Ricerca Operativa Cognome Nome Numero Matricola Nota: LA RISOLUZIONE CORRETTA DEGLI ESERCIZI CONTRADDISTINTI DA UN ASTERISCO È CONDIZIONE NECESSARIA PER IL RAGGIUNGIMENTO DELLA

Dettagli

Modelli di Ottimizzazione

Modelli di Ottimizzazione Capitolo 2 Modelli di Ottimizzazione 2.1 Introduzione In questo capitolo ci occuperemo più nel dettaglio di quei particolari modelli matematici noti come Modelli di Ottimizzazione che rivestono un ruolo

Dettagli

Creare una nuova spedizione personalizzata.

Creare una nuova spedizione personalizzata. Gestione spedizioni La piattaforma ecommerce compry.it offre una gestione estremamente potente dei costi di spedizione da applicare al cliente che effettua acquisti. Il sistema, oltre al classico calcolo

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

PROGRAMMAZIONE LINEARE IN DUE VARIABILI

PROGRAMMAZIONE LINEARE IN DUE VARIABILI 1 PROGRAMMAZIONE LINEARE IN DUE VARIABILI La ricerca operativa nata durante la seconda guerra mondiale ed utilizzata in ambito militare, oggi viene applicata all industria, nel settore pubblico e nell

Dettagli

Analisi di scenario File Nr. 10

Analisi di scenario File Nr. 10 1 Analisi di scenario File Nr. 10 Giorgio Calcagnini Università di Urbino Dip. Economia, Società, Politica giorgio.calcagnini@uniurb.it http://www.econ.uniurb.it/calcagnini/ http://www.econ.uniurb.it/calcagnini/forecasting.html

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani

Ricerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.

Dettagli

Pertanto la formula per una prima approssimazione del tasso di rendimento a scadenza fornisce

Pertanto la formula per una prima approssimazione del tasso di rendimento a scadenza fornisce A. Peretti Svolgimento dei temi d esame di MDEF A.A. 015/16 1 PROVA CONCLUSIVA DI MATEMATICA per le DECISIONI ECONOMICO-FINANZIARIE Vicenza, 9/01/016 ESERCIZIO 1. Data l obbligazione con le seguenti caratteristiche:

Dettagli

Cash flow stream ( Successione di Flussi di Cassa)

Cash flow stream ( Successione di Flussi di Cassa) Cash flow stream ( Successione di Flussi di Cassa) Investimento è definito come un impiego di risorse effettuato allo scopo di ottenere un guadagno più avanti nel tempo. Investimento monetario è l impiego

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Problemi di Programmazione Lineare Intera

Problemi di Programmazione Lineare Intera Capitolo 4 Problemi di Programmazione Lineare Intera La Programmazione Lineare Intera (PLI) tratta il problema della massimizzazione (minimizzazione) di una funzione di più variabili, soggetta a vincoli

Dettagli

Matrice Excel Calcolo rata con DURATA DEL FINANZIAMENTO determinata dall'utente

Matrice Excel Calcolo rata con DURATA DEL FINANZIAMENTO determinata dall'utente Matrice Excel Calcolo rata con DURATA DEL FINANZIAMENTO determinata dall'utente L'acquisto di un immobile comporta un impegno finanziario notevole e non sempre è possibile disporre della somma di denaro

Dettagli