文档帮助中心
粒子群算法
X = particleswarm(乐趣,nvars)
X = particleswarm(乐趣,nvars,LB,UB)
X = particleswarm(乐趣,nvars,LB,UB,选项)
X = particleswarm(问题)
[X,FVAL,exitflag,输出] = particleswarm(___)
例
X= particleswarm(开玩笑,nvars)试图找到一个向量X这实现了局部最小开玩笑。nvars是尺寸(数设计变量的)开玩笑。
X= particleswarm(开玩笑,nvars)
X
开玩笑
nvars
传递额外的参数(优化工具箱)解释了如何额外的参数,传递给目标函数,如果必要的。
X= particleswarm(开玩笑,nvars,磅,UB)定义了设计变量的一组上限和下限的,X,使得溶液中的范围内发现磅≤X≤UB。
X= particleswarm(开玩笑,nvars,磅,UB)
磅
UB
X= particleswarm(开玩笑,nvars,磅,UB,选项)使用默认的优化参数最大限度地减少替换值选项。组磅= []和UB = []如果不存在界限。
X= particleswarm(开玩笑,nvars,磅,UB,选项)
选项
磅= []
UB = []
X= particleswarm(问题)找到最低的问题,其中问题是一个结构。
X= particleswarm(问题)
问题
[X,FVAL,exitflag,产量] = particleswarm(___),对于上面,返回描述的任何输入参数:
[X,FVAL,exitflag,产量] = particleswarm(___)
FVAL
exitflag
产量
标量FVAL,这是目标函数值有趣(X)
有趣(X)
一个值exitflag描述退出条件
的结构产量关于优化过程包含信息
全部收缩
最小化两个变量的简单函数。
定义目标函数。
有趣= @(X)×(1)* EXP(范数(X)^ 2);
呼叫particleswarm最小化功能。
particleswarm
RNG默认%用于重现nvars = 2;X = particleswarm(乐趣,nvars)
优化结束:在过去的OPTIONS.MaxStallIterations迭代的客观价值相对变化小于OPTIONS.FunctionTolerance。X = 629.4474 311.4814
该解决方案还远没有真正的最小值,因为你在函数图见。
fsurf(@(X,Y)X * EXP( - (的x ^ 2 + Y ^ 2)))。
通常情况下,最好是设定界限。看到尽量减少与界一个简单的函数。
最小化两个变量的约束带约束的简单功能。
在设置的变量范围。
磅= [-10,-15]。UB = [15,20];
RNG默认%用于重现nvars = 2;X = particleswarm(乐趣,nvars,LB,UB)
优化结束:在过去的OPTIONS.MaxStallIterations迭代的客观价值相对变化小于OPTIONS.FunctionTolerance。
X =1×2-0.7071 -0.0000
使用更多的人口和混合功能,试图得到一个更好的解决方案。
指定目标函数和边界。
有趣= @(X)×(1)* EXP(范数(X)^ 2);磅= [-10,-15]。UB = [15,20];
指定选项。
选项= optimoptions('particleswarm','SwarmSize',100,'HybridFcn',@ fmincon);
RNG默认%用于重现nvars = 2;X = particleswarm(乐趣,nvars,LB,UB,选项)
返回可选的输出参数检查求解过程的更多细节。
定义问题。
有趣= @(X)×(1)* EXP(范数(X)^ 2);磅= [-10,-15]。UB = [15,20];选项= optimoptions('particleswarm','SwarmSize'50,'HybridFcn',@ fmincon);
呼叫particleswarm与所有输出以最小化功能,并得到有关解决方案的过程信息。
RNG默认%用于重现nvars = 2;[X,FVAL,exitflag,输出] = particleswarm(乐趣,nvars,LB,UB,选项)
FVAL = -0.4289
exitflag = 1
输出=同场的结构:rngstate:[1x1的结构]迭代:43 funccount:2203的消息: '优化结束:在客观值相对变化...'
目标函数,指定为功能手柄或函数的名称。编写目标函数接受长的行向量nvars并返回一个标量值。
当。。。的时候'UseVectorized'选项真正,写开玩笑接受流行-通过-nvars矩阵,其中流行是目前的人口规模。在这种情况下,开玩笑返回一个矢量的长度相同流行含有合适函数值。确保这件事开玩笑不承担任何特定大小流行由于particleswarm甚至可以在一个矢量计算传递一个群的一个成员。
'UseVectorized'
真正
流行
例:有趣= @(X)(X - [4,2])。^ 2
有趣= @(X)(X - [4,2])。^ 2
数据类型:烧焦|function_handle|串
烧焦
function_handle
串
变量数,指定为正整数。解算器通过长度的行向量nvars至开玩笑。
例:4
4
数据类型:双
双
[]
下界,指定为实向量或双打的阵列。磅表示下界逐元素在磅≤X≤UB。
在内部,particleswarm转换的阵列磅到向量磅(:)。
磅(:)
例:LB = [0; -Inf; 4]手段X(1)≥0,X(3)≥4。
LB = [0; -Inf; 4]
X(1)≥0
X(3)≥4
上限,指定为实向量或双打的阵列。UB表示上限逐元素在磅≤X≤UB。
在内部,particleswarm转换的阵列UB到向量UB(:)。
UB(:)
例:UB = [Inf文件; 4; 10]手段X(2)≤4,X(3)≤10。
UB = [Inf文件; 4; 10]
X(2)≤4
X(3)≤10
optimoptions
对于选项particleswarm,指定为的输出optimoptions功能。
有些选项是从缺席optimoptions显示。这些选项中列出了斜体。有关详细信息,请参阅查看选项(优化工具箱)。
CreationFcn
创建初始的群功能。作为指定'pswcreationuniform'或功能句柄。默认值是'pswcreationuniform'。看到群创。
'pswcreationuniform'
显示
显示器的水平返回到命令行。
“关”要么'没有'显示没有输出。
“关”
'没有'
'最后'只显示最终输出(默认)。
'最后'
'ITER'给迭代显示。
'ITER'
DisplayInterval
1
FunctionTolerance
1E-6
MaxStallIterations
options.FunctionTolerance
检查目标函数和约束值是否有效。'上'时显示目标函数或约束返回一个值,该值是复杂的错误,天道酬勤, 要么为NaN。默认的,“关”时,显示没有错误。
'上'
天道酬勤
为NaN
HybridFcn
在此之后继续优化功能particleswarm终止。指定为名称或功能句柄。可能的值:
'fmincon'
'fminsearch'
'fminunc'
'patternsearch'
也可以是一个单元阵列指定混合功能和它的选择,如{@ fmincon,fminconopts}。默认值是[]。看到混合功能。
{@ fmincon,fminconopts}
看到当使用混合功能。
InertiaRange
[0.1,1.1]
InitialSwarmMatrix
中号
SwarmSize
InitialSwarmSpan
粒子位置的那个初始范围@pswcreationuniform创建。可以是正标量或矢量nvars元素,其中nvars是变量的数目。的范围内对于任何颗粒组分是-InitialSwarmSpan / 2,InitialSwarmSpan / 2,移位并在必要时缩放,以匹配任何边界。默认值是2000。
@pswcreationuniform
-InitialSwarmSpan / 2,InitialSwarmSpan / 2
2000
InitialSwarmSpan也影响初始粒子速度的范围内。看到初始化。
MaxIterations
200个* nvars
20
MaxStallTime
MAXTIME
MinNeighborsFraction
0
0.25
ObjectiveLimit
-Inf
OutputFcn
PlotFcn
'pswplotbestf'
SelfAdjustmentWeight
1.49
SocialAdjustmentWeight
分钟(100,10 * nvars)
UseParallel
假
UseVectorized
优化问题,指定为具有以下字段的结构。
求解
'particleswarm'
目的
rngstate
数据类型:结构
结构
溶液,返回作为所述目标函数受到任何结合的约束最小化的实数向量。
客观价值,返回真正的标有趣(X)。
算法停止条件,返回一个整数,标识算法停止的原因。下面列出的值exitflag和相应的原因particleswarm停止。
在过去的客观价值的相对变化options.MaxStallIterations迭代次数小于options.FunctionTolerance。
options.MaxStallIterations
超过迭代次数options.MaxIterations。
options.MaxIterations
-1
迭代停止通过输出功能和绘图功能。
-2
边界是不一致的:对于一些一世,磅(ⅰ)>UB(ⅰ)。
一世
磅(ⅰ)
UB(ⅰ)
-3
最佳目标函数值低于options.ObjectiveLimit。
options.ObjectiveLimit
-4
最佳目标函数值之内并没有改变options.MaxStallTime秒。
options.MaxStallTime
-5
运行时间超过options.MaxTime秒。
options.MaxTime
溶液工艺总结,返回作为含有约优化过程信息的结构。
迭代
解算器迭代次数
funccount
客观评价次数。
信息
理性停止算法。
默认的随机数生成器的状态之前的算法开始。
对于粒子群算法的描述,请参阅粒子群算法。
并行运行,设置'UseParallel'选项真正。
'UseParallel'
选项= optimoptions(”solvername”, 'UseParallel',真)
solvername
欲了解更多信息,请参阅如何使用全局优化工具箱并行处理。
GA|patternsearch
GA
patternsearch
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处