资源描述:
《一种改进型的遗传算法在配料系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种改进型的遗传算法在配料系统中的应用摘要:鉴于标准遗传算法存在的缺点,本文对遗传算法的选择策略、交叉过程、变异操作进行了改进,提出了一种改进型的遗传算法。然后使用实数编码,并将这种算法应用到了饲料配制系统中。大大提高了饲料配制方法的科学性。 关键词:遗传算法实数编码饲料配制 :TP3:A:1007-9416(2010)08-0122-01 1引言 在配制饲料过程时,除应根据牲畜生产目的、年龄、体重等,选择不同的饲养标准外,在饲料原料的选择上还要掌握以下几点[1]。(1)注意原料的种类和用量。(2)所选原
2、料的体积必须与消化道容积相适应。(3)要掌握原料的有关特性。(4)充分利用当地原料资源,以节约开支,降低成本,增加收入。要发挥饲养对象的最大生产潜能、提高饲料转化效率、增加产量、降低成本,关键的技术措施是配制营养完善和平衡的饲料。高效、先进的算法是计算机在饲料配方设计的实际应用中发挥作用的前提[2]。 从以上可以看出,配置完善的饲料其实就是一个多目标求最优解的过程。 这里引入一种新的优化算法—遗传算法。是一种并行的、能够有效优化的算法,以morgan的基因理论及eldridge与gould间断平衡理论为依据,同时
3、融合了mayr的边缘物种形成理论和bertalanffv一般系统理论的一些思想,模拟达尔文的自然界遗传学:继承、进化、优胜劣汰。其实质就是一种把自然界有机体的优胜劣汰的自然选择、适者生存的进化机制与同一群体中个体与个体间的随机信息交换机制相结合的搜索算法。运用遗传算法求解问题首先需将所要求解的问题表示成二进制编码,然后根据环境进行基本的操作:selection,crossover,mutation……这样进行不断的所谓“生存选择”,最后收敛到一个最适应环境条件的个体上,得到问题的最优解[3]。 2标准遗传算法的
4、不足 (1)算法的运算时间长。(2)计算后的结果不理想,与单纯型法的结果相比还有一定的差距。(3)标准遗传算法在进化过程中易产生早熟现象和局部寻优能力差等问题。 3改进遗传算法在饲料配方设计中的应用 本文提出了一种改进型的遗传算法,并把他应用到了饲料配制系统中。具体方法如下: 3.1编码方法 遗传算法通过这种对个体编码的操作,不断搜索出适应度较高的个体,并在群体中逐渐增加其数量,最终寻求出问题的最优解或近似最优解。在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜
5、索空间的转换方法就称为编码。 实数编码是指个体的每个基因值用某一范围内的一个浮点数来表示,个体的编码长度等于其决策变量的个数。根据饲料配方设计的要求及实数编码的特点,在本次饲料配方中的标准遗传算法采用实数编码。 3.2初始种群的生成 根据饲料原料及其营养成分表中各种原料的用量上限、用量下限、等量使用的要求,在最优解所占问题空间中的分布范围内使用随机生成初始种群。 (1)生成随机种子;(2)设定初始种群的数量;(3)利用约束条件对生成的每一个随机数的上下限进行控制,保证生成的随机数在约束条件围内;(4)测试生成
6、的种群中各原料是否能满足营养需求,若不能满足则返回(3);(5)初始种群的数量是否达到,若达到则跳出,否则返回(3); 3.3适应度函数 饲料配方设计的要求是在保证满足饲养标准要求的条件下降低饲料配方的成本。因此,本研究中遗传算法的个体适应度函数的设计采用饲料成本极小化方法。适应度函数为: Ci代表第i种的饲料原料的市场价格;Xi代表第i种饲料原料在配方中的含量;Amin为饲料配方的成本;n为饲料原料的种类数。 3.4选择策略 (1)采用随机联赛选择模型替代轮盘赌模型,降低计算机处理时间。 操作:每次
7、从群体中随机选取4个个体进行适应度大小比较,将其中适应度最高的2个个体遗传到下一代群体;重复上述过程直到下一代群体完全生成。 (2)构造新的种群时,采用精英主义方法。 操作:在交叉和变异的过程中允许父代和子代进行竞争,让优良个体进入下一轮的竞争环境,这样既保证了算法的迭代稳定性,又保证了算法具有实现局部最优化的能力。 以单个个体适应度值倒数占种群中共np个个体的适应度值倒数之和的比率作为 选择概率。即: 适应度值倒数之和: 选择概率: 3.5交叉过程 根据标准遗传算法交叉操作存在子代个体的
8、搜索空间将不断收缩,从而导致早熟的缺陷,对交叉操作进行改进。 对父代矢量的各个分量进行交叉时,采用不同的随机数: A1[j]=B1[j]+rnd[j](B2[j]-B1[j]) A2[j]=B2[j]+rnd[j](B1[j]-B2[j]) B1[j]、B2[j]分别为父代B1、B2的分量; A1[j]、A2[j]分别为子代个体矢量A