import casadi.*
x=MX.sym('x',1);
x0=0;
lbx=[0];
ubx=[1];
g=[(x-0.5)^2];
lbg=[0.1^2]
ubg=1;
J=1e11*(x-0.9)^2;
nlp = struct('x', x, 'f', J, 'g', g);
options = struct;
options.ipopt.print_level = false;
options.print_time=false;
options.ipopt.max_iter = 15000;
solver = casadi.nlpsol('solver', 'ipopt', nlp,options);
sol = solver('x0', x0, 'lbx', lbx, 'ubx', ubx,'lbg', lbg, 'ubg', ubg);
u_opt = full(sol.x)