找到函数最大值的最大值

时间:2016-11-29 20:26:23

标签: matlab optimization

我想解决以下问题:

  

x * = argmin f(max_ {j = 1,...,J} g_j(x)),

其中fg_j是已知的平滑函数,而x是标量。我还有fg_j的分析梯度。是否可以使用fminunc(使用牛顿方法)或MatLab中的其他求解器来找到解决方案?显然max_{j=1,...,J} g_j(x)是不可区分的(除非k对所有g_k(x) >= g_j(x)j,但它是不可微分的。因此,我无法直接使用fminunc,因为它请求目标函数的渐变。如果我可以使用fminunc,我将如何处理?

例如,请考虑f(x) = xJ=1,2g_1(x) = (x-1)^2g_j(x) = (x+1)^2。然后max g_1, g_2g_1g_2的上方信封。最低限度位于x=0

注意:函数fminimax接近我想要的。 fminimax解决了

  

x * = argmin max_ {j = 1,...,J} g_j(x)。

0 个答案:

没有答案