kronecker product in optimization

37 views
Skip to first unread message

Jack1

unread,
Apr 13, 2020, 3:37:16 PM4/13/20
to YALMIP
I have the following problem: 
min_x  x^T C (x \Kron x)
where C is an (N x N^2) matrix. Clearly the above program is non-convex.
However, I was wondering if I could leverage the work around kronecker products from here

Thus, I can replace (\Kron xby K(x, X) where X = xx^T and have included the semidefinite restriction X >= xx^T in the overall optimization. 
Hence, the above program, 
min_x x^T C (x \Kron x ) 
becomes 
min_x x^T C K(x, X) s.t. X >= xx^T 
and would like to follow something like the above to tractably address this.  Can I do something like the above substitutions and/or leverage the RLT approach from here in someway? I see that there might be terms like xx^T  (which should be manageable), but, the term xX might be a hassle. Thank you. 

Jack1

unread,
Apr 13, 2020, 3:41:00 PM4/13/20
to YALMIP
such that each N x N slice of C is PSD .... can interpret it as a 3D tensor too if stacking each (N x N) slice behind one another. thank you. 

Johan Löfberg

unread,
Apr 14, 2020, 1:03:50 AM4/14/20
to YALMIP
Define "can"?. Both models can be thrown into a global solver such as bmibnb, or a moment relaxation in solvemoment

Jack1

unread,
Apr 15, 2020, 12:41:39 PM4/15/20
to YALMIP
Thank you - I was trying to look at a cvx re-formulation for this to arrive at an optimal soln. 
Is there a way for me to quantify the optimality gap from the output of the global solver? 

Johan Löfberg

unread,
Apr 15, 2020, 1:06:38 PM4/15/20
to yal...@googlegroups.com

P = optimize(Constraints,Objective,sdpsettings('savesolveroutput',1,'solver,'bmibnb'));

P.solveroutput

Jack1

unread,
Apr 15, 2020, 1:24:41 PM4/15/20
to YALMIP
Thank you - one quick I had re: obtaining an analytical solution for the below 

min_{a, b} abs(b - a)
s.t. a*P - b*N = T, a > 0, b > 0

where P, N, T are positive numbers. Do I need another constraint in (a, b) to obtain an analytical soln. for this?

Jack1

unread,
Apr 15, 2020, 1:26:06 PM4/15/20
to YALMIP
I arrive at 

a - b = \pm T

and am wondering if I need to pick an a and solve for the b subsequently? 

Johan Löfberg

unread,
Apr 15, 2020, 1:54:59 PM4/15/20
to YALMIP
the solution depends on N and P

you get a =(T+b*N)/P and then the minimizer in b is given by b=T/(P-N) if P>N. if P=N any feasible solution is a minimizer, and to fix case N>P you do some similiar thing I guess
Reply all
Reply to author
Forward
0 new messages