如何购买零食最划算,规划求解告诉你!

假如有这么一个场景:一位高三的学霸刚参加完高考,对自己的成绩很满意。家长知道后也很高兴,决定奖励ta100元去买零食,并且告诉ta尽量把这100元花完,剩的越少越好。

听到这里ta也很高兴,终于可以放松一下了。然而事情并没有这么简单,家长要求ta只能买下面几种零食,并且每种零食不能超过2个,还要把100元尽可能的花完,也就是剩的最少。让ta找一个最佳的购买方案。

天呐!这哪里是奖励,简直就是一个巨大的挑战,我们的学霸太不容易了。如果你是这位学霸,该如何找到最佳购买方案?

上图我已经给出了答案,也就是C列的结果。已知有6种零食以及对应的单价,求购买的数量。

这其实是个组合问题,每一种零食有3种选法:不选,选1个,选2个。那么6种零食共有3的6次方,也就是729种组合。要从中找到最优解的组合太难了,没有组合数知识用函数无从下手,但是用规划求解就简单多了。

选择C8作为目标单元格,输入公式=SUMPRODUCT(B2:B7,C2:C7)。其中C2:C7为可变单元格,是购买的数量,它们的值只能是0,1,2。通过调整购买数量,来找到最优购买方案。

点【数据】-【规划求解】,调出规划求解对话框,设置目标单元格和可变单元格。目标单元格选C8,勾选最大值。可变单元格选择C2:C7。

然后添加约束条件,点上图的添加按钮,添加约束。这里有4个约束条件,分别如下所示。第1个约束条件设置完,点添加,继续设置第2个约束条件,以此类推。

上图前3个约束条件分别设置可变单元格C2:C7大于等于0,小于等于2,整数。这样才能确保它们只能是0,1,2这三个数。最后一个约束条件设置目标单元格C8小于等于100,让它是小于等于100的最大值。

当最后一个约束条件设置好后,点确定,弹出下图的对话框。可以看到约束那里有4个条件了。
目标单元格,可变单元格,约束条件都设置好了,是不是可以求解了。其实这里为了得到最优解,还有一个地方要设置一下。
点上图的选项,弹出下图的对话框。选所有方法,将整数最优性那里设为0,点确定。这样将误差减小,但是计算量会大大增加。如果不是求最优解,不用设置为0。
点确定后,回到下图的界面。现在可以求解了,点击求解。
excel开始计算,最后找到结果,且是最优解。可以看到最后的花费金额为99.8元,购买的零食数量如C列所示。点击确定,完成。
链接:

https://pan.baidu.com/s/1jB0iLew-E28xWzJ01GyQWA

提取码:erlj
(0)

相关推荐