一种饲料配方优化方法、系统、计算机及存储介质

文档序号:28502203发布日期:2022-01-15 05:04阅读:136来源:国知局
一种饲料配方优化方法、系统、计算机及存储介质

1.本发明涉及饲料配方优化的技术领域,尤其涉及到一种饲料配方优化方法、系统、计算机及存储介质。


背景技术:

2.饲料的配方研制中,由于原料营养成分的多样性和动物需求营养指标的复杂性,导致目标求解时会遇到多种约束条件。在满足限制条件的同时还需要实现成本的降低,并且在求解过程中需要考虑到时间复杂度、搜索范围和结果的精度等多个问题,这给饲料配方研究加大了难度。由于传统的手工算法、线性规划法或局部搜索法已经无法满足现实中要求的配方涵盖更多原料与原料市场价格不断变化等现实因素,其所求的结果质量较差。虽然智能优化算法有很好的性能,但是单纯地使用群智能优化算法,所求结果较好,却在时间复杂度和精度控制上总是不能较好满足限制性约束条件控制。因此,如何得到既能满足限制性约束条件又能最大限度地降低成本的饲料配方显得尤为重要。


技术实现要素:

3.本发明的目的在于克服现有技术的不足,提供一种饲料配方优化方法,使得得到既能满足限制性约束条件又能最大限度地降低成本的饲料配方。
4.为实现上述目的,本发明所提供的技术方案为:
5.一种饲料配方优化方法,包括以下步骤:
6.s1、结合实际情况选择饲料配方的原料;
7.s2、通过查阅饲料成分及营养价值表获取步骤s1选择得到的原料的营养成分含量;
8.s3、根据喂养的动物结合参考文献确定该动物的营养需求量;
9.s4、建立饲料配方优化模型;
10.s5、对步骤s4建立的饲料配方优化模型进行求解;
11.s6、通过改进的禁忌搜索算法对步骤s5求解得到的结果进行优化,最终得到最优的饲料配方。
12.进一步地,所述步骤s1结合实际情况选择饲料配方原料时,需要考虑的情况包括原料的种类、原料的体积、原料的特性、原料的混合情况以及原料的单价;所述原料的单价包括原料本身的价值和运费。
13.进一步地,所述步骤s4建立饲料配方优化模型的过程如下:
14.设有m种原料和n种饲料营养需求,则构建一个n*m的矩阵p(a
ij
),i=1,2,...,n;j=1,2,...,m;
15.假设饲料成本为e,则定义饲料配方优化模型中的目标函数为如下所示:
16.mine=c1x1+c2x2+...+cmxmꢀꢀꢀ
(1)
17.式(1)中,xi(i=1,..,m)为每个原料在配方中所占的含量,x1+x2+...+xm等于饲料
配方的总重量,c1,c2,...,cm为每个原料的单价;
18.对于饲料的相关约束条件,用以下的不等式方程组进行刻画:
[0019][0020]
式(2)中,a
ij
为第i种原料含有的第j种营养成分的含量;bi为喂养的动物所需的各项营养成分的最低标准。
[0021]
进一步地,所述步骤s5通过传统优化算法或智能优化算法对步骤s4建立的饲料配方优化模型进行求解;
[0022]
其中,传统优化算法采用穷举法或线性规划法;
[0023]
智能优化算法采用遗传算法、粒子群算法或模拟退火算法。
[0024]
进一步地,所述步骤s6通过改进的禁忌搜索算法对步骤s5求解得到的结果进行优化的具体过程如下:
[0025]
s6-1、从步骤s5求解得到的结果x=[x1,x2,...,xm],xi(i=1,..,m)为每个原料在配方中所占的含量,对应的饲料成本为f;设置搜索精度矩阵w=[w1,w2,...,w
p
]、迭代次数k,k=0;定义包括有邻域移动矩阵的禁忌表t;
[0026]
s6-2、判断k是否大于k,若是,则跳至步骤s6-8,否则,设置i=1,并进入步骤s6-3;
[0027]
s6-3、判断i是否大于p,若是,则k=k+1,并返回步骤s6-2,否则进入步骤s6-4;
[0028]
s6-4、输入精度wi,进行邻域移动,对x中两个不同的元素分别+wi和-wi,得到2*m*(m-1)个不同的邻域移动矩阵m;
[0029]
s6-5、将步骤s6-4得到的所有的邻域移动矩阵m逐一与禁忌表t中的邻域移动矩阵进行比对,若当前邻域移动矩阵m和禁忌表t中的邻域移动矩阵的和为零,则剔除当前的邻域移动矩阵m对应的解x;
[0030]
s6-6、将步骤s6-5得到的剩余的解x代入到约束条件中,剔除不满的解x;
[0031]
s6-7、将步骤s6-6剩余的解x代入到目标函数中,通过比较各剩余的解x所对应的饲料成本e,求出当前的最优解x,记录并更新饲料成本f,然后将最优解x对应的邻域移动矩阵m更新到禁忌表t中,i=i+1,返回步骤s6-3;
[0032]
s6-8、输出最终的结果x和对应的饲料成本f。
[0033]
为实现上述目的,本发明另外提供一种饲料配方优化系统,用于实现上述的饲料配方优化方法,其包括顺序连接的饲料配方原料选择模块、原料营养成分含量获取模块、动物营养需求量确定模块、建模模块、求解模块以及优化模块;
[0034]
其中,
[0035]
所述饲料配方原料选择模块用于结合实际情况选择饲料配方原料;
[0036]
所述原料营养成分含量获取模块用于通过查阅饲料成分及营养价值表获取饲料配方原料选择模块选择得到的原料的营养成分含量;
[0037]
所述动物营养需求量确定模块用于根据喂养的动物结合参考文献确定该动物的营养需求量;
[0038]
所述建模模块用于建立饲料配方优化模型;
[0039]
所述求解模块用于对建模模块建立的饲料配方优化模型进行求解;
[0040]
所述优化模块用于对求解模块求解得到的结果进行优化,最终得到最优的饲料配方。
[0041]
为实现上述目的,本发明另外提供一种计算机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述饲料配方优化方法的步骤。
[0042]
为实现上述目的,本发明另外提供一种存储介质,其存储有计算机程序,该程序被处理器执行时实现上述饲料配方优化方法的步骤。
[0043]
与现有技术相比,本技术方案的原理及优点如下:
[0044]
本技术方案首先结合实际情况选择饲料配方原料,通过查阅饲料成分及营养价值表获取选择得到的原料的营养成分含量,并根据喂养的动物结合参考文献确定该动物的营养需求量。接着,建立饲料配方优化模型,之后对建立的饲料配方优化模型进行求解。最后通过改进的禁忌搜索算法对求解得到的结果进行优化,最终得到最优的饲料配方。
[0045]
本技术方案能得到既能满足限制性约束条件又能最大限度地降低成本的饲料配方。具体地,过程中结合实际情况利用传统优化算法或智能优化算法进行初始点的搜索,由于不用高精度搜索,若采用穷举法或线性规划法,运行时间都较短,之后在所求结果的基础上,利用改进的禁忌搜索算法实现跳出局优全局搜索,找到更优解。且由于该算法只针对于结果进行优化,不涉及算法的架构改变,所以该算法不仅能够嵌套其他算法实现结果的再优化,可以通过设置参数实现对于优化结果精度的控制,并且可以克服搜索过程易于早熟收敛的缺陷而实现全局优化得到较好的结果。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]
图1为本发明实施例中一种饲料配方优化方法的原理流程图;
[0048]
图2为通过改进的禁忌搜索算法对求解得到的结果进行优化的原理流程图;
[0049]
图3为本发明实施例中一种饲料配方优化系统的结构示意图。
具体实施方式
[0050]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0051]
如图1所示,本实施例描述一种关于猪饲料的配方优化方法,包括以下步骤:
[0052]
s1、结合实际情况选择饲料配方的原料;
[0053]
在饲料配制的过程中,原料的选取是其中的重要环节之一,需要考虑的情况包括原料的种类、原料的体积、原料的特性、原料的混合情况以及原料的单价;所述原料的单价包括原料本身的价值和运费。
[0054]
具体原则如下:
[0055]
1)原料的种类:原料品种应多样化,以利于发挥各种原料之间的营养互补作用;
[0056]
2)原料的体积:选择的原料体积需和猪消化道的容积相适应。如果体积过大,猪在未用完饲料的情况下已经饱腹,则会出现营养摄入不足的情况;若体积太小,则容易出现因饥饿感而产生的不安和焦躁,影响生长进度。
[0057]
3)原料的特性:需要详细掌握原料的适口性,原料中的有毒物质含量,保存性是否良好等特性。适口性不佳,或者因保存性不良而需添加大量防腐剂的原料不宜选用,另外生产饲料过程中污染性较强的原料也不宜选用。
[0058]
4)原料的混合情况:各种原料必须要可以均匀混合,要了解清楚混合后有无其他化学反应产生其他不利于猪生长发育的物质。尤其是添加预混料时,混合不均匀容易导致牲口中毒,影响生长发育。
[0059]
5)原料的单价:在原料选择时应坚持因地制宜、就地取材的原则,避免产生不必要的运输费用,有利于降低成本的同时充分利用当地原料资源。
[0060]
假设经过结合实际情况后,选择得到饲料配方原料:玉米、米糠粕、豆粕、菜粕、棉粕、椰子油、石粉、磷酸氢钙、赖氨酸。
[0061]
s2、通过查阅饲料成分及营养价值表获取步骤s1选择得到的原料的营养成分含量,如下表1所示
[0062][0063]
表1
[0064]
s3、根据喂养的猪结合参考文献确定猪的营养需求量,如下表2所示
[0065]
项目营养标准代谢能14.23粗蛋白质15.50钙0.50有放磷0.19赖氨酸0.75蛋氨酸0.20
[0066]
表2
[0067]
s4、建立饲料配方优化模型;
[0068]
设有m种原料和n种饲料营养需求,则构建一个n*m的矩阵p(a
ij
),i=1,2,...,n;j=1,2,...,m;
[0069]
假设饲料成本为e,则定义饲料配方优化模型中的目标函数为如下所示:
[0070]
mine=c1x1+c2x2+...+cmxmꢀꢀꢀ
(1)
[0071]
式(1)中,xi(i=1,..,m)为每个原料在配方中所占的含量,x1+x2+...+xm等于饲料配方的总重量,c1,c2,...,cm为每个原料的单价;
[0072]
对于饲料的相关约束条件,用以下的不等式方程组进行刻画:
[0073][0074]
式(2)中,a
ij
为第i种原料含有的第j种营养成分的含量;bi为猪所需的各项营养成分的最低标准。
[0075]
s5、通过传统优化算法或智能优化算法对步骤s4建立的饲料配方优化模型进行求解;其中,传统优化算法包括穷举法、线性规划法等;智能优化算法包括遗传算法、粒子群算法、模拟退火算法等。采用哪一种方法视具体情况而定。
[0076]
上述中,穷举法、线性规划法的精度不高,但所用的时间较短;
[0077]
遗传算法、粒子群算法、模拟退火算法的精度较高,但计算时间过长,会消耗大量的时间成本。
[0078]
s6、通过改进的禁忌搜索算法对步骤s5求解得到的结果进行优化,最终得到最优的饲料配方。
[0079]
禁忌搜索算法的实质是通过禁忌表实现全局搜索与局部搜索。首先设定算法参数,产生初始解x,设置空禁忌表;但是由于传统的禁忌搜索算法初始解都是随机产生的,会导致算法结果不稳定且优化程度较低,因而本算法实现了利用传统算法进行计算,再利用求得结果作为初始解再进行优化。之后判断是否满足终止条件,通常可以设置运行次数或结果所达到的阈值,如果达到则输出结果,没有则运行继续。然后根据邻域移动规则,将上一步的所求结果x进行移动,在问题中由于需要保持配料占比总和为100%的要求,一次只改变x中的两个变量的值。由于x中有多个变量值,因此邻域变化值相同的情况下,一轮邻域移动会有可列个新的解x,我们将所有所得的解代入限制条件中,并且判断对应的邻域移动规则是否在禁忌表中,不满足的剔除。将所有可行解代入到目标函数中,找到最优的解并记录目标函数的适应值、最优解和此次最优解对应的邻域移动,将对应的移动放入禁忌表中,直到在规定的代数之后才可以重新使用此邻域移动(由于x内变量和是一定的,邻域移动也是增减操作,所以不涉及赦免准则,不在此赘述)。最后将所求的优化解进行更新,并更新对应的目标函数适应值和对应的代数,并转到判断终止条件那一步。
[0080]
如图2所示,对求解得到的结果进行优化的具体步骤如下:
[0081]
s6-1、从步骤s5求解得到的结果x=[x1,x2,...,xm],xi(i=1,..,m)为每个原料在配方中所占的含量,对应的饲料成本为f;设置搜索精度矩阵w=[w1,w2,...,w
p
]、迭代次数k,k=0;定义包括有邻域移动矩阵的禁忌表t;
[0082]
s6-2、判断k是否大于k,若是,则跳至步骤s6-8,否则,设置i=1,并进入步骤s6-3;
[0083]
s6-3、判断i是否大于p,若是,则k=k+1,并返回步骤s6-2,否则进入步骤s6-4;
[0084]
s6-4、输入精度wi,进行邻域移动,对x中两个不同的元素分别+wi和-wi,得到2*m*(m-1)个不同的邻域移动矩阵m;
[0085]
s6-5、将步骤s6-4得到的所有的邻域移动矩阵m逐一与禁忌表t中的邻域移动矩阵进行比对,若当前邻域移动矩阵m和禁忌表t中的邻域移动矩阵的和为零,则剔除当前的邻域移动矩阵m对应的解x(这样可以避免由于上一步陷入局优而此次又搜索到上一步的最优
值无法跳出的情况);
[0086]
s6-6、将步骤s6-5得到的剩余的解x代入到约束条件中,剔除不满的解x;
[0087]
s6-7、将步骤s6-6剩余的解x代入到目标函数中,通过比较各剩余的解x所对应的饲料成本e,求出当前的最优解x,记录并更新饲料成本f,然后将最优解x对应的邻域移动矩阵m更新到禁忌表t中,i=i+1,返回步骤s6-3;
[0088]
s6-8、输出最终的结果x和对应的饲料成本f。
[0089]
为了证实本实施例所述方法的有效性和优越性,分别采用本实施例所述方法(its)、线性规划算法(lp)、目标规划算法(gp)、模糊线性规划算法(flp)、随机规划算法(sp)、模拟退火搜索算法(saa)、标准遗传算法(ga)以及杂种遗传算法(hga)对猪的饲料配方进行优化,优化结果如下表3所示:
[0090]
饲料配方中禁忌搜索算法与线性规划、目标规划、模糊线性规划、随机规划、模拟退火搜索、标准遗传算法和杂种遗传算法的成本比较
[0091][0092]
*
lp为线性规划;gp为目标规划;fllp为模糊线性规划;sp为随机规划:saa为模拟退火搜索:标准遗传算法为ga;杂种遗传算法为hga
[0093]
表3
[0094]
通过比较可以发现,gp、flp算法所得结果所需原料种类较多,会在找寻合适原料厂商的过程中会耗费大量人力、物力;sp算法所得结果成本价高达每吨2075.44元,成本过高;而lp算法作为线性规划算法,不适用于非线性营养方程,具有较大的局限性;saa、ga、hga算法则存在遗传算法所有的计算时间过长问题,会消耗大量的时间成本,结果可能不具有及时性。综上,与其他使用不同算法的方法相比,本实施例所述方法在降低猪饲料配方的总成本方面具有最好的性能,时间、人力、资金节约能力十分显著。
[0095]
除了描述饲料配方优化方法,本实施例还描述有一种饲料配方优化系统,所述饲料配方优化系统用于实现该饲料配方优化方法,其包括顺序连接的饲料配方原料选择模块1、原料营养成分含量获取模块2、动物营养需求量确定模块3、建模模块4、求解模块5以及优化模块6;
[0096]
其中,
[0097]
所述饲料配方原料选择模块1用于结合实际情况选择饲料配方原料;
[0098]
所述原料营养成分含量获取模块2用于通过查阅饲料成分及营养价值表获取饲料配方原料选择模块1选择得到的原料的营养成分含量;
[0099]
所述动物营养需求量确定模块3用于根据猪结合参考文献确定猪的营养需求量;
[0100]
所述建模模块4用于建立饲料配方优化模型;
[0101]
所述求解模块5用于对建模模块4建立的饲料配方优化模型进行求解;
[0102]
所述优化模块6用于对求解模块5求解得到的结果进行优化,最终得到最优的饲料配方。
[0103]
还有的是,本实施例还描述有一种计算机,其包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行程序时实现上述饲料配方优化方法的步骤。
[0104]
最后,本实施例还描述有一种存储介质,其存储有计算机程序,该程序被处理器执行时实现上述饲料配方优化方法的步骤。
[0105]
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1