如何手动更改MaxFunctionEvaluations fmincon吗

126(30天)
我想手动更改评估的数量从3000年到更大的东西。有没有可能有更多的评价我可以增加全球最低的机会找到给定函数的乐趣?我怎么能改变这个脚本?
谢谢你的帮助:)

接受的答案

艾伦·韦斯
艾伦·韦斯 2016年10月26日
我认为简短的回答你的问题是设置 MaxFunctionEvaluations选项 higher-than-default价值。看到 设置和改变选项 。您可能还想增加 MaxIterations 选择。
祝你好运,
艾伦·韦斯
MATLAB数学工具箱文档

更多的答案(2)

约翰D 'Errico
约翰D 'Errico 2016年10月25日
不。增加功能评估的最大数量不是你将如何确保找到全球最低。事实上,如果优化终止高兴地在第一个实例中,然后改变限制不会做一件事。
Fmincon不是一个全球优化器。它会找到一个解决方案,尽其所能,但不同的开始点可以产生不同的解决方案。万博 尤文图斯增加功能测评允许不会改变。
你可能想尝试全球优化器。有一个工具箱。或者你可能想尝试这样的随机优化遗传算法。同样,一个工具箱。或者模拟退火粒子群工具等,或者更好的开始值。
1评论
sycXZOR
sycXZOR 2016年10月26日
我不太确定你的答案。例如如果我把在随机x0向量作为fmincon起点,我得到,三十四3000评价向量x,我是搜索和fval,当前值的功能:
[x, fval] = fmincon(有趣,x0,);
然而,如果我使用计算x向量作为新起点:
x0 = x;
并重复新的起点我得到改进的算法新的fval因此改进新向量x和改进的局部最小值的函数。如果我循环直到区别新旧的绝对值fval假设比0.0001我进入实际的局部最小值。不可能全球最低,但那样的改进的局部最小值。是的,数量的评估应该扮演某种角色或我的理论是错的吗?

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2016年10月25日
改变最大的功能评估可以帮助查找 当地的 最小值,在某些情况下,函数是足够复杂的数学,很多评价都需要预测正确的方向搜索,或者如果你想要的位置最小值高的宽容。
在那里 功能相对运动的1平台以及最小值或少产生很大的影响,当局部最小值坐在在一个更大的山谷,一个非常狭窄的槽 有时 增加功能评估可以极大地影响结果。
每隔一段时间的局部最小值是全球最小值,但是如果你在错误的局部最小值搜索,不管有多少功能评估您允许,你不会与fmincon找到全局最小点。fmincon大多是无法逃离足够深的局部最小值。
3评论
艾伦·韦斯
艾伦·韦斯 2023年1月11日
我建议你问你的问题在一个新的问题,不是连接到一个已经回答。
但是如果你想看到如何创建和使用选项,看看 设置选项
艾伦·韦斯
MATLAB数学工具箱文档

登录置评。

类别

找到更多的在和迭代解算器输出显示帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!