微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 中的 OSQP 求解器

如何解决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 举报,一经查实,本站将立刻删除。