首页 > 编程语言 >遗传算法-生猪饲料比(一个接单任务)

遗传算法-生猪饲料比(一个接单任务)

时间:2024-12-29 17:59:20浏览次数:6  
标签:线性规划 饲料 算法 M1 生猪 接单 遗传算法 配方

背景:

饲料配方设计的方法比较多,常用的有传统手算法和现代计算机运算法。手算法包括试差法、对角线法和代数法等,手算法计算配方有它的局限性,即过程繁琐,计算量大,需要丰富的实践经验与较强的专业知识,往往经过反复计算才能得到结果,且无法得出最佳配方。随着计算机大数据在饲料配方生产中的应用的越来越普及,大型饲料生产或养殖企业多使用饲料配方软件,这些软件价格较高且较难与该企业生产实际结合,在中、小型养殖场应用很少。应用计算机技术、运筹学及线性规划方法,通过大数据设计配合饲料配方时,将动物对各营养素的最适需要量和饲料原料的营养成分及价格作为已知条件,把满足动物营养需要量作为约束条件,再把最低饲料成本作为配方设计的目标函数。这种方法也是目前应用最广泛的饲料配方设计方法。

数据

书:122种饲料原料所含成分:常规成分、碳水化合物、氨基酸、矿物质、维生素、脂肪酸、能量

论文:13种饲料原料的14种营养成分含量、价格、用量上下限

三种体重阶段的猪,所需的14种营养指标

目标:基于线性规划法、目标规划法、遗传算法三者之一建立生猪饲料配方模型,并在实验数据集上给出结果。

 

 

 

1、线性规划法

应用场景:给出一个阶段中猪所需的各营养成分含量、各原料所含营养成分,建立模型,输出各原料饲喂量,满足各营养成分需求。

2、目标规划法

线性规划的一种应用

l  线性规划是在一系列变量约束的前提下计算出线性目标函数的最优解,目标规划是在线性规划的基础上增加多目标约束,求解出一个最满意的解。

l  线性规划法是把利益最大或费用最小只一个目标评价值的最优化方式。而目标规划法是考虑到多数的目标评价值,在限制条件式满足的数值之间,使其差异最小化的一种方法。

 

3、遗传算法:启发式算法(贪心算法是最基本的启发式算法)(论文中常用此方法)

 

刚开始想使用目标规划,因为这个最简单

但是我还是没有做出来,后面在知乎上面找到了一篇一样的文章,是遗传算法。遗传算法应用:饲料配方配比 - 知乎 (zhihu.com)

这个文章的代码是错误的,我还需要进行修改整理。

 在这里调用算法模板时,返回值应该是两个,但是这里写了三个。

在进行数据计算是,选用的是十一中配料,复合和食盐 因为是定量添加,就没有纳入考虑

所有我需要重新修改代码,加上这两种配料

0.01-(M1 / (B1 + C1 + D1 + E1 + F1 + G1 + H1 + I1 + J1 + K1 + L1 + M1 + N1)) - 0.01,
0.003-(N1 / (B1 + C1 + D1 + E1 + F1 + G1 + H1 + I1 + J1 + K1 + L1 + M1 + N1)) - 0.003,
M1 = Vars[:, [11]]
N1 = Vars[:, [12]]
pop.ObjV = 1.5 * B1 + 1.5 * C1 + 2.8 * D1 + 6 * E1 + 1.6 * F1 + 1.4 * G1 + 6 * H1 + 0.2 * I1 + 1.35 * J1 + 28 * K1 + 22 * L1+10 * M1+0.86 * N1

 

这是最终计算结果,但是很多0。那篇知乎文章上的代码跑出的结果也是很多0,我的也是很多0.

不太理解。

 这篇论文,详细说明 遗传算法 对此数据的计算

 得出的结论 和 我跑出的数据 真不一样

知乎文章 和 这个论文 跑出的结果也不一样

 



标签:线性规划,饲料,算法,M1,生猪,接单,遗传算法,配方
From: https://www.cnblogs.com/youxiandechilun/p/18639313

相关文章