Penalizačná a Barierová metóda
Penalizačná metóda
Metódu penalizačnej funkcie navrhol Carrol a neskôr ju podrobnejšie spracoval Fiacco a McCormick. Za základnú myšlienku môžeme považovať nahradenie úlohy na viazaný extrém postupnosťou úloh na voľný extrém. Dôvodom je, že takýto prístup je menej algoritmicky náročný. V každej takejto iterácii sa bude riešiť pomocná úloha na voľný extrém, ktorý bude závislý od parametra. Postupnosť takýchto riešení bude následne konvergovať k optimálnemu riešeniu pôvodnej úlohy. Nakoľko sa účelová funkcia dvoch po sebe riešených úloh líši len minimálne, tak riešenie získané v k - tej iterácii je dobrým odhadom pre riešenie, ktoré získame v k+1 - iterácii. Penalizačná metóda je určená pre úlohy typu min{f(x):x∈M}, kde M⊆Ω⊆Rn a M je uzavretá a Ω je otvorená množina. Je to všeobecnejší postup pre optimalizačné úlohy, ktorý je možné modifikovať aj pre úlohy LP.
Zavedieme penalizačnú funkciu Ψ:Ω→R+0, ktorá spĺňa podmienku Ψ(x)=0 pre x∈M a rastie zo vzdialenosťou od množiny M. Cieľom úlohy je stanoviť min{f(x)+μΨ(x):x∈Ω}, t.j. k účelovej funkcii pridáme funkciu, ktorá bude penalizovať porušenie každého ohraničenia. Ak máme ohraničenie h(x)=0, tak penále je v tvare μh2(x). V prípade ohraničenia g(x)≤0 je penále v tvare μmax{0,g(x)}. Teda v prípade takéhoto prístupu by bolo kritérium pre p∈N, zvyčajne pre p=2, v tvare σ(x)=m∑i=1[max{0,gi(x)}]p+n∑i=1|hk(x)|p.
Myšlienku algoritmu:
- Krok 1: Zvolíme test ukončenia ε>0, index k=1, východiskový bod xk, východiskový penalizačný parameter μk a koeficient zmeny penalizačného parametra b.
- Krok 2: Pre východiskový bod xk vyriešime úlohu F(x)=f(x)+μk.σ(x). Jej vyriešením získame bod xμk a položíme xk+1=xμk.
- Krok 3: Ak μkσ(x)<ε, tak koniec algoritmu. Inak μk+1=b.μk, k=k+1 a pokračujeme Krokom 2.
Barierová metóda
Barierová metóda je určená pre úlohy typu min{f(x):x∈M}, kde M⊆Rn a M je uzavretá množina, pre ktorú platí uzáver(int(M))=M. Vhodnou barierovou funkciou Θ:M→R+0 je funkcia, ktorá spĺňa podmienku Θ(x)=+∞ pre x∈σ(M) a rastie tým viac, čím bližšie je k hranici množiny M. Princíp barierových funkcií teda spočíva v tom, že sa vytvorí pomocná funkcia, ktorá má mimo oblasť a tiež na hranici veľmi veľké hodnoty. A tak pri približovaní sa k hranici oblasti, hodnota pomocnej funckie neohraničene narastá. Metóda si vyžaduje, aby množina prípustných riešení úlohy nemala prázdne vnútro a preto je vhodná pre nerovnosti gj(x)≤0 a nie pre úlohy s rovnicami. Typickým tvarom barierovej funckie je B(x)=−n∑j=11gj(x)aB(x)=−n∑j=1log(gj(x)).Skutočné riešenia častokrát zvyknú ležať na hranici oblasti pokiaľ je niektorá z ohraničení aktívne. Nato, aby sme sa dosiahli riešenie, budeme riešiť postupnosť úlloh, pri ktorej sa bude bariéra postupne znižovať.
Myšlienku algoritmu:
- Krok 1: Pre ε>0, x1∈int(M) ľubovoľné, 0<β<1 a k=1.
- Krok 2: Nájdeme xk+1 optimálne riešenie úlohy min{f(x)+vjΘ(x):x∈int(M)}.
- Krok 3: Ak vjΘ(xk+1)<ε, tak koniec algoritmu. Inak vk+1=βvj a k=k+1 a pokračujeme Krokom 2.
Páči sa Vám tento web venovaný matematike?