建模和解决营养优化问题:如何?

计算科学 约束优化 线性规划
2021-12-27 10:38:56

如何解决/评估以下问题?

给定种成分,如苹果、面包等。成分的质量在此简化模型中是宏量营养素碳水化合物、蛋白质和脂肪的总和,比例Njcjpjfj

(1) Mj=(cj+pj+fj)xj (克)

(2) cj+pj+fj=1

还提供营养模型,

(3)Ac+Bp+Cp=1

问题:找到最佳数量使得总质量可能满足提供的营养模型,即xj

(4) Mtotal=x1M1+xj+Mjxj..+MNxN

在哪里

(5)j=1ncj/Mtotal=Ac
(6)j=1npj/Mtotal=Bp
(7)j=1nfj/Mtotal=Cf

从我目前的知识状态来看,我假设这是一个线性规划问题,例如可以使用 Python 的 PuLP 之类的求解器来解决。所以我会试着绕开它,但如果我的方向完全错误,我希望这里的答案能给我指出另一种更合适的方法。

例子:

  • 假设我们要消耗 1500 kcal(节食,通常成年人吃大约 2000 kcal 加上一些较小的细节级别的 kcal,这是基于性别、年龄、体重和身体活动水平(也称为 PAL)的个人值)
  • 一个可能的建议是将这些卡路里作为“预算”分配在 55% 的碳水化合物、15% 的蛋白质和 30% 的脂肪之间。所有这些酮和低碳水化合物的东西基本上就是这三个参数的加权方式。
  • 现在我们知道我们应该吃掉“热量向量”[825.0000000000001, 225.0, 450.0]或使用参考值重新计算以克为单位的质量[201, 55, 48]
  • 一个或多或少接近的随机菜单可以是例如:“ 1489 kcal = 25g 黄油、85g Emmenthal、180g 火鸡胸肉、800g 香蕉

建模方法1

  • 决策变量:大量营养素的质量值;c_banana最佳香蕉量中的总碳水化合物值。
  • 限制条件:需要告诉程序包含哪些单独的营养素以及饮食目标是什么
  • 优化目标:在摄入较少卡路里的同时,让我们优化这种健康食品的最大质量。

遇到的问题

我如何实际模拟香蕉含有 21% 的碳水化合物?天真的猜测,

model += (c_banana /(c_banana + p_banana + f_banana) == 0.21, "banana_c")

导致以下错误:

TypeError: unsupported operand type(s) for /: 'LpVariable' and 'LpAffineExpression'
0个回答
没有发现任何回复~
其它你可能感兴趣的问题