Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Modelli e Algoritmi della Logistica
Lezione – 14 Ascesa Duale – Idea base ANTONIO SASSANO Università di Roma“La Sapienza” Dipartimento di Informatica e Sistemistica Roma,
2
Metodo di Ascesa Duale min {cTx: xÎ PÇ{0,1}n}
Problema di PL01: min {cTx: xÎ PÇ{0,1}n} P = {xÎ Rn: Ax > b, x > 0n } formulazione min {cTx: xÎ P}= cTx* “lower bound” Dualità: (Primale) min cTx Ax > b x > 0n (Duale) max bTy ATy < c y > 0m Y = { Teorema Debole: xÎ P Ù yÎ Y bTy < cTx bTy < cTx* ogni soluzione duale yÎY definisce un “lower bound”
3
å fj xj + å å cij yij å zi å yij =1 iÎ I xj - yij > 0 iÎ I jÎ J
yij > 0 xj >0 iÎ I jÎ J å fj xj + å å cij yij jÎ J min (PRIMALE) (zi ) (uij ) å zi iÎ I max (DUALE) zi - uij < cij iÎ I jÎ J (yij ) iÎ I å uij < fj jÎ J (xj ) uij > iÎ I jÎ J
4
zi - uij < cij iÎ I jÎ J å uij < fj jÎ J uij > 0 iÎ I jÎ J
g(z,u)=å zi iÎ I max (DUALE) å uij < fj jÎ J zi - uij < cij iÎ I jÎ J Per ogni possibile soluzione ammissibile duale (z,u): g(z,u) “lower bound” (Teorema della Dualita’ Debole) ESEMPIO (LB1): 1 4 3 2 8 10 5 6 9 13 12 ú û ù ê ë é = c Soluzione duale uij =0; zi=min{cij} jÎ J g(z,u)=3
5
å zi zi < cij +uij iÎ I jÎ J å uij < fj jÎ J
Cosa accade se uij ¹ 0 ? uij > iÎ I jÎ J å zi iÎ I max (DUALE) iÎ I å uij < fj jÎ J zi < cij +uij iÎ I jÎ J [cij + uij] =
6
Soluzione iniziale: uij =0 Þ zi=min{cij}
[cij + uij] = - Minimo della riga 2 Þ c24 =1 IDEA ! Incrementando il valore di uij corrispondente al minimo di riga fino al minimo successivo si incrementa della stessa quantita’ il valore di zi ESEMPIO Soluzione iniziale: uij =0 Þ zi=min{cij} jÎ J - Minimo successivo della riga 2 Þ c25 =2 - Incremento di 1 il valore u24 Þ u24 =1 Þ z2=2
7
[cij + uij] = Di quanto possiamo incrementare le componenti di u ?
Per ogni jÎ J il vincolo å uij < fj non puo’essere violato ! iÎ I La somma delle componenti di u in ogni colonna deve essere minore del costo di attivazione del corrispondente impianto ( fj )
8
- Ogni riga k ha un minimo di riga nella componente j(k)
IDEA BASE DELLA PROCEDURA DI ASCESA DUALE Ad un generico passo: [ ] - Ogni riga k ha un minimo di riga nella componente j(k) - k = 2 - j(k) = 4 - s(k)= min {ckj+ ukj } minimo successivo della riga k jÎ J-{j(k)} - s(k) = 2 - dk= s(k) - (ck j(k)+uk j(k)) (massimo incremento di riga) - dk = 2-2=0 iÎ I - Dj = fj - å uij (massimo incremento di colonna) - Dj = 4-1=3
9
- Incrementa il valore di ukj(k) della quantita’ Vk :
IDEA BASE DELLA PROCEDURA DI ASCESA DUALE Ad un generico passo: - Ogni riga k ha un minimo di riga nella componente j(k) - Una riga k e’ BLOCCATA se Dj(k)=0 o dk=0 - Scegli la riga k NON BLOCCATA con valore massimo della quantita’: Vk =min(Dj(k) ,dk) - Incrementa il valore di ukj(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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.