Sei sulla pagina 1di 4

Ricerca Operativa. 20 Luglio 2017.

Consegnare solo questo foglio, usando tutti i possibili margini per le risposte.
NGR = Non è richiesto di giustificare la risposta. +/- Penalità per risposte errate.

Cognome/Nome/Matricola:

1. Sia G(V, E) un grafo non orientato in cui tutti i vertici hanno grado > 0 e con esattamente 4 vertici di grado
dispari: siano essi u1 , u2 , u3 e u4 . Supponiamo anche che nessuno degli spigoli ui u j , 1 ≤ i < j ≤ 4, sia
presente in E. Per ciascuna delle seguenti affermazioni, dire se essa è vera o falsa NGR +/-:
• Il grafo G(V, E) ammette un trail euleriano  VERO  FALSO
• Il grafo G(V, E ∪ u1 u2 ), ovvero il grafo ottenuto aggiungendo a G lo spigolo u1 u2 , ammette un trail
euleriano  VERO  FALSO
• Il grafo G(V, E ∪ {u1 u2 , u3 u4 }), ovvero il grafo ottenuto aggiungendo a G gli spigolo u1 u2 e u3 u4 ,
ammette un circuito euleriano  VERO  FALSO
• Il grafo G(V, E ∪ {u1 u2 , u1 u3 }), ovvero il grafo ottenuto aggiungendo a G gli spigolo u1 u2 e u1 u3 ,
ammette un circuito euleriano  VERO  FALSO
2. Si consideri l’albero T con vertici {0, 1, . . . , } e spigoli {05, 14, 15, 16, 23, 38, 58, 78}. Qual è il suo Prüfer
code, assumendo di porre la radice nel nodo 0? NGR
Soluzione Assumendo di porre la radice nel nodo 0 il Prüfer code del’albero T è 3811585.
3. Sia K11 il grafo non orientato, con 11 vertici e completo (ovvero tale che tutti i vertici sono adiacenti l’un
l’altro). Siano u e v due particolari vertici di K11 . Quanti sono i diversi cammini da u a v con 4 spigoli?
(Ricordiamo che in un cammino tutti i vertici sono distinti. Due cammini sono diversi se esiste almeno uno
spigolo che appartiene ad un cammino e non all’altro.) NGR
Soluzione I diversi cammini da u a v con 4 spigoli sono pari a P(9, 3).
4. Considerate nuovamente il grafo K11 e siano u, v e z tre particolari vertici di K11 . Quanti sono i diversi
cammini da u a v con 4 spigoli e che non passano per il vertice z? NGR
Soluzione I diversi cammini da u a v con 4 spigoli e che non passano per il vertice z sono pari a P(8, 3).
5. Considerate nuovamente il grafo K11 e siano u, v e z tre particolari vertici di K11 . Quanti sono i diversi
cammini da u a v con 4 spigoli e tali che il terzo vertice del cammino sia z? NGR
I diversi cammini da u a v con 4 spigoli e che non passano per il vertice z sono pari a P(8, 2)
6. In quanti modi diversi 8 frittelle uguali possono essere assegnate a 8 bambini, assumendo che non necessari-
amente ogni bambino riceva una frittella? NGR
Soluzione C(15, 7).

7. In quanti modi diversi 8 frittelle di gusti diversi possono essere assegnate a 8 bambini, con il vincolo che
ogni bambino riceva una frittella? NGR
Soluzione 8!.
8. Sia G(V, E) un grafo non orientato. Ricordiamo il funzionamento dell’algoritmo Greedy per colorare i vertici
di G (supponiamo che l’insieme dei colori disponibili sia 1, 2, 3, . . . , n):
(a) Scegliere un qualunque ordinamento w1 , w2 , . . . , wn dei vertici di G.
(b) For i = 1 to n do:
colora wi con colore f (wi ) pari al il più piccolo colore non ancora assegnato a vertici a cui wi è adi-
acente; ovvero il più piccolo numero nell’insieme {1, 2, 3 . . . , n}\{ f (w j ) : j ∈ {w1 , w2 , . . . , wi−1 }∩
N(wi )}.
Per ciascuna delle seguenti affermazioni, dire se essa è vera o falsa NGR +/-:
• Se G è un grafo intervallo, qualunque sia l’ordinamento dei vertici w1 , w2 , . . . , wn , l’algoritmo Greedy
colora G con il minimo numero di colori possibile  VERO  FALSO
• Se G è un grafo bipartito e w1 , w2 , . . . , wn è un ordinamento dei vertici tale che wi wi+1 ∈ E, per i =
1..n − 1, l’algoritmo Greedy colora G con il minimo numero di colori possibile  VERO  FALSO
• Se G è un grafo bipartito, qualunque sia l’ordinamento dei vertici w1 , w2 , . . . , wn , l’algoritmo Greedy
colora G con il minimo numero di colori possibile  VERO  FALSO
• Se G è un grafo qualunque, esiste un ordinamento dei vertici w1 , w2 , . . . , wn , per cui l’algoritmo Greedy
colora G con il minimo numero di colori possibile  VERO  FALSO
9. Individuare un flusso s − t di valore massimo per la rete disegnata in figura, utilizzando l’algoritmo dei
cammini aumentanti e partendo dal flusso iniziale dato, e certificane l’ottimalità. Dire quindi se il valore del
massimo flusso cambia se la capacità dell’arco (s, b) aumenta di due unità e giustificare la risposta. Per illus-
trare lo svolgimento dell’algoritmo, è sufficiente indicare tutti i cammini aumentanti scelti con l’indicazione
per ogni arco di quanto è aumentato o diminuito il valore del flusso.

Soluzione Come primo cammino aumentante possiamo utilizzare s − e − f −t, in cui aumentiamo il flusso di
due unità su ciascun arco del cammino. Come secondo cammino aumentante possiamo utilizzare s−a− f −t
in cui aumentiamo il flusso di due unità su ciascun arco del cammino. Come terzo cammino aumentante
possiamo utilizzare s − a − c − t in cui aumentiamo il flusso di tre unità su ciascun arco del cammino. Come
quarto cammino aumentante possiamo utilizzare s − b − d − t in cui aumentiamo il flusso di una unità su
ciascun arco del cammino. Infine come quinto cammino aumentante possiamo utilizzare s − a − b − d − t
in cui aumentiamo di due unità il flusso sugli archi (s, a), (b, d) e (d,t) mentre diminuiamo il flusso di due
unità sull’arco (b, a). Il nuovo vettore di flusso che otteniamo ha valore pari a 13 ed è massimo. L’ottimalità
è certificata dal taglio T = {s, a, e}, T = {b, c, d, f ,t}.
Se la capacità dell?arco (s, b) aumenta di due unità il valore del massimo flusso non cambia come certificato
dal taglio T = {s, a, b, c, e}, T = {d, f ,t} di valore 13.
10. Per i prossimi 6 mesi sarete i responsabili di un magazzino in cui si conserva un certo bene b. La capienza
del magazzino è limitata: potete conservare nel magazzino al più 600 unità di b. Il primo giorno di ciascuno
dei prossimi 6 mesi vi verranno consegnate 200 nuove unità del bene b, che dovete necessariamente stipare
nel magazzino (rispettando il vincolo di capacità). Il giorno 15 di ciascun mese potrete tuttavia vendere il
bene b, in una qualunque quantità, ma ai seguenti prezzi: primo mese 30 euro per unità, secondo mese 25
euro per unità, terzo mese 35 euro per unità, quarto mese 30 euro per unità, quinto mese 20 euro per unità,
sesto mese 35 euro per unità. All’inizio del primo mese il magazzino è vuoto e ugualmente dovrà essere
vuoto alla fine del sesto mese. Formulate il PL che dovete risolvere per massimizzare quanto guadagnate
complessivamente dalla vendita del bene in ciascuno dei 6 mesi indicando tutti i vincoli (compresi vincoli
di non negatività) e il significato di ciascuna variabile decisionale.

Soluzione Indichiamo con xi , i = 1..6 la quantità di bene b venduta nel mese i. Sia si , i = 1..6, la variabile
che indica la quantità di bene b presente nel magazzino alla fine del mese i. Sia infine ci il prezzo di vendita
del bene b nel mese i. Abbiamo quindi:
max ∑6i=1 ci xi
si = si−1 + 200 − xi , i = 1..6
si−1 + 200 ≤ 600, i = 1..6
xi ≥ 0, i = 1..6
si ≥ 0, i = 1..5
s6 , s0 = 0
Osserviamo che i vincoli di non-negatività sulle variabili si implicano i vincoli xi ≤ si−1 + 200 che quindi
sono ridondanti.
11. Considera il seguente PL. Utilizzando le condizioni di complementarità, cosa è possibile dire sulla soluzione
(x1 , x2 , x3 , x4 ) = (1, 2, 2, 0)? Cosa è possibile dire sulla soluzione (x1 , x2 , x3 , x4 ) = (0, 52 2
5 , 0, 5 )?
max 2x1 +4x2 +3x3 +x4
3x1 +x2 +x3 +4x4 ≤ 12
x1 −3x2 +2x3 +3x4 ≤ 7
2x1 +x2 +3x3 −x4 = 10
x1 , x3 , x4 ≥ 0

Per illustrare la risposta, riportare: 1) il problema duale; 2) per ciascun punto: il sistema da risolvere con
eventuale soluzione e la valutazione del punto (ammissibile, ottimo etc.).

Soluzione Cominciamo con lo scrivere il duale:

min 12y1 +7y2 +10y3


3y1 +y2 +2y3 ≥ 2
y1 −3y2 +y3 = 4
y1 +2y2 +3y3 ≥ 3
4y1 +3y2 −y3 ≥ 1
y1 , y2 ≥ 0

La soluzione (x1 , x2 , x3 , x4 ) = (1, 2, 2, 0) è ammissibile, ha la quarta componente uguale a 0 e soddisfa


all’uguaglianza ilterzo vincolo. Quindi affinché sia ottima deve esistere una soluzione ammissibile del duale
tale che y1 = y2 = 0 e che soddisfi all’uguaglianza il primo, il secondo e il terzo vincolo del duale.
Ovvero (x1 , x2 , x3 , x4 ) = (1, 2, 2, 0) è ottima se e solo se esiste una soluzione per il seguente sistema:
+2y3 = 2
+y3 = 4
+3y3 = 3
−y3 ≥ 1
y1 , y2 = 0

E poiché tale sistema non ammette soluzione, segue che (x1 , x2 , x3 , x4 ) = (1, 2, 2, 0) non è soluzione ottima.

La soluzione (x1 , x2 , x3 , x4 ) = (0, 52 2


5 , 0, 5 ) è ammissibile, ha la seconda e quarta componente diverse da 0 e
soddisfa all’uguaglianza il primo e il terzo vincolo. Quindi affinché sia ottima deve esistere una soluzione
ammissibile del duale tale che y2 = 0 e che soddisfi all’uguaglianza il secondo e il quarto vincolo del duale.
Ovvero (x1 , x2 , x3 , x4 ) = (0, 52 2
5 , 0, 5 ) è ottima se e solo se esiste una soluzione per il seguente sistema:

3y1 +2y3 ≥ 2
y1 +y3 = 4
y1 +3y3 ≥ 3
4y1 −y3 = 1
y2 = 0
y1 ≥ 0

E poiché tale sistema ha soluzione (y1 , y2 , y3 ) = (1, 0, 3) , segue che (x1 , x2 , x3 , x4 ) = (0, 52 2
5 , 0, 5 ) è soluzione
ottima. Ovviamente anche (y1 , y2 , y3 ) = (1, 0, 3) è una soluzione ottima e, come si può verificare il valore
della funzione obiettivo del primale in (x1 , x2 , x3 , x4 ) = (0, 52 2
5 , 0, 5 ) e il valore della funzione obiettivo del
duale su (y1 , y2 , y3 ) = (1, 0, 3) coincide ed è pari a 42.

Potrebbero piacerti anche