• Non ci sono risultati.

Laboratorio: Ottimizzazione su reti

N/A
N/A
Protected

Academic year: 2021

Condividi "Laboratorio: Ottimizzazione su reti"

Copied!
9
0
0

Testo completo

(1)

Laboratorio: Ottimizzazione su reti

Luigi De Giovanni

Dipartimento di Matematica, Universit`a di Padova

(2)

Cammino minimo: modello

Variabili decisionali: xij =

 1, l’arco (i , j ) `e sul cammino minimo;

0, altrimenti.

min X

(i ,j )∈A

cijxij s.t.

X

(i ,v )∈A

xiv− X

(v ,j )∈A

xvj =





−1, v = s;

+1, v = d ;

0, v ∈ N \ {s, d }.

xij ∈ {0, 1}≡ R+ ∀ (i , j) ∈ A Caso particolare MCF: un nodo domanda s e un nodo offerta d

(3)

Cammino minimo: esempio

Si determini con AMPL il cammino minimo da A a F nel seguente grafo

Suggerimento: si considerino variabili xij per ogni coppia di nodi, assegnando un valore di cij molto alto per gli archi che non (utilizzare la parola chiave default)

(4)

Soluzioni e discussione

Cammini minimi sp0.mod, sp0.dat sp.mod, sp.dat Max hop

spH.mod, sp.dat

La soluzione del rilassamento continuo `e intera!

Per calcolare il rilassamento continuo: option relax integrality 1

(5)

Cammini minimi vincolati

Ad esempio, sono dati i consumi per tratta wij e la disponibilit`a di carburante nel serbatoio W

spW.mod, spW.dat

La soluzione del rilassamento continuo potrebbe non essere intera:

si perde la totale unimodularit`a

(6)

Albero dei cammini minimi

Calcolare con AMPL l’albero dei cammini minimi da A verso gli altri nodi sptree.mod, sptree.dat

Suggerimento: usare il modello del flusso di costo minimo, con il nodo offerta A e tutti gli altri nodi domanda, con domanda unitaria.

Considerare un vincolo sul peso totale degli archi dell’albero (notare che si perde la totale unimodularit`a della matrice)

sptreeW.mod, sptreeW.dat

(7)

Modello PL per flusso di costo minimo

parametri bi: bilanciamento al nodo i

I bA= 5 = |N| − 1

I bi 6=A= 1

variabili: quantit`a xij da far fluire sull’arco (i , j ) ∈ A

min X

(i ,j )∈A

cijxij

s.t. X

(i ,v )∈A

xiv − X

(v ,j )∈A

xvj = bv ∀ v ∈ N

xij ∈ {0, 1}

(8)

Esercizio

Si vogliono trasferire 50 unit`a da A a F: calcolare in che modo le unit`a devono essere distribuite sulla rete in modo da minimizzare il costo. Si sonsideri il trasferimento di un numero intero di unit`a.

Suggerimento: si tratta da un problema di flusso di costo minimo, con un nodo offerta e un nodo domanda.

mcf.mod, mcf.dat

Domanda: cambierebbe la soluzione se le unit`a fossero frazionabili?

(9)

Esercizio (Max-Flow)

Si determini il massimo numero maxf di unit`a che possono essere trasferite da A a F.

Suggerimento: il problema pu`o essere modellato come flusso di costo minimo, introducendo una variabile relativa a maxf da trasferire da A (bilanciamento −maxf ) a F (bilanciamento +maxf ).

maxf.mod, maxf.dat

Domanda: cambierebbe la soluzione se le unit`a fossero frazionabili?

[risposta: NO (si pu`o dimostrare che la matrice dei vincoli resta totalmente unimodulare)]

Domanda: se si introduce un vincolo di budget, si mantiene l’interezza del rilassamento continuo? [risposta: NO (si pu`o dimostrare che la matrice dei

Riferimenti

Documenti correlati

● L'algoritmo di Bellman e Ford determina i cammini di costo minimo anche in presenza di archi con peso negativo. – Però non devono esistere cicli di

Le variabili di base coinvolte nel ciclo verranno incrementate di ∆ , se hanno segno positivo, mentre verranno decrementate di ∆ , se hanno segno negativo. La variabile uscente sara

Le reazioni di ossido-riduzione possono essere scritte in forma molecolare, indi- cando le molecole in forma indissociata, o in forma ionica, scrivendo gli ioni e, in

Se la soluzione non è ottima, devo selezionare come arco da far entrare nella soluzione albero un arco con costo ridotto

Naturalmente anche qui si può pensare ad altri contesti applicativi per tale problema, quali reti di computer e reti idrauliche come nel problema di flusso a costo minimo... Problema

Figura 1: Esecuzione dell’algoritmo di cycle canceling: la colonna a sinistra rappresenta il grafo originale con il flusso ad ogni iterazione, quella a destra rappresenta il

Se la domanda b v su un nodo v `e positiva, allora il flusso entrante deve essere maggiore del flusso uscente, se b v `e negativa allora il flusso entrante deve essere minore del

Per gli stessi motivi esemplificati sopra, non si pu` o neanche definire un grafo dei cam- mini minimi in presenza di un massimo numero di hop. Infatti, il grafo dei cammini min-