文件帮助中心文件
使用模拟退火算法查找最小功能
x = simulannealbnd(有趣,x0)
x = Simulannealbnd(乐趣,x0,lb,Ub)
X = SimulanneAlbnd(有趣,X0,LB,UB,选项)
x = simulannealbnd(问题)
[x,fval] = simulannealbnd(___)
[x,fval,出口,输出] = simulannealbnd(___)
例子
X= simulannealbnd(乐趣那X0.)找到当地的最小值,X,功能句柄乐趣计算目标函数的值。X0.是模拟退火算法,真实矢量的初始点。
X= simulannealbnd(乐趣那X0.)
X
乐趣
X0.
笔记
通过额外的参数如有必要,如何将额外参数传递给客观函数。
X= simulannealbnd(乐趣那X0.那磅那UB.)在设计变量上定义一组下限和上限X,使解决方案始终在范围内磅≤.X≤.UB..如果x(我)下面是无界的集合磅(i) =负无穷, 而如果x(我)在上面无界,设置乌兰巴托(i) =正无穷.
X= simulannealbnd(乐趣那X0.那磅那UB.)
磅
UB.
x(我)
磅(i) =负无穷
乌兰巴托(i) =正无穷
X= simulannealbnd(乐趣那X0.那磅那UB.那选项)使用指定的优化选项最小化选项.创造选项使用优化选择.如果没有界限,请设置lb = []和/或UB = [].
X= simulannealbnd(乐趣那X0.那磅那UB.那选项)
选项
优化选择
lb = []
UB = []
X= simulannealbnd(问题)找到最低限度问题,描述的结构问题.
X= simulannealbnd(问题)
问题
[X那fval.) = simulannealbnd (___),返回目标函数的值乐趣在解决方案X.
[X那fval.) = simulannealbnd (___)
fval.
[X那fval.那ExitFlag.那输出) = simulannealbnd (___)另外,返回一个值ExitFlag.这描述了退出条件Simulannealbnd.和一个结构输出有关于优化过程的信息。
[X那fval.那ExitFlag.那输出) = simulannealbnd (___)
ExitFlag.
输出
Simulannealbnd.
全部收缩
最小化De Jong的第五个功能,具有许多当地最小值的二维功能。
剧集De Jong的第五个功能。
dejong5fcn.
最小化De Jong的第五功能Simulannealbnd.从点开始[0,0].
[0,0]
有趣= @ dejong5fcn;x0 = [0 0];x = simulannealbnd(有趣,x0)
优化终止:更改最佳函数值小于options.functiontolerance。
X =1×2-32.0285 -0.1280
这Simulannealbnd.算法使用MATLAB®随机数流,因此您可能会获得不同的结果。
在有界区域内最小化De Jong第五函数。
开始Simulannealbnd.从此开始[0,0],并设置每个组件的下界为-64,上界为64。
有趣= @ dejong5fcn;x0 = [0 0];lb = [-64 -64];UB = [64 64];x = Simulannealbnd(乐趣,x0,lb,Ub)
X =1×2-15.9790 -31.9593
遵守进步Simulannealbnd.通过设置选项来使用一些plot函数。
设置模拟退火选项以使用多个绘图功能。
选择= optimoptions ('simulannealbnd'那'plotfcns'那......{@saplotbestx, @saplotbestf、@saplotx @saplotf});
RNG.默认%的再现性有趣= @ dejong5fcn;x0 = [0,0];LB = [-64,-64];UB = [64,64];X = SimulanneAlbnd(有趣,X0,LB,UB,选项)
获得模拟退火最小化的所有输出。
有趣= @ dejong5fcn;x0 = [0,0];LB = [-64,-64];UB = [64,64];[x,fval,出口,输出] = simulannealbnd(有趣,x0,lb,Ub)
fval = 1.9920.
EXITFLAG = 1
输出=结构与字段:迭代:1762 Funccount:1779消息:'优化终止:最佳函数值的变化小于选项。'rngstate:[1x1 struct]问题类型:'绑定'温度:[2x1双] TOTETIME:1.9546
要最小化的功能,指定为函数句柄或函数名称。乐趣一个函数接受向量吗X并返回一个真正的标量F,客观函数评估X.
F
乐趣可以指定为文件的函数句柄:
x = simulannealbnd(@ myfun,x0)
在哪里myfun.是一个matlab.®等功能
myfun.
函数f = myfun(x)f = ...%compute函数值x
乐趣也可以是匿名函数的函数句柄:
x = simulannealbnd(@(x)rang(x)^ 2,x0,lb,Ub);
例子:Fun = @(x)sin(x(1))* cos(x(2))
Fun = @(x)sin(x(1))* cos(x(2))
数据类型:字符|function_handle.|细绳
字符
function_handle.
细绳
初始点,指定为真正的矢量。Simulannealbnd.使用元素的数量X0.确定变量的数量乐趣接受。
例子:x0 = [1,2,3,4]
x0 = [1,2,3,4]
数据类型:双倍的
双倍的
下限,指定为真实的矢量或真实数组。如果元素的数量X0.等于磅, 然后磅指定
x(我)> =磅(我)对所有人一世.
x(我)> =磅(我)
一世
如果元素个数(磅)<元素个数(x0), 然后磅指定
元素个数(磅)<元素个数(x0)
x(我)> =磅(我)为了1 <= i <= numel(lb).
1 <= i <= numel(lb)
在这种情况下,索盘发出警告。
例子:要指定所有控制变量都为正,lb = zeros(size(x0))
lb = zeros(size(x0))
上界,指定为实向量或实数组。如果元素的数量X0.等于UB., 然后UB.指定
x(i)<= UB(i)对所有人一世.
x(i)<= UB(i)
如果numel(Ub), 然后UB.指定
numel(Ub), 然后UB.指定
x(i)<= UB(i)为了1 <= I <= numel(ub).
1 <= I <= numel(ub)
例子:要指定所有控制变量小于1,UB =α(大小(x0))
UB =α(大小(x0))
优化选项,指定为返回的对象优化选择或结构。有关详细信息,请参见模拟退火选项.
优化选择隐藏列出的选项斜斜体;看Optimoptions隐藏的选项.
{}表示默认值。详情请参阅模拟退火选项.
{}
AcceptanceFcn
函数,该算法用于确定一个新点是否被接受。指定为'acceptansa'或者函数句柄。
'acceptansa'
功能手柄|{'Acceptansa'}
{'Acceptansa'}
Annealingfcn.
函数算法用于生成新点。指定为内置退火功能或函数句柄的名称。
函数名|'AnnealingBoltz'|{'Annealingfast'}
'AnnealingBoltz'
{'Annealingfast'}
数据类型
决策变量的类型
'风俗'|{'双倍的'}
'风俗'
{'双倍的'}
展示
显示水平
“关闭”|'iter'|“诊断”|{'最终的'}
“关闭”
'iter'
“诊断”
{'最终的'}
displayinterval.
迭代显示的间隔
正整数|{10}
{10}
functiontolerance.
函数值的终止公差
对于选项结构,使用塔尔芬.
塔尔芬
正标量|{1E-6}
{1E-6}
Hybridfcn.
自动运行Hybridfcn.(另一优化函数)在求解器的迭代结束期间或结束时。指定为名称或函数句柄。
看何时使用混合函数.
'fminsearch' | 'fminunc' | 'fmincon' | {[]}
或者
1-BY-2电池阵列|{@solver, hybridoptions}, 在哪里解算器= fminsearch那patternsearch那Fminunc., 或者粉刺{[]}
{@solver, hybridoptions}
解算器= fminsearch
patternsearch
Fminunc.
粉刺
{[]}
HybridInterval
间隔(如果没有'结尾'或者'绝不')在那里Hybridfcn.叫做
'结尾'
'绝不'
正整数|'绝不'|{'结尾'}
{'结尾'}
InitialTemperature.
温度初始值
正标量|正矢量|{100}
{100}
MaxFunctionEvaluations.
允许的最大客观函数评估数
对于选项结构,使用MaxFunEvals.
MaxFunEvals
正整数|{3000 * numberOfVariables}
{3000 * numberOfVariables}
最大
允许的最大迭代数
对于选项结构,使用麦克斯特.
麦克斯特
正整数|{inf}
{inf}
MaxStallIterations
当前点的平均函数值的平均变化的迭代次数小于options.FunctionTolerance.
options.FunctionTolerance.
对于选项结构,使用Stalliterlimit..
Stalliterlimit.
正整数|{500 * numberOfVariables}
{500 * numberOfVariables}
MaxTime
算法在运行后停止MaxTime秒
对于选项结构,使用时限.
时限
正标量|{inf}
Objectivelimit.
期望的最小目标函数值
标量|{-inf}
{-inf}
OutputFcn
功能获取(s)迭代数据,可以在运行时更改选项
对于选项结构,使用outputfcns..
outputfcns.
功能手柄|电池阵列函数处理|{[]}
Plotfcn.
绘图函数在迭代期间调用
对于选项结构,使用Plotfcns..
Plotfcns.
功能手柄|内置绘图功能名称|电池阵列函数处理|内置绘图函数名称的单元格阵列|'saplotbestf'|'saplotbestx'|'saplotf'|'saplotstopping'|“saplottemperature”|{[]}
'saplotbestf'
'saplotbestx'
'saplotf'
'saplotstopping'
“saplottemperature”
地图
每个间隔都调用绘图函数
正整数|{1}
{1}
ReannealInterval.
再次退火时间间隔
正整数|{100}
温度浮出水
用于更新温度计划的函数
功能手柄|内置温度功能名称|'lightmboltz'|'温度快餐'|{'stingsatureexp'}
'lightmboltz'
'温度快餐'
{'stingsatureexp'}
例子:选项= Optimoptions(@ SimulanneAlbnd,'maxItrations',150)
选项= Optimoptions(@ SimulanneAlbnd,'maxItrations',150)
数据类型:塑造
塑造
问题结构,指定为具有以下字段的结构:
客观的- 目标函数
客观的
X0.- 初始点
磅- 下限X
UB.- 上限X
求解器-'simulannealbnd'
求解器
'simulannealbnd'
选项- 使用的选项优化选择或选项结构
rngstate.- 可选字段以重置随机数生成器的状态
rngstate.
问题必须拥有上面规定的所有字段。
解,作为实向量返回。的大小X与大小相同X0..通常情况下,X是当地解决问题的地方ExitFlag.是积极的。
解决方案的目标函数值,作为实数返回。一般来说,fval.=有趣(x).
有趣(x)
原因Simulannealbnd.停止,返回整数。
1
目标函数值的平均变化options.maxstall迷你迭代率小于options.FunctionTolerance..
options.maxstall迷你
5.
目标函数值小于options.Objectivelimit..
options.Objectivelimit.
0.
达到的最大函数评估数或迭代次数。
-1
优化由输出函数或绘图函数终止。
-2
找不到可行的点。
-5
超过了时间限制。
有关优化过程的信息,作为具有字段的结构返回:
问题型- 问题类型:无限制或受约束。
问题型
迭代- 计算的迭代次数。
迭代
Funccount.- 目标函数的评估数。
Funccount.
信息—算法终止的原因。
信息
温度- 求解器终止时的温度。
温度
总时间-求解器运行的总时间。
总时间
rngstate.- Matlab随机数发生器的状态,就在算法开始之前。您可以使用值rngstate.重现产出Simulannealbnd..看重现你的结果.
这优化活动编辑器任务为Simulannealbnd..
GA.|优化|优化选择|patternsearch
GA.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室
立即获得审判