📜  多元优化——KKT 条件

📅  最后修改于: 2021-09-23 04:48:17             🧑  作者: Mango

什么是多元优化问题?

在多元优化问题中,有多个变量充当优化问题中的决策变量。

z = f(x 1 , x 2 , x 3 …..x n )

因此,当您查看这些类型的问题时,一般函数z 可能是决策变量 x 1 、x 2 、x 3到 x n 的一些非线性函数。因此,可以操纵或选择 n 个变量来优化此函数z。请注意,可以使用二维图片来解释单变量优化,因为在 x 方向上我们有决策变量值,而在 y 方向上我们有函数值。但是,如果是多变量优化,那么我们必须使用三个维度的图片,如果决策变量大于2,则很难可视化。

为什么我们对 KKT 条件感兴趣?

具有不等式约束的多元优化:在数学中,不等式是在两个数字或其他数学表达式之间进行不等比较的关系。它最常用于按大小比较数轴上的两个数字。有几种不同的符号用于表示不同种类的不等式。其中<、>、≤、≥是代表不同类型不等式的流行符号。因此,如果给定一个具有多个决策变量并且具有不等式约束的目标函数,那么这就是已知的。
示例

最小 2x 1 2 + 4x 2 2
英石
3x 1 + 2x 2 ≤ 12

这里 x 1和 x 2是两个具有不等式约束的决策变量 3x 1 + 2x 2 ≤ 12

因此,在具有不等式约束的多元优化的情况下,x̄ *成为最小值的必要条件是它必须满足 KKT 条件。所以我们对 KKT 条件感兴趣。

KKT条件:

KKT 代表卡鲁什-库恩-塔克。在数学优化中,Karush-Kuhn-Tucker (KKT) 条件,也称为Kuhn-Tucker 条件,是非线性规划中最优解的一阶导数检验(有时称为一阶必要条件),前提是某些满足正则条件。

所以通常多元优化问题同时包含等式和不等式约束。

z = min f(x̄)
英石
h i (x̄) = 0, i = 1, 2, …m
g j (x̄) ≤ 0, j = 1, 2, …l

这里我们有‘m’等式约束和‘l’不等式约束。

以下是具有等式和不等式约束的多元优化问题的条件为最优值。

  • 条件一

     \nabla f(x^*) + \Sigma _i_=_1^l [\nabla h_i(x^*)] \lambda _i^* + \Sigma _j_=_1^m [\nabla g_j(x^*)] \mu _j^* = 0在哪里, f(x^*) = f(x_1, x_2, …., x_n) = 目标函数h(x^*) = h(x_1, x_2, …., x_n) = 等式约束g(x^*) = g(x_1, x_2, …., x_n) = 不平等约束\lambda _i^* = 等式的标量倍数\mu _j^* = 不等式约束的标量倍数

  • 条件2

    h_i(x^*) = 0 , 对于 i = 1, …l

    该条件确保最优满足等式约束。

  • 条件 3

    \lambda _i \in R , 对于 i = 1, …, l

    lambda 必须是某个实数,所以与等式约束中的实数一样多。

  • 条件 4

    g_j(x^*) \leq 0 , j = 1, …, m

    与条件 2 中的最优满足等式约束非常相似,我们需要使不等式约束也被最优点满足。这样就保证了最优点在可行域内。

  • 条件 5

    \mu _j^*(g_j(x^*)) = 0

    现在,这就是等式约束条件和不等式约束条件之间的真正区别出现了。这种条件称为互补松弛条件。所以,这意味着如果你取不等式约束和相应的乘积\mu _j^*那么它必须是 0。基本上它的意思是\mu _j^*在这种情况下为 0 g_j(x^*)可以自由地成为满足此条件的任何值或g_j(x^*)是 0 在这种情况下我们必须计算\mu _j^*\mu _j^*我们计算的结果必须是正数或大于等于 0。

  • 条件 6

    \mu _j^* \geq 0 , j = 1, .., m

    在条件 5 中,我们已经看到,要么\mu _j^*在这种情况下为 0 g_j(x^*)可以自由地成为满足此条件的任何值或g_j(x^*)是 0 在这种情况下我们必须计算\mu _j^*\mu _j^*我们计算的结果必须是正数或大于等于 0。因此,此条件是为了确保无论您拥有什么最佳点,都不可能从最佳点进一步改进.所以这就是为什么会出现这种情况的原因。