param N := 3; var x{1..N}; var u; param pi := 3.1415; minimize f: 100*((x[3]-10*u)^2 + ((x[1]^2+x[2]^2)^0.5-1)^2)+x[3]^2; subject to cons1: u = if (x[1]>0) then (1/(2*pi))*atan(x[2]/x[1]) else 0.5 + (1/(2*pi))*atan(x[2]/x[1]); subject to cons2: 0.1 <= x[1]; subject to cons3: -2.5 <= x[3] <= 7.5; data; var x:= 1 -1 2 0 3 0; solve; display x;