主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

saoptimset

(不推荐)创建模拟退火 options 结构体

不推荐使用 saoptimset。请改用 optimoptions。有关详细信息,请参阅版本历史记录

语法

saoptimset
options = saoptimset
options = saoptimset('param1',value1,'param2',value2,...)
options = saoptimset(oldopts,'param1',value1,...)
options = saoptimset(oldopts,newopts)
options = saoptimset('simulannealbnd')

说明

没有输入或输出参量的 saoptimset 显示带有其有效值的完整参数列表。

options = saoptimset(没有输入参量)创建一个名为 options 的结构体,其中包含模拟退火算法的选项或参数,所有参数均设置为 []

options = saoptimset('param1',value1,'param2',value2,...) 创建结构体 options,并将 'param1' 的值设置为 value1、将 'param2' 的值设置为 value2,依此类推。任何未指定的参数都设置为 []。只需输入足够的前导字符来唯一地定义参数名称就足够了。参数名称忽略大小写。请注意,对于字符值,需要正确的大小写和完整的值。

options = saoptimset(oldopts,'param1',value1,...) 创建 oldopts 的副本,并使用指定的值修改指定的参数。

options = saoptimset(oldopts,newopts) 将现有的 options 结构体 oldopts 与新的 options 结构体 newopts 结合起来。newopts 中任何具有非空值的参数都会覆盖 oldopts 中相应的旧参数。

options = saoptimset('simulannealbnd') 创建一个选项结构体,其中包含与 'simulannealbnd' 相关的所有参数名称和默认值。例如,

saoptimset('simulannealbnd')

ans = 
          AnnealingFcn: @annealingfast
        TemperatureFcn: @temperatureexp
         AcceptanceFcn: @acceptancesa
                TolFun: 1.0000e-006
        StallIterLimit: '500*numberofvariables'
           MaxFunctionEvaluations: '3000*numberofvariables'
             TimeLimit: Inf
         MaxIterations: Inf
        ObjectiveLimit: -Inf
               Display: 'final'
       DisplayInterval: 10
             HybridFcn: []
        HybridInterval: 'end'
              PlotFcns: []
          PlotInterval: 1
            OutputFcns: []
    InitialTemperature: 100
      ReannealInterval: 100
              DataType: 'double'

选项

下表列出了您可以使用 saoptimset 设置的选项。请参阅 模拟退火选项 以了解这些选项及其值的完整描述。{} 中的值表示默认值。您还可以通过在命令行中输入 saoptimset 来查看选项参数。

optimoptions 隐藏了斜体列出的选项,但 saoptimset 没有隐藏。请参阅 optimoptions 隐藏的选项

选项描述

AcceptanceFcn

算法用于确定是否接受新点的函数。指定为 'acceptancesa' 或函数句柄。

函数句柄 | {'acceptancesa'}

AnnealingFcn

算法用于生成新点的函数。指定为内置退火函数的名称或函数句柄。

函数句柄 | 函数名称 | 'annealingboltz' | {'annealingfast'}

DataType

决策变量的类型

'custom' | {'double'}

Display

显示级别

'off' | 'iter' | 'diagnose' | {'final'}

DisplayInterval

迭代输出的间隔

正整数 | {10}

FunctionTolerance

函数值的终止容差

对于 options 结构体,使用 TolFun

非负标量 | {1e-6}

HybridFcn

在求解器迭代期间或迭代结束时自动运行 HybridFcn(另一个优化函数)。指定为名称或函数句柄。

请参阅 何时使用混合函数

'fminsearch' | 'patternsearch' | 'fminunc' | 'fmincon' | {[]}

或者

1×2 元胞数组 | {@solver, hybridoptions},其中 solver = fminsearchpatternsearchfminuncfmincon {[]}

HybridInterval

调用 HybridFcn 的间隔(如果不是 'end''never'

正整数 | 'never' | {'end'}

InitialTemperature

温度初始值

非负标量 | 正向量| {100}

MaxFunctionEvaluations

允许的目标函数计算的最大次数

对于 options 结构体,使用 MaxFunEvals

非负整数 | {3000*numberOfVariables}

MaxIterations

允许的最大迭代次数

对于 options 结构体,使用 MaxIter

非负整数 | {Inf}

MaxStallIterations

当前点处适应度函数值的平均变化小于 options.FunctionTolerance 的迭代次数

对于 options 结构体,使用 StallIterLimit

非负整数 | {500*numberOfVariables}

MaxTime

算法在运行 MaxTime 秒后停止

对于 options 结构体,使用 TimeLimit

非负标量 | {Inf}

ObjectiveLimit

所需的最小目标函数值

标量 | {-Inf}

OutputFcn

函数获取迭代数据,并可以在运行时更改选项

对于 options 结构体,使用 OutputFcns

函数句柄 | 函数句柄的元胞数组 | {[]}

PlotFcn

迭代期间调用的绘图函数

对于 options 结构体,使用 PlotFcns

函数句柄 | 内置绘图函数名称 | 函数句柄的元胞数组 | 内置绘图函数名称的元胞数组 | 'saplotbestf' | 'saplotbestx' | 'saplotf' | 'saplotstopping' | 'saplottemperature' | {[]}

PlotInterval

每隔一段时间调用一次绘图函数

正整数 | {1}

ReannealInterval

再退火间隔

非负整数 | {100}

TemperatureFcn

用于更新温度计划的函数

函数句柄 | 内置温度函数名称 | 'temperatureboltz' | 'temperaturefast' | {'temperatureexp'}

版本历史记录

在 R2007a 中推出

全部折叠