Microsoft Excel 规划求解的说明 联系客服

发布时间 : 星期日 文章Microsoft Excel 规划求解的说明更新完毕开始阅读8007c05f312b3169a451a4d7

Microsoft Excel 规划求解的说明

Microsoft Excel 规划求解是一个 Microsoft Excel Add-in Microsoft Excel Solver 有助于您确定 Microsoft Excel 工作表上的特定目标单元格中公式的最优值。 Microsoft Excel 规划求解调整其他单元格使用的公式与目标单元格的值。 在构建一个公式,并定义公式中的参数或变量的约束的一组后,Microsoft Excel 规划求解尝试到达满足所有约束的应答的各种解决方案。 Microsoft Excel 规划求解使用下列元素来\解决公式:

? 目标单元格 的程序的目标单元格的目标。 它是在工作表模型将最小化、 最大化,或设置

为特定值的单元格。

? 更改单元格 的 Changing 单元格为决策变量。 这些单元格会影响目标单元格的值。 这些

单元格更改 Microsoft Excel 规划求解查找目标单元格的最佳解决方案。

? 约束 的约束是限制内容的单元格。 是例如尽管另一个单元格可能限制为在给定的值小于,

可能限制为整数的值工作表模型中的一个单元格。

可以通过使用 Microsoft Visual Basic for Applications (VBA) 宏自动执行创建和 Microsoft Excel 规划求解模型的操作。 本文介绍如何使用 VBA 宏语言在 Microsoft Excel 97 中使用 Microsoft Excel 规划求解函数。 本文假定您熟悉 VBA 语言和用于 Microsoft Excel 97,Microsoft Visual Basic 编辑器。 本文中使用的示例有以下 Microsoft Web 站点下载: http://download.microsoft.com/download/excel97win/solverex/1.0/WIN98Me/EN-US/SolverEx.exe

请注意 您还可以在宏和 Microsoft Excel 版本 5.0 和 7.0 中的本文所述的示例。 回到顶端

如何在 VBA 宏中使用该 Microsoft Excel 规划求解函数

中 VBA 宏,请使用 Microsoft Excel Solver 加载项函数,您必须从包含宏的工作簿的 VBA 项目引用加载项。 如果不引用 Microsoft Excel 规划求解加载中,您将收到以下编译错误,当您尝试运行宏时:

编译错误: 子或函数未定义。

若要引用 Microsoft Excel 规划求解加载在工作簿中的宏的使用下列步骤:

1. 打开工作簿。

2. 在 工具 菜单上指向 宏 ,然后单击 Visual Basic 编辑器 。 3. 在 工具 菜单中上, 单击 引用 。

4. 在 可用的引用 列表中单击以选中 Solver.xls 复选框,然后单击 确定 。

请注意 如果在 可用引用 列表中,不执行看到 Solver.xls,单击 浏览 。 在 添加引用 对话框查找并选择 Solver.xla 文件,并单击 打开 。 通常 C: \\ Program Files \\Microsoft Office\\Office\\Library\\Solver 子文件夹中找到该 Solver.xla 文件。

您已准备好在 VBA 宏中使用 Microsoft Excel 规划求解函数。 回到顶端

如何设计一个 VBA 宏,该宏创建,解决了简单的 Microsoft Excel 规划求解模型

虽然 Microsoft Excel 规划求解提供了许多功能,以下三个函数是基本以创建并解决模型:

? SolverOK 函数 ? SolverSolve 函数 ? SolverFinish 函数

SolverOK 函数

SolverOK 函数定义一个基本的 Microsoft Excel 规划求解模型。 SolverOK 函数通常是用于构建您的 Microsoft Excel 规划求解模型的第一个函数。 SolverOK 函数等效于单击 规划求解 工具 菜单,然后指定 规划求解参数 中的选项对话框。 下面是 SolverOK 函数的语法: SolverOK(SetCell, MaxMinVal, ValueOf, ByChange) 以下信息介绍 SolverOK 函数的语法:

? SetCell 指定目标单元格。

? MaxMinVal 对应于要解决目标单元格,最大值 (1)、 最小值 (2),或某个特定值 (3) 中。 ? ValueOf 指定目标单元格相匹配的值。 如果您设置 MaxMinVal 为 3,您必须指定该

参数。 如果将 MaxMinVal 设置为 1 或 2,可以省略此参数。

? ByChange 指定单元格或将更改的单元格区域。

图 1 使用在 规划求解参数 对话框的参数,将相关联, SolverOK 函数参数。

图 1。 参数与 SolverOK 参数

SolverSolve 函数

SolverSolve 函数解决了模型使用与 SolverOK 函数指定的参数。 执行 SolverSolve 函数等效于单击 求解 规划求解参数 对话框中。 下面是 SolverSolve 函数的语法: SolverSolve(UserFinish, ShowRef) 以下信息介绍 SolverSolve 函数的语法:

? UserFinish 指定是否在用户完成求解该模型。

若要返回结果,而不显示在 规划求解结果 对话框框时,请将此参数设置为 TRUE。 返回结果,,显示 规划求解结果 对话框,设置此参数为 FALSE

? ShowRef 标识 Microsoft Excel 规划求解返回一个中间解决方案时调用的宏。

仅当 TRUE SolverOptions 函数的 StepThru 参数传递时,应使用 ShowRef 参数。

SolverFinish 函数

SolverFinish 函数指示如何处理该的结果和报表以创建解决方案过程完成后的种类。 下面是 SolverFinish 函数的语法:

SolverFinish (KeepFinalVariant,ReportArray) 以下信息介绍 SolverFinish 函数的语法:

? KeepFinalVariant 指示如何处理最终的结果。 如果 KeepFinalVariant 为 1,则最

终的求解值将保存该更改的单元格中中,替换值。 如果 KeepFinalVariant 为 2,丢弃最终就还原以前的值。

? ReportArray 指定数组表示的达到该解决方案时,Microsoft Excel 将创建的报告类型。

如果 ReportArray 被设置为 1,Microsoft Excel 将创建的答案报告。 如果设置为 2,Microsoft Excel 将创建一个敏感度报告并设置为 3 的如果 Microsoft Excel 创建限制报表。 有关这些报表,请参阅\How to generate reports for solutions\一节。

图 2。 Microsoft Excel 规划求解结果与 SolverFinish 参数相关联的选项

本文介绍如何创建简单的 Microsoft Excel 规划求解模型以交互方式。 第一步是创建模型的工作表。 在工作表将包含某些数据单元格和至少一个单元格包含公式。 此公式取决于其他单元格在工作表中。 您设置工作表后,请在 工具 菜单上单击 规划求解 。 在 规划求解参数 对话框中,指定目标单元格、 解决有关的值、 将更改的单元格区域和约束。 单击要开始解决方案的 求解 。 Microsoft Excel 规划求解找到解决方案之后,则结果将显示在您的工作表,并 Microsoft Excel 规划求解显示消息框,提示您,如果要使最终的结果,或如果要放弃它们。 当您单击其中一个选项时, Microsoft Excel 规划求解完成。

图 3 说明了可以通过使用以下步骤创建简单的模型。

图 3。 简单的模型: 平方根模型 展开这个图片

在此示例,更改单元格 A 1,包含该的公式 = A 1 ^2,以一个值,它将单元格 A 2 等于 50 的值。 也就是说,查找 50 的平方根。 平方根模型中有无约束。 Find_Square_Root 宏完成在下面的任务: