主要内容

比较fminimaxfminunc

一个极大极小问题最小化最大的一组目标函数。为什么不这个最大函数最小化,这是一个标量函数?答案是,最大的不光滑,和优化工具箱™解决等fminunc需要光滑。

例如,定义有趣的(x)三个线性目标函数的两个变量,fun2随着这三个最大的目标。

一个= (1,1);b = (1, 1);c = [0, 1];a0 = 2;b0 = 3;c0 = 4;有趣= @ (x) [x * + a0, * b + b0, x * c + c0];fun2 = @ (x)马克斯(有趣的(x), [], 2);

情节的最大的三个目标。

(X, Y) = meshgrid (linspace (5,5));Z = fun2 ([X (:), Y (:)));Z =重塑(Z,大小(X));冲浪(X, Y, Z,“线型”,“没有”)视图(-118年28)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象的表面。

fminimax很容易地发现极大极小点。

x0 = (0,0);[xm, fvalm maxfval] = fminimax(有趣,x0)
局部最小值。约束满足。fminimax停止,因为当前的搜索方向的大小小于两倍的价值内一步满足尺寸公差和约束约束宽容的价值。
xm =1×2-2.5000 - 2.2500
fvalm =1×31.7500 1.7500 1.7500
maxfval = 1.7500

然而,fminunc停在这一点极大极小点。

(徐,fvalu) = fminunc (x0 fun2)
局部最小值。fminunc停止,因为它不能减少目标函数在当前的搜索方向。
徐=1×20 1.0000
fvalu = 3.0000

fminimax找到一个更好的(小)解决方案。

流(“fminimax发现与目标点% g \ nwhile fminunc发现与客观% g点。”、maxfval fvalu)
与目标1.75 fminimax找到一个点,而fminunc发现目标3。

另请参阅

相关的话题