Lineáris programozás belsőpontos módszerei illes@math.elte.hu Operációkutatási Tanszék Budapest 2007. február - április
Speciális lineáris programozási feladat (példa) Legyen adott a következő lineáris programozási (primál) feladat min x 2 + 2 x 3 3 x 2 + x 3 0 3 x 1 2 x 3 1 x 1 + 2 x 2 2 ahol az x 1, x 2, x 3 0. Ekkor 0 3 1 A = 3 0 2 1 2 0, b = 0 1 2 és c = 0 1 2. Az A mátrix, ferdén szimmetrikus mátrix, azaz A = A T, továbbá a b = c is teljesül. Egyszerűen megmutatható, hogy ekkor az x = 0 optimális megoldása a feladatnak. Az ilyen feladatot ferdén szimmetrikus önduális feladatnak nevezzük. Az x T = (2, 1, 3.25) és s T = (A x) T = (0.25, 0.5, 2) megengedett megoldása a feladatnak. (Belsőpont.)
A ferdén szimmetrikus önduális feladat Tekintsük a következő (speciális) lineáris programozási feladatot min q T x Mx q (SP ), x 0 ahol M IR n n ferdén szimmetrikus mátrix és q IR n vektor. Az (SP ) feladat megengedett megoldásainak a halmaza F = {x IR n : x 0, Mx q }. Feladat. Bizonyítsa be, hogy az (SP ) feladat önduális, azaz a duálisa önmaga. Lemma. Az (SP ) feladat optimális értéke nulla, továbbá az azonosan nulla vektor x = 0 megengedett és egyben optimális megoldása az (SP ) feladatnak. Ha (x, s(x)) adott megoldása az (SP ) feladatnak, ahol s(x) = M x + q, akkor q T x = x T (s(x) Mx) = x T s(x) = e T (x s(x)), azaz tetszőleges optimális megoldásra 0 = q T x = e T (x s(x)), azaz x s(x) = 0, amiből az is következik, hogy az x és s(x) vektorok komplementárisak, vagyis x i s i (x) = 0 teljesül, bármely i index esetén. Jelölje F := {x F : q T x q T x, x F} = {x F : q T x = 0} = {x F : x s(x ) = 0}, az (SP ) feladat optimális megoldásainak a halmazát.
Dualitás rés Dualitás rés: x T s(x) = q T x, ahol az x F és s(x) = Mx + q. Lemma. Legyen x és y az (SP ) feladat megengedett megoldása. Az x és y vektorok akkor és csak akkor optimálisak, ha x s(y) = y s(x) = x s(x) = y s(y) = 0. Bizonyítás. Mivel M ferdén szimmetrikus, ezért (x y) T (s(x) s(y)) = (x y) T M(x y) = 0, és ekkor x T s(y) + y T s(x) = x T s(x) + y T s(y), amely pontosan akkor nulla, ha x, y F. Másfelöl, tudjuk, hogy x, y F és így x T s(y) 0 és y T s(x) 0 teljesül. Figyelembevéve, az x T s(y) + y T s(x) = 0 összefüggést x T s(y) = e T (x s(y)) = 0 és y T s(x) = e T (y s(x)) = 0 következik. Tehát x s(y) = y s(x) = 0 adódik. Az (SP ) feladat optimalitási kritériumát a következő alakban is megadhatjuk Mx + s = q x 0, s 0 (LCP SP ), x s = 0 amelyet az (SP ) feladathoz tartozó lineáris komplementaritási feladatnak nevezünk.
Az (SP ) feladat szinthalmazai Definíció. Legyen x F. Ha az x + s(x) > 0 akkor az (x, s(x)) megoldás párt szigorúan komplementárisnak nevezzük, ahol s(x) = M x + q. Vezessük be a megengedett belsőpontos megoldások halmazát F 0 := {x F : (x, s(x)) > 0}. Belső pont (BP) feltétel: F 0 létezik x F : ( x, s( x)) > 0. Vezessük be először a következő szinthalmazt L K = {x F : x T s(x) K} = {x F : q T x K}, ahol K IR és bármely w IR n + vektor esetén az alábbi általánosított szinthalmazt L w = {(x, s) IR 2n : s = Mx + q és x s (w IR n )} is. Nyilvánvaló, hogy ha az (x, s) L w teljesül, akkor x s w.
Lemmák 1. Lemma. Legyen adott az (SP ) feladat és tegyük fel, hogy F 0. Ekkor bármely K IR, K > 0 szám esetén az L K szinthalmaz korlátos és zárt, azaz kompakt. Bizonyítás. Két eset lehetséges: L K = illetve L K. Az első eset triviális. A F 0 azaz x F : ( x, s(x)) > 0 belső pont. Mivel az M mátrix ferdén szimmetrikus, így 0 = (x x) T M (x x) = (x x) T (s s) = x T s + x T s x T s s T x, ahol az x L K F tetszőleges vektor és az s a hozzátartozó eltérés vektor. Ebből, az L K szinthalmaz definíciója alapján azt kapjuk, hogy x j s j x T s + s T x = x T s + x T s K + x T s, és így az ( x, s) > 0 belsőpont feltétel miatt, bármely 1 j n indexre x j K + xt s s j, hasonlóan s j K + xt s x j, azaz az L K szinthalmaz korlátos. A zártsága egyszerű következménye a szinthalmaz második felírásának, azaz annak, hogy véges sok zárt féltér metszete. Megjegyzés. Az L K = esetről később megmutatjuk, hogy az F 0 feltétel mellett nem állhat fenn.
Lemmák (folytatás) 2. Lemma. Legyen adott az (SP ) feladat és tegyük fel, hogy F 0. Ekkor bármely w IR n +, vektor esetén az L w szinthalmaz korlátos és zárt, azaz kompakt. Bizonyítás. Ha L w = akkor igaz az állítás. Legyen (x, s) L w, azaz x F és x s w. Mivel M ferdén szimmetrikus, ezért (x x) T (s s) = 0, ahol x F 0 és ekkor x T s + s T x = x T s + x T s, azaz x j s j x T s x T s + x T s = e T (x s) + e T ( x s) e T (w + w), ahol w = x s. Ekkor bármely 1 j n index esetén teljesül, tehát az L w szinthalmaz korlátos. Legyen x j et (w + w) s j illetve s j et (w + w) x j ˆF := {(x, s) IR 2 n : x F, és s = M x + q} IR 2 n korlátos, zárt halmaz és az f : IR 2 n IR n, f(x, s) = x s folytonos leképezés. Ekkor az f( ˆF) IR n zárt halmaz és így az f( ˆF) (w IR n ) is zárt, tehát az ősképe L w halmaz is zárt. Megjegyzés. Az L w = esetről, szintén megmutatjuk, hogy a F 0 feltétel mellett egyetlen egy w > 0 esetén sem fordulhat elő.
Lemmák (folytatás) 3. Lemma. Legyen adott az (SP ) feladat és tegyük fel, hogy F 0. Definiáljuk a következő halmazt G := {w IR n : (x, s) ˆF amelyre x s = w}. Ekkor a G halmaz nem üres és zárt. Bizonyítás. Mivel F 0, ezért létezik ( x, s) > 0 és x F 0, tehát x s = w > 0, és így w G. Azt kell belátni még, hogy a G halmaz tartalmazza az összes limeszpontját is. Legyen ŵ 0, amelyhez létezik w k G sorozat, úgy, hogy lim k w k = ŵ. Legyen továbbá w olyan, hogy w > w k teljesül, bármely k indexre és w > ŵ is igaz. Az előző lemma és az L w szinthalmaz konstrukciója alapján, L w nem üres és kompkat halmaz. Továbbá, tegyük fel, hogy létezik (x k, s k ) L w, amelyekre x k s k = w k. Az L w halmaz kompaktsága miatt, az általánosság korlátozása nálkül feltehető, hogy lim k (x k, s k ) = (ˆx, ŝ). Figyelembe véve a szorzás folytonosságát és a pontsorozatok definícióját kapjuk, hogy ˆx ŝ = lim k xk s k = lim k wk = ŵ, azaz a G halmaz zárt, mert tartalmazza a limeszpontjait.
Tétel Tétel. Legyen adott az (SP ) feladat és tegyük fel, hogy F 0. Ekkor bármely w IR n +, vektor esetén az L w szinthalmaz nem üres. Bizonyítás. A 2. Lemma szerint az L w halmaz kompkat. Indirekt módon tegyük fel, hogy létezik egy ŵ IR n +, vektor, amelyre Lŵ =. Az F 0, azaz x F 0 : w = x s > 0. Ekkor az L w kompakt halmaz. Legyen w > w és w > ŵ. Ekkor az A := {w IR n : e T w e T w } nem üres és kompakt halmaz. Továbbá az A G halmaz is nem üres és kompakt. Definiáljuk az f : A G IR n függvényt a következő kifejezéssel 0, ha w i ŵ i f i (w) := w i ŵ i, különben Az f(.) folytonos függvény, hiszen a norma és az f is folytonos függvények. Weirstrass tétele miatt, létezik γ = f( w) = min f(w) f( w). w A G Ekkor a Mivel az Lŵ = (indirekt feltevés), ezért γ = f( w) > 0. Ha intt ( w, ŵ) akkor létezik α (0, 1), amelyre x + = x + α x és s + = s + α s olyan vektorok, amelyekre w + = x + s + intt ( w, ŵ), azaz f(w + ) < f( w) = γ ami ellentmond a Weirstrass tételnek. Ha intt ( w, ŵ) = akkor legyen w B γ/3 (ŵ) intt (0, ŵ) vektor, amely esetén intt (w, ŵ) és megismételhetjük az előző gondolatmenetet.
Az (SP ) feladat optimális megoldás halmazáról Következmény. Legyen adott az (SP ) feladat. Az F halmaz nem üres, konvex poliéder. Sőt, ha az F 0 akkor az F halmaz kompakt is. Bizonyítás. Legyen w i IR n és w i > w i+1, valamint lim i w i = 0. Ekkor teljesül. Ebből L w i+1 L w i F = L 0 = i=1 L w i adódik, azaz az F halmaz zárt és mivel F L w i következik bármely i indexre, ezért korlátos is. Tehát az F kompakt halmaz is. Állítás. Legyen adott az (SP ) feladat és tegyük fel, hogy F. Ekkor az alábbi állítások ekvivalensek: (i) az F 0 (ii) az L w kompakt, nem üres halmaz; (iii) az L K kompakt, nem üres halmaz; (iv) az F kompakt, nem üres halmaz.
A Newton lépés és tulajdonságai Legyen adott (x, s) > 0, melyre s = M x + q. Célunk, hogy adott w > 0 vektorra meghatározzuk a ( x, s) lépést úgy, hogy M (x + x) + q = s + s (x + x) (s + s) = w. Sőt, azt is szeretnénk biztosítani, hogy x + x > 0 és s + s > 0, teljesüljön. Ekkor a ( x, s) ismeretlenekre vonatkozóan a következő egyenletrendszert kapjuk M x = s x s + s x + x s = w x s egyenletrendszerré redukálódik, amely még mindig nemlineáris. A másodrendű x s tag elhagyásával a M x s = 0 S x + X s = w x s Newton egyenletrendszer adódik, ahol X = diag(x) és S = diag(s) pozitív diagonális mátrixok. Ez már egy lineáris egyenletrendszer, amelynek a mátrixa M = M I IR 2n 2n S X alakú, míg az egyenlet, a s = M x behelyettesítése után (S + X M) x = w x s lesz.
Newton rendszer megoldhatósága Állítás. Legyenek ax X, S, I, M IR n n mátrixok. Az X és S pozitív diagonálisak, az I egység, míg az M ferdén szimmetrikus mátrix. Ekkor az M mátrix reguláris, tehát a Newton egyenletrendszer megoldása egyértelmű. Bizonyítás. Indirekt, azaz tegyük fel, hogy az M mátrix szinguláris. Ez azt jelenti, hogy létezik z IR 2n : M z = 0, de z 0. Legyen z = (u, v) alakú, és ekkor az M z = 0 egyenletet alakban írhatjuk. Ekkor nyilván v = M u lesz. M u I v = 0 S u + X v = 0 Mivel a z 0 vektor, ezért nyilván az u 0 összefüggés is teljesül, vagyis létezik olyan 1 i n index, amelyre u i 0. Figyelembe véve, az S és X mátrixok diagonalitását s i u i + x i v i = 0 teljesül, bármely i indexre. Mivel az x i > 0 és az s i > 0, ezért, ha u i = 0 akkor v i = 0 teljesül, viszont, ha u i 0 akkor v i = s i > 0 u i x i teljesül, azaz az u i és v i előjele különböző. Az M mátrix ferdén szimmetrikussága miatt 0 = u T M u = u T v = n u i v i < 0, i=1 ellentmondás adódik, tehát az M mátrix reguláris. Ekkor a Newton-egyenletnek is egyértelmű megoldása van, és, így az S + X M mátrix is invertálható.
Newton irányok A x és s, Newton irányok az alábbi formában adhatók meg x = (S + X M) 1 (w x s) és s = M (S + X M) 1 (w x s). (1) Miután a Newton irányban egy α lépéshosszú lépést teszünk, az új (x +, s + ) megoldásra a következő kifejezést kapjuk: x + s + := (x + α x)(s + α s) = x s + α (x s + s x) + α 2 x s = x s + α (w x s) + α 2 x s. Ez az összefüggés világossá teszi, hogy az x s vektor lokális megváltozását a w x s vektor határozza meg. Állítás. Legyen az M ferdén szimmetrikus mátrix és x F 0, azaz (x, s(x)) > 0. Legyen továbbá, ŵ IR n, ŵ > 0 és w = x s(x). Definiáljuk a T (ŵ, w) = { u IR n : ŵ i u i w i vagy w i u i ŵ i, i } tégla halmazt. Ha int T (ŵ, w) akkor létezik α (0, 1) és ( x, s) úgy, hogy az x + := x + α x, s + := s + α s, w + := x + s + és w + int T (ŵ, w), valamint x + F 0 teljesül. Bizonyítás. Az int T (ŵ, w) feltétel miatt ŵ w 0 és így a (1) képletek miatt, a x és s vektoroknak nem lehet minden komponense nulla.
Az állítás bizonyítása Az α > 0 számot úgy kell meghatározni, hogy x + := x + α x > 0 és s + := s + α s > 0 (2) teljesüljön, hiszen ekkor x + F 0, továbbá azt szeretnénk, hogy legyen w + int T (ŵ, w), ehhez pedig az kell, hogy bármely 1 i n index esetén min{ŵ i, w i } < w + i = x + i s+ i < max{ŵ i, w i } (3) egyenlőtlenségek teljesüljenek. Világos, hogy az (2) egyenlőtlenségek teljesülése a x és s vektorok koordinátáinak az előjelétől függ. Ha x i 0 akkor bármely α > 0 esetén x + i = x i + α x i > 0 adódik. Ezzel szemben, ha x i < 0 { akkor α α 1 := min x } { i : x i < 0. Hasonlóan α α 2 := min s } i : s i < 0. x i s i A (3) egyenlőtlenségek teljesülésének az elemzésekor szükségünk lesz a következő két index halmazra I w := {i : w i < ŵ i } és Iŵ := {i : ŵ i < w i }. Amikor az i I w akkor azt szeretnénk, hogy w i < w + i < ŵ i teljesüljön, azaz w i < w + i = x + i s + i = (x i + α x i ) (s i + α s i ) = w i + α (ŵ i w i ) + α 2 x i s i. Figyelembe véve az α > 0 összefüggést, a következő korlátot kapjuk { } α α 3 := min ŵi w i : x i s i < 0. i I w x i s i
Amennyiben a w + i Bizonyítás folytatása < ŵ i egyenlőtlenséget vizsgáljuk akkor ŵ i > w + i = x + i s + i = (x i + α x i ) (s i + α s i ) = w i + α (ŵ i w i ) + α 2 x i s i, adódik és ezt tovább alakítva a 0 < (ŵ i w i ) α (ŵ i w i ) α 2 x i s i egyenlőtlenséget kapjuk, amely az α ismeretlenben másodfokú. Ha a x i s i 0 akkor bármely α (0, 1) esetén, az előző egyenlőtlenség teljesül. Az ellenkező esetben, amikor x i s i > 0 akkor { } α α 4 := min i I w (ŵ i w i ) (ŵ i w i ) 2 + 4 (ŵ i w i ) x i s i 2 x i s i : x i s i > 0 Hasonlóan elemezhető ki az i Iŵ eset is. Ekkor az α α 5 := min i Iŵ illetve α α 6 := min i Iŵ { (w i ŵ i ) (w i ŵ i ) 2 4 (w i ŵ i ) x i s i { ŵi w i x i s i : x i s i > 0 : x i s i < 0 2 x i s i }. Legyen az α := min{1, α 1, α 2,..., α 6 } és ekkor bármely α (0, α ) lépéshossz esetén x + F 0 és w + int T (ŵ, w) teljesül.. }
Centrális út Az (SP ) feladat optimalitási kritériumának a relaxáltja Mx + s = q x 0, s 0 x s = µ e, µ > 0 Definíció. Az alábbi halmazt C := {(x(µ), s(x(µ))) : x(µ) F 0, x(µ) s(µ) = µ e, valamely µ > 0} az (SP ) feladat centrális útjának nevezzük. Segédtétel. Legyen M IR n n egy ferdén szimmetrikus mátrix. Ekkor minden z IR n \ {0} létezik olyan j index, melyre z j 0 és z j (Mz) j 0. Bizonyítás. Indirekt tegyük fel, hogy létezik olyan z 0, hogy minden j-re, amelyre z j 0, z j (Mz) j < 0. Ez esetben 0 = z T Mz = n z j (Mz) j = j=1 j:z j 0 z j (Mz) j < 0, ami nyilvánvaló ellentmondás.
A centrális út létezésének a feltétele Tétel. Legyen adott az (SP ) feladat és tegyük fel, hogy F. Ekkor a következő állítások ekvivalensek: (i) F 0 (ii) w IR n + esetén! (x, s) > 0 : Mx + q = s és xs = w (iii) µ > 0 esetén! (x, s) > 0 : Mx + q = s és xs = µe Bizonyítás. Az (iii) az (ii) állítás speciális esete, így (ii) (iii). A (iii) feltételbőlből következik (i) ugyanis x(µ) s(µ) = µ e esetén x(µ) F 0 teljesül. Az (i) (ii) implikációt indirekt bizonyítjuk. Tegyük fel, hogy ŵ IR n + : ˆx F 0 és ŝ = M ˆx + q, amire teljesülne ŵ = ˆx ŝ. Mivel teljesül a belső pont feltétel, Lŵ és kompakt. Legyen f : Lŵ IR + függvény, f(x, s) = x T s. Az indirekt feltevésünk miatt f(x, s) = x T s < e T ŵ, minden (x, s) Lŵ. Az f folytonos függvény, így Weierstrass tétele miatt felveszi a maximumát az Lŵ kompakt halmazon: e T w = x T s = f( x, s) = max f(x, s) = max x T s < e T ŵ, (4) (x,s) Lŵ (x,s) Lŵ ahol w := x s és w ŵ, de w ŵ az indirekt feltevésünk miatt. Két eset lehetséges: 1. Ha intt ( w, ŵ) akkor w + T ( w, ŵ) : w < w + < ŵ és w + = x + s +, ahol x + F 0. Így e T w < e T w +, ez ellentmond a (4) egyenlőtlenségnek hiszen (x +, s + ) Lŵ.
Tétel bizonyítása (2. eset) 2. Ha intt ( w, ŵ) =, akkor legyen δ := e T (ŵ w) > 0 és definiáljuk w IR n + : ŵ > w > ŵ δ n e. Ekkor a w választási szabálya miatt T ( w, w), azaz létezik w + T ( w, w) úgy, hogy w + = x + s +, x + = x + α x, s + = s + α s, ahol x + F 0 és α (0, 1). A továbbiakban megmutatjuk, hogy e T w + > e T w, ami ellentmondás (4) miatt. Felhasználva a x, s vektorok ortogonalitását, illetve az s x + x s = w x s egyenlőséget a következőt kapjuk: e T (w + w) = x T s+α ( s T x+ x T s)+α 2 ( x) T s x T s = α ( s T x+ x T s) = α e T ( w w) (5) és a w definíciója miatt w w > (ŵ w) δ n e, így et ( w w) > e T (ŵ w) δ n et e = δ δ = 0. A (5) egyenlőséget figyelembe véve: e T w + > e T w, amit igazolni szerettünk volna, azaz ellentmondásra jutottunk. A fentiekben beláttuk, w IR n + esetén (x, s) > 0 : Mx + q = s, w = x s. Egyértelműség igazolása: tegyük fel hogy w IR n + azaz létezik (x 1, s 1 ) > 0 és (x 2, s 2 ) > 0, úgy, hogy vektornak létezik két különböző előállítása, Mx 1 + q = s 1, w = x 1 s 1 és Mx 2 + q = s 2, w = x 2 s 2, továbbá (x 1, s 1 ) (x 2, s 2 ). Legyen z = x 1 x 2 0. A segédtétel alapján létezik j index, úgy, hogy x 1 j x 2 j és 0 (x 1 j x 2 j)(m(x 1 x 2 )) j = (x 1 j x 2 j)(s 1 j s 2 j). Feltehető, hogy x 1 j > x2 j (a másik eset hasonlóan bizonyítható), így s1 j > s2 j. Mivel x1 j s1 j = w j = x 2 j s2 j, ezért 1 < x1 j x 2 = s2 j j s 1 s 1 j < s 2 j ami ellentmond az előbbi feltevésünknek. j
A centrális út tulajdonságai Tétel. Legyen adott az (SP ) feladat, melyre teljesül a belső pont feltétel. Ekkor létezik (x, s ) az alábbi tulajdonságokkal: (1) (x, s ) = lim µ 0 (x(µ), s(µ)) (2) x F (3) Goldmann-Tucker tétel. (x, s ) szigorúan komlementáris megoldás. Bizonyítás. Legyen µ k 0 (k = 1, 2,... ) egy monoton csökkenő sorozat. Ekkor bármely k indexre fennáll, hogy (x(µ k ), s(µ k )) L w 0, ahol w 0 = x 0 s 0. Mivel az L w 0 halmaz kompakt, létezik a sorozatnak legalább egy (x, s ) torlódási pontja. Az általánosság korlátozása nélkül feltehető, hogy (x, s ) = lim k (x(µ k ), s(µ k )). A második állítás nyilvánvaló, ugyanis x s = lim k x(µ k ) s(µ k ) = lim k µ k e = 0. A (3) állítást igazoljuk. Legyen x IR n és jelölje σ(x) = {i : x i > 0} az x vektor tartóját. Felhasználva az M mátrix ferdén szimetrikusságát 0 = (x x(µ)) T (s s(µ)) = (x ) T s + x(µ) T s(µ) (x ) T s(µ) (s ) T x(µ) egyenlet adódik. Figyelembe véve a második állítást és az x(µ) i s(µ) i = µ összefüggést µ n = (x ) T s(µ) + (s ) T x(µ) = x i (s(µ)) i + s i (x(µ)) i i : x i >0 i : s i >0 n = i : x i >0 x i (s(µ)) i µ + i : s i >0 s i (x(µ)) i µ = i : x i >0 x i (x(µ)) i + i : s i >0 s i (s(µ)) i Határátmenettel, amikor µ 0 akkor σ(x ) + σ(s ) = n ami csak úgy teljesülhet, ha az (x, s ) egy szigorúan komplementáris megoldás.
Optimális partíció, analitikus centrum Definíció. Legyen B : = {i : x i > 0, valamely x F esetén} N : = {i : s(x) i > 0, valamely x F esetén} Ekkor az indexeknek a (B, N) felbontását optimális partíciónak nevezzük. Állítás. Legyen adott az (SP ) feladat, és tegyük fel, hogy teljesül a belső pont feltétel. Ekkor I = {1, 2,..., n} indexhalmaznak a (B, N) valóban partíciója. Bizonyítás. B N = I, mert az előző tétel miatt létezik (x, s ) szigorúan komplementáris megoldás. A B N = is teljesül, az optimális megoldások komplementaritását tárgyaló lemma alapján. Definíció. Jelölje x F, s = s( x) azon vektorokat, melyek maximalizálják a x i i B szorzatot az F optimális halmazon. Ekkor az x vektort az F optimális halmaz analitikus centrumának nevezzük. i N s i
Sonnevend tétel (1985) Tétel. Legyen a centrális út határpontja (x, s ). Ekkor x az F halmaz analitikus centruma. Bizonyítás. Legyen x F tetszőleges, és s = s( x). Induljunk ki a 0 = ( x x(µ)) T ( s s(µ)), összefüggésből. A centrális út tulajdonságaival foglalkozó tétel bizonyításában leírtakhoz hasonlóan az alábbi összefüggésre jutunk: x i x i B i + i N Mivel x i > 0 i B és s i > 0 i N, alkalmazhatjuk a számtani mértani közép közti egyenlőtlenséget: ( ) 1 ( n x i s i x i s 1 x i i N i n x + ) s i i B i s = 1. i N i Így i B i B i N s i s i = n. x i s i x i i B i N s i
Az optimális megoldáshalmaz jellemzése Az x F vektorra pontosan akkor igaz, hogy x F, ha az x N = 0 és s B = 0 teljesül. Tetszőleges x F optimális megoldásra fennáll az x s(x) = 0 és x + s(x) 0 összefüggés. Definiáljuk az (SP ) feladat kondíciószámát, amely az F optimális halmazon a nemnulla koordináták nagyságrendjét jellemzi, azaz σsp x = min max i B x F {x i}, ha B +, különben és σsp s = min max i N x F {s i}, ha N +, különben Az (SP ) feladat kondíciószáma: σ SP := min{σ x SP, σs SP } = min i B N max x F {x i + s i }
Egy segédállítás Az x IR n tartója a supp(x) = {j I : x j > 0} halmaz, ahol I = {1, 2,..., n}. Lemma. Tekintsük a következő megengedettségi feladatot M = {x IR n : Ax = b, x 0}, ahol az A IR m n mátrix és a b IR m, b 0 vektor és tegyük fel, hogy M = halmaz és az A mátrixnak nincsen azonosan nulla oszlopa. Legyen x M olyan vektor, amely esetén supp( x) minimális. Ekkor az {a j : j supp( x)} = {a j : x j > 0, j I} vektor rendszer elemei lineárisan független vektorok. Bizonyítás. Indirekt, tegyük fel, hogy az {a j : j supp( x)} vektorok lineárisan összefüggők. Mivel az x 0 vektor, ezért a supp( x) > 0. Ekkor létezik z IR n, z 0, úgy, hogy z j a j = 0 és z k = 0, ha k supp( x), azaz A z = 0. j supp( x) Nyilván x + ε z M, bármely ε IR esetén. Sőt, megválasztható az ε > 0 úgy, hogy supp( x + ε z) = supp( x) legyen, és x j + ε z j > 0, ha j supp( x). Mivel a z 0, ezért létezik j supp( x) úgy, hogy z j < 0, vagy z j > 0. Ekkor pedig az { ε = min x } ( { j : z j < 0 > 0 ε = max x } ) j : z j > 0 < 0 z j z j esetén a supp( x + ε z) < supp( x) ellentmond annak feltevésnek, hogy a supp( x) minimális.
Kondíciószám becslésére szolgáló lemma Lemma. Tekintsük a következő megengedettségi feladatot M = {x IR n : Ax = b, x 0}, ahol az A Z m n mátrix és b Z m, b 0 vektor. Legyen az M halmaz korlátos és tegyük fel, hogy van szigorúan pozitív vektora. Ekkor bármely i I index esetén max x 1 i. x M n a j Bizonyítás. Az M halmaz korlátos, ezért az A mátrixnak nem lehet azonosan nulla oszlopa. Két eset lehetséges: 1. eset: rang(a) = m (így szükségképpen m n). Az M halmaz korlátosságát és belsőpont létezését is figyelembe véve, bármely rögzített i I index esetén létezik x M úgy, hogy x i = max x i > 0. x M Az általánosság korlátozása nélkül feltehető, hogy x bázis megoldás, és jelölje B a bázis mátrixot. Ekkor a Cramer-szabály miatt x i = det(b i) det(b) > 0, ahol a B i mátrixot a B mátrixból úgy nyertük, hogy az i. változóhoz tartozó oszlop helyére a b vektort raktuk be. Az x i > 0 feltétel és az egészértékű adatok miatt det(b i ) 1. Másfelöl det(b) det(b) n a j a j j=1 j supp( x) egyenlőtlenségeket nyerjük, a Hadamard-egyenlőtlenség alkalmazásával. j=1
Az eddigiek alapján Lemma (bizonyítás folytatása) max x i = x i = det(b i) x M det(b) = det(b i) det(b) 1 det(b) 1. n a j 2. eset: q = rang(a) < m. A redundáns feltételek elhagyásával egy A Z q n, b Z q feladatot kapunk, ahol a mátrixunk már teljes rangú, azaz az első esethez jutottunk. Vegyük észre, hogy a j a j így a második esetben is igaz az állításunk. (j = 1, 2,..., n), Tétel. Legyen adott az (SP ) feladat, melyre teljesül a belső pont feltétel. Ha az M mátrix és a q vektor racionális értékű, akkor az (SP ) feladat kondíciószámára a következő alsó becslés teljesül: j=1 σ SP 1 n m j j=1 Bizonyítás. Tegyük fel, hogy a (B, N) partíciót ismerjük, ekkor s B s N = M BB M NB M BN M NN x B x N + q B q N
Tétel bizonyítása (folytatás) Legyen x F, azaz q T x = 0, sőt az (x, s) szigorúan komplementáris megoldás pár. Továbbá felhasználva a (B, N) partíció definícióját (x N = 0) kapjuk, hogy q T B x B = 0. Figyelembe véve a szigorú komplementaritást x B > 0, így szükségszerűen q B = 0. Ezeket felhasználva a fenti rendszerünk a következő alakú: 0 = M BB M BN x B + 0 0 = M BBx B s N M NB M NN 0 q N s N M NB x B + q N Tehát M BB M NB 0 BN I NN 0 B x B = x B 0, x N = 0, s B = 0, s N 0 s N q N Az utóbbi rendszer éppen az F leírása, ami nem üres és tartalmaz szigorúan komplementáris megoldást, így az A = M BB M NB 0 BN I NN választással alkalmazhatjuk az előző lemmát. Tehát max x i x F j B s N 0 B, y = x B, b = q N 1, bármely i B, és max m j s i x F Ebből következik, hogy σ SP 1 m j 1 n m j j B j=1 j B 1, bármely i N. m j
A változók mérete a centrális út mentén Lemma. Bármely (x(µ), s(µ)) C, µ > 0 esetén igazak az alábbi egyenlőtlenségek: x i (µ) σ SP n i B, x i (µ) nµ σ SP i N, s i (µ) nµ i B, s i (µ) σ SP σ SP n i N. Bizonyítás. Legyen x F tetszőleges. Ekkor az ortogonalitási tulajdonság miatt (x(µ) x ) T (s(µ) s ) = 0, azaz x(µ) T s + s(µ) T x = n µ. Amiből következik az x i (µ) s i x(µ) T s n µ, 1 i n. Mivel s i σ és x i(µ) s i (µ) = µ, minden i N esetén, így x i (µ) nµ s nµ és s i (µ) σ SP i σ SP n, i N. A többi korlát hasonlóan bizonyítható. Definíció. Legyen (x(µ), s(µ)) C, µ > 0. Ekkor az x i (µ) koordinátát nagynak mondjuk, ha i B, illetve az s i (µ) koordinátát nagynak mondjuk, ha i N. Ellenkező esetben kicsinek nevezzük. Következmény. Ha µ < σ2 SP n centrális út paraméterhez ismert egy (x(µ), s(µ)) C megoldás, akkor meghatározhatjuk a 2 (B, N) partíciót. Bizonyítás. A megadott µ érték mellett nµ σ < σ n teljesül, így a következő szétosztás egyértelmű és megfelelő B := {i : x i (µ) σ SP n } és N := {i : s i(µ) σ SP n }
Két lemma Lemma. Legyen a D IR n n pozitív definit, és az M IR n n ferdén szimmetrikus mátrix. Ekkor a D + M és az I + DMD pozitív definit mátrixok. Bizonyítás. Bármely x IR n, x 0 vektor esetén az x T (D + M) x = x T D x + x T M x = x T D x > 0, és x T (I + DMD) x = x T x + x T DMD x = x T x + (x T D) M (D x) = x T x > 0. Lemma. Legyenek A, B IR n n pozitív definit mátrixok. Ekkor az A 1 B IR n n is pozitív definit mátrix. Bizonyítás. Legyen A 1 B mátrix λ sajátértékéhez tartozó sajátvektora q IR n, azaz A 1 Bq = λq. Ekkor Bq = λaq. Szorozzuk meg balról q T vektorral, adódik a q T Bq = λq T Aq Mivel A és B pozitív definit, és q 0, ezért q T Aq > 0 illetve q T Bq > 0 és így λ = qt Bq q T Aq > 0
Csökkenési irány meghatározása Tekintsünk az (SP ) feladatot, és legyen x F 0, s = s(x) > 0. Keressük a ( x, s) IR 2n : M x + s = 0 x + x, s + s 0 Szeretnénk ha: 1. x + = x + x > 0 és s + = s + s > 0, és 2. csökkenjen a dualitásrés is. Az új dualitásrés értéke: q T x + = (x + ) T s + = (x + x) T (s + s) = x T s + s T x + x T s + ( x) T s = = x T s + s T x + x T s = q T x + s T x + x T s. A dualitásrés csökkenésének a feltétele az, hogy q T x + < q T x, azaz s T x + x T s < 0. Ebben az esetben, azt mondjuk, hogy a ( x, s) IR 2n csökkenési irány. A csökkenési irány keresését, mint optimalizálási (lineáris programozási) feladat is megfogalmazhatjuk min {s T x + x T s} M x + s = 0 (IF ) x + x 0, s + s 0 Az (IF ) az eredeti feladattal azonos feladatosztályba tartozik! Dikin (1967) ötlete: Keressünk egy könnyebben megoldható feladatot, amely valamekkora dualitásréscsökkenést azért biztosít. Tegyük ezt úgy, hogy a pozitivitási megkötést relaxáljuk. A közelítést egy (konvex) zárt ellipszoiddal képzeli el.
Dikin ellipszoid Dikin ellipszoid: E D := { (x + x, s + s) IR 2n : F 0 s := {(x, s) IR 2n : x F 0, s > 0} x x + s s 1} Ekkor Fs 0 E D, mert (x, s) Fs 0 int E D. Belátható, hogy Fs 0 E D kompakt halmaz. Legyen (x, s) Fs 0 E D, ekkor 1 x x + s s = s x + xm x xs = (XS) 1 (S + XM) x = S 1 (X 1 S + M) x. Az S 1 (X 1 S + M) pozitív definit mátrix, ezért az f( x) = S 1 (X 1 S + M) x szigorúan konvex, kvadratikus függvény, azaz { x IR n : S 1 (x 1 S + M) x 1} kompakt halmaz. Az (IF) feladat relaxálható a következő módon: min {s T x + x T M x} S 1 (X 1 S + M) x 1 (IF ) Az (IF ) lineáris célfüggvény minimalizálása (szigorúan) konvex, kompakt, nemüres halmaz felett, és így a Weierstrass tétele miatt létezik optimális megoldása. Az (IF ) helyett tekinthetjük az min {s T x + x T s} M x + s = 0 (SF ) feladatot. x x + s s 1
A segédfeladat átskálázása Legyen µ := xt s x xs n, d := s, u := µ. Ekkor xs = µu és d 1 x = µu = ds. Vezessük be a p x és p s vektorokat úgy, hogy d 1 x = µp x és d s = µp s. Ekkor x x = d 1 x d 1 x = µpx µu = p x u és s s = d x dx = µps µu = p s u x azaz x + s s = p x + p s. u Bevezetve a p := p x + p s jelölést illetve p u = x x + s s, s x + x s = (sd)(d 1 x) + (xd 1 )(d s) = µu µp x + µu µp s = µup Tehát az (SF ) átskálázott alakja, rögzített µ paraméter mellett min µu T p p u 1 felhasználva a p := p u behelyettesítést min µ(u2 )T p p 1 adódik. A segédfeladat utolsó alakja, egy lineáris függvény minimalizázlása, egy gömb felett, tehát létezik egyértelmű minimuma: p = u2 u3 u 2, azaz p = u 2.
A ( x, s) csökkenési irány meghatározása 0 = M x + s = MD(D 1 x) + D 1 (D s) = µ (MD p x D 1 p s ), tehát p s = DMD p x, és ekkor p = p x + p s = (I + DMD) p x. Mivel az I + DMD pozitív definit mátrix, így p x = (I + DMD) 1 p és p s = DMD(I + DMD) 1 p. Figyelembe véve a d 1 x = µp x és d s = µp s összefüggéseket adódik. x = µd(i + DMD) 1 p és s = µmd(i + DMD) 1 p Feladat. Bizonyítsa be, hogy a Használja fel a D mátrix és a p vektor definícióját. x = (S + XM) 1 x2 s 2 x s. Az így kapott ( x, s) vektort Dikin iránynak nevezzük. Ezt meglépve a dualitásrés csökkenése: µ(u 2 ) T p = µ(u 2 ) T ( u2 u 2 ) = 2 µ u2 u 2 = µ u2 = µ xs µ = xs.
Input: Dikin féle affin skálázású algoritmus megállási paraméter: ε > 0 lépés hossz paraméter: α, 0 < α 1 induló megoldás: x 0 F 0, s(x 0 ) > 0, kezdeti dualitásrés: x T s. Begin Legyen x := x 0, s := s(x); while x T s ε do begin end. x := (S + XM) 1 x2 s 2 x s ; x := x + α x, s := s(x); Számítsuk ki az x T s dualitásrést; end centralitási mértéke: legyen x F 0, s = s(x) > 0, definiáljuk a δ(x) = max(x s(x)) min(x s(x)) = max u2 min u 2 1 számot. A δ(x) = 1 pontosan akkor teljesül, ha x F 0 : x s(x) = µ e.
Dualitás rés csökkenése megengedett α lépéshossz: ha az x + α x > 0, és s + α s > 0. Lemma. Ha az α lépéshossz megengedett, akkor (x + ) T s + (1 n α ) x T s. Bizonyítás. Mivel az x + = x + α x = d µ u + α d µ p x = µ d (u + α p x ) és s + = s + α s = µ d 1 (u + α p s ), ezért az x + s(x + ) = (x + α x) (s + α s) = µ (u + α p x ) (u + α p s ) = µ (u 2 + α (p x + p s ) u + α 2 p x p s ). Figyelembe véve a p = p x + p s = u3 u 2 összefüggést x + s(x + ) = µ (u 2 α Mivel az α megengedett lépéshossz ezért u4 u 2 + α2 p x p s ) u 2 α adódik. u4 u 2 + α2 p x p s > 0. Az M mátrix ferdén szimmetrikus, ezért p T x p s = e T (d 1 x d s) 1 µ = 1 µ ( x)t s = 0. Számítsuk ki az új dualitásrésnek és a µ paraméternek a hányadosát (x + ) T s + µ = e T u 2 α et u 4 u 2 + α2 p T x p s = u 2 α u 2, ahol figyelembe vettük a p x és p s vektorok ortogonalitását.
A lemma bizonyítása A Cauchy-Schwarz egyenlőtlenség alapján behelyettesítve u 2 = 1 n e u 2 et u 2 n = u 2 n, (x + ) T s + = µ ( u 2 α u 2 ) µ (1 α n ) u 2 = (1 α n ) x T s. Legyen τ > 1, τ IR és x F : δ(x) τ. Továbbá legyen u := x s µ ekkor δ(x) = max u2 min u 2 τ max u2 τ min u 2 összefüggésből következik, hogy létezik τ 1, τ 2 > 0 és τ 2 = ττ 1, amelyekre τ 1 e u 2 τ 2 e. Állítás. p x p s 1 4 p x + p s 2 = p 2 4
Az állítás igazolása Bizonyítás. Írjuk fel a p x p s szorzatot a következő alakban p x p s = 1 ( (px + p s ) 2 (p x p s ) 2) 4 ekkor triviális alsó és felső becslések nyerhetők 1 4 (p x p s ) 2 p x p s 1 4 (p x + p s ) 2. Mivel a p x és a p s vektorok ortogonálisak, ezért p x + p s 2 = p x p s 2. A p x p s 1 4 p x + p s 2 e, hiszen, bármely i indexre igaz a következő egyenlőtlenség (p x ) i (p s ) i 1 4 ((p x) i + (p s ) i ) 2, tehát max ((p x ) i (p s ) i ) 1 i 4 n ((p x ) i + (p s ) i ) 2, i=1 teljesül, ami így is írható p x p s 1 4 p x + p s 2 e = 1 4 p x + p s 2 = p 2 4, ahol az utolsó elötti egyenlőség a végtelen norma definíciója miatt teljesül, míg az utolsó a p vektor értelmezése miatt igaz.
Feltételek a lépéshossz megengedettségére Lemma. Legyen τ IR, τ > 1. Tegyük fel, hogy x > 0, s := s(x) > 0, x F és δ(x) τ. Ekkor bármely α lépéshossz amely kielégíti az α u2 2τ 2 és α < 4τ 1 u 2 egyenlőtlenségeket, megengedett lépéshossz és az x + := x + α x vektorra δ(x + ) τ. Bizonyítás. Mivel x + s(x + ) = µ (u 2 α u4 u 2 + α2 p x p s ) a baloldalon zárójelben lévő első két tagjában az u 2 vektor helyett egy t változót írva a t2 t t α u 2 függvényt nyerjük. Az α értékére kirótt első felsőkorlát alapján a függvény növekvő a t [0, τ 2 ] intervallumon, mert az f (t) = 1 2α t u 2 0 egyenértékű az α u2 2t feltétellel, amely igaz a lemmában szerepelő első felsőkorlát miatt. Alkalmazzuk ezt a leképezést az u 2 vektor minden komponensére, ekkor ( τ 1 α τ 1 2 ) ( u 2 e u 2 α u4 u 2 τ 2 α τ 2 2 ) u 2 e, és így
A lemma bizonyítása (folytatás) (( µ τ 1 α τ 1 2 ) ) ) ( u 2 e + α 2 p x p s µ (u 2 α u4 u 2 + α2 p x p s µ τ 2 α τ 2 2 ) u 2 + α2 p x p s azaz x + s(x + ) vektorra alsó és felső korlátot kaptunk. Nyiván, ha az α megengedett lépéshossz, akkor δ(x + ) τ, azaz max (u + ) 2 τ min (u + ) 2, ehhez pedig elegendő belátni, hogy a következő egyenlőtlenség teljesül τ (( τ 1 α τ 1 2 ) ) ( u 2 e + α 2 p x p s > τ 2 α τ 2 ) 2 u 2 e + α 2 p x p s Másfelöl, ha az előző egyenlőtlenség teljesül akkor az α nyilván megengedett lépéshossz. Mivel a µ > 0, ezért az előző egyenlőtlenség teljesülése esetén igaz a τ (( τ 1 α τ 1 2 ) ) ( u 2 e + α 2 p x p s > τ 1 α τ 2 ) 1 u 2 e + α 2 p x p s és mivel τ > 1 és ezért tudjuk, hogy ( τ 1 α τ 1 2 ) u 2 e + α 2 p x p s > 0 azaz x + s(x + ) nem tünhet el egyetlen olyan α értékre sem, amely kielégíti a korlátokat, és ekkor α megengedett lépéshossz. Tehát azt kell megmutatni, hogy az α kielégíti az (A) összefüggést. Azaz ττ 1 e α ττ2 1 u 2 e + τα2 p x p s > τ 2 e α τ 2 2 u 2 e + α2 p x p s, teljesül, mivel τ 2 = ττ 1 ezért egyszerűsíteni lehet a kifejezést és α > 0 miatt α számmal elosztva az egyenlőtlenség mindkét oldalát a reláció iránya nem változik meg. (A)
Bizonyítás (vége) Átrendezés után a következő egyenlőtlenséget nyerjük τ 2 2 ττ2 1 u 2 e + α(τ 1)p x p s > 0. A baloldali kifejezés első összegének a számlálóját átalakíthajuk az alábbi módon ( ) τ2 2 ττ1 2 = τ2 2 τ2 τ 1 τ 2 = 1 τ 1 τ 2 = (τ 1)τ 1 τ 2, τ 1 ahol az első és az utolsó azonosságnál a τ definícióját használtuk. Ekkor az előző egyenlőtlenséget eloszthatjuk (τ 1) kifejezéssel és az egyenlőtlenség iránya nem változik meg, mert τ > 1 τ 1 τ 2 e u 2 + αp xp s > 0. (B) Mivel a p T x p s = 0, ezért a p x p s 0 nem lehet igaz. Az előző Állítás miatt p x p s 1 4 p x + p s 2 = p 2 4 illetve p = u 3 u 2 u u 2 u 2 = u τ 2. A (B) egyenlőtlenségben szerepelő vektorok végtelen normáját véve, továbbá alkalmazva az előző két becslést, először az alábbi egyenlőtlenséget τ 1 τ 2 u 2 α p 2 4 > 0, majd pedig a következő összefüggést kapjuk τ 1 τ 2 u 2 ατ 2 4 > 0, amelyik ekvivalens az α értékére adott második felsőkorláttal.
Dikin féle affin skálázású algoritmus a ferdén szimmetrikus feladatra Tétel. Legyen τ := max(2, δ(x 0 )) és α = 1/(τ n). Ha n 2 akkor a Dikin féle affin skálázású algoritmus a ferdén szimmetrikus lineáris programozási feladatot legfeljebb τn log qt x 0 ε lépésben megoldja. A megoldás x F, amelyre δ(x) τ és q T x ε. Bizonyítás. Az x 0 F 0 induló megoldásra δ(x 0 ) τ összefüggés teljesült. Az előző lemma alapján a lépéshossz megválasztható úgy, hogy minden egyes lépésben az új megoldás pozitív, megengedett megoldás legyen és a centralitás mértéke τ értékénél kisebb maradjon. Azt kell megmutatni, hogy a tétel feltételeiben megadott α érték kielégíti a lemmában adott korlátokat. Mivel n 2 ezért α = 1 τ n = τ 1 τ 1 n τ 2 n 2τ 2 = τ 1e 2τ 2 u2 2τ 2, ahol felhasználtuk azt is, hogy 0 τ 1 e u 2. Az u 2 τ 2 n miatt 4τ 1 u 2 4τ 1 τ 2 n = 4 τ n > α adódik, azaz a tétel feltételeiben megadott lépéshossz megengedett. Az induló megoldásnál a célfüggvény értéke q T x 0 volt. Tudjuk, hogy a dualitás rés minden lépésben (1 1/(nτ)) nagyságrenddel csökken. Ahhoz, hogy a célfüggvény k lépésben az ε érték alá csökkenjen, ( 1 1 ) k q T x 0 ε kell, hogy teljesüljön. nτ
Tétel bizonyítása Szeretnénk meghatározni a k értékét. Vegyük a logaritmusát az előző kifejezésnek, ekkor ( k log 1 1 ) + log(q T x 0 ) log ε. nτ Mivel ezért Ebből következik a tétel állítása. ( log 1 1 ) 1 nτ nτ, k nτ log qt x 0. ε Példa. Tekintsük a következő ferdén szimmetrikus lineáris programozási feladatot: 0 0 1 1 1 z 1 0 z 1 0 0 0 0 1 z 2 0 z 2 min 5 z 5 : 1 0 0 2 0 z 3 + 0 0, z 3 0 1 0 2 0 2 z 4 0 z 4 1 1 0 2 0 5 Természetesen z = e és s(z) = e megoldása a feladatnak. z 5 z 5
Példa Megmutatható, hogy a z = (3/2, 1, 3/4, 3/4, 0) T megengedett megoldása a feladatnak és az s( z) = (0, 0, 0, 0, 1) T az eltérés változó. A feladat célfüggvényértéke q T z = 0, tehát a z optimális megoldása a feladatnak, sőt z + s( z) = (3/2, 1, 3/4, 3/4, 1) T > 0, azaz a ( z, s( z)) szigorúan komplementáris optimális megoldás. Legyen τ = 2 és n = 5, ekkor az algoritmus legfeljebb 10 log 5 ε iterációban megoldja a lineáris programozási feladatot. Ha ε = 10 2 akkor log 5/ε = log 500 = 6.2146, és így az iterációk számára 63 adódik, mint felsőkorlát. Amennyiben a megadott ε pontossággal oldjuk meg a feladatot akkor 58 iterációra lesz szükségünk. A megoldásunk ẑ = (1.5985, 0.0025, 0.7998, 0.8005, 0.0020) T és q T ẑ = z 5 = 0.0020 lesz és az eltérés változónk s(ẑ) = (0.0012, 0.8005, 0.0025, 0.0025, 1.0000) T. Megfigyelhető, hogy a z 2 és a z 5 változók értéke kicsi lesz, ebből arra következtethetünk, hogy a B = {1, 3, 4} és az N = {2, 5} lesz.
A (B,N) partíció meghatározása a centrális út egy környezetében Legyen adott x 0 F 0, s 0 > 0, amelyek esetén (x 0 ) T s 0 = q T x 0 = nµ 0 = n teljesül, azaz a µ 0 = 1. Legyen τ = 2, ekkor a Dikin féle affin skálázású algoritmus a ferdén szimmetrikus, önduális lineáris programozási feladatnak 2n log n ε iterációban előállít egy x F 0 : δ(x) 2 és q T x ε tulajdonságú pontját. Lemma. Legyen x F 0, s > 0, amelyekre δ(x) τ. Ekkor x i σ SP τn i B, x i xt s σ SP i N, s i xt s i B, s i σ SP σ SP τn i N, ahol σ SP a feladat kondíciószáma. Bizonyítás. Mivel a τ > 1, tehát létezik τ 1, τ 2 > 0, hogy τ 2 = ττ 1 és τ 1 x i s i τ 2 teljesül bármely i indexre. Legyen x F, s > 0 olyan, amelyre x i maximális, azaz x i σ SP > 0, ezért i B. Felhasználva az x komplementaritását és az (x x)(s s) = 0 egyenlőséget, adódik, hogy x T s + x T s = x T s. Figyelembe véve a vektorok nemnegativitását kapjuk a lemma harmadik állítását s i x i s T x x T s + x T s = x T s s i xt s xt s. x i σ SP Ezt felhasználva egyszerűen adódik az első egyenlőtlenség x T s nτ 2 τ 1 x i s i x i x i x i σ A második és a negyedik állítás hasonlóan bizonyítható. x i τ 1 σ SP n τ 2 = σ SP n τ.
Állítások Lemma. Legyen x F 0, s > 0, melyekre δ(x) τ. Ha x T s σ2 SP τ n, akkor a (B, N) partíciója az (SP ) feladatnak a következő módon kapható meg: B := {i : x i > s i } és N := {i : x i < s i }. Bizonyítás. A kicsi és nagy változókat szét tudjuk választani, ha x T s σ SP < σ SP τn, azaz xt s < σ2 SP τ n. Tehát a B és N halmazok jól definiáltak, és az indexhalmaz partícióját adják (előző lemma). Következmény. Legyen x 0 F 0, s 0 > 0, melyekre δ(x 0 ) τ és (x 0 ) T s 0 = n, τ = 2. Ekkor a Dikin féle affin skálázású algoritmus a ferdén szimmetrikus, önduális lineáris programozási feladat esetén 2n log 2n2 σ lépésben megtalál egy olyan x F 0 megoldást, amely esetén (B, N) partíciót meg tudjuk határozni. 2 Tétel. Legyen F 0. Ekkor x = 0 az (SP ) feladat egyetlen optimális megoldása akkor és csak akkor, ha q > 0. Ez az eset pontosan akkor fordul elő, ha B =. Bizonyítás. Ha B =, akkor x = 0 optimális, sőt szigorúan komplementáris is az F 0 mellett, azaz s(x) = q > 0 kell hogy teljesüljön. Másfelöl s(0) = q és s(0) > 0 miatt q > 0, így x = 0 egyértelmű optimum.
Az ε optimális megoldás tulajdonságai Tekintsünk egy olyan x F 0, s(x) = s > 0 ε-optimális megoldást, amely esetén az ε kellően kicsi, akkor a (B, N) partíció ismert, így az egyenletrendszerünk a következő alakú lesz s B s N = M BB M NB M BN M NN x B x N + q B q N Az optimális megoldás meghatorázása szempontjából a B = eset triviális (előző tétel), ezért tegyük fel, hogy B, ekkor az optimalitás miatt (korábban már beláttuk) q B = 0 ekkor az első egyenlet sb = M BB x B + M BN x N + q B alakú, tehát M BB x B = s B M BN x N azaz felírtuk az egyenletet olyan formában, hogy a baloldalon un. nagy változók (x B ), míg a jobboldalon kicsik (x N, s B ) állnak. Ha az x F, s = s( x), olyan optimális megoldás, amely még szigorúan komplementáris is, akkor x N = 0, s B = 0, és x B > 0, miatt az M BB x B = 0, azaz az M BB mátrix szinguláris, tehát 0 = M BB ξ = s B M BN x N ( ) egyenlet megoldása, nem egyértelmű és egy lehetséges megoldása a ξ = x B is. Legyen a ξ tetszőleges megoldása a ( ) egyenletnek, ekkor definiálhatjuk, az x B = x B ξ, x N = 0 megoldást (x F 0 ε optimális megoldás) és s = s(x) eltérésváltozót, ahol s B = M BB x B + M BN x N + q B = M BB (x B ξ) + q B = 0. Tehát az (x, s) komplementáris megoldás, de nem feltétlenül pozitív vektorok.
Optimális megoldás meghatározása ε optimális megoldásból Az (x, s) pozitivitásához szükséges x B = x B ξ > 0, illetve s N = M NB x B + M NN x N + q N = M NB x B M NB ξ + q N = s N M NN x N M NB ξ > 0 ami egyben az optimalitás szükséges feltétele is, hiszen nemnegatív és komplementáris megoldás egyben optimális megoldás is. Tehát az ε > 0 alkalmas (kicsi) értéke mellett elő tudjuk állítani az (x, s) vektort, az (SP ) feladat optimális megoldását, egy x F 0, s = s(x) > 0, ε optimális megoldásból. Vezessük be a következő jelöléseket: w := M, B := {i B : M Bi oszlopvektor nem azonosan nulla }. Definiáljuk a π B IN számot a következő módon 1, ha B = π B := M Bj, j B különben Lemma. Legyen adott egy egész együtthatós (SP ) feladat. Legyen x F 0, s > 0, melyekre δ(x) τ = 2. Ha x T σsp s ε, ahol 2 ε = 6 n w, 2 B π B akkor a kerekítési eljárás O( B 3 ) aritmetikai művelettel előállítja az (SP ) feladat egy szigorúan komplementáris megoldását.
A lemma bizonyítása Bizonyítás. A definíciókból közvetlenül következik, hogy w, π B, B 1. A pontunk a centrális út τ környezetében van, valamint σsp 2 ε = 6 n w < σ2 SP 2 B π B 2n = σ2 SP τ n, azaz az ε elegendően kicsi ahhoz, hogy a (B, N) partíciót meg tudjuk határozni. Mivel a partíció ismert, az M BB ξ = s B M BN x N egyenletet fel tudjuk írni. Megmutatjuk, hogy létezik olyan ξ megoldása, amelyre x B ξ > 0 és s N = s N M NN x N M NB ξ > 0 teljesül. Két eset lehetséges: (i) eset: M BB = 0, ekkor ξ = 0, azaz s N M NN x N > 0 kell hogy teljesüljön. Ha M NN = 0, akkor a feltétel mindig igaz. Ellenkező esetben (M NN 0) elegendő az s N σ SP 2n e > M NN x N egyenlőtlenséget belátni. Az első része az N halmaz definíciója miatt teljesül. A végtelen norma tulajdonsága miatt M NN x N M NN x N w ε σ A lemmában megadottak szerint ε < σ2 SP 2 n w, tehát w ε σ SP is igaz. (ii) eset: M BB 0. Oldjuk meg az M BB ξ = s B M BN x N eljárás). < σ SP 2n, azaz az egyenlőtlenség második fele egyenletet Gauss Jordan eliminációval (ez a kerekítési Ha M BB szinguláris mátrix, akkor határozzuk meg az M BB maximális reguláris részmátrixát, jelölje ezt az M B1B 2 mátrix. Majd ezek után az M B1B 2 ρ = s B1 M B1N x N egyenlet megoldását keressük.
A lemma bizonyításának a folytatása Bármely i B esetén a ρ i értékét a Cramer szabállyal is kiszámíthatjuk, azaz ρ i = det(m (i) B 1B 2 ) det(m B1B 2 ), ahol M (i) B 1B 2 az a mátrix, amelyet úgy kapunk, hogy az M B1B 2 mátrix i. oszlopát a jobb oldal vektorrával kicseréljük. Mivel az M B1B 2 mátrix egész számokból áll, ezért det(m B1B 2 ) 1. A Hadamard egyenlőtlenséget használva ρ i det(m (i) B 1B 2 ) s B1 M B1N x N M Bj s B1 M B1N x N π B. j B 2\{i} Felhasználva a normák tulajdonságait és az eddigi eredményeket további becsléseket adhatunk s B M BN x N B s B M BN x N B ( s B + M BN x N ) ( ε B + ε ) M BN ε 2 w ε B B (1 + w). σ SP σ SP σ SP σ SP Ezt felhasználva a ρ komponenseire a következő becslést kapjuk: ρ i 2 w ε B π B σ SP, i B 2. Legyen ρ i, ha i B 2 ξ i := 0, különben
A lemma bizonyításának a folytatása II. Egyszerűen ellenőrizhető, hogy ξ a megadott egyenlet megoldása, így már csak a két pozitivitási feltételt kell ellenőrizni. Könnyen létható, hogy az x B ξ > 0 feltétel az i / B 2 indexeknél mindig teljesül. A becsléseket felhasználva az x B ξ > 0 elégséges feltétele az i B 2 indexekre σ SP 2 n 2 w B πb ε > 0, σ SP ám ez a lemmában megadott ε értékre teljesül, ugyanis σ 2 SP 4 n w B π B > ε. Az s N M NN x N M NB ξ > 0 feltétel helyett pedig az erősebb σ SP 2 n M NN x N M NB ξ > 0 teljesülését vizsgáljuk. Ekkor M NN x N M NN x N w ε σ SP, és M NB ξ M NB ξ w 2 w B πb ε σ SP adódik. A felső becsléseket beírva egy (még) szigorúbb feltételt kapunk: σ SP 2 n w ε 2 w2 B πb ε > 0. σ SP σ SP
Dikin féle algoritmus lépésigénye pontos megoldás előállításához Mivel ε = σ 2 SP 6 n w 2 B π B < σ 2 SP 2 n w (1 + 2 w B π B ), ezért w σ SP ( 1 + 2 w B π B ) ε < σ SP 2 n, azaz a megadott ε érték mellett teljesül a szigorúbb feltétel is, tehát igaz az eredetileg kitűzött pozitivitási feltétel. Figyelembe véve a Gauss Jordan elimináció lépésszámát a lemmát beláttuk. Tétel. A Dikin féle affin skálázási algoritmussal, a ferdén szimmetrikus, önduális lineáris programozási feladatot, egy olyan x 0 F 0 (s 0 > 0) megengedett megoldásból indulva, amelyre δ(x 0 ) τ = 2 és (x 0 ) T s 0 = n teljesül, előállítható egy olyan x F 0 (s > 0) ε optimális megoldás, amelyből a kerekítési eljárással (Gauss Jordan eliminációs módszer egy speciális lineáris egyenletrendszerre) szigorúan komplementáris megoldás számolható ki. Az (x, s) ε optimális megoldás előállításához iteráció szükséges. 2 n log 6 n2 w 2 B π B σ 2 SP
A kanonikus lineáris programozási feladat Tekintsük az alábbi primál- és duál lineáris programozási feladat párt (P ) min { c T x : Ax b, x 0 }, (D) max { b T y : A T y c, y 0 }, ahol A IR m k mátrix, b, y IR m és c, x IR k vektorok. Az előző feladat párt, kanonikus lineáris programozási feladat párnak nevezzük. Jól ismert, hogy elemi transzformációk segítségével tetszőleges LP feladat egy minimális kanonikus alakba transzformálható. Ezen transzformációk az alábbiak: ha egy változónak alsó és felső korlátja is van, akkor ezek közül az egyiket általános egyenlőtlenségnek tekintjük; vezessünk be eltérés változókat azért, hogy egyenlőséges feltételeket kapjunk; az alsó vagy felső korlátos változókat toljuk úgy el, hogy a korlát nulla legyen és amennyiben szükséges, helyettesítsük a változót a minusz egyszeresével úgy, hogy nemnegatív változókat kapjunk; elimináljuk a szabad változókat; Gauss elimináció segítségével elimináljuk a függő feltételeket; az aktuális bázis segítségével felírhatjuk a kanonikus feladatot. Vezessük be a primál- és duál megengedett megoldások halmazát P = {x IR n : A x b, x 0} illetve D = {y IR m : A T y c, y 0}.
Gyenge dualitás tétel A kanonikus LP feladatra a gyenge dualitás tétel egyszerűen bizonyítható. Gyenge dualitás tétel. Legyen x P és y D, ekkor c T x b T y, ahol egyenlőség pontosan akkor áll fenn, ha x (c A T y) = 0, és y (A x b) = 0. (komplementaritási feltételek) Bizonyítás. Az x és y vektorok primál és duál megengedettségét használva kapjuk, hogy A két egyenlőtlenséget összeadva (c A T y) T x 0 és y T (Ax b) 0. (A) 0 (c A T y) T x + y T (A x b) = c T x b T y (B) a célfüggvényértékekre a a kivánt egyenlőtlenség adódik. Ha a komplementaritási feltétel teljesül, akkor az (A) egyenlőtlenségek egyenlőséggel teljesülnek, és így a (B) egyenlőtlenségben is egyenlőség áll. Megfordítva, ha a (B) egyenlőtlenségben egyenlőség van akkor az x, y, A x b és c A T y vektorok nemnegativitását is figyelembe véve, az (A) egyenlőtlenségek, egyenlőséggel teljesülnek. Ez pedig azt jelenti, hogy a komplementaritási feltételek fennállnak. Gyenge equilibrium tétel. Legyen x P és y D, olyan vektorok, amelyekre c T x = b T y teljesül. Ekkor az x a primál feladat és y a duál feladat egy optimális megoldása.
A Goldman Tucker modell Tekintsük a primál duál kanonikus lineáris programozási feladatpárt és a gyenge dualitás tétel által definiált egyenlőtlenséget a célfüggvényértékek között, azaz Ax z = b, x 0, z 0 A T y + s = c, y 0, s 0 b T y c T x ζ = 0, ζ 0, ahol bevezettük a z, s, ζ szükséges eltérés változókat. Homogenizálva az egyenleteket a Goldman Tucker feladatot kapjuk: Ax ξb z = 0, x 0, z 0 A T y +ξc s = 0, y 0, s 0 (GT ) b T y c T x ζ = 0, ξ 0, ζ 0. 0 A b y Vezessük be a következő jelölést M = A T 0 c, u = x, ekkor az alábbi b T c T 0 ξ min {0 T u : Mu 0, u 0} (SP ) (homogén) ferdén szimmetrikus, önduális lineáris programozási feladat, ekvivalens a (GT ) feladattal. Tehát azt kaptuk, hogy bármely primál duál lineáris programozási feladatból elő lehet állítani egy velük ekvivalens (SP ) feladatot.
A Goldman Tucker feladat megoldhatóságáról Tétel. Legyen adott egy primál duál lineáris programozási feladatpár. Az alábbi állítások igazak: 1. A (P ) és (D) feladatok tetszőleges (x, y) optimális megoldás párja, melyre a dualitásrés nulla, a megfelelő Goldman Tucker rendszer egy megoldását adja ξ = 1, ζ = 0 választással. 2. Ha (y, x, ξ, z, s, ζ) a Goldman Tucker rendszer egy megoldása, akkor vagy ξ = 0 vagy ζ = 0, azaz ξζ > 0 nem lehet igaz. 3. A Goldman Tucker rendszer tetszőleges (y, x, ξ, z, s, ζ) megoldása, ahol ξ > 0 és ζ = 0, a primál (P ) és duál (D) feladatok egy ( x ξ, y ξ ) optimális megoldás párját adja, amelyre a dualitásrés nulla. 4. Ha a Goldman Tucker rendszernek van olyan megoldása (ȳ, x, ξ, z, s, ζ), ahol ξ = 0 és ζ > 0, akkor vagy a (P ), vagy a (D) feladat, vagy mindkettő nemmegengedett. Bizonyítás. Az első és a harmadik állítás behelyettesítéssel könnyen ellenőrizhető. A második állítást indirekt bizonyítjuk. Ha ξζ pozitív lenne, akkor 0 < ξζ = ξb T y ξc T x = x T Ay z T y x T A T y s T x = z T y s T x 0 egyenlőtlenséget kapnánk, ami nyilvánvaló ellentmondás. Az utolsó állítás igazolásánál a ξ = 0 feltételből következik, hogy A x 0 és A T ȳ 0. Továbbá, ha ζ > 0, akkor vagy b T ȳ > 0, vagy c T x < 0, vagy mindkettő fennáll. Ha b T ȳ > 0, akkor, feltételezve, hogy a (P ) feladatnak van egy x 0 megoldása a 0 < b T ȳ x T A T ȳ 0 ellentmondáshoz jutunk. Tehát ha b T ȳ > 0, akkor (P ) nemmegengedett. Hasonlóan, ha c T x < 0, akkor a duál feladat nemmegengedettségét kapjuk.
Erős dualitás tétel Vegyük észre, hogy a Goldman Tucker feladat az alábbi alakba írható: M u 0, u 0, s(u) = M u. (GT ) szigorúan komplementáris megoldás: u s(u) = 0 és u + s(u) > 0 Goldman Tucker tétel. A Goldman Tucker egyenlőtlenségrendszernek van szigorúan komplementáris megoldása, azaz olyan megoldása, melyre u + s(u) > 0. Erős dualitás tétel. Legyen adott egy primál duál lineáris programozási feladatpár. Az alábbi két állítás közül pontosan az egyik igaz: Vagy a (P ), vagy a (D) feladat, vagy mindkettő nem megengedett. Létezik x P és y D megoldások, amelyekre c T x = b T y. Bizonyítás. A Goldman Tucker tételből következik, hogy a lineáris programozási feladatpárból származtatott Goldman Tucker rendszerének van egy szigorúan komplementáris megoldása. Egy ilyen megoldásban vagy ξ > 0, és ebben az esetben az előző tétel 3. pontjából következik, hogy létezik optimális megoldás pár nulla dualitásréssel, vagy ζ > 0 a Goldmann Tucker rendszer szigorúan komplementáris megoldásában. Az utóbbi esetben az előző tétel 4. pontja miatt (P ) vagy (D) vagy mindkettő nem megengedett.
A Goldmann Tucker tétel bizonyítása (általános eset) A Goldmann Tucker tételt már igazoltuk a belsőpont feltétel teljesülése mellett az (SP ) ferdén szimmetrikus, önduális lineáris programozási feladatokra. Legyen u = s = e. Ezek a vektorok pozitívak, de nem elégítik ki a (GT ) feladatot. Definiáljuk az r hibavektort r := e M e, és legyen λ := K + 1 = (m + n + 1) + 1. Ekkor M r e + 0 = Me + r = e. r T 0 1 λ r T e + λ 1 A fenti konstrukció alapján az (SP ) min λ ϑ : M r u + s = 0 ; u, s r T 0 ϑ ν λ ϑ ν 0 feladat, ferdén szimmetrikus, önduális lineáris programozási feladat és kielégíti a belsőpont feltételt, mivel a csupa egyesből álló vektor megengedett megoldást ad. A Goldman Tucker tétel speciális esetéből következik, hogy az (SP ) feladatnak létezik szigorúan komplementáris megoldása. Mivel az (SP ) feladat célfüggvénye a ϑ változó egy pozitív többszöröse, így a ϑ változónak minden optimális megoldásban nulla az értéke. Tehát az (u, ϑ, s, ν), ϑ = 0 szigorúan komplementáris megoldása az (SP ) feladatnak, akkor és csak akkor, ha (u, s) szigorúan komplementáris megoldása a Goldmann Tucker modellnek.