Ricerca Operativa a.a. 2015-2016: II appello (Prof. Fasano Giovanni) Università Ca Foscari Venezia - Sede di via Torino 28 gennaio 2016 Regole per l esame: la violazione delle seguenti regole comporta il ritiro dell elaborato e l allontanamento dello studente dall aula È necessario rispondere alle domande e risolvere gli esercizi usando esclusivamente i fogli distribuiti dal docente. Ogni risposta/calcolo deve essere opportunamente motivata/o dallo studente. È necessario scrivere Nome-Cognome-Matricola sul presente foglio e su ciascun foglio contenente le risposte dello studente (i fogli privi di tale informazione saranno cestinati e non considerati per la valutazione). In aggiunta, è necessario indicare (SI/NO) se il voto della Prova Intermedia (20 Novembre 2015) deve essere considerato dal docente. Il tempo complessivo per la prova è di 1h 45 : per gli studenti che hanno superato la Prova Intermedia; 3h 10 : per gli studenti che NON hanno superato la Prova Intermedia. È necessario risolvere gli esercizi e rispondere alle domande, secondo le seguenti modalità: gli studenti che hanno superato la Prova Intermedia devono risolvere/rispondere solo gli/alle esercizi/domande con (***); gli studenti che NON hanno superato la Prova Intermedia devono risolvere/rispondere tutti gli/le esercizi/domande; È vietato parlare durante la prova. È vietato usare durante la prova: testi, appunti, note, dispense, dispositivi cellulari, tablets, palmari, calcolatori/calcolatrici programmabili. Durante la prova non è possibile allontanarsi dall aula. Nome:........................... Cognome:......................... Matricola:............ Considerare la Prova Intermedia: SI NO
Esercizio 1 Ad un unità centrale di un calcolatore multicore, comprendente 5 core, nell intervallo di tempo corrente devono essere assegnati 525 job rispettando alcuni vincoli, legati all hardware del calcolatore. I job possono essere di 3 tipi diversi e ciascuno di essi occuperà il core dove viene svolto, per un tempo (espresso in nsec.) dato nella seguente tabella core 1 core 2 core 3 core 4 core 5 Job 1 12 9 21 34 16 Job 2 10 10 18 40 13 Job 3 7 12 17 29 14 Le specifiche imposte dall hardware sono le seguenti: 1. per problemi legati alla cache di II livello del calcolatore, al core 3 non possono essere assegnati più di 40 job; 2. se al core 1 si assegnano job di tipo 2, allora al core 4 deve essere assegnato almeno lo stesso numero di job di tipo 2, e viceversa; 3. i job assegnati complessivamente ai core 2 e 3 non possono superare il numero di job assegnati al core 1; 4. per problemi legati al raffreddamento dei core, deve valere uno e solo uno dei seguenti vincoli: al core 1 si devono assegnare almeno 5 job; al core 5 non possono essere assegnati più di 12 job. Si formuli un modello di PL/PLI che minimizzi i tempi complessivi di esecuzione dei job nei 5 core, tenendo conto che per problemi legati alla cache di I livello, se si processano job sul core j (j = 1,2,3,4,5), è previsto un tempo aggiuntivo di processamento (in nsec.) dato di seguito: core 1 core 2 core 3 core 4 core 5 50 60 85 55 39 x ij = numero di job di tipo i-simo (i = 1,2,3) assegnati al core j-simo (j = 1,2,3,4,5) 1 se x ij > 0, j = 1,2,3,4,5 y j = 0 altrimenti, α {0,1} min (12x 11 +10x 21 +7x 31 ) +(9x 12 +10x 22 +12x 32 ) +(21x 13 +18x 23 +17x 33 ) + (34x 14 +40x 24 +29x 34 ) +(16x 15 +13x 25 +14x 35 ) +50y 1 +60y 2 +85y 3 +55y 4 +39y 5 x i3 40; x 21 = x 24 ; 5 x i1 αm, M 1 x i5 12 (1 α)m y j x ij M, j = 1,2,3,4,5 (x i2 +x i3 ) x i1 ; 5 x ij = 525 j=1 x i,j 0, intera, i = 1,2,3, j = 1,2,3,4,5
Esercizio 2 (***) Si risolva il seguente problema di PL con il Metodo del Simplesso. max 5x 1 +5x 2 +x 3 +x 4 x 1 x 2 +2x 3 3x 4 = 1 3x 1 +x 3 x 4 4 x 0 Il problema può essere riportato alla forma canonica, essendo equivalente al problema max 5x 1 +5x 2 +x 3 +x 4 x 1 +x 2 2x 3 +3x 4 = 1 3x 1 +x 3 x 4 +x 5 = 4 x 0 in cui x 2 ed x 5 sono in base, e tutte le altre variabili sono fuori base. Inoltre è b = +1 0. +4 Applicando quindi direttamente la Fase II del Metodo del Simplesso si ottiene alla prima iterazione ( ) ( ) 1 +1 2 +3 0 +1. +3 0 +1 1 +1 +4 10 0 11 +14 0 +5 Essendo il vettore dei guadagni ridotti (cambiato di segno) pari a γ T = ( 10 11 +14) 0, il criterio di arresto non è soddisfatto, così come anche il criterio di illimitatezza. Scegliamo come variabile entrante la x 1 (per la Regola di Bland), come variabile uscente (obbligatoriamente) la x 5, e l elemento di pivot è +3. Il nuovo tableau risulta essere ( ) ( ) 0 +1 5/3 +8/3 +1/3 +7/3, +1 0 +1/3 1/3 +1/3 +4/3 0 0 23/3 +32/3 +10/3 +55/3 il vettoredei guadagniridotti (cambiatodi segno) risulta pari a γ T = ( 23/3 +32/3 +10/3) 0, il criterio di arresto non è soddisfatto, così come anche il criterio di illimitatezza. Pertanto scegliamo come variabile entrante (obbligatoriamente) la x 3, come variabile uscente (obbligatoriamente) la x 1, e l elemento di pivot è +1/3. Il nuovo tableau risulta essere ( ) ( ) +5 +1 0 +1 +2 +9 +3 0 +1 1 +1 +4 +23 0 0 +3 +11 +49 Ora il vettore dei guadagni ridotti (cambiato di segno) risulta pari a γ T = (+23 +3 +33/3) 0, quindi il criterio di arresto èsoddisfatto e ci fermiamo. La soluzionefinale risulta x = (0 9 4 0 0) T con valore della funzione obiettivo pari a +49..
Esercizio 3 Si determini il numero massimo (possibile) di vertici del seguente poliedro. Successivamente, si determinino tali vertici (se esistono). x 1 +x 3 x 4 7 x 2 = 3 2x 1 x 3 +x 4 2 x 2 x 4 3 x 1 x 4 12 Preventivamentepossiamosostituirex 2 = 3intutteledisequazioni, ottenendoilpoliedroequivalente x 1 +x 3 x 4 7 2x 1 x 3 +x 4 2 x 4 0 x 1 x 4 12. Essendo ora n = 3 ed m = 4, il massimo numero di vertici del poliedro sarà non superiore a m! n!(m n)! = 4! 3! = 4. Basterà pertanto considerare i seguenti 4 sistemi di uguaglianze: (I) in cui x 1 +x 3 x 4 = 7 2x 1 x 3 +x 4 = 2 x 4 = 0 P 1 = 3 4 0 il quale soddisfa anche il quarto vincolo e si ha 1 1 1 2 1 1 0 0 1 = 3 0. Pertanto il punto P 1 è un vertice del poliedro. (II) in cui x 1 +x 3 x 4 = 7 2x 1 x 3 +x 4 = 2 x 1 x 4 = 12 P 2 = 3 5 9 il quale soddisfa anche il terzo vincolo, e si ha 1 1 1 2 1 1 1 0 1 = 3 0. Pertanto il punto P 2 è un vertice del poliedro.
(III) in cui x 1 +x 3 x 4 = 7 x 4 = 0 x 1 x 4 = 12 P 3 = 12 5 0 il quale soddisfa anche il secondo vincolo e si ha 1 1 1 0 0 1 = 1 0. 1 0 1 Pertanto il punto P 3 è un vertice del poliedro. (IV) in cui 2x 1 x 3 +x 4 = 2 x 4 = 0 x 1 x 4 = 12 P 4 = 12 22 0 il quale NON soddisfa anche il primo vincolo, pertanto il punto P 4 NON è un vertice del poliedro.
Esercizio 4 (***) Si risolva il seguente esercizio di Knapsack binario in IR 6, con il metodo del B&B. max 3x 1 x 2 +x 3 +x 4 +2x 5 x 1 2x 2 +3x 3 x 4 +x 5 +x 6 2 x {0,1} 6. (K 0 ) In (K 0 ) possiamo senz altro assegnare facilmente il valore di alcune variabili (i.e. x 2 = 1 y 2, y 2 {0,1}, in quanto è presente con segno negativo sia nella funzione obiettivo che nel vincolo; x 4 = 1, in quanto ha segno negativo nel vincolo e segno positivo nella funzione obiettivo; x 6 = 0, in quanto ha segno positivo nel vincolo e coefficiente nullo nella funzione obiettivo), ottenendo in particolare il problema equivalente max 3x 1 +y 2 +x 3 +2x 5 x 1 +2y 2 +3x 3 +x 5 5 x 1,y 2,x 3,x 5 {0,1}. ( K 0 ) Quest ultimo problema ammette la soluzione intera corrente ˆx = 0, con f(ˆx) = 0. Creiamo la lista dei problemi aperti L = {( K 0 )} ed estraiamone l unico problema ( K 0 ). Consideriamo il suo rilassamento lineare, si provvede ora ad ordinare in modo non decrescente i rapporti dei coefficienti delle restanti 4 variabili (x 1, y 2, x 3 e x 5 ), i.e. 3 1 2 1 1 2 1 3, e di conseguenza si passa a risolvere (riordinando le variabili) il problema rilassato Essendo h = 3, risulta per la soluzione rilassata di ( K 0 ) max 3x 1 +2x 5 +y 2 +x 3 x 1 +x 5 +2y 2 +3x 3 5, 0 x 1,y 2,x 3,x 5 1. x (0) 1 = 1, x (0) 5 = 1, y (0) 2 = 1, x (0) 3 = 5 (1+1+2) = 1/3, 3 cui corrisponde un valore della funzione obiettivo superiore al valore f(ˆx). Pertantochiudiamo ( K 0 ), effettuiamo un Branching e dividiamo ( K 0 ) nei 2 sottoproblemi (settando rispettivamente x 3 = 0 e x 3 = 1) max 3x 1 +2x 5 +y 2 x 1 +x 5 +2y 2 5 x 1,y 2,x 5 {0,1}, max 3x 1 +2x 5 +y 2 +1 x 1 +x 5 +2y 2 2 x 1,y 2,x 5 {0,1}, ( K 1 ) ( K 2 ) ed aggiorniamo la lista L = {( K 1 ),( K 2 )}. Estraiamo il primo problema che ammette la soluzione rilassata (coincidente con una soluzione intera) x (1) = (1 0 0 1 1 0) T con f(x (1) ) = 6. Pertanto chiudiamo ( K 1 ) ed aggiorniamo ˆx = (1 0 0 1 1 0) T, con f(ˆx) = 6. Poi estraiamo da L anche ( K 2 ) che ammette anch esso soluzione rilassata coincidente con una soluzione intera, data da x (2) = (1 1 1 1 1 0) T, con f(x (2) ) = 6. Pertanto chiudiamo anche ( K 2 ) ma senza aggiornare di nuovo l ottimo corrente ˆx. Per la soluzione finale si ha x = (1 0 0 1 1 0) T.
Domanda Scritta 1 Data la funzione f : IR n IR, con f convessa su IR n, si dimostri che tutti i suoi insiemi di livello sono convessi. Domanda Scritta 2 (***) Si formuli il problema del Massimo Flusso su grafo orientato mediante un modello di Programmazione Lineare, indicando espressamente anche il significato delle variabili usate, nonchè della funzione obiettivo e dei vincoli introdotti.