Logarithmic barrier (source code)

= Logarithmic barrier
{title2=$f_\mu(x)=f(x)-\mu\sum_i\log c_i(x)$}

For <optimization constraints> $c_i(x)\geq0$ and $\mu>0$, the <logarithmic barrier> objective is $f_\mu(x)=f(x)-\mu\sum_i\log c_i(x)$ on $D=\{x:c_i(x)>0\ \forall i\}$. Its derivatives are defined only on this strictly feasible <open subset>. One may extend its value to $+\infty$ off $D$ to formulate an extended-real <convex function>. The penalty alone is $-\sum_i\log c_i$, while $f_\mu$ includes the original <objective function>.

When $f$ is <convex> and each $c_i$ is <concave>, $D$ is a <convex set> and
$$
\nabla f_\mu=\nabla f-\sum_i\frac{\mu}{c_i}\nabla c_i,\qquad
\nabla^2f_\mu=\nabla^2f-\sum_i\frac{\mu}{c_i}\nabla^2c_i+\sum_i\frac{\mu}{c_i^2}\nabla c_i\nabla c_i^T.
$$
Every term of this <Hessian matrix> is a <positive semidefinite matrix>, so $f_\mu$ is <convex>. Its <critical point> satisfies the stationarity part of the <Karush-Kuhn-Tucker conditions> with estimates $\lambda_i=\mu/c_i(x)>0$ and perturbed <complementary slackness> $\lambda_ic_i(x)=\mu$.