Barrier function

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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.

Motivation

[edit | edit source]

Consider the following constrained optimization problem:

minimize f(x)
subject to xb

where b is some constant. If one wishes to remove the inequality constraint, the problem can be reformulated as

minimize f(x) + c(x),
where c(x) = ∞ if x > b, and zero otherwise.

This problem is equivalent to the first. It gets rid of the inequality, but introduces the issue that the penalty function c, and therefore the objective function f(x) + c(x), is discontinuous, preventing the use of calculus to solve it.

A barrier function, now, is a continuous approximation g to c that tends to infinity as x approaches b from above. Using such a function, a new optimization problem is formulated, viz.

minimize f(x) + μg(x)

where μ > 0 is a free parameter. This problem is not equivalent to the original, but as μ approaches zero, it becomes an ever-better approximation.[3]

Logarithmic barrier function

[edit | edit source]

For logarithmic barrier functions, g(x,b) is defined as log(bx) when x<b and otherwise (in one dimension; see below for a definition in higher dimensions). This essentially relies on the fact that logt tends to negative infinity as t tends to 0.

This introduces a gradient to the function being optimized which favors less extreme values of x (in this case values lower than b), while having relatively low impact on the function away from these extremes.

Logarithmic barrier functions may be favored over less computationally expensive inverse barrier functions depending on the function being optimized.

Higher dimensions

[edit | edit source]

Extending to higher dimensions is simple, provided each dimension is independent. For each variable xi which should be limited to be strictly lower than bi, add log(bixi).

Formal definition

[edit | edit source]

Minimize 𝐜Tx subject to 𝐚iTxbi,i=1,,m

Assume strictly feasible: {𝐱|Ax<b}

Define logarithmic barrier g(x)={i=1mlog(biaiTx)for Ax<b+otherwise

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]