我正在尝试找出具有四个约束的背包的逻辑。我想制作一个程序,您可以在其中输入您想在一顿饭中消耗的卡路里、脂肪、碳水化合物和蛋白质,然后它会在可能的食物列表中查找符合输入标准的最接近的食物组合。
例子
我有这些物品
- 4盎司牛肉(231卡路里,15克脂肪,0克碳水化合物,22克蛋白质)
- 1/2 杯燕麦片(260 卡路里,2g 脂肪,58g 碳水化合物,10g 蛋白质)
- 1/2 杯黑豆(120 卡路里,0.5 克脂肪,23 克碳水化合物,7 克蛋白质)
- 1根香蕉(105卡路里,0克脂肪,27克碳水化合物,1克蛋白质)
- 1/2 杯干酪(110 卡路里,5g 脂肪,6g 碳水化合物,11g 蛋白质)
- 1/2 杯全麦面食(200 卡路里,1g 脂肪,40g 碳水化合物,8g 蛋白质)
我的目标是消耗 745 卡路里,<= 20g 脂肪,<=80g 碳水化合物,>= 40g 蛋白质
我见过很多背包问题的实现,但我从未见过它有 4 个约束。我的问题是它是否可行。你能引导我找到适合我的程序的算法吗?谢谢你。