Python 中的 OSQP 求解器

问题描述

我有一个关于 OSQP(算子分裂二次程序)的问题 求解器实现:

我想用它来解决随机生成 10x10 矩阵的二次问题。

我尝试了以下方法

import osqp
import numpy as np
from scipy import sparse


# Define problem data
P = sparse.csc_matrix(np.random.uniform(1,10,size=(10,10)))
q = np.random.uniform(0,9,size=10)
Gs= np.random.uniform(0,size=10)
print("der Maßstab für Gs:",Gs)
A = sparse.csc_matrix(np.diag(-1*Gs))
l = np.zeros(10)


# Create an OSQP object
prob = osqp.OSQP()

# Setup workspace and change alpha parameter
prob.setup(P,q,A,l,alpha=1.0)

# Solve problem
res = prob.solve()

但只是有错误 ValueError: Workspace allocation error!

你知道我做错了什么吗?

当我使用求解器 cvxopt 以及使用网站上的示例代码时,效果很好。

我改变了一点,但它根本不起作用。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)