A Brief Summary of KKT Conditions
In nonlinear programming, the Karush–Kuhn–Tucker (KKT) conditions are necessary conditions to determine whether a point is an extreme point. The necessary condition here means that the solution that satisfies the KKT conditions is not necessarily the optimal solution (e.g., saddle point), but if the KKT conditions are not satisfied, it must not be the optimal solution.
For convex programming, the KKT conditions are sufficient and necessary conditions to determine whether a point is an extreme point. If a point satisfies the conditions, it must be an extreme point and must be a global optimal solution.
Note: In a convex optimization problem, the objective function is convex and the domain is defined as a convex set.
Lagrangian function
For a given minimization problem:
Note: In the case of a maximization problem, i.e., , the inequality constraint needs to be rewritten to the form .
You can get its Lagrangian function as follows:
Because the problem includes multiple inequality and equation constraints, the Lagrangian function can also be expressed as:
Four groups of conditions
KKT conditions include the following four categories:
Stationarity
Complementary slackness
Dual feasibility
The gradient direction of is the same as that of the negative gradient direction of .
Primal feasibility
-
If : The optimal solution is located inside the domain, and this constraint is inactive. , .
-
If : The optimal solution is located on the boundary of the domain, and this constraint is active. , .
Therefore, the KKT conditions for the above problem are as follows:
In the above formula, denotes the optimal solution.
Note: There is no non-negative requirement for the equation-constrained Lagrange multiplier .