param n := 10;

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:
	-9*x[5] - 15*x[9] + 6*x[1] + 16*x[2] + 10*x[6];
subject to R1:
	x[10]*x[3] + 2*x[7] - 2.5*x[5] <= 0;
subject to R2:
	x[10]*x[4] + 2*x[8] - 1.5*x[9] <= 0;
subject to R3:
	3*x[1] + x[2] - x[10]*(x[3]+x[4]) = 0;
subject to R4:
	x[1] + x[2] - x[3] - x[4] = 0;
subject to R5:
	x[3] + x[7] - x[5] = 0;
subject to R6:
	x[4] + x[8] - x[9] = 0;
subject to R7:
	x[7] + x[8] - x[6] = 0;

data;

param l := 
      1 0.0
      2 0.0
      3 0.0
      4 0.0
      5 0.0
      6 0.0
      7 0.0
      8 0.0
      9 0.0
     10 1.0;

param u := 
      1 300.0
      2 300.0
      3 100.0
      4 200.0
      5 100.0
      6 300.0
      7 100.0
      8 200.0
      9 200.0
     10   3.0;
