有没有办法在parfor循环中应用不依赖于顺序的变量?

时间:2019-05-10 07:42:20

标签: matlab optimization parfor

我正在尝试在优化问题中使用并行工作器,但是我无法定义V。我很清楚V不是顺序无关的,但是必须为任何总体定义这样的变量(如V),基于优化的方法。您能想到什么提示或技巧吗?

我什至尝试在每次迭代后保存X并在计算V向量之前将其加载,但随后出现了透明性违规错误。

clc; clear all; close all
T = 10;
Func = @sum;
Z = rand(1, 3);
X = rand(T, 3);
F=0.5;
parfor t=1:T
    R=randperm(T);
    R(find(R==t))=[];
    V=X(R(1),:)+F*(X(R(2),:)-X(R(3),:));
    TmpZ=Func(Z(1,:));TmpX=Func(X(t,:));
    if TmpZ < TmpX
        X(t,:)=Z(1,:); Y(t,1)=TmpZ;
    else
        X(t,:)=X(t,:); Y(t,1)=TmpX;
    end
end

0 个答案:

没有答案