📄 initpop.asv
字号:
% 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
rand1=rand;
rand2=rand;
if rand1<rand2
pop(i,:)=['1'];
else
pop(i:,)=['0'];
end
for j=1:chromlength
rand3=rand;
rand4=rand;
if rand1<rand2
pop(i,:))=[pop(i,:),'1'];
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -