scipy中的最小化,用于查找N维标量函数的所有局部最小值的算法

时间:2012-11-21 22:34:04

标签: python scipy numerical-methods minimize

是否有人知道一个强大的例程/算法(最好是scipy / python)来定义“全部”局部最小值,用于N维向量空间的定义(“矩形”)区域中N个变量的标量实函数?

scipy中的约束和无约束最小化算法都只返回一个最小值(全局或局部)

1 个答案:

答案 0 :(得分:2)

Scipy的basinhopping有一个callback参数,可用于保存所有找到的最小值。

例如:

all_minima = []
def save_minima(x, f, accepted):
    all_minima.append(x)

basinhopping(func, x0, callback=save_minima)

显然,这并不一定会返回所有本地最小值。但它确实会返回它找到的所有内容。