Optimization with bilinear constraint

bilinear-formconvex optimizationnonlinear optimizationoptimization

Let $ a,b,c \in \mathbb{R}_{+} $ be non-negative and $ Y, B, C \in \mathbb{S}_{+} $ a Hermitian positive semi-definite matrices. $D$ is a diagonal matrix with non-negative entries. Solve

$$ \begin{align}
& \max_{a, Y} ~ a \\
& s.t. \\
& a \cdot {\rm{Tr}} (BY) – {\rm{Tr}} (CY) + a \cdot b \leq 0 \\
& {\rm{Tr}} (DY) \leq c \\
& Y \succcurlyeq 0 \\
& a \geq 0
\end{align}$$

Additional information:

To the best of knowledge the first constraint is bilinear and I wonder whether there is a smarter way of handling this constraint. Thus far, I have found two solutions, which are the following:

  1. Alternate optimization: Find a feasible $ a $ and then optimize for $ Y $. Then, fix $ Y $ to optimize $ a $. And continue doing this sequentially.

  2. First-order Taylor approximation: Linearize the fisrt constraint and solve the new problem for a number of iterations.

These two approaches require me to iterate over several instances. Can we do better? Thank you!

Update:
I have found this previous post (Optimization problem with quadratic objective and a bilinear constraint), where the unknown parameters of a bilinear constraint are put together in a matrix. Can the first constraint in my problem be transformed in the same manner? Any hints would be great!
$$
\begin{bmatrix}
Y & 0 \\
0^T & a
\end{bmatrix}
\succcurlyeq 0
$$

Best Answer

The problem is quasi-convex in that it is convex for every fixed $a$ and the feasible set decreases for increasing $a$. Hence it can be solved by bisection in $a$

Example code on bisection to explain strategy https://yalmip.github.io/example/decayrate/

If you use MATLAB/YALMIP, you can do it very easily using built-in functionality (here using mosek as SDP solver)

A = randn(5);A = A*A';
C = randn(5);C = C*C';
D = randn(5);
Y = sdpvar(5);
sdpvar a
b = 1;c = 1;
Model = [a*trace(A*Y) - trace(C*Y) + a*b <= 0, Y >= 0, trace(D*Y) <= c];
bisection(Model,-a,sdpsettings('solver','mosek'))

I belive the problem is ill-posed though (unless $D$ has certain structure relative to $A$ and $C$) which allows $Y$ to grow arbitrarily large

Related Question