% 2.1初始化(编码)
% initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),
% 长度大小取决于变量的二进制编码的长度(在本例中取10位)。
%遗传算法子程序
%Name: initpop.m
%初始化
function pop=initpop(popsize,chromlength)
%pop=round(rand(popsize,chromlength)); % rand随机产生每个单元为 {0,1} 行数为popsize,列数为chromlength的矩阵,
%round对矩阵的每个单元进行圆整。这样产生的初始种群。
%因为要产生的群体染色体单元储存的就是一张课表,而一张课表的信息量就有161*40*27个元素,这已经远远朝超出了rand的计算范围,因此将数字矩阵转
%化为字符矩阵,组建染色体
for i=1:popsize
for j=1:chromlength
rand1=rand;
rand2=rand;
if rand1 pop(i,j)=['1'];
else
pop(i,j)=['0'];
end
end
end