python - 如何在 CVXPY 中实现这个线性规划问题?
问题描述
我想在 CVXPY 中实现这个线性规划问题:
其中是一个排序统计量,其中和表示所涉及的变量;表示 中的欧几里得单位球。问题表述来自一篇论文,其中还指出:
该问题相当于最小化前 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)
X
和y
分别是一个 numpy 矩阵和一个 numpy 向量。问题是这段代码打印:
status: unbounded
optimal value -inf
optimal var None
我不是代数或线性规划方面的专家,所以我不知道如何为这个问题找到一个有意义的解决方案。我的代码错了吗?或者它真的是一个没有解决方案的无限问题?
解决方案
推荐阅读
- c# - 集成测试:API 控制器无法通过 ASP.NET Core API 调用另一个控制器
- python - 尝试从 Pandas Dataframe 中删除停用词时,通过字符而不是单词循环迭代
- ios - UISearchBar 在带有大标题的 UINavigationBar 中闪烁
- node.js - React Native:调试和发布版本的工作方式不同
- python - 不使用 map() 或 join() 将列表转换为整数
- android - React Native - AES/ECB/PKCS5Padding 算法用密钥和字符串加密
- android - 警报没有停止
- reactjs - 如何配置 react-script 使其不会在“开始”时覆盖 tsconfig.json
- javascript - 如何使用 RexExp 对象创建字母表?
- c++ - 在 Windows XP 上添加自定义 2FA(登录后)