Two Dimensional Cutting Stock Problem 30 novembre 2010

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Two Dimensional Cutting Stock Problem 30 novembre 2010"

Transcript

1 Two Dimensional Cutting Stock Problem 30 novembre 2010 Sommario Studio del Cutting Stock Problem in due dimensioni secondo il modello proposto da P.C. Gilmore e R.E. Gomory in Multistage Cutting Stock Problems of Two and More Dimensions ed implementazione in C++ con l utilizzo della libreria SCIP Informazioni documento Autore Andrea Giavatto Versione 0.5 Diario delle modifiche /11/ rivisitazione del documento sulle modifiche richieste dal docente (par. 2.2, 2.3, 2.4, 4.3) /11/10 - aggiunta sezione di confronto dei metodi e rivisitazione generale del documento /01/10 - aggiunta sezione sull implementazione dell euristica /01/10 - aggiunta sezione sull implementazione con SCIP /12/09 - stesura iniziale. 1/14

2 Indice 1 Introduzione 3 2 2D Cutting Stock Problem D Cutting Stock Problem Formulazione del problema bidimensionale generale Problema 2-stage Soluzione del problema 2-stage Implementazione Ambiente di sviluppo SCIP Euristica costruttiva Test Invocazione dei programmi Risultati Confronto tra i metodi Qualità delle soluzioni Tempi di esecuzione Bibliografia14 2/14

3 1 Introduzione I problemi di taglio multi dimensionale sono sorprendentemente comuni nella realtà. La necessità di ottimizzare il taglio di oggetti di grandi dimensioni in parti più piccole deriva dall esigenza delle economie di scala di produrre grandi quantità di materiale per ridurre i costi. È desiderabile quindi, trovare metodi efficienti per ottenere le taglie più piccole richieste dal mercato consumer. Il taglio di lastre di vetro, metallo, grafite, pellicole fotografiche o plastica rappresenta un esempio concreto delle applicazioni pratiche del taglio multidimensionale. È proposta nei successivi paragrafi l analisi del problema di taglio bidimensionale basata sulle osservazioni contenute nell articolo [2]. 3/14

4 2 2D Cutting Stock Problem Il problema del taglio bidimensionale consiste nel ritagliare da rettangoli di grandi dimensioni (in seguito chiamati maxi-rettangoli ), pezzi di forma rettangolare di dimensioni inferiori rispettando una data domanda e minimizzando la quantita di maxi-rettangoli usata D Cutting Stock Problem Questo problema, può essere visto come un estensione del problema in una dimensione, già trattato in [1], per il quale il modello risolutivo proposto, è il seguente: min x j (1) t.c j J N ij x j R i j J i I x j Z + j J dove I è l insieme degli oggetti da ritagliare J è l insieme dei pattern di taglio N ij è il numero di pezzi di tipo i nel pattern j R i è la richiesta complessiva di pezzi di tipo i x j è il numero di maxi-rettangoli da tagliare secondo lo schema j A causa dell elevato numero di possibili pattern non noti a priori, questo problema si risolve utilizzando un modello di tipo master-slave e una tecnica di generazione di colonne. Una soluzione ammissibile di base del problema master è progressivamente migliorata con l aggiunta di nuove colonne, ciascuna corrispondete a un pattern di taglio migliore. La scoperta dei pattern di taglio migliori avviene attraverso la soluzione di problemi slave che in questo caso sono rappresentati da problemi di zaino: max i I u i z i (2) t.c i I l i z i W dove z Z + 4/14

5 u è la soluzione duale in scarti complementari con la soluzione corrente del problema master z è una colonna, se esiste, corrispondente a un pattern di taglio migliore l è la lunghezza dei singoli oggetti da ritagliare W è la lunghezza totale di ogni maxi-oggetto La soluzione di questo problema di zaino fornisce, se esiste, una colonna con costo ridotto negativo che migliora la soluzione del problema di partenza. 2.2 Formulazione del problema bidimensionale generale Si consideri una scorta di maxi-rettangoli di larghezza W e altezza L da ritagliare secondo una richiesta nota. Un problema di taglio in due dimensioni consiste nel soddisfare la domanda di rettangoli da ritagliare, minimizzando la quantità di materiale usata. Inoltre, sono dati: I, un insieme di rettangoli da ritagliare i I, la larghezza w i, la lunghezza l i e la richiesta R i di ogni rettangolo la larghezza W e la lungehzza L del maxi-rettangolo da tagliare Si vuole determinare la minima quantità di maxi-rettangoli (x j ) tagliati secondo il pattern di taglio j. Un modello risolutivo per questo tipo di problema è ancora di tipo master-slave con generazione di colonne e coincide con (1). Come nel caso monodimensionale, siamo interessati a risolvere il rilassamento lineare del problema, perchè nelle applicazioni pratiche le quantità e le dimensioni dei rettangoli da tagliare permettono di arrotondare la soluzione rilassata ottenendo una buona approssimazione intera. Il problema slave, in questo caso, deve tenere conto che i maxi-rettangoli hanno due dimensioni: max u i z i (3) i I t.c z i indica in che quantità il rettangolo w i l i è presente nel pattern (z i Z + ) Per questo problema di zaino generalizzato non sono note tecniche di risoluzione efficienti. 5/14

6 2.3 Problema 2-stage Fortunatamente, nelle applicazioni pratiche è possibile osservare che alcuni tipi di taglio permettono di rendere il problema di zaino meno generico: è sufficiente, infatti, considerare tagli a ghigliottina 1 per poter formulare un modello efficiente pur garantendo una buona generalità nelle combinazioni dei possibili rettangoli. I tagli a ghigliottina permettono di considerare il problema in due fasi: 1. il maxi-rettangolo di dimensioni W L è inizialmente tagliato in strisce sulla larghezza W 2. ogni striscia ottenuta dalla fase precedente, è a sua volta tagliata lungo la lunghezza L secondo le richieste e pertanto trattata come un problema monodimensionale Figura 1: Rappresentazione grafica del problema 2-stage 2.4 Soluzione del problema 2-stage La soluzione proposta da Gilmore e Gomory per il problema slave (3) è la seguente: 1. per ogni larghezza w i, calcolo gli u i, soluzioni ottime dei problemi slave considerando strisce di larghezza w i e lunghezza L tagliate secondo le richieste con pezzi di larghezza w j w i 2. il valore ottimo del problema di zaino 2D si ottiene risolvendo un ulteriore problema di zaino monodimensionale: max i I u i b i (4) t.c i I w i b i W 1 un taglio a ghigliottina prevede che il maxi-rettangolo sia tagliato da un lato all altro in modo netto e senza interruzioni 6/14

7 dove b i rappresenta quante strisce di tipo i utilizzare per tagliare un maxirettangolo. La prima fase, considera problemi di taglio monodimensionale (striscia w i L) dove i pezzi da ritagliare sono solo quelli con w j w i. La soluzione u i di ogni slave indica la bontà del pattern di taglio per la striscia considerata. La seconda fase determina quali (e quante) strisce considerare per un pattern di taglio j da inserire nella successiva iterazione del problema master. La scelta è effettuata tenendo conto dei valori u i ottenuti dagli slave precedenti e in modo tale che la somma delle larghezze delle strisce considerate (w i ) non superi la larghezza W di un maxi-rettangolo. In sintesi, un problema di cutting stock bidimensionale, è risolvibile attraverso un modello master-slave con generazione di colonne, in cui il problema slave si risolve a partire da due problemi di zaino monodimensionale. 7/14

8 3 Implementazione 3.1 Ambiente di sviluppo I programmi sono stati scritti nel linguaggio C++ nel sistema operativo MacO- SX e testati su un portatile con processore Intel dual core a 2GHz e con 1GB di ram. 3.2 SCIP L implementazione è stata realizzata utilizzando la libreria SCIP 2 (ver ) e il solver Soplex 3 (ver e patch 1.4.2a) che forniscono un framework per la risoluzione di problemi di programmazione lineare intera (e non solo). In particolare, il codice allegato è una modifica ed estensione di un esercizio visto a lezione e realizzato in laboratorio. Il codice segue quasi fedelmente il modello proposto. Rispetto all esercizio svolto in laboratorio differisce nel file master.cpp per la scelta della base ammissibile di partenza, e nel file che contiene la funzione main. Di seguito, viene mostrato il ciclo principale: 1 do { 2 // r i s o l v o problema master per o t t e n e r e s o l u z i o n e a m m i s s i b i l e 3 master. solvelp ( ) ; 4 master. d i s p l a y ( ) ; 5 6 // v e t t o r e che c o n t e r r a i c o s t i d i ogni s t r i s c i a 7 std : : vector <double> u s t a r ( master. getwidths ( ). s i z e ( ) ) ; 8 // v e t t o r e che r i c o r d a q u a l e p a t t e r n e a s s o c i a t o a ogni s t r i s c i a 9 std : : vector <std : : vector <int> > p a t t e r n s = std : : vector <std : : vector <int> >() ; for ( unsigned int i = 0 ; i < l a r g h e z z e. s i z e ( ) ; i ++) { 12 std : : vector <double> u ; 13 for ( unsigned int l = 0 ; l < master. getdualvalues ( ). s i z e ( ) ; l ++) { 14 u. push back ( ( master. getdualvalues ( ) ) [ l ] ) ; 15 } 16 // modifico g l i u i in modo da c o n s i d e r a r e s o l o i p e z z i con l a r g h e z z a <= w i 17 for ( unsigned int j = 0 ; j < l a r g h e z z e. s i z e ( ) ; j++) { 18 i f ( l a r g h e z z e [ j ] > l a r g h e z z e [ i ] ) { 19 u [ j ] = 0. 0 ; 20 } 21 } 22 // r i s o l v o l o s l a v e che c o n s i d e r a l a s t r i s c i a c o r r e n t e come 23 // c u t t i n g s t o c k monodimensionale 24 CSSlave s l a v e ( u, master. getlengths ( ), master. getrectlength ( ) ) ; 25 s l a v e. s o l v e ( ) ; 26 s l a v e. d i s p l a y ( ) ; std : : vector <int> p a t t e r n S t r i s c i a I ( master. getwidths ( ). s i z e ( ) ) ; 29 // newu e i l v a l o r e d uale ottimo a s s o c i a t o a l l a s t r i s c i a i /14

9 30 double newu = s l a v e. g e t S o l u t i o n ( p a t t e r n S t r i s c i a I ) ; 31 u s t a r [ i ] = newu ; 32 // s a l v o come ho t a g l i a t o l a s t r i s c i a i 33 p a t t e r n s. push back ( p a t t e r n S t r i s c i a I ) ; 34 } // r i s o l v o un ultimo problema s l a v e che mi d i c e q u a l i s t r i s c e c o n s i d e r a r e 37 // per t a g l i a r e un maxi r e t t a n g o l o 38 CSSlave s l a v e ( u s t a r, master. getwidths ( ), master. getrectwidth ( ) ) ; 39 s l a v e. s o l v e ( ) ; 40 s l a v e. d i s p l a y ( ) ; std : : vector <int> p a t t e r n S t r i s c e ( master. getwidths ( ). s i z e ( ) ) ; 43 // q u e s t o s l a v e mi d i c e q u a l i e quante s t r i s c e t a g l i a r e da un maxi r e t t a n g o l o 44 // secondo i p a t t e r n f o r n i t i d a l l e s o l u z i o n i d e g l i s l a v e p r e c e d e n t i 45 slaveobj = s l a v e. g e t S o l u t i o n ( p a t t e r n S t r i s c e ) ; i f ( slaveobj > 1) { 48 std : : vector <int> newpattern ( master. getwidths ( ). s i z e ( ) ) ; 49 // per o t t e n e r e i l p a t t e r n da a g g i u n g e r e a l problema master, 50 // devo c o n s i d e r a r e l e s t r i s c e f o r n i t e d a l l ultimo s l a v e e c r e a r e 51 // un p a t t e r n che è l a somma d e i p a t t e r n f o r n i t i d a l l e s t r i s c e 52 // eventualmente m o l t i p l i c a t i per i l numero d i s t r i s c e i n d i c a t o 53 // n e l l ultimo s l a v e 54 for ( unsigned int k = 0 ; k < newpattern. s i z e ( ) ; k++) { 55 newpattern [ k ] = 0 ; 56 } 57 for ( unsigned int k = 0 ; k < p a t t e r n S t r i s c e. s i z e ( ) ; k++) { 58 for ( unsigned int m = 0 ; m < newpattern. s i z e ( ) ; m++) { 59 newpattern [m] = newpattern [m] + p a t t e r n S t r i s c e [ k ] p a t t e r n s [ k ] [m] ; 60 } 61 } master. addpattern ( newpattern ) ; 64 } 65 maxiter ; 66 } while ( slaveobj > 1 && maxiter > 0) ; Da notare che per garantire che le variabili duali fornite dal problema master rispettino il vincolo che w j w i per ogni striscia i considerata, vengono settati a 0 i valori degli u j che hanno larghezza superiore alla striscia considerata (linee 17-20). Infine (linee 57-61), dopo aver risolto l ultimo slave che fornisce quante e quali strisce considerare per un maxi-rettangolo, è necessario sommario tra loro le strisce scelte con i pattern associati (linea 33) in modo da ricostruire il pattern da aggiungere al problema master. 9/14

10 3.3 Euristica costruttiva E stata implementata una euristica di tipo greedy per la risoluzione del problema bidimensionale; si parte da una soluzione vuota e si determinano in modo iterativo nuovi elementi da aggiungere ad una soluzione fino ad arrivare ad una soluzione completa attraverso un criterio di espansione. L idea è di ordinare i rettangoli per aree decrescenti e cominciare a ritagliare dai maxi-rettangoli i rettangoli che occupano più spazio; in questo modo è possibile inserire nello spazio rimanente una certa quantità di rettangoli più piccoli cercando di minimizzare lo spazio sprecato in ogni maxi-rettangolo (questo non sarebbe possibile se ritagliassi prima tutti i rettangoli più piccoli lasciando alla fine quelli di dimensioni maggiori). Ogni scelta non è mai messa in discussione e si procede con lo stesso criterio fino all esaurimento della domanda. Lo pseudocodice che realizza le procedure necessarie è: Algorithm 1 Solve 1: sortarea() 2: while c è richiesta do 3: F illrect(rect width, rect length, pattern) 4: AddP attern(pattern, solution) 5: num rect used num rect used + 1 6: end while Algorithm 2 FillRect(w, l, pattern) 1: for i = 1 to m do 2: current w w width[i] 3: current l l length[i] 4: demand[i] demand[i] 1 5: pattern[i] pattern[i] + 1 6: F illrect(current w, l, pattern) 7: F illrect(width[i], current l, pattern) 8: end for L algoritmo dopo aver tagliato un pezzo in alto a sinistra da un maxirettangolo, lo divide in due sotto rettangoli: la parte restante della striscia con altezza pari a quella del pezzo tagliato e larghezza L l i, e il rettangolo di altezza pari a W w i e larghezza L. Il procedimento è ripetuto ricorsivamente fin tanto che è possibile ritagliare un pezzo (di dimensione minore o uguale a quella ritagliato in precedenza) nei sotto rettangoli rimasti o finchè non è esaurita la richiesta. 10/14

11 4 Test 4.1 Invocazione dei programmi Sono allegati tre eseguibili, corrispondenti ai programmi richiesti dalla consegna: l implementazione in SCIP del modello scelto, un esempio di euristica, un generatore di input casuali. Tutti i programmi sono forniti di Makefile 4 e si compilano attraverso il comando make. La loro invocazione è la seguente: SCIP: compilazione: make LPS=spx ZIMPL=false READLINE=false invocazione:./bin/main./data/<file di input> euristica: compilazione: make invocazione:./euristica./data/<file di input> generatore compilazione: make invocazione:./generatore./<nome file> <numero di input> 4.2 Risultati Sono state effettuate numerose prove per ciascun programma; al codice sono allegati i file di input usati per i test seguenti in modo da poter riprodurre gli stessi risultati (a meno dei tempi di esecuzione che potrebbero variare a seconda delle performance della macchina su cui vengono eseguiti). Ogni programma è stato invocato con una serie di file di input di dimensioni variabili 5. Di seguito sono riportati i risultati ottenuti in output, privi dell elenco di pattern di taglio per motivi di spazio. E possibile avere un output completo ripetendo la computazione con ogni file di input. 10 input casuali: SCIP: In totale sono stati utilizzati: 35 maxi-rettangoli La computazione ha richiesto 4.00 secondi. Euristica: In totale sono stati utilizzati: 36 maxi-rettangoli La computazione ha richiesto 0.00 secondi. 20 input casuali: SCIP: In totale sono stati utilizzati: 65 maxi-rettangoli La computazione ha richiesto secondi. 4è importante ricordarsi di modificare il Makefile relativo all implementazione in SCIP, cambiando il percorso relativo alle librerie in base alla propria configurazione di sistema 5 per i test i valori degli input sono stati limitati a un range ristretto 11/14

12 Euristica: In totale sono stati utilizzati: 70 maxi-rettangoli La computazione ha richiesto 0.00 secondi. 30 input casuali: SCIP: In totale sono stati utilizzati: 214 maxi-rettangoli La computazione ha richiesto secondi. Euristica: In totale sono stati utilizzati: 216 maxi-rettangoli La computazione ha richiesto 0.00 secondi. 50 input casuali: SCIP: In totale sono stati utilizzati: 237 maxi-rettangoli La computazione ha richiesto secondi. Euristica: In totale sono stati utilizzati: 261 maxi-rettangoli La computazione ha richiesto 0.00 secondi. 75 input casuali: SCIP: In totale sono stati utilizzati: 211 maxi-rettangoli La computazione ha richiesto secondi. Euristica: In totale sono stati utilizzati: 226 maxi-rettangoli La computazione ha richiesto 0.00 secondi. 4.3 Confronto tra i metodi Qualità delle soluzioni Nella quasi totalità dei test, il metodo realizzato con SCIP si è dimostrato superiore qualitativamente rispetto alla soluzione euristica. A volte si sono verificati casi in cui le due soluzioni davano lo stesso numero di maxi-rettangoli usati, ma i pattern di taglio erano differenti. In questi casi, SCIP forniva la soluzione ottima generando meno tipologie diverse di strisce rispetto all euristica. In un paio di casi ho notato che SCIP forniva soluzioni peggiori di un unità rispetto all euristica, ma il problema in questi casi è dovuto all arrotondamento nella fase di risoluzione all interezza Tempi di esecuzione Il tempo impiegato dall euristica si è rivelato sempre inferiore a 1 secondo per qualsiasi input fornito. Per quanto riguarda l algoritmo in SCIP, risolve il problema master rilassato con un iterazione del simplesso e con più iterazioni di Branch and Bound per ogni problema slave. La soluzione finale del problema master all intero è ottenuta risolvendo un ulteriore Branch and Bound con i pattern considerati. Questo procedimento, oltre a non fornire una soluzione ottima (potrebbero esserci pattern non considerati che all intero fornirebbero una soluzione migliore), necessita di un tempo di calcolo esponenziale. 12/14

13 Nei vari test si può notare come per input con pochi valori, il tempo di esecuzione è accettabile e nell ordine di alcune decine di secondi, ma al crescere del numero di input il tempo richiesto per giungere alla soluzione può diventare inutile in applicazioni reali. Se ci sono forti vincoli sul tempo di esecuzione, un euristica greedy come quella fornita può essere considerata una buona approssimazione della soluzione ottima; altrimenti, può essere conveniente, prima di avviare l algoritmo che usa SCIP, fornire come soluzione ammissibile di partenza quella ottenuta dall euristica in modo da velocizzare la ricerca della soluzione ottima. 13/14

14 Riferimenti bibliografici [1] A Linear Programming Approach to the Cutting-Stock Problem, P. C. Gilmore and R. E. Gomory, Operations Research, Vol. 9, No. 6 (Nov. - Dec., 1961), pp [2] Multistage Cutting Stock Problems of Two and More Dimensions, P. C. Gilmore and R. E. Gomory, Operations Research, Vol. 13, No. 1 (Jan. - Feb., 1965), pp /14

Il 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 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

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne

Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne Metodi e Modelli per l Ottimizzazione Combinatoria Metodi basati su generazione di colonne L. De Giovanni G. Zambelli 1 Un problema di taglio di tondini di ferro Un azienda metallurgica produce tondini

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

Dettagli

5.3 Metodo dei piani di taglio

5.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

Dettagli

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista)

Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Tecniche di Decomposizione per Programmazione Lineare Intera (Mista) Domenico Salvagnin 2011-06-12 1 Introduzione Dato un problema di programmazione lineare intera (mista), non è sempre possibile (o conveniente)

Dettagli

Programmazione Lineare Intera. Programmazione Lineare Intera p. 1/4

Programmazione 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:

Dettagli

Esame di Ricerca Operativa del 11/02/2015

Esame di Ricerca Operativa del 11/02/2015 Esame di Ricerca Operativa del /0/0 (Cognome) (Nome) (Matricola) Esercizio. Un azienda produce tipi di TV (, 0, 0 e pollici) ed è divisa in stabilimenti (A e B). L azienda dispone di 0 operai in A e 0

Dettagli

Programmazione Lineare Intera: Piani di Taglio

Programmazione 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

Dettagli

Programmazione Lineare Intera

Programmazione 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

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

Esercizi sulla Programmazione Lineare Intera

Esercizi 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

Dettagli

Esame di Ricerca Operativa del 22/01/18

Esame di Ricerca Operativa del 22/01/18 Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda informatica produce tre tipi di processori P, P, P nelle sedi S, S, S. La capacitá di produzione settimanale

Dettagli

FACOLTA DI ECONOMIA ESAME SCRITTO DI RICERCA OPERATIVA. Verona, 6 Giugno 1996

FACOLTA DI ECONOMIA ESAME SCRITTO DI RICERCA OPERATIVA. Verona, 6 Giugno 1996 Verona, Giugno ) E dato il seguente problema di Programmazione Lineare: min( x + ) x x x Rappresentare il problema geometricamente e successivamente scriverlo in forma standard. a) Determinare una soluzione

Dettagli

Esame di Ricerca Operativa del 16/02/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 16/02/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y + y +0 y +0 y +y + y y y +y y y y

Dettagli

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti

Sull algoritmo di ascesa duale per il problema della localizzazione di impianti Sull algoritmo di ascesa duale per il problema della localizzazione di impianti A. Agnetis In queste note presentiamo l algoritmo di ascesa duale per la generazione di lower bound di buona qualità per

Dettagli

del Linguaggio C Istruzioni di iterazione

del Linguaggio C Istruzioni di iterazione Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il

Dettagli

città

città Esercitazione 11-4-18 Esercizio 1. Si consideri il problema di trovare il ciclo hamiltoniano di costo minimo su una rete di 5 città, le cui distanze reciproche sono indicate in tabella: città 2 3 4 5 1

Dettagli

Esame di Ricerca Operativa del 07/09/2016

Esame 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

Dettagli

Esame di Ricerca Operativa. max 14 x x 2 5 x 1 3 x x 1 3 x x x 2 16 x x x 1 x 2 15 x x 2 41

Esame di Ricerca Operativa. max 14 x x 2 5 x 1 3 x x 1 3 x x x 2 16 x x x 1 x 2 15 x x 2 41 Esame di Ricerca Operativa (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + 8 x x 3 x x 3 x x + 3 x x + x x x x +

Dettagli

1 Programmazione Lineare Intera

1 Programmazione Lineare Intera 1 Programmazione Lineare Intera Fino ad ora abbiamo affrontato problemi in cui le variabili potevano assumere valori reali. Ora invece ci concentreremo su problemi in cui le variabili possono assumere

Dettagli

Esame di Ricerca Operativa del 09/02/2016

Esame 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à

Dettagli

Esame di Ricerca Operativa del 11/07/2016

Esame 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

Dettagli

Algoritmi generali per PLI

Algoritmi generali per PLI Programmazione Lineare Intera: Parte II: Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 3.1 ottobre 23 Algoritmi generali per PLI Metodi esatti tradizionali

Dettagli

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 5 PROGRAMMAZIONE LINEARE INTERA (PLI) E. Amaldi Fondamenti di R.O. Politecnico di Milano Programma lineare intero: (PLI) min c T x Ax b x 0 intero Ipotesi: A, b interi La condizione di interezza non è

Dettagli

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO

ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO ASSEGNAMENTO DELLE OPERAZIONI DI TAGLIO NELLA PRODUZIONE DI CAPI DI ABBIGLIAMENTO Lo scenario produttivo Una nota azienda produce capi di abbigliamento per l alta moda Ogni capo è costituito da vari pezzi

Dettagli

1 Il metodo dei tagli di Gomory

1 Il metodo dei tagli di Gomory Il metodo dei tagli di Gomory Esercizio Sia dato il problema min(x x ) x + x (P 0 ) x + x x, x 0, interi. Calcolare la soluzione ottima applicando il metodo dei tagli di Gomory. Risoluzione Per applicare

Dettagli

Algoritmi generali per PLI

Algoritmi 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):

Dettagli

Esame di Ricerca Operativa del 03/09/2015

Esame 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.

Dettagli

Esame di Ricerca Operativa del 17/02/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 17/02/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max 9 x +x x +x 8 x x x + x 9 x +x x

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.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:

Dettagli

FACOLTA DI ECONOMIA ESAME SCRITTO DI RICERCA OPERATIVA. Verona, 5 Febbraio , : ; ;,, trovare il punto di

FACOLTA DI ECONOMIA ESAME SCRITTO DI RICERCA OPERATIVA. Verona, 5 Febbraio , : ; ;,, trovare il punto di Verona, Febbraio 99 ) Dato il problema min( cx + cx ) x+ x x = x + x x = ax + x x = x i 0 i =,... a) dire, giustificando, per quali valori di c, c ed a in una soluzione ammissibile si ha x =x =/; la soluzione

Dettagli

Università Ca Foscari Venezia

Università Ca Foscari Venezia Università Ca Foscari Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Giovanni Fasano Brevi NOTE sul Metodo del BRANCH & BOUND Università Ca Foscari Venezia, Dipartimento di Management,

Dettagli

Risoluzione di problemi di programmazione lineare tramite generazione di colonne

Risoluzione 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,

Dettagli

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I COMPITO DI RICERCA OPERATIVA ESERCIZIO. (8 punti) Sia dato il seguente problema di PL: min x x + x x 4 x x + x + x 4 = 5 x + x + x x, x, x, x 4 0 Lo si trasformi in forma standard ( punto). Si determini

Dettagli

5.5 Metodi dei piani di taglio

5.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

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Zaino frazionario e Algoritmi golosi 1 1 Dipartimento di Matematica e Informatica Università di Camerino 17 febbraio 2009 0-1 Un ladro entra in un magazzino e trova n oggetti L i-esimo oggetto vale v i

Dettagli

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2

COMPITO DI RICERCA OPERATIVA. max x 1 + 2x 2 + x 3 x 1 x 2 + x 3 = 1 2x 1 + 3x 2 + x 4 = 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. (9 punti) Sia dato il seguente problema di PL: max x + 2x 2 + x 3 x x 2 + x 3 = 2x + 3x 2 + x 4 = 2 x, x 2, x 3, x 4 0 Si determini il duale del problema ( punto).

Dettagli

2. Si definisca un algoritmo euristico di tipo greedy per determinare una buona soluzione ammissibile del problema;

2. Si definisca un algoritmo euristico di tipo greedy per determinare una buona soluzione ammissibile del problema; Esercizio 6 Un azienda di trasporti deve affrontare il seguente problema di caricamento. L azienda dispone di n prodotti che possono essere trasportati e di m automezzi con cui effettuare il trasporto.

Dettagli

PROVE D'ESAME 1997/98

PROVE D'ESAME 1997/98 PROVE D'ESAME 1997/98 PROVA PARZIALE DEL 28/11/1997 1) Si consideri il seguente problema di programmazione lineare P: min z = x 1 + 2x 2 s.t. x 1 + x 2 6 2x 1 + x 2 10 x 1 4 x 1, x 2 0 a - Scrivere le

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 19/01/201 (Cognome) (Nome) (Matricola) Esercizio 1. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame 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

Dettagli

Esame di Ricerca Operativa del 15/01/2015

Esame 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

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando

Dettagli

Esame di Ricerca Operativa del 21/07/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 21/07/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y + y y y +y + y +y

Dettagli

Esame di Ricerca Operativa. x 1 +2 x 2 6 x 1 +x 2 6 x 1 4 x 1 1

Esame di Ricerca Operativa. x 1 +2 x 2 6 x 1 +x 2 6 x 1 4 x 1 1 Esame di Ricerca Operativa (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x + x x +x x 0 x + x x +x x x Base Soluzione

Dettagli

Stime dell ottimo - Rilassamenti. PRTLC - Rilassamenti

Stime dell ottimo - Rilassamenti. PRTLC - Rilassamenti Stime dell ottimo - Rilassamenti PRTLC - Rilassamenti Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento

Dettagli

Esame di Ricerca Operativa del 19/01/2016

Esame di Ricerca Operativa del 19/01/2016 Esame di Ricerca Operativa del 9/0/06 (Cognome) (Nome) (Matricola) Esercizio. Una banca offre ai suoi clienti diversi tipi di prestito: mutuo casa, credito auto, credito famiglia, che rendono un interesse

Dettagli

PROGRAMMAZIONE LINEARE A NUMERI INTERI

PROGRAMMAZIONE LINEARE A NUMERI INTERI PROGRAMMAZIONE LINEARE A NUMERI INTERI N.B. Nei seguenti esercizi vengono utilizzate, salvo diversa indicazione, le seguenti notazioni: PLO programma lineare ordinario S a insieme delle soluzioni ammissibili

Dettagli

3.4 Metodo di Branch and Bound

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

Dettagli

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione 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

Dettagli

Esame di Ricerca Operativa del 08/09/17

Esame di Ricerca Operativa del 08/09/17 Esame di Ricerca Operativa del 08/09/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Una dieta giornaliera consiste di tre cibi C, C e C, che vengono assunti nella quantità complessiva di 00 grammi.

Dettagli

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore Soluzione di un sistema non lineare con la Regula Falsi generalizzata per la determinazione

Dettagli

Esame di Ricerca Operativa del 23/02/17

Esame di Ricerca Operativa del 23/02/17 Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y + y + y + y y +0 y + y y y

Dettagli

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare:

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: max x +x x + x x x x

Dettagli

Esame di Ricerca Operativa del 09/01/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 09/01/15. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min 7 y +y + y + y +y +7 y y +y y y

Dettagli

Esame di Ricerca Operativa del 6/2/18. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 6/2/18. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del //8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y +9 y + y +9 y + y + y y + y

Dettagli

RICERCA OPERATIVA (a.a. 2018/19)

RICERCA OPERATIVA (a.a. 2018/19) Secondo appello //9 RICERCA OPERATIVA (a.a. 8/9) Nome: Cognome: Matricola: ) Si consideri il seguente problema di PL: min y + y y y y y = y + y y = y, y, y, y Si verifichi se la soluzione ȳ =,,, sia ottima

Dettagli

Esame di Ricerca Operativa del 21/02/19. max 3 x 1 +x 2 6 x x x 1 +2 x x 1 3 x x 1 4 x x 1 +2 x x 1 x 2 3

Esame di Ricerca Operativa del 21/02/19. max 3 x 1 +x 2 6 x x x 1 +2 x x 1 3 x x 1 4 x x 1 +2 x x 1 x 2 3 Esame di Ricerca Operativa del /0/ Cognome) Nome) Numero di Matricola) Esercizio. Effettuare due iterazioni dell algoritmo del simplesso primale. max x +x x +0 x x + x 8 x x x x x + x x x passo {,} passo

Dettagli

Esame di Ricerca Operativa del 12/07/17

Esame di Ricerca Operativa del 12/07/17 Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Un azienda produttrice di mobili possiede due sedi S e S, che richiedono mensilmente 0 e 0 quintali di legname per il

Dettagli

I appello Ricerca operativa

I appello Ricerca operativa I appello Ricerca operativa 0.0.014 1. Formulare in termini di programmazione lineare (intera) il seguente problema. Una Società gestisce una squadra di calcio adottando una politica di massimizzare il

Dettagli

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2. x 1, x 2, x 3, x 4 0

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2. x 1, x 2, x 3, x 4 0 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max x 1 + x 2 + x 3 x 1 x 2 + x 3 = 1 x 1 x 2 + x 4 = 1 x 2 + x 5 = 2 x 1, x 2, x 3, x 4, x 5 0 Lo si risolva con

Dettagli

Fac-simile dell esame di Ricerca Operativa. max 7 x 1 2 x 2 3 x 1 +x 2 2 x 1 2 x 2 3 x x 1 +x x 1 x 2 5

Fac-simile dell esame di Ricerca Operativa. max 7 x 1 2 x 2 3 x 1 +x 2 2 x 1 2 x 2 3 x x 1 +x x 1 x 2 5 Fac-simile dell esame di Ricerca Operativa (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x +x x x x x +x x

Dettagli

Esame di Ricerca Operativa del 12/06/18. Base x Degenere? y Indice Rapporti Indice uscente entrante

Esame di Ricerca Operativa del 12/06/18. Base x Degenere? y Indice Rapporti Indice uscente entrante Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Effettuare due iterazioni dell algoritmo del simplesso duale: min y + y + y + y + y + y y y y + y +y = y y + y +y y

Dettagli

Esame di Ricerca Operativa del 04/07/17

Esame di Ricerca Operativa del 04/07/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y + y +9 y y y

Dettagli

Esame di Ricerca Operativa del 18/06/18

Esame di Ricerca Operativa del 18/06/18 Esame di Ricerca Operativa del 8/0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x +x x x x +x x x x + x

Dettagli

3.6 Metodi basati sui piani di taglio

3.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

Dettagli

Esame di Ricerca Operativa del 17/07/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 17/07/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 7/07/7 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x +x x + x x x x x x x +x

Dettagli

Prova in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A

Prova in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A Nome... Cognome... 1 Prova in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A Un rinomato biscottificio italiano dispone di tre stabilimenti, ubicati nelle città di Ancona, Belluno e Catanzaro

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla teoria della dualità in programmazione lineare L. De Giovanni G. Zambelli 1 Definizione del problema duale La teoria della dualità in programmazione

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3

COMPITO DI RICERCA OPERATIVA. max 3x 1 + 2x 2 x x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 COMPITO DI RICERCA OPERATIVA ESERCIZIO 1. (7 punti) Sia dato il seguente problema di PL: max 3x 1 + 2x 2 x 1 + 1 2 x 2 + x 3 = 4 2x 1 + x 2 + x 4 = 3 Lo si risolva con l algoritmo che si ritiene più opportuno

Dettagli

PROVE D'ESAME 1994/95

PROVE D'ESAME 1994/95 PROVE D'ESAME 1994/9 PROVA PARZIALE DEL 21/11/94 1) Sia dato il seguente programma lineare: max 2 x 1 + 3 x 2 - x 3 s.t. 2 x 1 + 3 x 2 - x 3 2 x 1 + x 2 - x 3 4 x 1 - x 2 + x 3 1 x 1, x 2, x 3 0 a - Dire

Dettagli

Contenuto e scopo presentazione. Modelli Lineari Interi/Misti. Piani di taglio. Piani di taglio. Piani di taglio Versione 31/08/

Contenuto 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à

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Proposte di temi per il progetto

Metodi e Modelli per l Ottimizzazione Combinatoria Proposte di temi per il progetto Metodi e Modelli per l Ottimizzazione Combinatoria L. De Giovanni G. Zambelli Versione del 30/11/2009 Si fornisce di seguito un elenco di possibili temi per il progetto MeMOC, ricordando che il tema del

Dettagli

Esame di Ricerca Operativa del 04/02/16. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 04/02/16. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y + y + y + y + y + y y y +y y +

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound.

Ricerca Operativa A.A. 2007/ Esercitazione di laboratorio: Branch and Bound. Ricerca Operativa A.A. 2007/2008 17. Esercitazione di laboratorio: Branch and Bound. Luigi De Giovanni - Ricerca Operativa - 17. Esercitazione di laboratorio: Branch and Bound 17.1 . Luigi De Giovanni

Dettagli

2.2 Alberi di supporto di costo ottimo

2.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

Dettagli

Programmazione lineare

Programmazione lineare Capitolo 1 Programmazione lineare ESERCIZIO 1.1. Porre in forma canonica i seguenti programmi lineari. min 3x 1 + 4x 2 2x 3 x 1 + 2x 2 x 3 5 2x 1 + 4x 3 = 12 x 1 + x 2 + x 3 15 x 1, x 2 0, x 3 libera.

Dettagli

Esame di Ricerca Operativa del 24/07/18. max 7 x 1 +4 x 2 x 1 +3 x x 1 +x x 1 +x 2 12 x 1 x x 1 3 x 2 2 x 1 2 x 2 14

Esame di Ricerca Operativa del 24/07/18. max 7 x 1 +4 x 2 x 1 +3 x x 1 +x x 1 +x 2 12 x 1 x x 1 3 x 2 2 x 1 2 x 2 14 Esame di Ricerca Operativa del /07/18 Cognome) Nome) Numero di Matricola) Esercizio 1. Effettuare due iterazioni dell algoritmo del simplesso primale per il problema max 7 x 1 + x x 1 + x 6 x 1 +x x 1

Dettagli

Esame di Ricerca Operativa del 17/01/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 17/01/17. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/ Cognome) Nome) Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min 8 y y + y + y + y + y +0 y y +y

Dettagli

Esame di Ricerca Operativa del 30/06/14. max 4 x 1 7 x 2 x 1 +7 x 2 7 x 1 4 x 2 7 x 1 +5 x 2 5 x 1 x 2 5 x 2 1 x 1 +4 x 2 6

Esame di Ricerca Operativa del 30/06/14. max 4 x 1 7 x 2 x 1 +7 x 2 7 x 1 4 x 2 7 x 1 +5 x 2 5 x 1 x 2 5 x 2 1 x 1 +4 x 2 6 Esame di Ricerca Operativa del 0/0/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x 7 x x +7 x 7 x x 7 x + x x x x x

Dettagli

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 18/12/12. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del // (Cognome) (Nome) (Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x x Base Soluzione

Dettagli

Possibile applicazione

Possibile 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

Dettagli

Massimo flusso e matching

Massimo flusso e matching Capitolo Massimo flusso e matching. Problema del massimo matching. Nel problema del massimo matching è dato un grafo non orientato G(V, A); un matching in G è un insieme di archi M A tale che nessuna coppia

Dettagli

Esame di Ricerca Operativa del 16/06/2015

Esame 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

Dettagli

COMPITO 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. 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

Dettagli

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04

COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 COMPITO DI RICERCA OPERATIVA APPELLO DEL 07/04/04 Esercizio 1 1)Dato il seguente problema di PL: max 2x 1 x 2 x 1 + x 2 2 x 1 + 2x 2 7 x 1 + x 2 1 x 1, x 2 0 trasformarlo in forma standard (2 punti) 2)

Dettagli

Il 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. 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

Dettagli

Esame di Ricerca Operativa del 12/02/18. P 1 P 2 P 3 P 4 P 5 P 6 Peso bagaglio km di viaggio

Esame di Ricerca Operativa del 12/02/18. P 1 P 2 P 3 P 4 P 5 P 6 Peso bagaglio km di viaggio Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. L autista di un taxi puo trasportare al massimo persone richiedendo a ciascuna Euro a km per il viaggio. Fanno richiesta

Dettagli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso

Dettagli

Esame di Ricerca Operativa del 15/09/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 15/09/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /09/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x x +x 9 x + x 8 x +x Base

Dettagli

Problemi di localizzazione di servizi (Facility Location Problems)

Problemi 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

Dettagli

Esercizi di Programmazione Lineare - Dualità

Esercizi 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

Dettagli

Esame di Ricerca Operativa del 07/06/2019

Esame di Ricerca Operativa del 07/06/2019 Esame di Ricerca Operativa del 0/0/09 (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere il seguente problema di programmazione lineare applicando l algoritmo del simplesso duale: min y y

Dettagli