首页 文章

MATLAB优化:具有“步骤”的目标函数

提问于
浏览
1

我试图在MATLAB中使用fmincon找到最小值,我面临以下问题:

优化已完成,因为初始点处的渐变大小小于函数容差的默认值 .

我的目标函数的表面显示“步骤”,因此它在某些输入变量范围内具有相同的值(如果我是正确的话,渐变的大小为零):

enter image description here

从初始点开始移动时,求解器看不到目标函数值的任何变化,并完成优化:

Iteration  Func-count       f(x)        Step-size       optimality

0           3          581.542                             0

Initial point is a local minimum.

Optimization completed because the size of the gradient at the initial point 
is less than the default value of the function tolerance.

当目标函数保持其值不变(直到目标函数开始增加)时,有没有办法让求解器向前移动?

谢谢你的帮助 .

2 回答

  • -1

    我发布我的扩展评论作为答案,希望未来的答案寻求者更容易找到解决方案:

    使用非基于梯度的求解器,例如,你可能得到合理的结果 . ga,如果目标函数的评估成本不高 . 这些不依赖于梯度并且在非平滑函数上表现良好 . 在选择求解器算法之前,还应阅读以下指南:How to choose solver .

  • 0

    答案就在那里:

    Initial point is a local minimum .

    您作为 initial point 给出的观点已经是 local minimum . 因此算法找到最小值并坚持下去 . 为了找到其他 local minimum 或者 global ,请将初始点更改为远离 local minimum 的其他内容 . 为了找到 global minimum 使用全局优化技术 .

相关问题