中允许的“visit”参数值是什么scipy.optimize.dual\u退火?

2024-05-29 11:43:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用scipy.optimize.dual_annealing来最小化8个参数的函数。搜索空间(由我的bounds定义)相当广阔,但我知道解决方案接近x0。因此,在阅读了找到here的文档之后,我决定使用visit参数的较小值,默认值为2.62,应该在范围(0,3)内。你知道吗

当我使用visit=0.8时,我得到了一个运行时警告:在log中遇到了无效值,事实上,在源代码中我发现:

self._factor2 = np.exp((4.0 - self._visiting_param) * np.log(self._visiting_param - 1.0))

(第62号法律公告)_退火.py) (基本上self._visiting_param被严格地预先赋值为visit

所以我想可能文件是错的,访问的范围是(1,3)。你知道吗

当我使用visit=1.2时,我得到了一个FloatingPointError:在log中遇到了无效值,这是由于

x *= np.exp(-(self._visiting_param - 1.0) * np.log(self._factor6 / factor4) / (3.0 - self._visiting_param))

(第121号法律公告)_退火.py) 其中self._factor6为负。你知道吗

这是一个真正的错误,一个错误的文档,还是只是我误解了什么?为了在x0附近搜索,visit参数可以使用哪些值?你知道吗


Tags: 文档pyselflog参数param错误np

热门问题