Description
Test problem 9.3.4 in Handbook of Test Problems in Local and Global Optimization Test problem 9.2.3 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 Visweswaran, V., C. Floudas, M. Ierapetritou, and E. Pistikopoulos, A Decomposition Based Global Optimization Approach for Solving Bilevel Linear and Nonlinear Quadratic Programs. In Floudas and Pardalos (eds.), State of the Art in Global Optimization: Computational Methods and Applications. Kluwer Academic Publishers, 1996. Contributor: Jan-H. Jagla, January 2010
Small Model of Type : BP
Category : GAMS EMP library
Main file : flds923.gms
$title Princeton Bilevel Optimization Example 9.2.3 (FLDS923,SEQ=38)
$onText
Test problem 9.3.4 in Handbook of Test Problems in Local and Global Optimization
Test problem 9.2.3 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
Visweswaran, V., C. Floudas, M. Ierapetritou, and E. Pistikopoulos, A
Decomposition Based Global Optimization Approach for Solving Bilevel Linear and
Nonlinear Quadratic Programs. In Floudas and Pardalos (eds.), State of the Art
in Global Optimization: Computational Methods and Applications. Kluwer Academic
Publishers, 1996.
Contributor: Jan-H. Jagla, January 2010
$offText
*Solution of problem 9.2.3 on the web
scalar x1_l / 0 /
x2_l / 0 /
y1_l / - 10 /
y2_l / - 10 /
tol / 1e-4 /;
variables z, z_in, y1, y2; positive variable x1, x2;
equations ob, o1, c0, c1, c2, c3, c4, c5, c6;
ob.. 2*x1 + 2*x2 - 3*y1 - 3*y2 - 60 =e= z;
o1.. x1 + x2 + y1 - 2*y2 =l= 40;
c0.. y1*(y1 - 2*x1 + 40) + y2*(y2 - 2*x2 + 20) =e= z_in;
c1.. - x1 + 2*y1 =l= -10;
c2.. - x2 + 2*y2 =l= -10;
c3.. - y1 =l= 10;
c4.. y1 =l= 20;
c5.. - y2 =l= 10;
c6.. y2 =l= 20;
model bilevel / all /;
$echo bilevel x1 x2 min z_in y1 y2 c0 c1 c2 c3 c4 c5 c6 > "%emp.info%"
*Start from reported solution
x1.l = x1_l;
x2.l = x2_l;
y1.l = y1_l;
y2.l = y2_l;
solve bilevel using EMP minimizing z;
abort$( (abs(x1.l - x1_l) > tol)
or (abs(x2.l - x2_l) > tol)
or (abs(y1.l - y1_l) > tol)
or (abs(y2.l - y2_l) > tol) ) 'Deviated from reported solution';