⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initpop.asv

📁 遗传算法解决排课问题
💻 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 + -