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 +x 1 x 1 x x 1 x x 1 x 1 1 iterazione {,} iterazione Base x y Indice Rapporti Indice uscente entrante Esercizio. Una ditta produce travi in ferro del peso ciascuno di un chilogrammo. Il ferro con cui tali pezzi sono fatti deve contenere manganese e silicio: in particolare deve contenere più dello 0.% di manganese, e tra il % e il.% di silicio. Sono disponibili tre tipi di materiale ferroso con le seguenti caratteristiche: Materiale ferroso A B C Silicio %).00 1.00 0.60 Manganese %) 0. 0.0 0.0 Costo Euro / Kg) 0.0 0.0 0.018 Determinare la percentuale di materiale da utilizzare per produrre una trave, in modo da minimizzare il costo del materiale usato. variabili decisionali: modello: COMANDI DI MATLAB c= intcon= A= b= Aeq= lb= beq= ub=
Esercizio. Effettuare due iterazioni dell algoritmo del simplesso su reti per il problema su ogni nodo è indicato il bilancio e su ogni arco sono indicati, nell ordine, il costo e la capacità). - 8,11) 9,8) -,7) 7,) 8,11) 9,8),1) 6 1 -,8),1) 1 iterazione iterazione Archi di T 1,) 1,),),),6) Archi di U,) x π Arco entrante ϑ +, ϑ Arco uscente Esercizio. Si consideri il seguente problema di programmazione lineare intera: min 8 x 1 +1 x 17 x 1 +1 x 60 11 x 1 +1 x 1 x 1 0 x 0 x 1,x Z a) Calcolare una valutazione inferiore del valore ottimo risolvendo il rilassamento continuo. sol. ottima del rilassamento = v I P) = b) Calcolare una valutazione superiore del valore ottimo. sol. ammissibile = v S P) = c) Calcolare un taglio di Gomory. r = taglio:
Esercizio. a) Applicare l algoritmo di Dijkstra per trovare l albero dei cammini minimi di radice 1 sulla seguente rete. 8 1 1 6 1 17 10 nodo visitato iter 1 iter iter iter iter iter 6 π p π p π p π p π p π p nodo nodo nodo nodo nodo 6 insieme Q b) Applicare l algoritmo FFEK per trovare il flusso massimo tra il nodo 1 ed il nodo 6 sulla seguente rete. 11 1 16 11 16 6 1 16 11 cammino aumentante δ x v Taglio di capacità minima: N s = N t =
Esercizio 6. Si consideri il problema di trovare il ciclo hamiltoniano di costo minimo su una rete di città, le cui distanze reciproche sono indicate in tabella: città 1 0 9 7 18 9 61 6 0 a) Trovare una valutazione inferiore del valore ottimo calcolando il albero di costo minimo. albero: v I P) = b) Trovare una valutazione superiore applicando l algoritmo del nodo più vicino a partire dal nodo. ciclo: v S P) = c) Applicare il metodo del Branch and Bound, utilizzando il albero di costo minimo come rilassamento di ogni sottoproblema, istanziando, nell ordine, le variabili x, x 1, x e dicendo se a questo punto é stato trovato l ottimo o si dovrebbe proseguire. Esercizio 7. Trovare massimi e minimi della funzione fx 1,x ) = x 1 +x sull insieme {x R : x 1 x + 0, x 1 +x 0}. Soluzioni del sistema LKT Massimo Minimo Sella x λ µ globale locale globale locale, ), ) ), Esercizio 8. Si consideri il seguente problema: { min x 1 6 x 1 x + x 1 7 x x P e i vertici di P sono, ), 0,),,) e,). Fare un passo del metodo del gradiente proiettato. Punto Matrice M Matrice H Direzione Max spostamento Passo Nuovo punto possibile, )
SOLUZIONI Esercizio 1. 1 iterazione {, } 1, 0) iterazione {, }, ) Esercizio. x A = percentuale di materiale A x B = percentuale di materiale B x C = percentuale di materiale C min 0.0 x A +0.0 x B +0.018 x C x A +x B +x C = 1 0.0 x A +0.01 x B +0.006 x C 0.0 0.0 x A +0.01 x B +0.006 x C 0.0 0.00 x A +0.00 x B +0.00 x C 0.00 x A 0 x B 0 x C 0 Base x y Indice Rapporti Indice uscente entrante 0, 1 ), 0, 0, 1 8 8, 0 0, 0, 0, ) 1, 11, 0 Esercizio. Effettuare due iterazioni dell algoritmo del simplesso su reti. 10 7, 8, 10 7, 10 1 iterazione iterazione Archi di T 1,) 1,),),),6) 1,) 1,),),),6) Archi di U,) x, 0,,, 0, 8, 0,, 0), 0,,, 0, 8, 0,, 0) π 0, 8, 16, 1,, 8) 0, 8, 16,,, ) Arco entrante,) 1,) ϑ +, ϑ, 0 8, Arco uscente,) 1,) Esercizio. a) Calcolare una valutazione inferiore del valore ottimo risolvendo il rilassamento continuo. ) 1 sol. ottima del rilassamento = 11,0 b) Calcolare una valutazione superiore del valore ottimo. v I P) = 8 sol. ammissibile =,0) v S P) = 0 c) Calcolare un taglio di Gomory. r = 1 10x 1 +1x 7 r = x 1 +6x Esercizio. iter 1 iter iter iter iter iter 6 π p π p π p π p π p π p nodo visitato 1 6 nodo 1 1 1 1 1 1 nodo + 1 1 1 1 1 1 nodo 1 1 8 8 8 8 8 nodo 17 1 17 1 1 1 1 1 nodo 6 + 1 + 1 insieme Q,,,,,, 6, 6 6
cammino aumentante δ x v 1 - - 6 11 0, 11, 0, 0, 0, 0, 0, 11, 0) 11 1 - - 6 11 0, 11, 11, 0, 0, 0, 0, 11, 11) 1 - - - 6, 11, 11, 0,, 0, 0, 16, 11) 7 Taglio di capacità minima: N s = {1,} N t = {,,,6} Esercizio 6. a) Trovare una valutazione inferiore del valore ottimo calcolando il albero di costo minimo. albero: 1, ) 1, ), ), ), ) v I P) = 118 b) Trovare una valutazione superiore applicando l algoritmo del nodo più vicino a partire dal nodo. ciclo: 1 v S P) = 1 c) Applicare il metodo del Branch and Bound, utilizzando il albero di costo minimo come rilassamento di ogni sottoproblema ed istanziando, nell ordine, le variabili x, x 1, x e dicendo se a questo punto é stato trovato l ottimo o si dovrebbe proseguire. 118,1 P x = 0 x = 1 118,1 P 1,1 18,1 P 1, x 1 = 0 x 1 = 1 1,1 P,1 118,1 P, x = 0 x = 1 x = 0 x = 1 1,1 1,1 10,1 118,1 P,1 P, P, P, Esercizio 7. Esercizio 8. Soluzioni del sistema LKT Massimo Minimo Sella x λ µ globale locale globale locale, ) ),0 NO NO NO NO SI, ) ), 1 NO SI NO NO NO ) ),, 1 NO NO NO NO SI Punto Matrice M Matrice H Direzione Max spostamento Passo Nuovo punto ) possibile /1 6/1, ), ) 8 ) 6/1 9/1 1, 87 1 1, ) 1 9 9