Создать контрольную точку в 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 используется для каких целей он используется

0 ответов

Другие вопросы по тегам