$title Princeton Bilevel Optimization Example 9.2.4 (FLDS924,SEQ=39) $onText Test problem 9.3.5 in Handbook of Test Problems in Local and Global Optimization Test problem 9.2.4 on http://titan.princeton.edu/TestProblems/chapter9.html References: Floudas, C A, Pardalos, P M, Adjiman, C S, Esposito, W R, Gumus, Z H, Harding, S T, Klepeis, J L, Meyer, C A, and Schweiger, C A, Handbook of Test Problems in Local and Global Optimization. Kluwer Academic Publishers, 1999 Yezza, A. (1996). First-order necessary optimality conditions for general bilevel programming problems. Journal of Optimization Theory and Applications, 89:189-219. Contributor: Jan-H. Jagla, January 2010 $offText *Solution of problem 9.2.4 on the web scalar x_l / 3 / y1_l / 1 / y2_l / 2 / tol / 1e-6 /; variables z, z_in, y1, y2; positive variable x; equations ob, c0, c1, c2, c3; ob.. 0.5*(sqr(y1 - 2) + sqr(y2 - 2)) =e= z; c0.. 0.5*sqr(y1) + y2 =e= z_in; c1.. - x + y1 + y2 =e= 0; c2.. - y1 =l= 0; c3.. - y2 =l= 0; model bilevel / all /; $echo bilevel x min z_in y1 y2 c0 c1 c2 c3 > "%emp.info%" *Start from reported solution x.l = x_l; y1.l = y1_l; y2.l = y2_l; solve bilevel using EMP minimizing z; abort$( (abs( x.l - x_l) > tol) or (abs(y1.l - y1_l) > tol) or (abs(y2.l - y2_l) > tol) ) 'Deviated from reported solution';