小编Pet*_*ter的帖子

scipy.minimize如何处理NaN?

我在scipy.minimize中使用SLSQP求解器来解决约束优化问题.解算器通常会尝试违反约束的参数值.当违反这些约束时,目标函数返回a nan.这似乎会带来问题,因为我的近似Jacobian nan几乎每次重新计算时都充满了.通常情况下,优化会终结exit mode 8: Positive directional derivative for linesearch.我怀疑nan近似的雅各比派中的人是这个的源头.我的问题是scipy.minimize如何处理nan?它们是良性的,还是应该转换为大的(甚至是无限的)数字?据我所知,Scipy文档中的任何地方都没有涉及此信息.

python optimization nan minimize scipy

8
推荐指数
1
解决办法
813
查看次数

肮脏的流浪汉不尊重步长?

运行以下代码,在要评估的参数(x)的第7个输出中,尽管将初始步长设置为.1并将间隔设置为50,但是参数仍从约100跳至.01。跳得比步幅大这么大?

import multiprocessing as mp
from scipy.optimize import basinhopping

def runEnvironment(x):
    return x**2

def func(x):
    print "x:",x
    pool = mp.Pool(processes=1)

    results=pool.apply(runEnvironment,(x,))
    pool.close()
    return results


if __name__ == '__main__':
    x0=100    
    ret=basinhopping(func, x0, niter=100, T=1.0, stepsize=.1, minimizer_kwargs=None, take_step=None, accept_test=None, callback=None, interval=50, disp=False, niter_success=None)
Run Code Online (Sandbox Code Playgroud)

python optimization scipy

5
推荐指数
1
解决办法
732
查看次数

标签 统计

optimization ×2

python ×2

scipy ×2

minimize ×1

nan ×1