Dualita (optimalizace)

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Dualita v teorií optimalizace znamená, že optimalizační problém může být interpretován dvěma způsoby, skrz úlohu primární, nebo k ní úlohu duální. Vztah těchto dvou úloh se liší v závislosti na vlastnostech řešeného problému. Obecně, optimální řešení duální úlohy tvoří spodní mez pro optimální řešení primární úlohy. V konkrétních případech mají tyto dvě úlohy velmi příjemné vlastnosti jakou je například silná dualita.

Obecná formulace

Pro primární úlohu matematického programování ve tvaru[1]

minimalizovat f0(x)za podmínek fi(x)0, i{1,,m}hi(x)=0, i{1,,p}

, kde xMn definujeme Lagrangeovu funkci L:n×m×p předpisem

L(x,λ,ν):=f0(x)+i=1mλifi(x)+i=1pνihi(x),

proměnné λi a νi se nazývají Lagrangeovy multiplikátory. Vektory λm a νp nazveme duální proměnné k původnímu problému.

Duální Lagrangeovu funkci definujeme jako

g(λ,ν):=infxML(x,λ,ν)=infxM(f0(x)+i=1mλifi(x)+i=1pνihi(x)).

Buď P* optimální řešení primární úlohy potom platí

λ𝟎, νp:g(λ,ν)P*

Pokud navíc platí Slaterova podmínka[2] potom taky platí silná dualita, tj. maxλ𝟎, νpg(λ,ν)=:D*=P*. V takovém případe se tedy optimální řešení primární a duální úlohy shodují.

Dualita v úloze lineárního programování

Dualita se týká dvojice úloh lineárního programování (LP), která je dána společnými vstupními daty, to jest maticí A s m řádky a n sloupci, m-rozměrným vektorem b a n-rozměrným vektorem c. Kromě daných koeficientů je každá úloha lineárního programování (LP) určena také druhem optimalizace, tj. jestli se daný problém týče minimalizace neboli maximalizace, dále tvarem omezení, jestli se v problému vyskytuje rovnost nebo nerovnost, přítomností či absencí podmínek nezápornosti. Obecná dvojice duálních úloh v matematice vypadá následovně.

Definice

Nechť je dána matice A s m řádky a n sloupci, m-rozměrný vektor b, n-rozměrný vektor c a disjunktní rozklady množin indexů I={1,2,...,n}, J={1,2,...,m}. Pak dvojice úloh lineárního programování (LP)

minimalizovat i=1ncixi

za podmínek i=1nAi,jxibjjJ

i=1nAi,jxibjjJ

i=1nAi,jxi=bjjJ=

xi0iI

xi0iI

xiRiI,

maximalizovat j=1mbjyj

za podmínek j=1mAj,iyjcijI

j=1mAj,iyjcijI

j=1mAj,iyj=cijI

yj0iJ

yj0iJ

yjRiJ=

se nazývá dvojice duálních úloh lineárního programování (LP). Množinu přípustných řešení úlohy minimalizace označíme jako M, tj. množinu všech xRn, která splňují výše uvedené podmínky, a množinu všech jejich optimálních řešení symbolem M*. Množinu přípustných řešení úlohy maximalizace označíme jako N, tj. množinu všech yRm, která splňují výše uvedené podmínky, a množinu všech jejich optimálních řešení symbolem N*.

Někdy také hovoříme o úloze primární a k ní úloze duální. Jako primární označujeme tu úlohu, která vznikla na základě řešeného problému. Zbylou úlohu, pak nazýváme úlohou k ní duální. V případě, že je optimalizační problém lineární, tedy úlohu lineárního programování (LP) ve standardním tvaru, dvojici duálních symetrických úloh lineárního programování (LP) můžeme zapsat ve tvaru[3]

min{𝐜𝖳𝐱 : 𝐀𝐱𝐛, 𝐱𝟎},max{𝐛𝖳𝐲 : 𝐀𝖳𝐲𝐜, 𝐲𝟎},

kde 𝐀m×n, 𝐱, 𝐜m, 𝐲, 𝐛n. V tomto případě minimalizační úlohu nazveme primární a maximalizační úlohu, úlohou k ní duální. Množinu přípustných řešení primární úlohy budeme značit M a množinu přípustných řešení duální úlohy označíme N. Úlohy lineárního programování lze převádět na zvolený tvar. Stačí se proto zabývat pouze jedním typem dvojice duálních úloh. Dokázaná tvrzení jsou potom platná i pro libovolnou dvojici duálních úloh, nejen pro ty ve standardním tvaru. Pro tuhle dvojici úloh pak platí následující tvrzení.

Slabá věta o dualitě pro případ LP

Nechť 𝐱M, 𝐲N jsou libovolná, pak platí

𝐜𝖳𝐱𝐛𝖳𝐲

přičemž rovnost nastane, právě když jsou splněny podmínky komplementarity

j{1,,m}: buď yj=0  nebo i=1nAijxi=bj,i{1,,n}: buď xi=0  nebo j=1mAijyj=ci.

Důkaz

Tvrzení stačí ukázat pro dvojici symetrických duálních úloh, jak bylo zmíněno výše. Pro libovolné 𝐱M, 𝐲N , tj. pro přípustné řešení úlohy minimalizace a pro přípustné řešení úlohy maximalizace, platí

𝐜𝖳𝐱(𝐀𝖳𝐲)𝖳𝐱=𝐲𝖳𝐀𝐱𝐲𝖳𝐛=𝐛𝖳𝐲.

Rovnost v předcházejícím výrazů nastává, právě tehdy když

𝐲𝖳(𝐀𝐱𝐛)=0,(𝐜𝐀𝖳𝐲)𝖳𝐱=0,

tedy když jsou obě nerovnosti splněny jako rovnosti. Po rozepsáni předcházejících výrazů dostaneme přímo podmínky komplementarity.

Silná věta o dualitě pro případ LP

Primární úloha má optimální řešení, právě tehdy když duální úloha má optimální řešení. V takovém případě navíc platí

min𝐱M𝐜𝖳𝐱=max𝐲N𝐛𝖳𝐲

Jedním z důsledků silné věty o dualitě v LP je například Farkasová věta.

Duální bazické řešení

Pro lineární optimalizační úlohu a bázi L definujeme y(L)Rm, které je jednoznačně určené podmínkou (AL)Ty(L)=cL. Vektor y(L) nazveme duální bazické řešení příslušné k bázi L.

Aplikace duality

Nejzákladnější aplikace duality nastává pro případ, kdy jsou splněny podmínky pro silnou dualitu a součet dimenzí duálních proměnných je m+p2 a zároveň dimenze primární proměnné je n>2. V tomto případě lze složitější primární problém řešit pomocí často jednoduššího duálního problému. Zatím co k řešení primárního problému by byly zapotřebí pokročilejší výpočetní techniky, například simplexový algoritmus, duální problém může být řešitelný graficky a k jeho vyřešení (zejména, jestli se jedná o úlohu LP) může stačit jednoduše jeho nakreslení na papír. Jednoduchou interpretací dvojice duálních úloh je predikce vývoje po investici, jinými slovy, uvažujeme maximální zisk výroby v daném podniku, který je dán optimalizační úlohou. V ekonomické literatuře se optimální řešení duální úlohy nazývá stínové ceny nebo duální ceny.

Finanční portfolio

Jednou z nejzákladnějších aplikací z praxe je maximalizace výnosu akcí finančního portfolia. Z matematického pohledu rozumíme pod pojmem portfolio vektor θ=(θ1,θ2,,θm,)Rm+1, jehož člen θi reprezentuje podíl jehož i-tého aktiva (s cenou v čase t reprezentovanou pomocí Sti). Hodnota portfolia θ v čase t je rovna tSt, kde značí skalární součin. V praxi se můžeme setkat s různými typy portfolií. Podstatným příkladem je Markowitzovo portfolio.

Markowitzovo portfolio

Markowitz ve své teorii uvažuje jenom riziková aktiva. Pro pevný výnos je zapotřebí volit portfolia s minimální variací, která také slouží jako míra rizika. Obecně, zajímá nás portfolio s vysokým očekávaným výnosem a zároveň s minimální variancí. Tahle teorie přímo vychází teorie optimalizace. Označme S^=(S1Sm) jako cenu rizikových aktiv, θ=(θ1,,θm) portfolio. Nechť r0 je dána očekávaná výplata, w0 počáteční kapitál. Pak formulujeme úlohu

minVar(θS^1)

s.t.𝖤[θ^S^1]=r0

θ^S^0=w0,

kde S^ je řádkový vektor, θ^ je řádkový vektor a platí 𝖤[𝖲^𝟣]=[𝖤[S^𝟣𝟣],,𝖤[S^𝟣𝗆]]. Předpisem 𝖤[X] rozumíme střední hodnotu náhodné veličiny X. Maticovým zápisem A=(𝖤[S^1]S^0), b=(r0w0) lze danou úlohu přepsat následovně

minf(x)=12xTx

s.t.Ax=b .

Zde platí, že x=θ^T, =𝖤[(S^1𝖤[S1^])T(S^1𝖤[S1^])T]=(𝖤[(S^1i𝖤[S1i^])T(S^1j𝖤[S1j^])T]),i,j=1,m. Zjevně je symetrická, pozitivně definitní matice. Dále označmef*(y)=12yTy. Jelikož brangeA, je splněná podmínka silné věty o dualitě a tedy úloha je duální k úloze

maxbTy12yTA()1ATy=12bT1A()1Atb.

Optimálním řešením této úlohy duální k zadané je y¯=bA()1AT. Označme x¯ řešení původní úlohy a platí f(x)+f*(ATy)yAx=0, kde značí skalární součin. Konečně dostáváme optimální portfolio

x¯=1AT1A()1ATb.

Reference

Šablona:Autoritní data