gpt4 book ai didi

python - 在 python 中对数字总和和尊重标准进行排序的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:14 26 4
gpt4 key购买 nike

我正在尝试对动物饲养进行饲料优化计算,但我是 Python 编码方面的菜鸟。

实际上,我试图实现的是通过提供足够的 A 和 B 标准的 k 组或更少的组来计算 n 种成分的成本较低的组合。

我的问题是,当配料数量开始上升时,python 在计算中挂起。那么有没有办法让 python 使用更多的内存或更好的算法或已经可用的包来进行这些计算。我在网上搜索了答案,但也许这个特定问题有一个我不知道的数学名称。

我现在在做什么:

  1. 创建成分矩阵:每个成分有一个名字然后P,A,B,C,D... 其中 P 是价格和 A,B,C,... 是不同的营养元素
  2. 创建极限矩阵:每个元素都有总混合的最小值和最大值。
  3. 创建目标向量:我现在想要获得的是 A=X 向量和 B=Y 向量,但我想在将来指定 C、D 等。
  4. 然后我计算所有可能的配料组合总和(通常为 1000 种)并按 k 种配料分组。
  5. 去掉不符合极限矩阵的组合,得到可用的组合矩阵
  6. 将成分矩阵乘以组合矩阵得到最终的成分矩阵
  7. 删除组合矩阵中不符合标准 A 和 B 的目标向量的所有值。
  8. 按价格对结果列表进行排序并给出结果。

我正在使用 Numpy 进行大部分操作。

该方法(据我所知)不可能是一个简单的线性代数问题,因为有时不会有完美的解决方案,这就是为什么首先采用数值方法的原因。

谢谢

最佳答案

我认为您应该看看 scipy.optimize - 它会非常愉快地处理 numpy 数组并且通常非常快。参见引用 http://docs.scipy.org/doc/scipy-0.8.x/reference/tutorial/optimize.html

如果您有一个指定每种成分数量的输入向量A,以及一个指定每种成分的价格和营养值(value)的成分矩阵I,那么AI 应该为您提供给定混合物的总价和营养值(value)。

您现在需要一个评估函数,该函数对 A 进行归一化(将其乘以可能的最低常数,以使所有营养值至少达到其最低要求值)并返回总价,加上一个陡峭的惩罚对于超过最大值的任何数量的营养素,加上对大量成分的较小惩罚。然后优化器使用 A(同时保持所有值 >= 0)来最小化评估函数的结果。

关于python - 在 python 中对数字总和和尊重标准进行排序的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5106358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com