\begin{array}{ll}\min &f(x) \\ \text{s.t.} & g_1(x) \ge 0\\ &\qquad \vdots \\ &g_m(x) \ge 0 \\ &e_1(x) =0 \\ &\qquad \vdots \\ &e_n(x) = 0 \end{array}
外惩罚函数
可以将上面的约束优化问题转化为无约束优化问题
\begin{array}{ll}\min &f(x) \\&+ M \left (\max \{0,-g_1(x)\}^2 +…+\max\{0,-g_m(x)\}^2 \right)\\ &+M\left(e_1(x)^2+…+e_n(x)^2\right) \end{array}
其中 $M$ 称为惩罚因子, 是一个很大的正数.
内惩罚函数
内惩罚函数法只能用于只有不等式约束的情况. 即
\begin{array}{ll}\min &f(x) \\ \text{s.t.} & g_1(x) \ge 0\\ &\qquad \vdots \\ &g_m(x) \ge 0 \end{array}
可以将上面的约束优化问题转化为无约束优化问题
\begin{array}{ll}\min &f(x) \\&+ m \left(\frac{1}{g_1(x)^2}+…+\frac{1}{g_n(x)^2}\right) \end{array}
其中 $m$ 是一个很小的正数, 有没有平方均可.
当然还可以进行对数的转化
\begin{array}{ll}\min &f(x) \\&+ m \left(\ln \frac{1}{g_1(x)}+…+\ln\frac{1}{g_n(x)^2}\right) \end{array}