gpt4 book ai didi

java - Java中最小化绝对函数

转载 作者:行者123 更新时间:2023-11-30 02:40:22 24 4
gpt4 key购买 nike

我正在研究 Java 中的绝对函数最小化问题。谁能建议库和解决方案?

我下载了apache common math3但是,找不到相关函数来创建线性函数来最小化绝对函数。

简单地说,我正在考虑用 Java 编写以下函数。

f(x) = b + | x - a | + d + | x - c | +  f + | x - e | 

我为第二个问题稍微编辑了这个问题,这里 b、d、f 也是线性函数。

b = a1x + b1
d = a2x + b2
f = a3x + b3

最佳答案

如果您要对 |x - a_i| 形式的 N 项求和,请考虑当 x 从负无穷大开始增加时的梯度:

  • 在负无穷大时,对于左侧数轴的大部分,梯度为 -N
  • 当您传递 a_i 值中的最小值时,梯度会稍微增加到 -N+2
  • 当您传递下一个最小的 a_i 值时,梯度会再次增加,达到 -N+4
  • 每经过a_i,梯度就增加2;
  • 在正无穷大时,梯度为 +N

因此,梯度开始为负值,在每个 a_i 位置逐步增加,最后为正值;您正在寻找梯度为零的点或范围。这将发生在“中间”,即值 a_i 的中位数。

  • 如果点数为奇数,则中位数为一个点。问题中的情况就是这样:最小值位于 median(a, c, e)
  • 如果有偶数个点,则中位数位于两个点之间。在这种情况下,函数会在这些点之间的任意位置最小化。

关于java - Java中最小化绝对函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com