SolverOptions 函数 您所在的位置:网站首页 规划求解非线性选项怎么调 SolverOptions 函数

SolverOptions 函数

2023-07-06 22:32| 来源: 网络整理| 查看: 265

SolverOptions 函数 项目 04/07/2023

使用本函数可以指定规划求解模型的高级选项。 本函数及其参数相当于“规划求解选项”对话框中的选项。

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

SolverOptions (MaxTime、 Iterations、 Precision、 AssumeLinear、 StepThru、 Estimates、 Derivatives、 SearchOption、 IntTolerance、 Scaling、 Convergence、 AssumeNonNeg、 PopulationSize、 RandomSeed、 MultiStart、 RequireBounds、 MutationRate、 MaxSubproblems、 MaxIntegerSols、 SolveWithout、 MaxTimeNoImp)

MaxTime 可选 变量。 求解器) 解决问题 (的最大时间(以秒为单位)。 值必须为正整数。

迭 代 可选 变量。 求解器在解决问题时将使用的最大迭代次数。 值必须为正整数。

精度 可选 变量。 介于 0 (零) 和 1 之间的数字,指定必须满足约束 (包括整数约束) 的精度。 默认精度为 0.000001。 较小的小数位数 (例如,0.0001) 表示精度较低。 通常,指定的精度越高 () 数越小,规划求解到达解决方案所需的时间就越长。

AssumeLinear 可选 变量。 如果为 True ,则求解器假定基础模型是线性的。 这加快了解决方案过程,但仅当模型中的所有关系都是线性的时,才应使用它。 默认值为 False。 StepThru 可选 变量。 如果为 True ,则让规划求解在每个试用解决方案中暂停。 可以使用 SolverSolve 函数的 ShowRef 参数向规划求解传递一个宏,以在每次暂停时运行。 如果为 False ,则不会在每个试用解决方案中暂停规划求解器。 默认值为 False。

估计 可选 变量。 指定用于获取每个一维搜索中基本变量的初始估计值的方法:1 表示正切估计值,2 表示二次估计值。 切值估计使用切向量的线性外推。 二次估计使用二次外推;这可以改善高度非线性问题的结果。 默认值为 1 (正切估计) 。

衍生物 可选 变量。 指定目标函数和约束函数部分导数的估计的前向差异或中心差异:1 表示前向差异,2 表示中心差异。 中心差异需要更多的工作表重新计算,但它可能有助于解决生成一条消息,指出求解器无法改进解决方案的问题。 对于其值快速变化接近其限制的约束,应使用中心差异。 默认值为 1 (前向差异) 。

SearchOption 可选 变量。 使用 “搜索 ”选项指定将在每次迭代时使用的搜索算法来确定搜索方向:1 表示牛顿搜索方法,2 表示共聚搜索方法。 使用准牛顿方法的牛顿是默认搜索方法。

IntTolerance 可选 变量。 本参数仅适用于定义了整数约束的情况。 它指定规划求解可在以下情况下停止:它找到可行整数解,该解的目标处于真正整数最优解的目标上最佳已知界限的此百分比范围内。 较高的百分比公差有助于加快求解过程。

缩放 可选 变量。 如果目标或约束相差几个数量级(例如,基于百万美元投资最大化利润百分比),则设置此选项 True 以使规划求解在计算期间内部将目标和约束值重新缩放为类似的数量级。 如果此选项为 False,规划求解将使用目标和约束的原始值执行其计算。 默认值为 True。

收敛 可选 变量。 对于 GRG 方法,当最后五次迭代中目标单元格值的相对改变量小于此公差时,规划求解将停止。 对于“进化”方法,当 99% 或更多总体成员具有“拟合”值,且这些值的相对差值(百分比形式)小于此公差时,规划求解将停止。 在这两种情况下,规划求解都将显示消息“规划求解收敛于当前解。 满足所有约束。 ”

AssumeNonNeg 可选 变量。 如果为 True ,则规划求解假定所有在 “约束 列表”框中没有显式下限的决策变量单元格的下限为 0 (零) , (单元格必须包含) 的非负值。 如果为 False ,则规划求解仅使用 约束 列表框中指定的限制。

PopulationSize 可选 变量。 如果为 True ,则规划求解假定所有在 “约束 列表”框中没有显式下限的决策变量单元格的下限为 0 (零) , (单元格必须包含) 的非负值。 如果为 False ,则规划求解仅使用约束列表框中指定的限制。

RandomSeed 可选 变量。 正整数指定 进化求解 方法和全局优化多启动方法使用的随机数生成器的固定种子。 这意味着,规划求解每次在未更改的模型上运行时,都会找到相同的解决方案。 零值指定规划求解在每次运行时应为随机数生成器使用不同的种子,每次在未更改的模型上运行时,它可能会产生不同的解决方案。

MultiStart 可选 变量。 如果为 True,则当调用 SolverSolve 时,让规划求解使用 GRG 非线性求解方法进行全局优化。 如果为 False,则只让规划求解在调用 SolverSolve 时运行 GRG 求解方法一次,而不运行多启动。

RequireBounds 可选 变量。 如果 任何变量未同时定义下限和上限,则如果值为 18,则会导致进化求解方法和多启动方法从对 SolverSolve 的调用中立即返回。 如果为 False ,则让这些方法尝试在所有变量上不带边界的情况下解决问题。

突变率 可选 变量。 介于 0 (零) 和 1 之间的数字,指定 进化求解 方法对现有群体成员进行“突变”的速率。 较高的突变率往往会增加种群的多样性,并可能产生更好的解决方案。

MaxSubproblems 可选 变量。 子问题求解器将探索具有整数约束的问题的最大数目,以及通过 进化求解 方法解决的问题。 值必须为正整数。

MaxIntegerSols 可选 变量。 解决方案规划求解器将在整数约束问题中考虑的可行 (或整数的最大) 数量或整数可行数,以及通过 进化求解 方法解决的问题。 值必须为正整数。

SolveWithout 可选 变量。 如果为 True ,则求解器忽略任何整数约束并解决问题的“松弛”。 如果为 False ,则求解器在解决问题时使用整数约束。

MaxTimeNoImp 可选 变量。 使用 进化求解 方法时,最大时间 (以秒为单位,) 规划求解器将继续求解,而不会发现要添加到总体的显著改进的解决方案。 值必须为正整数。

示例

本示例将“精度”选项设置为 0.001。

Worksheets("Sheet1").Activate SolverReset SolverOptions Precision:=0.001 SolverOK SetCell:=Range("TotalProfit"), _ MaxMinVal:=1, _ ByChange:=Range("C4:E6") SolverAdd CellRef:=Range("F4:F6"), _ Relation:=1, _ FormulaText:=100 SolverAdd CellRef:=Range("C4:E6"), _ Relation:=3, _ FormulaText:=0 SolverAdd CellRef:=Range("C4:E6"), _ Relation:=4 SolverSolve UserFinish:=False SolverSave SaveArea:=Range("A33") 支持和反馈

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有