Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 给定多个起点的最佳局部极小值_Matlab_Optimization_Minimum - Fatal编程技术网

Matlab 给定多个起点的最佳局部极小值

Matlab 给定多个起点的最佳局部极小值,matlab,optimization,minimum,Matlab,Optimization,Minimum,我有几个优化器,我想确定哪个优化器尽可能最好地描述我的目标函数 我做了以下工作: [w111, fVal111] = fmincon(fH1, x1, A, B, [], [], LB, UB, nonlcon1, o); [w112, fVal112] = fmincon(fH2, x1, A, B, [], [], LB, UB, nonlcon2, o); [w121, fVal121] = fmincon(fH1, x2, A, B, [], [], LB, UB, nonlcon1,

我有几个优化器,我想确定哪个优化器尽可能最好地描述我的目标函数

我做了以下工作:

[w111, fVal111] = fmincon(fH1, x1, A, B, [], [], LB, UB, nonlcon1, o);
[w112, fVal112] = fmincon(fH2, x1, A, B, [], [], LB, UB, nonlcon2, o);
[w121, fVal121] = fmincon(fH1, x2, A, B, [], [], LB, UB, nonlcon1, o);
[w122, fVal122] = fmincon(fH2, x2, A, B, [], [], LB, UB, nonlcon2, o);
我使用不同的初始点和非线性约束。这里,
fH
是目标函数。如你所见,我使用不同的目标函数

由于我的函数经常进入局部极小值,我想知道哪个局部极小值是最好的


我如何使用输出(例如F值)做出这样的决定?

如果值越小越好?这就是你正在做的事情的字面定义。求fClear的最小值。如果你有其他的目标函数会怎么样?你还可以比较一下吗?让我澄清一下,最小值,当函数被应用时。很可能是
A*fval-B的最小值
肯定是您试图最小化的目标函数的最小值。如果你知道哪个目标函数是最好的,也就是说,如果你知道解决方案的完美度量为真,那么根据定义,你将知道答案,因此不需要最小化函数。当最小化时,你只是相信你的目标函数是真的,并且需要处理这个问题。需要明确的是:没有普遍的“这是好的”。不,您不能比较不同的目标函数值。为什么(以及如何)更改目标函数和约束以避免局部极小值?通常的方法是使用不同的起点,并保持所有其他参数不变。