现实中遇到的问题,例如现在有N个数,想知道哪些数加起来等于1000 。这时你可以用excel中的规划求解来很方便的得出答案。
又例如咱们有两种机器,生产两种产品各生产一个需要工时3小时和7小时,用电量4千瓦和和5千瓦,需要原材料9吨和5吨。现公司可提供工时300小时,电量250千瓦,原材料为420吨,用于生产两种产品,其利润分别为200万元和210万元。咱们怎样安排两种产品的生产量,所获得的利润最大?
以上问题不可否认你可以用其它方法来得出结果。但excel中的规划求解就是用来解决这类问题的。其实很像是在做应用题,设未知数,然后写函数。规划求解的第一步也是将所描述的问题数学化,模型化。接下来按照解题格式来做一下上面的应用题。
下面我们使用excel的规划求解来解决下以上两个问题:
打开excel2016 点击左上角的文件
选择最下方的选项
依次选择加载项----excel加载项然后点击转到
勾选规划求解加载项,然后点确定回到excel主界面选择数据
可以看到规划求解已加载过来了。
接下来咱们将用这个规划求解功能解决上面提到的两个问题。
首先第一个问题
有N个数,想知道哪些数加起来等于1000 。
随意写了7个数(A2:A8) 现在我们要在里面找出相加能等于1000的数。
首先在E4处写入公式=SUMPRODUCT(A2:A8,B2:B8)
然后选择数据-----规划求解
在弹出的对话框中
-
设置目标(这里选择我们刚刚设置公式的单元格)
-
选择目标值输入1000.
-
通过更改可变单元格(选择B2:B8)。
添加守约束
在规划求解参数对话框中点击添加
在弹出来的添加约束对话框中
-
单元格引用选择B2:B8
-
判断符选择BIN(bin表示二进制数0或1此条约束用来标识符合我们要求的数值)
然后点击确定回到规划求解对话框
点击求解
可以看到excel的状态栏在飞速的变动,当然你们可能看不到。因为这个取决于你的电脑速度和你处理的数据量有关,如果你的电脑配置很高,或数据量很小。会直接跳出如下对话框
直接点击确定。我们要的结果就出来了
在B2:B8单元格中显示1所对应的A列单元格相加就是1000
本列中可以看出A2(400)+A7(600)相加刚好是1000。
现在来处理第二个问题
有两种机器,生产两种产品各生产一个需要工时3小时和7小时,用电量4千瓦和和5千瓦,需要原材料9吨和5吨。现公司可提供工时300小时,电量250千瓦,原材料为420吨,用于生产两种产品,其利润分别为200万元和210万元。咱们怎样安排两种产品的生产量,所获得的利润最大?
分析下题目
设 机器A产量为x,机器B产量为y。最大利润为Pmax
x,y >=0 x,y的产量不可能为0
3x+7y<=300 A和B生产产品的总工时不能超过公司可提供的工时300小时
4x+5y<=250 A和B生产产品的电量不能超过公司提供的250千瓦
9x+5y<=420 A和B生产产品的原材料不能超过公司提供的420吨
Pmax=200x+210y 求利润最大化
跟据上面的条件做出如下表格。
首先产量我们随机填入(A机器产量为15,B机器产量为30)
可以看出A机器生产15个+B机器生产30个所需要的工时,用电量,原材料均未超过公司可提供的用量。总利润是由随机填入的产量(15*200+30*210)得来。也就是说A机器生产15个B机器生产30个公司的总利润为9300。但这并没有达到利润最大化。现在我们就用规划求解来最大化利润。
点击数据----规划求解
在弹出来的规划求解参数对话框设置目标为$B$7也就是总利润。接着单选框选择最大值。通过更改可变单元格选择$B$6:$C$6。就是我们的产量是可变的。
接着点击添加
首选我们两台机器的产量不可能为0,所以加添一条遵守约束$B$6:$C$6>=0
点击添加,因我们的需求量不能大于可提供量, 再添加一条遵守约束,$D$2:$D$4<= $E$2:$E$4
点击确定回到规划求解参数对话框。此时我们有条件都是设置好。
点击求解,经过电脑的一顿计算。弹出一个规划求解结果。
我们直接点击确定
结果出来了。最大利润可以达到11588,A机器生产34个,B机器生产22.8个。其中原材料刚好用完。用电量刚好符合公司要求。工时只用了261.6小时。