200分求算法,请富翁们出手(200分)

  • 主题发起人 主题发起人 zhongme_007
  • 开始时间 开始时间
Z

zhongme_007

Unregistered / Unconfirmed
GUEST, unregistred user!
假设人体需要:蛋白质 50g 脂肪 30g 淡水化合物 60g
选择的食物有:牛奶(含 蛋白质 2g/每100克 碳水化合物 3g/每100克)
肉 (含 蛋白质 2g/每100克 碳水化合物 3g/每100克 脂肪 5g/每100克)
水果(含 蛋白质 4g/每100克 碳水化合物 6/每100克 脂肪 2g/每100克)
牛奶价格1.5元/100g,肉价格2元/100g,水果1.8元/100g
问:需要分别吃多少牛奶+肉+水果(牛奶、肉、水果都要吃),可以满足人体需要,且花的生活费最省。
 
小弟去看了以前富翁们的帖子,一直都找不到合适的方法,在网上也找了个对偶单纯性算法程序,但是当食物数多的时候,总会有食物的食用量为零的情况,这不是我想要的结果,理想中的结果:所有待选择的食物都必须被选择(食用量必须大于零),且生活费花费最省。
 
这个是最优化问题,最好是用Prolog或其他的形式化人工智能语言
 
当 <= 需要;
全循环来找,
 
全循环找是可以的,请问有没有更好的办法啊?
 
人工智能问题,和搭积木是一样的问题。
 
请高手说的详细一点,此类人工智能问题该用什么算法来解决呢?
 
5c
30 0 50
10 b
10 0 0
5A
5*1.8 + 10 *2 + 5*1.5
=====================
10b
30 0 10
5C
10 0 0
5A
5*1.5 + 5*1.8 + 10 *2
 
这个对应数学里的最小覆盖问题,楼主可以采用A*算法解决,人工智能的书里基本都有这个算法,看着流程图就可以写出来了,网上有没有源码不太清楚。
 
可以用线性规划单纯型求解
 
多人接受答案了。
 
后退
顶部