Can I use parfor and CVX togther
15 views (last 30 days)
Show older comments
Hi, I tried to use CVX toolbox inside the parfor loop for solving my optimization problems with different parameters, and the structure of my code is
parfor index_time=1:times
invoke function { cvx_begin
optimization problem
cvx_end }
end
Unfortunately, I received a warning as follows,
Warning: A non-empty CVX problem already exists in this scope.
It is being overwritten.
In cvxprob (line 28)
In cvx_begin (line 41)
In SSR (line 11)
In parallel_function>make_general_channel/channel_general (line 923)
In remoteParallelFunction (line 46)
The above warning showed the optimizaiton problem was overwritten. However, a lot of people mentioned cvx can work with parfor on the internet. I am so confused.
0 Comments
Accepted Answer
Edric Ellis
on 16 Feb 2021
I'm not familiar with the CVX toolbox. However, a lot of parfor problems can be remedied by pushing the body of the loop into a separate function, a bit like this:
parfor i = 1:N
out(i) = doCvxStuff(i);
end
function out = doCvxStuff(i)
% Something like whatever CVX needs...
invoke function { cvx_begin
optimization problem
cvx_end }
end
More Answers (0)
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!