逼近不可微函数对最小化优化的影响

计算科学 优化 算法 非线性规划 约束优化 非凸的
2021-12-23 02:10:05

我正在研究一个约束最小化的问题,其中要最小化的函数包含 Heaviside 函数,因此不是两次连续可微的。

我的问题是对 Heaviside 函数使用两次连续可微近似对优化的准确性和效率有什么影响?

问题的形式

miniNki[H(xi)T],

s.t.iNki[xiR]0.01,

在哪里H(x)是 Heaviside 函数

x,k,T,RR

是否会使用近似的 Heaviside

H(x)12+12tanh(kx)=11+e2kx

帮助最小化并给出足够准确的结果

还是勒让德多项式展开式(类似于http://www.phys.ufl.edu/~fry/6346/legendrestep.pdf)会更成功?

在实施之前,这种方法需要扩展到多维,例如在 3 维中,最小化变为

ijlk1,ik2,jk3,l[H(xijk)T],

和约束

ijlk1,ik2,jk3,l[xijkR]0.01,

最小化由N 维中的约束最小化问题所涵盖,这个问题是关于在算法中使用对阶跃函数的近似值的效果(以及最终要使用的算法的选择)

2个回答

如果您正在针对ki,j,ki,j不是 Heaviside 函数的参数(对于每个i,j) 和xiT是已知参数,您的问题是连续的并且(两次连续)可微分k. 乍一看,您的问题看起来仍然是非凸的,因此确定性全局优化将需要具有凸松弛的分支定界方法。

如果xi是决策变量(有或没有ki,j),那么您的问题不仅仅是不可微分的:它是不连续的。因此,它又是非凸的,需要分支定界方法。一般来说,正如沃尔夫冈指出的那样,如果您知道不连续的位置,您可以将您的问题细分为许多较小的子问题,您可以在这些子问题上使用更有效的方法(阅读:不是分支定界,最好是第二个阶优化算法)。子问题的数量可能大得无法接受(正如 Wolfgang 指出的那样,在这种情况下,2n, 在哪里n是作为 Heaviside 函数参数的决策变量的数量)。

如果您用双曲正切近似替换 Heaviside 函数,您将获得两次可微性,但鉴于双曲正切在任何包含 0 的子区间上都是非凸的,您也可能会在问题中引入非凸性。因此,我认为通过引入该近似值不会获得太多收益,并且我只会在将问题划分为所有函数都是凸的、连续的和二次可微分的许多子问题不切实际的情况下使用它.

如果问题只是关于不可微性而不是不连续性,我会说你可以尝试查看次梯度方法或捆绑方法。这些比需要某种程度的可区分性的方法慢。值得注意的是,即使是无导数的方法也需要一定程度的可微性——它们只是假设导数信息不可用。

如果您拥有的变量数量适中,那么您可以将域细分为空间的半线/象限/八分圆/等。在它们中的每一个中,Heaviside 函数都是恒定的。例如,对于单个优化变量,您的原始问题是

minxk[H(x)T]s.t. k[xR]c.
您可以将其拆分为两个优化问题:首先,解决 然后求解 请注意,这两个都是线性优化问题,因此解决起来相当简单。这些问题之一可能没有解决方案,因为可行集是空的。
x1=argminxkTs.t. k[xR]candx0.
x2=argminxk[1T]s.t. k[xR]candx0.

如果只有一个问题有解决方案,那么你就完成了。如果两者都有解决方案,您只需比较目标函数在这些点上的值,即可找出哪个更好。

如果您有多个变量,那么问题会变得稍微复杂一些。例如,如果您有两个,那么您需要考虑变量的四种符号情况。对于一般的维问题,要比较的案例数是这很快就会变得不切实际,但对于适度的数字,您应该能够处理它。特别是,您可以使用整数编程的常用技巧,例如分支定界:如果您已经找到了解决方案xixiN2Nx从其中一个子问题中,这为您提供了一个目标函数的值,您需要在下面找到一个更好的解决方案。我相信您可以在线性规划的双重公式中使用它来排除给定的其他子问题之一具有更好的解决方案,甚至无需解决它。实际上,您可以解决许多少于的线性程序。2N