Optimalizálási eljárások MSc hallgatók számára 2 3. Előadás Előadó: Hajnal Péter 2014. február 20-27. 1. Dualizálás Tekintsük az alábbi, explicit feltételekkel megadott optimalizálási feladatot, amelyet (későbbi okok miatt) (P)-vel jelölünk: c(x)-et feltéve, hogy f i (x) 0, i = 1,..., k g j ((x) = 0, j = 1,..., l, (P) ahol x R n, c : dom(c)( R n ) R, x = (x 1,...,x n ) T, f i és g j pedig n változós valós értékű függvények. Bevezetünk egy tömör és egyszerű jelölésmódot. Legyen f 1 f =. : k i=1domf i R n R k, és g =. : l j=1domg j R n R l f k Ezen írásmóddal felírva a feladatunk az alábbi alakot ölti: g 1 g l c(x)-et Feltéve, hogy f(x) 0, g(x) = 0. Megjegyzés. Jó mindig szem előtt tartani, hogy mit takar a tömör jelölés. A fentiekben például a 0 jelek R k illetve R l -beli nulvektorokat jelentenek; de sem a nullvektorokat, sem a nullmátrixokat nem jelezzük speciálisan ezen előadásban, a 0 mindig olyan 0-t jelöl, ami értelemszerűen adódik a környezetből. A következőkben új változókat fogunk bevezetni a feltételekhez. Minden egyenlőtlenséghez tartozni fog egy λ i és minden egyenlőséghez tartozni fog egy µ i. Ezeket Lagrange-multiplikátoroknak vagy másképpen duális változónak nevezzük. Az előbbiekhez hasonlóan élni fogunk most is a vektoros jelölésmóddal: λ 1 λ =. λ k, µ = µ 1. Bevezetjük az optimalizálási feladathoz tartozó Lagrange-függvény fogalmát. Definíció. L(x; λ, µ) = c(x) + k λ i f i (x) + i=1 µ l. l µ j g j (x) = c(x) + λ T f(x) + µ T g(x). j=1 2 3-1
A Lagrange-függvény értelmezési tartománya megegyzik a kiinduló, (P) optimálizálási feladat értelmezési tartományával, amit D-vel jelöltünk. A következő észrevétel egyszerű, de fontos: Megjegyzés. Ha x lehetséges megoldás (azaz x L), továbbá 0 λ, akkor teljesül a c(x) L(x; λ, µ) egyenlőtlenség. Valóban: Mivel x L, ezért minden j-re g j (x) = 0 és így µ j g j (x) = 0. Minden i-re λ i 0, továbbá f i (x) 0, ebből λ i f i (x) 0. Ha ehhez hozzátesszük, hogy c(x) = c(x) és összegezzük az eddigieket, akkor épp az alábbi adódik: L(x, λ, µ) c(x). Tehát minden nemnegatív kordinátájú λ és tetszőleges µ-vel egy alsó becslést kapunk c(x)-re L kiértékelésével. Előnyös, ha alsó becslésünk nem függ x-től. A következő definíció alsó becslésünket csak a duális változóktól függővé teszi. Definíció (Lagrange-célfüggvény/Duális célfüggvény). c(λ, µ) = inf L(x, λ, µ). x D Vegyük észre, hogy ez is egy optimalizálási feladatot jelent, de ennek nincsenek feltételei, " a feltételek be vannak építve a célfüggvénybe". Az előző észrevételből rögtön adódik, hogy x L és λ 0 esetén c(x) c(λ, µ). Ez azért van így, mert c(x) L(λ, µ, x) c(λ, µ). Definiáljuk a (P) probléma duálisát. Definíció (Duális optimalizálási feladat). c(λ, µ)-t feltéve, hogy λ 0. (D) A duális problémát (D)-vel jelöljük, optimális értékét pedig d -gal. (Az eredeti (P) probléma a primál feladat; ennek optimális értéke p ). 1. Tétel (Gyenge dualitás tétel). p d. Bizonyítás. A korábbiak alapján nyilvánvaló. A duális feladat célfüggvénye " garantáltan szép", minimalizálási feladatként megfogalmazva a célfüggvény konvex lesz: c(λ, µ)-et Feltéve, hogy λ 0. 2. Tétel. c(λ, µ) konkáv, azaz c(λ, µ) konvex. Bizonyítás. Gyakorlaton belátjuk. Igen sokszor a gyenge dualitás tétel egyenlőséggel teljesül. Ekkor azt mondjuk, hogy erős dualitás igaz. Ez azonban nem szükségszerű. Amikor p d > 0 akkor azt mondjuk, hogy (pozitív) dualitási hézag van. 2 3-2
2. Példák dualizálásra 3. Példa (Lineáris Programozás egyenlőség és előjel feltételekkel). Feltéve, hogy c T x-et Ax = b x 0 Ebben az esetben a Lagrange-függvény: L(λ, µ, x) = c λ T x + µ T (Ax b) = (c T λ T + (A T µ) T )x µ T b = (c λ + A T µ) T x b T µ. A duális célfüggvény (λ, µ) helyen vett értékének meghatározásához egy lineáris függvény globális minimumát kell venni. Kitérő: Feladatunk az a T x + α függvény minimalizálása. Egy változós lináris függvények (globális) minimalizálása jól vizualizálható. A grafikon egy egyenes. Ha ez a grafikon egy vízszintes egyenes (függvényünk egy α konstans), akkor α a minimum. Más esetben tetszőlegesen kis értéket felvehet függvényünk. Több változó esetén hasonló a helyzet. Ha az együtthatók vektora a 0-vektor, akkor lineáris függvényünk konstans. Ha a valamelyik koordinátája (valamelyik x i együtthatója) nem 0, akkor a lineáris függvény bármilyen kicsi értéket felvehet. A kitérő után a dualizált felírása egyértelmű: c(λ, µ) = inf x R n(c λ + AT µ) T x b T µ = A duális feladat: Azaz ekvivalens módon: Azaz ekvivalens módon: b T µ, ha c λ + A T µ = 0,, c(λ, µ)-et Feltéve, hogy λ 0 b T µ-et Feltéve, hogy c λ + A T µ = 0 λ 0 b T µ-et Feltéve, hogy c + A T µ 0 különben. 2 3-3
4. Példa (Lineáris programozás egyenlőtlenség feltételekkel). c T x-et Feltéve, hogy Ax b. Kapjuk, hogy L (x, λ) = c T x + λ T (Ax b) = ( c + A T λ ) T x b T λ. Ekkor A duális feladat: c(λ) = b T λ, ha c + A T λ = 0,, különben.. b T λ-et Feltéve, hogy c + A T λ = 0 λ 0. Ekvivalens módon: b T λ-et Feltéve, hogy c + A T λ = 0 λ 0. Az előző két példában az LP feladat talán két legelterjedtebb normálalakját dualizáltuk. Mindkettő ugyanazt a problémakört formalizálja. A különböző alak miatt a dualizálás más úton haladt. Kiderült, hogy a két alak egymás duálisa. Operációkutatás tárgyból az is ismert lehet, hogy a mindig igaz gyenge dualitás mellett sokszor erős dualitás teljesül LP feladatok esetén. Az egyetlen lehetőség pozitív dualitási hézagra az, amikor p = és d = egyszerre teljesül. Azaz ha bármelyik feladatnak véges optimuma van, akkor a másiknak is, és a két optimális érték egybeesik. 5. Példa (Folyam-probléma). Emlékeztetőül felidézzük a Diszkrét matematikából tanultakat. H = ( G, s, t, c) egy hálózat, ahol G egy irányított gráf, s és t ezen gráf két kitüntetett csúcsa (forrás és nyelő), c pedig kapacitás függvény. c : E( G) R c R E( G) A folyam minden élhez egy anyagmennyiséget rendel úgy, hogy ez 0 és a megfelelő él kapacitása között legyen (kapacitás feltételek). Továbbá úgy, hogy a forrás és nyelő csúcsoktól eltérő pontokban teljesüljön az anyagmegmaradás törvénye. Keressük az f folyamot, melynek értéke maximális. Az f : E( G) R folyam-függvény leírható f R E( G), azaz x = (f(e 1 ),..., f(e m )) T R E vektorként. A kapacitások is kezelhetők vektorként. A kapacitásfeltételtek algebraizálása: 0 x c. A megmaradási törvény is algebrai alakba írhatók: e e:skex x e = 0 minden x V \s, t}-re. e:sbe 2 3-4
A célfüggvény/f folyam értéke c(x) = é(f) = e:skex e e:sbe A nyilvánvaló formalizálásba egy kis csavart" viszünk be. Tekintsük a hálózat " alábbi módosítását: G-be behúzunk egy végtelen kapacitású extra élet (kapacitás feltétel nélküli élet), amely a t-ből s-be vezet. x e. 1. ábra. Ebben a G + gráfban egy adott folyam a régi éleken maradjon meg, az e + élen pedig értéknyi anyagmennyisége legyen. Így minden csúcsban teljesül a megmaradási törvény (hálózatunk egy úgy nevezett cirkuláció). Legyen x + = ( x v) az új élnek megfelelő változóval kibővített változóvektor, azaz az új koordináta v = é(f), a folyam értéke. Jelölje A a G, illetve A + a G + gráf illeszkedési mátrixát. A folyam probléma a következő: v,-et Feltéve, hogy 0 x c, A + x + = 0. A mátrixos alakban írt lineáris egyenletrendszernek V sok egyenletet takar, a most más az összes csúcsra felírt megmaradási törvényt. A dualizáláshoz használt szokásos alak: A Lagrange-függvény: v,-et Feltéve, hogy x 0, x c 0, A + x + = 0. L(x + ; λ 1, λ 2, µ) = v + λ T 1 ( x) + λt 2 (x c) + µt A + x + }} (A T + µ)t x + }} (A T µ) T x+(µs µ t )v = ( 1 + µ s µ t )v + (λ 2 λ 1 + A T µ) T x λ T 2 c = 2 3-5
Innen a duális célfüggvény pedig λ T 2 c, ha ( 1 + µ s µ t ) = 0 és λ 2 λ 1 + A T µ = 0 c =, különben A (D) duális feladat: λ T 2 c-et Feltéve, hogy µ s µ t = 1 Az alábbiakban teszünk pár észrevételt. λ 2 = λ 1 A T µ λ 1, λ 2 0 Észrevétel. A cél, hogy minél kisebb λ 2 komponenseink legyenek, azaz a (nemnegatív) változóvektor koordinátái minél közelebb legyenek 0-hoz. Ehhez elegendő a µ komponenseket jól megválasztani. A λ 1 és λ 2 változók választása a józan ész által előírt: Ha (A T µ) i 0, akkor (λ 1 ) i = (A T µ) i az optimális választás (ekkor (λ 2 ) i = 0). Ha pedig (A T µ) i < 0, akkor (λ 1 ) i = 0 juttat a " legjobb" (λ 2 ) i -hez. Észrevétel. Létezik egész komponensű optimális hely. Ez nem egyszerű. Később a félév során bebizonyítjuk. Észrevétel. A dualizált feladat feltételrendszerének feltételeiben csak két µ koordináta különbsége szerepel. Minden uv élre (λ 1 ) v (λ 1 ) u fordul elő és az az előnyös ha ez a különbség amennyiben negatív minél közelebb legyen 0-hoz. c Ha µ R v egy lehetséges megoldás, akkor tetszőleges c konstansra µ + c. = c µ + c 1 T is az, sőt egyenértékű a kiinduló µ-vel. Ilyen eltolások miatt feltehető, hogy a µ vektorra µ s = 1 és µ t = 0 (normálás). Továbbá legyen 1 z 1 k : Z 0, 1} Z, k(z) = 0 z 0 egy " kontrakció" függvény. Ha µ lehetséges megoldás, akkor a kontrakcióval kapott µ = k µ 0-1 vektor is az és " legalább olyan jó" mint a kiinduló µ. Észrevételeink eredője: (D)-hez hozzáadhatók µ 0, 1}, µ s = 1, µ t = 0 feltételek. Ebből kiszámítható, hogy a célfüggvényben mely c e élkapacitásoknak lesz nem 0 együtthatója. Éppen a S = v V : µ(v) = 1} halmazból a T = v V : µ(v) = 0} halmazba vezető élek lesznek ilyenek (egy ilyen e élen lesz (A T µ) e = 1, amikor az optimális választás (λ 1 ) e = 0 és (λ 2 ) e = 1 értékeket oszt ki). Azaz a µ által definiált s-t vágás kapacitása lesz a célfüggvény értéke. Az új duális feladat épp a minimális kapacitású vágás problémája: 2 3-6
Feltéve, hogy C(V)-et V egy s-t vágás. A gyenge dualitás tétel éppen azt mondja, hogy minden vágás kapacitása felülről becsüli minden folyam értékét. Ennek kombinatorikus bizonyítása nagyon egyszerű volt (ahogy a gyenge dualitás tételé is). Diszkrét matematikából azt is tudjuk, hogy a két optimalizálási feladat optimális értéke közös. Azaz p = d, erős dualitás van. 6. Példa (Legkisebb négyzetek problémája). x T x-et Feltéve, hogy Ax = b, ahol x R n, A R l n, b R l. Ekkor c-t felírva: L(x; µ) = x T x + µ T (Ax b). c(µ) = inf L(µ, x) = inf x Rn x + µ T (Ax)) x R n(xt }} (A T µ) T x µ T b }} x független Az x-re vonatkozó infumumvétel olyan függvényre történik, amely x-től függő része L = x T x + (A T µ) T x. L : R n R másodfokú polinomfüggvény, differenciálható, így a differenciálszámítás eszközei alkalmazhatók a szélsőérték keresésére. L gradiense: L = grad L = 2x + A T µ. Tudjuk, hogy szélsőértéknél a gradiens értéke 0. x L = 0 akkor és csak akkor, ha x = 1 2 AT µ. A gradiens 0 volta általában még nem feltétlenül jelentene minimumot, de esetünkben egy konvex függvényről van szó, így itt biztosan minimumhely lesz. Tehát x helyére 1 2 AT µ-t beírva adódik, hogy c(µ) = ( 1 T ( µ) 2 AT 1 ) ( 2 AT µ + (A T µ) T 1 ) 2 AT µ b T µ = 1 4 µt AA T µ b T µ. A duális probléma 1 4 µt AA T µ µ T b-et Tehát a duális (D) probléma egy feltétel nélküli optimalizálási kérdés. 2 3-7
7. Példa (Maximális vágás probléma). Adott egy G egyszerű gráf. A feladat olyan V vágás keresése (csúcsok két osztályba sorolása, melyben az E(V) maximális (minél több él haladjon " keresztbe"). Először formalizáljuk/aritmetizáljuk a problémát: Egy vágást úgy írhatunk le, hogy minden csúcsra plusz vagy mínusz 1 komponenssel kódoljuk, hogy a vágás melyik oldalára esik: x 1, 1} V R V. Legyen A = A G a G szomszédsági mátrixa. Az x T Ax kvadratikus alakhoz minden e = uv él 2x u x v jozzájárulást ad. Az x u x v érték +1, ha az e él a vágás valamelyik partjára esik, és 1, ha az e él a vágás élhalmazához tartozik (keresztél). x T Ax, x R V -et Feltéve, hogy x 2 v = 1, minden v V esetén. Ez a feladat N P-nehéz probléma. Ettől természetesen képezhetjük duálisát. A duális feladat Lagrange-függvénye L(µ, x) = x T Ax + v V µ v ( x 2 v 1 ) = x T Ax + v µ v x 2 v v µ v egy n n-es diago- = x T (A + diag µ) x 1 T µ, a 1 0... 0. ahol egy a R n 0 a vektor esetén diag (a) = 2.......... 0 0... 0 a n nális mátrix. Ebből a duális célfüggvény c(µ) = 1 T µ + inf x R n xt (A + diag µ)x. Az infimumot minden R n -beli vektorra kell meghatározni, mert minden ilyen x- re értelmezve van a kifejezés, nincs semmilyen megszorítás. Most már csak az a kérdés, hogy egy homogén kvadratikus függvénynek R n -ben mi a (feltétel nélküli) minimuma? Ehhez tegyünk egy kis kitérőt. Kitérő: Mi az wx 2 valós függvény minimuma? A válasz általános iskolai tanulmányaink alapján egyszerű: 0, ha w 0, inf x R αx2 =, ha w < 0. Legyen W S n R n n, azaz n n-es szimmetrikus mátrix. Ekkor 0, ha W 0, inf x R xt Wx = n, ha W 0. 2 3-8
A W 0 eset a pozitív szemidefinitség definíciója, illetve a 0 T W0 = 0 miatt igaz. A második esetben mivel W nem pozitív szemidefinit, ezért létezik negatív sajátértéke, és ehhez létezik olyan s sajátvektora, melyet x helyére írva negatív számot kapunk a minimalizálandó kifejezésben. Viszont így skálázással a kvadratikus forma tetszőlegesen kis értéket is felvehet. Az előzőek alapján már meg tudjuk határozni a duális célfüggvényt: 1 T µ, ha A + diag µ 0, c(µ) =, különben. Így a duális feladat a következő: 1 T µ-et Feltéve, hogy A + diag µ 0. A duális probléma egy szemidefinit programozási probléma, kezelhető. Így nem várható erős dualitás. Azonban minden duális lehetséges megoldás ad egy alsó becslést p értékére. Remélhetjük, hogy " ügyes" duális megoldás jó közelítést adhat p -ra. Az alábbi állítás ezen a gondolatmeneten alapul. 8. Következmény. Legyen G egy tetszőleges egyszerű gráf, λ min pedig a G gráf (A szomszédsági mátrixának) legkisebb sajátértéke. Ekkor 1 (1) (2) E(G) max E(V) 1 2 V vágás 2 E(G) λ min V (G). 4 Bizonyítás. Az (1) állítás következik abból, hogy max E(V) E(E(V)), V vágás ahol V egy véletlen vágás a G gráfban (egyenletes eloszlással választott 1, 1} n -beli vektor). Meg kell nézni, hogy az egyes élek hányszor járulnak hozzá a sajátértékhez. Jelölje ξ a következő valószínűségi változót: 1, ha e E(V), ξ e = 0, ha e E(V), amire könnyen kiszámolható, hogy P(ξ e = 1) = P(ξ e = 0) = 1 minden e él esetén. 2 Ekkor E(E(V)) = E ξ e = E (ξ e ) = 1 2 = 1 2 E(G), e E(G) e E(G) e E(G) ami bizonyítja az (1) egyenlőséget. A (2)-es egyenlőtlenség igazolásához jelöljük a duális feladat optimális megoldását d -gal, és legyen µ egy tetszőleges lehetséges duális megoldás. Ekkor nyilvánvaló, hogy d c(µ). Az A + diag µ 0 feltétel ekvivalens azzal, hogy az A + diag µ 2 3-9
mátrix minden sajátértéke nemnegatív. Most már csak választani kellene egy jó µ vektort. Legyen λ min λ min µ = λ min 1 =.. λ min Az első állítás az, hogy az így kapott µ lehetséges megoldás. Ez azt jelenti, hogy az A + diag µ 0 feltételnek teljesülnie kell. Ha λ 1 λ 2... λ n = λ min az A mátrix sajátértékei, akkor az A + diag µ mátrix sajátértékei λ 1 λ min... λ n λ min 0, azaz A + diag µ minden sajátértéke nemnegatív. Ez könnyen igazolható végiggondolva, hogy A sajátvektorai az A+diag µ mátrixnak is sajátvektorai. Tehát az így megválasztott µ kielégíti a pozitív szemidefinitségi feltételt. Már láttuk, hogy a primál feladat optimális megoldása p = 2 E(G) 4 max E(V). Ekkor 2 E(G) 4 max E(V) = p d c(µ) = V λ min. Ezt rendezve kapjuk a (2) egyenlőséget. 9. Példa. x 1 x 2 -et Feltéve, hogy x 1 0 x 2 0 x 2 1 + x2 2 1 Az optimalizálási feladat triviális. Nemnagatív számok szorzata nem negatív, esetünkben (0, 0) lehetséges megoldás. Így p = 0. Ennek ellenére lássuk a dualizálás standard elvégzését: A duális változók λ 1, λ 2 és λ 3. A Lagrange-függvény: A duális célfüggvény: x 1 x 2 λ 1 x 1 λ 2 x 2 + λ 3 (x 2 1 + x2 2 1). ( c(λ) = inf x1 x 2 λ 1 x 1 λ 2 x 2 + λ 3 (x 2 x R 2 1 + x 2 2 1) ) = ( ( ) ( ) ( ) ) λ3 1/2 x1 x1 = inf (x 1, x 2 ) (λ x R 2 1/2 λ 1, λ 2 ) λ 3. 3 A kvadratikus rész mátrixa pozitív definit, ha λ 3 > 1/2, pozitív szemidefinit, ha λ 3 = 1/2, és indefinit, ha λ 3 > 1/2. Könnyen látható, hogy az indefinit (van pozitív és negatív sajátérték is) esetben c tetszőlegesen kicsi (tetszőleges nagy abszolút értékű negatív) értéket is felvehet. Könnyen látható, hogy a pozitív szemidefinit (λ 3 = 1/2) esetben amennyiben λ 1 +λ 2 0 a c célfüggvény tetszőlegesen kicsi lehet. A pozitív szemidefinit mátrix és λ 1 = λ 2 (= λ) esetben a rtke-λ 2 /2 1/2. A pozitív definit mátrix esetén könnyen látható, hogy véges minimum létezik. Analízisbeli tudásunkkal a minimum érték könnyen meghatározható: ( ) ( ) λ3 1/2 λ1 (λ 1, λ 2 ) λ 1/2 λ 3 λ 3. 2 A duális feladat: 2 3-10 x 2 x 2
c(λ 1, λ 2, λ 3 )-et Feltéve, hogy λ 1 0 λ 2 0 λ 3 1 2 A meggondolandó a λ 3 > 1/2 eset. Elemi számolással adódik, hogy λ 1 = λ 2 esetben vevődik fel a maximum. Egyetlen optimális hely adódik: (0, 0, 1/2) és d = 1/2. A gyenge dualitás egyenlőtlensége természetesen teljesül, de szigorú egyenlőségként. 10. Példa. x 1 x 2 -et Feltéve, hogy x 1 0 x 2 0 x 2 1 + x2 2 1 x 1 x 2 0 Az előző példát ismételtük meg egy plusz, nyilvánvalóan (matematikailag) felesleges feltétellel. Természetesen p = 0 marad. A dualizálás azonban változni fog. Megejelenik egy λ 4 duális változó. A Lagrangefüggvény x 1 x 2 λ 1 x 1 λ 2 x 2 + λ 3 (x 2 1 + x2 2 1) λ 4x 1 x 2. A duális cél függvény: ( ) c(λ) = inf x1 x 2 λ 1 x 1 λ 2 x 2 + λ 3 (x 2 x R 2 1 + x 2 2 1) λ 4 x 1 x 2 = ( ( 1 λ λ3 4 ) ( ) ( ) ) x1 x1 = inf (x 1, x 2 ) 2 x R 2 1 λ 4 (λ λ 2 3 x 1, λ 2 ) λ 2 x 3. 2 A duális feladat elemzése/megoldása a korábbi gondolatmenetet követve könnyen elvégezhető. A számolás végeredménye: az optimális hely (0, 0, 0, 1) és d = 0, erős dualitás van. Az optimális helyet és a duális optimális értéket a negyedik (a felesleges feltételnek megfelelő) duális vátozó kontrolálta. A feleslegesnek tűnő feltétel hozzáadása utólag jogosnak mondható. 11. Példa (Norma minimalizálás lineáris feltételek mellett). A feladat a következő: x, x R n,-et Feltéve, hogy Ax = b, ahol. : R n R egy tetszőleges norma. 2 3-11
Az L 2 normára már láttuk, hogy könnyű a dualizálás. Tetszőleges norma esetén a Lagrange-függvény L(µ, x) = x + µ T (Ax b) = x + ( A T µ ) T x b T µ. Most ennek keressük egy infimumát, és itt is szükségünk van egy ki kitérőre, mint az előző feladat esetében. Kitérő: A feladatunk gyakorlatilag egy x + v T x alakú kifejezés infimumának meghatározása. Ehhez szükségünk van egy definícióra. Definíció. Legyen. egy tetszőleges norma. A normát duális normának nevezzük. v = sup v T x : x = 1 } A duális norma definíciójából és a normaaxiómákból következik, hogy v T x v, ha x = 1. Így egy skálázással kapható, hogy v T x v x. A duális norma segítségével már megadható a keresett infimum: inf x + 0, ha v x R vt x = 1, n, ha v > 1. Az első eset ekvivalens azzal, hogy v 1 esetén x + v T x 0 minden x vektorra. Ez könnyen kiolvasható a fenti megállapításból. Második esetben, ha elérünk egy negatív értéket, akkor egy skálázással tetszőlegesen nagy negatív értéket elérhetünk, és ebből következik a infimum. A duális célfüggvény a következő: b T µ, ha A T µ c(µ) = 1,, ha A T µ > 1. Így a duális feladat a következő: Feltéve, hogy b T µ-et A T µ 1. 12. Példa (Optimalizálás lineáris feltételekkel). A dualizálandó feladat a következő: c(x)-et Feltéve, hogy Ax b, Cx = d. 2 3-12
A probléma jóval általánosabb az LP-feladatnál, ahol szintén lineáris feltételekkel dolgozunk. Itt a célfüggvény tetszőleges függvény. A feladat Lagrange-függvénye L(λ, µ, x) = c(x) + λ T (Ax b) + µ T (Cx d) = c(x) + ( A T λ + C T µ ) T x (b T λ + d T µ). Kitérő: Most egy c(x) + v T x alakú kifejezés infimumát keressük a dom(f) értelmezési tartományon. Definíció. Az f függvény konvex, vagy más néven Fenschel-konjugáltja f (u) = sup u T x f(x). x dom(f) A minimalizálandó kifejezésben, a célfüggvényben u szerepét v fogja betölteni: inf c(x) + x vt x = sup Ezekután a duális probléma Feltéve, hogy λ 0. x c(x) v T x = sup v T x c(x) = c ( v). x c ( A T λ C T µ) (b T λ + d T µ)-et 13. Példa (Entrópia maximalizálás). n i=1 x ilogx i -et Feltéve, hogy Ax b, 1 T x = 1. A célfüggvény a negatív entrópia, ez oldja fel a látszólagos ellentmondást a maximális jelző és a minimalizálási optimalizációs feladat között. 1 T x = 1 azt mondja, hogy x egy valószínűségi eloszlást kódol (a koordináták pozitívek amiatt, hogy a logaritmus függvényt kiértékéljük minden koordinátában). Az Ax b lineáris egyenlőtlenségek statisztikai tapasztalatok lehetnek az eloszláról. Például várható értéke, szórása, momentumai, becslés az eloszlás farkára stb. Természetes az a statisztikai hipotézis, hogy az eloszlás a mért adatokkal konzisztens eloszlások közül a legnagyobb entrópiájú legyen. Ez a példa az előző példa speciális esete. Írjuk fel a c (x) = n i=1 x ilogx i. célfüggvény konjugáltját: Gyakorlaton kiszámoltuk/igazoltuk, hogy (xlogx) = e y 1, illetve azt, hogy ebből következik, hogy c (x) = n i=1 eyi 1. Felírjuk most c (λ, µ) függvényt: c (λ, µ) = b T λ µ n e at i λ µ 1 = b T λ µ e µ 1 ahol a T i az A T mátrix i-edik sora, azaz A i-edik oszlopa. A duális probléma: i=1 2 3-13 n e at i λ, i=1
c(λ, µ)-et Feltéve, hogy λ 0. Ez könnyen egyszerűsíthető: Ha λ fix, akkor c egy változós valós függvény, és így λ-hoz meghatározható a jó µ érték: n µ = log e at i λ 1. i=1 Helyettesítve a duális ekvivalens a következővel: b T λ log Feltéve, hogy λ 0. ( n i=1 e at i λ )-et 14. Példa. c(u)-et Feltéve, hogy u 0 ahol c(u) = ( ) u+1 2, dom (c) = [ 1, 1], azaz c grafikonja egy parabolaív. 2 A célfüggvény értelmezési tartománya természetellenes. Ezzel a furcsa, természetellenes értelmezési tartománnyal a célfüggvénybe feltételeket építettünk be. Ez nem fair. Célunk nem egy alkalmazás bemutatása, hanem a dualitási hézag geometriai láttatása. Először dualizáljuk az eredeti problémát (a v = c(u) jelöléssel élünk): ( ) 2 u + 1 L (u, λ) = + λu = λu + v. 2 c(λ) = inf u [ 1,1],v= 1 4 (u+1)2 λu + v. c(λ) = inf u [ 1,1],v= 1 4 (u+1)2 λu + v-et Feltéve, hogy λ 0 Az alábbi ábra segítségével a primál és duál feladat megoldását is szemléltetni tudjuk: p? d? 2. ábra. 2 3-14
A v = 1 4 (u + 1) 2 függvényt az alábbiakban ábrázoltuk az u-v koordináta síkon. A primál megoldás látványos: A lehetséges értékeken ([ 1, 0]) a függvény monoton csökkenő, így minimimát 0-ban veszi fel. Azaz x = 0 és p = 1/4. A fenti duális célfüggvény geometriailag szépen szemléltethető. c(λ) = α azt jelenti, hogy λu+v α minden u [ 1, 1], v = 1 4 (u+1)2 értékre. Azaz a λx+y = α egyenes a szemléltetett grafikon alatt halad el. Továbbá α a lehető legnagyobb ilyen érték. λ a meredekség ellentettje (egyenesünk egyenletének szokott formájú alakja y = λx + α). α az y = v tengellyel vett metszéspont értéke. Így a duális probléma geometriai szemléltetése: A negatív meredekségű, grafikon alatti egyenesek közül válassszuk ki melyik metszi a v-tengelyt legmagasabban. d a metszéspont lesz a v-tengelyen, mint a számegyenesen egy érték. Az ábrán jól látható az optimális érték, d, továbbá a d < p szigorú egyenlőtlenség. Nincs erős dualitás. 15. Példa. Legyen n = 2, c(x, y) : R R 0 R, (x, y) e x. Optimalizálási feladatunk legyen a következő: c(x, y)-et Feltéve, hogy x 2 y 0 Ekkor az optimalizációs feladat tartománya a következő: D = R R >0. Vegyük észre, hogy a feltétel teljesüléséhez az x 2 függvény nemnegativitása miatt, és mert y > 0, x szükségszerűen 0 lesz. A feladat lehetséges megoldásának halmaza (x, y) : x = 0, y > 0}. Ebből viszont következik, hogyha a célfüggvényt megszorítjuk L-re, akkor c L = e 0 = 1, amiből következik, hogy a primál feladat optimális értéke 1, tehát p = 1. Ezután nézzük a duális problémát: Írjuk fel a feladatra vonatkozó Lagrangefüggvényt: L(x, y; λ) = c(x, y) + λ x2 y = e x + λ x2 y. Ekkor a duális célfüggvény a következő lesz: c(λ) = inf L(x, y; λ) = inf (x,y) D (x,y) D ) (e x + λ x2 = y Így felírhatjuk a duális optimalizálási problémát: c(λ)-et Feltéve, hogy λ 0. 0 ha λ 0 különben amelynek optimális értéke d = 0. Vegyük észre, hogy akkor teljesül a gyenge dualitás tétel, hiszen p d. Esetünkben az egyenlőtlenség valódi, egy úgynevezett " dualitási hézag" is keletkezett, mert p d = 1 > 0. 2 3-15