遗传算法基本概念与原理 遗传算法求解0_1背包问题 1.0_1背包问题中染色体的表示方法 : 本次设计采用二进制编码来表示染色体,每个染色体对应其当前装入背包的物品的总价值和总重量。背包中物品价值代表了该物品的适应度。如X=(X1,X2...Xi...Xn),Xi=0或1。Xi=1,表示第i个项目被选入了背包;Xi=0,表示第i个项目没有被选入了背包。例如8个项目的背包问题中,X=(0,1,1,0,0,0,1,0),则表示项目2,3,7被选入了背包,而其他项目则没被选入背包。 遗传算法求解0_1背包问题 2.轮盘赌选择方法的实现步骤: (1) 计算群体中所有个体的适应度函数值(需要解码); (2) 利用比例选择算子的公式,计算每个个体被选中遗传到下一代群体的概率; (3) 采用模拟赌盘操作(即生成0到1之间的随机数与每个个体遗传到下一代群体的概率进行匹配)来确定各个个体是否遗传到下一代群体中。 遗传算法求解0_1背包问题 3.交叉算子 : 所谓交叉运算,是指对两个相互配对的染色体依据交叉概率 Pc 按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算是遗传算法区别于其他进化算法的重要特征,它在遗传算法中起关键作用,是产生新个体的主要方法。 本次设计中交叉算子采用单点交叉算子。 遗传算法求解0_1背包问题 单点交叉运算 交叉前: 00000|
原创力文档

文档评论(0)