Esame di Ricerca Operativa del 8// (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 8 x Base Soluzione di base Ammissibile Degenere (si/no) (si/no) {, } x = {, } y = Esercizio. Effettuare due iterazioni dell algoritmo del simplesso primale per il problema dell esercizio. iterazione {,} iterazione Base x y Indice Rapporti Indice uscente entrante Esercizio. Una ditta deve produrre almeno 80 kg. di alimento per cani utilizzando tre tipi di carne: pollo, coniglio, manzo. L alimento deve contenere non meno del 0% di carne di pollo, non più del 0% di carne di coniglio e non meno del 0% di carne di manzo; la disponibilità dei tre tipi di carne è rispettivamente 0 kg., 80 kg. e 00 kg. Scrivere il modello che determina la composizione tenendo conto che la carne di coniglio e quella di pollo danno un guadagno all azienda di euro al chilo mentre l utilizzo della carne di manzo comporta una spesa di 9 euro al chilo. variabili decisionali: modello: c= COMANDI DI MATLAB A= b= Aeq= lb= beq= ub=
Esercizio. Completare la seguente tabella considerando il problema di flusso di costo minimo sulla seguente rete (su ogni nodo è indicato il bilancio e su ogni arco sono indicati, nell ordine, il costo e la capacità). - (8,9) (8,8) (0,8) - (9,0) (8,) (9,0) (,) (0,) (,) - (,) Archi di T Archi di U Soluzione di base Ammissibile Degenere (si/no) (si/no) (,) (,) (,) (,) (,) (,) (,) x = (,) (,) (,) (,) (,) (,) (,) π = (0, Esercizio. Effettuare due iterazioni dell algoritmo del simplesso su reti per il problema dell esercizio. (,) iterazione iterazione Archi di T (,) (,) (,) (,) (,) (,) Archi di U (,) x π Arco entrante ϑ +, ϑ Arco uscente
Esercizio. a) Applicare l algoritmo di Dijkstra per trovare l albero dei cammini minimi di radice sulla seguente rete. nodo visitato iter iter iter iter iter iter iter π p π p π p π p π p π p π p nodo nodo nodo nodo nodo nodo insieme Q b) Applicare l algoritmo FF-EK per trovare il flusso massimo tra il nodo ed il nodo sulla seguente rete. 0 8 8 cammino aumentante δ x v Taglio di capacità minima: N s = N t =
Esercizio. Si consideri il seguente problema di programmazione lineare intera: max x + x x + x x + x 0 x 0 x 0 x, x Z a) Calcolare una valutazione superiore del valore ottimo risolvendo il rilassamento continuo. sol. ottima del rilassamento = v S (P ) = b) Calcolare una valutazione inferiore del valore ottimo arrotondando la soluzione ottima del rilassamento. sol. ammissibile = v I (P ) = c) Calcolare un taglio di Gomory. r = taglio: Esercizio 8. 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à 9 0 8 9 9 8 a) Trovare una valutazione inferiore del valore ottimo calcolando l 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 l albero di costo minimo come rilassamento di ogni sottoproblema ed istanziando, nell ordine, le variabili x, x, x.
SOLUZIONI Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x + x x x + x 8 x Base Soluzione di base Ammissibile Degenere (si/no) (si/no) {, } x = (, ) SI NO {, } y = ( 0, ), 0, 0, 9, 0 Esercizio. Effettuare due iterazioni dell algoritmo del simplesso primale per il problema dell esercizio. Base x y Indice Rapporti Indice uscente entrante NO NO iterazione {, } (0, ) (0, 0, 0,,, 0), iterazione {, } (, ) (0, 0,,, 0, 0), 0 Esercizio. c=[ - ; - ; 9 ] COMANDI DI MATLAB A=[ - - - ; - ; - -; -9 ] b=[ -80 ; 0 ; 0; 0 ] Aeq=[] beq=[] lb=[0 ; 0 ; 0] ub=[0; 80; 00] Esercizio. Completare la tabella considerando il problema di flusso di costo minimo sulla seguente rete (su ogni nodo è indicato il bilancio e su ogni arco sono indicati, nell ordine, il costo e la capacità). - (8,9) (8,8) (0,8) - (9,0) (8,) (9,0) (,) (0,) (,) - (,) Archi di T Archi di U Soluzione di base Ammissibile Degenere (si/no) (si/no) (,) (,) (,) (,) (,) (,) (,) x = (,, 9, 9, 0, 0,, 0,, 0, ) NO NO (,) (,) (,) (,) (,) (,) (,) π = (0, 0,, 8,,, ) NO NO Esercizio. Effettuare due iterazioni dell algoritmo del simplesso su reti per il problema dell esercizio. (,)
iterazione iterazione Archi di T (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) (,) Archi di U (,) (,) x (0,,,,,, 0, 0,, 0, ) (, 0,,, 0,, 0, 0,, 0, ) π (0,,, 0, 0,, ) (0, 0,, 8, 8,, ) Arco entrante (,) (,) ϑ +, ϑ 8,, Arco uscente (,) (,) Esercizio. a) Applicare l algoritmo di Dijkstra per trovare l albero dei cammini minimi di radice sulla seguente rete. iter iter iter iter iter iter iter π p π p π p π p π p π p π p nodo visitato nodo nodo 0 0 0 0 0 0 nodo nodo + nodo + + + nodo + + 9 8 8 insieme Q,,,,,,,,, b) Applicare l algoritmo di Ford-Fulkerson (con la procedura di Edmonds-Karp per la ricerca del cammino aumentante) per trovare il flusso massimo tra il nodo ed il nodo sulla seguente rete. 0 8 8
cammino aumentante δ x v - - (0,, 0, 0, 0, 0,, 0, 0, 0, 0) - - - 0 (0,, 0, 0, 0, 0,, 0, 0, 0, 0) - - - (0,, 0, 0, 0,,, 0, 0,, 0) - - - 8 (0,, 8, 0, 0,,, 0, 8,, 8) Taglio di capacità minima: N s = {,,,, } N t = {, } Esercizio. Si consideri il seguente problema di programmazione lineare intera: max x + x x + x x + x 0 x 0 x 0 x, x Z a) Calcolare una valutazione superiore del valore ottimo risolvendo il rilassamento continuo. ( sol. ottima del rilassamento = 0, ) v S (P ) = 8 b) Calcolare una valutazione inferiore del valore ottimo arrotondando la soluzione ottima del rilassamento. sol. ammissibile = (0, ) v I (P ) = c) Calcolare un taglio di Gomory. r = x r = 8 x + 9 x Esercizio 8. 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à 9 0 8 9 9 8 a) Trovare una valutazione inferiore del valore ottimo calcolando l albero di costo minimo. albero: (, ) (, ) (, ) (, ) (, ) v I (P ) = 9 b) Trovare una valutazione superiore applicando l algoritmo del nodo più vicino a partire dal nodo. ciclo: v S (P ) = 0 c) Applicare il metodo del Branch and Bound, utilizzando l albero di costo minimo come rilassamento di ogni sottoproblema ed istanziando, nell ordine, le variabili x, x, x.
9,0 P x = 0 x = 0,0 P, 9,0 P, x = 0 x = 9,0 P, 9,0 P, x = 0 x = 9,0 P, P,8 L algoritmo non è terminato.