3 Statická optimalizace funkcí více proměnných3.3 Optimalizační úlohy s omezeními ve tvaru nerovnostiOptimalizační úlohy s omezeními ve tvaru nerovnosti (neklasické úlohy na vázaný extrém, úlohy nelineárního programování) lze vyjádřit ve tvaru
Na rozdíl od optimalizačních úloh s omezeními ve tvaru rovností (3.20), veličiny n a m mohou být libovolná konečná čísla. Zvolený typ nerovnosti
Omezení vyjadřující nezápornost proměnných {xj} rovněž nejsou podmínkou. Může-li nějaká proměnná nabývat jak kladných, tak i záporných hodnot, např. xj pak tuto proměnnou zastoupíme dvěma pomocnými proměnnými
Nově formulovaná optimalizační úloha nebude obsahovat proměnnou xj. Podmínky nezápornosti
vytvářejí v n-rozměrném euklidovském prostoru nezáporný ortant. V R2 je to nezáporný kvadrant a v R3 – nezáporný oktant. Uvažujme nejdříve optimalizační úlohu pouze při podmínkách nezápornosti (3.70), tj.
Má-li účelová funkce f(x) v bodě
Základní nerovnost (3.72) vyjadřuje nutnou podmínku existence lokálního minima účelové funkce f( x) v bodě x*. Je-li x* > 0, tzn. x* je vnitřním bodem množiny X, pak základní nerovnost (3.72) platí pro všechny směry (přírůstky)
Předpokládejme nyní, že v optimálním bodě x* jedna proměnná nabývá hraniční hodnoty, tj. např.
Proto nutná podmínka prvního řádu spočívá v tom, že
V bodě vnitřního minima
Protože všechny proměnné {xj} jsou nezáporné, součet součinů (3.76) musí být rovněž nulový, tj.
Ze vztahů (3.73) – (3.77) vyplývá, že v bodě x* lokálního minima účelové funkce f(x) musí být splněno 2n + 1 nutných podmínek prvního řádu
resp.
Pro jednorozměrnou optimalizační úlohu všechny možné případy ilustruje obr. 3.3.
Vztahy (3.73), resp. (3.79) využijeme pro řešení obecné optimalizační úlohy s omezeními ve tvaru nerovností (3.66). Zavedeme nezáporný vektor pomocných proměnných
pomocí kterého omezující nerovnosti
lze napsat jako rovnosti
Nyní optimalizační úlohu (3.66) můžeme zapsat ve tvaru
při omezujících podmínkách
Nezápornost pomocných proměnných zajišťuje splnění omezení ve tvaru nerovností (3.81). Kdyby omezující podmínky (3.84) neobsahovaly n + m podmínek nezápornosti, pak tato úloha by mohla být vyřešena Lagrangeovou metodou. Lagrangeova funkce takové úlohy může být vyjádřena vztahem
kde p = [p1, p2, ..., pm]T je vektor Lagrangeových multiplikátorů. Nutné podmínky prvního řádu pro tuto úlohu by spočívaly v tom, že všechny parciální derivace prvního řádu funkce Lx(x, p, z) podle x, p a z by měly být nulové. Protože x a z jsou nezáporné vektory, odpovídající podmínky na hodnoty parciálních derivací prvního řádu funkce Lx(x, p, z) podle těchto n + m proměnných se změní na podmínky, které lze obdržet ze vztahů (3.78), tj.
Po zastoupení vektoru pomocných proměnných z vztahem (3.82) a úpravě dostaneme Kuhnovy-Tuckerovy nutné podmínky prvního řádu pro existenci lokálního řešení úlohy (3.66):
Tytéž podmínky lze obdržet pomocí (zobecněné) Lagrangeovy funkce, kterou pro výchozí optimalizační úlohu (3.66) vyjádříme vztahem
Pak Kuhnovy-Tuckerovy podmínky (3.87) můžeme zapsat v jednoduchém symetrickém tvaru
resp. po rozepsání jako 2n + 2m + 2 podmínek
Kuhnovy-Tuckerovy podmínky jsou nutné a postačující pro (ostré) globální minimum za předpokladu, že účelová funkce f(x) je (ryze) konvexní a že omezující funkce {gi(x)} jsou konvexní a splňují určitou podmínku regularity (bude uvedena později). V tomto případě hovoříme o konvexním programování. Vztahy (3.92) a (3.93) vyjadřují podmínky nezápornosti a omezující nerovnosti pro výchozí optimalizační úlohu (3.66). Díky nerovnostem (3.90) a (3.92) každý sčítanec součtu (3.91) musí být nulový, protože buď
Podobně každý sčítanec součtu (3.94) musí být roven nule, protože buď gi( x*) – bi = 0 nebo Platí tedy
Podmínky (3.96) a (3.97) vyjadřují jinou formulaci Kuhnových-Tuckerových podmínek. Hodnota Lagrangeovy funkce L( x, p) v optimálním bodě [x*, p*]T je rovna optimální hodnotě účelové funkce f *, tj.
protože Nerovnosti, které v optimálním bodě x* jsou splněny jako rovnosti, se nazývají aktivní. Ukážeme si geometrickou interpretaci Kuhnových-Tuckerových podmínek. Uvažujme tyto podmínky ve tvaru (3.86). Zavedeme-li další vektor pomocných proměnných
pak podmínky (3.86) budou mít tvar
kde všechny proměnné, funkce a derivace jsou uvažovány pro x = x*, p = p*, r = r* a z = z*. Nezápornost pomocných proměnných zaručuje splnění odpovídajících nerovností. Prvních n vztahů lze napsat ve tvaru:
kde I je čtvercová jednotková matice řádu n. Geometrický význam vztahu (3.101) spočívá v tom, že v optimálním bodě x* záporný gradient (antigradient) účelové funkce je dán lineární kombinací gradientů aktivních omezujících nadploch (obr. 3.4). Gradienty omezujících funkcí
Jsou-li omezující funkce {gi(x)} konvexní, pak omezení budou regulární (podle Slatera), bude-li existovat takový bod
V případě lineárních omezujících funkcí {gi(x)} podmínky regularity jsou vždy splněny. Porovnáme-li Kuhnovy-Tuckerovy podmínky (3.89) s podmínkami (3.78), uvidíme, že bod [ x*, p*]T je sedlovým bodem Lagrangeovy funkce L(x, p), tzn., že minimalizuje Lagrangeovu funkci podle všech nezáporných proměnných x a maximalizuje podle všech nezáporných Lagrangeových multiplikátorů p, tj.
při všech Úloha získání nezáporných vektorů x* a p * vyhovujících nerovnostem (3.103) se nazývá úloha na sedlový bod. Nyní již můžeme zformulovat Kuhnovu-Tuckerovu větu (větu o sedlovém bodě): „Bod Pro spojitě diferencovatelné funkce f(x), {gi( x)} a regulární omezení vztahy (3.89) a (3.103) jsou navzájem ekvivalentní, tj. optimalizační úlohu lze zastoupit ekvivalentní úlohou na sedlový bod. Skutečnost, že bod [ x*, p*]T je sedlovým bodem Lagrangeovy funkce L(x, p) a že dvě soustavy podmínek (3.89) jsou symetrické, přirozeným způsobem vede k duálním (sdruženým) úlohám:
a
Úloha (3.104) se nazývá primární (přímá) a úloha (3.105) – duální (sdružená). V duální optimalizační úloze jako nezávisle proměnné vystupují Lagrangeovy multiplikátory p. V optimalizačních úlohách s omezeními ve tvaru nerovností Lagrangeovy multiplikátory mohou být rovněž využity jako charakteristiky citlivosti optimální hodnoty účelové funkce ke změnám hodnot omezujících konstant, podobně jako v úlohách s omezeními ve tvaru rovností. Kdyby bylo známo, která omezení jsou aktivní, která neaktivní a které proměnné jsou nulové, bylo by možné Kuhnovy-Tuckerovy podmínky zapsat ve tvaru rovností. Předpokládejme např., že omezující funkce {gi(x)} a proměnné {xi} jsou očíslovány tak, že v optimálním bodě x * prvních
kde vektory g1( x), b1 a p1 jsou tvořeny prvními m1 prvky vektorů g(x), b, p a vektor x1 je tvořen prvními n1 prvky vektoru x. Pak Kuhnovy-Tuckerovy podmínky (3.89) mohou být zapsány ve tvaru
Pro posledních m - m1 Lagrangeových multiplikátorů p2 platí [viz poslední rovnice ve vztahu (3.107)]
Posledních m - m1 omezení je neaktivních. Tato omezení jsou splněna jako ostré nerovnosti, proto malé změny hodnot odpovídajících omezujících konstant nemohou změnit optimální hodnotu účelové funkce. Pro prvních m1 Lagrangeových multiplikátorů p1 obecná optimalizační úloha s omezeními ve tvaru nerovností se změní na klasickou optimalizační úlohu s omezeními ve tvaru rovností
Proto při předpokladu, že proměnné x1 a p1 jsou funkcemi b1, derivováním Lagrangeovy funkce podle b1 dostaneme [viz (3.44) – (3.47), (3.60) – (3.62)]
Příklad 3.3Je třeba řešit optimalizační úlohu Řešení: Sestavíme Lagrangeovu funkci a napíšeme Kuhnovy-Tuckerovy podmínky Při vyhledávání proměnných x* a p* vyhovujících Kuhnovým-Tuckerovým podmínkám, je nejlépe začít od řešení rovností a pak kontrolovat splnění nerovností pomocí tabulky (viz níže).
Účelová funkce je ryze konvexní a omezující funkce je lineární, proto Kuhnovy-Tuckerovy podmínky jsou nutné a postačující. V bodě
Příklad 3.4Určete globální minimum účelové funkce Řešení: Minimalizační úloha má tvar Sestavíme Lagrangeovu funkci a napíšeme Kuhnovy-Tuckerovy podmínky: Podobně jako v příkladu 3.3 sestavíme tabulku řešení rovnosti a zkontrolujeme splnění nerovností. Protože účelová funkce je ryze konkávní a hledáme globální minimum, Kuhnovy-Tuckerovy podmínky je třeba považovat pouze za nutné podmínky pro existenci lokálního minima.
Kuhnovy-Tuckerovy podmínky jsou splněny ve všech případech a proto srovnáním funkčních hodnot vyčleníme globální minimum. Vystupuje v optimálním bodě x* = [2, 0]T. Optimální hodnota účelové funkce je f * = 2.
Příklad 3.5Vyřešíme optimalizační úlohu Protože optimalizační úloha je velmi jednoduchá, je zřejmé, že účelová funkce nebývá f *= 3 v optimalizačním bodě x* = [2, 0]T Zkontrolujeme, zda v tomto bodě budou splněny Kuhnovy-Tuckerovy podmínky. Sestavíme Lagrangeovu funkci a napíšeme Kuhnovy-Tuckerovy podmínky: V optimalizačním bodě x* = [2, 0]T Kuhnovy-Tuckerovy podmínky nejsou splněny, protože omezení jsou neregulární. Gradienty omezení jsou lineárně závislé, a proto záporný gradient účelové funkce nemůže být vyjádřen jako lineární kombinace gradientů aktivních omezení.
|