Modlli di Sistmi di Produzion Modlli Algoritmi dll Logisti 000- Prolm dl ommsso viggitor: EURISTICHE CARLO MANNINO Spinz Univrsità di Rom Diprtimnto di Informti Sistmisti
Euristih pr il TSP simmtrio Considrimo un grfo G(N,A) non orintto omplto, on osti sugli rhi R A Un ilo hmiltonino è un ilo smpli, non orintto, h pssi pr ogni nodo di G. Il osto di un ilo è pri ll somm di osti dgli rhi dl ilo. Il prolm dl ommsso viggitor (TSP Trvlling Slsmn Prolm) onsist nl trovr un ilo hmiltonino in G di osto minimo. Siom il grfo è non orintto, si prl di TSP simmtrio Il prolm pprtin ll lss di prolmi omintori on funzion oittivo linr d ll ss di prolmi diffiili (NP-hrd). In qust lzion i onntrimo su lgoritmi uristii pr il TSP simmtrio.
Prolmi di OC on funzion oittivo linr Insim s E ={,,,n} (vnti lmntri) (s. progtto ttivto, ro slto, onnssion stilit) Costi (Vntggi) lmntri { i ssoiti gli lmnti di E} Soluzion Ammissiil = Opportuno sottoinsim F E (s. sottoinsim di progtti ttivti h soddisfno il udgt ) Costo di un soluzion F = somm di osti lmntri dgli lmnti di F ( F) ( ) F Insim dll soluzioni mmissiili S ={F, F,, F m } F Prolm: min {(F): F S} F n n F
TSP om prolm OC G(V,E) 7 Grfo G(V,E) non orintto, omplto osto ro Insim s = insim rhi E Soluzion T Costo T = E E ( T) T 7 T = {,,,, } (T) = 0
Algoritmo Avido ( Grdy ) Insim s E ={,,,n} (vnti lmntri) Insim dll soluzioni mmissiili S ={F, F,,F m } (F E) H F pr qulh H S H soluzion przil Costo di un soluzion przil H = Id s ( H) ( ) Costruir un squnz di soluzioni przili H 0,H, H, H...:. prtir dll insim vuoto (soluzion przil H 0 ). ggiungndo, d ogni psso, l lmnto h produ l soluzion przil on il minimo osto.. rrstndosi qundo:. l soluzion przil orrnt è un soluzion mmissiil;. ogni soluzion przil ottniil ggiungndo un nuovo lmnto h un vlor mggior dll funzion oittivo. H
Algoritmo Avido ( Grdy ) - Flow hrt H:= ; (H)=0 Q * = min {(H {k}): k H, H {k} soluzion przil} k * = rg min {(H {k}): k H, H {k} soluzion przil} H S Q * > (H) NO H:=H {k * } SI STOP H soluzion grdy
Algoritmo Avido - TSP H:= ; (H)= k * = rg min {(H {k}): k H, H {k} stndiil ilo hmiltonino} H =H {k * } H ilo hmiltonino NO SI STOP H soluzion grdy
Esmpio grdy TSP 7 (T) =
Algoritmo di Rir Lol ( Lol Srh ) Insim s ={,,,n} (vnti lmntri) Insim dll soluzioni mmissiili S ={F, F,,F m } (F i ) Intorno di un soluzion mmisiil F = N(F ) S Id s N(T 0 ) N(T ) T 0 T T T N(T ) Costruir un squnz di soluzioni mmissiili T 0,T, T, T...:. prtir d un soluzion mmissiil T 0. individundo, l psso k, l soluzion di minimo osto T k pprtnnt ll intorno N(T k- ) dll soluzion orrnt T k-.. rrstndosi qundo ogni soluzion pprtnnt ll intorno N(T k- ) h un vlor dll funzion oittivo mggior di (T k- ) ovvro (T k- ) < (T k )
Intorni N(F )={F,F } N(F )={F,F } N(F )={F } N(F )={F,F,F } I ={N (F i ): F i S } Sistm di Intorni di S F F 9 7 8 F F F N + (F i ) F= F i k : k F i, F S Intorno grdy F N - (F i ) F=F i k : k F i, F S F N s (F i ) F i {k } { j } : k F i, j F i, F S Intorno rvrs grdy Intorno di smio F N s (F i ) F i {h,k } { j,i } : h,k F i, j,i F i, F S Intorno -smio
Minimi Loli Minimi Gloli F * minimo glol (F * ) < (F) pr ogni F S F * minimo lol (F * ) < (F) pr ogni F N (F * )} minimi loli minimo glol N (x )= {y: x-y < } L lgoritmo di rir lol individu un minimo lol
Rir Lol ( Lol Srh ) - Flow hrt T S Q * = min {(T ): T N(T)} T NUOVO = rgmin {(T ): T N(T) } Q * >(T) NO T:= T NUOVO SI STOP T minimo lol
Intorno -smio pr il TSP 7 7 (T) = (T ) = (T ) =7 (T ) =9 T T T
Intorno -smio pr il TSP 7 (T) = 7 (T ) =9 (T ) =0 Soluz. ottim in N(T): T
Lol Srh: intorni sponnzili A ogni itrzion dll lgoritmo di LS vin risolto un prolm di ottimizzzion lol: min {(T ): T N(T)} Il prolm di ottimizzzion lol è nlogo l prolm originl, m l insim di soluzioni mmissiili (intorno) è ristrtto. Ngli smpi visti sin qu, l soluzion dl prolm lol può ssr ottnut ffiintmnt numrndo l soluzioni mmissiili (poh) Id ltrntiv: dfinizion di un intorno grnd m tl h il prolm di ottimizzzion lol si risolviil ffiintmnt Qusto tipo di LS è himt Rir Lol on intorni sponnzili. Considrimo il so dll intorno ASSIGN pr il TSP. Pr risolvr il prolm di ottimizzzion ssoito, doimo introdurr il prolm dl mthing in grfi iprtiti.
Prolm dl Mthing in grfi iprtiti Grfo iprtito omplto: H (Z,A): Z = U W A = {(u,w): u U, w W} Psi p uw pr ogni uw A Mthing: sottoinsim M A di rhi indipndnti (nint nodi in omun) uw, ij M, uw ij u i, u j, w i, w j H (Z,A) P(M ) = 8 P(M ) = Pso Mthing M = p ( M) p( ) M
Prolm dl Mthing in grfi iprtiti H (Z,A) P(M ) = H (Z,A), Z = U W, U = W Mthing prftto M di H: M = Z/ = U = W Prolm Mthing Prftto: trov un mthing prftto di pso minimo Il prolm dl Mthing Prftto di pso (osto) minimo vin ridotto prolm di flusso osto minimo su un grfo orintto pitto H H è ostruito prtir d H orintndo gli rhi d U W
Mthing Prftto flusso osto minimo Costruzion H = (Z,A ), on pità osti p H = (Z,A ). Orint gli rhi d U W: A = {(u,w): u U, w W}. Assoi pità unitri = ogni A. Poni d u = - pr ogni u U. Poni d w = pr ogni w W. Ogni Mthing Prftto orrispond un flusso intro (0-) vivrs. Il flusso osto minimo (on osti p) orrispond l mthing prftto di pso minimo Il prolm di flusso osto minimo può ssr risolto ffiintmnt.
Mthing ssgnmnto Il prolm dl mthing prftto può ssr intrprtto om prolm di ssgnmnto. Dti du insimi di lmnti U W di ugul rdinlità Dto un osto p uw di ssgnr l lmnto u ll lmnto w W. Assgnr ogni lmnto di U d un lmnto di W in modo d minimizzr il osto omplssivo di ssgnmnto. Equivlnt l prolm di mthing prftto nl grfo iprtito omplto non orintto H (U W,A) on psi p uw pr ogni uw A U
Cili hmiltonini prmutzioni Ogni Cilo Hmiltonino orrispond un prmutzion (non uni) di vrtii, ogni prmutzion orrispond un ilo Hmiltonino (unio) d f d f d f d f {,,, d,, f} {,,,, d, f} Fissto il primo lmnto nll prmutzion (s. ), ogni ltro lmnto oup univomnt un posizion pri oppur dispri 7 7 7 7 G(V,E) T
Intorno di un prmutzion Dto un ilo hmiltonimo T dfinimo intorno ASSIGN di T (indito on N A (T )) om: {,,, d,, f} N A (T ) = {insim di ili hmiltonini ottnuti d T riposizionndo in tutti i modi possiili i nodi in posizioni pri} d f d f f d d f {,,,, d, f} d f d f {, d,, f,, } T
Intorno di un prmutzion f N A (T ) = {insim di ili hmiltonini ottnuti d T riposizionndo in tutti i modi possiili i nodi in posizioni pri} d f T d T = {v, v, v, v,, v n } U= {v, v, v,, v n/ } Nodi liri??? {,,, n/ } Posizioni lir # modi divrsi di ssgnr nodi liri posizioni lir? = prmutzioni di n/ lmnti N A (T ) rs sponnzilmnt on n
Intorno di un prmutzion Dt un posizion pri, i du nodi dinti (posizioni dispri) sono noti. Esmpio: l posizion è dint l nodo l nodo Indihimo on p vi il osto di insrimnto di un nodo liro v in un posizion lir i. Qunto ost insrir il nodo in posizion? p = + = + = 7 Qunto ost insrir il nodo d in posizion?? p d = d + d = 7 + =? 7 d Qunto ost insrir il nodo in posizion? p = d + d = + = f?? d? 7? 7
Ottimizzr nll intorno Si U l insim di nodi liri (qulli in posizion pri) di T Si W l insim dll posizioni pri di T. Pr ogni v U ogni i W lolimo il osto p vi di ssgnr il nodo v ll posizion i. Si u il nodo in posizion i- z il nodo in posizion i+ (mod V ), llor p vi = uv + vz. Trovr l soluzion ottim in N A (T ) quivl risolvr il sgunt Prolm: ssgnr ogni nodo v U d sttmnt un posizion i W in modo d minimizzr il osto omplssivo dll ssgnmnto Equivlnt l prolm di mthing prftto sul grfo iprtito omplto H (U W,A) on psi p uw pr ogni uw A
Cili hmiltonini prmutzioni G(V,E) f 7 d 7 f T d U= {, d, f} W= {,, } (T) = 7 d f 9 0 7 0 9 f T * d (T * ) = 9 M * = {, d, f} p(m * ) = 9
Qulità dll soluzioni uristih Gli lgoritmi uristii rno uon soluzioni mmissiili pr un prolm di ottimizzzion (Q) : min {(F): F S } = v(q) Com dfinir l qulità dll soluzion prodott d un lgoritmo? Si A un lgoritmo pr (Q) h produ l soluzion F Diimo h A è un lgoritmo h grntis un pprossimzion (l lgoritmo A è -pprossimto) s (F) v(q) Illustrrmo un lgoritmo -pprossimto pr il TSP mtrio S
Il TSP mtrio Grfo G(V,E) non orintto, omplto uv 0 osto ro uv E 0 è un (smi)mtri, ovvro soddisf l disuguglinz tringolr: pr ogni tripl di nodi distinti u, v, z, si h h uv uz + zv (disuguglinz tringolr) u uv uz v z zv Trov il ilo Hmiltonino di osto minimo in G(V,E) on vttor di osti smimtri
Cili ulrini Pr dsrivr l uristi -pprossimt di Christofids pr il TSP mtrio doimo introdurr il ontto di ilo urlino Dto un (multi)grfo non orintto, si dfinis Cilo Eurlino un wlk hiuso h pss sttmnt un volt pr ogni ro. Torm di Eulro. Un (multi)grfo mmtt un ilo urlrino s solo s è onnsso ogni nodo h grdo pri. Un (multi) grfo onnsso on ogni nodo di grdo pri è dtto grfo ulrino.
L goritmo di Christofids Grfo G(V,E) non orintto, omplto, on osti smimtri L lgoritmo di Christofids trov un ilo hmiltonino di osto l più doppio risptto l ilo di osto minimo L lgoritmo di Christofids. Trov il minimo lro rioprnt T di G.. Rddoppi ogni ro di T ottnnndo un grfo ulrino. Costruisi un ilo ulrino T di qusto grfo. Sgli un nodo inizil u in T visit T prtir d u. Costruisi un prmutzion di nodi V squnzindo i nodi nll ordin dll loro prim pprizion in T nll visit. Rstituisi il ilo hmiltonino H ssoito
Esmpio. Trov il minimo lro rioprnt T di G. G(V,E). Rddoppi ogni ro di T ottnnndo un grfo ulrino T. Costruisi un ilo ulrino T dl grfo ulrino T
Esmpio. Sgli un nodo inizil u in T visit T prtir d u. Costruisi un prmutzion di nodi V squnzindo i nodi nll ordin dll loro prim pprizion in T nll visit T Prmutzion ssoit = {,,,, } Squnz di visit di T : {,,,,,,, }. Cilo hmiltonino ssoito
Soritoi T Squnz di visit di T : {,,,,,,, } Prmutzion ssoit = {,,,, }. Cilo hmiltonino H ssoito H è ottnuto d T sostitundo mmini on rhi Poihé soddisf l disuguglinz tringolr si h (H ) (T)
Esmpio Th. 9. Si H * il ilo hmiltonino di osto minimo, si T * l lro rioprnt di G di osto minimo. Allor (H * ) (T * ). Si P il mmino smpli ottnuto d H * rimuovndo un ro. P (H * ) (P) (osti non ngtivi) P mmino P lro P ontin tutti i nodi di G P lro rioprnt P lro rioprnt, T * lro rioprnt osto minimo (P) (T * ) (H * ) (P) (H * ) (T * )
Esmpio Th. 9. Si H * il ilo hmiltonino di osto minimo, si H il ilo ritornto dll lgoritmo di Christofids. Allor (H) (H * ). T ottnuto dll lro rioprnt di osto minimo T * rddoppindo gli rhi (T) = (T * ). H ottnuto dl ilo ulrino T sostitundo mmini on rhi (H) (T) = (T * ) Dl Torm 9. (T * ) (H * ) (H) (T * ) (H * )