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

时间:2014-11-13 11:13:18

标签: matlab function optimization

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

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

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

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 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:-1)

答案就在那里:

Initial point is a local minimum

您提供的初始点已经是本地最低值。因此算法找到最小值并坚持下去。 要查找其他本地最低全局,请将初始点更改为远离本地最小值的其他值。 为了找到全局最小值,请使用全局优化技术。