Funcția barieră este o funcție continuă a cărei valoare într-un punct tinde spre infinit pe măsură ce punctul se apropie de limita regiunii soluțiilor fezabile .
Funcția barieră este utilizată în problemele de optimizare ca termen de corecție pentru a se asigura că există soluții în regiunea admisibilă. De exemplu, atunci când se caută valoarea optimă a funcției , variabila poate fi limitată la o valoare strict mai mică decât o constantă , prin înlocuirea funcției cu
În același timp, funcția
joacă rolul unei funcții de barieră.
Cele mai utilizate două tipuri de funcții de barieră sunt funcțiile de barieră inversă și funcțiile de barieră logaritmică. Interesul reînnoit pentru funcțiile de barieră logaritmică se datorează conexiunii lor cu metodele de punct interior dual-direct .
Pentru funcțiile de barieră logaritmică este definit ca pentru și altfel (în dimensiunea 1. Vezi mai jos pentru dimensiuni mai mari). Această definiție se bazează pe faptul că tinde spre minus infinit atunci când tinde spre 0.
Acest lucru oferă valori mari de gradient pentru funcția optimizată lângă , în timp ce modificările în funcție de departe sunt puțin modificate.
În locul funcției de barieră logaritmică, poate fi mai convenabil să folosiți funcția de barieră inversă, care are o complexitate de calcul mai mică, dar aceasta depinde de funcția care este optimizată.
Dacă există mai multe variabile, atunci ar trebui să adăugați o funcție de barieră pentru fiecare variabilă , care ar trebui să fie strict limitată de valoarea , add .
Minimizați în condiții
Acceptăm restricții stricte:
Definiți bariera logaritmică