Summary: The bilevel programming problem (BLPP) is a sequence of two optimization problems where the constraint region of the upper level problem is determined implicitly by the solution set to the lower level problem. To obtain optimality conditions, we reformulate BLPP as a single level mathematical programming problem (SLPP) which involves the value function of the lower level problem.
For this mathematical programming problem, it is shown that in general the usual constraint qualifications do not hold and the right constraint qualification is the calmness condition. It is also shown that the linear bilevel programming problem and the minimax problem satisfy the calmness condition automatically.
A sufficient condition for the calmness for the bilevel programming problem with quadratic lower level problem and nondegenerate linear complementarity lower level problem are given. First-order necessary optimality conditions are given using nonsmooth analysis. Second-order sufficient optimality conditions are also given for the case where the lower level problem is unconstrained.