param n := 13; 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: -x[1]-8.*x[2]-8.*x[3]-8.*x[4]-x[5]+5.*x[6]-5.*x[6]**2+ 5.*x[7]-5.*x[7]**2+5.*x[8]-5.*x[8]**2+5.*x[9]-5.*x[9]**2- x[10]-x[11]-x[12]-x[13]; subject to IEC1: -10.+8.*x[2]+8.*x[3]+2.*x[6]+2.*x[7] <=0; subject to IEC2: -10.+8.*x[2]+8.*x[4]+2.*x[6]+2.*x[8] <=0; subject to IEC3: -10.+8.*x[3]+8.*x[4]+2.*x[7]+2.*x[8] <=0; subject to IEC4: 0.+8.*x[2]-8.*x[6] <=0; subject to IEC5: 0.+8.*x[3]-8.*x[7] <=0; subject to IEC6: 0.+8.*x[4]-8.*x[8] <=0; subject to IEC7: 0.+8.*x[2]-2.*x[9]-x[10] <=0; subject to IEC8: 0.+8.*x[3]-2.*x[11]-x[12] <=0; subject to IEC9: 0.-x[1]+8.*x[4]-2.*x[13] <=0; subject to bounds {j in 1..n}: lb[j] <= x[j] <=ub[j];