param n := 2;

param l {i in 1..n};
param u {i in 1..n};

var x {i in 1..n} >= l[i], <= u[i], := l[i] + ( u[i] - l[i] ) * Uniform01();

minimize obj:
	x[1] + x[2];
subject to R1:
        x[1]^2 + x[2]^2 <= 4;
subject to R2:
        - x[1]^2 - x[2]^2 <= -1;
subject to R3:
        x[1] - x[2] <= 1;
subject to R4:
        - x[1] + x[2] <= 1;

data;

param l := 
      1 -2.0
      2 -2.0;

param u := 
      1  2.0
      2  2.0;
