主要内容

sdo。OptimizeOptions

以下的优化选项集sdo.optimize函数

    描述

    使用一个sdo。OptimizeOptions对象指定选项,以便使用sdo.optimize函数。您可以指定选项,如求解器方法、求解器选项和优化期间并行计算的使用。

    创建

    描述

    例子

    选择= sdo。OptimizeOptions属性创建用于解决设计优化问题的默认选项集sdo.optimize函数。若要为您的特定应用程序修改此选项集的属性,请使用点符号。

    例子

    选择= sdo。OptimizeOptions (名称,值创建选项集属性使用一个或多个名称-值参数指定。

    属性

    全部展开

    优化解算器sdo.optimize用于解决优化问题,指定为以下值之一:

    • “fmincon”-默认设计优化,基于导数的方法,允许非线性约束和参数边界

    • “fminsearch”- Derivative-free方法

    • “lsqnonlin”-默认参数估计,与模型输出和数据之间的残差梯度,允许参数边界

    • “patternsearch”-无导数方法,允许非线性约束和参数边界(要求全局优化工具箱软件)

    • “surrogateopt”-基于代理的方法,允许非线性约束,需要参数边界(需要全局优化工具箱软件)

    请参阅优化工具箱™和全局优化工具箱有关这些求解器的更多信息的文档。

    优化求解器选项,指定为优化选项对象,使用optimoptions.选项是根据方法财产。因为“fmincon”是默认的优化求解方法,这个属性的默认值是optimoptions对象fmincon解算器。有关可用的优化求解器选项的信息,请参考基于方法指定:

    要修改求解器选项,请使用点表示法。例如,opt.MethodOptions.StepTolerance = 1.5 e - 3

    如果不满足收敛条件,重新启动优化的次数,指定为非负整数。每次重新启动时,可调参数的初始值都被设置为上次优化运行的最终值。

    一旦找到满足约束条件的可行解,可选择停止优化,指定为以下值之一:

    • “上”-一旦找到可行的解决方案,立即终止。

    • “关闭”-继续搜索通常位于约束区域内更远的解决方案。金宝搏官方网站

    当你追踪一个参考信号或者你的问题有代价时,软件会忽略这个选项。

    选项指定提供的成本或约束功能sdo.optimize提供梯度信息,指定为以下值之一:

    • “关闭”-你的成本或约束函数不提供梯度信息。该软件使用中心差异来计算梯度。

    • “上”-你的成本或约束函数提供梯度信息作为其输出参数之一。

    并行计算选项fminconlsqnonlin,patternsearch优化求解器,指定为以下之一:

    • 0—优化过程中不要使用并行计算。

    • 真正的1—优化过程中使用并行计算。

    为了使优化方法能够进行并行计算,必须安装并行计算工具箱™软件。

    当设置为真正的,这些方法并行计算以下内容:

    • fmincon-有限差分梯度

    • lsqnonlin-有限差分梯度

    • patternsearch—投票和搜索集评估

    请注意

    不支持并行计算金宝appfminsearch

    对于并行计算,为Simulink指定一个仿真场景金宝app®模型优化为sdo。模拟对象OptimizedModel财产。中的模型文件依赖项ParallelFileDependencies属性中指定依赖项的路径ParallelPathDependencies财产,如果需要的话。

    要在并行优化期间使用的文件依赖项,指定为字符向量的单元格数组。每个字符向量可以指定文件的绝对路径或相对路径。在并行优化期间,这些文件被复制到工作人员。使用sdo.getModelDependencies查找Simulink模型的依赖项。金宝app

    例子:opt.ParallelFileDependencies ={“C: \ matlab \ \ file1.m工作”,“C: \ matlab \ myProject \ file2.m”}

    要在并行优化期间使用的依赖项的路径,指定为字符向量的单元格数组。如果不希望将文件复制到工作人员,请使用此属性而不是ParallelFileDependencies财产。这些路径依赖项在并行优化期间被临时添加到worker中。使用sdo.getModelDependencies查找Simulink模型的依赖项。金宝app

    例子:opt.ParallelPathDependencies ={“C: \ matlab \工作”,“C: \ matlab \ myProject”}

    要优化的Simu金宝applink模型名称,指定为sdo。模拟对象或具有模型名称的字符向量。

    指定OptimizedModel作为一个sdo。模拟同时使用并行优化(UseParallel = true),fastRestart

    为了实现并行优化,必须安装并行计算工具箱软件。

    例子:模拟器= sdo.SimulationTest(“model_demo”)

    对象的功能

    sdo.optimize 解决设计优化问题

    例子

    全部折叠

    创建一个默认的sdo。OptimizeOptions选项设置。

    选择= sdo.OptimizeOptions;

    使用点符号指定选项。

    opt.Method =“lsqnonlin”;opt.GradFcn =“上”

    没有指定的任何属性值都保持默认值。

    创建一个选项集对象,指定非线性最小二乘优化求解器作为其求解方法。

    选择= sdo。OptimizeOptions (“方法”“lsqnonlin”
    方法:[1x1 OptimizeOptions . properties]重新启动:0 StopIfFeasible: 'on' GradFcn: 'off' UseParallel: 0 ParallelPathDependencies: {} ParallelFileDependencies:{}最优化模型:"

    您可以使用点符号修改求解器选项。例如,将求解算法设置为Levenberg-Marquardt方法。

    opt.MethodOptions.Algorithm =“levenberg-marquardt”

    查看方法选项。

    opt.MethodOptions
    ans = lsqnonlin options: options used by current Algorithm ('levenberg-marquardt'):(其他可用算法:' trusted -region-reflective')设置属性:Algorithm: 'levenberg-marquardt' Display: 'iter' FunctionTolerance: 1.0000e-03 maxfunctionevalues: Inf MaxIterations: 100 specifications objective gradient: 1 StepTolerance:1.0000e-03默认属性:CheckGradients: 0 FiniteDifferenceStepSize: 'sqrt(eps)' FiniteDifferenceType: 'forward' OutputFcn: [] PlotFcn: [] TypicalX: 'ones(numberOfVariables,1)' UseParallel: 0显示当前算法未使用的选项('levenberg-marquardt')

    没有指定的任何属性值都保持默认值。

    介绍了R2011a