Branch-and-bound per TSP

Documenti analoghi
Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Risoluzione di problemi ingegneristici con Excel

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

1 IL LINGUAGGIO MATEMATICO

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

Sistemi Web per il turismo - lezione 3 -

0.1 Esercizi calcolo combinatorio

Quali condizionisi si possono richiedere sulla funzione interpolante?

Appunti di Elettronica I Lezione 3 Risoluzione dei circuiti elettrici; serie e parallelo di bipoli

Per formalizzare il concetto sono necessarie alcune nozioni relative ai poliedri e alla loro descrizione.

4) 8 g di idrogeno reagiscono esattamente con 64 g di ossigeno secondo la seguente reazione:

Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica

4 0 = 4 2 = 4 4 = 4 6 = 0.

IGiochidiArchimede-SoluzioniBiennio 23 novembre 2005

Soluzione dei sistemi lineari con metodo grafico classe 2H

PROBABILITÀ SCHEDA N. 5 SOMMA E DIFFERENZA DI DUE VARIABILI ALEATORIE DISCRETE

SISTEMI LINEARI MATRICI E SISTEMI 1

FUNZIONE DI UTILITÀ CURVE DI INDIFFERENZA (Cap. 3)

Prontuario degli argomenti di Algebra

Equazioni di I e II grado

Metodi per la risoluzione di sistemi lineari

Navigazione Tattica. L intercettazione

EQUAZIONI DI PRIMO GRADO

Definizione Dati due insiemi A e B, contenuti nel campo reale R, si definisce funzione reale di variabile reale una legge f : A

Le frazioni algebriche

Esercizi sulle equazioni logaritmiche

Introduzione I contatori sono dispositivi fondamentali nell elettronica digitale e sono utilizzati per:

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

Sistemi di equazioni lineari

Il test (o i test) del Chi-quadrato ( 2 )

Esercitazione n o 3 per il corso di Ricerca Operativa

Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE

Progettazione di Algoritmi

Capitolo 9. Esercizio 9.1. Esercizio 9.2

BILANCIO DEI VINCOLI ED ANALISI CINEMATICA

Esercizi svolti sui sistemi lineari

Prof.ssa Laura Pagnozzi Prof. Ivano Coccorullo. Calcolo Combinatorio

CONICHE. Esercizi Esercizio 1. Nel piano con riferimento cartesiano ortogonale Oxy sia data la conica C di equazione

ARROTONDANDO FIGURE CON TRIANGOLI EQUILATERI

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE

Lavoro Quantità. si determinino prodotto marginale e medio del fattore lavoro.

Esercizi svolti di aritmetica

Risoluzione di problemi di programmazione lineare tramite generazione di colonne

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

Esercizi sulle affinità - aprile 2009

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Verifica classe II liceo scientifico: equazioni, disequazioni, problemi di 2 grado 1

La proporzione è un uguaglianza tra due rapporti. Es 3:4 =6:8. a:b = c:d

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

ˆp(1 ˆp) n 1 +n 2 totale di successi considerando i due gruppi come fossero uno solo e si costruisce z come segue ˆp 1 ˆp 2. n 1

Analisi. Calcolo Combinatorio. Ing. Ivano Coccorullo

Fondamenti di Internet e Reti

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Generazione di Numeri Casuali- Parte 2

SISTEMI LINEARI. x 2y 2z = 0. Svolgimento. Procediamo con operazioni elementari di riga sulla matrice del primo sistema: R 2 R 2 3R

Algebra di Boole Algebra di Boole

Esercizi sulla conversione tra unità di misura

Problemi di scelta ESEMPI

Esercizi di Matematica Finanziaria

V esercitazione di Matematica Finanziaria

Regola del partitore di tensione

1.5 DIVISIONE TRA DUE POLINOMI

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

Università degli studi di Foggia SSIS D.M Laboratorio di didattica della matematica finanziaria Classe 17/A

Il Teorema di Kakutani

ESAME 13 Gennaio 2011

17. Elettromagnetismo

STATISTICA DESCRITTIVA. Elementi di statistica medica GLI INDICI INDICI DI DISPERSIONE STATISTICA DESCRITTIVA

7 Esercizi e complementi di Elettrotecnica per allievi non elettrici. Circuiti elementari

DISSOCIAZIONE DEGLI OSSIDI METALLICI NEI FORNI A VUOTO. Elio Gianotti - Trattamenti termici Ferioli & Gianotti S.p.A.

Derivate delle funzioni di una variabile.

Equazione irrazionale

Capitolo 11 Test chi-quadro

1 Multipli di un numero

2. Variabilità mediante il confronto di valori caratteristici della

Procedura operativa per la gestione della funzione di formazione classi prime

PROBLEMI DI SCELTA dipendenti da due variabili d azione

Capitolo 6. Il processo decisionale delle imprese: la massimizzazione del profitto

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

OFFERTA DI LAVORO. p * C = M + w * L

Esercitazioni di statistica

METODI DI CONVERSIONE FRA MISURE

Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi

Esercizi sui Circuiti RC

Problemi di Instradamento di Veicoli

Lezione 3: Il problema del consumatore: Il

Domanda e offerta. consumatori di un bene/servizio per ciascun livello di prezzo del bene/servizio preso

ESPERIENZE CON GLI SPECCHI PIANI

ESERCITAZIONE 20 : VARIABILI ALEATORIE DISCRETE

Parte 1. Sistemi lineari, algoritmo di Gauss, matrici

COMPLETAMENTO DI SPAZI METRICI

Informatica Teorica. Macchine a registri

NUMERI COMPLESSI. Test di autovalutazione

Specifiche tecniche e di formato Presentazione comunicazione unica per la nascita d impresa

Interpolazione Statistica

12BHD - Informatica - soluzioni Appendice D del quaderno di testo - v. 2.00

ESERCIZI SVOLTI Giuliano Bonollo - Michele Bonollo

Lezione 3: Il problema del consumatore:

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Transcript:

p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare:

p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un lower bound su un sottinsieme;

p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un lower bound su un sottinsieme; come si effettua il branching;

p. 1/6 Branch-and-bound per TSP Anche qui, rispetto allo schema generale visto in precedenza dobbiamo specificare: come si calcola un lower bound su un sottinsieme; come si effettua il branching; come si individuano soluzioni ammissibili con cui, eventualmente, aggiornare il valore dell upper bound UB.

p. 2/6 Richiamo: modello matematico TSP min i V j V : j i v ijx ij i V, i j x ij = 1 j V, j i x ij = 1 i U, j V \U x ij 1 x ij {0, 1} j V i V U V : 2 U V 2 i,j V, i j

p. 3/6 Lower bound L(S) Supponiamo di voler ottenere un lower bound L(S) sull intera regione ammissibile S del problema.

p. 3/6 Lower bound L(S) Supponiamo di voler ottenere un lower bound L(S) sull intera regione ammissibile S del problema. Per ottenere questo considereremo un rilassamento diverso da quello lineare. Il rilassamento che verrà preso in considerazione è quello ottenuto omettendo i vincoli x ij 1 i U, j V \U

p. 3/6 Lower bound L(S) Supponiamo di voler ottenere un lower bound L(S) sull intera regione ammissibile S del problema. Per ottenere questo considereremo un rilassamento diverso da quello lineare. Il rilassamento che verrà preso in considerazione è quello ottenuto omettendo i vincoli x ij 1 i U, j V \U Si noti che l omissione di alcuni vincoli è un caso particolare di rilassamento lagrangiano in cui si pone λ = 0

p. 4/6 Rilassamento min i V j V : j i v ijx ij i V, i j x ij = 1 j V, j i x ij = 1 x ij {0, 1} j V i V i,j V, i j

p. 5/6 Piccola modifica In un circuito hamiltoniano non possiamo avere archi (i, i) (detti loop).

p. 5/6 Piccola modifica In un circuito hamiltoniano non possiamo avere archi (i, i) (detti loop). Possiamo comunque inserirli usando un opportuno accorgimento consistente nell attribuire a essi una distanza infinita, cioè v ii =.

p. 5/6 Piccola modifica In un circuito hamiltoniano non possiamo avere archi (i, i) (detti loop). Possiamo comunque inserirli usando un opportuno accorgimento consistente nell attribuire a essi una distanza infinita, cioè v ii =. Con questa modifica avremo il seguente rilassamento: min i V j V v ijx ij i V x ij = 1 j V j V x ij = 1 i V x ij {0, 1} i,j V

p. 6/6 Come risolverlo? Associamo al nostro grafo originario G = (V,A) un grafo bipartito G = (V 1 V 2,A ). I due insiemi V 1 e V 2 sono ottenuti sdoppiando i nodi in V, cioè per ogni nodo i V se ne faranno due copie, il nodo a i V 1 e il nodo b i V 2

p. 6/6 Come risolverlo? Associamo al nostro grafo originario G = (V,A) un grafo bipartito G = (V 1 V 2,A ). I due insiemi V 1 e V 2 sono ottenuti sdoppiando i nodi in V, cioè per ogni nodo i V se ne faranno due copie, il nodo a i V 1 e il nodo b i V 2 Inoltre, ad ogni arco (i,j) A si associa l arco (a i,b j ) A, a cui si associa il valore v ij.

p. 6/6 Come risolverlo? Associamo al nostro grafo originario G = (V,A) un grafo bipartito G = (V 1 V 2,A ). I due insiemi V 1 e V 2 sono ottenuti sdoppiando i nodi in V, cioè per ogni nodo i V se ne faranno due copie, il nodo a i V 1 e il nodo b i V 2 Inoltre, ad ogni arco (i,j) A si associa l arco (a i,b j ) A, a cui si associa il valore v ij. A questo punto il grafo G è bipartito completo (includendo gli n archi (a i,b i ), i V, corrispondenti ai loop con v ii = ).

p. 7/6 Sul grafo bipartito x ij {0, 1} (i,j) A x ij {0, 1} (a i,b j ) A

p. 7/6 Sul grafo bipartito x ij {0, 1} (i,j) A x ij {0, 1} (a i,b j ) A i V j V v ij x ij a i V 1 b j V 2 v ij x ij

p. 7/6 Sul grafo bipartito x ij {0, 1} (i,j) A x ij {0, 1} (a i,b j ) A i V v ij x ij i V j V a i V 1 b j V 2 v ij x ij x ij = 1 j V x ij = 1 b j V 2 a i V 1

p. 7/6 Sul grafo bipartito x ij {0, 1} (i,j) A x ij {0, 1} (a i,b j ) A v ij x ij i V j V a i V 1 x ij = 1 j V i V b j V 2 v ij x ij x ij = 1 b j V 2 a i V 1 x ij = 1 i V x ij = 1 a i V 1 j V b j V 2

p. 8/6 Continua Quindi, sul grafo G possiamo riscrivere il nostro rilassamento in questo modo: min a i V 1 b j V 2 v ij x ij a i V 1 x ij = 1 b j V 2 b j V 2 x ij = 1 a i V 1 x ij {0, 1} a i V 1, b j V 2

p. 8/6 Continua Quindi, sul grafo G possiamo riscrivere il nostro rilassamento in questo modo: min a i V 1 b j V 2 v ij x ij a i V 1 x ij = 1 b j V 2 b j V 2 x ij = 1 a i V 1 x ij {0, 1} a i V 1, b j V 2 Ribadiamo che nelle soluzioni ammissibili di questo problema si consente anche la presenza di archi (a i,b i ) che non corrispondono ad archi del problema TSP. Tuttavia, il fatto che a tali archi sia associato un valore + ci garantisce che nessuna soluzione ottima del problema conterrà tali archi.

p. 9/6 Continua Notiamo che il problema riformulato in questo modo è un problema di assegnamento dove i due insiemi da accoppiare sono V 1 e V 2. Questo ci consente di utilizzare l algoritmo ungherese per il calcolo del lower bound L(S).

p. 9/6 Continua Notiamo che il problema riformulato in questo modo è un problema di assegnamento dove i due insiemi da accoppiare sono V 1 e V 2. Questo ci consente di utilizzare l algoritmo ungherese per il calcolo del lower bound L(S). In particolare, notiamo che il calcolo del lower bound richiede un tempo di calcolo polinomiale, come richiesto.

p. 10/6 Continua Una volta ottenuta una soluzione del problema di assegnamento con insieme di archi: (a i k,b j k) k = 1,...,n questa corrisponde alla seguente collezione di archi nel grafo originario: (i k,j k ) k = 1,...,n.

p. 11/6 Continua Sono possibili due casi: la soluzione forma un circuito hamiltoniano, cioè appartiene alla regione ammissibile S: in tal caso essa rappresenta anche la soluzione ottima del problema TSP ;

p. 11/6 Continua Sono possibili due casi: la soluzione forma un circuito hamiltoniano, cioè appartiene alla regione ammissibile S: in tal caso essa rappresenta anche la soluzione ottima del problema TSP ; la soluzione ottenuta è una collezione di sottocircuiti.

p. 12/6 Branching del nodo radice Ci occuperemo ora di specificare come viene partizionata la regione ammissibile S in più sottinsiemi. Abbiamo visto che se non siamo nel caso fortunato in cui la soluzione del rilassamento è un circuito hamiltoniano, tale soluzione è una collezione di sottocircuiti.

p. 12/6 Branching del nodo radice Ci occuperemo ora di specificare come viene partizionata la regione ammissibile S in più sottinsiemi. Abbiamo visto che se non siamo nel caso fortunato in cui la soluzione del rilassamento è un circuito hamiltoniano, tale soluzione è una collezione di sottocircuiti. Forniremo una semplice regola di suddivisione il cui scopo è quello di impedire il formarsi nei nodi figli di almeno uno dei sottocircuiti nella collezione.

p. 13/6 Continua Prendiamo il sottocircuito della collezione con meno archi (con scelta arbitraria se ve ne è più di uno). Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i r,j r )} gli archi di tale sottocircuito.

p. 13/6 Continua Prendiamo il sottocircuito della collezione con meno archi (con scelta arbitraria se ve ne è più di uno). Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i r,j r )} gli archi di tale sottocircuito. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j 1 = 0),

p. 13/6 Continua Prendiamo il sottocircuito della collezione con meno archi (con scelta arbitraria se ve ne è più di uno). Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i r,j r )} gli archi di tale sottocircuito. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j1 = 0), il secondo nodo figlio viene ottenuto imponendo che sia presente l arco (i 1,j 1 ) ma non sia presente l arco (i 2,j 2 ) (cioè si impone x i1,j 1 = 1, x i 2,j 2 = 0),

p. 13/6 Continua Prendiamo il sottocircuito della collezione con meno archi (con scelta arbitraria se ve ne è più di uno). Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i r,j r )} gli archi di tale sottocircuito. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j1 = 0), il secondo nodo figlio viene ottenuto imponendo che sia presente l arco (i 1,j 1 ) ma non sia presente l arco (i 2,j 2 ) (cioè si impone x i1,j 1 = 1, x i 2,j2 = 0), e così via fino al r-esimo figlio in cui si impone che siano presenti gli archi (i k,j k ), k = 1,...,r 1, ma non sia presente l arco (i r,j r ) (cioè si impone x ik,j k = 1, k = 1,...,r 1, x i r,j r = 0).

p. 14/6 Esempio Sottocircuito 1 2 1.

p. 14/6 Esempio Sottocircuito 1 2 1. Tabella valori di x 12 e x 21 x 12 x 21 0 0 0 1 1 0 1 1

p. 14/6 Esempio Sottocircuito 1 2 1. Tabella valori di x 12 e x 21 x 12 x 21 0 0 0 1 1 0 1 1 Combinazione valori da escludere: x 12 = x 21 = 1 (corrisponde al sottocircuito).

p. 14/6 Esempio Sottocircuito 1 2 1. Tabella valori di x 12 e x 21 x 12 x 21 0 0 0 1 1 0 1 1 Combinazione valori da escludere: x 12 = x 21 = 1 (corrisponde al sottocircuito). Primo nodo figlio x 12 = 0.

p. 14/6 Esempio Sottocircuito 1 2 1. Tabella valori di x 12 e x 21 x 12 x 21 0 0 0 1 1 0 1 1 Combinazione valori da escludere: x 12 = x 21 = 1 (corrisponde al sottocircuito). Primo nodo figlio x 12 = 0. Secondo nodo figlio x 12 = 1 e x 21 = 0.

p. 15/6 Sottinsiemi di S di forma particolare Siano dati due sottinsiemi di archi A 0,A 1 A con A 0 A 1 =.

p. 15/6 Sottinsiemi di S di forma particolare Siano dati due sottinsiemi di archi A 0,A 1 A con A 0 A 1 =. I sottinsiemi di S che ci interessano sono: S(A 0, A 1 ) = {C = (V, A C ) S : (i, j) A 1 : (i, j) A C, (i, j) A 0 : (i, j) A C }, ovvero in S(A 0,A 1 ) abbiamo tutti i circuiti hamiltoniani che contengono sicuramente gli archi in A 1 e che sicuramente non contengono gli archi in A 0.

p. 16/6 Nota bene L intera regione ammissibile S coincide con un particolare sottinisieme di forma S(A 0,A 1 ) con A 0 = A 1 =, cioè: S = S(, )

p. 17/6 Calcolo del lower bound per S(A 0, A 1 ) Il calcolo si effettua come quello del lower bound per S e cioè risolvendo un problema di assegnamento. Rispetto al calcolo del lower bound per S vanno presi i seguenti due accorgimenti: per ogni (i,j) A 0 si ponga v ij = + : ciò impedisce la formazione della coppia (a i,b j ) e quindi l introduzione dell arco (i, j);

p. 17/6 Calcolo del lower bound per S(A 0, A 1 ) Il calcolo si effettua come quello del lower bound per S e cioè risolvendo un problema di assegnamento. Rispetto al calcolo del lower bound per S vanno presi i seguenti due accorgimenti: per ogni (i,j) A 0 si ponga v ij = + : ciò impedisce la formazione della coppia (a i,b j ) e quindi l introduzione dell arco (i, j); per ogni (i,j) A 1 si escludano gli elementi a i e b j dal problema di assegnamento (essi sono già accoppiati tra loro). Si riduce di uno la dimensione del problema di assegnamento.

p. 18/6 Continua Indichiamo con: (a i k,b j k) k = 1,...,l la soluzione del problema di assegnamento. A questi corrisponde il seguente insieme di archi nel grafo originario: A s = {(i k,j k ), k = 1,...,l}.

p. 18/6 Continua Indichiamo con: (a i k,b j k) k = 1,...,l la soluzione del problema di assegnamento. A questi corrisponde il seguente insieme di archi nel grafo originario: A s = {(i k,j k ), k = 1,...,l}. Il lower bound per il sottinsieme S(A 0,A 1 ) è pari a L(S(A 0,A 1 )) = (i,j) A 1 A s v ij.

p. 19/6 Soluzione ammissibile? Se l insieme di archi A s A 1 forma un circuito hamiltoniano, cioè appartiene alla regione ammissibile S, il suo valore coincide con il valore del lower bound trovato e possiamo utilizzare tale valore per aggiornare, eventualmente, l upper bound U B (NB: in tal caso il sottinsieme viene cancellato).

p. 19/6 Soluzione ammissibile? Se l insieme di archi A s A 1 forma un circuito hamiltoniano, cioè appartiene alla regione ammissibile S, il suo valore coincide con il valore del lower bound trovato e possiamo utilizzare tale valore per aggiornare, eventualmente, l upper bound U B (NB: in tal caso il sottinsieme viene cancellato). Altrimenti l insieme di archi A s A 1 conterrà dei sottocircuiti.

p. 20/6 Branching di S(A 0, A 1 ) Si ripete quanto già visto per il nodo radice con una piccola differenza: tra i sottocircuiti formati dagli archi A s A 1 si prende quello che contiene meno archi in A s (gli archi in A 1 sono già fissati e non possono essere rimossi).

p. 21/6 Esempio Sia S(A 0,A 1 ) con: A 0 = {(1, 7)} A 1 = {(1, 2); (2, 3)}, e sia A s A 1 = {(1, 2); (2, 3); (3, 4); (4, 1); (5, 6); (6, 7); (7, 5)}.

p. 21/6 Esempio Sia S(A 0,A 1 ) con: A 0 = {(1, 7)} A 1 = {(1, 2); (2, 3)}, e sia A s A 1 = {(1, 2); (2, 3); (3, 4); (4, 1); (5, 6); (6, 7); (7, 5)}. Dei due sottocircuiti in A 1 A s, cioè: 1 2 3 4 1 5 6 7 5

p. 21/6 Esempio Sia S(A 0,A 1 ) con: A 0 = {(1, 7)} A 1 = {(1, 2); (2, 3)}, e sia A s A 1 = {(1, 2); (2, 3); (3, 4); (4, 1); (5, 6); (6, 7); (7, 5)}. Dei due sottocircuiti in A 1 A s, cioè: 1 2 3 4 1 5 6 7 5 quello con meno archi in A s è: 1 2 3 4 1

p. 22/6 Continua Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i t,j t )} gli archi del sottocircuito che appartengono ad A s. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j 1 = 0),

p. 22/6 Continua Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i t,j t )} gli archi del sottocircuito che appartengono ad A s. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j1 = 0), il secondo nodo figlio viene ottenuto imponendo che sia presente l arco (i 1,j 1 ) ma non sia presente l arco (i 2,j 2 ) (cioè si impone x i1,j 1 = 1, x i 2,j 2 = 0),

p. 22/6 Continua Indichiamo con {(i 1,j 1 ), (i 2,j 2 ),...,(i t,j t )} gli archi del sottocircuito che appartengono ad A s. Il primo nodo figlio viene ottenuto imponendo che in esso non sia presente l arco (i 1,j 1 ) (cioè si impone x i1,j1 = 0), il secondo nodo figlio viene ottenuto imponendo che sia presente l arco (i 1,j 1 ) ma non sia presente l arco (i 2,j 2 ) (cioè si impone x i1,j 1 = 1, x i 2,j 2 = 0), e così via fino al t-esimo figlio in cui si impone che siano presenti gli archi (i k,j k ), k = 1,...,t 1, ma non sia presente l arco (i t,j t ) (cioè si impone x ik,j = 1, k = 1,...,t 1, x k i t,j t = 0).

p. 23/6 Nell esempio Il primo nodo figlio viene ottenuto imponendo x 34 = 0.

p. 23/6 Nell esempio Il primo nodo figlio viene ottenuto imponendo x 34 = 0. Il secondo nodo figlio viene ottenuto imponendo x 34 = 1 e x 41 = 0.

p. 24/6 Nota bene Con questa regola di branching i nodi figli di un dato nodo continueranno ad essere sottinsiemi della regione ammissibile di forma S(A 0,A 1 ).

p. 24/6 Nota bene Con questa regola di branching i nodi figli di un dato nodo continueranno ad essere sottinsiemi della regione ammissibile di forma S(A 0,A 1 ). Infatti, rispetto al nodo padre il primo nodo figlio aggiungerà l arco (i 1,j 1 ) in A 0, il secondo nodo figlio aggiungerà l arco (i 1,j 1 ) in A 1 e l arco (i 2,j 2 ) in A 0, il terzo nodo figlio aggiungerà gli archi (i 1,j 1 ) e (i 2,j 2 ) in A 1 e l arco (i 3,j 3 ) in A 0, e così via.

p. 25/6 Nell esempio Primo nodo figlio: A 0 = {(1, 7); (3, 4)} A 1 = {(1, 2); (2, 3)}

p. 25/6 Nell esempio Primo nodo figlio: A 0 = {(1, 7); (3, 4)} A 1 = {(1, 2); (2, 3)} Secondo nodo figlio: A 0 = {(1, 7); (4, 1)} A 1 = {(1, 2); (2, 3); (3, 4)}

p. 26/6 Osservazione Nel calcolo del lower bound per un dato nodo dell albero è possibile risparmiare computazioni sfruttando quelle già fatte per il nodo padre, in particolare, utilizzando la tabella finale individuata dall algoritmo ungherese per il nodo padre e con le opportune modifiche per il nodo figlio. Questo verrà illustrato tramite gli esempi.

p. 27/6 Lower bound per TSP simmetrico Vogliamo ora definire una nuova tecnica di calcolo di lower bound per il problema TSP nel caso simmetrico, ovvero il caso in cui: v ij = v ji i,j V.

p. 28/6 Definizione: 1-tree Dato un grafo G = (V,A) non orientato e un suo nodo a V, chiamiamo 1-tree un sottografo Q = (V,A Q ) di G con le seguenti proprietà:

p. 28/6 Definizione: 1-tree Dato un grafo G = (V,A) non orientato e un suo nodo a V, chiamiamo 1-tree un sottografo Q = (V,A Q ) di G con le seguenti proprietà: in A Q ci sono esattamente due archi incidenti sul nodo a;

p. 28/6 Definizione: 1-tree Dato un grafo G = (V,A) non orientato e un suo nodo a V, chiamiamo 1-tree un sottografo Q = (V,A Q ) di G con le seguenti proprietà: in A Q ci sono esattamente due archi incidenti sul nodo a; se escludo da Q il nodo a e i due archi incidenti su di esso, mi rimane un albero sull insieme di nodi V \ {a}.

p. 28/6 Definizione: 1-tree Dato un grafo G = (V,A) non orientato e un suo nodo a V, chiamiamo 1-tree un sottografo Q = (V,A Q ) di G con le seguenti proprietà: in A Q ci sono esattamente due archi incidenti sul nodo a; se escludo da Q il nodo a e i due archi incidenti su di esso, mi rimane un albero sull insieme di nodi V \ {a}. In particolare, da questa definizione segue che A Q = V.

p. 29/6 Esempio Dato il grafo con V = {a,b,c,d,e} e A = {(a,b); (a,c); (b,c); (b,e); (c,d); (d,a); (d,e)}, il sottografo con A Q = {(a,b); (d,a); (b,c); (b,e); (d,e)} è un 1-tree.

p. 30/6 Osservazione Si può notare che ogni circuito hamiltoniano è un 1-tree.

p. 30/6 Osservazione Si può notare che ogni circuito hamiltoniano è un 1-tree. Infatti, in un circuito hamiltoniano su ogni nodo incidono esattamente due archi ed inoltre togliendo un nodo a qualsiasi e i due archi del circuito incidenti su di esso si ottiene un albero sull insieme di nodi V \ {a}.

p. 30/6 Osservazione Si può notare che ogni circuito hamiltoniano è un 1-tree. Infatti, in un circuito hamiltoniano su ogni nodo incidono esattamente due archi ed inoltre togliendo un nodo a qualsiasi e i due archi del circuito incidenti su di esso si ottiene un albero sull insieme di nodi V \ {a}. Il viceversa non è vero (lo 1-tree dell esempio non è un circuito hamiltoniano).

p. 31/6 Quindi...... se indichiamo con S l insieme degli 1-tree su un grafo G, tale insieme contiene la regione ammissibile S del problema TSP.

p. 31/6 Quindi...... se indichiamo con S l insieme degli 1-tree su un grafo G, tale insieme contiene la regione ammissibile S del problema TSP. In altre parole, il problema min Q=(V,A Q ) S (i,j) A Q v ij risulta essere un rilassamento per il problema TSP simmetrico e la sua risoluzione restituisce un lower bound per il valore ottimo del problema TSP.

p. 32/6 Calcolo del lower bound Passo 1. Si risolva il problema MST sul grafo ottenuto scartando da G = (V,A) il nodo a prescelto e tutti gli archi incidenti su di esso. Sia A T l insieme di archi della soluzione trovata;

p. 32/6 Calcolo del lower bound Passo 1. Si risolva il problema MST sul grafo ottenuto scartando da G = (V,A) il nodo a prescelto e tutti gli archi incidenti su di esso. Sia A T l insieme di archi della soluzione trovata; Passo 2. Si aggiungano ad A T i due archi (a,k) e (a,h) a distanza minima tra tutti quelli incidenti sul nodo a prescelto.

p. 32/6 Calcolo del lower bound Passo 1. Si risolva il problema MST sul grafo ottenuto scartando da G = (V,A) il nodo a prescelto e tutti gli archi incidenti su di esso. Sia A T l insieme di archi della soluzione trovata; Passo 2. Si aggiungano ad A T i due archi (a,k) e (a,h) a distanza minima tra tutti quelli incidenti sul nodo a prescelto. Passo 3. Si restituisca Q = (V,A Q ) con A Q = A T {(a,k); (a,h)}.

p. 33/6 Tempi di calcolo Risoluzione del problema MST in tempo polinomiale (ad esempio con l algoritmo greedy).

p. 33/6 Tempi di calcolo Risoluzione del problema MST in tempo polinomiale (ad esempio con l algoritmo greedy). Calcolo dei due valori minimi in tempo polinomiale. Quindi

p. 33/6 Tempi di calcolo Risoluzione del problema MST in tempo polinomiale (ad esempio con l algoritmo greedy). Calcolo dei due valori minimi in tempo polinomiale. Quindi i tempi di calcolo complessivi sono polinomiali.

p. 34/6 Nota bene La scelta del nodo a è arbitraria.

p. 34/6 Nota bene La scelta del nodo a è arbitraria. Al costo di un maggiore sforzo computazionale, si possono anche calcolare V diversi lower bound scegliendo come nodo a tutti i nodi del grafo G e calcolando per ciascuno di essi il lower bound.

p. 34/6 Nota bene La scelta del nodo a è arbitraria. Al costo di un maggiore sforzo computazionale, si possono anche calcolare V diversi lower bound scegliendo come nodo a tutti i nodi del grafo G e calcolando per ciascuno di essi il lower bound. Come lower bound complessivo del problema originario si utilizza il migliore (ovvero il più grande) tra tutti i V lower bound calcolati.

p. 35/6 Lower bound per sottoproblemi Per il calcolo del lower bound di un sottoproblema S(A 0,A 1 ), si utilizza la stessa procedura imponendo però la presenza degli archi in A 1 ed escludendo quella degli archi in A 0 sia nella risoluzione del problema MST sia nell individuazione dei due archi incidenti sul nodo a.

p. 35/6 Lower bound per sottoproblemi Per il calcolo del lower bound di un sottoproblema S(A 0,A 1 ), si utilizza la stessa procedura imponendo però la presenza degli archi in A 1 ed escludendo quella degli archi in A 0 sia nella risoluzione del problema MST sia nell individuazione dei due archi incidenti sul nodo a. In particolare, si può risolvere il problema MST sempre con l algoritmo greedy ma:

p. 35/6 Lower bound per sottoproblemi Per il calcolo del lower bound di un sottoproblema S(A 0,A 1 ), si utilizza la stessa procedura imponendo però la presenza degli archi in A 1 ed escludendo quella degli archi in A 0 sia nella risoluzione del problema MST sia nell individuazione dei due archi incidenti sul nodo a. In particolare, si può risolvere il problema MST sempre con l algoritmo greedy ma: inizializzando l insieme di archi A T non con l insieme vuoto ma con tutti gli archi in A 1 non incidenti sul nodo a;

p. 35/6 Lower bound per sottoproblemi Per il calcolo del lower bound di un sottoproblema S(A 0,A 1 ), si utilizza la stessa procedura imponendo però la presenza degli archi in A 1 ed escludendo quella degli archi in A 0 sia nella risoluzione del problema MST sia nell individuazione dei due archi incidenti sul nodo a. In particolare, si può risolvere il problema MST sempre con l algoritmo greedy ma: inizializzando l insieme di archi A T non con l insieme vuoto ma con tutti gli archi in A 1 non incidenti sul nodo a; non considerando gli archi in A 0 durante l esecuzione dell algoritmo greedy.

p. 36/6 Inoltre... se in A 1 non sono presenti archi incidenti sul nodo a, metteremo in A Q i due archi a distanza minima tra tutti quelli incidenti sul nodo a e al di fuori di A 0 ;

p. 36/6 Inoltre... se in A 1 non sono presenti archi incidenti sul nodo a, metteremo in A Q i due archi a distanza minima tra tutti quelli incidenti sul nodo a e al di fuori di A 0 ; se in A 1 è già presente un arco incidente sul nodo a questo entrerà in A Q insieme a quello a distanza minima tra tutti quelli incidenti sul nodo a e al di fuori di A 0 e A 1 ;

p. 36/6 Inoltre... se in A 1 non sono presenti archi incidenti sul nodo a, metteremo in A Q i due archi a distanza minima tra tutti quelli incidenti sul nodo a e al di fuori di A 0 ; se in A 1 è già presente un arco incidente sul nodo a questo entrerà in A Q insieme a quello a distanza minima tra tutti quelli incidenti sul nodo a e al di fuori di A 0 e A 1 ; se in A 1 sono già presenti due archi incidenti sul nodo a, solo questi entreranno in A Q.

p. 37/6 Esempio Supponiamo di avere il seguente problema del TSP simmetrico 1 2 3 4 5 1 5 8 3 5 2 5 4 6 2 3 8 4 10 3 4 3 6 10 1 5 5 2 3 1

p. 37/6 Esempio Supponiamo di avere il seguente problema del TSP simmetrico 1 2 3 4 5 1 5 8 3 5 2 5 4 6 2 3 8 4 10 3 4 3 6 10 1 5 5 2 3 1 Proviamo a calcolare il lower bound per il sottoproblema S(A 0,A 1 ) con A 0 = {(1, 3); (4, 5)} e A 1 = {(1, 5); (2, 4)}. Utilizziamo come nodo a il nodo 1.

p. 38/6 Continua Per prima cosa dobbiamo risolvere il problema MST sull insieme di nodi V \ {1} imponendo la presenza dell arco (2, 4) che è in A 1 ed escludendo quella degli archi in A 0.

p. 38/6 Continua Per prima cosa dobbiamo risolvere il problema MST sull insieme di nodi V \ {1} imponendo la presenza dell arco (2, 4) che è in A 1 ed escludendo quella degli archi in A 0. Utilizzando l algoritmo greedy con A T inizializzato con gli archi in A 1 non incidenti sul nodo 1 (in questo caso il solo arco (2, 4)) ed escludendo la possibilità di inserire gli archi in A 0, arriviamo al seguente albero su V \ {1} A T = {(2, 4); (2, 5); (3, 5)}.

p. 39/6 Continua Notiamo che in A 1 è presente l arco (1, 5) incidente sul nodo 1.

p. 39/6 Continua Notiamo che in A 1 è presente l arco (1, 5) incidente sul nodo 1. Ad A T dobbiamo quindi aggiungere, oltre a questo arco (1, 5), l arco a distanza minima tra tutti quelli incidenti sul nodo 1 e al di fuori di A 0 e A 1, ovvero (1, 4).

p. 39/6 Continua Notiamo che in A 1 è presente l arco (1, 5) incidente sul nodo 1. Ad A T dobbiamo quindi aggiungere, oltre a questo arco (1, 5), l arco a distanza minima tra tutti quelli incidenti sul nodo 1 e al di fuori di A 0 e A 1, ovvero (1, 4). Quindi lo 1-tree ottimo ha l insieme di archi A Q = {(2, 4); (2, 5); (3, 5); (1, 5); (1, 4)} con valore ottimo (e quindi lower bound per il sottoproblema S(A 0, A 1 )) pari a 19.

p. 39/6 Continua Notiamo che in A 1 è presente l arco (1, 5) incidente sul nodo 1. Ad A T dobbiamo quindi aggiungere, oltre a questo arco (1, 5), l arco a distanza minima tra tutti quelli incidenti sul nodo 1 e al di fuori di A 0 e A 1, ovvero (1, 4). Quindi lo 1-tree ottimo ha l insieme di archi A Q = {(2, 4); (2, 5); (3, 5); (1, 5); (1, 4)} con valore ottimo (e quindi lower bound per il sottoproblema S(A 0, A 1 )) pari a 19. Si noti anche come Q = (V, A Q ) non sia un circuito hamiltoniano e quindi non possa essere utilizzato per aggiornare (eventualmente) il valore di upper bound.

Modello matematico problema 1-tree p. 40/6

p. 40/6 Modello matematico problema 1-tree Abbiamo una variabile binaria x ij per ogni arco (i,j);

p. 40/6 Modello matematico problema 1-tree Abbiamo una variabile binaria x ij per ogni arco (i,j); imponiamo che ci siano esattamente due archi incidenti sul nodo a: x ia = 2; i V, i a

p. 40/6 Modello matematico problema 1-tree Abbiamo una variabile binaria x ij per ogni arco (i,j); imponiamo che ci siano esattamente due archi incidenti sul nodo a: x ia = 2; i V, i a gli archi incidenti sui soli nodi in V \ {a} devono formare un albero.

p. 41/6 Albero su V \ {a} Per imporre che gli archi selezionati formino un albero su V \ {a} dobbiamo richiedere che:

p. 41/6 Albero su V \ {a} Per imporre che gli archi selezionati formino un albero su V \ {a} dobbiamo richiedere che: il numero di tali archi sia pari a V \ {a} 1, ovvero pari a V 2, cioé: i,j V \{a} x ij = V 2;

p. 41/6 Albero su V \ {a} Per imporre che gli archi selezionati formino un albero su V \ {a} dobbiamo richiedere che: il numero di tali archi sia pari a V \ {a} 1, ovvero pari a V 2, cioé: i,j V \{a} tali archi non formino cicli. x ij = V 2;

p. 42/6 Eliminazione cicli in V \ {a} Dato U V \ {a}, sia E(U) = {(i,j) : i,j U}

p. 42/6 Eliminazione cicli in V \ {a} Dato U V \ {a}, sia E(U) = {(i,j) : i,j U} Osservando che un ciclo sui nodi in U dovrebbe contenere U archi in E(U), per eliminare cicli imporremo (i,j) E(U) x ij U 1 U V \ {a}

p. 42/6 Eliminazione cicli in V \ {a} Dato U V \ {a}, sia E(U) = {(i,j) : i,j U} Osservando che un ciclo sui nodi in U dovrebbe contenere U archi in E(U), per eliminare cicli imporremo (i,j) E(U) x ij U 1 U V \ {a} NB: Per U 2 i vincoli risultanti sono banali e possono essere omessi.

p. 43/6 Modello matematico 1 -tree min i,j V, i<j v ijx ij i V, i a x ia = 2 (i,j) E(U) x ij U 1 U V \ {a} : U 3 i,j V \{a} x ij = V 2 x ij {0, 1} i,j V, i < j

p. 44/6 Esempio Problema TSP simmetrico con la seguente tabella di distanze: 1 2 3 4 1 12 9 14 2 12 8 9 3 9 8 1 4 14 9 1

p. 45/6 Modello matematico: esempio Nodo a = 1 min 12x 12 + 9x 13 + 14x 14 + 8x 23 + 9x 24 + x 34 x 12 + x 13 + x 14 = 2 x 23 + x 24 + x 34 2 x 23 + x 24 + x 34 = 2 x 12,x 13,x 14,x 23,x 24,x 34 {0, 1}

p. 45/6 Modello matematico: esempio Nodo a = 1 min 12x 12 + 9x 13 + 14x 14 + 8x 23 + 9x 24 + x 34 x 12 + x 13 + x 14 = 2 x 23 + x 24 + x 34 2 x 23 + x 24 + x 34 = 2 x 12,x 13,x 14,x 23,x 24,x 34 {0, 1} Si noti come in questo caso il vincolo x 23 + x 24 + x 34 2 sia implicato dall altro vincolo x 23 + x 24 + x 34 = 2 e quindi può essere omesso.

p. 46/6 Osservazione Si può dimostrare che un modello valido per il problema TSP simmetrico è identico a quello visto per il problema 1-tree ma con l aggiunta che su tutti i nodi in V incidano esattamente due archi, ovvero:

p. 46/6 Osservazione Si può dimostrare che un modello valido per il problema TSP simmetrico è identico a quello visto per il problema 1-tree ma con l aggiunta che su tutti i nodi in V incidano esattamente due archi, ovvero: min i,j V, i<j v ijx ij i V, i j x ij = 2 j V (i,j) E(U) x ij U 1 U V \ {a} : U 3 i,j V \{a} x ij = V 2 x ij {0, 1} i,j V, i < j

p. 47/6 Esempio min 12x 12 + 9x 13 + 14x 14 + 8x 23 + 9x 24 + x 34 x 12 + x 13 + x 14 = 2 x 12 + x 23 + x 24 = 2 x 13 + x 23 + x 34 = 2 x 14 + x 24 + x 34 = 2 x 23 + x 24 + x 34 = 2 x 12,x 13,x 14,x 23,x 24,x 34 {0, 1}

p. 48/6 In pratica...... possiamo vedere il problema 1-tree come il rilassamento del problema TSP simmetrico ottenuto omettendo da questo tutti i vincoli che richiedono che vi siano esattamente due archi incidenti su ogni nodo, tranne quello relativo al nodo a.

p. 48/6 In pratica...... possiamo vedere il problema 1-tree come il rilassamento del problema TSP simmetrico ottenuto omettendo da questo tutti i vincoli che richiedono che vi siano esattamente due archi incidenti su ogni nodo, tranne quello relativo al nodo a. Come già visto, l omissione di vincoli può essere vista come un caso particolare di rilassamento lagrangiano in cui tutti i moltiplicatori di Lagrange sono fissati a 0.

p. 48/6 In pratica...... possiamo vedere il problema 1-tree come il rilassamento del problema TSP simmetrico ottenuto omettendo da questo tutti i vincoli che richiedono che vi siano esattamente due archi incidenti su ogni nodo, tranne quello relativo al nodo a. Come già visto, l omissione di vincoli può essere vista come un caso particolare di rilassamento lagrangiano in cui tutti i moltiplicatori di Lagrange sono fissati a 0. Ma allora possiamo vedere cosa succede se prendiamo moltiplicatori di Lagrange diversi da 0.

p. 49/6 Rilassamento lagrangiano Introduciamo ora moltiplicatori di Lagrange λ = (λ k ) k V \{a} per i vincoli che richiedono che esattamente due archi incidano sui nodi, con l unica eccezione del nodo a selezionato.

p. 50/6 Modello rilassamento lagrangiano u(λ) = min i,j V, i<j v ijx ij + k V \{a} λ k(2 i V, i k x ik) i V, i a x ia = 2 (i,j) E(U) x ij U 1 i,j V \{a} x ij = V 2 x ij {0, 1}

p. 51/6 Nota bene Essendo i vincoli di uguaglianza, possiamo considerare valori dei moltiplicatori di Lagrange λ k, k V \ {a}, anche negativi e non solo maggiori o uguali a zero.

p. 51/6 Nota bene Essendo i vincoli di uguaglianza, possiamo considerare valori dei moltiplicatori di Lagrange λ k, k V \ {a}, anche negativi e non solo maggiori o uguali a zero. Si vede che il rilassamento visto prima basato sul calcolo dello 1-tree minimo è un caso particolare di questo rilassamento lagrangiano in cui λ k = 0 per tutti i k V \ {a}.

p. 52/6 Continua Per comodità di notazione si include nell obiettivo anche un termine relativo al vincolo di incidenza di esattamente due archi sul nodo a con il relativo moltiplicatore di Lagrange λ a, imponendo però che questo possa assumere il solo valore 0.

p. 52/6 Continua Per comodità di notazione si include nell obiettivo anche un termine relativo al vincolo di incidenza di esattamente due archi sul nodo a con il relativo moltiplicatore di Lagrange λ a, imponendo però che questo possa assumere il solo valore 0. In tal modo avremo a che fare con un vettore di moltiplicatori di Lagrange λ = (λ k ) k V le cui componenti possono assumere valori positivi, negativi o nulli con la sola eccezione della componente relativa al nodo a che può assumere solo valore nullo.

p. 53/6 Prima riscrittura del modello u(λ) = min i,j V, i<j v ijx ij + k V λ k(2 i V, i =k x ik) i V, i =a x ia = 2 (i,j) E(U) x ij U 1 i,j V \{a} x ij = V 2 x ij {0, 1} i, j V, i < j U V \ {a}

p. 54/6 Modello finale u(λ) = min i,j V, i<j (v ij λ i λ j )x ij + 2 k V λ k i V, i =a x ia = 2 (i,j) E(U) x ij U 1 U V \ {a} : U i,j V \{a} x ij = V 2 x ij {0, 1} i, j V, i < j

p. 55/6 Risolvere il rilassamento lagrangiano Per valori fissati dei moltiplicatori di Lagrange λ k, k V, il rilassamento lagrangiano è facilmente risolvibile con la procedura vista in precedenza per l individuazione dello 1-tree minimo.

p. 55/6 Risolvere il rilassamento lagrangiano Per valori fissati dei moltiplicatori di Lagrange λ k, k V, il rilassamento lagrangiano è facilmente risolvibile con la procedura vista in precedenza per l individuazione dello 1-tree minimo. Infatti, il problema consiste nell individuare lo 1-tree minimo tenendo conto che le distanze degli archi sono ora definite come segue v ij = v ij λ i λ j.

p. 56/6 Esempio - prima riscrittura u(λ 1,...,λ 4 ) = min 12x 12 + 9x 13 + 14x 14 + 8x 23 + 9x 24 + x 34 + λ 1 (2 x 12 x 13 x 14 ) + λ 2 (2 x 12 x 23 x 24 )+ +λ 3 (2 x 13 x 23 x 34 ) + λ 4 (2 x 14 x 24 x 34 ) x 12 + x 13 + x 14 = 2 x 23 + x 24 + x 34 = 2 x 12, x 13, x 14, x 23, x 24, x 34 {0, 1}

p. 57/6 Esempio - modello finale u(λ 1,...,λ 4 ) = min (12 λ 1 λ 2 )x 12 + (9 λ 1 λ 3 )x 13 + +(14 λ 1 λ 4 )x 14 + (8 λ 2 λ 3 )x 23 + +(9 λ 2 λ 4 )x 24 + (1 λ 3 λ 4 )x 34 + 2 4 i=1 λ i x 12 + x 13 + x 14 = 2 x 23 + x 24 + x 34 = 2 x 12, x 13, x 14, x 23, x 24, x 34 {0, 1}

p. 58/6 Duale lagrangiano Questo consisterà nell individuare i valori λ = (λ k ) k V, con λ a = 0, per cui la funzione u(λ) ha il valore più grande possibile.

p. 58/6 Duale lagrangiano Questo consisterà nell individuare i valori λ = (λ k ) k V, con λ a = 0, per cui la funzione u(λ) ha il valore più grande possibile. In altre parole si tratta di risolvere il seguente problema max u(λ) λ: λ a =0

p. 59/6 Esempio Risolvendo il rilassamento lagrangiano con λ 1 = λ 2 = λ 3 = λ 4 = 0 si ottiene lo 1-tree minimo con un lower bound pari a 30. (2, 3) (3, 4) (1, 2) (1, 3)

p. 60/6 Esempio - continua Se ora però consideriamo i seguenti moltiplicatori di Lagrange: λ 1 = 0 λ 2 = 0 λ 3 = 1 λ 4 = 1, arriviamo ad un problema con la seguente tabella di distanze 1 2 3 4 1 12 10 13 2 12 9 8 3 10 9 1 4 13 8 1

p. 61/6 Esempio - continua Lo 1-tree minimo con queste distanze è e il lower bound è pari a (3, 4) (2, 4) (1, 2) (1, 3)

p. 61/6 Esempio - continua Lo 1-tree minimo con queste distanze è e il lower bound è pari a (3, 4) (2, 4) (1, 2) (1, 3) 2 i V λ i + (valore 1-tree minimo) = 0 + (1 + 8 + 12 + 10) = 31, migliore rispetto al precedente.

p. 61/6 Esempio - continua Lo 1-tree minimo con queste distanze è e il lower bound è pari a (3, 4) (2, 4) (1, 2) (1, 3) 2 i V λ i + (valore 1-tree minimo) = 0 + (1 + 8 + 12 + 10) = 31, migliore rispetto al precedente. Nel caso specifico si osserva anche che quest ultimo 1-tree minimo è anche un circuito hamiltoniano con distanza complessiva pari a 31 ed è quindi soluzione ottima del problema in questione.

p. 62/6 Osservazione Non ci addentreremo nelle tecniche di risoluzione del duale lagrangiano ma diamo una possibile strategia per migliorare quanto ottenuto con determinati valori λ i dei moltiplicatori di Lagrange (ad esempio, λ i = 0 per ogni i).

p. 62/6 Osservazione Non ci addentreremo nelle tecniche di risoluzione del duale lagrangiano ma diamo una possibile strategia per migliorare quanto ottenuto con determinati valori λ i dei moltiplicatori di Lagrange (ad esempio, λ i = 0 per ogni i). Nella soluzione ottenuta con i moltiplicatori di Lagrange λ i dobbiamo diminuire il peso dei nodi con grado superiore a 2 nella soluzione e accrescere quello dei nodi con grado inferiore a 2.

p. 62/6 Osservazione Non ci addentreremo nelle tecniche di risoluzione del duale lagrangiano ma diamo una possibile strategia per migliorare quanto ottenuto con determinati valori λ i dei moltiplicatori di Lagrange (ad esempio, λ i = 0 per ogni i). Nella soluzione ottenuta con i moltiplicatori di Lagrange λ i dobbiamo diminuire il peso dei nodi con grado superiore a 2 nella soluzione e accrescere quello dei nodi con grado inferiore a 2. Per questo possiamo aggiornare i moltiplicatori di Lagrange nel modo seguente: λ i = λ i + 2 grado di i nello 1-tree minimo

p. 63/6 Nell esempio Nell esempio considerato i gradi dei nodi 1, 2, 3 e 4 nello 1-tree minimo ottenuto con tutti i moltiplicatori di Lagrange nulli sono rispettivamente 2, 2, 3 e 1 e la regola appena vista porta proprio ai moltiplicatori di Lagrange proposti precedentemente.