La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Modelli e Algoritmi per la Logistica

Presentazioni simili


Presentazione sul tema: "Modelli e Algoritmi per la Logistica"— Transcript della presentazione:

1 Modelli e Algoritmi per la Logistica
Lezione 4 Formulazioni e Formulazioni Ottime Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di Roma “La Sapienza” A.A

2 P è una FORMULAZIONE di S
Formulazione Lineare min {cTx : xÎ S} Problema di PL01: P = {xÎ Rn: Ax < b} POLIEDRO con (AÎ Rmn, bÎ Rm) P è una FORMULAZIONE di S P Ç {0,1}n =S Un poliedro P è una formulazione se e solo se - contiene tutti i vettori di S - non contiene alcun vettore di {0,1}n - S Posso avere infinite formulazioni dello stesso problema di PL01

3 “Lower Bounds” (approssimazioni inferiori)
min {cTx: xÎ S} Problema di PL01: P è una FORMULAZIONE di S P Ç {0,1}n =S min {cTx: xÎ S} = min {cTx: xÎ P Ç {0,1}n} = cTx* = z* > min {cTx: xÎ P}= LB(P) LB(P) z* Valore della Soluzione Ottima del Problema di PL01 Problema di PL (Rilassamento Lineare) LB(P)  z* LB(P) “Lower Bound” per z*

4 Lower Bound = Certificato di Qualità
min {cTx: xÎ S} Problema di PL01: LB(P)  min {cTx: xÎ S} = z* Calcolare z* è (di solito) difficile Calcolare LB(P) è facile (Simplesso) Se conosciamo una soluzione ammissibile x°S (di valore z°=cTx° ) LB(P) fornisce una certificazione di qualità per x°. LB(P) z* “gap” gap cTx decrescente “gap” nullo  x° ottimo per PL01

5 Lower Bounds ... riassumendo
min {cTx: xÎ S} Problema di PL01: LB(P)  min {cTx: xÎ S} = z* Calcolare z* è difficile Calcolare LB(P) è facile (Problema di Programmazione Lineare) Trovare una soluzione x°S è (di solito) facile (Euristiche) Il “gap” cTx° - LB(P) certifica la qualità di x° piccolo “gap” = buona qualità di x° “gap” nullo = x° ottimo per PL01 S ammette molte formulazioni alternative Il “gap” dipende dalla formulazione P Come classificarle (e sceglierle) ?

6 Criteri di qualità delle Formulazioni (1)
No. disequazioni di Ax<b ? ; No. variabili ? ; facilità di calcolo ? Qualità = “piccolo gap” = massimo “lower bound CRITERIO 1: P1 migliore di P LB( P1) > LB(P2) Problema: Dipendenza dalla funzione obiettivo LB(P1) > LB(P2) P1 P2 cTx dTx LB(P2) > LB(P1) P1 migliore di P2 Se utilizzo cTx P2 migliore di P1 Se utilizzo dTx

7 Criteri di qualità delle Formulazioni (2)
Il criterio di qualità deve essere indipendente dalla funzione obiettivo (che non è prevedibile a priori) CRITERIO 2: P1 migliore di P LB( P1) > LB(P2) per ogni cÎ Rn Equivalente a: CRITERIO 3: P1 migliore di P P1 Í P2 Esiste una formulazione contenuta in ogni altra ? PS=conv(S) Í P " formulazione P di S Formulazione ottima

8 x° soluzione ottima del PL01
Formulazione Ottima z*= min {cTx : xÎ S} Problema di PL01: PS =Conv(S) = {xÎ Rn: Ax < b} POLIEDRO (AÎ Rmn, bÎ Rm) S insieme dei vertici di PS (S=Ext(PS)) Ogni disequazione di Ax < b definisce una faccia massimale di PS (... se dim(PS)=n) z*=min {cTx : xÎ S}= min {cTx: xÎ Ext(PS)} = min {cTx : xÎ PS}= LB(PS)= cTx° x° soluzione ottima del rilassamento lineare z*= LB(PS) = cTx° (gap=0) cTx° = z*  cTx xS x°  Ext(PS)=S x° soluzione ottima del PL01

9 Rilassamenti di PS (I) Disponiamo di una descrizione (esplicita) di: PS ={xÎ Rn: Ax<b} per ogni problema di PL01 ? Ovvero: Conosciamo la matrice A e il vettore b ? Dove “conoscere” significa: conoscere i coefficienti oppure avere una regola che consente di calcolare i coefficienti di ogni riga della matrice (A,b) Sfortunatamente NO ! Quasi sempre conosciamo solo alcune (poche) righe di (A,b) che definiscono una formulazione di S P ={xÎ Rn: Dx < d} P Ç {0,1}n =S A D d ? b

10 Esempio di PS S={ y{0,1}5: 7y1 + 6y2 + 5y3 + 3y4 + 2y5  11}
PS ={ y R5 : Ay< b, y > 05} Regola di costruzione di un “tipo” di riga di A: Se la somma dei coefficienti di k variabili è maggiore di 11 allora al più k-1 di esse possono essere poste ad 1. Famiglia di disequazioni di PS

11 Rilassamenti di PS (II)
Non disponiamo di una descrizione di PS per ogni problema di PL01. Disponiamo di Rilassamenti di PS , ovvero: Poliedri P ={xÎ Rn: Dx < d }) con le seguenti proprietà: Il poliedro P è una formulazione di S Il sistema Dx < d è costituito da alcune famiglie di disequazioni appartenenti al sistema Ax < b. Ciascun rilassamento produce un “lower bound” di z* : LB(P) = min {cTx: xÎ P} < z*

12 Esempio: Problema di Decisione (II)
Due progetti A e B xÎS = min cA xA + cB xB Vantaggi cA e cB associati Risorse necessarie dA =5 e dB =7 Vincolo: risorse utilizzate < D =10 min cA xA + cB xB 5xA + 7xB < 10 1>xA, xB >0 xÎPN= Formulazione Naturale: xA xB Verifica: PN Ç {0,1}2 =S a) xÎS xÎPN (SÍPN Ç {0,1}2) PN b) xÎPN Ç {0,1}2 xÎS (PN Ç{0,1}2Í S) vincoli di “box”

13 Esempio: Problema di Decisione (III)
xB Formulazione Naturale: min -5/3 xA - 11 xB 5xA + 7xB < 10 1>xA, xB >0 xÎPN= PN xA Formulazione Ottima: min -5/3xA - 11 xB xA + xB < 1 1>xA, xB >0 xÎPS= Vincolo logico: uno solo dei due progetti può essere attivato -12 -11 -10 -9 -8 -7 PS

14 Esempio: Sottografo s-t Connesso di Peso Minimo
c1t=2 cs3=2 ct4=3 Pesi cuv per ogni uvÎE Grafo G(V,E) con due nodi speciali s e t: 4 1 2 t 3 s å cuv uvÎF Peso di un insieme FÍ E : c(F) = Trovare il sottoinsieme di archi F* di peso minimo che contiene un cammino tra s e t: Sottografo s-t Connesso di Peso Minimo cuv > F* insieme degli archi di un cammino

15 Esempio: Grafo s-t Connesso di Peso Minimo (II)
S = vetttori di incidenza di un sottografo s-t connesso 4 1 2 t 3 s min {cTx: xÎ S Í {0,1}E } Problema di PL01: Quali condizioni deve soddisfare un vettore xÎ{0,1}E per essere il vettore di incidenza di un sottografo s-t connesso ? Formulazione ?

16 4 1 2 t 3 s Taglio s-t Insieme di archi K la cui rimozione distrugge tutti i cammini da s a t 4 1 t Xs Xs = nodi non connessi ad s K s 2 3 Xs Xs = nodi connessi ad s (Xs , Xs ) partizione di V t Ï Xs

17 F contiene s-t cammino P
Teorema (4.1): (caratterizzazione dei grafi s-t connessi) Un insieme di archi F è un sottografo s-t connesso se e solo se F ha intersezione non vuota con ogni taglio s-t. Solo se F s-t connesso F contiene s-t cammino P K taglio s-t K  P   K  F   Se (per assurdo) Ogni Taglio s-t contiene arco di F F non è s-t connesso ma contraddizione F non contiene gli archi di un cammino s-t Xs = nodi connessi ad s con archi di F s Xs Xt = nodi non connessi ad s con archi di F t Xt Archi da Xs a Xt definiscono un taglio s-t s  Xs ; t  Xt ; s Ï Xt ; t Ï Xs (Xs , Xt ) partizione di V Nessun arco di F da Xs a Xt

18 Formulazione: Grafo s-t Connesso di Peso Minimo
xFÎ S (vettore di incidenza sottografo s-t connesso F) K  F    taglio s-t K (Ogni taglio s-t contiene archi di F) 4 1 2 t 3 s K Se considero i vettori di incidenza Es. xFÎ S (xF)T (xK) 1  taglio s-t K å xe xKe > 1 eÎ E å xe > 1 eÎ K xÎ S (x)T (xK) 1  taglio s-t K

19 Formulazione: Grafo s-t Connesso di Peso Minimo
xFÎ S Ogni taglio s-t contiene un arco di F Quindi: xÎ S å xe > 1 per ogni taglio s-t K eÎK eÎK min cx å xe > K taglio s-t 1 xe > e Î E xÎP= P è una Formulazione (formulazione ottima) Il numero di disequazioni (vincoli) è enorme (|V|= ) Come risolvere il problema di PL? METODO DEL SIMPLESSO DINAMICO


Scaricare ppt "Modelli e Algoritmi per la Logistica"

Presentazioni simili


Annunci Google