一种基于改进NSGA2算法的低碳饲料配方方法组成比例

技术编号:36947288 阅读:20 留言:0更新日期:2023-03-22 19:08
本发明专利技术涉及饲料配方技术领域,尤其涉及一种基于改进NSGA2算法的低碳饲料配方方法,包括:S1、初始化种群,将进化代数Gen设置为1;S2、判断是否生成第一代子种群,如果生成则进化代数Gen=2;否则就对初始种群进行非支配排序、选择、交叉、变异操作,生成第一代子种群;S3、将父种群和子种群合并,得到新种群;S4、判断是否生成新的父种群,如果生成则对其进行选择、交叉、变异操作,生成新的子种群。本发明专利技术以蛋鸡饲料配方为例,使用饲料生产过程中的碳排放量以及生产成本两个指标,提出一种改进的NSGA2算法,在注重饲料成本的同时,将碳排放作为另一大重点,达到降低成本和碳减排双目标。达到降低成本和碳减排双目标。达到降低成本和碳减排双目标。

【技术实现步骤摘要】
一种基于改进NSGA2算法的低碳饲料配方方法


[0001]本专利技术涉及饲料配方
,尤其涉及一种基于改进NSGA2算法的低碳饲料配方方法。

技术介绍

[0002]畜牧业养殖所产生的温室气体占总人为温室气体的14.5%。饲料是畜牧业的基础,全球三分之一的农田用于饲料生产,在此过程中产生了大量的二氧化碳、甲烷等温室气体,对生态环境造成巨大影响,但生产者并未对此给予足够重视。因此,降低饲料成本的同时,减少饲料碳排放是饲料配方设计所要面临的问题。
[0003]蛋鸡饲料配方设计是一个多目标优化问题,饲料成本和产生的碳排放是相互制约的,在追求经济成本最小的同时,碳排放量也会随之变大,不可能达到经济成本、碳排放量双最小的理想状态。在传统的蛋鸡饲料配方设计中,主要通过设计者的大量经验决定各种原料的用量范围,这需要对饲料配方进行多次改进和试验才能获得一个较为合适的配方。
[0004]在设计饲料配方时,使用的传统方法一般为线性规划法,但由于饲料原料种类繁多、约束条件复杂等原因,线性规划法不能高效地得出结果,且只能获得一组解,缺少灵活性。遗传算法通过计算可以获得一组最优解,养殖者可以根据实际情况,采取合适的饲料配方方案。与其他进化算法相比,包括蚁群算法、模拟退火算法、微粒子算法等,遗传算法在饲料配方设计上具有天然优势,包括优秀的并行性、强大的随机搜索能力、可扩展性高等等。而传统的遗传算法也需要给定各目标函数权重,由此非支配排序遗传算法(Non

dominated Sorting Genetic Algorithms,NSGA)应运而生。而本申请采用NSGA算法将种群中的个体按照支配与非支配关系进行个体分层,最终通过选择操作,使得该算法能够获得较为满意的结果。NSGA2算法在NSGA算法的基础上,使用精英保留策略和拥挤算法替代共享函数算法,提高了算法鲁棒性以及运算速度,避免结果的偶然性。

技术实现思路

[0005]本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种基于改进NSGA2算法的低碳饲料配方方法,采用NSGA2算法将原料用量阈值及蛋鸡生长所需营养标准转换为约束条件,以经济成本和碳排放为两个目标函数,给出在满足营养标准前提下的最优解集,解决了传统设计方法效果差、效率低的问题。
[0006]为了实现上述目的,本专利技术采用了如下技术方案:
[0007]一种基于改进NSGA2算法的低碳饲料配方方法,具体步骤如下:
[0008]S1、初始化种群,将进化代数Gen设置为1;
[0009]S2、判断是否生成第一代子种群,如果生成则进化代数Gen=2;否则就对初始种群进行非支配排序、选择、交叉、变异操作,生成第一代子种群;
[0010]S3、将父种群和子种群合并,得到新种群;
[0011]S4、判断是否生成新的父种群,如果生成则对其进行选择、交叉、变异操作,生成新
的子种群;否则就计算新种群中个体的目标函数,并进行快速非支配排序、拥挤度计算、精英策略操作,最终按非支配等级选取个体生成新的父种群;
[0012]S5、循环进行步骤S3、步骤S4两步,直至进化代数Gen不满足循环条件,结束循环;
[0013]其中,低碳饲料配方的数学模型如下所示:
[0014]目标函数:
[0015][0016]满足约束条件:
[0017][0018]其中:P、C分别为饲料成本、碳排放量两个目标函数值,计算得到的是在满足约束条件下的最小成本和最小碳排放量;p
i
、c
i
分别为各种原料的价格系数以及碳排放因子,i=1,2,

,n;x
i
为蛋鸡饲料所需原料的使用量,i=1,2,

,n;a
ji
为第i种原料中第j种营养成分的含量,i=1,2,

,n;j=1,2,

,r,r为约束条件的数量;b
j
为蛋鸡生长需要的营养标准,即蛋鸡饲料应当满足的各类营养要求,j=1,2,

,r。
[0019]优选地,当最优非支配层个体数量超过父种群规模时,选择下式中数量N的子代个体填入父种群中,剩余个体将从下一非支配层中进行选择;
[0020][0021]其中:N
i
为第i个非支配层中能够填入父种群的最大个体数量,i为当前子种群的非支配层数;N为父种群大小;rank
max
为子种群中个体的最大支配等级。
[0022]优选地,NSGA2算法在进行交叉操作时,从父种群中随机选择两个父代个体进行交叉,生成两个子个体,其定义如下:
[0023][0024]其中,x1、x2、y1、y2分别为父代个体1、2,子代个体1、2;i为个体的第i个变量;β与随机数η
c
∈[0,1]有关,表达式如下所示:
[0025][0026]其中,η
c
为自行定义的非负实数,称为交叉分布指数;β值越大,产生的个体越接近父代个体;反之,则远离父代个体;
[0027]重新定义交叉分布指数,通过两个父代个体的非支配等级之和与最大非支配等级的比值来决定η
c
的大小,η
c
表达式如下:
[0028][0029]其中,rank_1、rank_2分别为父代个体1和2的非支配等级;max_rank为当前父种群的最大非支配等级。
[0030]通过采用上述技术方案:NSGA 2算法根据最大进化代数进行终止判断,而最大进化代数设置太大会增加许多不必要的运算时间,设置太小又会导致优化结果不理想。这里根据代码中使用的分布型指标(GD)提出了一种新的终止判断条件,即当GD的值小于事先设定的某个阈值时,循环终止。这样既可以保证最终获得的最优解集的收敛性,又可以减少大量非必要的计算量,提高算法的运算效率。
[0031]与现有技术相比,本专利技术具有以下有益效果:
[0032]1、本专利技术以蛋鸡饲料配方为例,使用饲料生产过程中的碳排放量以及生产成本两个指标,提出一种改进的NSGA2算法,在注重饲料成本的同时,将碳排放作为另一大重点,达到降低成本和碳减排双目标。
[0033]2、本专利技术与传统的NSGA2算法相比,改进的NSGA2算法采用一种新的精英保留策略,避免局部收敛问题,减少种群多样性损失;通过定义新的SBX交叉算子,加强算法的全局搜索能力,保持种群多样性。
[0034]3、本专利技术与传统NSGA2算法相比,改进算法具有良好的运算效率,每吨饲料可以降低2.56元,碳排放减少130g,为低碳饲料配方提供了一种快捷有效的新方法。
附图说明
[0035]图1为本专利技术的流程图;
[0036]图2为三种算法在相同运行时间内的测试结果图;
[0037]图3为三种算法在相同运行时间内的测试结果放大图;
[0038]图4为传统NSGA2算法的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进NSGA2算法的低碳饲料配方方法,其特征在于,具体步骤如下:S1、初始化种群,将进化代数Gen设置为1;S2、判断是否生成第一代子种群,如果生成则进化代数Gen=2;否则就对初始种群进行非支配排序、选择、交叉、变异操作,生成第一代子种群;S3、将父种群和子种群合并,得到新种群;S4、判断是否生成新的父种群,如果生成则对其进行选择、交叉、变异操作,生成新的子种群;否则就计算新种群中个体的目标函数,并进行快速非支配排序、拥挤度计算、精英策略操作,最终按非支配等级选取个体生成新的父种群;S5、循环进行步骤S3、步骤S4两步,直至进化代数Gen不满足循环条件,结束循环;其中,低碳饲料配方的数学模型如下所示:目标函数:满足约束条件:其中:P、C分别为饲料成本、碳排放量两个目标函数值,计算得到的是在满足约束条件下的最小成本和最小碳排放量;p
i
、c
i
分别为各种原料的价格系数以及碳排放因子,i=1,2,

,n;x
i
为蛋鸡饲料所需原料的使用量,i=1,2,

,n;a
ji
为第i种原料中第j种营养成分的含量,i=1,2,

,n;j=1,2,

,r,r为约束条件的数量;b
j
为蛋鸡生长需要的营养标准,即蛋鸡...

【专利技术属性】
技术研发人员:陈光烨吉训生王文郁黄琪琪姜晓卫
申请(专利权)人:江苏天成科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1