我正在尝试在优化问题中使用并行工作器,但是我无法定义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