小伙伴关心的问题:用excel求解线性规划例题(用excel求解线性规划怎么求多个解),本文通过数据整理汇集了用excel求解线性规划例题(用excel求解线性规划怎么求多个解)相关信息,下面一起看看。

用excel求解线性规划例题(用excel求解线性规划怎么求多个解)

最近了解到Excel也能求解一些简单的线性规划,于是就去学习了一下,操作比较简单,适合电脑中没有安装MATLAB、Lingo、Python等编程求解规划的软件。所以想以实际的例子讲解Excel求解线性规划。

实例1

Excel求解线性规划的步骤

Step1:新建一个空白的excel。

Step2:点击数据,在Excel右上方看是否有规划求解工具箱。

如果没有该规划求解标识,则可以在搜索栏搜索“规划求解”,在弹出的加载项对话框中勾选规划求解加载项,点击确定即可出现规划求解标识。

Step3:在任意空白区域输入模型的目标函数和约束条件。

Step4:按照文字描述将模型转化为excel规划模型,没有的项,其系数为0。

Step5:将目标函数值处G19单元格的计算公式输入目标函数计算式。

Step6:将约束条件左半部分的计算公式输入对应的单元格。

例如K11单元格对应的是第一个约束条件,其计算公式如下

K12单元格对应的是第二个约束条件,其计算公式如下

以此类推,在相应的单元格输入相应的约束条件的计算公式。

K11单元格输入的计算公式为: =G11*G16+H11*G17+I11*G18 K12单元格输入的计算公式为: =G12*G16+H12*G17+I12*G18 K13单元格输入的计算公式为: =G13*G16+H13*G17+I13*G18 K14单元格输入的计算公式为: =G14*G16+H14*G17+I14*G18 K14单元格输入的计算公式为: =G15*G16+H15*G17+I15*G18

Step7:利用Excel规划求解工具求解,点击数据->右上角的规划求解,弹出以下对话框。

我们首先将目标函数计算值的单元格选入为“设置目标”,同时将x1,x2,x3的变量取值处的单元格选择为“通过更改可变单元格”。

其次,我们要添加我们的约束条件,点击添加,弹出以下对话框。

例如我们将第一个约束条件添加到规划求解工具箱中,操作如下:

选择不等式约束的左边计算公式和右边常数部分,并按照约束条件选择关系符号,点击添加,即可将约束条件添加成功。其余约束条件以此类推。

第一个约束条件

第二个约束条件

第三个约束条件

第四个约束条件

第五个约束条件

最后规划求解工具箱对话窗口如图所示,选择求解最小值:

选择对应的计算方法非线性GRE或者单纯线性规划的方法求解,选择方法之后点击求解按键。

出现以下窗口,点击确定

Step8:获得规划求解结果

Step9:MATLAB编程求解该线性规划,检验Excel求解结果与MATLAB求解结果是否一致。

程序

clc; clear all; close all; c = [2;3;1]; a = [1, 4,2;3,2,0]; b = [8;6]; [x,y] = linprog(c,-a,-b,[],[],zeros(3,1)); fprintf(当x1=%.4f x2 = %.4f x3 = %.4f时,目标函数取得最小值z = %.4f\n,x(1),x(2),x(3),y);

运行结果

Optimal solution found. 当x1=2.0000 x2 = 0.0000 x3 = 3.0000时,目标函数取得最小值z = 7.0000

实例2

Excel求解线性规划

求解结果

MATLAB编程验证

clc; clear all; A = [-4 -32 -13 -8 -4 -14 -110 -205 -160 -160 -420 -260 -2 -12 -54 -285 -22 -80 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 ]; b = [-55 -2000 -800 4 3 2 8 2 2 ]; Aeq = []; beq = []; lb = [0;0;0;0;0;0]; ub = [ ]; c1 = [30 240 130 90 200 60]; [x1,goal1]=linprog(c1, A,b,Aeq,beq,lb,ub)

运行结果

x1 = 4.0000 0 0 2.0878 1.6808 2.0000 goal1 = 764.0695

实例3

MATLAB编程验证

clc; clear all; A = []; b = []; c1=-[91.4 141.28 95.73 149.89 35.38 91.4]; Aeq = [1 1 1 1 1 1]; beq = 372263; lb = [50792 199626 3288.37 52173.88 33880.11 0]; ub = [51103.54 inf 3388.53 inf 34380.11 12730.39 ]; [x1,goal1]=linprog(c1, A,b,Aeq,beq,lb,ub); fprintf(福州市经济效益目标函数单目标规划求解:f1(x) = %.2f \n此时的变量取值:X1 = %.2f X2 = %.2f X3 = %.2f X4 = %.2f X5 = %.2f X6 = %.2f\n,-goal1,x1(1),x1(2),x1(3),x1(4),x1(5),x1(6));

运行结果

Optimal solution found. 福州市经济效益目标函数单目标规划求解:f1(x) = 47051187.61 此时的变量取值:X1 = 50792.00 X2 = 199626.00 X3 = 3288.37 X4 = 84676.52 X5 = 33880.11 X6 = 0.00

参考内容

[1] CSDN博主ONERYJHHH的文章《利用Excel进行简单线性规划求解》,文章链接为:

https://blog.csdn.net/ONERYJHHH/article/details/114068617

作 者 | 郭志龙

编 辑 | 郭志龙

校 对 | 郭志龙

更多用excel求解线性规划例题(用excel求解线性规划怎么求多个解)相关信息请关注本站,本文仅仅做为展示!