文件帮助中心文件
粒子群优化
X = Pricstleswarm(有趣,NVARS)
X = PricticleSwarm(有趣,NVARS,LB,UB)
x = particleswarm(有趣,据nvar磅,乌兰巴托,选项)
X = ParticleSwarm(问题)
[x,fval,extflag,输出] = particleswarm(___)
例子
X= particleswarm(乐趣那据nvar)试图找到一个向量X达到局部最小值乐趣.据nvar尺寸(设计变量的数量)是乐趣.
X= particleswarm(乐趣那据nvar)
X
乐趣
据nvar
笔记
传递额外的参数说明如何在必要时向目标函数传递额外参数。
X= particleswarm(乐趣那据nvar那磅那乌兰巴托)在设计变量上定义一组下限和上限,X,因此在该范围内发现解决方案磅≤X≤乌兰巴托.
X= particleswarm(乐趣那据nvar那磅那乌兰巴托)
磅
乌兰巴托
X= particleswarm(乐趣那据nvar那磅那乌兰巴托那选项)最小化默认优化参数替换为值选项.放lb = []和乌兰巴托= []如果没有边界存在。
X= particleswarm(乐趣那据nvar那磅那乌兰巴托那选项)
选项
lb = []
乌兰巴托= []
X= particleswarm(问题)找到最低限度问题中描述的结构问题.
X= particleswarm(问题)
问题
[X那fval.那ExitFlag.那输出] = particleswarm(___),对于上述任何输入参数,返回:
[X那fval.那ExitFlag.那输出] = particleswarm(___)
fval.
ExitFlag.
输出
一个标量fval.,这是目标函数值有趣的(x)
有趣的(x)
一个值ExitFlag.描述退出条件
结构输出包含关于优化过程的信息
全部收缩
最小化一个简单的二元函数。
定义目标函数。
fun = @(x)x(1)* exp(-norm(x)^ 2);
调用partminleswarm.来最小化函数。
partminleswarm.
rng默认的重复性的%据nvar = 2;X = Pricstleswarm(有趣,NVARS)
优化结束:最后一个options的目标值中的相对变化.maxstallerations迭代率小于options.functionTolectance。X = 311.4814
正如您在函数图中看到的那样,这个解决方案离真正的最小值还很远。
fsurf(@(x,y)x。* exp( - (x。^ 2 + y。^ 2)))
通常,最好设置界限。看用界限最小化简单的功能.
最大限度地减少两个变量具有绑定约束的简单功能。
设置变量的边界。
磅=(-10、-15);UB = [15,20];
rng默认的重复性的%据nvar = 2;X = PricticleSwarm(有趣,NVARS,LB,UB)
优化结束:最后一个options的目标值中的相对变化.maxstallerations迭代率小于options.functionTolectance。
x =1×2-0.7071 -0.0000
使用更大的人口和混合函数来试图获得更好的解决方案。
指定目标函数和边界。
fun = @(x)x(1)* exp(-norm(x)^ 2);磅=(-10、-15);UB = [15,20];
指定选项。
选项= Optimoptions('particleswarm'那'群体化',100,“HybridFcn”, @fmincon);
rng默认的重复性的%据nvar = 2;x = particleswarm(有趣,据nvar磅,乌兰巴托,选项)
返回可选的输出参数以更详细地检查解决方案流程。
定义问题。
fun = @(x)x(1)* exp(-norm(x)^ 2);磅=(-10、-15);UB = [15,20];选项= Optimoptions('particleswarm'那'群体化',50,“HybridFcn”, @fmincon);
调用partminleswarm.用所有的输出来最小化函数并获得关于解决过程的信息。
rng默认的重复性的%据nvar = 2;[x,fval,出口,输出] = particleswarm(有趣,nvars,lb,Ub,选项)
fval = -0.4289
EXITFLAG = 1
输出=结构与字段:rngstate: [1x1 struct]迭代:43 funccount: 2203消息:'优化结束:客观值的相对变化…“hybridflag: 1
目标函数,指定为函数句柄或函数名称。写下目标函数接受行的长度向量据nvar并返回标量值。
当。。。的时候“UseVectorized”选项是真正的,写乐趣接受A.流行-经过-据nvar矩阵,其中流行是目前的人口大小。在这种情况下,乐趣返回与载体相同的向量流行包含健身功能值。确保这件事乐趣不承担任何特定的尺寸流行,因为partminleswarm.即使在矢量化计算中也可以通过人口的单个成员。
“UseVectorized”
真正的
流行
例子:fun = @(x)(x-[4,2])。^ 2
fun = @(x)(x-[4,2])。^ 2
数据类型:char|function_handle.|字符串
char
function_handle.
字符串
变量数,指定为正整数。解算器通过了长度的行向量据nvar来乐趣.
例子:4.
4.
数据类型:双倍的
双倍的
[]
下界,指定为实向量或双精度数数组。磅表示下限元素明智磅≤X≤乌兰巴托.
在内部,partminleswarm.转换阵列磅向量磅(:).
磅(:)
例子:磅=[0;无穷;4)方法x(1)≥0那X(3)≥4.
磅=[0;无穷;4)
x(1)≥0
X(3)≥4
上限,指定为真正的矢量或双打数组。乌兰巴托表示上限元素明智磅≤X≤乌兰巴托.
在内部,partminleswarm.转换阵列乌兰巴托向量UB(:).
UB(:)
例子:UB = [INF; 4; 10]方法X(2)≤4那X(3)≤10.
UB = [INF; 4; 10]
X(2)≤4
X(3)≤10
优化选择
选项partminleswarm.,指定为输出优化选择功能。
某些选择缺席优化选择显示。这些选项以斜体列出。有关详细信息,请参见查看选项.
CreationFcn
创建初始群的函数。指定为'pswreationuniform'或功能手柄。默认为'pswreationuniform'.看创建群.
'pswreationuniform'
显示
显示级别返回到命令行。
'离开'或'没有任何'显示无输出。
'离开'
'没有任何'
'最终的'仅显示最终输出(默认值)。
'最终的'
'iter'提供迭代显示。
'iter'
displayinterval.
1
functiontolerance.
1 e-6
MaxStallIterations
options.FunctionTolerance.
检查目标函数和约束值是否有效。'上'当目标函数或约束返回复杂的值时,显示错误,INF.,或南.默认的,'离开',显示没有错误。
'上'
INF.
南
HybridFcn
函数,在之后继续优化partminleswarm.终止。指定为名称或函数句柄。可能的值:
'粉丝'
“fminsearch”
“fminunc”
'patternsearch'
也可以是指定混合函数及其选项的单元格数组,例如{@ fmincon,fminconopts}.默认为[].看混合函数.
{@ fmincon,fminconopts}
看何时使用混合函数.
惯性
[0.1,1.1]
initialswarmmatrix.
m
SwarmSize
initialswarmspan.
初始范围的粒子位置@pswcreationuniform创造。可以是正标量或矢量据nvar元素,据nvar是变量的数量。任何粒子组分的范围是-InitialSwarmSpan / 2, InitialSwarmSpan / 2,在必要时进行移位和缩放,以匹配任何边界。默认为2000年.
@pswcreationuniform
-InitialSwarmSpan / 2, InitialSwarmSpan / 2
2000年
initialswarmspan.还影响初始粒子速度范围。看初始化.
最大
200 * NVARS.
20.
MaxStallTime
MaxTime.
minneighborsfraction.
0.
0.25
Objectivelimit.
-inf.
outputfcn.
Plotfcn.
'pswplotbestf'
selfadjustment重量
1.49
社交调节重量
分钟(100,10 * NVARS)
使用指α.
错误的
UseVectorized
优化问题,指定为具有以下字段的结构。
解算器
'particleswarm'
客观的
rngstate
数据类型:塑造
塑造
解决方案,作为真实载体返回,使目标函数最小化受到任何限制约束。
客观价值,作为真正的标量返回有趣的(x).
算法停止条件,返回作为识别算法停止的原因的整数。以下列出了值的值ExitFlag.以及相应的原因partminleswarm.停止了。
客观价值相对于过去的变化选项。maxStallIterations迭代率小于options.FunctionTolerance..
选项。maxStallIterations
超出迭代次数选项。maxIterations.
选项。maxIterations
-1
由输出函数或绘图函数停止的迭代。
-2
界限不一致:一些一世那LB(i)>UB(i).
一世
LB(i)
UB(i)
-3
最佳目标函数值如下options.Objectivelimit..
options.Objectivelimit.
-4
最佳目标函数内值不变化options.maxstalltime.秒。
options.maxstalltime.
-5
运行时间超过options.maxtime.秒。
options.maxtime.
解决方案过程摘要,作为包含有关优化过程信息的结构。
迭代
求解器迭代的数量
funccount
客观函数评估数。
信息
原因算法停止。
hybridflag
从混合函数退出标志。与之涉及HybridFcn选项.
默认随机数生成器的状态在算法开始之前。
关于粒子群优化算法的描述,请参见粒子群优化算法.
这优化Live Editor任务提供可视界面partminleswarm..
要并行运行,请设置'使用指平行'选择真正的.
'使用指平行'
选项= Optimoptions('solvername.”、“UseParallel’,真的)
solvername.
有关更多信息,请参阅如何在全局优化工具箱中使用并行处理.
GA.|优化|Patternsearch.
GA.
Patternsearch.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站来获得可用的翻译内容,并看到当地的活动和提供。根据您所在的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室
立即获得审判