How to make following optimization problem parallel in CVX?

Hi all,

I have implemented an optimization problem in CVX, but it does not scale up. I want to make this problem to run in parallel. Can someone help me with that ?

A=rand(400,500);
Y=rand(400,3);
gamma =[1:3];
for k= 1:length(gamma)

cvx_begin
variable x(500,3)
minimize(square_pos(norm(A*x-Y)) +gamma(k)*norm(x,1))
cvx_end

end

Can you just run each CVX instantiation (value of k) on a different thread/core/processor? Even by brute force, you could have each CVX instantiation run in s separate MATLAB session, using a mat file to communicate the values of A and Y to each session.

Or are you looking to parallelize each instantiation of CVX, which is not possible as far as I know (but I am quite happy to be corrected);

CVX isn’t the best solver for these kinds of problems anyway. All the cool kids are using proximal gradient methods :slight_smile: