📅  最后修改于: 2020-12-01 06:10:59             🧑  作者: Mango
Solver是一个Microsoft Excel加载程序,可以在假设分析中用于优化。
根据O’Brien和Marakas的说法,优化分析是目标搜索分析的更复杂扩展。目标是在一定的约束下找到一个或多个目标变量的最佳值,而不是为变量设置特定的目标值。然后,在指定的约束条件下重复更改一个或多个其他变量,直到发现目标变量的最佳值。
在Excel中,您可以使用求解器在工作表上其他公式单元格的值上受某些约束或限制的情况下,在称为目标单元格的一个单元格中找到公式的最佳值(最大值或最小值或某个值) 。
这意味着规划求解与一组称为决策变量的单元格一起工作,这些单元格用于计算目标单元格和约束单元格中的公式。求解器调整决策变量像元中的值,以满足约束像元上的限制,并为目标像元生成所需的结果。
您可以使用求解器找到各种问题的最佳解决方案,例如-
确定药品生产部门的月度产品组合,以使获利最大化。
在组织中安排劳动力。
解决运输问题。
财务计划和预算。
在继续寻找解决求解器问题的方法之前,请确保按以下步骤在Excel中激活了求解器加载项–
如果找不到规划求解命令,请按以下方式激活它-
出现加载宏对话框。检查规划求解加载项,然后单击确定。现在,您应该能够在“数据”选项卡下的功能区上找到“求解器”命令。
您可以根据问题的类型选择Excel Solver支持的以下三种解决方法之一-
用于线性问题。求解器模型在以下条件下是线性的-
通过将(更改单元格)和ast(常数)形式的项加在一起来计算目标单元格。
每个约束都满足线性模型要求。这意味着,通过将(变化单元格)和ast(常数)形式的项相加并将总和与常数进行比较,可以评估每个约束。
用于平滑非线性问题。如果目标单元格,任何约束或两者都包含对非(changeing cell)*(constant)形式的变化单元格的引用,则您具有非线性模型。
用于平滑非线性问题。如果目标单元格,任何约束或两者都包含对非(changeing cell)*(constant)形式的变化单元格的引用,则您具有非线性模型。
规划求解需要以下参数-
求解器评估基于以下内容-
决策变量单元格中的值受约束单元格中的值约束。
目标单元格中值的计算包括决策变量单元格中的值。
求解器使用选定的求解方法在目标单元格中获得最佳值。
假设您正在分析制造和销售某种产品的公司的利润。要求您查找下两个季度可用于广告的金额,最多不超过20,000。每个季度的广告水平会影响以下内容-
您可以继续将问题定义为-
接下来,如下所示设置所需计算的像元。
如您所见,考虑到的是针对Quarter1和Quarter2的计算已完成-
第一季度可出售的单元数量为400,第二季度可出售的单元数量为600(单元– C7和D7)。
广告预算的初始值设置为每季度10000(单元格– C8和D8)。
售出的单位数取决于每单位的广告成本,因此是该季度的预算/ Adv。单位成本。请注意,我们使用Min函数来注意是否为no。在<= no。中出售的产品数量可用单位。 (单元格– C9和D9)。
收入按单价&ast;销售的单位数(单元– C10和D10)。
费用按单位成本&ast;可用单元数进阶该季度的成本(单元格-C11和D12)。
利润是收入–费用(单元格C12和D12)。
总利润是第一季度的利润;第二季度的利润(单元格-D3)。
接下来,您可以设置求解器的参数,如下所示:
如您所见,规划求解的参数为-
目标单元格是D3,其中包含您要最大化的总利润。
决策变量单元格为C8和D8,其中包含两个季度(季度1和季度2)的预算。
存在三个约束单元-C14,C15和C16。
包含总预算的单元格C14将约束设置为20000(单元格D14)。
包含编号的单元格C15。在Quarter1中售出的商品数量设置为<= no。 Quarter1(单元格D15)中可用的单元数。
包含编号的单元格C16。在Quarter2中售出的商品数量设置为<= no。 Quarter2中可用单元的数量(单元格D16)。
下一步是使用Solver查找解决方案,如下所示-
步骤1-转到功能区上的数据>分析>求解器。将出现“求解器参数”对话框。
步骤2-在“设置目标”框中,选择单元格D3。
步骤3-选择最大。
步骤4-在通过更改可变单元格框中选择范围C8:D8。
步骤5-接下来,单击添加按钮以添加已确定的三个约束。
步骤6-出现添加约束对话框。设置总预算的约束,如下所示,然后单击添加。
步骤7-设置总编号的约束。如下所示在Quarter1中出售的商品数量,然后点击添加。
步骤8-设置总编号的约束。如下所示在Quarter2中出售的商品数量,然后单击“确定”。
将出现“求解器参数”对话框,其中三个约束添加在“取决于约束”框中。
步骤9-在“选择一种求解方法”框中,选择“ Simplex LP”。
步骤10-单击解决按钮。将出现“求解结果”对话框。选择“保持求解器解决方案” ,然后单击“确定”。
结果将显示在您的工作表中。
如您所见,在给定的约束下,产生最大总利润的最优解决方案是-
您可以逐步查看Solver试用解决方案,查看迭代结果。
步骤1-单击“求解器参数”对话框中的“选项”按钮。
出现“选项”对话框。
步骤2-选择显示迭代结果框,然后单击确定。
步骤3-求解器参数对话框出现。单击解决。
步骤4-出现“显示试用解决方案”对话框,显示消息-规划求解已暂停,当前解决方案值显示在工作表上。
如您所见,当前迭代值显示在工作单元中。您可以停止求解器接受当前结果,也可以继续求解器寻找进一步解决方案。
步骤5-单击继续。
在每个步骤都会显示“显示试用解决方案”对话框,最后在找到最佳解决方案后,将出现“求解结果”对话框。您的工作表在每一步都会更新,最后显示结果值。
对于使用Solver解决的问题,您具有以下保存选项-
您可以通过保存工作簿在“规划求解参数”对话框中将最后的选择与工作表一起保存。
工作簿中的每个工作表都可以有自己的规划求解选择,所有这些将在您保存工作簿时保存。
您还可以在工作表中定义多个问题,每个问题都有自己的求解器选择。在这种情况下,可以使用“求解器参数”对话框中的“加载/保存”分别加载和保存问题。
单击加载/保存按钮。出现“加载/保存”对话框。
要保存问题模型,请输入要在其中放置问题模型的空单元格的垂直范围内第一个单元格的引用。单击保存。
问题模型(求解器参数集)从您指定为参考的单元开始出现。
要加载问题模型,请为包含问题模型的整个单元格范围输入参考。然后,单击“加载”按钮。