我正在研究进化算法,并且需要一种在python中生成参考点(Das和Dennis方法)的方法。我不知道并且在这部分中有人可以帮助编写这段代码。谢谢提前我有matlab代码但不了解它如何转换为python。
function Zr = GenerateReferencePoints(M, p)
Zr = GetFixedRowSumIntegerMatrix(M, p)' / 4; #Not understanding the use of {'}
end
function A = GetFixedRowSumIntegerMatrix(M, RowSum)
if M < 1
error('M cannot be less than 1.');
end
if floor(M) ~= M
error('M must be an integer.');
end
if M == 1
A = RowSum;
return;
end
A = [];
for i = 0:RowSum
B = GetFixedRowSumIntegerMatrix(M - 1, RowSum - i);
A = [A; i*ones(size(B,1),1) B]; #What is this function doing not getting it
end
end
我不明白 RowSum 用于使用它的目的