x=sdpvar(2,1)
ftion=f(x,K*x)'*P*f(x,K*x)-x'*P*x + (x'*Q*x+(K*x)'*R*(K*x));
cond=[x'*P*x<=alpha]
optimize(cond,ftion)
yalmiptime: NaN solvertime: NaN info: 'Unknown problem in solver (Turn on 'debug' in sdpsettings) (Error using fmincon (line 716)Gradient of nonlinear inequality constraints must h...' problem: 9
if cgrow ~= sizes.nVar || cgcol ~= sizes.mNonlinIneq error(message('optimlib:fmincon:WrongSizeGradNonlinIneq', sizes.nVar, sizes.mNonlinIneq))end
Error using fmincon (line 716)
Gradient of nonlinear inequality constraints must have size 2-by-1.
close allclear allclcf=@(x,u) [0.55*x(1)+0.12*x(2)+(0.01-0.6*x(1)+x(2))*u 0.67*x(2)+(0.15+x(1)-0.8*x(2))*u];K=[-0.019 -.1818];P=[2.8663 0.2882 .2882 3.6632];Q=eye(2);R=1;alpha=1.1075;
x=sdpvar(2,1)ftion=f(x,K*x)'*P*f(x,K*x)-x'*P*x + (x'*Q*x+(K*x)'*R*(K*x));cond=[x'*P*x<=alpha]
ops = sdpsettings('debug',1)optimize(cond,ftion,ops)
optimize(cond,ftion,sdpsettings(ops,'solver','fmincon'))
optimize
>> assign(x,randn(2,1));>> optimize(cond,ftion,sdpsettings('solver','fmincon','usex0',1))
>> optimize([cond,-10<=x<=10],ftion,sdpsettings('solver','bmibnb','bmibnb.uppersolver','fmincon'))* Starting YALMIP global branch & bound.* Branch-variables : 2* Upper solver : fmincon* Lower solver : GUROBI* LP solver : GUROBI Node Upper Gap(%) Lower Open 1 : -5.111E-01 10.12 -6.721E-01 2 Improved solution 2 : -5.111E-01 10.12 -6.721E-01 1 Infeasible 3 : -5.111E-01 0.55 -5.194E-01 2 * Finished. Cost: -0.51106 Gap: 0.54826* Timing: 27% spent in upper solver (2 problems solved)* 2% spent in lower solver (6 problems solved)* 48% spent in LP-based domain reduction (43 problems solved)