遗传算法解决排课问题

源代码在线查看: initpop.m

软件大小: 33 K
上传用户: lujing200912345
关键词: 算法
下载地址: 免注册下载 普通下载 VIP

相关代码

				% 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
				
				           
				      			

相关资源