A growing collection of bilevel problems
mb_2007_24 : Nonlinear-Nonlinear bilevel problem from [Mitsos & Barton, 2007]
Note, that two global optimal solutions exist, while in (Mitsos & Barton, 2007) only one solution was reported. Moreover, the third outer constraint 2.5 + y^2_1 + y^2_2 + y^2_3 <= 0
is always infeasible, as y^2_1 + y^2_2 + y^2_3 >= 0
. To make it feasible, we negated the constant term. After this modification, optimal solution point is the same, as was reported in the original source. Note, that the authors in (Nie et al., 2017) fixed this problem in the same way, but have not mentioned in a text.
Original source:
Other sources:
Objective values | Solution point(s) | |
F* = -2.350 | x* = (-1.0,-1.0) | x* = (-1.0,-1.0) |
f* = -2.000 | y* = (1.0,1.0,-0.707) | y* = (1.0,-1.0,-0.707) |
AMPL
formatvar x{1..2} >= -1, <= 1; # Outer variables
var y{1..3} >= -1, <= 1; # Inner variables
var l{1..6} >= 0, <= 100; # Multipliers
minimize outer_obj: x[1]*y[1] + x[2]*y[2]^2 + x[1]*x[2]*y[3]^3;
subject to
# Outer constraints:
outer_con_1: -x[1]^2 <= -0.1;
outer_con_2: -(y[1]^2 + y[2]^2 + y[3]^2) <= -1.5;
outer_con_3: y[1]^2 + y[2]^2 + y[3]^2 <= 2.5;
# Inner objective
inner_obj: x[1]*y[1]^2 + x[2]*y[2]^2 + (x[1]-x[2])*y[3]^2 = 0;
# KKT conditions
stationarity_1: 2*x[1]*y[1] -l[1] + l[2] = 0;
stationarity_2: 2*x[2]*y[2] -l[3] + l[4] = 0;
stationarity_3: 2*(x[1]- x[2])*y[3] -l[5] + l[6] = 0;
complementarity_1: -l[1] -l[1]*y[1] = 0;
complementarity_2: -l[2] + l[2]*y[1] = 0;
complementarity_3: -l[3] -l[3]*y[2] = 0;
complementarity_4: -l[4] + l[4]*y[2] = 0;
complementarity_5: -l[5] -l[5]*y[3] = 0;
complementarity_6: -l[6] + l[6]*y[3] = 0;