Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Modelli e Algoritmi della Logistica
Lezione – 15 Metodo di Ascesa Duale ANTONIO SASSANO Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica Roma,
2
Metodo di Ascesa Duale: Esempio
[cij + uij] = - max Vk=3 - arg max Vk=5 il minimo della riga 5 deve essere incrementato di 3 D = [ ] Vk=min(Dj(k) ,dk) f = [ ] ukj(k)= u52 = u52+3
3
Metodo di Ascesa Duale: Esempio
[cij + uij] = D = [ ] Vk=min(Dj(k) ,dk) f = [ ] - max Vk=1 il minimo della riga 1 deve essere incrementato di 1 - arg max Vk=1 ukj(k)= u14 = u14+1
4
Metodo di Ascesa Duale: Esempio
[cij + uij] = D = [ ] Vk=min(Dj(k) ,dk) f = [ ] - max Vk=1 il minimo della riga 2 deve essere incrementato di 1 - arg max Vk=2 ukj(k)= u24 = u24+1
5
Metodo di Ascesa Duale: Esempio
[cij + uij] = D = [ ] Vk=min(Dj(k) ,dk) f = [ ] - max Vk=1 il minimo della riga 3 deve essere incrementato di 1 - arg max Vk=3 ukj(k)= u34 = u34+1
6
Metodo di Ascesa Duale: Esempio
[cij + uij] = D = [ ] Vk=min(Dj(k) ,dk) f = [ ] - max Vk=1 il minimo della riga 4 deve essere incrementato di 1 - arg max Vk=4 ukj(k)= u43 = u43+1
7
Metodo di Ascesa Duale: Esempio
[cij + uij] = D = [ ] f = [ ] Tutte le righe sono bloccate: LB= å zk=10 kÎ I
8
Metodo di Ascesa Duale: Osservazione
d1 = 0 ….. incrementiamo due minimi di riga contemporaneamente D = [ ] z [ ] LB= å zk=11 kÎ I
9
- Ogni riga k ha un insieme dei minimi di riga m(k) (j(k) Î m(k))
PROCEDURA DI ASCESA DUALE [ ] Ad un generico passo: - Ogni riga k ha un insieme dei minimi di riga m(k) (j(k) Î m(k)) - k = 2 - m(k) = {4,5} - s(k)= min {ckj+ ukj } minimo successivo della riga k jÎ J-m(k) - s(k) = 4 - dk= s(k) - (ck j(k)+uk j(k)) (max incremento di riga ( se J=m(k))) - dk = 4-2=2 iÎ I - Dm(k) = min { fj - å uij } (massimo incremento di colonna) jÎ m(k) - Dm(k) = min {3,7}
10
- Incrementa tutti le variabili uk j : jÎ m(k) della quantita’ Vk
PROCEDURA DI ASCESA DUALE Ad un generico passo: - Ogni riga k ha un insieme dei minimi di riga m(k) (j(k) Î m(k)) - Una riga e’ BLOCCATA se Dm(k)=0 o dk=0 - Per ogni riga k, poni Vk =min(Dm(k) ,dk) - Scegli un riga k NON BLOCCATA con valore massimo della quantita’ Vk /|m(k)|: - Incrementa tutti le variabili uk j : jÎ m(k) della quantita’ Vk Quando tutte le righe sono bloccate, poni: Zk = (ck j(k)+uk j(k)) per ogni kÎI LB= å zk kÎ I
11
g(z,u) =å zk=å (ck j(k)+uk j(k)) = å ck j(k)+ å uk j(k)
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 soluzione primale (“upper bound”) g(z,u) =å zk=å (ck j(k)+uk j(k)) = å ck j(k)+ å uk j(k) kÎ I soluzione duale (“lower bound”)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.