利用Excel求解线性规划问题主要是利用Excel的“规划求解”的加载宏。默认安装Excel的情况下是没有安装该功能的,所以在安装Excel时最好选择完全安装。尽管如此,Excel也没默认加载该宏包,需要手工加载。在Excel的选项里找到“加载宏”的选项,然后在如图2-4的对话框中勾选“规划求解加载项”,点击“确定”后就可使用该宏包求解线性规划问题了。该菜单项在Excel 2003版本中是在“工具”菜单栏下,在2007版本中是在“数据”菜单“自定义快速访问工具栏”选项下,而在2010版本中,需点击“文件”菜单中“选项”命令,打开“Excel选项”对话框,选择“加载项”后点击“转到”按钮,即打开如图2-4所示对话框。下面以Excel 2010版本进行介绍。
图2-4 “加载宏”对话框
首先需要在Excel中录入线性规划模型。求解线性规划模型时,我们会运用到Excel的SUMPRODUCT函数,该函数将两个或两个以上的相同维数的数组的对应元素相乘并返回这些乘积的和。可以利用这一函数来构造线性规划问题的目标函数和约束条件。
仍以例2.1为例,首先在Excel中录入该模型,如图2-5所示。
图2-5 例2.1的模型
在图2-5中,分别输入了线性规划问题的三类参数:价值向量、系数矩阵和资源向量,此外将决策变量x1和x2的值分别放在B11,C11单元格中,目标函数值放在F11单元格中。在D7单元格中输入了“=SUMPRODUCT(B7:C7,B11:C11)”,表示第一个约束条件目前左端项的值,D8和D9单元格与此类似。另外在F11单元格中输入“=SUMPRODUCT(B5:C5,B11:C11)”用来表示目标函数值。
模型输入完成后,接下来进行求解。在“数据”菜单下“分析”组中选择“规划求解”命令项,出现如图2-6所示对话框,需要输入相关参数。在“设置目标”中,选择目标函数存放的位置F11,然后选择“最大值”。在“通过更改可变单元格”中选择x1和x2的值所存放的位置B11到C11单元格。在点击“遵守约束”下“添加”所弹出的“添加约束”对话框中选择$D$7:$D$9<=$F$7:$F$9,并单击“确定”返回“规划求解参数”对话框,然后勾选“使无约束变量为非负数”,即让决策变量非负。在“选择求解方法”中选择“单纯线性规划”。最后点击“求解”按钮进行求解。
图2-6 “规划求解参数”对话框(www.daowen.com)
点击“求解”按钮后,Excel弹出一个对话框要求选择结果报告,如图2-7所示。
图2-7 规划求解结果报告的选择
在“报告”中选择“运算结果报告”和“敏感性报告”,则Excel中新增了2个工作表,分别是如图2-8和图2-9所示的运算结果报告和敏感性报告(即灵敏度分析结果)。
图2-8 运算结果报告
图2-9 敏感性报告
在“运算结果报告”中首先给出了运算结果的基本情况,包括时间、结果、规划求解引擎参数和选项;下方的表格给出了求解的具体结果。首先,“目标单元格”表格中可以看到,目标函数达到了最大值36。其次是“可变量单元格”的情况,即变量的值,这里x1和x2的最优值分别是2和6。最后的“约束”表格反映了资源约束的情况,在“单元格值”列给出了3种资源在最优解时的使用情况,分别为2,12,18;在“状态”列给出了最优条件下约束条件的状态,这里第一个约束“未到限制值”,说明资源A有剩余,剩余值为2,而资源B和C都“到达限制值”,说明B,C两种资源均使用完全,“型数值”为0。
在“敏感性报告”中给出了价值系数和资源向量的变化范围以及影子价格等结果。首先在“可变单元格”部分,给出了x1和x2价值系数的变化范围,c1的允许增量为4.5,允许减量为3,c2的允许增量为无穷大,允许减量为3。在“约束”这一部分,给出了3种资源的影子价格(阴影价格)分别为0,1.5和1,资源A允许增量为无穷大,允许减量为2,资源B,C的允许增量和允许减量均为6。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。