Processing math: 100%
snippet

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):xM},  kde MΩRnM 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 xM 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 pN, zvyčajne pre p=2, v tvare σ(x)=mi=1[max{0,gi(x)}]p+ni=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.μkk=k+1 a pokračujeme Krokom 2.

Barierová metóda

Barierová metóda je určená pre úlohy typu min{f(x):xM}, kde MRnM je uzavretá množina, pre ktorú platí  uzáver(int(M))=M. Vhodnou barierovou funkciou Θ:MR+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)=nj=11gj(x)aB(x)=nj=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, x1int(M) ľubovoľné,  0<β<1k=1.
  • Krok 2: Nájdeme xk+1 optimálne riešenie úlohy min{f(x)+vjΘ(x):xint(M)}.
  • Krok 3: Ak vjΘ(xk+1)<ε, tak koniec algoritmu. Inak vk+1=βvjk=k+1 a pokračujeme Krokom 2.

Páči sa Vám tento web venovaný matematike?