Dear all,
I have a simple optimization problem that shows below:
For any value of a,b,c_1,c_2 with |a|<1 and b\neq0 ,function l_{(a,b,c_1,c_2)}(k_1,k_2) is convex in k_1,k_2 (actually, it is a paraboloid).
clc
clear
% number of variable
d = 3;
% confidence parameter
Beta = 10^(-10);
% violation parameter
Epsilon = 0.1;
N = ceil(2 / Epsilon * (log(1/Beta)+d));
% sampling
Theta1 = rand(1,N) * (2/3)-(1/3);
Theta2 = rand(1,N) * (2/3)-(1/3);
a = 0.45 + 0.5 * (1-exp(-8000*(Theta1.^2 + Theta2.^2)));
b = 1 + Theta2.^2;
c1 = 0.2 + (Theta2 + sin(Theta2) + 0.1) .* sin(2*pi.*Theta2);
c2 = 0.5 + (Theta1.^2) .* cos(Theta2);
%% CVX part
cvx_begin
variables k1 k2 h
minimize(h);
subject to
for i = 1:N
((c1(i)+b(i)*k1)^2 + (c2(i)+b(i)*k2)^2 + 2*a(i)*(c1(i)+b(i)*k1)*(c2(i)+b(i)*k2))/(1-a(i)^2)<=h;
end
cvx_end
As a rookie of CVX, I must make some stupid mistakes.
warning: A non-empty cvx problem already exists in this scope.
It is being overwritten.
misuse .* (Line 262 )
Disciplined convex programming error:
Invalid quadratic form(s): not a square.
error * (Line 36 )
z = feval( oper, x, y );
error example1 (Line 25 )
((c1(i)+b(i)*k1)^2+(c2(i)+b(i)*k2)^2+2*a(i)*(c1(i)+b(i)*k1)*(c2(i)+b(i)*k2))/(1-a(i)^2)<=h;
I am trying to learn The DCP rulerset. But I still can’t find the problem. I learned that the no-product rule described in Expression rules. But the Scalar quadratic forms confused me. Because my constrains seem the same with Scalar quadratic forms.
( x + y ) ^ 2
( x + y ) * ( x + y )