遗传算法的初始种群

时间:2015-05-06 03:54:21

标签: matlab initialization genetic-algorithm

如何生成x=[1 0;0 1;1 0;1 0] or [1 0;1 0;0 1;1 0]这样的染色体。

我需要仅在“当机器在单元格l中时x = 1时才生成染色体,否则当i =机器中没有时为0,而l =单元中没有”。

Matrix就像这个[1 0;0 1;1 0;0 1] when i=4 & l=2.

这意味着1号和3号机器在1号机组中,机器2号和4号机器在2号机组中。

1 个答案:

答案 0 :(得分:0)

为什么不使用编码x[1,2,1,2]而不是x [1,0;0,1;1,0;0,1]?然后使用randi([1,2],[4,1])进行初始化。 您的编码有点多余,或者我的问题是错误的吗?

或者你可以这样做:

r = randi([1,2],[4,1]);

x = zeros(4,2);
for idx = 1:size(r,1);
    if r(idx) == 1
        x(idx,1) = 1;
    else
        x(idx,2) = 1;
    end
end