【发布时间】:2022-01-04 10:41:08
【问题描述】:
假设我在给定范围 [a,b] 上定义了一个函数 f(x),其中 f(x) > 0。我想最大化 f,但我的算法只能最小化给定函数。
鉴于前提,最小化 -f(x) 或 1/f(x) 有什么区别? 对我来说,鉴于 f(x) 始终为正,根本没有区别,因为在任何一种情况下,全局最大值都变成了 [a,b] 的全局最小值。 精度:我对这个过程使用标准的遗传算法。我主要关心的是它如何根据使用的功能探索空间,但到目前为止,似乎完全没有区别。
【问题讨论】:
-
1/f(x)是倒数,函数逆是完全不同的东西。 -
我认为任何最小化算法都使用梯度或其近似值,并且 1/f(x) 的梯度与 f(x) 的梯度完全不同。在简单的情况下可能无关紧要,但当涉及到有限精度时,您最好小心。
-
@n.m.:遗传算法通常依赖于函数评估,而不是梯度。
-
@timk:更喜欢 -f,计算速度更快,数值中性。
-
标签: algorithm function optimization