具有绝对值的函数最小值的解析形式

计算科学 优化 凸优化
2021-12-16 07:32:53

我想找到最小化以下函数的点的分析形式:

f(xT)=1Ta1(xTx0)2+a2|xTx0|+Ta3+i=1Mpi[b1i(xTli)2+b2i|xtli|+b3i]

在哪里T,a1,x0,a2,a3,pi,b1i,li,b2i,b3i是常数,T,a1,x0,a2,pi,b1i,li,b2i大于零,M 为正指数。该函数是连续的、凸的和分段可微的。关于如何找到点的分析形式的任何想法,xT,它最小化f(xT)?

2个回答

我非常怀疑这种封闭形式的解决方案是否存在。当然,如果可以找到,它需要利用这样一个事实,即你所拥有的是形式的函数的线性组合γ1(xTy)2+γ2|xTy|这当然是一个很好的功能。

但是,关于参数,您的问题的解决方案不是连续的a1/2,bi1/2. 您已经可以看到,如果您暂时忽略了二次项(即,a1=bi1=0) 并考虑这种情况M=1. 在这种情况下,您添加两个绝对值函数,即

f(xT)=a1|xTx0|+b11|xTl1|
很容易看出,如果a1>b11那么最小值在xT=x0而对于a1<b11最小值在xT=l1. 为了a1=b11, 之间的每一点x0l1是最小值。

这个例子已经表明,即使是简化的情况也不容易解决。如果您向问题添加更多参数,情况只会变得更糟。

(顺便说一句:人们可能会推测其中一点x0,li考虑到您加起来的条款的形式,实际上是最小值。但是,我相信给出一个不正确的反例是很简单的。但是,即使是这样,这些有限多点中哪一个是最小值的问题显然取决于所有系数的相对大小,并且如上面的示例所示,这不是一个简单的决定。)

这不是分析解决方案,而是找到解决方案的策略。

风口浪尖x0,li划分R成一系列区间。最小值要么位于尖点之一,要么位于其间的间隔之一。您可以对这些区间进行二分搜索,以查看导数变化在哪个尖点附近出现。然后检查那个尖点处的左导数和右导数,看看那里的子导数是否包含零。如果是这样,那是最低限度的。

另一方面,如果在尖点处的左导数和右导数都是正的,则解在直接向左的区间中。类似地,如果两个导​​数都为负,则解在直接向右的区间中。在这两个区间中,函数都是二次的,因此有一个解决方案的公式。