




























































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Sono le dispense del corso di metodi di ottimizzazione del 2016-2017
Tipologia: Dispense
Caricato il 08/02/2018
1 / 212
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





























































































Il termine modello indica una struttura appositamente costruita per eviden- ziare le caratteristiche di oggetti reali. Alcune volte i modelli possono essere concreti (come ad esempio i modelli che rappresentano i prototipi di aerei, navi oppure automobili), ma spesso sono di tipo astratto, come i cosiddetti modelli matematici che usano appunto il simbolismo matematico per eviden- ziare determinate caratteristiche di oggetti veri. In poche parole i modelli matematici non sono altro che insiemi di relazioni che descrivono, in modo semplificato, fenomeni reali. L’interesse nella modellistica deriva dal fatto che essa consente di studiare l’evoluzione di tali fenomeni senza che questo accada realmente. Si pensi per esempio alle simulazioni matematiche degli effetti di eventi catastrofici come i terremoti in zone abitate, in grado di for- nire informazioni sulle loro conseguenze che ovviamente non potrebbero mai essere note se non dopo tale evento (e di conseguenza del tutto inutili). I campi di applicazione dei modelli matematici sono attualmente i piu svariati: esempi concreti sono i modelli che descrivono la dinamica delle popolazioni, oppure la diffusione di epidemie oppure lo studio dell’inquinamento in de- terminati territori. Nei capitoli seguenti saranno analizzate le proprieta dei modelli matematici di ottimizzazione e saranno descritti alcuni metodi nu- merici per determinarne la soluzione. I modelli matematici possono essere di due tipi:
cui il tempo di servizio di uno sportello `e di tipo casuale);
Una seconda suddivisione riguarda la validit`a dei modelli dal punto di vista temporale, infatti i modelli matematici possono essere:
Un’ultimo tipo di classificazione `e inerente la tipologia di relazioni matema- tiche tra grandezze:
L’approccio modellistico di un problema reale viene realizzato attraverso diverse fasi:
a mate- matiche del modello (esistenza, unicita della soluzione, stabilit`a della soluzione e altre);In questo caso l’identificazione e molto semplice in quanto dobbiamo de- terminare le quantita giornaliere di ciascun alimento, quindi definiamo le seguenti grandezze: xj = quantita giornaliera del j−esimo alimento, per j = 1,... , n. Il passo successivoe quello di determinare l’obiettivo del modello ovvero de- finire la funzione che descrive lo scopo del problema e che prende il nome appunto di funzione obiettivo.
II Passo: Definire la funzione obiettivo
L’obiettivo e la minimizzazione del costo giornaliero della dieta noti i co- sti unitari cj , ovvero il costo complessivo di tutti gli alimenti. La quantita x 1 del primo alimento costa c 1 x 1 , la quantita x 2 del secondo costa c 2 x 2 , cosicche il costo complessivo degli alimenti `e
Z = c 1 x 1 + c 2 x 2 + · · · + cnxn =
∑^ n
j=
cj xj.
L’obiettivo e quello di determinare le quantita xj , j = 1,... , n, in modo tale che venga minimizzato il valore di Z, purche le quantita dell’i−esimo nutriente sia superiore al valore minimo giornaliero bi. Le variabili xj non possono assumere valori arbitrari ma questi devono essere tali da soddisfare una serie di vincoli, ovvero un vincolo per ciascuna sostanza nutriente. E questo porta all’ultima fase nella definizione del modello.
III Passo: Scrivere i vincoli del problema
Come detto i vincoli riguardano esclusivamente le sostanze nutrienti. Biso- gna calcolare la quantita complessiva di ciascuna sostanza nutriente presente in tutti n gli alimenti assunti nelle quantita x 1 , x 2 ,... , xn. Per esempio nella quantita x 1 del primo alimentoe presente a 11 x 1 quantita del primo nutrien- te, a 21 x 1 del secondo e cosı via. Nella quantita x 2 del secondo alimento sono presenti a 12 x 2 quantita del primo nutriente, a 22 x 2 del secondo e cosı via. Volendo determinare la quantita del primo nutriente questa risulta:
a 11 x 1 + a 12 x 2 + · · · + a 1 nxn
che deve soddisfare la seguente disuguaglianza:
a 11 x 1 + a 12 x 2 + · · · + a 1 nxn ≥ b 1
che costituisce il primo vincolo del modello. In generale la necessit`a di soddisfare il fabbisogno dell’i−esimo nutriente definisce un vincolo:
ai 1 x 1 + ai 2 x 2 + · · · + ainxn ≥ bi.
In questo modo definiamo esattamente m vincoli. Al termine di questa fase abbiamo un passo finale che consiste nella formulazione del modello.
IV Passo: Formulazione completa del modello
In definitiva il problema pu`o essere formulato nel seguente modo:
min Z =
∑^ n
j=
cj xj
Soggetto a: ∑^ n
j=
aij xj ≥ bi, i = 1,... , m
xj ≥ 0 , j = 1,... , n.
Supponiamo per esempio di dover decidere la composizione della dieta gior- naliera a base di pasta, carne, verdura e formaggio, tenendo conto che gior- nalmente si devono assumere almeno 70 g. di proteine, almeno 50 g. di grassi ed almeno 250 g. di zuccheri. Nella seguente tabella sono indicati i grammi di nutrienti in ogni 100 grammi di alimento ed i relativi costi.
Pasta Carne Verdura Formaggio Proteine 9. 9 20. 8 2 22 Grassi 1. 2 1. 1 0. 2 26 Zuccheri 75. 3 0 4 0 Costo e/kg 1. 4 12 1. 2 12
Ad esempio un etto di pasta contiene 9.9 grammi di proteine, 1.2 g. di grassi e 75.3 g. di zuccheri. Di consequenza un chilo di pasta contiene 99 grammi
x 2 (≥ 0): la quantita in kg di materiale ferroso B da utilizzare; x 3 (≥ 0): la quantita in kg di materiale ferroso C da utilizzare; x 4 (≥ 0): la quantita in kg di manganese da utilizzare. Abbiamo imposto che le quantita di prodotto acquistate siano dei valori non negativi (vincoli di nonnegativit`a). Esistono poi altri vincoli che dovranno essere rispettati e che descriviamo di seguito. Il numero totale di kg prodotti deve essere 1000: x 1 + x 2 + x 3 + x 4 = 1000.
La quantita di silicio, in kg, presente nel prodotto risultantee data da
che deve essere tale da essere compresa nei limiti voluti (cioe deve essere superiore a 32.5 kg su 1000 kg di prodotto finito e inferiore a 55 kg nella stessa quantita di prodotto):
Possiamo quindi esprimere la condizione sulla percentuale di silicio mediante i due vincoli lineari
4 x 1 +x 2 +0. 6 x 3 ≥ 3250 4 x 1 +x 2 +0. 6 x 3 ≤ 5500.
Analogamente, per la condizione sulla percentuale di manganese (che deve essere superiore a 4.5 kg su 1000 kg di prodotto) si ottiene
e quindi
Infine il costo complessivo del prodotto risultante `e
Il problema della determinazione di un piano di produzione che minimizza il costo pu`o quindi essere formulato come segue:
min Z = 0. 025 x 1 + 0. 030 x 2 + 0. 018 x 3 + 10x 4
4 x 1 +x 2 +0. 6 x 3 ≥ 3250 4 x 1 +x 2 +0. 6 x 3 ≤ 5500
xi ≥ 0 , i = 1, 2 , 3 , 4.
Le variabili x 1 , x 2 , x 3 e x 4 corrispondono alle scelte operative che il problema reale richiede di compiere, e ciascun vincolo del modello corrisponde ad una condizione imposta dal problema reale. Determinare i valori delle variabili in modo che i vincoli siano soddisfatti e la funzione obiettivo assuma il minimo valore fornisce il miglior piano di produzione.
Un problema di pianificazione della produzione
Un’industria chimica produce quattro tipi di fertilizzante, la cui lavorazione e affidata a due reparti: produzione e confezionamento. Per ottenere fertiliz- zante pronto per la venditae necessaria la lavorazione in entrambi i reparti. La seguente tabella riporta, per ciascun tipo di fertilizzante, i tempi (in ore) necessari per la lavorazione in ciascun reparto per avere una tonnellata di prodotto pronto per la vendita
Reparto Tipo 1 Tipo 2 Tipo 3 Tipo 4 Produzione 2 1.5 0.5 2. Confezionamento 0.5 0.25 0.25 1
Dopo aver dedotto, da ciascuna tonnellata, il costo del materiale grezzo, una tonnellata di fertilizzante produce i seguenti profitti (in euro per tonnellata):
Tipo 1 Tipo 2 Tipo 3 Tipo 4 Profitto netto 250 230 110 350
Si vuol determinare la quantita di fertilizzante di ciascun tipo da produrre settimanalmente in modo tale da massimizzare il profitto sapendo che il reparto produzione puo lavorare al pi`u 100 ore la settimana mentre il reparto
zaino in modo da non superare un dato peso (o capacit`a) e da massimizzare appunto il valore complessivo degli oggetti selezionati. Si assume che sia
0 < b <
∑^ n
i=
wi,
altrimenti il problema sarebbe banale e che inoltre sia
wi ≤ b, i = 1,... , n
in quanto nessun elemento di peso superiore alla capacita b puo far parte di una soluzione e quindi ogni elemento di peso superiore a b puo essere eliminato da E. Il problema puo essere scritto come un problema di massimo. Possiamo formulare il problema come uno di programmazione lineare introducendo, per ogni oggetto i = 1, 2 ,... , n, una variabile xi ∈ { 0 , 1 }, con il significato che la variabile assume valore 1 se l’elemento i-esimo appartiene al sottoinsieme selezionato, e 0 altrimenti (si decide cioe se inserire o meno l’oggetto). La condizione relativa alla capacita dello zaino diviene
∑^ n
i=
wixi ≤ b
infatti, dato che ciascuna xi puo assumere solo i valori 0 o 1, nella som- ma vengono considerati i pesi dei soli oggetti selezionati. Analogamente, la funzione obiettivo, da massimizzare,e
∑^ n
i=
cixi
nella funzione obiettivo si somma il valore dei soli oggetti selezionati. La formulazione finale del problema `e la seguente
max Z =
∑^ n
i=
cixi
∑n
i=
wixi ≤ b
xi ∈ { 0 , 1 }.
Un problema di pianificazione regionale
Una comunita agricola, composta da tre cooperative, deve pianificare la pro- duzione agricola per l’intero anno. Il rendimento di ogni cooperativa dipende dalla quantita di terreno disponibile e dalla quantit`a di acqua, come risulta dalla seguente tabella:
Cooperativa Terra disponibile Acqua disponibile (ettari) (migliaia metri cubi) 1 160 400 2 240 600 3 120 175
I raccolti possibili sono barbabietole, cotone e sorgo. Queste coltivazioni differiscono per la quantit`a di acqua di cui necessitano e per il rendimento netto per ettaro, dati riportati nella seguente tabella:
Prodotto Consumo di acqua Guadagno netto (metri-cubi/ettaro) (euro/ettaro) Barbabietole 3 1000 Cotone 2 750 Sorgo 1 250
Si deve considerare inoltre che per ciascuna coltivazione la comunita ha fissato la massima quantita di terreno coltivabile che si puo usare: 240 ettari per le barbabietole, 200 per il cotone e 130 per il sorgo. Inoltree stato stabilito che la percentuale di terreno che ogni cooperativa puo utilizzare per le coltivazioni deve essere la stessa. Ovviamente le quantita da determinare sono le aree di ciascuna delle tre cooperative da destinare alle tre coltivazioni, quindi definiamo nove variabili:
Coltivazione Cooperativa 1 2 3 Barbabietola x 1 x 2 x 3 Cotone x 4 x 5 x 6 Sorgo x 7 x 8 x 9
Ovviamente la funzione da massimizzare e il guadagno totale netto che si ottiene moltiplicando la quantita totale di ettari destinati a ciascun singolo prodotto per il guadagno netto per ettaro:
Z = 1000(x 1 + x 2 + x 3 ) + 750(x 4 + x 5 + x 6 ) + 250(x 7 + x 8 + x 9 ).
si deve decidere la numerosita. Per questo vengono analizzate le necessita legate ai diversi momenti della giornata, considerando che il proprio perso- nale deve essere ripartito in 5 turni di lavoro che coprono l’intero arco delle 24 ore: Turno 1: dalle 6.00 alle 14. Turno 2: dalle 8.00 alle 16. Turno 3: dalle 12.00 alle 20. Turno 4: dalle 16.00 alle 24. Turno 5: dalle 22.00 alle 6.00. Inoltre, per il numero minimo di lavoratori che devono essere presenti nelle diverse fasce orarie della giornata e per i relativi costi di un’unita di personale sono stati individuati i seguenti dati:
Turno Fascia oraria 1 2 3 4 5 Addetti 6.00-8.00 × 40 8.00-10.00 × × 70 10.00-12.00 × × 65 12.00-14.00 × × × 80 14.00-16.00 × × 65 16.00-18.00 × × 70 18.00-20.00 × × 80 20.00-22.00 × 40 22.00-24.00 × × 50 24.00-6.00 × 15 Costo per addetto 170 e 160 e 175 e 180 e 200 e
Il problema e determinare il numero di dipendenti che devono essere assegnati a ciascun turno in modo tale da minimizzare il costo complessivo e superando il numero minimo di persone che devono essere presenti in ciascuna fascia oraria. E evidente in questo caso definire le seguenti variabili:
xj = numero di dipendenti assegnati al turno j, j = 1, 2 , 3 , 4 , 5.
Il vincolo principale per i possibili valori di queste variabili `e che il loro numero presente durante ogni intervallo di tempo deve superare i valori ri- portati nell’ultima colonna. Per esempio dalle 8.00 alle 10.00 sono in servizio i dipendenti del secondo e del terzo turno e la loro somma deve superare 70:
x 1 + x 2 ≥ 70.
La funzione da minimizzare e il costo complessivo giornaliero chee la somma dei costi relativi ai dipendenti assegnati a ciascun turno, quindi:
minimizzare Z = 170x 1 + 160x 2 + 175x 3 + 180x 4 + 200x 5
mentre i vincoli sono:
x 1 ≥ 40 x 1 +x 2 ≥ 70 x 1 +x 2 ≥ 65 x 1 +x 2 +x 3 ≥ 80 x 2 +x 3 ≥ 65 x 3 +x 4 ≥ 70 x 3 +x 4 ≥ 80 x 4 ≥ 40 x 4 +x 5 ≥ 50 x 5 ≥ 15
e inoltre xj ≥ 0 , j = 1,... , 5
ed xj variabile intera per ogni j. Si puo osservare che alcuni vincoli non sono necessari. Infatti i vincoli di nonnegativita per x 1 , x 4 e x 5 sono ridondanti in virtu del primo, dell’ottavo e del decimo vincolo, cosı come anche il terzo vincolo, a causa della presenza del secondo (se la somma tra x 1 e x 2 deve essere maggiore di 70 allora `e chiaro che supera anche 65) ma anche il sesto esattamente per un motivo analogo.
Un problema di pianificazione urbana
Il piano regolatore di una citt`a prevede che in una zona debbano essere co- struiti il nuovo ospedale, il carcere, una caserma dei Vigili del Fuoco, una scuola, un parcheggio ed una chiesa. Sono state individuate 6 zone in cui le strutture potrebbero essere costruite e, per ciascun’opera, sono stati deter- minati i costi per l’eventuale realizzazione in ognuna delle aree. Tali costi (in milioni di euro) sono riassunti nella seguente tabella.
Se la scelta fosse stata quella schematizzata dalla matrice (1.1) allora il costo complessivo sarebbe stato pari a
Z = 7 + 8 + 3.5 + 2.5 + 0.3 + 2 = 15.3 Me.
Obiettivo `e quello di minimizzare la funzione (1.2) al variare di tutte le possibili matrici (1.1). I vincoli sono legati alla richiesta che ogni riga ed in ogni colonna della matrice X ci deve essere solo un elemento uguale a
o essere tradotto richiedendo che la somma degli elementi di ogni riga e di ogni colonna della matrice X sia uguale a 1 e che gli elementi possano essere uguali a 0 o a 1. Riassumendo il modello matematicoe il seguentemin Z =
i=
j=
cij xij
soggetto ai vincoli ∑^6
j=
xij = 1, i = 1,... , 6
∑^6
i=
xij = 1, j = 1,... , 6
xij ∈ { 0 , 1 }.
Un esempio sportivo
Sapendo che una squadra di pallavolo dopo 15 partite di campionato ha vinto 20 set e ne ha persi 30, si vuol determinare il massimo dei punti che potrebbe avere ottenuto. Come noto i possibili risultati di una partita di pallavolo sono solo sei: tre per la vittoria (per 3 set a zero, 3 set a 1 oppure 3 set a 2) e tre per la sconfitta (analogamente 0-3, 1-3 oppure 2-3). Il numero di punti assegnati per la vittoria varia da 3 (se il risultato e 3-0 oppure 3-1) o 2 (se il risultatoe 3-2). Per la sconfitta e assegnato solo un punto se il risultatoe 2-3, altrimenti non sono assegnati punti. Poichee noto il numero dei set vinti e persi conviene
definire sei variabili, ognuna delle quali conta un diverso risultato:
x 1 = numero di vittorie per 3 − 0; x 2 = numero di vittorie per 3 − 1; x 3 = numero di vittorie per 3 − 2; x 4 = numero di sconfitte per 0 − 3; x 5 = numero di sconfitte per 1 − 3; x 6 = numero di sconfitte per 2 − 3.
In questo caso il numero di punti `e la funzione
Z = 3x 1 + 3x 2 + 2x 3 + x 6
che deve essere massimizzata. I vincoli sono tre:
x 1 + x 2 + x 3 + x 4 + x 5 + x 6 = 15;
3 x 1 + 3x 2 + 3x 3 + x 5 + 2x 6 = 20;
x 2 + 2x 3 + 3x 4 + 3x 5 + 3x 6 = 30.
Riassumendo, la formulazione matematica del problema `e la seguente
max Z = 3x 1 + 3x 2 + 2x 3 + x 6 x 1 + x 2 +x 3 +x 4 +x 5 +x 6 = 15 3 x 1 + 3 x 2 +3x 3 +x 5 +2x 6 = 20 x 2 +2x 3 +3x 4 +3x 5 +3x 6 = 30. xi ≥ 0 , i = 1,... , 6 , variabili intere.
Il problema del trasporto
Una ditta di trasporto deve trasferire container vuoti dai propri 6 Magazzini, situati a Verona, Perugia, Roma, Pescara, Taranto e Lamezia, ai principali Porti nazionali (Genova, Venezia, Ancona, Napoli, Bari). Le disponibilit`a di container vuoti ai Magazzini sono le seguenti
con i = 1,... , 6 , e j = 1,... , 5. Per semplicita indichiamo con cij il costo unitario per trasportare un contai- ner dall’i−esmo magazzno al j−esimo porto. La funzione obiettivo, da minimizzare,e pertanto
i=
j=
cij xij.
I vincoli derivano dalla richiesta che ovviamente tutti i container presen- ti in ciascun magazzino devono essere inviati ai porti. Pertanto avremo esattamente 6 vincoli di uguaglianza:
x 11 +x 12 +x 13 +x 14 +x 15 = 10 x 21 +x 22 +x 23 +x 24 +x 25 = 12 x 31 +x 32 +x 33 +x 34 +x 35 = 20 x 41 +x 42 +x 43 +x 44 +x 55 = 24 x 51 +x 52 +x 53 +x 54 +x 55 = 18 x 61 +x 62 +x 63 +x 64 +x 65 = 30
Analogamente ogni porto potra ricevere un numero di container pari alla sua capacita. Dobbiamo pertanto aggiungere altri 5 vincoli, uno per ciascun porto: x 11 +x 21 +x 31 +x 41 +x 51 +x 61 = 20 x 12 +x 22 +x 32 +x 42 +x 52 +x 62 = 15 x 13 +x 23 +x 33 +x 43 +x 53 +x 63 = 25 x 14 +x 24 +x 34 +x 44 +x 54 +x 64 = 33 x 15 +x 25 +x 35 +x 45 +x 55 +x 65 = 21
A questi vanno aggiunti i vincoli di interezza per ciascuna variabile xij.
Un esempio di pianificazione edilizia
In un terreno di 8 ettari una societ`a deve costruire alcuni impianti sportivi, ovvero campi di calcio, di calcetto, di tennis, di pallavolo e di pallacanestro. Si vuole massimizzare il numero di impianti da costruire considerando che i relativi costi e le dimensioni sono riassunti nella seguente tabella:
Impianto Dimensioni (in metri) Costo (in Me) Calcio 100 × 50 1. 0 Calcio a 5 40 × 20 0. 4 Tennis 24 × 11 0. 3 Pallavolo 18 × 9 0. 5 Pallacanestro 28 × 15 0. 5
Bisogna inoltre considerare che l’estensione di ciascun impianto va aumenta- ta del 10% per gli spazi da adibire a strade, spogliatoi e spazio libero intorno ai campi, che la societa ha a disposizione 4 milioni di euro, che bisogna co- struire almeno un impianto per ciascuna tipologia e che il numero di campi di pallacanestro e pallavolo non deve superare la meta del numero degli altri impianti. La funzione da massimizzare `e il numero di impianti complessivo pertanto bi- sogna conoscere il numero di ciascun tipo di impianto da costruire. Definiamo pertanto 5 variabili:
x 1 = Numero di campi di calcio da costruire x 2 = Numero di campi di calcio a 5 da costruire x 3 = Numero di campi di tennis da costruire x 4 = Numero di campi di pallavolo da costruire x 5 = Numero di campi di pallacanestro da costruire.
La funzione obiettivo, da massimizzare, `e pertanto la seguente:
Z = x 1 + x 2 + x 3 + x 4 + x 5.
Il primo vincolo riguarda lo spazio a disposizione, bisogna pertanto calcolare i metri quadri richiesti da ciascun impianto sportivo.
Superificie campo di calcio = 100 × 50 m^2 = 5000 +10% = 5050m^2 Superificie campo di calcio a 5 = 40 × 20 m^2 = 800 +10% = 880m^2 Superificie campo di tennis = 24 × 11 m^2 = 464 +10% = 510. 4 m^2 Superificie campo di pallavolo = 18 × 9 m^2 = 162 +10% = 178. 2 m^2 Superificie campo di pallacanestro = 28 × 15 m^2 = 720 +10% = 792m^2.
Pertanto deve risultare:
5050 x 1 + 880x 2 + 510. 4 x 3 + 178. 2 x 4 + 792x 5 ≤ 80000 m^2.