是否有人知道一个强大的例程/算法(最好是scipy / python)来定义“全部”局部最小值,用于N维向量空间的定义(“矩形”)区域中N个变量的标量实函数?
scipy中的约束和无约束最小化算法都只返回一个最小值(全局或局部)
答案 0 :(得分:2)
Scipy的basinhopping有一个callback
参数,可用于保存所有找到的最小值。
例如:
all_minima = []
def save_minima(x, f, accepted):
all_minima.append(x)
basinhopping(func, x0, callback=save_minima)
显然,这并不一定会返回所有本地最小值。但它确实会返回它找到的所有内容。