A growing collection of bilevel problems
b_1984_02 : Quadratic-Quadratic bilevel problem from (Bard, 1984)
Objective values | Solution point |
---|---|
F* = b_1984_02 | x* = (0.0, 2.0) |
f* = -6.473 | y* = (1.875, 0.9063) |
Original source:
Other sources:
Note, that Problem TP3 from www.bilevel.org (and others sources used by the same authors) is based on this problem, but the outer objective is changed from
-x[1]^2 - 3*x[2] - 4*y[1] + y[2]^2
to -x[1]^2 - 3*x[2]^2 - 4*y[1] + y[2]^2
keeping the rest unchanged.
AMPL
formatvar x{1..2} >= 0, <= 10; # Outer variable
var y{1..2} >= 0, <= 10; # Inner variable
var l{1..6} >= 0, <= 100; # KKT Multipliers
minimize outer_obj: -x[1]^2 - 3*x[2] - 4*y[1] + y[2]^2; # Outer objective
subject to
# Outer constraints
outer_con: x[1]^2 + 2*x[2] - 4 <= 0;
# Inner objective:
inner_obj: 2*x[1]^2 + y[1]^2 - 5*y[2] = 0;
# Inner constraints
inner_con1: -x[1]^2 + 2*x[1] - x[2]^2 + 2*y[1] - y[2] - 3 <= 0;
inner_con2: -x[2] - 3*y[1] + 4*y[2] + 4 <= 0;
# KKT conditions:
stationarity_1: 2*y[1] + 2*l[1] -3*l[2] - l[3] + l[4] = 0;
stationarity_2: -5 - l[1] + 4*l[2] - l[5] + l[6] = 0;
complementarity_1: l[1]*(-x[1]^2 + 2*x[1] - x[2]^2 + 2*y[1] - y[2] -3) = 0;
complementarity_2: l[2]*(-x[2] - 3*y[1] + 4*y[2] + 4) = 0;
complementarity_3: l[3]*y[1] = 0;
complementarity_4: l[4]*(y[1] - 10) = 0;
complementarity_5: l[5]*y[2] = 0;
complementarity_6: l[6]*(y[2] - 10) = 0;