200 likes | 294 Views
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. 2006-2007. min { c T x : x Î S }. Problema di PL01:.
E N D
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. 2006-2007
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 Formulazione Lineare 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
min{cTx: xÎ S} Problema di PL01: min{cTx: xÎS} = min{cTx: xÎP Ç {0,1}n} = cTx*=z* >min{cTx: xÎP}= LB(P) P è una FORMULAZIONE di S P Ç {0,1}n =S Valore della Soluzione Ottima del Problema di PL01 Problema di PL (Rilassamento Lineare) LB(P) z* “Lower Bounds” (approssimazioni inferiori) LB(P)z* LB(P)“Lower Bound” per z*
min{cTx: xÎ S} Problema di PL01: • Se conosciamo una soluzione ammissibile x°S(di valore • z°=cTx° )LB(P) fornisce una certificazione di qualità per x°. z° “gap” cTxdecrescente LB(P) z* z° z* gap LB(P) x° Lower Bound = Certificato di Qualità LB(P)min{cTx: xÎS} =z* • Calcolare z*è (di solito)difficile • Calcolare LB(P)è facile (Simplesso) “gap” nullo x°ottimo per PL01
min{cTx: xÎ S} Problema di PL01: • S ammette molte formulazioni alternative Lower Bounds ... riassumendo LB(P)min{cTx: xÎS} =z* • Calcolare z*è difficile • Calcolare LB(P)è facile (Problema di Programmazione Lineare) • Trovare unasoluzionex°Sè (di solito) facile(Euristiche) • Il “gap” cTx° - LB(P)certifica la qualità dix° • piccolo“gap” = buona qualità di x° • “gap” nullo = x° ottimo per PL01 Il “gap”dipende dalla formulazioneP • Come classificarle(e sceglierle) ?
Criteri di qualità delle Formulazioni (1) CRITERIO 1: P1migliore diP2LB(P1) >LB(P2) LB(P1)>LB(P2) P1 P2 cTx dTx LB(P2)>LB(P1) No. disequazioni di Ax<b ? ; No. variabili? ; facilità di calcolo ? Qualità = “piccolo gap” = massimo “lower bound Problema:Dipendenza dalla funzione obiettivo P1migliore diP2 Se utilizzo cTx P2migliore diP1 Se utilizzo dTx
CRITERIO 2: P1migliore diP2LB(P1) >LB(P2) per ognicÎ Rn Equivalente a: CRITERIO 3: P1migliore diP2P1 Í P2 Formulazioneottima Criteri di qualità delle Formulazioni (2) Il criterio di qualità deve essere indipendente dalla funzione obiettivo (che non è prevedibile a priori) Esiste una formulazione contenuta in ogni altra ? PS=conv(S) Í P" formulazione P di S
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 massimalediPS (... sedim(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 cTx° =z*cTxxS z*=LB(PS) = cTx° (gap=0) x°Ext(PS)=S x°soluzione ottima delPL01
D d • P={xÎ Rn: Dx < d} • P Ç {0,1}n =S ? ? A b Rilassamenti di PS(I) Disponiamo di una descrizione (esplicita) di: PS ={xÎ Rn: Ax<b}per ogni problema di PL01 ? Ovvero: Conosciamo la matriceAe il vettoreb ? 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
Esempio di PS y1 + y2 1 y1 + y3 1 y1 + y4 + y5 2 y1 + y2 + y3 + y4 2 y1 + y2 + y3 + y5 2 3y1 + 2y2 + 2y3 + y4 + y5 4 1 y1,…, y5 0 y1 + y2 1 y1 + y3 1 y1 + y4 + y5 2 Famiglia di disequazioni di PS S={y{0,1}5: 7y1 + 6y2 + 5y3 + 3y4 + 2y5 11} PS ={yR5: 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.
Rilassamenti di PS (II) Non disponiamo di una descrizione diPS per ogni problema di PL01. Disponiamo di Rilassamenti diPS, ovvero: • PoliedriP={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*
Formulazione Naturale: min cA xA+ cB xB 5xA+ 7xB <10 1>xA, xB>0 xÎPN= xB min cA xA+ cB xB a)xÎS xÎPN(SÍPN Ç {0,1}2) vincoli di “box” PN b)xÎPN Ç {0,1}2xÎS(PN Ç{0,1}2Í S) xÎS = xA Esempio: Problema di Decisione (II) • Due progetti Ae B • Vantaggi cA e cB associati • Risorse necessarie dA =5 e dB =7 • Vincolo: risorse utilizzate <D =10 Verifica: PNÇ {0,1}2 =S
min -5/3xA- 11xB 5xA+ 7xB <10 1>xA, xB>0 Formulazione Naturale: Formulazione Ottima: min -5/3xA- 11xB xA+ xB <1 1>xA, xB>0 xÎPN= xÎPS= xB Vincolo logico: uno solo dei due progetti può essere attivato -12 -11 -10 -9 -8 -7 PN PS 0 xA Esempio: Problema di Decisione (III)
c1t=2 1 • Grafo G(V,E) con due nodi speciali s e t: t • Pesicuv per ogni uvÎE ct4=3 å cuv • Peso di un insiemeFÍ E : c(F) = 2 4 uvÎF s cs3=2 3 cuv > 0 F* insieme degli archi di un cammino Esempio: Sottografo s-t Connesso di Peso Minimo Trovare il sottoinsieme di archi F* di peso minimo che contiene un cammino tra s e t: Sottografo s-t Connesso di Peso Minimo
S = vetttori di incidenza di un sottografo s-tconnesso 1 t 2 4 Problema di PL01: s min{cTx: xÎ S Í{0,1}E } 3 Quali condizioni deve soddisfare un vettore xÎ{0,1}E per essere il vettore di incidenza di un sottografo s-t connesso ? Esempio: Grafo s-t Connesso di Peso Minimo (II) Formulazione ?
1 t Taglio s-t Insieme di archi K la cui rimozione distrugge tutti i cammini da s a t 2 4 s 3 1 t • Xs = nodi connessi ad s K • Xs= nodi non connessi ads 2 Xs 4 • (Xs ,Xs)partizione di V Xs 3 s • t Ï Xs
Teorema(4.1):(caratterizzazione dei grafi s-t connessi) Un insieme di archi F è un sottografo s-t connesso se e solo seF ha intersezione non vuota con ogni taglio s-t. F non contiene gli archi di un cammino s-t • Xs = nodi connessi ad s con archi di F • Xt = nodi non connessi adscon archi di F t s Xt Xs • Archida Xs aXt definiscono un taglio s-t contraddizione Fs-t connesso Fcontiene s-tcammino P Solo se Ktaglio s-t K P K F Se (per assurdo) F non è s-t connesso Ogni Taglio s-tcontiene arco diF ma • s Xs ; t Xt ;s Ï Xt ;t Ï Xs • (Xs ,Xt )partizione di V • Nessun arco di F da Xs aXt
1 t K 2 4 s 3 å xe>1 å xexKe >1 eÎ K eÎ E Formulazione: Grafo s-t Connesso di Peso Minimo xFÎS (vettore di incidenza sottografo s-t connessoF) (Ogni taglio s-tcontiene archi diF) K F taglio s-tK Se considero i vettori di incidenza Es. xFÎ S (xF)T (xK) 1 taglio s-t K xÎ S (x)T (xK) 1 taglio s-t K
Quindi:xÎ S å xe >1 per ognitaglio s-t K eÎK mincx å xe>1 K taglio s-t 1 xe>0 e Î E eÎK xÎP= • Il numero di disequazioni (vincoli) è enorme (|V|=120 1036) METODO DEL SIMPLESSO DINAMICO Formulazione: Grafo s-t Connesso di Peso Minimo xFÎ S Ogni taglio s-tcontiene unarco di F • P è una Formulazione (formulazione ottima) • Come risolvere il problema di PL?