PROBLEMA DEL COMMESSO VIAGGIATORE:
|
|
|
- Battista Fabiani
- 9 anni fa
- Visualizzazioni
Transcript
1 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 a piccole industrie della zona. Gli indirizzi dei clienti sono stati usati per calcolare, attraverso un software di navigazione satellitare, le distanze effettive presenti tra essi. La matrice dei costi (distanze) riportata non è simmetrica, questo dipende dal fatto che non sempre sono consentiti entrambi i sensi di marcia nelle strade che collegano due località. Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 33,6 14,0 40,9 14,5 11,5 Potenza Picena 34,7-21,7 13,0 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 12,0 22,8 2,0 30,1 4,0 - Nella tabella sono riportati i Km necessari per raggiungere una destinazione (in alto nella tabella) a partire da un origine (a sinistra). Si vuole minimizzare la distanza (o il tempo) totale che occorre per effettuare un giro di visita a tutti i clienti che si intendono visitare, senza passare due volte per la stessa località, e ritornando nella località di partenza. Nota: è possibile costruire un grafo associato al problema in cui ogni nodo rappresenta una località e ogni arco rappresenta la distanza (coefficienti c ij ) che le separa. Il grafo relativo al problema è orientato, questo deriva dal fatto che, avendo una tabella dei costi non simmetrica, la distanza tra due nodi qualsiasi i, j è diversa della distanza tra j ed i. Le soluzioni ammissibili del problema sono quindi i possibili cicli hamiltoniani orientati sul grafo stesso. Infatti un ciclo corrisponde ad un 1
2 cammino dove i nodi di inizio e di fine coincidono, in particolare i cicli hamiltoniani sono quei cicli che passano una ed una sola volta per ogni nodo. Lo scopo sarà quindi quello di determinare il ciclo hamiltoniano al quale corrisponde il costo minimo. La formulazione matematica del problema del commesso viaggiatore è quindi la seguente: 1) min z = n n i= 1 j= 1 c ij x ij 2) n i= 1 x ij = 1 j = 1, K, n 3) n j= 1 x ij = 1 i = 1, K, n 4) i, j S x ij S 1 S N;2 S n 2 5) x ij 1 se l'arco = 0 se l'arco ( i, j) ( i, j) è scelto non è scelto in cui S è un qualsiasi sottoinsieme di nodi di cardinalità compresa tra 2 e N-2. l vincoli 2 significano che una destinazione può essere raggiunta da una sola origine mentre i vincoli 3 servono ad evitare che da una stessa origine si parta per raggiungere più destinazioni. I vincoli 4 sono definiti vincoli di eliminazione dei sottocicli, questi, insieme ai vincoli 2 e 3 eliminano tutti i cicli con lunghezza minore di n. Si noti che il numero di vincoli di tipo 4 è esponenziale. 2
3 APPROCCI RISOLUTIVI Il numero esponenziale di vincoli di tipo 4 rende il problema difficilmente risolvibile con metodi diretti. Si propongono i seguenti approcci risolutivi alternativi: 1. Branch & Bound 2. Generazione di vincoli (constraint generation). Branch & Bound Qualora non si considerino i vincoli 4 il problema si trasforma in un problema di assegnamento e può essere facilmente risolto con il metodo del simplesso (con garanzia di soluzioni intere anche senza imporre i vincoli 5) oppure con il metodo ungherese (versione specializzata del metodo del simplesso, in modo analogo al metodo di Dantzig per il problema dei trasporti). Risolvendo il problema di assegnamento associato, però, di solito compaiono nella soluzione dei sottocicli, il che fa sì che la soluzione ottenuta sia non ammissibile per il problema del commesso viaggiatore. Tuttavia, tale soluzione rappresenta un limite inferiore (lower bound) per il problema in esame (si tratta del problema di partenza in cui sono stati eliminati dei vincoli) e si può applicare lo schema del Branch & Bound : tra tutti i problemi rimasti da valutare si sceglie quello che ha il più piccolo valore del limite inferiore del problema di assegnamento associato (politica di esplorazione best bound first). Se il valore della soluzione del problema scelto è maggiore od uguale di quello della miglior soluzione nota, la ricerca termina perché la soluzioni di tutti i problemi rimasti non migliorerebbero il suo valore. Se invece la soluzione del problema scelto costituisce un ciclo hamiltoniano, il problema viene eliminato (nodo chiuso per ammissibilità del rilassamento), la migliore soluzione nota viene aggiornata e si considera il problema successivo. 3
4 Quando le verifiche precedenti hanno esito negativo, si esegue un operazione di branch: il problema scelto viene rimpiazzato da due o più problemi ottenuti imponendo il soddisfacimento di uno dei vincoli 4 violati e si passa alla scelta del problema seguente. Come si vedrà nell esempio che segue, vi sono vari modi di eseguire il branching. In ogni caso, si cercherà di preservare la struttura di assegnamento associata al problema da risolvere ad ogni nodo, per sfruttare le caratteristiche di totale unimodularità della relativa matrice dei vincoli. Generazione di vincoli Siccome i vincoli 4 sono molto numerosi, in particolar modo quando si ha a che fare con un numero elevato di località da visitare, la loro applicazione in fase di risoluzione non è conveniente. Si procede quindi come segue: 1. Si considera come problema corrente il problema di assegnamento ottenuto eliminando tutti i vincoli di tipo 4 2. Si risolve il problema corrente 3. Se la soluzione non presenta sotto-cicli, la soluzione corrente è la soluzione ottima 4. Se ci sono dei sottocicli, aggiungere al problema corrente i vincoli di eliminazione di uno (o più) dei sottocicli stessi 5. tornare al passo 2 Si noti come i vincoli di eliminazione di sottocicli si introducano in modo incrementale. In questo modo una soluzione ammissibile potrà essere trovata prima di aggiungere tutti i vincoli di tipo 4 (generalmente se ne introducono solo una piccola percentuale). Tale soluzione sarà anche ottima, visto che, oltre ad essere ammissibile, risolve un problema rilassato (con meno vincoli) rappresenta una stima ottimistica del valore ottimo della funzione obiettivo. 4
5 Applicazione del Branch & Bound Nell esercizio che stiamo per affrontare si impiegherà il software LINDO (Linear Interactive and Discrete Optimizer) per determinare le soluzioni del problema di assegnamento associato (P0) e di quelli successivi che si genereranno per stringere la regione di ammissibilità. La tabella dei costi (Km) che prendiamo in considerazione è la seguente: Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 33,6 14,0 40,9 14,5 11,5 Potenza Picena 34,7-21,7 13,0 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 12,0 22,8 2,0 30,1 4,0 - Per facilitare la lettura delle soluzioni associamo un numero ad ogni località: Località Numero Ancona 1 Potenza Picena 2 Osimo Stazione 3 Civitanova Marche 4 Castelfidardo 5 Camerano 6 Obiettivo: Trovare il giro di visite che passa una e una sola volta per ognuna delle sei località e che minimizza la distanza totale percorsa. 5
6
7 Problema P0 Il problema P0 scritto nel linguaggio utilizzato dal LINDO è il seguente: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 subject to riga1) x12 + x13 + x14 + x15 + x16=1 riga2) x21 + x23 + x24 + x25 + x26=1 riga3) x31 + x32 + x34 + x35 + x36=1 riga4) x41 + x42 + x43 + x45 + x46=1 riga5) x51 + x52 + x53 + x54 + x56=1 riga6) x61 + x62 + x63 + x64 + x65=1 col1) x21 + x31 + x41 + x51 + x61=1 col2) x12 + x32 + x42 + x52 + x62=1 col3) x13 + x23 + x43 + x53 + x63=1 col4) x14 + x24 + x34 + x54 + x64=1 col5) x15 + x25 + x35 + x45 + x65=1 col6) x16 + x26 + x36 + x46 + x56=1 end L output che si ottiene in seguito al comando Solve è il seguente: LP OPTIMUM FOUND AT STEP 9 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ROW SLACK OR SURPLUS DUAL PRICES RIGA1) RIGA2) RIGA3) RIGA4)
8 RIGA5) RIGA6) COL1) COL2) COL3) COL4) COL5) COL6) NO. ITERATIONS= 9 La soluzione del problema P0 trovata vale 53,6 ed è la seguente: 1-6-1, 2-4-2, Tale soluzione tuttavia non è ammissibile in quanto i cicli non sono hamiltoniani. Si procederà in modo che uno dei tre sottocicli non faccia parte della soluzione. In altre parole, attraverso la modifica dei coefficienti c ij, realizzeremo il vincolo: x 16 + x61 Ciò significa scegliere una delle variabili nel ciclo (ad esempio x 16 ) e porre x 16 =0, tale caso infatti è compatibile con il vincolo e permette che si verifichi anche il caso <; oppure porre x 16 =1 e allo stesso tempo x 61 =0 in tal caso il vincolo è rispettato con il segno di uguaglianza. Attenzione: l aggiunta del vincolo direttamente nel modello comporterebbe la perdita delle proprietà della matrice dei vincoli per i problemi di assegnamento (totale unimodularità) e pertanto non si potrebbe utilizzare il semplice simplesso per la soluzione del nuovo problema generato: occorrerebbe mantenere il vincolo sull interezza delle variabili decisionali! Per evitare ciò, si può formulare il problema figlio sempre come problema di assegnamento osservando quanto segue. Imponendo ad alcuni coefficienti c ij della tabella dei costi valori molto alti (nel nostro caso 1000 è sufficiente) è come se si vincolasse a non scegliere alcuni percorsi e a preferire quello il cui coefficiente c ij è rimasto invariato. Per esempio se si pone c hk = è come se si inserisse il vincolo x hk =0. Inoltre, per imporre x hk =1, basta mettere a tutti i costi c hk 1 Questa tecnica permette di risolvere sempre problemi di assegnamento consente quindi l utilizzo del metodo del simplesso (ungherese). 8
9 Ciò può essere rappresentato nella seguente maniera: P1 X 16 =0 C 16 = P0 P2 X 16 =1 X 61 =0 C 1j = j=2,,5 C 61 = Si noti che, imponendo x 16 a 0, il vincolo di eliminazione dei sottocicli in esame è automaticamente rispettato. Quando invece si impone x 16 a 1, bisogna imporre almeno una alla volta le altre variabili a 0. Se k è il numero di archi nel sottociclo in esame, per non perdere soluzioni ammissibili, si introducono (oltre al nodo con x 16 = 0), altri k 1 nodi con vincoli x 16 = 1, x pq = 0, dove (p,q) è uno degli altri k 1 archi. Si noti che gli insiemi di soluzioni rappresentati da ciascuno dei k figli non è disgiunto. Ciò, come sappiamo, non inficia la validità del branch & bound, che impone solo di non perdere nessuna soluzione ammissibile passando dal nodo padre all unione dei nodi figli. Un modo alternativo per effettuare il branching, ottenendo sempre k nodi figli, è quello di imporre solo il vincolo sulla variabile da mettere a 0, come segue: 1. si sceglie un sottociclo 2. si genera un figlio per ogni arco nel sottociclo imponendo come vincolo di branching che la corrispondente variabile sia 0. Si noti come, anche in questo caso, il principio di intersezione vuota tra tutti i sottoproblemi generati non sia rispettato, ma ciò, come sappiamo, non inficia la validità del branch & bound, che impone solo di non perdere nessuna soluzione ammissibile passando dal nodo padre all unione dei nodi figli. 9
10 Ponendo a infinito il costo della variabile da imporre a 0, di volta in volta, i sottoproblemi sono valutabili come problemi di assegnamento, secondo lo stesso metodo visto finora. Si può notare come il livello si sovrapposizione degli insiemi di soluzioni associate ad ogni nodo è più elevato in questo secondo caso, rispetto al primo. Sono possibili tecniche che riducano ulteriormente il livello di sovrapposizione, ma ciò comporterebbe un numero molto elevato di nodi da generare ad ogni branching. Nel prosieguo si considererà la prima tecnica di branching, considerata un buon compromesso tra i livelli di sovrapposizione e il numero di nodi di branching. Problema P1 (ottenuto da P0) Come appena visto dal diagramma ad albero porre x 16 =0 è equivalente a porre il coefficiente c 16 =. La tabella dei costi del problema di assegnamento P1è dunque la seguente: Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 33,6 14,0 40,9 14,5 Potenza Picena 34,7-21,7 13,0 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 12,0 22,8 2,0 30,1 4,0 - Con il LINDO il problema può essere implementato come segue: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 subject to riga1) x12 + x13 + x14 + x15 + x16=1 riga2) x21 + x23 + x24 + x25 + x26=1 riga3) x31 + x32 + x34 + x35 + x36=1 riga4) x41 + x42 + x43 + x45 + x46=1 riga5) x51 + x52 + x53 + x54 + x56=1 riga6) x61 + x62 + x63 + x64 + x65=1 col1) x21 + x31 + x41 + x51 + x61=1 col2) x12 + x32 + x42 + x52 + x62=1 col3) x13 + x23 + x43 + x53 + x63=1 col4) x14 + x24 + x34 + x54 + x64=1 col5) x15 + x25 + x35 + x45 + x65=1 col6) x16 + x26 + x36 + x46 + x56=1 end 10
11 La soluzione trovata in questo caso è, ovviamente, maggiore in quanto si è aumentato il numero dei vincoli e vale 58 LP OPTIMUM FOUND AT STEP 11 OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X I nuovi sottocicli sono: , Ancora una volta la soluzione non è ammissibile perché non formata da un unico ciclo hamiltoniano. Si sceglie, arbitrariamente, il sottociclo (perché composto fa un numero inferiore di archi, quindi genererà meno nodi figli. Am al scelta è arbitraria!) Verranno quindi generati ulteriori due sottoproblemi P3 e P4. 11
12 P3 X 24 =0 C 24 = P1 P4 X 24 =1 X 42 =0 C 2j = j=1,3,5,6 C 42 = Problema P2 (ottenuto da P0) Come indicato dal diagramma ad albero porre x 16 =1 e x 61 =0 corrisponde a porre a porre il coefficiente c 1j = con j=2,,5 e porre c 61 =. La tabella dei costi del problema di assegnamento P1è dunque la seguente: Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 11,5 Potenza Picena 34,7-21,7 13,0 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 22,8 2,0 30,1 4,0 - Ovvero: min 1000 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 La soluzione ottenuta in questo caso vale 56,6 ed i sottocicli trovati sono: , Essendo il valore della soluzione inferiore a quella del problema P1 esploreremo prima i nodi figlio di P2 e poi quelli di P1. 12
13 P5 X 24 =0 C 24 = P2 P6 X 24 =1 X 42 =0 C 2j = j=1,3,5,6 C 42 = Problema P5 (ottenuto da P2) La tabella dei costi alla luce dei nuovi vincoli sarà: Ancona Potenza Picena Osimo Stazione Civitanova Marche Castelfidardo Camerano Ancona - 11,5 Potenza Picena 34,7-21,7 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 22,8 2,0 30,1 4,0 - Che in LINDO diventa: min 1000 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 La funzione obiettivo assume il valore 90,8 ed è ammissibile in quanto corrisponde al ciclo hamiltoniano: Il problema P2, avendo soluzione ammissibile, sarà una foglia dell albero dei sottoproblemi e non avrà ulteriori nodi figlio. Problema P6 (ottenuto da P2) La tabella dei costi è: 13
14 Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 11,5 Potenza Picena - 13,0 Osimo Stazione 14,8-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 22,8 2,0 30,1 4,0 - che in LINDO corrisponde a: min 1000 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 Risolvendo il problema si ottiene un valore della funzione obiettivo pari a 89,1. Tale soluzione tuttavia generando i seguenti sottocicli non risulta ammissibile: , Alla luce del fatto che P6 ha come valore della funzione obiettivo un valore minore di 90,8 (valore della più piccola soluzione ammissibile trovata), dovremo considerare i sottoproblemi di P6 per vedere se danno origine a soluzioni ammissibili migliori di quella appena trovata. Questa volta ci troviamo di fronte ad un caso differente da quelli precedenti, infatti dobbiamo porre dei vincoli in modo da eliminare un ciclo che attraversa 3 nodi del grafo. Il vincolo 4 che dovremo applicare sarà quindi il seguente: x 16 + x63 + x31 2 ( 1) Considerando che la variabile x 16 =1 in seguito all assegnazione effettuata in P2 (dal quale si è ottenuto P6) i casi possibili sono i seguenti: 14
15 P7 X 63 =0 C 63 = P6 P8 X 63 =1 X 31 =0 C 6j = j=1,2,4,5 C 31 = Il problema P7 contempla anche il caso di < nel vincolo (1). Si noti che, se il nodo P6 non avesse ereditato il vincolo x 16 =1, avremmo dovuto generare anche un terzo nodo figlio x 63 =1, x 16 =0 (nel caso in esame, invece, tale nodo è subito riconoscibile come non ammissibile, vista la contraddizione tra i vincoli di branching, e non viene generato, anziché essere generato e venire immediatamente chiuso). Prima di analizzare i sottoproblemi di P6 procederemo con l analisi dei sottoproblemi di P1 in quanto il valore ottimo della sua funzione obiettivo era inferiore. Problema P3 (ottenuto da P1) La tabella dei costi derivante dai nuovi vincoli è: Ancona Potenza Osimo Civitanova Picena Stazione Marche Castelfidardo Camerano Ancona - 33,6 14,0 40,9 14,5 Potenza Picena 34,7-21,7 20,2 23,4 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 12,0 22,8 2,0 30,1 4,0 - Che implementato al LINDO diventa: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 Il valore assunto dalla funzione obiettivo in questo caso è 92,0 che risulta ammissibile dal momento che si ottiene il seguente ciclo hamiltoniano: 15
16 Tale soluzione è maggiore di quella ottenuta in P5 pertanto continueremo a considerare come valore candidato all ottimo 90,8. Anche in questo caso, come in P5, non ci saranno nodi figli di questo sottoproblema. Problema P4 (ottenuto da P1) La tabella dei costi è la seguente: Ancona Potenza Picena Osimo Stazione Civitanova Marche Castelfidardo Camerano Ancona - 33,6 14,0 40,9 14,5 Potenza Picena - 13,0 Osimo Stazione 14,8 21,5-29,3 2,0 3,9 Civitanova Marche 41,7 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 12,0 22,8 2,0 30,1 4,0 - ovvero: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 In questo caso si ottiene 90,7 e i seguenti cicli: , Essendo il valore della funzione obiettivo inferiore al minimo valore delle soluzioni ammissibili trovane fino ad ora, sarà necessario, analizzare i seguenti sottoproblemi: P9 X 45 =0 C 45 = P4 P10 X 45 =1 X 52 =0 C 4j = j=1,,3,6 C 52 = 16
17 Prima di procedere con l analisi di questi sottoproblemi analizzeremo quelli ottenuti da P6 in quanto il valore della sua funzione obiettivo è minore. Problema P7 (ottenuto da P6) Ancona Potenza Picena Osimo Stazione Civitanova Marche Castelfidardo Camerano Ancona - 11,5 Potenza Picena - 13,0 Osimo Stazione 14,8-29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 22,8 30,1 4,0 - Che in LINDO equivale a: min 1000 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 La soluzione ottima per questi coefficienti vale 91,7 e corrisponde al ciclo hamiltoniano: Continueremo comunque a tenere come valore ottimo di riferimento il 90,8 ottenuto risolvendo P6. Problema P8 (ottenuto da P6) Ancona Potenza Picena Osimo Stazione Civitanova Marche Castelfidardo Camerano Ancona - 11,5 Potenza Picena - 13,0 Osimo Stazione - 29,3 2,0 3,9 Civitanova Marche 41,7 13,1 29,4-27,6 30,3 Castelfidardo 15,0 20,2 2,0 27,5-3,9 Camerano 2,0 - In LINDO si ottiene: min 1000 x x x x x x x x x x x x x x x x x x x x46 17
18 15.0 x x x x x x x x x x65 In questo caso otteniamo che il valore della soluzione ottima vale 90,4 ed è inoltre ammissibile in quanto la si ottiene con il seguente percorso corrispondente al ciclo hamiltoniano: Essendo il valore della soluzione ottima e ammissibile minore di tutti quelli trovati fino ad ora possiamo prendere questo valore come riferimento. Problemi P9 e P10 (ottenuti da P4) Non ha alcun senso studiare questi casi in quanto il problema P4 dai quali sono stati ottenuti aveva come valore della soluzione ottima 90,7 che è maggiore rispetto a 90,4 ottenuto risolvendo P8. Infatti i problemi P9 e P10, avendo ulteriori vincoli rispetto a P4) non possono avere altro che valori maggiori della soluzione ottima, essendo più piccola la regione di ammissibilità. A scopo puramente didattico si sono comunque risolti tali problemi ottenendo i valori delle funzioni obiettivo 91,5 (P9) e 92,0 (P10), corrispondenti ai cicli hamiltoniani: Scelta della soluzione ottima (P9) (P10) In base all analisi dei problemi precedenti la soluzione ammissibile con valore minore è quella del problema P8 e vale 90,4 ottenibile con il percorso: L utilizzo del metodo di variazione dei coefficienti c ij ha comportato diverse iterazioni. Riporto ora l albero completo che si è originato a partire da P0: 18
19 P0 53,6 58,0 P1 P2 56,6 92,0 P3 P4 P5 P6 90,7 90,8 89,1 91,5 P9 P10 92,0 P7 P8 91,7 90,4 Legenda: Indicati in rosso i problemi con soluzione ammissibile Indicati con il tratteggio i problemi dei quali non è necessaria l analisi 19
20 Applicazione della generazione di vincoli In questo paragrafo ci utilizzeremo un approccio differente. Dopo aver trovato le soluzioni al problema di assegnamento associato P0 procederemo imponendo tutti i vincoli di tipo 4 violati. Non si modificheranno quindi i coefficienti di costo bensì i vincoli. Si potrà notare che sarà necessario studiare un numero molto minore di problemi, tuttavia questi richiederanno un utilizzo maggiore delle risorse di calcolo in quanto non si possono impiegare i metodi ottimizzati per i problemi di assegnamento. L aggiunta dei vincoli, infatti, non può essere stavolta fatta con semplici modifiche della tabella dei costi e, pertanto, la matrice dei vincoli perde la proprietà di totale unimodularità e il simplesso applicato al rilassamento continuo non garantisce di trovare soluzioni intere. Pertanto bisogna lasciare i vincoli 5 (variabili decisionali binarie, e tale fatto costringe il computer di applicare l algoritmo del Branch & Bound per la programmazione lineare mista intera ad ogni iterazione. Problema P0 Il problema P0 fornisce si implementa come nel caso precedente. La soluzione ottima vale 53,6 e non è ammissibile. I sottocicli che corrispondono a P0 sono: 1-6-1, 2-4-2, Questa volta, a differenza di quanto visto nel paragrafo 2.1 il problema P1 sarà ottenuto con l inserimento dei vincoli: x x x x + x + x
21 La situazione può essere schematizzata con in seguente grafo: P0 P1 X 16 +x 61 1 X 24 +x 42 1 X 35 +x 53 1 Questa volta non ci saranno ramificazioni ma si procederà aggiungendo un sottoproblemi fino all ottenimento della soluzione ottima ammissibile. Problema P1 (ottenuto da P0) In questo problema la tabella dei costi rimane costante, subiranno una variazione invece i vincoli del problema: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 subject to riga1) x12 + x13 + x14 + x15 + x16=1 riga2) x21 + x23 + x24 + x25 + x26=1 riga3) x31 + x32 + x34 + x35 + x36=1 riga4) x41 + x42 + x43 + x45 + x46=1 riga5) x51 + x52 + x53 + x54 + x56=1 riga6) x61 + x62 + x63 + x64 + x65=1 col1) x21 + x31 + x41 + x51 + x61=1 col2) x12 + x32 + x42 + x52 + x62=1 col3) x13 + x23 + x43 + x53 + x63=1 col4) x14 + x24 + x34 + x54 + x64=1 col5) x15 + x25 + x35 + x45 + x65=1 col6) x16 + x26 + x36 + x46 + x56=1 sciclo1) x16+x61<=1 sciclo2) x24+x42<=1 sciclo3) x35+x53<=1 end x16 x61 x24 x42 x35 x53 21
22 In seguito alla risoluzione del problema di ottiene l output: LP OPTIMUM FOUND AT STEP 34 OBJECTIVE VALUE = FIX ALL VARS.( 3) WITH RC > E+00 NEW INTEGER SOLUTION OF AT BRANCH 0 PIVOT 40 BOUND ON OPTIMUM: ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS= 40 LAST INTEGER SOLUTION IS THE BEST FOUND RE-INSTALLING BEST SOLUTION... OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ROW SLACK OR SURPLUS DUAL PRICES RIGA1) RIGA2) RIGA3) RIGA4) RIGA5) RIGA6) COL1) COL2) COL3) COL4) COL5) COL6) SCICLO1) SCICLO2) SCICLO3) NO. ITERATIONS= 50 BRANCHES= 0 DETERM.= 1.000E 0 22
23 Il valore della soluzione ottima di P1 vale 89,1 ma non è ammissibile in quanto è composta dei cicli: , I vincoli violati questa volta sono: x x x + x x + x Il problema P2 sarà ottenuto a partire da P1 con l aggiunta dei due vincoli sopra indicati: P1 P2 X 16 +x 63 +X 31 2 X 24 +X 45 +x 52 2 Problema P2 (ottenuto da P1) Implementando i vincoli al LINDO si ottiene: min 33.6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x65 subject to riga1) x12 + x13 + x14 + x15 + x16=1 riga2) x21 + x23 + x24 + x25 + x26=1 riga3) x31 + x32 + x34 + x35 + x36=1 riga4) x41 + x42 + x43 + x45 + x46=1 riga5) x51 + x52 + x53 + x54 + x56=1 riga6) x61 + x62 + x63 + x64 + x65=1 col1) x21 + x31 + x41 + x51 + x61=1 col2) x12 + x32 + x42 + x52 + x62=1 col3) x13 + x23 + x43 + x53 + x63=1 col4) x14 + x24 + x34 + x54 + x64=1 col5) x15 + x25 + x35 + x45 + x65=1 col6) x16 + x26 + x36 + x46 + x56=1 sciclo1) x16+x61<=1 sciclo2) x24+x42<=1 sciclo3) x35+x53<=1 sciclo4) x16+x63+x31<=2 sciclo5) x24+x45+x52<=2 end 23
24 x16 x61 x24 x42 x35 x53 x63 x31 x45 x52 Elaborando il listato si ottiene: LP OPTIMUM FOUND AT STEP 40 OBJECTIVE VALUE = SET X24 TO <= 0 AT 1, BND= TWIN= NEW INTEGER SOLUTION OF AT BRANCH 1 PIVOT 45 BOUND ON OPTIMUM: FLIP X24 TO >= 1 AT 1 WITH BND= NEW INTEGER SOLUTION OF AT BRANCH 1 PIVOT 45 BOUND ON OPTIMUM: DELETE X24 AT LEVEL 1 ENUMERATION COMPLETE. BRANCHES= 1 PIVOTS= 45 LAST INTEGER SOLUTION IS THE BEST FOUND RE-INSTALLING BEST SOLUTION... OBJECTIVE FUNCTION VALUE 1) VARIABLE VALUE REDUCED COST X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X ROW SLACK OR SURPLUS DUAL PRICES RIGA1) RIGA2) RIGA3)
25 RIGA4) RIGA5) RIGA6) COL1) COL2) COL3) COL4) COL5) COL6) SCICLO1) SCICLO2) SCICLO3) SCICLO4) SCICLO5) NO. ITERATIONS= 47 BRANCHES= 1 DETERM.= 1.000E 0 Questa volta la funzione obiettivo vale 90,4 ed è ammissibile. Il ciclo hamiltoniano corrispondente è: Scelta della soluzione ottima La soluzione ammissibile con valore minore è 90,4 ottenibile con il percorso: Questa volta si è proceduto in modo nettamente diverso: ogni problema infatti dava origine ad un unico sottoproblema del quale bisognava stabilire se la soluzione fosse ammissibile o no (a seconda che il percorso formasse un ciclo hamiltoniano o no). Infatti una volta trovata la prima soluzione ammissibile un ulteriore passaggio, con la corrispondente aggiunta di un vincolo, comporterebbe solo l aumento della funzione obiettivo in quanto si restringe la regione di ammissibilità. P0 P1 P2 53,6 89,1 90,4 Legenda: Indicato in rosso il problema con soluzione ammissibile 25
26 Paragrafo 2.3 Conclusioni Entrambe i metodi proposti giungono allo stesso risultato sia in termini di valore che in termini di percorso ottimo. Il valore della funzione obiettivo è 90,4 e si ottiene per: 26
27 Occorre ora effettuare alcune considerazioni utili a mettere in luce vantaggi e svantaggi di questi due approcci. Il primo metodo richiede esigue risorse di calcolo per risolvere ciascun sottoproblema. Si risolvono infatti problemi di assegnamento per i quali esistono metodi specifici di risoluzione. Un altro vantaggio è che il numero di variabili e di vincoli è costante dal primo all ultimo sottoproblema: i vincoli di eliminazione del percorso vengono aggiunti con lo stratagemma della modifica dei coefficienti c ij. Come rovescio della medaglia si deve prestare attenzione alla scelta e alla gestione dei sottoproblemi: questi, specie nel caso di molte località, potrebbero diventare molto numerosi e potrebbe essere necessario uno studio di parecchi casi prima di determinare la soluzione ammissibile ed ottima. Un ulteriore inconveniente è rappresentato dal fatto che, anche dopo aver trovato la soluzione che in seguito si rivelerà ottima, potrei dover studiare altri sottoproblemi e verificare che hanno valori della funzione obiettivo peggiori. Il metodo che invece utilizza i vincoli di eliminazione dei sottocicli presenta caratteristiche molto diverse. Esso richiede, ogni volta che si procede con un sottoproblema successivo, l introduzione di almeno un vincolo, il quale potrebbe essere piuttosto complesso quando il numero di località del sottociclo trovato sono numerose. Le risorse di calcolo richieste per ogni iterazione in questo tipo di approccio sono elevate: basti pensare che non si può ricorrere a metodi per programmazione lineare, come nel caso precedente, visto che, non avendo più garanzie sull interezza delle variabili, occorre imporre l interezza delle variabili (in realtà basta imporre l interezza per le sole variabili che entrano nei vincoli di eliminazione di sottocicli). Per questo motivo ogni sottoproblema successivo sarà un problema di programmazione lineare misto e richiederà l utilizzo della tecnica del Branch & Bound da parte del calcolatore. I vantaggi derivano da un generalmente inferior numero di iterazioni da svolgere per arrivare ad una soluzione ammissibile (e quindi ottima). 27
METODI DELLA RICERCA OPERATIVA
Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco ([email protected]) i i Dott.ing. Maria Ilaria Lunesu ([email protected])
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
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
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
Il problema del commesso viaggiatore
Il problema del commesso viaggiatore Mauro Passacantando Dipartimento di Informatica Largo B. Pontecorvo 3, Pisa [email protected] M. Passacantando TFA 2012/13 - Corso di Ricerca Operativa Università
Ricerca 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)
Parte 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
Il 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
Branch-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
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
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
Algoritmo di Branch & Bound
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni [email protected] Corso di: Ottimizzazione Combinatoria
Metodi e Modelli per l Ottimizzazione Combinatoria Metodi esatti per il problema del commesso viaggiatore
Metodi e Modelli per l Ottimizzazione Combinatoria Metodi esatti per il problema del commesso viaggiatore L. De Giovanni G. Zambelli Il problema del commesso viaggiatore (Travelling Salesman Problem -
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
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:
Metodi 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
Programmazione Lineare: problema del trasporto Ing. Valerio Lacagnina
Problemi di trasporto Consideriamo un problema di programmazione lineare con una struttura matematica particolare. Si può utilizzare, per risolverlo, il metodo del simplesso ma è possibile realizzare una
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
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
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
COMPITO 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,
4.5 Metodo del simplesso
4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una
ALGORITMI 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
UNIVERSITÀ 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
Il 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 [email protected] http://www.di.unipi.it/~galli 2 Dicembre
2. ALGORITMO DEL SIMPLESSO
. ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione
Problemi, 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
Algoritmo 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
4. METODI DUALI DEL SIMPLESSO
4. MEODI DUALI DEL SIMPLESSO R. adei 1 Una piccola introduzione R. adei 2 MEODI DUALI DEL SIMPLESSO L obiettivo del capitolo è illustrare e giustificare i metodi duali del simplesso. Entrambi i metodi
Prerequisiti didattici
Università degli Studi di Ferrara 2014-2015 Corso TFA - A048 Matematica applicata Didattica della matematica applicata all economia e alla finanza 1 aprile 2015 Appunti di didattica della matematica applicata
Flusso a Costo Minimo
Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Flusso a Costo Minimo Docente: Renato Bruni [email protected] Corso di: Ottimizzazione Combinatoria Dal
Il metodo del simplesso
Capitolo 5 Il metodo del simplesso 5. La forma standard Esercizio 5.. Porre il problema di Programmazione Lineare: in forma standard. min x +x + x + x x +x 5 x 4 x, x Si trasformano i vincoli di disuguaglianza
RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
Problemi di flusso a costo minimo
p. 1/7 Problemi di flusso a costo minimo È data una rete (grafo orientato e connesso) G = (V,A). (i,j) A c ij, costo di trasporto unitario lungo l arco (i, j). i V b i interi e tali che i V b i = 0. p.
RICERCA OPERATIVA. Tema d esame del 04/03/2008 (Simulazione)
RICERCA OPERATIVA Tema d esame del 04/03/2008 (Simulazione) COGNOME: NOME: MATRICOLA:. Una nota azienda automobilistica produce due modelli di auto (un utilitaria e una berlina), che rivende con un guadagno
Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard
Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione
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
Parte 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)
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à
5.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è
IL METODO DEL SIMPLESSO
IL METODO DEL SIMPLESSO Il metodo del Simplesso 1 si applica nella risoluzione di un problema di Programmazione Lineare 2 (funzione e vincoli lineari) quando le variabili di azione o iniziali sono almeno
2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
2.6 Calcolo degli equilibri di Nash
92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito
Gestione 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
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
COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI
COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI In questa Appendice, mostreremo come un impresa possa individuare la sua combinazione di minimo costo dei fattori produttivi attraverso il calcolo
Esercizi svolti. delle matrici
Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa
LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g
LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere
Problemi di Flusso: Il modello del Trasporto
Problemi di Flusso: Il modello del rasporto Andrea Scozzari a.a. 2014-2015 April 27, 2015 Andrea Scozzari (a.a. 2014-2015) Problemi di Flusso: Il modello del rasporto April 27, 2015 1 / 25 Problemi su
UNITÀ DIDATTICA 5 LA RETTA
UNITÀ DIDATTICA 5 LA RETTA 5.1 - La retta Equazione generica della retta Dalle considerazioni emerse nel precedente capitolo abbiamo compreso come una funzione possa essere rappresentata da un insieme
Soluzione 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
Esame 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
COMPITO 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
Problema del trasporto
p. 1/1 Problema del trasporto Supponiamo di avere m depositi in cui è immagazzinato un prodotto e n negozi che richiedono tale prodotto. p. 1/1 Problema del trasporto Supponiamo di avere m depositi in
Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ [email protected] Lorenzo Pareschi (Univ. Ferrara)
Branch-and-bound per KNAPSACK
p. 1/1 Branch-and-bound per KNAPSACK Rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un upper bound su un sottinsieme; come si effettua il branching; come si individuano
Algoritmi generali per PLI
Programmazione Lineare Intera: II Algoritmo Cutting Planes Daniele Vigo D.E.I.S. Università di Bologna [email protected] rev.. ottobre Algoritmi generali per PLI Metodi esatti tradizionali (anni 6 oggi):
Introduzione 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
11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.
ESERCIZI SVOLTI DI ALGEBRA LINEARE (Sono svolti alcune degli esercizi proposti nei fogli di esercizi su vettori linearmente dipendenti e vettori linearmente indipendenti e su sistemi lineari ) I. Foglio
Alberi. 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
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
Esercizi di PLI. a cura di A. Agnetis. Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory:
Esercizi di PLI a cura di A. Agnetis Risolvere il seguente problema di PLI con l algoritmo dei piani di Gomory: max z = 40x + 24x 2 + 5x + 8x 4 8x + 6x 2 + 5x + 4x 4 22 x i 0 x i intero Si tratta di un
Il 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
AMPL 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
Ottimizzazione marginale
Ottimizzazione marginale R. Pesenti Problema di faceness Formulazione del problema Il vostro supermercato deve disporre i prodotti A, B, C e D sugli scaffali 1, 2, e 3 ognuno di lunghezza 100 cm. Dato
Esercizi sui sistemi di equazioni lineari.
Esercizi sui sistemi di equazioni lineari Risolvere il sistema di equazioni lineari x y + z 6 x + y z x y z Si tratta di un sistema di tre equazioni lineari nelle tre incognite x, y e z Poichè m n, la
Equazioni di primo grado
Equazioni di primo grado 15 15.1 Identità ed equazioni Analizziamo le seguenti proposizioni: a ) cinque è uguale alla differenza tra sette e due ; b ) la somma di quattro e due è uguale a otto ; c ) il
Esercizi 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
UNIVERSITÀ 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à
Secondo parziale di Matematica per l Economia (esempio)
Corso di Laurea in Economia e Management Secondo parziale di Matematica per l Economia (esempio) lettere E-Z, a.a. 206 207 prof. Gianluca Amato Regole generali Si svolga il primo esercizio e, a scelta
Soluzione dei Problemi di Programmazione Lineare
Soluzione dei Problemi di Programmazione Lineare Consideriamo un problema di Programmazione Lineare (PL) con m vincoli ed n variabili in Forma Standard dove: ma 0 c A b ( ) 0 ( 2) R è il vettore n delle
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)
Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema
Luigi Piroddi
Automazione industriale dispense del corso (a.a. 2008/2009) 9. Reti di Petri: analisi dinamica e metodi di riduzione Luigi Piroddi [email protected] Metodi di analisi di Reti di Petri Ci sono 2 modi
LA PROGRAMMAZIONE MATEMATICA (p.m.)
LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x
Esercizi sulla Programmazione Lineare. min. cx Ax b x 0
Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )
L ALGORITMO DEL SIMPLESSO REVISIONATO
L ALGORITMO DEL SIMPLESSO REVISIONATO L'algoritmo del simplesso revisionato costituisce una diversa implementazione dell algoritmo standard tesa a ridurre, sotto certe condizioni, il tempo di calcolo e
Esercizi per il corso di ricerca operativa 1
Esercizi per il corso di ricerca operativa Ultimo aggiornamento: 8 gennaio 004 Indice I Esercizi 5 Programmazione lineare 7 Dualita 3 3 Analisi di sensitivita 7 4 Programmazione intera 5 Introduzione
Dipendenza e indipendenza lineare (senza il concetto di rango)
CAPITOLO 5 Dipendenza e indipendenza lineare (senza il concetto di rango) Esercizio 5.1. Scrivere un vettore w R 3 linearmente dipendente dal vettore v ( 1, 9, 0). Esercizio 5.2. Stabilire se i vettori
Il teorema di Rouché-Capelli
Luciano Battaia Questi appunti (1), ad uso degli studenti del corso di Matematica (A-La) del corso di laurea in Commercio Estero dell Università Ca Foscari di Venezia, campus di Treviso, contengono un
Esercizio 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.
Rilassamento 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
Esercizi svolti di Programmazione Lineare. a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania
Esercizi svolti di Programmazione Lineare a cura di Laura Scrimali Dipartimento di Matematica e Informatica Università di Catania Formulazione matematica e risoluzione grafica Esercizio Una pasticceria
