fmincon停止因为当前步骤的大小小于一步尺寸公差的值和约束中满意的价值约束托尔

53视图(30天)
你好,
我试图使用fmincon解决优化问题。但是我认为没有足够的迭代达到一个最佳点。因为我使用一些初始点和最终结果非常接近。我得到了这个消息:
局部最小值。约束满足。
fmincon停止因为当前步骤的大小小于
一步尺寸公差的值和约束
满意在约束宽容的价值。
你能帮我我怎么能解决这个问题吗?
所有相关代码连接到这个文本。

接受的答案

马特·J
马特·J 2021年7月13日
编辑:马特·J 2021年7月13日
你的目标和非线性约束函数是随机由于这条线,
G = sqrt (0.5) * (randn (M, K) + 1我* randn (M, K));
如果函数是随机迭代搜索不能工作,因为每一次解决一个新的样品 x 随机函数的定义已经改变了。这也意味着目标函数中的G, G G约束永远不会是相同的。
大概,你打算做随机化前,不是在优化。

答案(1)

艾伦·韦斯
艾伦·韦斯 2021年7月13日
我不明白你的约束。他们似乎取决于随机数字,所以每次他们被称为改变。解决这并不符合优化的假设,这要求客观和非线性约束函数一致,相同的值 有趣的(x) nonlcon (x) 当他们被称为相同的值的参数 x 。我也不知道你的约束是实值;他们必须真正的为了解决优化工作。
艾伦·韦斯
MATLAB数学工具箱文档

类别

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

社区寻宝

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

开始狩猎!