Sei sulla pagina 1di 3

Prova Scritta di Ricerca Operativa

Docente: L. Lo Presti
Appello del 30/06/2016
Orario: 09,00 - 12,00

1) Risolvere il seguente problema di programmazione lineare con la tecnica che si ritiene più opportuna:

max 3x1 + 2x 2 − 5x 3
x1 + 2x 2 + 2x 3 ≤ 4

a
−x 2 + 3x 3 ≥ 5
3x1 + 4 x 2 = 6

eri
x1,2,3 ≥ 0

In questo caso, la tecnica più conveniente da utilizzare è il metodo delle due fasi per cui il problema ausiliario da risolvere nella prima
fase è:

min y 2 + y 3

gn
−z = −3x1 − 2x 2 + 5x 3
x1 + 2x 2 + 2x 3 + s1 = 4
−x 2 + 3x 3 − s2 + y 2 = 5
3x1 + 4 x 2 + y 3 = 6
x1,2,3 ,s1,2 , y 2,3 ≥ 0
ge
Risolvendo il problema si ottiene w>0 quindi il problema è non ammissibile
In
2) Trovare il percorso minimo da v0 a tutti gli altri nodi in una rete caratterizzata dalla seguente matrice di incidenza:

tail\head v0 v1 v2 v3 v4 v5 v6
v0 0 2 5 - 18 21 12
v1 - 0 1 12 17 - 9
v2 3 1 0 12 - 20 6
re

v3 - - 6 0 4 8 -
v4 2 1 - - 0 - 1
v5 - - - - 8 0 -
v6 4 - 7 3 - 14 0
ive

Applicando il metodo di Dijkstra (i costi sono tutti positivi) si ottiene la soluzione:


v0 v1 v2 v3 v4 v5 v6
pred.\dist. v0, 0 v0, 2 v1, 3 v6, 12 v3, 16 v3, 20 v2, 9
V
3) Risolvere il seguente problema di programmazione lineare intera utilizzando la tecnica del branch-and-bound

max 4 x1 + 3x 2
5x 2 ≤ 32
10x1 + 4 x 2 ≤ 77
x1,2 ≥ 0
x1,2 ∈ N

Albero di Esplorazione: DFS (visita in profondità)

a

Scegliendo la variabile con parte frazionaria maggiore:
Nodo 0 (primo rilassamento): x1 = 257/50; x2 = 32/5; UB = 995/25
Nodo 1 (aggiungiamo il vincolo x2<=6): x1 = 5.3; x2 = 6; UB = 39.2

eri
Nodo 2 (x2<=6, aggiungiamo il vincolo x1<=5) : x1 = 5; x2 = 6; LB = 38 (Prima soluzione Intera)
Nodo 3 (x2<=6, aggiungiamo il vincolo x1>=6): x1 = 6; x2=4,25: UB 36,75 <LB (BOUNDING).
Nodo 4 (al primo rilassamento aggiungiamo il vincolo x2>=7): Inammissibile.

La soluzione ottima è quella calcolata al nodo 2 [5, 6] con z=38.

gn
ge
In
re
ive
V
4) Dato il seguente grafo, utilizzare il metodo di Karzanov per calcolare il flusso massimo da s a t. Tracciare il corrispondente taglio
minimo.

a
eri
Soluzione:
* Con la prima rete ausiliaria si ottengono i percorsi sADt (df=4) e sBFt (df=6). Quindi v=10;
* Con la seconda rete ausiliaria si ottengono i percorsi sACDt (df=1), sBCDt (df=2), sBCEt (df=2). Quindi v = 10 + 5 = 15;
* Con la terza rete ausiliaria si ottiene il percorso sBACEt (df = 3) e v=18;
* Con la quarta (e ultima) rete ausiliaria si ottiene sBACEFt (df=1) e v=19

gn
Taglio: W = {s, A, B}

[Oppure {s,A,B,C} - più di un taglio minimo]

Attività J1 J2 J3
ge
5) Date le seguenti attività, precedenze e durate, trovare il percorso critico. Per ogni attività indicare quella critica che la precede e
l'earliest completion time.

J4 J5 J6 J7 J8 J9
durata 6 6 7 6 5 6 3 7 6
In
J1 J2 J3
predecessori J1 J2 J2 J3 J1
J3 J6

J1* J2* J3* J4 J5 J6 J7 J8* J9


crit. pred.\compl. time 6 J1, 12 J2, 19 J3, 25 J3, 24 6 J2, 15 J3, 26 J1, 12
re
ive
V