• Non ci sono risultati.

ESERCIZIO 1: Punto 1

N/A
N/A
Protected

Academic year: 2021

Condividi "ESERCIZIO 1: Punto 1"

Copied!
27
0
0

Testo completo

(1)

La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore.

Calcolare

1.Il valore del rilassamento che si ottiene determinando l’1-albero di costo minimo.

ESERCIZIO 1: Punto 1

1 2 3 4 5 6 7

1 - 2 2 4 1 2 2

2 2 - 1 3 4 3 1

3 2 1 - 3 2 3 1

4 4 3 3 - 3 1 1

5 1 4 2 3 - 3 4

6 2 3 3 1 3 - 2

7 2 1 1 1 4 2 -

(2)

Disegniamo il grafo G = (V, E) associato alla matrice delle distanze.

1

3

5 4 6

7 2

2 4 2 1

2 2

3 4 1

3 1

3 3 2

1

3

1 1

3 4

2

ESERCIZIO 1: Punto 1

(3)

Non consideriamo il nodo v = 1 e calcoliamo il minimo albero ricoprente su G utilizzando l’algoritmo di Prim.

3

5 4 6

7 2

3 4 1

3 1

T = {2}; V–T = {3, 4, 5, 6, 7}

c*2i = min {c2i : iV–T} = c23 = c27 = 1

ESERCIZIO 1: Punto 1

(4)

3

5 4 6

7 2

3 4

3 1

1

T = {2, 7}; V–T = {3, 4, 5, 6}

7

1

4 1 2

ESERCIZIO 1: Punto 1

Non consideriamo il nodo v = 1 e calcoliamo il minimo albero ricoprente su G utilizzando l’algoritmo di Prim.

c*2i = min {c2i : iV–T} = c27 = 1 T = {2}; V–T = {3, 4, 5, 6, 7}

(5)

Non consideriamo il nodo v = 1 e calcoliamo il minimo albero ricoprente su G utilizzando l’algoritmo di Prim.

3

5 4 6

7 2

3 4

3

T = {2, 7}; V–T = {3, 4, 5, 6}

c*2i = min {c2i : iV–T}

1

1

= c23 = 1

T = {2, 7,4};

V–T = {3, 5, 6}

7

c*7i = min {c7i : iV–T} = c73 =c74 = 1

4

2 1

1

4 3

3

1

= c74 = 1

ESERCIZIO 1: Punto 1

(6)

Non consideriamo il nodo v = 1 e calcoliamo il minimo albero ricoprente su G utilizzando l’algoritmo di Prim.

3

5 4 6

7 2

3 4

3

T = {2, 7, 4}; V–T = {3, 5, 6}

c*2i = min {c2i : iV–T}

1

1

= c23 = 1

T = {2, 7, 4, 6};

V–T = {3, 5}

7

c*7i = min {c7i : iV–T} = c73 = 1

4

2 1

1

4 3

3

c*4i = min {c4i : iV–T} = c46 = 1

1 6

3

3

ESERCIZIO 1: Punto 1

(7)

Non consideriamo il nodo v = 1 e calcoliamo il minimo albero ricoprente su G utilizzando l’algoritmo di Prim.

3

5 4 6

7 2

3 4

3

T = {2, 7, 4, 6}; V–T = {3, 5}

c*2i = min {c2i : iV–T}

1

1

= c23 = 1

T = {2, 7, 4, 6, 3};

V–T = {5}

7

c*7i = min {c7i : iV–T} = c73 = 1

4

2 1

1

4 3

3

c*4i = min {c4i : iV–T} = c43 = c45 = 3

1 6

3

c*6i = min {c6i : iV–T} = c63 = c65 = 3

3 3 2

ESERCIZIO 1: Punto 1

(8)

A questo punto, l’arco che dista meno dal nodo 5 è l’arco (3,5).

3

5 4 6

7 2

T = {2, 7, 4, 6, 3, 5}; V–T =

7 1

1

4 1

6

3 4

3

1

4

2

3

3 3

3

3 2

Minimo albero ricoprente = {27, 74, 46, 73, 35}

5

ESERCIZIO 1: Punto 1

1

(9)

Per calcolare l’1-abero, re-introduciamo il nodo 1 e prendiamo i due archi di costo minimo uscenti da tale nodo.

3

5 4 6

7 1 2

7

1

4 6

3 2

1 2

4 2 1

2 2

1-albero = {15, 16, 27, 74, 46, 73, 35}

C(1-albero) = 9 = LOWER BOUND 1

1

1 2

5

ESERCIZIO 1: Punto 1

1

(10)

La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore.

Calcolare

1. Il valore di una soluzione euristica calcolata con l’algoritmo Double Tree.

ESERCIZIO 1: Punto 2

1 2 3 4 5 6 7

1 - 2 2 4 1 2 2

2 2 - 1 3 4 3 1

3 2 1 - 3 2 3 1

4 4 3 3 - 3 1 1

5 1 4 2 3 - 3 4

6 2 3 3 1 3 - 2

7 2 1 1 1 4 2 -

(11)

Calcoliamo il minimo albero ricoprente sul grafo di partenza G = (V, E) utilizzando l’algoritmo di Prim.

1

3

5 4 6

7 2

2 4 2 1

2 2

3 4 1

3 1

3 3 2

1

3

1 1

3 4

2

ESERCIZIO 1: Punto 2

(12)

1

3

5 4 6

7 2

2 4 2 2 2

1

5

4

3 4 3

2

T = {1}; V–T = {2, 3, 4, 5, 6, 7}

c*1i = min {c1i : iV–T} = c15 = 1

T = {1, 5};

V–T = {2, 3, 4, 6, 7}

ESERCIZIO 1: Punto 2

(13)

1

3

5 4 6

7 1 4 2

5

4

3 3

4

c*1i = min {c1i : iV–T} = c12 = c13 = c16 = c17 = 2

T = {1, 5, 3};

V–T = {2, 4, 6, 7}

c*5i = min {c5i : iV–T} = c53 = 2

2 2 2

2

2

3 1

3 3

1

ESERCIZIO 1: Punto 2

(14)

1

3

5 4 6

7 1 4 2

5

4

4

c*1i = min {c1i : iV–T} = c12 = c13 = c16 = c17 = 2

T = {1, 5, 3, 2};

V–T = {4, 6, 7}

c*5i = min {c5i : iV–T} = c54 = c56 = 3

2 2 2

2

3

3 3

c*3i = min {c3i : iV–T} = c32 = c37 = 1

3 3

1 1

2

3 3

1 2

1

ESERCIZIO 1: Punto 2

(15)

1

3

5 4 6

7 1 4 2

5 4 4

c*1i = min {c1i : iV–T} = c12 = c13 = c16 = c17 = 2

T = {1, 5, 3, 2, 7};

V–T = {4, 6}

c*5i = min {c5i : iV–T} = c54 = c56 = 2

2 2 2

2

3

3 3

c*3i = min {c3i : iV–T} = c37 = 1

3 3

1 1

2

3 3

1 2

c*2i = min {c2i : iV–T} = c27 = 1

7 1

2

1

ESERCIZIO 1: Punto 2

(16)

1

3

5 4 6

7 1 4 2

5 4 4

c*1i = min {c1i : iV–T} = c12 = c13 = c16 = c17 = 2

T = {1, 5, 3, 2, 7, 4};

V–T = {6}

c*5i = min {c5i : iV–T} = c54 = c56 = 3

2 2 2

2

3

3 3

c*3i = min {c3i : iV–T} = c37 = 1

3 3

1 1

2

3 3

2 1

c*2i = min {c2i : iV–T} = c21 = 2

7 1

2

c*7i = min {c7i : iV–T} = c74 = 1

1

4 1

ESERCIZIO 1: Punto 2

(17)

A questo punto, l’arco che dista meno dal nodo 6 è l’arco (4,6).

T = {1, 5, 3, 2, 7, 4, 6}; V–T =

Minimo albero ricoprente = {15, 53, 32, 27, 74, 46}

1

3

5 4 6

7 1 4 2

5 4 4

2 2 2

2

3

3 3

3 3

1 1

2

3 3

1 2 7 1

2

1

4 1

6

ESERCIZIO 1: Punto 2

(18)

Raddoppiamo gli archi dell’albero ricoprente

1

3

5 4 6

7 2

1

5

2

3 1 2 7 1

1

4 1

6

Il percorso euleriano sul multigrafo ottenuto è dato da:

PE = {1, 5, 3, 2, 7, 4, 6, 4, 7, 2, 3, 5, 1}

Ricaviamo il

cammino hamiltoniano PH = {1, 5, 3, 2, 7, 4, 6, 1}

C(PH) = 9 = UPPER BOUND

2

ESERCIZIO 1: Punto 2

(19)

ESERCIZIO 1: Punto 3

La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore.

Calcolare

1. Il valore di una soluzione euristica calcolata con l’algoritmo di Christofides.

1 2 3 4 5 6 7

1 - 2 2 4 1 2 2

2 2 - 1 3 4 3 1

3 2 1 - 3 2 3 1

4 4 3 3 - 3 1 1

5 1 4 2 3 - 3 4

6 2 3 3 1 3 - 2

7 2 1 1 1 4 2 -

(20)

Ereditiamo il minimo albero ricoprente dal punto precedente

1

3

5 4 6

7 2

5

2

3 1 2 1

7 1

1

4 1

6

Individuiamo i nodi di grado dispari:

Vd = {1, 6}

Sottografo

completo indotto da Vd.

ESERCIZIO 1: Punto 3

2

Matching perfetto sul sottografo indotto: M = {16}

(21)

Consideriamoil grafo euleriano dato da M T

1

3

5 4 6

7 2

5

2

3 1 2 1

7 1

1

4 1

6

ESERCIZIO 1: Punto 3

2

Il percorso euleriano sul multigrafo ottenuto è dato da:

PE = {1, 5, 3, 2, 7, 4, 6, 1}

In questo caso PH = PE.

C(PH) = 9 = UPPER BOUND

(22)

ESERCIZIO 2

La tabella che segue contiene una lista di progetti che possono essere attivati nel prossimo anno. Il budget totale a disposizione è 170mila euro.

Ogni progetto ha un costo ai e un profitto (atteso) pi. Dopo aver formulato il problema di selezionare un sottoinsieme di progetti in modo da massimizzare il profitto finale e rispettare il vincolo di budget, determinare un upper bound per il profitto massimo ottenibile.

Progetto 1 2 3 4 5 6 7 8

Peso 16 12 30 12 40 41 24 22

Profitto 96 125 170 120 160 82 42 240

(23)

ESERCIZIO 2

Il problema può essere formulato come segue:

Variabili di decisione:

xi = 1 se e solo se il progetto i-esimo è attivato.

z* = max (96x1 + 125x2 + 170x3 + 120x4 + 160x5 + 82x6 + 42x7 + 240x8) 16x1 + 12x2 + 30x3 + 12x4 + 40x5 + 41x6 + 24x7 + 22x8 < 170

x {0,1}8

(24)

ESERCIZIO 2

Consideriamo il rilassamento lineare del problema che corrisponde ad un Knapsack continuo

z*RL = max (96x1 + 125x2 + 170x3 + 120x4 + 160x5 + 82x6 + 42x7 + 240x8) 16x1 + 12x2 + 30x3 + 12x4 + 40x5 + 41x6 + 24x7 + 22x8 < 170

0 < x < 1

Riordiniamo i progetti in modo tale che p1

a1p2

a2≥.. .≥ pn an

(25)

ESERCIZIO 2

p1/a1 = 96/16 = 6 y4

p2/a2 = 125/12 = 10,41 y2 p3/a3 = 170/30 = 5,6 y5 p4/a4 = 120/12 = 10 y3 p5/a5 = 160/40 = 4 y6

p6/a6 = 82/41 = 2 y7

p7/a7 = 42/24 = 1,75 y8 p8/a8 = 240/22 = 10,9 y1

z*RL = max (240y1 + 125y2 + 120y3 + 96y4 + 170y5 + 160y6 + 82y7 + 42y8) 22y1 + 12y2 + 12y3 + 16y4 + 30y5 + 40y6 + 41y7 + 24y8 < 170

0 < y < 1

(26)

ESERCIZIO 2

Individuiamo il progetto h per cui

j=1 h

aj>b y1 = 1 ⇒

j=1 1

a1=22170 y1 = y2 = 1 ⇒

y1 = y2 = y3 = 1 ⇒

y1 = y2 = y3 = y4 = 1 ⇒

y1 = y2 = y3 = y4 = y5 =1 ⇒

y1 = y2 = y3 = y4 = y5 = y6 = 1 ⇒

y1 = y2 = y3 = y4 = y5 = y6 = y7 = 1 ⇒ ⇒ h = 7

j=1 2

aj=34170

j=1 3

aj=46170

j=1 4

aj=62170

j=1 5

aj=92170

j=1 6

aj=132170

j=1 7

aj=173170

(27)

ESERCIZIO 2

Per il progetto h fissiamo la variabile yh:

y7=

b−h−1

j=1 aj

ah =170−132

41 =38

41 =0,92

La restante variabile y8 = 0.

Il valore della funzione obiettivo è pari a z*RL = 986,44 e corrisponde ad un UPPER BOUND per il valore ottimo z* del problema iniziale.

Riferimenti

Documenti correlati

• Si scriva un programma in linguaggio C che acquisisca da tastiera una parola (cioè una stringa di caratteri priva di separatori) e la stampi a video se e solo se tale parola

La tabella che segue contiene una lista di progetti che possono essere attivati nel prossimo anno...

CORSO DI ANALISI MATEMATICA II - LAUREA IN FISICA.

La freccia può essere pensata come un robot, in questo caso rivolto verso destra; lo stato del robot può quindi essere individuato da tre “valori”: due per le coordinate della

La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2, ...), riportando per ciascuna di esse il numero di giorni necessari

1, ultimo comma, della Legge 132/1968 (enti ecclesiatici civilmente riconosciuti che esercitano l'assistenza ospedaliera), Case di cura private non accreditate, Istituti

NON RILEVATO IVG EFFETTUATA DA RESIDENTI..

MEDICO CON INCARICO DI STRUTTURA SEMPLICE (RAPP.. MEDICO CON INCARICO STRUTTURA