Excel 是否能根据产品的重量和数量优化装车明细?

图6.107所示的表中包含需要装车的产品明细,但是车子限载1279公斤,只能小于等于1279公斤,不能超重。现在的问题是:要将哪些产品装上车、每个产品装多少件,才能既不超载又确保剩下的货品最少?

解题步骤

本例的需求只能用规划求解完成,不过相对于以往的案例,本例更复杂一些,需要使用更多的约束条件,具体操作步骤如下。

1 .删除 C 列的数量,然后在 D1 中输入“剩余”,在 D2 中输入公式“=1279-SUMPRODUCT(B2:B7,C2:C7)”。由于此时所有产品的数量都是 0,因此剩余总量是1279公斤,公式效果如图6.108所示。

图6.108 设置公式

2.单击功能区的“数据”→“规划求解”,弹出“规划求解参数”对话框。

3.将目标设置为 D2,然后选中其下方的“最小值”,表示当 D2 单元格的值最小时停止求解。

4.将可变单元格设置为C2:C7,设置界面如图6.109所示。

图6.109 设置目标和可变单元格

5.单击右方的“添加”按钮,然后添加约束条件为 D2 大于等于 0,设置界面如图 6.110所示。

图6.110 添加约束条件1

6.继续单击“添加”按钮,然后添加两个约束条件,包含C2:C7区域大于等于0、C2:C7区域必须是整数,设置界面如图6.111和图6.112所示。

图6.111 添加约束条件2

图6.112 添加约束条件3

7.单击“添加”按钮,然后添加C2:C5小于等于4、C6:C7小于等于2这两个条件,设置界面如图6.113和图6.114所示。

图6.113 添加约束条件4

图6.114 添加约束条件5

8.返回“规划求解参数”对话框,单击“求解”按钮,当 Excel 弹出“规划求解结果”对话框时,不做任何设置,单击“确定”按钮关闭对话框,此时在工作表中将会看到图6.115所示的求解结果。

图6.115 规划求解结果

图6.115表示1件产品A、1件产品B、4件产品D的总重量等于1278公斤,与可装载上限1279仅差1公斤,这是最优的装车方式。

知识扩展

1.本例是本书中几个规划求解应用里最复杂的一个。由于在需求中限制了每样产品的数量,因而在设置规划求解的参数时也必须一一限制其范围——大于等于0且小于等于4,或者大于等于0且小于等于2。

2.当然,也可以按前面案例中讲的步骤操作,先设置目标值等于 0,如果找不到解再设置为目标最小值;还可以在E1单元格设置公式“=D2*1000”,然后将目标设置为E2单元格最小值,而非D2,从而提升求解的精确度。

3.设置规划求解参数时,一定要考虑全面,将所有可能性都考虑到,参数越多,得到的解越精确,但同时运算时间也会相应地延长。

发布者

Excel22

专为职场萌新准备的免费全面的Excel入门及提高学习网站,也可作为Excel老司机杂耍各种函数的宝典 —— Excel22.com 网址超好记

发表评论

邮箱地址不会被公开。 必填项已用*标注