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