SolverGet 函数

返回有关规划求解的当前设置信息。 这些设置是在“规划求解参数”“规划求解选项”对话框中指定的。

注意 默认情况下未启用规划求解加载项。 在可以使用此函数之前,必须已安装且已启用规划求解加载项。 有关如何执行该操作的信息,请参阅使用规划求解 VBA 函数。 安装规划求解加载项之后,必须创建对该规划求解加载项的引用。 在 Visual Basic 编辑器中,如果模块处于活动状态,请单击“工具”菜单上的“引用”,然后在“可用的引用”下选择“规划求解”。 如果“规划求解”没有显示在“可使用的引用”下面,请单击“浏览”,然后打开 \Program Files\Microsoft Office\Office14\Library\SOLVER 子文件夹中的 Solver.xlam。

SolverGet (TypeNumSheetName)

TypeNum 必需 Integer。 指定想要信息类型的数字。 以下设置在“ 规划求解参数 ”对话框中指定。

TypeNum 返回
1 “设置目标单元格”框中的引用,或者当规划求解未在活动工作表上使用时,返回 #N/A 错误值。
2 对应于“等于”选项的数字:1 代表“最大值”,2 代表“最小值”,3 代表“值为”。
3 “值为”框中的值。
4 “可变单元格”框中的引用(必要时为多引用)。
5 约束的个数。
6 由约束左边构成的文本形式的数组。
7 与约束的左右两侧之间的关系相对应的数字数组:1 表示 <=,2 表示 =,3 表示 >=,4 表示 int,5 表示 bin。
8 由约束右边构成的文本形式的数组。
13 如果选择简单 LP 解决方法则为True;如果选择另一种解决方法则为False
20 如果选中了“使不受约束的变量为非负值”复选框,则为 True;如果已清除,则为 False

下列设置是在“规划求解选项”对话框中指定的。

TypeNum 返回
9 “最长运算时间(秒)”选项(“所有方法”选项卡)。
10 “迭代次数”选项(“所有方法”选项卡)。
11 “约束精度”选项(“所有方法”选项卡)。
12 “整数最优(%)”选项(“所有方法”选项卡)。
14 如果选中了“显示迭代结果”复选框,则为True;如果清除了该复选框,则为False
15 如果选中了“使用自动扩展”复选框,则为True;如果清除了该复选框,则为False(所有“方法”选项卡)。
16 对应于估计值类型的数字:1 表示正切函数,2 表示二次方程。
17 对应于“GRG 非线性”选项卡中的“导数”选项的数字:1 表示向前差分,2 表示中心差分(“GRG 非线性”选项卡)。
18 对应于搜索类型的数字:1 表示牛顿法,2 表示共轭法。
19 “收敛度”公差(“GRG 非线性”选项卡和“进化”选项卡)。
21 “总体容量”选项(“GRG 非线性”选项卡和“进化”选项卡)。
22 “随机数基数”选项(“GRG 非线性”选项卡和“进化”选项卡)。
23 如果选中了“使用多启动”复选框,则为 True;如果将其清除 (GRG 非线性选项卡) ,则为 False
24 如果选中了“需要变量界限”,则为True;如果清除了该复选框则为False(“GRG 非线性”选项卡与“进化”选项卡)。
25 “突变率”选项(“进化”选项卡)。
26 “最大子问题数”选项(“所有方法”选项卡)
27 “最大可行解数”选项(“所有方法”选项卡)
28 “忽略整数约束”选项(“所有方法”选项卡)。
29 “没有改进的最长时间”选项(“进化”选项卡)。

SheetName为可选变量。 包含想要信息的规划求解模型的工作表名称。 如果省略 SheetName ,则假定此工作表为活动工作表。

示例

如果未在 Sheet1 中使用规划求解,本示例将显示一条消息。

Worksheets("Sheet1").Activate 
state = SolverGet(TypeNum:=1) 
If IsError(State) Then 
 MsgBox "You have not used Solver on the active sheet" 
End If

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。