flds923.gms : Princeton Bilevel Optimization Example 9.2.3

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';