Algoritmi esatti. La teoria ci dice che per problemi difficili (come il
|
|
- Salvatore Bondi
- 6 anni fa
- Visualizzazioni
Transcript
1 p. 1/4 Algoritmi esatti La teoria ci dice che per problemi difficili (come il KNAPSACK o, ancora di più, il TSP ) i tempi di risoluzione delle istanze, calcolati tramite analisi worst-case, tendono a crescere in modo esponenziale rispetto alla loro dimensione. Tuttavia questo non vuol dire che si deve sempre rinunciare a risolvere le istanze di tali problemi in modo esatto. Esistono per essi algoritmi esatti in grado di risolvere anche istanze di dimensioni tutt altro che banali. Ad esempio, con algoritmi particolarmente sofisticati e con una elevata potenza di calcolo si sono risolti anche problemi TSP con nodi.
2 p. 2/4 Enumerazione implicita Molti algoritmi esatti si basano sul concetto di enumerazione implicita delle soluzioni. Questa consiste nello scartare, tramite opportune tecniche, sottinsiemi di elementi della regione ammissibile senza dover valutare esplicitamente per ciascuno di essi la funzione obiettivo, avendo stabilito che in tali sottinsiemi non vi possono essere soluzioni migliori rispetto alla miglior soluzione nota. L enumerazione implicita si contrappone alla già citata enumerazione esplicita dove la funzione obiettivo viene valutata in ogni elemento della regione ammissibile.
3 p. 3/4 Approcci esatti che vedremo In questo capitolo vedremo due classi di algoritmi esatti: algoritmi branch-and-bound; algoritmi di programmazione dinamica. Per illustrare tali algoritmi, mostreremo un algoritmo branch-and-bound applicato al problema KN AP SACK e uno applicato al problema TSP, mentre per la programmazione dinamica mostreremo un esempio applicato al problema KN AP SACK.
4 p. 4/4 Modello KNAPSACK - variabili Associamo ad ogni oggetto i una variabile binaria x i tale che { 1 se l oggetto i viene messo nello zaino x i = 0 altrimenti Si avrà dunque x i {0, 1}.
5 p. 5/4 Modello- il vincolo L unico vincolo nel problema KNAPSACK è quello che il peso complessivo degli oggetti inseriti nello zaino non deve superare la capacità dello zaino e quindi: n i=1 p i x i b.
6 p. 6/4 Modello matematico - l obiettivo Il valore contenuto nello zaino è dato da: n i=1 v i x i, e tale valore è da massimizzare.
7 p. 7/4 Modello matematico per il KNAPSACK max n i=1 v ix i n i=1 p ix i b x i {0, 1} i {1,...,n} Si noti l estrema semplicità del modello per il problema di KNAPSACK dove appare un solo vincolo, che fa da contrasto con la difficoltà del problema stesso.
8 p. 8/4 Esempio Istanza con b = 16 e: i v i p i Modello: max 8x 1 + 6x x 3 + x 4 7x 1 + 7x x 3 + 4x 4 16 x 1,x 2,x 3,x 4 {0, 1}
9 p. 9/4 Modello matematico TSP - variabili Dato il grafo completo orientato G = (V,A), associamo ad ogni arco (i,j) A una variabile { 1 se l arco (i, j) fa parte del circuito hamiltoniano x ij = 0 altrimenti Quindi x ij {0, 1}.
10 p. 10/4 Modello matematico - i vincoli Dal momento che la regione ammissibile del problema TSP è formata da circuiti hamiltoniani, dovremo: introdurre vincoli che siano soddisfatti da tutti e soli gli assegnamenti di valori alle variabili coincidenti con circuiti hamiltoniani.
11 Vincoli I Per ogni circuito hamiltoniano si ha che in ogni vertice c è esattamente un arco entrante nel vertice ed esattamente uno che esce dal vertice: Per ogni vertice j V : i V, i j x ij = 1, (uno ed un solo arco entrante in j). Per ogni vertice j V : i V, i j x ji = 1, (uno ed un solo arco uscente da j). p. 11/4
12 p. 12/4 Esempio Grafo orientato completo con 4 nodi e questa tabella di distanze:
13 p. 13/4 Vincoli su archi uscenti Nodo 1: Nodo 2: Nodo 3: Nodo 4: x 12 + x 13 + x 14 = 1 x 21 + x 23 + x 24 = 1 x 31 + x 32 + x 34 = 1 x 41 + x 42 + x 43 = 1
14 p. 14/4 Vincoli su archi entranti Nodo 1: Nodo 2: Nodo 3: Nodo 4: x 21 + x 31 + x 41 = 1 x 12 + x 32 + x 42 = 1 x 13 + x 23 + x 43 = 1 x 14 + x 24 + x 34 = 1
15 p. 15/4 Ma questi vincoli non sono sufficienti. Infatti, se è vero che sono soddisfatti da tutti i circuiti hamiltoniani, è anche vero che sono sodisfatti anche da soluzioni contenenti sottocircuiti. Quindi sarà necessario introdurre una nuova classe di vincoli che siano sempre soddisfatti da tutti i circuiti hamiltoniani ma che non siano soddisfatti da tali soluzioni corrispondenti a sottocircuiti.
16 p. 16/4 Nell esempio Il seguente assegnamento di valori alle variabili: x 12 = x 21 = x 34 = x 43 = 1 con tutte le altre variabili = 0, soddisfa i vincoli ma non rappresenta un circuito hamiltoniano (rappresenta i due sottocircuiti e 3 4 3).
17 p. 17/4 Vincoli II Per eliminare la formazione di sottocircuiti possiamo usare questi vincoli: U V : 2 U V 2 x ij 1, i U, j V \U che richiedono che per ogni possibile partizione di V in due sottinsiemi (ciascuno di cardinalità almeno pari a 2), deve esserci almeno un arco che va da un sottinsieme all altro. Questo esclude tutti i possibili sottocircuiti.
18 p. 18/4 Nell esempio U = {1, 2} x 13 + x 14 + x 23 + x 24 1 (in particolare, questo vincolo esclude l assegnamento di variabili precedente) U = {1, 3} x 12 + x 14 + x 32 + x 34 1 U = {1, 4} x 12 + x 13 + x 42 + x 43 1 U = {2, 3} x 21 + x 24 + x 31 + x 34 1 U = {2, 4} x 21 + x 23 + x 41 + x 43 1 U = {3, 4} x 31 + x 32 + x 41 + x 42 1
19 p. 19/4 In realtà metà di questi vincoli è ridondante: dati due sottinsiemi tra loro complemementari, è sufficiente mettere il vincolo relativo ad uno solo di essi (ad esempio possiamo mettere uno solo dei due vincoli relativi a U = {1, 2} e U = {3, 4}).
20 p. 20/4 Riassumendo l insieme di vincoli che definisce tutti e soli i circuiti hamiltoniani è il seguente: i V, i j x ij = 1 j V i V, i j x ji = 1 j V i U, j V \U x ij 1 U V : 2 U V 2 x ij {0, 1} i,j {1,...,n}, i j
21 p. 21/4 Obiettivo Tra tutti i circuiti hamiltoniani noi cerchiamo quello con valore minimo e quindi l obiettivo del problema sarà il seguente: v ij x ij. Nell esempio: i,j V, i j min x x x 14 + x x x x x x x x x 43
22 p. 22/4 Modello matematico TSP min i,j V, i j v ijx ij i V, i j x ij = 1 j V i V, i j x ji = 1 j V i U, j V \U x ij 1 U V : 2 U V 2 x ij {0, 1} i,j {1,...,n}, i j
23 p. 23/4 Branch-and-bound Tra le tecniche di risoluzione esatte per problemi difficili una molto popolare è quella denominata branch-and-bound. Ne daremo una descrizione generale e ne vedremo poi un esempio applicato al problema KNAPSACK e uno applicato al problema TSP. Descriveremo l algoritmo generico di branch-and-bound per problemi di massimo. Di seguito segnaleremo le piccole variazioni che vanno introdotte per problemi di minimo.
24 p. 24/4 Componenti algoritmo:upper bound Sia data la regione ammissibile S e la funzione obiettivo f dell istanza di un problema di ottimizzazione. Si consideri un sottinsieme T S della regione ammissibile. Una limitazione superiore o upper bound per T è un valore U(T) con la seguente proprietà U(T) f(x) x T.
25 p. 25/4 Il calcolo dell upper bound Il valore U(T) viene calcolato tramite una procedura che deve cercare di soddisfare queste due proprietà in conflitto tra loro: i tempi di esecuzione della procedura devono essere brevi (in particolare, il calcolo degli upper bound deve richiedere un tempo molto inferiore rispetto al tempo necessario per risolvere l intero problema); il valore U(T) deve essere il più vicino possibile al massimo valore di f su T. Spesso la scelta di una procedura per il calcolo dell upper bound è fortemente legata al particolare problema che si sta risolvendo. Inoltre, non esiste un unica procedura per un dato problema.
26 p. 26/4 Upper bound e rilassamento Un modo comunemente utilizzato per determinare un upper bound U(T) è quello di determinare la soluzione di un suo rilassamento. Indichiamo con: α(f,t) = max x T f(x), il valore ottimo della funzione f sull insieme T. Si definisce rilassamento del problema, un problema: α(f,t ) = max x T f (x) dove: T T e f (x) f(x) x T.
27 Osservazione Si ha che: α(f,t ) α(f,t). Dimostrazione Sia x T una soluzione ottima del problema su T, cioè: f(x ) = α(f,t), e sia x T una soluzione ottima del rilassamento, cioè: f (x ) = α(f,t ). Si ha che x T implica x T. Inoltre, si ha: f (x ) f(x ). Infine, l ottimalità di x implica f (x ) f (x ) e quindi: α(f,t ) = f (x ) f (x ) f(x ) = α(f,t), p. 27/4
28 p. 28/4 Un rilassamento già noto Esistono molti possibili rilassamenti di un problema. Tra questi, uno che è già stato incontrato è il rilassamento lineare per problemi di PLI. Sia dato il generico problema di PLI: max cx Ax b x 0 x Z n.
29 p. 29/4 Questo è un particolare problema di ottimizzazione combinatoria con: f(x) = cx T = {x Z n : Ax b, x 0}. Il rilassamento lineare di tale problema è un particolare rilassamento con: f (x) f(x) T = {x R n : Ax b, x 0},
30 p. 30/4 Il rilassamento lineare coincide con questo problema di PL: max cx Ax b x 0 NB: come richiesto, il rilassamento lineare, essendo un problema di PL, è risolvibile in tempi molto più rapidi dell originario problema di PLI.
31 p. 31/4 Il rilassamento lagrangiano Supponiamo che il nostro problema sia formulato come problema di PLI: max cx Ax b Cx d x 0 x Z n. Quindi con: f(x) = cx, T = {x Z n : Ax b, Cx d, x 0}.
32 p. 32/4 Ipotesi Supponiamo che i vincoli Ax b siano "facili" (ad esempio, A è TU e b è a coordinate tutte intere). Qunidi eliminando i vincoli "difficili" Cx d resta un problema di PLI facile da risolvere (basta risolverne il rilassamento lineare). Per eliminarli li spostiamo nell obiettivo.
33 p. 33/4 Continua Dato un vettore λ 0, detto vettore dei moltiplicatori di Lagrange, delle stesse dimensioni di d, il rilassamento lagrangiano è il seguente: u(λ) = max cx + λ(d Cx) Ax b x 0 x Z n. con e f (x) = cx + λ(d Cx) T = {x Z n : Ax b, x 0}.
34 p. 34/4 Continua Ovviamente, T T. Inoltre, per ogni x T si ha che: Cx d λ 0 : λ(d Cx) 0 f (x) f(x). Quindi sono soddisfatte le due condizioni che devono essere soddisfatte da un rilassamento.
35 p. 35/4 Infine notiamo che nel rilassamento lagrangiano rimangono solo i vincoli "facili" e quindi esso può essere risolto in tempo polinomiale, come viene richiesto per il calcolo di un upper bound. Notiamo anche che ad ogni λ 0 distinto corisponde un diverso upper bound u(λ). Per ottenere il miglior upper bound possibile (ovvero il più piccolo), possiamo risolvere questo ulteriore problema: detto duale lagrangiano. min u(λ) λ 0
36 p. 36/4 Caso particolare Scegliendo λ = 0 abbiamo un caso particolare di rilassamento lagrangiano in cui i vincoli "difficili" del problema vengono semplicemente eliminati.
37 p. 37/4 Osservazione In alcuni casi i vincoli "difficili" del problema sono vincoli di uguaglianza Cx = d. In tal caso, il rilassamento lagrangiano si definisce nello stesso modo ma i moltiplicatori di Lagrange relativi ai vincoli di uguaglianza non sono vincolati ad assumere solo valori non negativi ma possono assumere anche valori negativi.
38 p. 38/4 Lower bound Un limite inferiore o lower bound per il valore ottimo del nostro problema è un valore LB che soddisfa la seguente proprietà: LB f(x ) = max x S f(x).
39 p. 39/4 Come si calcola? Se prendiamo un qualsiasi elemento x S e valutiamo in esso la funzione f, il valore f(x) è già un lower bound, dal momento che f(x) f(x ). Durante l esecuzione di un algoritmo branch-and-bound la funzione f viene valutata per molti elementi y 1,...,y h S e per ognuno di essi si ha f(y i ) f(x ) i = 1,...,h. A noi interessa un valore LB il più possibile vicino al valore ottimo del problema. Quindi, poniamo LB = max{f(y i ) : i = 1,...,h} f(x ).
40 Ma da dove ricaviamo gli elementi di S in cui valutare la funzione f durante l esecuzione dell algoritmo? Se si ha a disposizione un euristica è buona norma valutare f nel risultato di tale euristica; durante lo stesso calcolo degli upper bound si possono individuare uno o più elementi di S e valutare in essi f. Ad esempio, se si calcola l upper bound U(T) tramite un rilassamento, nei casi in cui per la soluzione x T T valga anche x T, allora si ha anche x S e si può valutare f in x. In altri casi non si ha x T ma con opportune operazioni (quali arrotondamenti o approssimazioni per eccesso/difetto di valori di variabili) si può determinare partendo da x T una soluzione x T (un esempio di ciò lo incontreremo nell algoritmo branch-and-bound per il problema dello zaino). p. 40/4
41 p. 41/4 Branching L operazione di branching consiste nel rimpiazzare un insieme T S con una sua partizione T 1,...,T m. Si ricordi che T 1,...,T m formano una partizione di T se T = m i=1t i T i T j = i j. La partizione può essere rappresentata tramite una struttura ad albero: l insieme T è un nodo dell albero da cui partono i rami (da qui il nome branching) verso i nodi della partizione, che vengono anche detti nodi successori o nodi figli del nodo T.
42 p. 42/4 Cancellazione di sottinsiemi Il punto chiave degli algoritmi di branch-and-bound è la cancellazione di sottinsiemi. Supponiamo che per un dato sottinsieme, T 2 ad esempio, si abbia U(T 2 ) LB. Ma questo vuol dire che x T 2 f(x) U(T 2 ) LB, e cioè tra tutti gli elementi in T 2 non ne possiamo trovare alcuno con valore di f superiore a LB, ovvero al miglior valore di f osservato fino a questo momento. A questo punto posso cancellare il sottinsieme T 2.
43 p. 43/4 Cancellazione ed enumerazione implicita La cancellazione equivale ad una enumerazione implicita: il confronto tra upper bound U(T 2 ) del sottinsieme e lower bound LB ci consente di scartare tutti gli elementi in T 2 senza dover calcolare la funzione f in essi. La regola di cancellazione appena introdotta ci fa capire perché vogliamo un valore di upper bound U(T 2 ) il più vicino possibile al valore ottimo di f sul sottinsieme T 2 e un valore LB il più possibile vicino al valore ottimo del problema: in questo modo è più semplice cancellare il sottinsieme tramite la condizione U(T 2 ) LB.
44 L algoritmo branch-and-bound Passo 1 Si ponga C = {S} e Q = (l insieme C conterrà sempre i sottinsiemi ancora da tenere in considerazione e inizialmente contiene l intero insieme S, mentre l insieme Q, inizialmente vuoto, conterrà tutti i sottinsiemi cancellati). Si ponga k = 1. Si calcoli U(S) e si calcoli un valore per LB (eventualmente utilizzando anche i risultati di un euristica, se disponibile). Se non si dispone di soluzioni ammissibili, si ponga LB =. Passo 2 (Selezione di un sottinsieme) Si selezioni un sottinsieme T C. Tra le varie regole di selezione citiamo qui quella di selezionare il sottinsieme T in C con il valore di upper bound più elevato, cioè U(T) = max Q C U(Q). p. 44/4
45 p. 45/4 Passo 3 (Branching) Si sostituisca l insieme T in C con la sua partizione in m k sottinsiemi T 1,...,T mk, ovvero C = C {T 1,...,T mk } \ {T }. Passo 4 (Upper bounding) Si calcoli un upper bound U(T i ), i = 1,...,m k per ogni sottinsieme della partizione. Passo 5 (Lower bounding) Si aggiorni, eventualmente, il valore LB (si ricordi che il valore LB corrisponde sempre al massimo dei valori di f osservati durante l esecuzione dell algoritmo).
46 p. 46/4 Passo 6 (Cancellazione sottinsiemi) Si escludano da C tutti i sottinsiemi Q per cui U(Q) LB, ovvero C = C \ {Q : U(Q) LB}. e si trasferiscano tali sottinsiemi in Q, cioè: Q = Q {Q : U(Q) LB}. Passo 7 Se C = : stop, il valore LB coincide con il valore ottimo f(x ). Altrimenti si ponga k = k + 1 e si ritorni al Passo 2.
47 p. 47/4 Osservazione Se C =, LB è il valore ottimo del nostro problema (se è pari a, allora S = ). Questa affermazione è una conseguenza del fatto che, nel momento in cui C =, tutti i sottinsiemi cancellati fino a quel momento, cioè la collezione Q di sottinsiemi, formano una partizione dell intero insieme S. Quindi tra di essi ve ne è certamente uno, indicato con T Q, che contiene x. Ma poiché T è stato cancellato si dovrà avere f(x ) U(T ) LB f(x ), da cui segue immediatamente che LB = f(x ).
48 Modifiche per problemi di minimo ad un sottinsieme Q S dovrà essere associato un valore di lower bound L(Q); al posto del valore LB avremo un valore UB con la proprietà UB f(x ) = min x S f(x). Il valore UB sarà il minimo tra i valori osservati della funzione obiettivo in punti della regione ammissibile S. Il sottinsieme Q viene cancellato se è vero che L(Q) UB. Al Passo 2 della procedura di branch-and-bound si seleziona un nodo con lower bound più piccolo, ovvero un nodo T tale che L(T) = min Q C L(Q). p. 48/4
Branch-and-bound per KNAPSACK
p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano
DettagliBranch-and-bound per TSP
p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza
Dettagli3.4 Metodo di Branch and Bound
3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land
DettagliParte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
DettagliFigura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.
ESERCIZIO 1 Sia dato il grafo orientato in Figura 1. Si consideri il problema di flusso a 1 2 4 Figura 1: costo minimo su tale grafo con b 1 = 4 b 2 = 2 b = b 4 = e c 12 = 2 c 1 = 4 c 14 = 1 c 2 = 1 c
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities
Metodi e Modelli per l Ottimizzazione Combinatoria Cover inequalities L. De Giovanni M. Di Summa In questa lezione introdurremo una classe di disuguaglianze, dette cover inequalities, che permettono di
DettagliAlgoritmo di Branch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria
Dettaglii completi l'esecuzione dell'algoritmo di programmazione dinamica per questo problema restituendo il valore ottimo e una soluzione ottima del problema
Compito di Ricerca Operativa II Esercizio ( punti). ia dato il problema di flusso massimo sulla rete in figura (le capacit a degli archi sono riportate sopra di essi). 0 8 i consideri il seguente flusso
DettagliPossibile applicazione
p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile
DettagliProblema del trasporto
p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in
DettagliRicerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015
1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)
DettagliCOMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04
COMPITO DI RICERCA OPERATIVA APPELLO DEL 08/01/04 Esercizio 1 Si risolva con il metodo branch-and-bound il seguente problema di PLI max x 1 + x 4x 1 + x + x = 0 x 1 + x + x 4 = x 1, x, x, x 4 0 x 1, x,
DettagliMETODI DELLA RICERCA OPERATIVA
Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)
DettagliMacchine parallele M 1 M 2 M 3 J 1 J 2 LAVORI J 3 J 4
Macchine parallele M 1 J 1 J 2 LAVORI M 2 J 3 J 4 M 3 Macchine parallele Scheduling su macchine parallele scorrelate R C max Descrizione del problema n lavori devono essere processati da m macchine diverse
DettagliParte III: Algoritmo di Branch-and-Bound
Parte III: Algoritmo di Branch-and-Bound Divide et Impera Sia z * max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)
DettagliProgrammazione a numeri interi: il metodo del Branch and Bound
Programmazione a numeri interi: il metodo del Branch and Bound L. De Giovanni G. Zambelli Un problema di programmazione lineare intera è una problema della forma z I = maxc T x Ax b x 0 x i Z, i I. (1)
DettagliProgrammazione Lineare Intera. Programmazione Lineare Intera p. 1/4
Programmazione Lineare Intera Programmazione Lineare Intera p. 1/4 Programmazione Lineare Intera Problema di PLI in forma standard: max cx Ax = b x 0, x I n I insieme degli interi. Regione ammissibile:
DettagliRilassamento Lagrangiano
RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema
DettagliOttimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33
Ottimizzazione su grafi: massimo flusso (parte 1) Ottimizzazione su grafi:massimo flusso (parte 1) p. 1/33 Ottimizzazione su grafi:massimo flusso (parte 1) p. 2/33 Reti di flusso Una rete di flusso è una
DettagliProblemi di flusso a costo minimo
p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.
DettagliRilassamento Lagrangiano
Rilassamento Lagrangiano AA 2009/10 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il
DettagliGestione della produzione e della supply chain Logistica distributiva
Gestione della produzione e della supply chain Logistica distributiva Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Convergenza dell algoritmo Se non
Dettagli3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI
3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:
DettagliSoluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2014-2015 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Daniele Vigo rev. 1.1.a ottobre 2014 Fondamenti di Ricerca Operativa
Dettagli5.5 Metodi generali per la soluzione di problemi
5.5 Metodi generali per la soluzione di problemi di PLI I problemi di PLI hanno caratteristiche molto diverse dai problemi di PL. In alcuni casi, la soluzione del problema lineare rilassato, ottenuto cioè
DettagliIl problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
Dettagli5.3 Metodo dei piani di taglio
5.3 Metodo dei piani di taglio (PLI) min s.v. c T x Ax b x interi X Ipotesi: a ij, c j e b i interi Osservazione: La regione ammissibile di un PLI può essere descritta mediante dei vincoli più o meno stringenti
DettagliProgrammazione Matematica: VI Estensioni dell algoritmo del Simplesso
Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso
DettagliCOMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0
COMPITO DI RICERCA OPERATIVA ESERCIZIO. (5 punti) Sia dato il seguente problema di PL: max x + x 2 x 2x 2 + x 3 = 4 x x 2 x 3 = 3 x 2 + 2x 3 = x, x 2, x 3 0 Utilizzando il metodo due fasi, si stablisca
DettagliALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I
ALGORITMI DI OTTIMIZZAZIONE M Esercizi Parte I Esercizio 1 Dati n oggetti ed un contenitore, ad ogni oggetto j (j = 1,, n) sono associati un peso p j ed un costo c j (con p j e c j interi positivi). Si
DettagliIl metodo dei Piani di Taglio (Cutting Planes Method)
Il metodo dei Piani di Taglio (Cutting Planes Method) E un metodo di soluzione dei problemi (IP) di tipo generale. L idea di base: Se la soluzione di (RL) non è intera allora la soluzione ottima intera
DettagliIl metodo del simplesso. Il metodo del simplesso p. 1/8
Il metodo del simplesso Il metodo del simplesso p. 1/8 Ipotesi iniziale Data la base B e la riformulazione rispetto a essa: max γ 0 + n m j=1 γ jx im+j x i1 = β 1 + n m j=1 α 1jx im+j x ik = β k + n m
DettagliTecniche euristiche Ricerca Locale
Tecniche euristiche Ricerca Locale PRTLC - Ricerca Locale Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento
DettagliFlusso a Costo Minimo
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria Dal
DettagliRisoluzione di problemi di programmazione lineare tramite generazione di colonne
Risoluzione di problemi di programmazione lineare tramite generazione di colonne A. Agnetis 1 Introduzione In alcune applicazioni, un problema può essere formulato in termini di programmazione lineare,
DettagliProgrammazione Lineare Intera: Piani di Taglio
Programmazione Lineare Intera: Piani di Taglio Andrea Scozzari a.a. 2014-2015 April 22, 2015 Andrea Scozzari (a.a. 2014-2015) Programmazione Lineare Intera: Piani di Taglio April 22, 2015 1 / 23 Programmazione
DettagliCOMPITO DI RICERCA OPERATIVA. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 3 x 1 + x 2 2 2x 1 + x 2 3.
COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (5 punti) Sia dato il seguente problema di PL: min x 1 + x 2 x 1 + x 2 x 1 + x 2 2 2x 1 + x 2 x 1 0 x 2 0 Si trasformi questo problema in forma standard e lo si
DettagliSoluzione dei problemi di Programmazione Lineare Intera
Fondamenti di Ricerca Operativa T-A a.a. 2015-2016 Soluzione dei problemi di Programmazione Lineare Intera Andrea Lodi, Enrico Malaguti, Paolo Tubertini, Daniele Vigo rev. 2. ottobre 2016 Fondamenti di
DettagliLA PROGRAMMAZIONE MATEMATICA (p.m.)
LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x
DettagliGeometria della programmazione lineare
Geometria della programmazione lineare poliedri punti estremi, vertici, soluzioni di base esistenza di punti estremi rif. Fi 3.1; BT 2.1, 2.2, 2.5 Iperpiani, semispazi Definizione Sia a un vettore non
DettagliCOME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI
COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI In questa Appendice, mostreremo come un impresa possa individuare la sua combinazione di minimo costo dei fattori produttivi attraverso il calcolo
DettagliProblemi di localizzazione di servizi (Facility Location Problems)
9. Problemi di Localizzazione di Servizi 1 Problemi di localizzazione di servizi (Facility Location Problems) Dato un insieme di clienti richiedenti una data domanda di merce e dato un insieme di possibili
DettagliEsame di Ricerca Operativa del 07/09/2016
Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un industria chimica produce due tipi di fertilizzanti (A e B) la cui lavorazione è affidata ai reparti di produzione e
DettagliRicerca Operativa. Ricerca Operativa p. 1/6
Ricerca Operativa Ricerca Operativa p. 1/6 Ricerca Operativa Disciplina basata sulla modellizzazione e la risoluzione tramite strumenti automatici di problemi di decisione complessi. In tali problemi la
DettagliOttimizzazione Combinatoria e Reti (a.a. 2007/08)
o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
DettagliOTTIMIZZAZIONE LINEARE MULTICRITERIO
OTTIMIZZAZIONE LINEARE MULTICRITERIO NOTAZIONE Siano x ed y vettori di R n indicati estesamente con x x x x 1 Μ i Μ n, y y1 Μ yi Μ y n e si ponga N = {1,2,, n}. Scriveremo allora: x y ( x è diverso da
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera
Metodi e Modelli per l Ottimizzazione Combinatoria Metodi Risolutivi per la Programmazione Lineare Intera L. De Giovanni G. Zambelli Un problema di programmazione lineare intera é una problema della forma
DettagliProblemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
DettagliTeoria della Programmazione Lineare Intera
0 Teoria della Programmazione Lineare Intera 0. INTRODUZIONE Come visto precedentemente, molti problemi particolarmente importanti dal punto di vista applicativo sono riconducibili alla soluzione di un
DettagliIntroduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard
Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione
Dettagli5.4.5 Struttura dell algoritmo ed esempi
CAPITOLO 5. IL METODO DEL SIMPLESSO 6 5.4.5 Struttura dell algoritmo ed esempi Come abbiamo già ampiamente osservato, la fase II del metodo del simplesso, a partire da una soluzione di base ammissibile,
Dettagli3.6 Metodi basati sui piani di taglio
3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una
DettagliMassimi e minimi vincolati
Massimi e minimi vincolati Data una funzione G C 1 (D), dove D è un aperto di R 2, sappiamo bene dove andare a cercare gli eventuali punti di massimo e minimo relativi. Una condizione necessaria affinché
DettagliEsercizi sulla Programmazione Lineare Intera
Soluzioni 4.7-4.0 Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare Intera 4.7 Algoritmo del Simplesso Duale. Risolvere con l algoritmo del simplesso duale il seguente
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
DettagliGrafi e reti di flusso
Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui
DettagliUniversità Ca Foscari Venezia
Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi FAQ sul Metodo del SIMPLESSO Università Ca Foscari Venezia, Dipartimento di Management,
DettagliRICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)
RICERCA OPERATIVA Tema d esame del 04/03/2008 (Simulazione) COGNOME: NOME: MATRICOLA:. Una nota azienda automobilistica produce due modelli di auto (un utilitaria e una berlina), che rivende con un guadagno
DettagliTeoria della Programmazione Lineare Intera
Teoria della Programmazione Lineare Intera Laura Galli Dipartimento di Informatica Largo B. Pontecorvo, 567 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 7 Ottobre 0 Ricerca Operativa Laurea
Dettaglix 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =
56 IL METODO DEL SIMPLESSO 7.4 IL METODO DEL SIMPLESSO In questo paragrafo sono riportati alcuni esercizi risolti sul metodo del simplesso. Alcuni sono risolti utilizzando la procedura di pivot per determinare,
DettagliEsame di Ricerca Operativa del 08/01/13. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:
Esame di Ricerca Operativa del 08/0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + x x +x x x 0 x + x x x 8 x x 8
DettagliProgrammazione Non Lineare
Capitolo 1 Programmazione Non Lineare 1.1 Introduzione Un problema di ottimizzazione viene definito come la minimizzazione o la massimizzazione di una funzione a valori reali su un insieme specificato.
DettagliDomande d esame. Ricerca Operativa. G. Liuzzi. Giovedí 14 Maggio 2015. 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR
1 Giovedí 14 Maggio 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Geometria di R n 1 Dare la definizione di Poliedro e Vertice di un Poliedro 2 Dare la definizione di Poliedro e di Politopo
DettagliProblemi di Flusso: Il modello del Trasporto
Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su
DettagliEsercizi su ottimizzazione vincolata
Esercizi su ottimizzazione vincolata 1. Rispondere alle seguenti domande (a) Quando un vincolo di disuguaglianza è detto attivo? (b) Cosa è l insieme delle soluzioni ammissibili? Gli algoritmi di ricerca
Dettagliu(ax b) = Consideriamo il generico moltiplicatore u i 0. Se la corrispondente quantità n
Bound di tipo duale: Rilassamento Lagrangiano In questo paragrafo descriveremo, attraverso un esempio, che cosa si intende per Rilassamento Lagrangiano. Si consideri la seguente formulazione: min s.t.
DettagliTEORIA della DUALITÀ. Una piccola introduzione. Ricerca Operativa. Prof. R. Tadei. Politecnico di Torino. Teoria della Dualità / 1.
Prof. R. adei EORIA della DUALIÀ Una piccola introduzione R. adei 1 R. adei 2 EORIA DELLA DUALIA' Il concetto di dualità fu introdotto nel 1947 da Von Neumann, anche se il teorema della dualità fu formulato
Dettagli2.3.3 Cammini ottimi nei grafi senza circuiti
.. Cammini ottimi nei grafi senza circuiti Sia un grafo G = (N, A) orientato senza circuiti e una funzione di costo che assegna un valore c ij R ad ogni arco (i, j) A circuito Proprietà I nodi di un grafo
Dettagli2. ALGORITMO DEL SIMPLESSO
. ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione
DettagliAMPL Problemi su Reti
Dipartimento di Matematica Università di Padova Corso di Laurea Informatica Outline Problemi su Reti Cammino Minimo Molti problemi di ottimizzazione combinatoria possono essere modellati ricorrendo ai
DettagliEsame di Ricerca Operativa del 16/06/2015
Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il
DettagliAlgoritmo del Simplesso
Algoritmo del Simplesso Renato Bruni bruni@dis.uniroma.it Univertà di Roma Sapienza Corso di Ricerca Operativa, Corso di Laurea Ingegneria dell Informazione Vertici e Punti Estremi di un Poliedro Un poliedro
DettagliPer formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.
3.7.4 Disuguaglianze valide forti Cerchiamo disuguaglianze valide forti, ovvero disuguaglianze valide che forniscano migliori formulazioni (più stringenti). Per formalizzare il concetto sono necessarie
DettagliIntroduzione ai grafi
TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale
DettagliMetodi generali per la soluzione di problemi di PLI
10 Metodi generali per la soluzione di problemi di PLI Per la soluzione di problemi di PLI non esistono metodi universalmente efficienti. Molto spesso è necessario utilizzare algoritmi ad hoc che siano
DettagliEsame di Ricerca Operativa del 15/01/2015
Esame di Ricerca Operativa del 1/01/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da basket e da calcio che vende rispettivamente a 1 e euro. L azienda compra ogni settimana 00
DettagliAlgoritmo per A. !(x) Istanza di B
Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione
DettagliIl metodo del simplesso. Il metodo del simplesso p. 1/12
Il metodo del simplesso Il metodo del simplesso p. 1/12 I problemi di PL in forma standard I problemi di PL in forma standard hanno la seguente formulazione: max cx a i x = b i x 0 i = 1,...,m o, equivalentemente,
DettagliEsercizi di Programmazione Lineare - Dualità
Esercizi di Programmazione Lineare - Dualità Esercizio n1 Dato il seguente problema 3 + 3 2 2 + a scriverne il duale; b risolvere il duale (anche geometricamente indicando cosa da esso si può dedurre sul
DettagliPROGRAMMAZIONE LINEARE E DUALITA'
PROGRAMMAZIONE LINEARE E DUALITA' 1) Dati i punti di R 2 (1, 2), (1, 4), (2, 3), (3, 5), (4, 1), (4, 2), (5, 5), (6, 2), (6, 5). Determinare graficamente: A - L'involucro convesso di tali punti. B - Quali
DettagliMakespan con set-up dipendenti dalla sequenza. 1/s jk /C max
Makespan con set-up dipendenti dalla sequenza 1/s jk /C max 1/s jk /C max Un tempo di riattrezzaggio (set-up) s jk è richiesto fra il processamento di j e quello di k. In questo caso, C max dipende dalla
DettagliEsercizi sulla Programmazione Lineare. min. cx Ax b x 0
Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )
Dettagli5.5 Metodi dei piani di taglio
5.5 Metodi dei piani di taglio Problema generale di Programmazione Lineare Intera (PLI) max{c t x : x X} dove X = {x Z n + : Ax b}, con A matrice m n e b vettore n 1 razionali Proposizione: conv(x) = {x
Dettagli2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
DettagliIl problema del commesso viaggiatore e problemi di vehicle routing
Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 2 Dicembre
DettagliTeoria della Programmazione Lineare. Teoria della Programmazione Lineare p. 1/8
Teoria della Programmazione Lineare Teoria della Programmazione Lineare p. 1/8 I problemi di PL in forma canonica In forma scalare: max n j=1 c jx j n j=1 a ijx j b i x j 0 i = 1,...,m j = 1,...,n Teoria
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema
DettagliIndice. 1 Introduzione... 1
Indice 1 Introduzione............................................... 1 2 Esempi di modelli......................................... 7 2.1 Problema della dieta.................................... 7 2.2
Dettagli1 Il polinomio minimo.
Abstract Il polinomio minimo, così come il polinomio caratterisico, è un importante invariante per le matrici quadrate. La forma canonica di Jordan è un approssimazione della diagonalizzazione, e viene
DettagliProblemi di localizzazione
Problemi di localizzazione Claudio Arbib Università di L Aquila Prima Parte (marzo 200): problemi con singolo decisore . Introduzione Un problema di localizzazione consiste in generale nel decidere dove
DettagliContenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/
Contenuto e scopo presentazione Contenuto: viene presentato un altro metodo di soluzione di problemi di ILP o di MILP. Modelli Lineari Interi/Misti Piani di taglio Versione /8/. Scopo: fornire le capacità
DettagliOttimizzazione e Controllo 2015/2016 ESERCITAZIONE
Ottimizzazione e Controllo 2015/2016 ESERCITAZIONE Esercizio 1. Sono dati 6 job da processare su un centro di lavorazione automatizzato che può eseguire una sola lavorazione alla volta. Di ciascun job
DettagliIl modello duale. Capitolo settimo. Introduzione
Capitolo settimo Il modello duale Introduzione Il modello duale e la teoria della dualità assumono una grande importanza nella teoria della programmazione matematica. In questo testo i modelli primale
DettagliProgrammazione Lineare Intera
Programmazione Lineare Intera Andrea Scozzari a.a. 2012-2013 May 10, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare Intera May 10, 2013 1 / 16 Programmazione Lineare Intera: Metodo dei Piani
Dettagli4. METODI DUALI DEL SIMPLESSO
4. MEODI DUALI DEL SIMPLESSO R. adei 1 Una piccola introduzione R. adei 2 MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi
DettagliClaudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso
Claudio Arbib Università di L Aquila Ricerca Operativa Reti di flusso Sommario Definizioni di base Flusso di un campo vettoriale Divergenza Integrale di Gauss-Greene Flusso in una rete Sorgenti, pozzi
DettagliL ALGORITMO DEL SIMPLESSO REVISIONATO
L ALGORITMO DEL SIMPLESSO REVISIONATO L'algoritmo del simplesso revisionato costituisce una diversa implementazione dell algoritmo standard tesa a ridurre, sotto certe condizioni, il tempo di calcolo e
DettagliIntroduzione alla programmazione lineare
Introduzione alla programmazione lineare struttura del problema di PL forme equivalenti rappresentazione e soluzione grafica rif. Fi 1.2; BT 1.1, 1.4 Problema di programmazione lineare Dati: un vettore
Dettagli