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();

param k1 := 9.755988e-02;
param k2 := 0.99 * k1;
param k3 := 3.919080e-02;
param k4 := 0.90 * k3;

minimize obj:
	-x[4];
subject to R1:
	x[1] + k1*x[1]*x[5] = 1;
subject to R2:
	x[2] - x[1] + k2*x[2]*x[6] = 0;
subject to R3:
	x[3] + x[1] + k3*x[3]*x[5] = 1;
subject to R4:
	x[4] - x[3] + x[2] - x[1] + k4*x[4]*x[6] = 0;
subject to R5:
        sqrt( x[5] ) + sqrt( x[6] ) <= 4;

data;

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

param u := 
      1  1.0
      2  1.0
      3  1.0
      4  1.0
      5 16.0
      6 16.0;
