Создать контрольную точку в nsga3
Я работаю над эволюционным алгоритмом, и мне нужен способ генерировать опорные точки (подход Даса и Денниса) в Python. Я понятия не имею и поражен в этой части, может кто-нибудь, пожалуйста, помогите написать этот код. Спасибо заранее, у меня есть код 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 используется для каких целей он используется