我正在使用内点法进行线性优化。 我的优化代码如下
z=scipy.optimize.linprog(c, A_ub, b_ub, bounds=bounds,method='interior-point',
options = {"maxiter":10000})
我有34K数据。使用以下代码检查A_ub的形状
A_ub.shape
Out[7]: (37439, 74878)
最初为8K数据运行了相同的代码,但现在抛出错误
TypeError: Invalid input for linprog: A_ub must be a numerical 2D array with each row representing an upper bound inequality constraint
您能帮助我解决此问题吗?
答案 0 :(得分:-1)
我从旧代码中找到了这个示例
from scipy import optimize
optimize.linprog(
... c = [1, 3],
... A_ub=[[1, 1]],
... b_ub=[4],
... bounds=(1, 6),
... method='interior-point'
... )
con: array([], dtype=float64)
fun: 4.00000000831602
message: 'Optimization terminated successfully.'
nit: 4
slack: array([2.])
status: 0
success: True
x: array([1., 1.])
您当然可以使用简单的方法或任何其他方法。可能是您应该检查内存,正在处理大型数组。