In constrained optimization, a field of mathematics, a barrier function is a continuous function whose value increases to infinity as its argument approaches the boundary of the feasible region of an optimization problem.[1] [2] Such functions are used to replace inequality constraints by a penalizing term in the objective function that is easier to handle. A barrier function is also called an interior penalty function, as it is a penalty function that forces the solution to remain within the interior of the feasible region.
The two most common types of barrier functions are inverse barrier functions and logarithmic barrier functions. Resumption of interest in logarithmic barrier functions was motivated by their connection with primal-dual interior point methods.
Consider the following constrained optimization problem:
minimize
subject to
where is some constant. If one wishes to remove the inequality constraint, the problem can be reformulated as
minimize,
where if, and zero otherwise.
This problem is equivalent to the first. It gets rid of the inequality, but introduces the issue that the penalty function, and therefore the objective function, is discontinuous, preventing the use of calculus to solve it.
A barrier function, now, is a continuous approximation to that tends to infinity as approaches from above. Using such a function, a new optimization problem is formulated, viz.
minimize
where is a free parameter. This problem is not equivalent to the original, but as approaches zero, it becomes an ever-better approximation.[3]
For logarithmic barrier functions,
g(x,b)
-log(b-x)
x<b
infty
logt
t
This introduces a gradient to the function being optimized which favors less extreme values of
x
b
Logarithmic barrier functions may be favored over less computationally expensive inverse barrier functions depending on the function being optimized.
Extending to higher dimensions is simple, provided each dimension is independent. For each variable
xi
bi
-log(bi-xi)
Minimize
cTx
T | |
a | |
i |
x\lebi,i=1,\ldots,m
Assume strictly feasible:
\{x|Ax<b\}\ne\emptyset
Define logarithmic barrier
g(x)=
m | |
\begin{cases} \sum | |
i=1 |
-log(bi-
Tx) | |
a | |
i |
&forAx<b\\ +infty&otherwise \end{cases}
. Robert J. Vanderbei . Linear Programming: Foundations and Extensions . 2001 . Kluwer . 277–279.