Can I use parfor and CVX togther
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Edric Ellis
2021-2-16
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!