您好, 访客   登录/注册

基于NSGA—II的饲料配方设计

来源:用户上传      作者: 黄科 常晋义 谢从华

  摘要:饲料配方在禽畜养殖业中有着重要的意义,现有的手工计算方法很难满足实际的需要,而目前很多计算机优化的方法只能解决约束较少,规模较小的问题。该文将饲料配方设计问题描述为多目标最优化问题。首先把目标最优化问题转换为相应的数学模型,然后用NSGA-II进行求解,最后进行仿真实验,得出结果。该方法克服了传统算法的局限性, 通过对NSGA-II进行优化改进提高算法的收敛速度和种群的多样性。实验结果表明,该算法可以有效地解决饲料配方设计问题。
  关键词:饲料配方;多目标优化;数学模型;NSGA-II;算法改进
  中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2013)20-4692-04
  1 概述
  饲料是发展养殖业的物质基础,发展质量效益型养殖业离不开优质高效的饲料。因此,科学合理地设计饲料配方对养殖业生产获得最大的经济效益将具有十分重要的意义。饲料配方设计就是应用一定的数学计算方法,根据原料的营养成分和配方的规格要求产生配方中各原料比例的一种运算过程。就现在饲料配方而言,基本分为手工计算法和计算机配方法。传统的手工计算配方法主要有[1]:代数法、试差法、十字交叉法、联立方程法等,计算机配方法所采用最常用的是线性规划法和目标规划法。采用优化方法的配方营养成分能满足畜禽的营养需要,但是这些方法只能解决约束较少、规模较小的问题。由于遗传算法能够解决因子较多,非线性程度高的问题,从而得出的饲料能更好的符合营养含量标准。
  王海峰、张健[1]将遗传算法用来优化鱼饲料配方,研究结果表明,在鱼饲料配方优化中应用遗传算法要优于目前饲料配方软件中大多采用的常规应用数学的优化方法。吴文斗、曹志勇[2]利用优化的遗传算法来解决猪饲料的配方设计问题,取得了预期的结果。然而,在目前大多数的算法中,仅仅以成本作为衡量饲料配方优劣的唯一标准,该文在把经济成本作为衡量饲料配方标准的同时,增加了另外一个重要标准,即氨气标准。过量的氨气会降低动物机体的抵抗能力、诱发疾病 、影响疫苗的免疫效果且会对自然环境造成危害。因此,除了建立合理的通风换气制度等硬件环境的改善,我们还应该考虑优化饲料配方,改善营养水平,减少氨气的排放量。这样既能达到减少经济成本的问题,而且能改善猪的生存环境,减少对猪的疾病危害。
  2 饲料配方问题模型
  饲料配方决策的优化问题是一个组合优化问题,它需要将一组原料按一定比例组合成满足特定营养需求的配方且市场价格最低并且满足饲料中的各营养成份含量。设有n种原料和m种的饲料营养需求,则可以形成一个n×m的矩阵S([aij])其中[aij]表示第i种原料所含第j种营养成份的百分量。设饲料中的标准营养成份含量分别为[b1],[b2],...[bm]。其中[bi](1≤i≤m)表示标准营养成份中第i种营养成份的含量。各原料的价格分别为[c1],[c2]...[cn].求设计的配合饲料优化3 NSGA-II介绍
  NSGA-II[3]是在NSGA的基础上进行改进的,主要是提出快速非支配集构造算法以降低整个算法的时间复杂度且加入了精英保留机制提高算法性能。
  对种群R构造快速非支配集的具体过程:(1)计算种群R中每个个体p的[np]值和向量[sp],其中[np]为R中支配个体p的个体数目,[sp]为被p支配的个体的集合。(2)把所有[np]=0的个体放入到Pareto前端[F1]中。(3)[F1]中每个个体对应的[sp]中个体的[np]=[np]-1,把[np]=0的个体放入到[F2]中。(4)根据[F2]中的重复上述操作确定[F3]中的个体,如此类推,直到所有的个体排序完成。
  NSGA-II的具体过程如下:(1)随机产生初始种群[P0],当前进化代数为t=0。(2)对[P0]进行选择、交叉和变异产生子代种群[Qt]。(3)合并进化种群及其子代种群:[Rt]=[Pt][?][Qt]。(4)构造的边界集[Rt],精英保留产生下代进化种群[Pt+1](5)若达到最大进化代数:[t≥T]时结束,T为最大进化代数,否则跳转到(2)。
  4 改进的NSGA-II算法
  4.1 新交叉策略
  其中α为[0,1]之间的随机数。该策略的全局搜索性能相对较弱,不能很好地保证种群的多样性。由于SBX交叉算子局限性,该文使用算术交叉算子替代SBX交叉算子,其定义如下:
  其中A.rank 为个体A 的非支配排序级别,B.rank 代表个体B 的非支配排序级别。由定义可知,在计算初期,α变化较大,Pareto 非支配排序值小的个体在后代个体中占据较大的比例。但随着进化的发展,群体中个体都趋于同一Pareto 前沿上,α趋于常数0.5。
  4.2 新变异策略
  NSGA-II算法采用均匀变异的策略,这种策略特别适合遗传算法的初期运行阶段,但到了运行阶段后期对于局部的重点搜索,均匀变异的收敛难于达到一个很好的效果。该文采用高斯变异,由正态分布的特性可知 ,高斯变异也是重点搜索原个体附近的某个局部区域,能很好的对重点搜索区域进行局部搜索。
  4.3 新修剪策略
  多目标遗传算法中,保持种群具有良好的分布性是非常重要的。网格法和聚集距离法是较好的维持解集具有良好分布性的方法。NSGA-II采用基聚集距离法。然而聚集距离法也存在一定的缺陷。由于聚集距离策略是每次从整个种群中选择聚集距离大的个体 ,这就会使解集中分布密集的整个部分区域丢失,若决策者最为满意的解刚好落在该区域,则算法将失败。
  针对这种缺陷,该文不再采用传统策略那样选取个体,即按聚集距离降序排序后,一次选取足够数目的聚集距离大的个体。而是每次删除一个聚集距离最小的个体,然后重新计算所有的个体的聚集距离,再删除聚集距离最小的个体,重复上面的操作直到种群规模剪到预期值。因为每次删除一个聚集距离小的个体后,其相邻个体的聚集距离就会增大,解集中的区域就会逐渐变得稀疏起来,从而使得该区域中有个体保留下来,不至于像原聚集距离策略那样丢弃整个密集区域。   4.4 新Pareto排序策略
  根据NSGA-II所采用的Pareto排序策略,图1中[f1],[f2]为两个目标函数,个体a和个体b具有相同的概率繁殖后代。显然这是不合理的,因为个体a周围种群的密度明显大于个体b周围种群的密度,而它们繁殖后代的机会却是相等的。针对这种缺陷,该文采用文献[4]所提出的累积排序适应度赋值策略,很好的解决了这问题。
  5 仿真实验
  5.1 实验说明
  本文以50~80kg的猪饲料为例,查得营养标准如表1。其中消化单位为Macl/kg其他为%。
  [成份 \&消化能\&粗蛋白\&精氨酸\&组氨酸\&异亮氨酸\&亮氨酸\&赖氨酸\&蛋氨酸\&苯丙氨酸\&苏氨酸\&色氨酸\&缬氨酸\&钙\&总磷\&比例\&3.4\&15.5\&0.27\&0.24\&0.42\&0.71\&0.75\&0.2\&0.44\&0.51\&0.14\&0.52\&0.5\&0.45\&]
  在饲料配方中选用玉米、豆柏、鱼粉、植物油、复合预混料和食盐等原料。植物油消化能为7.7Mcal/kg,使用量不能超过3%,价格为6元/kg;石粉钙含量为35%,使用量不能超过2%,价格为0.2元/kg;磷酸氢钙的钙含量为24%,总磷含量为16%,使用量不能超过10%,价格为1.35元/kg;原料蛋氨酸含有99%的蛋氨酸,上限为3%,价格为28元/kg;原料赖氨酸含78.8%的蛋氨酸,上限为3%,价格为22元/kg;此外配方中固定使用1%的复合预混料和0.3%食盐,价格分别为10元/kg和0.86元/kg。其余的原料的营养成份和价格如表2所示。
  5.2 实验结果
  本文用传统单目标遗传算法的结果作为对比,由于粗蛋白是猪饲料营养成份之一,也是产生氨气的最主要因素,所以本文粗蛋白的量来衡量氨气指标。成本是指每100kg的经济成本,单位是元,粗蛋白的单位是百分比。
  由图2可知NSGA-II算法在降低成本方面和传统遗传算法相比并没有优势,甚至可能还不如传统的遗传算法,但是由图3也可知NSGA-II算法的猪饲料配方要所需的粗蛋白的含量要明显的低于传统的遗传算法。这种实验结果符合预期,因为在目标优化中,不可能各个目标同时达到最优,以本文为例,要降低猪氨气的排放,可能成本就无法达到最优。
  6 结束语
  针对目前饲料配方设计算法的不足,该文提出了一种基于NSGA-II的饲料配方设计算法,实验结果表明NSGA-II能够很好地解决传统算法的局限性,不仅降低了饲料配方的成本,而且最大限度地降低猪氨气的排放量,取得了比较满意的结果。
  参考文献:
  [1] 吴文斗,曹志勇.利用优化的遗传算法解决饲料配方设计问题[J].云南大学学报,2009,31(3):242-246.
  [2] 王海峰,张健.遗传算法及其在渔饲料配方中的应用[J].上海水产大学学报,2004,12(6):2-3.
  [3] 刘素华,侯慧芳.基于遗传算法的饲料配方设计[J].计算机工程与应用,2005(7):206-208.
  [4] 徐东升,李新春.改进遗传算法在饲料配方设计中的应用[J].中国农学通报,2012,28(8):24-28.
  [5] Rudolph G.convergence Analysis of Canonical Genetic Algorithm[J].IEEE Trans on Neural Networks,1994;5(1):96-101.
  [6] Handels H,Ross Th.Feature Selection for Optimized Skin Tumor Recognition Using Genetic Algorithms[J].Artificial Intelligence in Medicine,1999(16):283-297.
  [7] Muhlenbein H,Schomish M,Born J.The parallel genetic algorithm as function optimizer[J].Parallel Computing,1991(17):619-325.
  [8] 公茂平,焦李成,杨咚咚,马文萍.进化多目标优化算法研究[J].软件学报,2009,2(2):271-289.
  [9] While L.A new analysis of the Leb Measure algorithm for calculating the hyper volume[C].Proc of 3rd Int Conf on Evolutionary Multi Criterion Optimization. Berlin:Springer-Verlag,2005:62-76.
  [10] Coello Coello CA.Evolutionary multi-objective optimization:A historical view of the field[J].IEEE Computational Intelligence Magazine,2006,1(1):28-36.
  [11] Freschi F,Repetto M.VIS:An artificial immune network for multi-objective optimization[J].Engineering Optimization,2006,38(8):975-996.
  [12] Huband S,Hingston P,Barone L,While L.A review of multi-objective test problems and a scalable test problem toolkit[J].IEEE Trans.on Evolutionary Computation ,2006,10(5):477-506.
  [13] Deb K,Thiele L,Zitzler E.Comparison of multi-objective evolutionary algorithms:Empirical results[J].Evolutionary Computation,2000,8(2):173-195.
  [14] Deb K,Thiele L,Laumanns M,Zitzler E.scalable multi-objective optimization test problems.In:Fogel DB ,ed.Proc.of the IEEE Congress on Evolutionary Computation ,CEC 2002.Piscataway:IEEE Service Center,2002,825-830.
  [15] 郑向伟,刘弘.多目标进化算法研究进展[J].计算机科学,2007,34(7):187-192.
转载注明来源:https://www.xzbu.com/8/view-4299399.htm