param n := 5;

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] + x[3];
subject to R1:
        (x[4] - 1) - 12*x[1]*(3 - x[4]) = 0;
subject to R2:
        (x[5] - x[4]) - 8*x[2]*(4 - x[5]) = 0;
subject to R3:
        (5 - x[5]) - 4*x[3] = 0;

data;

param l := 
      1  0.0
      2  0.0
      3  0.0
      4  1.0
      5  1.0;

param u := 
      1  1.5834
      2  3.6250
      3  1.0
      4  3.0
      5  4.0;
