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

如何在 CVXPY 中实现这个线性规划问题?

如何解决如何在 CVXPY 中实现这个线性规划问题?

我想在 CVXPY 中实现这个线性规划问题:

problem

其中 sorted 是排序统计量,stz 表示相关变量; b 表示 rp 中的欧几里得单位球。问题表述来自一篇论文,其中还指出:

这个问题等价于最小化前n个变量的总和, 这是一个函数,可以通过现成的求解器(例如 CVX)求解。

所以我改编了他们主页上的 CVXPY 示例,这是我想出的代码

beta_ = cp.Variable(shape=X.shape[1])

constraints = [cp.norm(beta_,2) <= 1]

obj = cp.Minimize(cp.sum_largest((-X @ beta_) * y,n))

prob = cp.Problem(obj,constraints)
prob.solve()  # Returns the optimal value.
print("status:",prob.status)
print("optimal value",prob.value)
print("optimal var",beta_.value)

Xy 分别是一个 numpy 矩阵和一个 numpy 向量。 问题是此代码打印:

status: unbounded
optimal value -inf
optimal var None

我不是代数或线性规划方面的专家,所以我不知道如何为这个问题找到一个有意义的解决方案。我的代码错了吗?还是真的是一个无解的无界问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。