130 likes | 254 Views
Modelli e Algoritmi della Logistica Lezione – 1 5 Metodo di Ascesa Duale. ANTONIO SASSANO. Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica. Roma, 25-11- 01. Metodo di Ascesa Duale: Esempio. - max V k =3. il minimo della riga 5 deve
E N D
Modelli e Algoritmi della Logistica Lezione – 15 Metodo di Ascesa Duale ANTONIOSASSANO Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica Roma, 25-11-01
Metodo di Ascesa Duale: Esempio - max Vk=3 il minimo della riga 5 deve essere incrementato di 3 - arg max Vk=5 [cij+uij] = D= [ 4 3 1 4 7 ] Vk=min(Dj(k) ,dk) f = [ 4 3 1 4 7 ] ukj(k)= u52 = u52+3
Metodo di Ascesa Duale: Esempio [cij+uij] = D= [ 4 0 1 4 7 ] Vk=min(Dj(k) ,dk) f = [ 4 3 1 4 7 ] - max Vk=1 il minimo della riga 1 deve essere incrementato di 1 - arg max Vk=1 ukj(k)= u14 = u14+1
Metodo di Ascesa Duale: Esempio [cij+uij] = D= [ 4 0 1 3 7 ] Vk=min(Dj(k) ,dk) f = [ 4 3 1 4 7 ] - max Vk=1 il minimo della riga 2 deve essere incrementato di 1 - arg max Vk=2 ukj(k)= u24 = u24+1
Metodo di Ascesa Duale: Esempio [cij+uij] = D= [ 4 0 1 2 7 ] Vk=min(Dj(k) ,dk) f = [ 4 3 1 4 7 ] - max Vk=1 il minimo della riga 3 deve essere incrementato di 1 - arg max Vk=3 ukj(k)= u34 = u34+1
Metodo di Ascesa Duale: Esempio [cij+uij] = D= [ 4 0 1 1 7 ] Vk=min(Dj(k) ,dk) f = [ 4 3 1 4 7 ] - max Vk=1 il minimo della riga 4 deve essere incrementato di 1 - arg max Vk=4 ukj(k)= u43 = u43+1
Metodo di Ascesa Duale: Esempio Tutte le righe sono bloccate: LB=å zk=10 kÎ I [cij+uij] = D= [ 4 001 7 ] f = [ 4 3 1 4 7 ]
Metodo di Ascesa Duale: Osservazione d1 = 0 ….. incrementiamo due minimi di riga contemporaneamente z [ 4 000 6 ] D= [ 4 001 7 ] LB=å zk=11 kÎ I
PROCEDURA DI ASCESA DUALE - Ogni riga k ha un insieme dei minimi di rigam(k) (j(k) Îm(k)) - s(k)= min {ckj+ukj}minimo successivo della riga k jÎ J-m(k) -dk= s(k) - (ck j(k)+uk j(k))(max incremento di riga ( seJ=m(k))) - Dm(k) = min { fj -å uij }(massimo incremento di colonna) jÎ m(k) iÎ I - k = 2 - m(k) = {4,5} - s(k) = 4 -dk= 4-2=2 -Dm(k)= min {3,7} [ 4 3 1 4 7 ] Ad un generico passo:
PROCEDURA DI ASCESA DUALE Ad un generico passo: - Scegli un riga kNON BLOCCATA con valore massimo della quantita’ Vk /|m(k)|: - Incrementa tutti le variabili uk j :jÎ m(k)della quantita’ Vk • LB=å zk kÎ I - Ogni riga k ha un insieme dei minimi di rigam(k) (j(k) Îm(k)) - Una riga e’BLOCCATAse Dm(k)=0odk=0 - Per ogni riga k, poniVk =min(Dm(k) ,dk) Quando tutte le righe sono bloccate, poni: • Zk = (ck j(k)+uk j(k))per ogni kÎI
PROCEDURA DI ASCESA DUALE Definizione di una soluzione primale: - Attiva gli impianti J*={ jÎJ: fj =å ukj } kÎ I v =å fj + å (min ckj) jÎ J* kÎ I [ 4 000 6 ] jÎ J* g(z,u) =å zk=å (ck j(k)+uk j(k)) = å ck j(k)+ å uk j(k) kÎ I kÎ I kÎ I kÎ I soluzione duale (“lower bound”) soluzione primale (“upper bound”)