本文使用十进制数编码,即将矩形的左下角坐标,右上角坐标,放置方式,是否放置等信息编成一个染色体。(2)适应度函数:在设计适应度函数时,在保证目标函数最大的同时,还要考虑矩形与矩形之间、矩形与托盘边界干涉约束的因素,令IG表示在任意一代群体中的干涉量值,构造适应度函数为:maxf=λ1F−λ2IG(9)9其中λ1是权值,λ2是惩罚因子,λ1,λ2>0。(3)选择操作:选择的目的是把优化的个体(或解)直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择是按一定的概率从群体中选取n个个体,作为双亲用于繁殖下一代,以完成后面的交叉操作。本文采用的是轮盘赌选择法。轮盘赌法的具体执行过程如下:1)计算群体中所有个体的适应度的和;2)计算每个个体的相对适应度的大小,它即为各个个体被遗传到下一代群体中的概率;3)使用轮盘赌选择法(即0到1之间的随机数)来确定各个个体被选中的次数。即可以假设群体的大小为N,个体a的适应度为f,则个体a被选中的概率fipi=n(i=1,2,...n)(10)∑fii=1由上式可见,适应度越高的个体被选中的概率也越大;反之,适应度越低的个体被选中的概率也越小。(3)交叉操作:交叉操作是模拟基因重组产生优良个体,这里我们采用双层交叉的两点交叉算子来实现交叉操作。第1层是解串级的交叉操作,即交换两个解串的基因。第2层是基因级的交叉操作,即交换基因中的元素。假定考虑一个坐标,设有两个父解串a和b如下所示,交叉步骤为:表2父解串a和b交叉步骤第一层交叉位选定在解串的第2和第4基因位之间的基因段,则得到的两个新解串为:表3新解串第2层交叉操作则是以第1层交叉操作交换的基因段为对象,充分发掘十进制编码的潜力,继续交换基因段的元素,假定交叉元素选定为表示x坐标的数,交叉位选定在百位和十位之间,则第2层交叉操作产生的两个新解串为:表4第2层交叉操作产生的两个新解串10