Introduzione alla TRI DI GRFI La teoria dei grafi è una parte importante della Ricerca perativa (R..). ome per gli altri problemi affrontati nella R.. Si tratta di risolvere problemi di minimo (o di massimo) sotto opportune restrizioni poste dal problema preso in esame e riguardanti aspetti economici o ingegneristici.
Introduzione alla TRI DI GRFI La Teoria dei Grafi si occupa di problemi che possono essere visualizzati mediante grafici in cui compaiono punti (detti nodi), linee che congiungono tali punti (archi); tali problemi sono poi riconducibili ad una formulazione matematica simile a quella della programmazione lineare, cioè esprimibile mediante equazioni e disequazioni lineari ( di primo grado).
Introduzione alla TRI DI GRFI La Teoria dei Grafi è l'insieme di definizioni, teoremi e metodi risolutivi (algoritmi anche implementabili su computer) che permettono di capire per esempio quale sia il percorso minimo tra due punti, il percorso più conveniente per passare attraverso tutte le strade di una città o viceversa il percorso più conveniente per raggiungere tutti gli incroci delle strade della stessa città.
Problema di ulero per la passeggiata attraverso i ponti di Köenisberg Quartiere Fiume Preghel D Köenisberg (oggi Kaliningrad) è una città della Prussia rientale, attraversata dal fiume Preghel che in città si biforca in due rami dividendo la città in quattro quartieri,,, D congiunti da sette ponti come in figura.
Fra gli abitanti della città era sorto il problema se fosse possibile effettuare un passeggiata che, partendo da uno qualsiasi dei quattro quartieri, vi facesse ritorno, passando una ed una sola volta per ciascun ponte. Problema di ulero per la passeggiata attraverso i ponti di Köenisberg Quartiere Fiume Preghel D
Problema di ulero per la passeggiata attraverso i ponti di Köenisberg Quartiere Fiume Preghel D La risposta, negativa, fu data da ulero (a 31 anni). gli schematizzò il problema identificando i quartieri con nodi di un grafo e i ponti con gli archi
Problema della pecora, del lupo e del cavolo Lupo (indicato con L), pecora (indicata con P) e cavolo (indicato con ) si trovano sulla riva di un fiume e devono essere portati sull'altra riva da un barcaiolo (indicato con ) mediante una barca tanto piccola da poter portare oltre al barcaiolo solo il lupo o solo la pecora o solo il cavolo. Inoltre il barcaiolo non può lasciare senza sorveglianza il lupo in compagnia della pecora o la pecora in compagnia del cavolo.
Modelli di ttimizzazione su rete ammino minimo Minimo albero ricoprente Flusso di costo minimo Flusso massimo Pianificazione di progetti
ammino minimo Minimizzazione della distanza percorsa Minimizzazione del costo totale di una sequenza di attività Minimizzazione del tempo totale per svolgere una sequenza di attività ammino minimo da origine a destinazione(oggi) ammino minimo da origine a qualunque altro nodo (prof. Malesani) ammino minimo da ogni nodo a qualunque altro nodo.
ammino minimo a Seervada Park D T
ammino minimo a Seervada Park L'accesso al parco è riservato a un numero limitato di visite turistiche e passeggiate Le macchine non sono ammesse nel parco e sulle strade, strette e piene di curve, possono circolare bus dall'entrata del parco fino a T torre panoramica, le altre lettere indicano postazione di guardiani, incroci, servizi I numeri sopra gli archi indicano le lunghezze, in miglia, delle strade.
ammino minimo a Seervada Park TR PRLMI Quale tra i cammini che vanno dall'entrata alla postazione T, ha distanza minima Devono installare delle linee telefoniche sotto le strade che colleghino tutte le stazioni del parco (nodi del grafo) Far circolare vari bus all'interno del parco in modo che, in alta stagione, ci sia il massimo delle corse bus, anche utilizzando percorsi diversi
lgoritmo per ammino minimo D T Nodi scelti connessi * Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco * nodi scelti, direttamente connessi (legati da arco) ai nodi non ancora scelti
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco,,,d
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco, +
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco (D) D +=9 (D-), (D) +3= ()
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco (D) D +=9 (D,) +3=
lgoritmo per ammino minimo Nodi scelti connessi Nodi candidati D tot (da ) K-esimo nodo vicino minima T Ultimo arco (D) D +=9 (D) D +=8 D +1=8 (D,T)
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco (D) D +=8 D 8 D (D) D (T) +1=8 8 D
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco D (T) T 8+=13 (T) T +=1
lgoritmo per ammino minimo D T Nodi scelti connessi Nodi candidati tot (da ) K-esimo nodo vicino minima Ultimo arco D (T) T 8+=13 T 13 DT
ammini minimi a Seervada Park D T D T - D T } Lughezza 13
Modello di programmazione matematica Minimizzazione distanza percorsa: se percorro un arco tengo conto della sua lunghezza c ij, se non lo percorro non ne tengo conto. Variabile x ij = 0, 1, percorro l' arco ij, percorro l' arco ij. La distanza percorsa è data dalla sommatoria se se non n n i = 1 j = 1 c ij x ij
Vincoli Dal nodo RIGIN esco e non vi entro più. Nel nodo DSTINZIN entro e non vi esco più. In ogni altro nodo se vi entro vi devo anche uscire. FLUSS NTT = FLUSS IN USIT FLUSS IN NTRT n n x ij x ij j = 1 i = 1
Vincoli RIGIN: FLUSS NTT = 1 n n x j x i j = 1 i = 1 = 1 DSTINZIN: FLUSS NTT = -1 gni altro nodo: FLUSS NTT = 0 n n x Dj x id j = 1 i = 1 n n x ij x ij j = 1 i = 1 = = 0 1
ammino minimo (PL) = = = = = = = = = = = =. 1,, 0, 0, 1, 1,.. min 1 1 1 1 1 1 1 1 percorso viene ij se percorso viene non ij se x x x x x x x a s x c ij n i ij n j ij n i id n j Dj n i i n j j n i n j ij ij
determinazione del cammino minimo a seervada park da a flusso distanza nodi flusso netto domanda/offerta 1 = 1 1 = 0 1 = 0 1 = 0 D 1 D = 0 1 = 0 1 1 T = -1 D 1 1 3 1 1 nomi celle celle 1 a =Foglio1!$$:$$ D 1 da =Foglio1!$$:$$ D 1 distanza =Foglio1!$$:$$ D 1 1 distanzatotale =Foglio1!$D$ D T 1 domandaofferta=foglio1!$j$:$j$10 1 3 flusso =Foglio1!$D$:$D$ 1 flussonetto =Foglio1!$H$:$H$10 D 1 1 nodi =Foglio1!$G$:$G$10 T 1 DISTNZ TTL
determinazione del cammino minimo a seervada park determinazione del cammino minimo a seervada park da a flusso distanza nodi flusso netto domanda/offerta 1 #NM? = 1 0 #NM? = 0 0 #NM? = 0 1 #NM? = 0 D 0 D #NM? = 0 0 #NM? = 0 0 1 T #NM? = -1 D 0 1 3 0 1 nomi celle celle 0 a =Foglio1!$$:$$ D 0 da =Foglio1!$$:$$ D 0 distanza =Foglio1!$$:$$ D 0 1 distanzatotale =Foglio1!$D$ D T 1 domandaofferta=foglio1!$j$:$j$10 0 3 flusso =Foglio1!$D$:$D$ 0 flussonetto =Foglio1!$H$:$H$10 D 1 1 nodi =Foglio1!$G$:$G$10 T 0 DISTNZ TTL 13
lbero Ricoprente lbero (tree): sottografo connesso aciclico D T Valore
lbero Ricoprente No lbero: sconnesso D T
lbero Ricoprente No lbero: ciclico D T
Minimo albero Ricoprente Progettazione di reti Rete di comunicazioni (fibre ottiche tv via cavo) Rete di trasporto, min costi costruzione (strade ferrovie) Rete trasmissione elettrica alto voltaggio Rete collegamenti elettrici (computer) min lunghezza collegamenti
Minimo albero Ricoprente lbero di lunghezza minima (si parte da un nodo qualsiasi) D T
Minimo albero Ricoprente D T
Minimo albero Ricoprente D T
Minimo albero Ricoprente D T
Minimo albero Ricoprente D T
Minimo albero Ricoprente D T Valore 1