Why is my convex problem unbounded

Here is my code:
cvx_quiet(false);
cvx_begin

        variable U_k(K,K*L) complex

        variable gamma_k

        expression penalty
        expression y2(K,L)

        penalty=norm(U_k-U_n_sum,'fro');
            
        for k=1:K
            for l=1:L
                 y2(k,l)=2*real(conj(mu_opt(k,l))*U_k(:,(k-1)*L+l)'*w(:,k))-abs(mu_opt(k,l))^2*sigma;
                 for i=1:K
                     if i~=k
                        y2(k,l)=y2(k,l)-abs(mu_opt(k,l))^2*pow_pos(abs(U_k(:,(k-1)*L+l)'*w(:,i)),2);
                     end
                 end
            end
        end

        maximize gamma_k-1/rho*penalty

        subject to
        min(min(y2))>=gamma_k;

        cvx_end

Apparently, with the value of rho you used, gamma_k can grow faster than 1/rho*penalty, while meeting the constraint min(min(y2))>=gamma_k. Therefore the objective can get arbitrarily large, i.e., is unbounded.

For general tips, Debugging unbounded models - YALMIP also applies to CVX.

Thank you! But even after removing the penalty item, the problem remains unbounded.

That’s the equivalent of rho = \infty .

If rho is small enough, so that the penalty term is large enough, perhaps the objective (problem) will be bounded. Maybe that also depends on the other input data.

Perhaps you need to rethink the mathematics of what you are trying to do.

1 Like