param n := 20; param lb {j in 1..n}; param ub {j in 1..n}; var x {j in 1..n} := Uniform(lb[j],ub[j]); minimize obj: -40.+2.*(x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+ x[9]+x[10]+x[11]+x[12]+x[13]+x[14]+x[15]+x[16]+ x[17]+x[18]+x[19]+x[20])- 0.5*(x[1]**2+x[2]**2+x[3]**2+x[4]**2+x[5]**2+x[6]**2+ x[7]**2+x[8]**2+x[9]**2+x[10]**2+x[11]**2+x[12]**2+ x[13]**2+x[14]**2+x[15]**2+x[16]**2+x[17]**2+x[18]**2+ x[19]**2+x[20]**2); subject to IEC1: 5.-x[1]-x[2]-9.*x[3]+3.*x[4]+5.*x[5]+x[8]+7.*x[9]-7.*x[10]-3.*x[11]-4.*x[12]-6.*x[13]+7.*x[14]-5.*x[16]+ x[17]+x[18]+2.*x[20] <=0; subject to IEC2: -2.-x[1]-9.*x[2]+3.*x[3]+5.*x[4]+x[7]+7.*x[8]-7.*x[9]-4.*x[10]+7.*x[11]-6.*x[12]-3.*x[13]-5.*x[15]+x[16]+ x[17]+2.*x[19]-x[20] <=0; subject to IEC3: 1.-9.*x[1]+3.*x[2]+5.*x[3]+x[6]+7.*x[7]-7.*x[8]-4.*x[9]-6.*x[10]-3.*x[12]+7.*x[13]-5.*x[14]+x[15]+x[16]+ 2.*x[18]-x[19]-x[20] <=0; subject to IEC4: 3.+3.*x[1]+5.*x[2]+x[5]+7.*x[6]-7.*x[7]-4.*x[8]-6.*x[9]-3.*x[10]-5.*x[11]+7.*x[12]+x[14]+x[15]+2.*x[17]- x[18]-x[19]-9.*x[20] <=0; subject to IEC5: -5.+5.*x[1]+x[4]+7.*x[5]-7.*x[6]-4.*x[7]-6.*x[8]-3.*x[9]+7.*x[10]+x[11]-5.*x[13]+x[14]+2.*x[16]-x[17]- x[18]-9.*x[19]+3.*x[20] <=0; subject to IEC6: -4.+x[3]+7.*x[4]-7.*x[5]-4.*x[6]-6.*x[7]-3.*x[8]+7.*x[9]+x[11]-5.*x[12]+x[13]+2.*x[15]-x[16]-x[17]- 9.*x[18]+3.*x[19]+5.*x[20] <=0; subject to IEC7: 1.+x[2]+7.*x[3]-7.*x[4]-4.*x[5]-6.*x[6]-3.*x[7]+7.*x[8]-5.*x[10]+x[12]+x[13]+2.*x[14]-x[15]-x[16]- 9.*x[17]+3.*x[18]+5.*x[19] <=0; subject to IEC8: 0.+x[1]+7.*x[2]-7.*x[3]-4.*x[4]-6.*x[5]-3.*x[6]+7.*x[7]-5.*x[9]+x[10]+2.*x[11]+x[12]-x[14]-x[15]- 9.*x[16]+3.*x[17]+5.*x[18] <=0; subject to IEC9: -9.+7.*x[1]-7.*x[2]-4.*x[3]-6.*x[4]-3.*x[5]+7.*x[6]-5.*x[8]+x[9]+x[10]-x[11]+2.*x[13]-x[14]-9.*x[15]+ 3.*x[16]+5.*x[17]+x[20] <=0; subject to IEC10: -40.+x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9]+x[10]+x[11]+x[12]+x[13]+x[14]+x[15]+x[16]+x[17]+ x[18]+x[19]+x[20] <=0; subject to bounds {j in 1..n}: lb[j] <= x[j] <=ub[j];