文档帮助中心
GlobalSearch
MultiStart
运行多个开始解算器
x =运行(gs、问题)
x =运行(ms,问题,k)
x =运行(ms,问题,startpts)
[x, fval] = (___)
[x, fval exitflag、输出]= (___)
[x, fval exitflag、输出解决方案万博 尤文图斯]= (___)
例子
x= (gs,问题)运行GlobalSearch查找一个解决方案或多个本地解决方案万博 尤文图斯问题。
x= (gs,问题)
x
gs
问题
x= (女士,问题,k)运行MultiStart在k找到一个或多个本地解决方案的起始点万博 尤文图斯问题。
x= (女士,问题,k)
女士
k
x= (女士,问题,startpts)运行MultiStart在问题从开始点描述startpts。
x= (女士,问题,startpts)
startpts
(x,fval]= (___)返回目标函数值atx使用以前语法中的任何参数都可以找到最佳点。为lsqcurvefit和lsqnonlin当地的解决者,fval包含残差的平方范数。
(x,fval]= (___)
fval
lsqcurvefit
lsqnonlin
(x,fval,exitflag,输出]= (___)还返回描述返回条件的退出标志和描述运行迭代的输出结构。
(x,fval,exitflag,输出]= (___)
exitflag
输出
(x,fval,exitflag,输出,万博 尤文图斯]= (___)还返回一个包含运行期间找到的不同的局部极小值的解向万博 尤文图斯量。
(x,fval,exitflag,输出,万博 尤文图斯]= (___)
万博 尤文图斯
全部折叠
创建一个具有多个局部最小值的优化问题,并尝试使用全局最小值GlobalSearch。研究的目标是六驼峰骆驼背问题(参见“六驼峰骆驼背问题”)运行解算器)。
rng默认的%的再现性gs = GlobalSearch;sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3…+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4;问题= createOptimProblem (“fmincon”,“x0”(1、2),…“目标”sixmin,“磅”,3,3,乌兰巴托的,3,3);x =运行(gs、问题)
全球搜索停止了,因为它分析了所有的试验点。所有8个本地求解器运行时都收敛于一个正的本地求解器退出标志。
x =1×2-0.0898 - 0.7127
您可以请求目标函数值atx当你打电话运行通过使用以下语法:
运行
[x, fval] =运行(gs、问题)
但是,如果你忽略了请求fval,你仍然可以计算目标函数值x。
fval = sixmin (x)
fval = -1.0316
使用默认的MultiStart目的解决六驼峰驼背问题(参见运行解算器)。
rng默认的%的再现性女士= MultiStart;sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3…+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4;问题= createOptimProblem (“fmincon”,“x0”(1、2),…“目标”sixmin,“磅”,3,3,乌兰巴托的,3,3);[x, fval exitflag, outp万博 尤文图斯t,解决方案]= (30 ms、问题);
MultiStart完成了所有起点的运行。所有30个本地求解器运行时都收敛于一个正的本地求解器退出标志。
检查最佳功能值和获得最佳功能值的位置。
流('最好的函数值是%f.\n'fval)
最好的函数值是-1.031628。
流(获得这个值的位置是[%f,%f]。,x)
获得该值的位置为[-0.089842,0.712656]。
创建一组初始2d点MultiStart范围内(3、3)为每个组件。
(3、3)
v = 3:0.5:3;(X, Y) = meshgrid (v);ptmatrix = [X (:), Y (:));tpoints = CustomStartPointSet (ptmatrix);
找到使六峰驼峰问题最小化的点(参见运行解算器)开始MultiStart在tpoints。
tpoints
rng默认的%的再现性女士= MultiStart;sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3…+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4;问题= createOptimProblem (“fmincon”,“x0”(1、2),…“目标”sixmin,“磅”,3,3,乌兰巴托的,3,3);x =运行(ms,问题,tpoints)
MultiStart完成了所有起点的运行。所有169个本地求解器运行时都收敛于一个正的本地求解器出口标志。
x =1×20.0898 - -0.7127
rng默认的%的再现性gs = GlobalSearch;sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3…+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4;问题= createOptimProblem (“fmincon”,“x0”(1、2),…“目标”sixmin,“磅”,3,3,乌兰巴托的,3,3);[x, fval exitflag、输出解决方案万博 尤文图斯]=运行(gs、问题);
了解GlobalSearch为了解决这个问题,考了吗输出结构和万博 尤文图斯对象。
disp(输出)
localSolverNoSolution: 0消息:“GlobalSearch停止,因为它分析了所有的试用点……”
GlobalSearch对目标函数求值2261次。
GlobalSearch跑fmincon从八个不同的点开始。
fmincon
所有的fmincon运行成功地聚合到本地解决方案。
disp(万博 尤文图斯解决方案)
带有属性的GlobalOptimSolution数组:X Fval Exitflag Output X0
x.Output.funcCount arrayfun (@ (万博 尤文图斯x),解决方案)
ans =1×431 34 40 3
8次本地求解运行找到了4个解决方案。万博 尤文图斯的funcCount输出显示fmincon不超过40个函数的评估,以达到每一个解决方案的四个。万博 尤文图斯输出没有显示有多少个函数的计算值fmincon跑了。2261项功能评估中的大部分似乎都是为了GlobalSearch评估试验点,不是为了fmincon从这些点开始跑。
funcCount
GlobalSearch求解器,指定为aGlobalSearch对象。创建gs使用GlobalSearch命令。
MultiStart求解器,指定为aMultiStart对象。创建女士使用MultiStart命令。
优化问题,指定为一个问题结构。创建问题使用createOptimProblem。有关详细信息,请参见创建问题结构。
createOptimProblem
例子:问题= createOptimProblem (“fmincon”、“客观”,有趣,x0, x0,“磅”,磅)
问题= createOptimProblem (“fmincon”、“客观”,有趣,x0, x0,“磅”,磅)
数据类型:结构体
结构体
起始点的个数,指定为正整数。MultiStart生成k - 1起始点使用与a相同的算法RandomStartPointSet对象。MultiStart还使用x0点的问题结构。
k - 1
RandomStartPointSet
x0
例子:50
50
数据类型:双
双
CustomStartPointSet
开始点MultiStart,指定为CustomStartPointSet对象,作为一个RandomStartPointSet对象,或作为此类对象的单元格数组。
例子:{custompts, randompts}
{custompts, randompts}
找到最佳点,作为一个实际数组返回。最佳点是目标函数值最低的点。
遇到的最低目标函数值,作为实标量返回。为lsqcurvefit和lsqnonlin,目标函数是平方和,也称为残差的平方范数。
退出条件摘要,作为整数返回。
2
1
0
MaxIterations
MaxFunctionEvaluations
-2
5
MaxTime
8
-10年
解决方案流程详细信息,以结构形式返回,包含以下字段。
localSolverIncomplete
localSolverNoSolution
localSolverSuccess
localSolverTotal
消息
GlobalOptimSolution
不同的局部解,作为向量返回万博 尤文图斯GlobalOptimSolution对象。
GlobalOptimSolution|GlobalSearch|MultiStart
您的系统中存在此示例的修改版本。你想打开这个版本吗?
你点击了一个链接,对应于这个MATLAB命令:
在MATLAB命令窗口中输入命令,运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站来获取可用的翻译内容,并查看本地事件和报价。根据你的位置,我们建议你选择:。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站表现。其他MathWorks国家站点不适合来自您所在位置的访问。
联系当地办事处