【问题标题】:Optimised method to find all solutions of inequality求不等式所有解的优化方法
【发布时间】:2020-01-16 00:25:36
【问题描述】:

我正在尝试找出不等式解决方案的数量 c > (a+(b^2)−1)/(a−1)

受限于2<=a<=A, 1<=b<=B, 1<=c<=C

到目前为止,我使用的方法是使用嵌套循环,其中 a 为外循环,b 为内循环。我正在尝试寻找优化方法的方法,因为A 可以与10^9 一样大。

任何建议将不胜感激。

【问题讨论】:

    标签: python-3.x optimization inequality


    【解决方案1】:

    使用 numpy 进行矢量化操作。你可以做这样的事情 ->

    import numpy as np
    
    a = np.arange(2,A)
    b = np.arange(1,B)
    a1 = a.repeat(len(b), axis=0)
    b1 = b.repeat(len(a), axis=0)
    
    rhs = (a1 + (b1**2) -1) / (a1 - 1)
    

    【讨论】:

    • 没有使用 numpy 的经验,因此无法指出错误,但名为 rhs 的列表没有给出正确的 c 值。而且,这仍然需要很多时间。
    猜你喜欢
    • 2015-08-10
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多