param n := 6;

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]^0.6 + x[2]^0.6 + x[3]^0.4 - 4*x[3] + 2*x[4] + 5*x[5] - x[6];
subject to R1:
        -3*x[1] + x[2] - 3*x[4] = 0;
subject to R2:
        -2*x[2] + x[3] - 2*x[5] = 0;
subject to R3:
        4*x[4] - x[6] = 0;
subject to R4:
        x[1] + 2*x[4] <= 4;
subject to R5:
        x[2] + x[5] <= 4;
subject to R6:
        x[3] + x[6] <= 6;

data;

param l := 
      1  1.0e-05
      2  1.0e-05
      3  1.0e-05
      4  0.0
      5  0.0
      6  0.0;

param u := 
      1  3.0
      2  4.0
      3  4.0
      4  2.0
      5  2.0
      6  6.0;
