Difference between Fritz John and Karush-Kuhn-Tucker conditions

Both sets of conditions are necessary conditions for a point to be optimal, but they're not quite the same mathematically. The KKT conditions are more restrictive and thus shrink the class of points (from those satisfying the Fritz John conditions) that must be tested for optimality. The additional restriction with KKT is that the Lagrange multiplier on the gradient of the objective function cannot be zero. One of the most important resulting differences is that KKT points for linear programs must be optimal, whereas Fritz John points for linear programs don't have to be.

The section on KKT conditions in Bazarra, Sherali, and Shetty's Nonlinear Programming: Theory and Algorithms (second edition) has a nice discussion of the issues. There are several good examples, especially one in which a Fritz John point for a linear program is shown not to be optimal. That can't happen with KKT points for linear programs.


The crucial difference between the two sets of optimality conditions is that when there is at least one nonlinear constraint, a constraint qualification (CQ) condition must be satisfied for the KKT conditions to be necessary for optimality. The Fritz-John conditions hold at any local minimizer regardless of whether a CQ holds or not. Consider for instance $$ \min_x \ x \quad \text{s.t.} \ x^2 = 0. $$ The (only) solution is clearly $x^*=0$ (it is the only feasible point). Now write down the Fritz-John conditions and the KKT conditions side-by-side. The KKT conditions have no solution, i.e., it is impossible to find Lagrange multipliers so they are satisfied at $x^*=0$. But you can find Fritz-John multipliers (by setting the objective multiplier to zero)!

The Fritz-John conditions are useful to prove that a problem is degenerate (i.e., it doesn't satisfy a CQ). If you are forced to set the multiplier of the objective gradient to zero, you're left with something like $$ J_E(x)^T y_E + J_I(x)^T y_I = 0, \quad (c_I(x), y_I) \geq 0, \quad c_I(x) \cdot y_I = 0, \quad c_E(x) = 0 $$ where $J_E$ is the Jacobian of the equality constraints ($c_E(x)=0$), $J_I$ is the Jacobian of the inequality constraints ($c_I(x) \geq 0$), $y_E$ are the multipliers for the equality constraints and $y_I \geq 0$ are the multipliers for the inequality constraints. My notation $c_I(x) \cdot y_I = 0$ means that the product vanishes componentwise.

Now it's possible to show that, if at least one of the $y$'s is nonzero, this proves that the Magasarian and Fromovitz constraint qualification (MFCQ) doesn't hold at $x$. This is done using Farkas' lemma or Motzkin's theorem of the alternative (see for example the book "Nonlinear Programming" by Olvi Mangasarian, published by SIAM, for those theorems). Thus the stronger Linear Independence Constraint Qualification (LICQ) doesn't hold either.