Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.

Slides:



Advertisements
Presentazioni simili
Flusso Massimo Certificati di (non-) ottimalità
Advertisements

Premessa: si assume di aver risolto (correttamente
ITCG MOSE’ BIANCHI ANNO SCOLASTICO
I SISTEMI LINEARI.
Dipartimento di Matematica
Risolvere la seguente disequazione razionale intera di I grado
MATEMATICA PER L’ECONOMIA
PROVA B: ESERCIZIO 1 Risolvere il sistema lineare (4 equazioni in 5 incognite):
Capitolo 8 Sistemi lineari.
Vettori e matrici algebrici
Autovalori e autovettori
MATLAB.
PROPRIETÀ DEI DETERMINANTI
METODI EQUAZIONI DIFFERENZIALI Funzioni che mettono in relazione una variabile indipendente ( es. x), una sua funzione ( es. y = f(x) ) e la.
LE MATRICI.
Definizione e caratteristiche
Cammini minimi con una sorgente
Algebra delle Matrici.
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati
Scenario Archi di un grafo controllati da agenti egoistici
Teoria e Tecniche del Riconoscimento
RICHIAMI ELEMENTARI DI ALGEBRA MATRICIALE
ANALISI DEI GRUPPI seconda parte
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
MATLAB.
INTENSITA SU UNO SCHERMO IN UNA INTERFERENZA TRA DUE SORGENTI PUNTIFORMI Alberto Martini.
LEGGE DELLA CIRCUITAZIONE
Sistemi di equazioni lineari
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi della Logistica
Metodi statistici per l'analisi del cambiamento 5/3/ Notazione (simboli) Obbiettivo: occorre che si mantengano le tracce, in merito al punteggio,
Algoritmi e Strutture Dati
Corso di Chimica Fisica II 2013 Marina Brustolon
Studente Claudia Puzzo
Le matrici e I Sistemi lineari.
Università degli Studi di Padova Progetto Lauree scientifiche Buratto Alessandra Dipartimento Di Matematica Pura Ed Applicata Liceo Scientifico "L. da.
Di Crosara Andrea. Ci proponiamo di trovare una strategia risolutiva per lequazione di secondo grado completa dove a, b, c, sono tutti diversi da 0. Utilizziamo.
Definizione di determinante
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili

Algoritmi e Strutture Dati
Prof. Cerulli – Dott.ssa Gentili
Prof. Cerulli – Dott.ssa Gentili
Analisi ai nodi Step 1: numerare ordinatamente tutti i nodi della rete
Rete di Hopfield applicata al problema del TSP Federica Bazzano
Corso di Matematica (6 CFU) (4 CFU Lezioni +2 CFU Esercitazioni)
Sistemi compatibili (Il metodo di Fourier-Motzkin)
Università degli Studi di Roma Tor Vergata
Corso di Matematica Discreta 4
Flusso di Costo Minimo Trasformazioni Equivalenti e Trasformazioni Inverse Viene data la seguente rete di flusso, in cui i valori riportati vicino agli.
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
MATEMATICA PER L’ECONOMIA e METODI QUANTITATIVI PER LA FINANZA a. a
Divisione tra un polinomio ed un binomio Regola di Ruffini
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
DIPENDENZA STATISTICA TRA DUE CARATTERI Per una stessa collettività può essere interessante studiare più caratteri presenti contemporaneamente in ogni.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
La misura della circonferenza e del cerchio
Ancora sulle equazioni di secondo grado….. Equazione di secondo grado completa Relazione tra le soluzioni di un'equazione di secondo grado.
Lezione n° 5: Esercitazione
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Lezione n° 10 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Lezioni di.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Prof. Cerulli – Dott. Carrabs
Transcript della presentazione:

Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity

Scenario Un insieme di produttori (consumatori) offre (richiede) determinati quantitativi di un medesimo bene rappresentati da un vettore di domanda d Ipotesi single commodity: non ha importanza da quali produttori ciascuno dei consumatori ottenga la quantità richiesta La distribuzione avviene mediante una rete conservativa, dove produttori e consumatori sono rappresentati da nodi e la distribuzione avviene attraverso un insieme di archi che li collega gli uni agli altri (grafo connesso G = (V, E)) Attraversare l’arco ij comporta un costo c ij per unità di bene trasportato (costi lineari) Il flusso nel generico arco ij  E dev’essere compreso fra una soglia l ij e una capacità u ij

Problema Calcolare una distribuzione di flusso che attribuisca a ciascun arco ij di G un flusso reale x ij compreso tra l ij e u ij e in tal modo soddisfi il vettore di domanda d al costo più basso possibile: mincx Ax = d l < x < u –1– – – – –1 – =A – –1– – –10 0 –1 –2 7 6 d=d= a b c d e f g h i j k cluclu –10 –2 –1 0 6 ab c d e fg h i jk 0

Basi Una base è un insieme massimale di colonne di A linearmente indipendenti Teorema: k colonne di A sono linearmente indipendenti se e solo se gli archi corrispondenti non formano cicli Dimostrazione: se C è un ciclo corrispondente a colonne di A, scegliamo un verso di percorrenza e moltiplichiamo per +1 ogni colonna associata a un arco concorde col verso e per –1 ogni colonna associata a un arco discorde. Sommando si ottiene la colonna –1– – – – –1 – =A – –1– – a b c d e f g h i j k ab c d e fg h i jk ab c d –1+1+1–1 1–1 0 0 – – –

Basi Una base è un insieme massimale di colonne di A linearmente indipendenti Teorema: k colonne di A sono linearmente indipendenti se e solo se gli archi corrispondenti non formano cicli Dimostrazione: Viceversa, sia B un insieme massimale di archi di G che non formano cicli (albero ricoprente T). Si visitino i nodi e gli archi di di T in post-ordine permutando le righe (nodi) e le colonne (archi) della matrice via via che si visitano. Con una colonna unitaria, la matrice è triangolare e ha determinante  ab c d e fg h i jk 1 b b 2 c 3 c d 4 d i 6 i j 7 j e 5 e – – –1–1–10 0 0–

Soluzioni di base In una soluzione di base, le variabili in base (archi di T ) assumono valori compresi tra l ij e u ij Una variabile fuori base invece è fissata o al valore di soglia l ij oppure al valore della capacità u ij Siano B, L, U gli insiemi di archi corrispondenti a variabili in base oppure fuori base dei due tipi. Il problema mincx Ax = d l < x < u si riscrive (eliminando una riga in modo che A B sia quadrata) minc B x B + c L x L + c U x U A B x B + A L x L + A U x U = d l < x < u Sostituendo nella funzione obiettivo x B = A B –1 (d – A L x L – A U x U ) questa diventa c B A B –1 d + (c L – A B –1 A L )x L + (c U – A B –1 A U )x U Per i costi ridotti fuori base si ha quindic L ’ = (c L – A B –1 A L ) c U ’ = (c U – A B –1 A U ) Poiché le variabili fissate alla soglia (alla capacità) possono solo aumentare (diminuire) il loro valore, la base corrente sarà ottima se c L ’ > 0, c U ’ < 0 (criterio di ottimalità)

Calcolo di una prima soluzione ab c d e fg k i j Trasformare il problema ponendo x’ = x – l > 0 e quindi sostituendo x = x’ + l h mincx Ax = d l < x < u mincx’ + cl Ax’ = (d – Al) = d’ 0 < x’ < u’ = u – l –1– – – – –1 – =A – –1– – – d’ = a b c d e f g h i j k clu’clu’ –10 6 4

Calcolo di una prima soluzione ab c d e fg k i j t 6 4 s 10 Aggiungere i nodi s e t, collegarli alle sorgenti e ai pozzi k con capacità pari a |d k |, trovare il max (s, t)-flusso; h se è < kP kP dk dk non c’è soluzione –1– – – – –1 – =A – –1– – – d’ = a b c d e f g h i j k clu’clu’ Altrimenti, ricavare x = x’ + l (ammissibile) x’x’ x

Calcolo di una prima soluzione ab c d e fg k i j –10 Aggiungere i nodi s e t, collegarli alle sorgenti e ai pozzi k con capacità pari a |d k |, trovare il max (s, t)-flusso; h se è <  k  P d k non c’è soluzione –1– – – – –1 – =A – –1– – –10 0 –1 –2 4 6 d = a b c d e f g h i j k cluclu Altrimenti, ricavare x = x’ + l (ammissibile) x –2 –1 0

x Calcolo di una prima base ab c d e fg k i j –10 Una soluzione di base ha almeno m – n + 1 variabili fissate ai valori di soglia o capacità (variabili fuori base); se quindi vi sono più di n – 1 variabili con valori strettamente compresi tra l ij e u ij la x trovata non è di base h –1– – – – –1 – =A – –1– – –10 0 –1 –2 4 6 d = a b c d e f g h i j k cluclu n = 7, m = 11l ij n – 1 variabili x –2 –

x Calcolo di una prima base ab c d e fg k i j Gli archi associati a queste variabili formano 2 cicli, da eliminare con operazioni di pivot. Nella prima,  = min{9 – 8, 6 – 1, 2 – 0, 2 – 0} = 1 h –1– – – – –1 – =A – –1– – –10 0 –1 –2 4 6 d = a b c d e f g h i j k cluclu n = 7, m = 11l ij n – 1 variabili x 8 +  2 –  

x Calcolo di una prima base ab c d e fg k i j Gli archi associati a queste variabili formano 2 cicli, da eliminare con operazioni di pivot. Nella seconda,  = min{2 – 0, 9 – 7, 4 – 1} = 2 h –1– – – – –1 – =A – –1– – –10 0 –1 –2 4 6 d = a b c d e f g h i j k cluclu n = 7, m = 11l ij n – 1 variabili x  4 –  6 2 – 

x Calcolo di una prima base ab c d e fg k i j Nella soluzione ottenuta gli archi (viola) associati alle variabili strettamente comprese tra l ij e u ij non formano cicli, ma sono meno di n – 1 e quindi non ricoprono il grafo. Un albero ricoprente (base degenere) si ottiene aggiungendo archi associati a variabili fuori base che non formino cicli con gli archi viola h –1– – – – –1 – =A – –1– – –10 0 –1 –2 4 6 d = a b c d e f g h i j k cluclu

Calcolo dei costi ridotti b e j Per ottenere il costo ridotto c’ = (c – c B A B –1 A) non è necessario invertire A B. Sia y = c B A B –1, cioè y risolve il sistema di n – 1 equazioni in n incognite – y i + y j = c ij  ij  B Siccome righe e colonne di B possono essere permutate con una visita in post- ordine ricavando una matrice triangolare, il sistema è di facile risoluzione h – – – –1 0 – – k c a d g i cBcB a c d fg k i y 7 – y 6 = 5 y 4 – y 3 = 8 y 2 – y 1 = 2 y 4 – y 2 = 5 y 6 – y 4 = 10 y 6 – y 5 = 4 Per il potenziale d’ingresso y 5 si sceglie un valore arbitrario (es., y 5 = 10) y 7 = 19 y 3 = – 4 y 1 = – 3 y 2 = – 1 y 4 = 4 y 6 = 14

b Calcolo dei costi ridotti b e j Servendosi di y si calcola ora il costo ridotto c’ = (c – yA) delle variabili fuori base c ij ’ = c ij + y i – y j  ij  L  U h a c d fg k i Per il potenziale d’ingresso y 5 si sceglie un valore arbitrario (es., y 5 = 10) y 7 = 19 y 3 = – 4 y 1 = – 3 y 2 = – 1 y 4 = 4 y 6 = 14 c b ’ = c b + y 1 – y 3 = 10 – 3 + 4= 11 c h ’ = c h + y 3 – y 6 = 12 – 4 – 14= –6 c e ’ = c e + y 5 – y 2 = = 18 c f ’ = c f + y 4 – y 5 = – 10 = 0 c j ’ = c j + y 5 – y 7 = – 19= –6 Si ha x b = x h = 9 x e = x f = x j = 0 Quindi x b e x j sono candidate a entrare in base: scegliamo x b

h Calcolo della nuova base b e j L’aggiunta dell’arco b genera un ciclo. Lo si elimina con un pivot cercando di far diminuire il flusso su b a c d fg k i Si ha x b = x h = 9 x e = x f = x j = 0 Quindi x b e x j sono candidate a entrare in base: scegliamo x b 1 +  9 –  –  2 2 –1 – – a b c d e f g h i j k cluclu Dalla tabella risulta  = min{3 – 1, 9 – 0, 0 – 0, 5 – 1} = 0

j h Calcolo della nuova base b e j L’aggiunta dell’arco b genera un ciclo. Lo si elimina con un pivot cercando di far diminuire il flusso su b a c d fg k i La variabile x b è entrata in base con valore 9, la variabile x c è uscita dalla base con valore 0 I flussi non sono stati alterati, perché le basi coinvolte nell’operazione sono degeneri Proviamo allora a far entrare in base x j, il cui flusso può crescere con costo ridotto – a b c d e f g h i j k cluclu Dalla tabella risulta  = min{3 – 1, 9 – 0, 0 – 0, 5 – 1} = –1 – –2 0

j h Calcolo della nuova base b e Il flusso nell’arco i deve decrescere, e così quello nell’arco k. a c d fg k i L’arco i ha infatti soglia 2, pari al flusso attuale: ancora una volta la distribuzione è inalterata a b c d e f g h i j k cluclu Dalla tabella di soglie e capacità si ha  = min{2 – 2, 5 – 0, 6 – 0} = –  2 –  2 –1 – –2 0 + 

j h Calcolo della nuova base b e Il flusso nell’arco i deve decrescere, e così quello nell’arco k. a c d fg k i L’arco i ha infatti soglia 2, pari al flusso attuale: ancora una volta la distribuzione è inalterata Il calcolo dei costi ridotti offre ora c f ’ = –6 con x f fissata alla soglia u f = a b c d e f g h i j k cluclu Dalla tabella di soglie e capacità si ha  = min{2 – 2, 5 – 0, 6 – 0} = –1 – –2 0

f j h Calcolo della nuova base b e Il flusso nell’arco i deve decrescere, e così quello nell’arco k. a c d g k i a b c d e f g h i j k cluclu Il ciclo introdotto coinvolge f, g, j, k Il flusso in f e j aumenta, quello in g e k diminuisce di  = min{4 – 0, 2 – 1, 5 – 0, 6 – 0} = –1 – – –  2 –  0 + 

f j h Calcolo della nuova base b e Il flusso nell’arco i deve decrescere, e così quello nell’arco k. a c d g k i L’arco g esce di base fissando il proprio flusso al valore di soglia a b c d e f g h i j k cluclu Il ciclo introdotto coinvolge f, g, j, k Il flusso in f e j aumenta, quello in g e k diminuisce di  = min{4 – 0, 2 – 1, 5 – 0, 6 – 0} = –1 – –