METODI DELLA RICERCA OPERATIVA
|
|
- Bernarda Guglielmi
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it) ESERCITAZIONE N 7 1
2 Introduzione Vedremo alcuni algoritmi impiegati per la risoluzione di problemi di programmazione lineare a variabili intere (PLI): Metodi Branch-and-Bound Essi garantiscono l ottimalità lità della soluzione determinata t Sono algoritmi divide et impera, in quanto dividono ricorsivamente un problema in più sotto-problemi di semplice risoluzione e utilizzano queste soluzioni al fine di ottenere la soluzione del problema originario Metodi euristici Essi non determinano necessariamente la soluzione ottima, ma possono essere molto più efficienti dei metodi Branch-and-Bound 2 dal punto di vista computazionale
3 Alcune definizioni Sia dato il generico problema di ottimizzazione e sia il valore ottimo della funzione obiettivo del problema Si definisce rilassamento di un problema qualsiasi problema dove e. Il valore ottimo della funzione obiettivo di fornisce un limite inferiore al valore ottimo della funzione obiettivo di (P), cioè 3
4 Alcune definizioni Nel caso di problemi di massimo e il rilassamento fornisce un limite superiore al valore ottimo della funzione obiettivo di : Spesso i rilassamenti sono di più facile soluzione rispetto agli problemi originari a variabili intere, ovvero tali valutazioni inferiori o superiori possono essere ottenute molto più rapidamente rispetto al tempo richiesto per risolvere il problema originario Talvolta la soluzione di un rilassamento è anche ottima per Dato un problema di programmazione intera, si chiama rilassamento continuo il problema ottenuto da questo rimuovendo la condizione di interezza delle variabili 4
5 Branch-and-Bound Per introdurre l algoritmo di Branch-and-Bound, consideriamo il seguente problema a variabili binarie: L insieme delle soluzioni di questo problema può essere enumerato in un albero delle decisioni, in cui al livello i viene scelto il valore da assegnare alla i-esima variabile (presa in un determinato ordine) 5
6 Branch-and-Bound I cammini dalle foglie alla radice individuano d le attribuzioni dei valori 0 e 1 alle variabili e quindi tutte le soluzioni, non necessariamente ammissibili per il problema dato (ad esempio il cammino dalla radice alla foglia A individua una soluzione inammissibile, mentre il 6 cammino fino a B è una soluzione ammissibile)
7 Branch-and-Bound Nel Branch-and-Bound si costruisce e si esplora l albero delle decisioni, fino a che non sia garantito che la soluzione trovata tra i nodi foglia raggiunti sia la soluzione ottima del problema dato Poiché il numero di nodi dell albero delle decisioni cresce in modo esponenziale con la dimensione del problema, si cerca di visitare esplicitamente il minor numero possibile di nodi e riconoscere in anticipo quando, proseguendo il cammino oltre un certo nodo, si ottengono soluzioni inammissibili (ad esempio il sottoalbero di radice C nella figura precedente) si ottengono soluzioni peggiori della migliore soluzione ammissibile già ottenuta per il problema originario 7 In questi casi interi sottoalberi possono essere scartati o, in altre parole, visitati implicitamente (da qui il nome di algoritmi di enumerazione implicita)
8 Branch-and-Bound Per determinare se un certo sottoalbero può essere scartato, si risolvono dei rilassamenti del problema originale, ognuno associato ad un nodo dell albero delle decisioni Come costruire l albero delle decisioni? Quali sono i rilassamenti del problema di PLI che si vuole risolvere? 8
9 Branch-and-Bound Sia dato il seguente problema di PLI e si risolva il suo rilassamento continuo min c T x Ax = b x 0,intero Se la soluzione ottima del rilassamento continuo è intera, essa coincide con la soluzione ottima del problema originario Se non è intera, si seleziona secondo una determinata regola, una variabile con valore non intero nella soluzione ottima di e si crea un problema, aggiungendo il vincolo ai vincoli di si crea un problema, aggiungendo il vincolo ai vincoli di 9
10 Branch-and-Bound CASO 1. Le soluzioni di e sono intere, si prende quella di valore minimo e si arresta l algoritmo CASO 2. Una soluzione è intera - ad esempio - e l altra no: Se o è inammissibile, la soluzione di è ottima per Altrimenti, se la soluzione di non è intera, una variabile con valore non intero nella soluzione ottima di si crea un problema, aggiungendo il vincolo ai vincoli di si crea un problema, aggiungendo il vincolo ai vincoli di CASO 3. Se le soluzioni di e non sono intere, si 10 generano due sottoproblemi da ognuno di essi e così via
11 Branch-and-Bound Dato un problema di minimo, occorre potare l albero delle decisioni in corrispondenza di un dato nodo, se La soluzione del corrispondente rilassamento è inammissibile La soluzione del corrispondente rilassamento non può generare e una soluzione ammissibile per che sia minore della migliore soluzione ammissibile determinata fino a quel momento, ovvero un nuovo limite superiore rispetto all ottimo di La soluzione del corrispondente rilassamento è intera ed è migliore dell attuale limite superiore (nel qual caso essa diventa il nuovo limite superiore) 11 L algoritmo si arresta quando si sono visitati tutti i nodi disponibili dell albero delle decisioni
12 Branch-and-Bound Dato un problema di massimo, occorre potare l albero delle decisioni in corrispondenza di un dato nodo, se La soluzione del corrispondente rilassamento è inammissibile La soluzione del corrispondente rilassamento non può generare e una soluzione ammissibile per che sia maggiore della migliore soluzione ammissibile determinata fino a quel momento, cioè un nuovo limite inferiore rispetto all ottimo di La soluzione del corrispondente rilassamento è intera ed è migliore dell attuale limite inferiore (nel qual caso essa diventa il nuovo limite inferiore) 12 L algoritmo si arresta quando si sono visitati tutti i nodi disponibili dell albero delle decisioni
13 Branch-and-Bound: un esempio Esempio. Sia dato ad esempio il seguente problema di PLI: st s.t
14 Branch-and-Bound: un esempio Risolviamo graficamente il suo rilassamento continuo : 1 Ottimo (1.25, 3.75) pari a
15 Branch-and-Bound: un esempio Questa soluzione rappresenta un limite superiore (o upper bound) al valore ottimo dell originario problema di PLI Poiché la soluzione ottima di è inammissibile per, selezioniamo una variabile con valore non intero nella soluzione ottima e generiamo i sottoproblemi e Esistono molte regole per la scelta della variabile. Trascurando i criteri di scelta, in questo esempio si fissa la variabile di indice più piccolo 15
16 Branch-and-Bound: un esempio Sottoproblema Ottimo (1, 10/3) pari a 11 16
17 Branch-and-Bound: un esempio Sottoproblema Ottimo (2, 3.214) pari a
18 Branch-and-Bound: un esempio P 0 P 1 La soluzione ottima di rappresenta il limite superiore al valore ottimo dell originario problema di PLI a questa iterazione Poiché queste soluzioni sono ancora inammissibili per il problema originario, si seleziona uno dei due problemi - ad esempio - e una variabile con valore non intero nella soluzione ottima del problema considerato A partire dal problema, si generano ora i problemi e P 2 18
19 Branch-and-Bound: un esempio Sottoproblema Ottimo (2.3, 3) pari a
20 Branch-and-Bound: un esempio Sottoproblema Soluzione inammissibile 20
21 Branch-and-Bound: un esempio Al momento dobbiamo ancora esplorare i nodi dell albero relativi ai problemi e P 0 P 1 P 2 P 3 P 4 21 Selezioniamo ad esempio il problema e generiamo i problemi e
22 Branch-and-Bound: un esempio Sottoproblema Ottimo (2, 3) pari a 11. E questa una soluzione ammissibile del problema originario, ovvero un limite inferiore sull ottimo di
23 Branch-and-Bound: un esempio Sottoproblema Ottimo (3, 2.5) pari a
24 Branch-and-Bound: un esempio Avendo ottenuto al nodo una soluzione ammissibile per pari a 11, non vi è alcuna necessità di generare due ulteriori problemi a partire da e, perché non si otterrebbero soluzioni ammissibili per migliori rispetto a quella ottenuta P 0 P 1 P 2 P 3 P 4 P 5 P 6 24
25 Branch-and-Bound: un esempio Verifichiamo con Lindo che la soluzione ottenuta sia quella ottima per l originario problema OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X NO. ITERATIONS= 6 BRANCHES= 0 DETERM.= 1.000E 0 25
26 Conclusioni sul Branch-and-Bound L efficienza degli algoritmi Branch-and-Bound dipende da diversi fattori, tra cui: Il metodo con cui è definito l albero delle decisioni Il metodo utilizzato per risolvere e i rilassamenti Le regole per la selezione delle variabili da fissare Le regole per la visita it dell albero lb Anche utilizzando le migliori strategie per gli aspetti elencati, non si può mai escludere di dover esaminare una frazione consistente dei nodi dell albero delle decisioni 26
27 Algoritmi euristici Numerosi problemi di ottimizzazione a variabili intere sono difficili, ovvero non si dispone di tecniche in grado di determinare in modo efficiente la soluzione ottima In molti problemi diventa allora necessario sviluppare algoritmi i in grado di fornire una buona soluzione ammissibile, senza garantirne l ottimalità Si dice algoritmo euristico per un dato problema un algoritmo che determini una soluzione non necessariamente ottima del problema Un algoritmo in grado di determinare la soluzione ottima di viene detto esatto Vedremo ora alcuni esempi di algoritmi euristici di tipo greedy 27
28 Algoritmi greedy Gli algoritmi greedy (voraci) determinano la soluzione di un problema di ottimizzazione attraverso una sequenza di decisioni localmente ottime, senza mai modificare le decisioni prese Questi algoritmi sono di facile implementazione e notevole efficienza computazionale, ma in generale non garantiscono l ottimalità della soluzione trovata, ed a volte neppure la sua ammissibilità 28
29 Algoritmo greedy per il problema dello zaino Questo algoritmo costruisce una soluzione inserendo per primi nello zaino gli oggetti più promettenti, cioè quelli che hanno un maggior beneficio per unità di peso L algoritmo inizializza iali a l insieme degli oggetti selezionati come l insieme vuoto e poi scorre la lista degli oggetti in ordine di beneficio unitario non crescente L oggetto di volta in volta selezionato viene accettato se la capacità residua dello zaino è sufficiente, altrimenti viene scartato e si passa all oggetto successivo nell ordinamento L algoritmo termina quando tutti gli oggetti sono stati esaminati o la capacità residua dello zaino diventa nulla 29
30 Algoritmo greedy per il problema dello zaino Sia data la seguente istanza del problema dello zaino: Implementare il precedente algoritmo greedy e verificare con Lindo se la soluzione ottenuta è ottima oppure no L algoritmo greedy produce la soluzione con f.o. 14 e peso totale pari a 7. La soluzione ottima è con f.o. 15epesototale8 In conclusione, l algoritmo descritto non garantisce l ottimalità 30
31 Algoritmo di Kruskal per il problema dell albero ricoprente di minimo costo Definizione: Dato un grafo G(N,A) con N =n, un grafo G*(N*,A*) è un sottografo di G=(N,A) se A* è contenuto in A e N* contiene tutti i nodi estremi degli archi di A* L algoritmo di Kruskal è una tecnica greedy che costruisce una soluzione, inserendo gli archi uno alla volta in ordine di costo non decrescente e verificando ogni volta che il sottografo corrispondente sia privo di cicli L algoritmo inizializza linsieme l insieme degli archi appartenenti all alberoalbero l insieme vuoto e poi scorre la lista degli archi in ordine di costo non decrescente 31
32 Algoritmo di Kruskal per il problema dell albero ricoprente di minimo costo L arco (i,j) di volta in volta selezionato viene accettato se il sottografo avente tutti gli archi in è privo di cicli, altrimenti viene scartato e si passa all arco successivo nell ordinamento L algoritmo termina quando contiene esattamente n-1 archi A differenza del caso precente, si può dimostrare che l algoritmo l di Kruskal fornisce delle soluzioni esatte 32
33 Algoritmo Nearest Neighbour per il problema del commesso viaggiatore Questo algoritmo greedy costruisce una soluzione scegliendo ad ogni passo come prossima tappa la località più vicina a quella in cui il commesso viaggiatore si trova attualmente L algoritmo inizializza iali a l insieme P degli archi appartenenti al cammino come l insieme vuoto e definisce come nodo corrente il nodo iniziale Ad ogni iterazione, si esaminano tutti gli archi che uniscono il nodo corrente a nodi che non sono ancora toccati dal cammino parziale P Tra tali archi si seleziona larco l arco (i,j) di costo minimo, lo si aggiunge a P e si definisce j come nodo corrente 33
34 Algoritmo Nearest Neighbour per il problema del commesso viaggiatore L algoritmo termina quando tutti i nodi sono toccati da P, inserendo larco l arco di ritorno dall ultimo nodo visitato al nodo iniziale Sai data la seguente istanza di TSP simmetrico: Implementare l algoritmo Nearest Neighbour, prendendo come nodo iniziale quello di indice 1 Verificare con Lindo se la soluzione ottenuta è quella ottima 34
35 Algoritmo Nearest Neighbour per il problema del commesso viaggiatore L algoritmo Nearest Neighbour, partendo dal nodo 1, produce il ciclo fo=12 f.o.=12 Mentre la soluzione ottima è f.o.=11 Anche questo algoritmo greedy non è esatto 35
3.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
DettagliIl Branch & Bound. Definizione 1. Sia S R n. La famiglia S = {S 1, S 2,..., S k S} tale che S 1 S 2 S k = S viene detta suddivisione di S.
Il Branch & Bound Il metodo Branch & Bound è una tecnica che permette di risolvere all ottimo un generico problema di Programmazione Lineare Intera. Tale metodo si basa su due concetti cardine: quello
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
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)
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)
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
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)
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
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à
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
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
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
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
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
DettagliAlgoritmi esatti. La teoria ci dice che per problemi difficili (come il
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
Dettagli2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
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
DettagliIl valore di flusso che si ottiene è
1) Si consideri un insieme di piste da sci e di impianti di risalita. Lo si modelli con un grafo orientato che abbia archi di due tipi: tipo D (discesa e orientato nel senso della discesa) e tipo R (risalita
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,
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
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
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
DettagliIl problema dello zaino: dalla gita in montagna ai trasporti internazionali. Luca Bertazzi
Il problema dello zaino: dalla gita in montagna ai trasporti internazionali Luca Bertazzi 0 Ricerca Operativa (Operations Research) The Science of Better Modelli e algoritmi per la soluzione di problemi
DettagliCorso di Perfezionamento
Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione
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
DettagliAlberi di copertura. Mauro Passacantando. Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa
Alberi di copertura Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo, Pisa mpassacantando@di.unipi.it M. Passacantando TFA 0/ - Corso di Ricerca Operativa Università di Pisa / 9 Definizioni
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa 2. Esercizi sul problema dell assegnamento
UNIVERSITÀ DEGLI STUDI ROMA TRE Collegio Didattico in Ingegneria Informatica corso di Ricerca operativa Esercizi sul problema dell assegnamento Richiami di Teoria Ricordiamo che, dato un grafo G=(N,A),
DettagliGrafi (non orientati e connessi): minimo albero ricoprente
Grafi (non orientati e connessi): minimo albero ricoprente Una breve presentazione Definizioni Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è
Dettagli4.1 Localizzazione e pianificazione delle base station per le reti UMTS
esercitazione Ottimizzazione Prof E Amaldi Localizzazione e pianificazione delle base station per le reti UMTS Consideriamo il problema di localizzare un insieme di stazioni radio base, base station (BS),
DettagliSoluzione di problemi di Programmazione Lineare Intera
10 Soluzione di problemi di Programmazione Lineare Intera 10.1 ESERCIZI SULLA SOLUZIONE DI PROBLEMI DI PROGRAMMAZIONE LINEARE INTERA Esercizio 10.1.1 Risolvere con il metodo del Branch and Bound il seguente
DettagliDomini di funzioni di due variabili. Determinare i domini delle seguenti funzioni di due variabili (le soluzioni sono alla fine del fascicolo):
UNIVERSITA DEGLI STUDI DI SALERNO C.d.L. in INGEGNERIA GESTIONALE Esercizi di Ricerca Operativa Prof. Saverio Salerno Corso tenuto nell anno solare 2009 I seguenti esercizi sono da ritenersi di preparazione
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
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 0/06/06 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai
DettagliEsame di Ricerca Operativa del 11/07/2016
Esame di Ricerca Operativa del /0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Un erboristeria vuole produrre una nuova tisana utilizzando tipi di tisane già in commercio. Tali tisane sono per lo più composte
DettagliEsame di Ricerca Operativa del 15/01/2015
Esame di Ricerca Operativa del 1/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Un azienda produce palloni da calcio e da basket che vende a 1 e 20 euro rispettivamente. L azienda compra ogni settimana
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
DettagliAlgoritmi e Strutture Dati
Algoritmi Golosi (Greedy) Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino un algoritmo goloso correttezza Problema della selezione di attività
DettagliAlgoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
DettagliCOMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2
COMPITO DI RICERCA OPERATIVA ESERCIZIO. ( punti) La riformulazione di un problema di PL rispetto alla base B = {x, x, x } è la seguente: max 2x + x 2 x = 2 + x x 2 x = + x 2 x = 2 + x + x 2 x, x 2, x,
DettagliAlberi. Alberi: definizioni. Alberi Binari. Esercizi su alberi binari: metodi ricorsivi. Struttura dati per alberi generici. ASD-L - Luca Tesei
Alberi Alberi: definizioni Alberi Binari Esercizi su alberi binari: metodi ricorsivi Struttura dati per alberi generici 1 Alberi Gli alberi sono strutture dati naturalmente ricorsive Un albero è un particolare
DettagliEsame di Ricerca Operativa del 03/09/2015
Esame di Ricerca Operativa del 0/09/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una raffineria di petrolio miscela tipi di greggio per ottenere tipi di carburante: senza piombo, diesel e blu diesel.
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
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
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
DettagliAlgoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano
Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in
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
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
DettagliAlberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
DettagliEsame di Ricerca Operativa del 09/02/2016
Esame di Ricerca Operativa del 0/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una sartoria produce tipi di vestiti: pantaloni, gonne e giacche, utilizzando stoffa e filo. Settimanalmente, la disponibilità
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: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
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
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
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 06/07/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 29/01/2016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via
DettagliProblemi difficili e ricerca esaustiva intelligente
Problemi difficili e ricerca esaustiva intelligente Progettazione di Algoritmi a.a. 2016-17 Matricole congrue a 1 Docente: Annalisa De Bonis Gli argomenti di questa lezione sono tratti da Dasgupta, Papadimitriou,
DettagliAlgoritmi generali per PLI
Programmazione Lineare Intera: II Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):
DettagliEsercizio 1. Esercizio 2
A-2 a PI Ricerca Operativa 1 Seconda prova intermedia La Pharmatix è un azienda di Anagni che produce due principi attivi, A e B, che consentono un profitto per grammo venduto di 20 e 30 euro rispettivamente.
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:
DettagliRICERCA OPERATIVA (a.a. 2015/16) Nome: Cognome: Matricola:
o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il problema di PL dato applicando l algoritmo del Simplesso Duale, per via algebrica, a partire dalla base B {,}. Per ogni
DettagliBranch-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
DettagliAlberi ed Alberi Binari
Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,
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 DINAMICA
PROGRAMMAZIONE DINAMICA 6.1 PROGRAMMAZIONE DINAMICA Sebbene elementi del metodo fossero già presenti in tecniche di ottimizzazione note in precedenza, si deve a Bellman lo studio sistematico (iniziato
DettagliGrafi pesati Minimo albero ricoprente
Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene
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
DettagliEuristiche per il Problema del Commesso Viaggiatore
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Euristiche per il Problema del Commesso Viaggiatore Renato Bruni bruni@dis.uniroma.it Il materiale presentato
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
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
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
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
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
DettagliIntroduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte
DettagliIntroduzione ai Problemi di Flusso su Reti
UNIVERSI DI PIS IROCINIO ORMIVO IVO - I CICLO CLSSE DI BILIZIONE MEMIC PPLIC Introduzione ai Problemi di lusso su Reti Relatore: Prof. V. Georgiev.U: Prof. M. Berni Elisabetta lderighi R.O e Riforma della
DettagliOttimizzazione nella Gestione dei Progetti - Esercitazione 1: calcolo degli schedule ottimi
Università degli Studi di Roma La Sapienza Ottimizzazione nella Gestione dei Progetti - Esercitazione : calcolo degli schedule ottimi di FABIO D ANDREAGIOVANNI Dipartimento di Informatica e Sistemistica
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
DettagliAlgoritmi Greedy. Tecniche Algoritmiche: tecnica greedy (o golosa) Un esempio
Algoritmi Greedy Tecniche Algoritmiche: tecnica greedy (o golosa) Idea: per trovare una soluzione globalmente ottima, scegli ripetutamente soluzioni ottime localmente Un esempio Input: lista di interi
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
DettagliPROBLEMA DEL COMMESSO VIAGGIATORE:
PROBLEMA DEL COMMESSO VIAGGIATORE: METODI RISOLUTIVI e APPLICAZIONE Descrizione del problema Un rappresentante operante nel settore del legno si occupa di fornire utensili e materiali agli artigiani e
DettagliNote per la Lezione 4 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 4 Ugo Vaccaro Ripasso di nozioni su Alberi Ricordiamo che gli alberi rappresentano una generalizzazione delle liste, nel senso che
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
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014
A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità
DettagliEsercizio 1. min. Esercizio 2. Esercizio 3
A UNIVERSIÀ DEGLI SUDI ROMA RE Ricerca Operativa Primo appello gennaio 00 Esercizio Portando il problema in forma standard si aggiungono le variabili e 4. Impostando il problema artificiale è sufficiente
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
DettagliProblema del cammino minimo
Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento
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
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
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
DettagliEsercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia
sercizi per il corso di Logistica I a.a. - aniela avaretto ipartimento di Matematica pplicata Università a oscari di Venezia sercizio Individuare un albero di supporto di lunghezza minima (SST) sul seguente
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
DettagliIl Metodo Branch and Bound
Il Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa laura.galli@unipi.it http://www.di.unipi.it/~galli 4 Novembre 2014 Ricerca Operativa 2 Laurea Magistrale in Ingegneria Gestionale
DettagliGrafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);
Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo
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
DettagliIl problema dello zaino
Il problema dello zaino Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 25 gennaio 2010 Il problema dello zaino 0-1
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento
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
Dettagli23/10/2016. gli alberi. alcune definizioni. un esempio. LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica.
gli alberi Un albero è una struttura dati NON LINEARE organizzata gerarchicamente. LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica È costituito da un insieme di nodi collegati tra di loro:
DettagliRicerca Operativa. Claudio Arbib Universitàdi L Aquila. Esercizi di ottimizzazione combinatoria
Claudio Arbib Universitàdi L Aquila Ricerca Operativa Esercizi di ottimizzazione combinatoria 00-006 Grafi 9 Esercizio. Un grafo simmetrico G = (V, E) si dice cubico se tutti i suoi vertici hanno grado
Dettagli