The bilevel program 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. The classical approach to solving such a problem is to replace the lower level problem by its Karush–Kuhn–Tucker (KKT) condition and solve the resulting mathematical programming problem with equilibrium con...