为了账号安全,请及时绑定邮箱和手机立即绑定

如何最小化仅使用整数输入的实函数

如何最小化仅使用整数输入的实函数

慕森王 2023-03-16 15:23:16

哪些优化算法适用于整数输入、浮点数输出?


一种想法是仅使用布伦特搜索,但构建了一种方法,该方法对两个最近的点进行插值以伪造实数输入而不是整数输入。


我的第二个想法是,这似乎是一种普遍的需求,scipy 中一定已经有一些东西可以做到这一点和/或更适合它的算法?


Bisect 当然适用于此,但对于大量输入,它的收敛时间可以改进。像布伦特优化这样的混合方法会更好。


https://docs.scipy.org/doc/scipy/reference/optimize.html


例子


a = []

for i in range(10):

    a.append(i-5+.8)


# a = [-4.2, -3.2, -2.2, -1.2, -0.19999999999999996, 0.8, 1.8, 2.8, 3.8, 4.8]

# How to find a[x] such that a is as close to 0 as possible? x = 4, a = -0.2


查看完整描述

1 回答

?
函数式编程

TA贡献1632条经验 获得超9个赞

用比二分法更好的方法求根对于整数搜索空间没有意义,因为它已经非常非常快了。例如,一万亿个值在不到 33 步内收敛。



查看完整回答
反对 回复 2023-03-16
  • 1 回答
  • 0 关注
  • 10 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信