现实中遇到的问题,例如现在有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)

然后选择数据-----规划求解

在弹出的对话框中

  1. 设置目标(这里选择我们刚刚设置公式的单元格)
  2. 选择目标值输入1000.
  3. 通过更改可变单元格(选择B2:B8)。

添加守约束

在规划求解参数对话框中点击添加

在弹出来的添加约束对话框中

  1. 单元格引用选择B2:B8
  2. 判断符选择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小时。

posted on 2017-11-08 09:43  通宵客  阅读(10717)  评论(0编辑  收藏  举报