什么是盆地跳跃大都市温度?

What is the Basin-Hopping Metropolis Temperature?

我正在设置使用 SciPy 的 basin-hopping 全局优化器。其参数 T 的文档说明

T: float, optional

The “temperature” parameter for the accept or reject criterion. Higher “temperatures” mean that larger jumps in function value will be accepted. For best results T should be comparable to the separation (in function value) between local minima.

当它说“函数值”时,是否意味着成本函数 func 的预期 return 值?或者传递给它的值?或者别的什么?

我阅读了源代码,我看到 T 在哪里传递给 Metropolis 接受标准,但我不明白它在转换为“测试版”时是如何使用的。

我不熟悉该算法,但如果你继续阅读你发布的 link 上的文档,你会发现:

Choosing T: The parameter T is the “temperature” used in the Metropolis criterion. Basinhopping steps are always accepted if func(xnew) < func(xold). Otherwise, they are accepted with probability:exp( -(func(xnew) - func(xold)) / T ). So, for best results, T should to be comparable to the typical difference (in function values) between local minima. (The height of “walls” between local minima is irrelevant.)

所以我认为 T 应该具有您要优化的函数的值,func。如果您查看该概率表达式,这是有道理的——您会将函数值的差异与该步骤的一种“上限”类型进行比较。例如,如果一个局部最小值是 func = 10,另一个是 func = 14,您可能会认为 T = 4 是一个合适的值。