Esame di Ricerca Operativa - Laurea triennale NO Domande

Transcript

Esame di Ricerca Operativa - Laurea triennale NO Domande
Esame di Ricerca Operativa - Laurea triennale NO
Cognome
Nome
Leggere con attenzione quanto segue e firmare.
Matricola
Autorizzo la pubblicazione in rete dei risultati (barrare la casella di interesse)
SI NO
Sono a conoscenza del regolamento di esami e in particolare che, pena l’annullamento del compito,
- non è concesso l’uso di calcolatrici programmabili
- non è consentito copiare e/o collaborare
- non è consentito allontanarsi dall’aula
- tutte le risposte agli esercizi devono essere scritte su questi fogli negli appositi spazi
- la brutta o fogli aggiuntivi non verranno presi in considerazione nella valutazione di questo elaborato.
Firma
NON iniziare a svolgere il compito se non si è firmato.
Domande
• Enunciare il Teorema Fondamentale della Programmazione Lineare.
• Discutere l’applicazione economica del Teorema della Dualità Debole al problema della dieta.
• Stimare quale è il tempo di esecuzione massimo che l’algoritmo di Branch & Bound può richiedere per risolvere
un problema con n = 1000 variabili binarie. Supporre di avere a disposizione un calcolatore da 10 teraflop
e che il calcolatore sia capace di eseguire risolvere i problemi rilassati ad ogni nodo in sole 100 operazioni
floating point. Approssimare per semplicità 210 con 1000.
1
Programmazione lineare
Dato il seguente problema di programmazione lineare
max z
+x1 + x2 + x3
+2x2 + x3
+x1 + 4x2 + 2x3
x1 , x2 , x3
= +6x1 + 7x2 + 7x3
≤ 23
≤ 13
≤ 44
≥ 0
Scrivere il tableau ottimo (riempiendo le apposite caselle)
x1
x2
x3
s1
s2
s3
z
Compilare le seguenti tabelle
x1
Valori ottimi
Costi ridotti
x2
x3
z
¥
µ1
µ2
µ3
Prezzi ombra
Valori di slack
Aggiungere il vincolo +x3 ≤ 11 e indicare la nuova soluzione ottima
x1
x2
x3
Valori ottimi
Costi ridotti
z
¥
Rilassamenti
Dato il seguente problema di programmazione lineare intera:
1) scriverene il rilassamento surrogato rilassando i vincoli con i seguenti pesi 1 e 2
2) scriverene il rilassamento lagrangiano rilassando il secondo vincolo con il seguente peso 2
max z = +41x1 + 45x2 + 46x3 + 50x4 + 52x5
+41x1 + 45x2 + 48x3 + 50x4 + 51x5
+13x1 − 12x2 + 17x3 + 19x4 + 22x5
x1 , x2 , x3 , x4 , x5
≤ 96
≤ 30
∈ {0, 1}
2
Programmazione lineare intera
Nel seguito vengono riportati un problema di programmazione lineare intera e le soluzioni che si ottengono risolvendo
il rilassamento continuo del problema originale quando sono aggiunti i vincoli che fissano i valori di alcune delle
variabili. Ad esempio, (., ., ., .) z = 58.00; (0.50; 1.00; 0.00; 1.00) indica che nessun vincolo aggiuntivo è stato
imposto e che il rilassamento lineare del problema originale ha come soluzione ottima z = 58.00, che si ottiene
quando le variabili assumono i valori x = (0.50, 1.00, 0.00, 1.00). Analogamente, (1, ., 1, .) problema non ammissibile
indica che se vengono imposti i vincoli aggiuntivi x1 = 1 e x3 = 1 il rilassamento lineare del problema non ammette
soluzioni. Infine (0, ., 1, .) z = 53.15; (0.00; 0.85; 1.00; 0.31) indica che se vengono imposti i vincoli aggiuntivi x1 = 0
e x3 = 1 il rilassamento lineare del problema ha come soluzione ottima z = 53.15, che si ottiene quando le variabili
assumono i valori x = (0.00, 0.85, 1.00, 0.31). Disegnare l’albero di ricerca che sviluppa l’algoritmo del branch and
bound. Per ogni nodo indicare quanto segue: l’upper bound (UB); il lower bound (LB); la soluzione del problema
rilassato (x), che deve essere sottolineata se intera. All’interno di ogni nodo indicare quando è stato eliminato
dalla lista dei nodi attivi. Se un nodo è potato deve essere tracciata una barra su di esso ed indicato se la sua
soluzione ottima è dominata (PD) oppure se non ammette soluzioni ammissibili (NA). Il nodo corrispondente
alla soluzione ottima deve essere cerchiato. Nel disegno dell’albero seguire sempre le seguenti convenzioni: il LB
del nodo radice è −∞ (anche se facilmente può esserne determinato uno migliore), il figlio sinistro di ogni nodo
corrisponde all’aggiunta di un vincolo del tipo xi = 0, il figlio destro corrisponde all’aggiunta di un vincolo del tipo
xi = 1.
Disegnare l’albero di ricerca che sviluppa l’algoritmo del branch and bound quando vengono applicate le seguenti
regole: depth first scegliendo prima il figlio di sinistra, selezionare la variabile più frazionaria e a parità quella con
indice minore.
min z = 23x1 + 28x2 + 22x3 + 29x4
+5x1 + 4x2 + 4x3 + 1x4 ≤ 12
+4x1 + 3x2 + 1x3 + 4x4 ≤ 10
+x1 + x2 + x3 + x4 ≥ 3
x binarie
(.,.,.,.) z = 73.33; (1.00 ; 0.67 ; 1.00 ; 0.33 )
(1,.,.,.) z = 73.33; (1.00 ; 0.67 ; 1.00 ; 0.33 )
(0,.,.,.) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(.,1,.,.) z = 74.50; (0.75 ; 1.00 ; 1.00 ; 0.25 )
(.,0,.,.) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,.,1,.) z = 73.33; (1.00 ; 0.67 ; 1.00 ; 0.33 )
(.,.,0,.) problema non ammissibile)
(.,.,.,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,.,.,0) problema non ammissibile
(1,1,.,.) z = 75.33; (1.00 ; 1.00 ; 0.67 ; 0.33 )
(0,1,.,.) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,0,.,.) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(0,0,.,.) problema non ammissibile
(1,.,1,.) z = 73.33; (1.00 ; 0.67 ; 1.00 ; 0.33 )
(0,.,1,.) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,.,0,.) problema non ammissibile
(0,.,0,.) problema non ammissibile
(1,.,.,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(0,.,.,1) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,.,.,0) problema non ammissibile
(0,.,.,0) problema non ammissibile
(.,1,1,.) z = 74.50; (0.75 ; 1.00 ; 1.00 ; 0.25 )
(.,0,1,.) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,1,0,.) problema non ammissibile
(.,0,0,.) problema non ammissibile
(.,1,.,1) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(.,0,.,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,1,.,0) problema non ammissibile
(.,0,.,0) problema non ammissibile
(.,.,1,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,.,0,1) problema non ammissibile
(.,.,1,0) problema non ammissibile
(.,.,0,0) problema non ammissibile
(1,1,1,.) problema non ammissibile
(0,1,1,.) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,0,1,.) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(0,0,1,.) problema non ammissibile
(1,1,0,.) problema non ammissibile
(0,1,0,.) problema non ammissibile
(1,0,0,.) problema non ammissibile
(0,0,0,.) problema non ammissibile
(1,1,.,1) problema non ammissibile
(0,1,.,1) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,0,.,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(0,0,.,1) problema non ammissibile
(1,1,.,0) problema non ammissibile
(0,1,.,0) problema non ammissibile
(1,0,.,0) problema non ammissibile
(0,0,.,0) problema non ammissibile
(1,.,1,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(0,.,1,1) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(1,.,0,1) problema non ammissibile
(0,.,0,1) problema non ammissibile
(1,.,1,0) problema non ammissibile
(0,.,1,0) problema non ammissibile
(1,.,0,0) problema non ammissibile
(0,.,0,0) problema non ammissibile
(.,1,1,1) z = 79.00; (0.00 ; 1.00 ; 1.00 ; 1.00 )
(.,0,1,1) z = 74.00; (1.00 ; 0.00 ; 1.00 ; 1.00 )
(.,1,0,1) problema non ammissibile
(.,0,0,1) problema non ammissibile
(.,1,1,0) problema non ammissibile
(.,0,1,0) problema non ammissibile
(.,1,0,0) problema non ammissibile
(.,0,0,0) problema non ammissibile
3
Modello - 12
State selezionando alcuni tra gli investimenti i = 1, ..., I in cui la vostra ditta si potrebbe impegnare. Gli investimenti
non possono essere frazionati. Ogni investimento i ha un profitto atteso qi , un rischio pi e un costo vi . Avete un
dato budget B a disposizione. Il rischio che assumete per ogni singolo investimento non deve mai essere superiore
a k volte il rischio complessivo di tutti gli investimenti che farete. Siete inoltre vincolati da contratti precedenti,
per cui dovete certamente impegnarvi in almeno 2 tra gli investimenti 1, 2, 3 e 4. Inoltre, se fate l’investimento
5 dovete anche fare l’investimento 6. Infine, per motivi strategici, non volete spendere più di un capitale Q
negli investimenti appartenenti all’insieme S. Sviluppare un modello matematico che vi supporti nel decidere nel
selezionare gli investimenti in modo da massimizzare il profitto atteso complessivo.
In particolare nel seguito indicare: 1) le variabili decisionali e il loro significato fisico; 2) il modello matematico
(per quest’ultimo non necessario giustificare il significato dell’obiettivo e dei vincoli).
4