本文目录
- 1.说明
- 2.准备加载项
- 步骤1
- 步骤2
- 步骤3
- 3.线性规划问题
- 步骤4
- 步骤5
- 步骤6
1.说明
使用Lingo程序也可以实现线性规划、非线性规划以及0-1规划,但是在缺少Lingo程序的情况下,我们使用Excel照样可以很容易地完成。在这里我给大家提供了解决此类问题的详细步骤以及需要做的所有准备工作。
2.准备加载项
规划求解并不在Excel的功能菜单中,而是在Excel的加载项中。在帮助搜索中搜索加载项,在加载项中选中【规划求解加载项】即可。
步骤1
步骤2
步骤3
加载项的位置在【数据】栏的【分析】分栏中:
3.线性规划问题
线性规划的3个重要因素分别为决策变量、约束条件、目标函数。决策变量就是我们可以改动的变量值,也是我们所有约束条件和目标函数涵盖的变量,目标函数是我们设定需要达到的目标,在严格满足约束条件的情况下,通过改变决策变量的值,最大限度地达到目标函数。Excel中可以解决的目标函数有3中类型:最大值、最小值和目标值。
在准备环节已经做好的情况下(如第2部分所示),我们设计一个线性规划问题并开始求解。以以下问题为例:
- 决策变量:x1,x2\text{决策变量:}x_1,x_2决策变量:x1,x2
- 目标函数:Max=2x1+3x2\text{目标函数:}Max=2x_1+3x_2目标函数:Max=2x1+3x2
- 约束条件:{x1+2x2≤84x1≤164x2≤12x1≥0,x2≥0\text{约束条件:}\begin{cases} x_1+2x_2≤8\\4x_1≤16\\4x_2≤12\\x_1≥0,x_2≥0\end{cases}约束条件:⎩⎪⎪⎪⎨⎪⎪⎪⎧x1+2x2≤84x1≤164x2≤12x1≥0,x2≥0
在Excel求解线性规划模型之前,必须将单元格中的公式写好,否则在规划求解工具箱中,将无法键入公式的值。
大家可能一开始不理解这句话的意思,首先我们打开规划求解工具箱看一看:
设置目标这一栏,要输入的就是我们的目标函数,而可以改变的单元格呢,就是我们的决策变量了,约束条件,就好比是我们的约束条件不等式。
这里要注意的是,设置目标只能是一个单元格,所以该单元格必须要包含目标函数的公式。同理,约束条件每一个条件不等式的左边必须是一个单元格,因此这个单元格也需要事先键入好公式。现在对照上面的图,我们将A1和B1单元格设置为我们的决策变量(可以随便写一个值进去,也可以不写),将A2单元格设置为目标函数(必须键入“=2A1+3B1”),约束条件有5组,考虑到最后一个非负数约束在规划求解的对话框里面已经有了,所有我们只需要写3组约束,这三组约束我们也放在三个单元格A3,A4,A5中,同样需要键入公式,代替不等式中的公式。
我们键入公式如下所示:
步骤4
对照规划求解对话看,就已经非常清楚Excel中规划求解的意思了。就是将单元格赋予公式,然后单元格就可以充当设置目标和约束条件表达式的作用。
在这里我们选择的是单纯线性规划,因为我们解决的确实是线性问题。当然,你使用非线性规划也能得到结果,但是是对内存资源的一种浪费。如果你使用的是非线性规划,和本例是同样的步骤,只是输入公式的时候按照原定公式进行改动,选择非线性规划即可。点击规划求解对话框右下角的求解。
步骤5
求解的结果如下图所示:
如果需要生成三份报告,注意选择制作报告大纲,并且用鼠标选中三份报告(Ctrl+鼠标左键),再点击确定:
步骤6
报告就会在Excel的工作簿下面生成另外3份工作表:
考虑到很多CSDN的博客描述Excel工作表实现规划求解步骤都不全,在此提供最全最容易理解的步骤供点击参考,谢谢阅读。