$title Practical Bilevel Optimization Example 7.2.1 (BARD721,SEQ=5) $onText Example from Chapter 7, example 7.2.1, page 275 John F. Bard, Practical Bilevel Optimization: Algorithms and Applications, Kluwer Academic Publishers, Dordrecht, 1998. Contributor: Jan-H. Jagla, January 2009 $offText positive variables x1,x2,y; variables objout,objin; equations defout,defin; defout.. objout =e= 1/2*sqr(x1-4/5) + 1/2*sqr(x2-1/5) + 1/2*sqr(y-1); defin.. objin =e= 1/2*sqr(y) - y - x1*y + 2*x2*y; x1.up = 1; x2.up=1; y.up = 1; model bard / all /; $echo bilevel x1 x2 min objin y defin > "%emp.info%" solve bard us emp min objout; *Note: The subsolver used by EMP might not find the global solution parameter solution(*,*); solution('x1','book') = 0.8; solution('x1','model') = x1.l; solution('x2','book') = 0.2; solution('x2','model') = x2.l; solution('y' ,'book') = 1 ; solution('y' ,'model') = y.l; display solution;