【问题标题】:ValueError in linear program with cvxopt (Rank(A) < p or Rank([G; A]) < n)cvxopt 线性规划中的 ValueError (Rank(A) < p 或 Rank([G; A]) < n)
【发布时间】:2021-09-04 01:29:46
【问题描述】:

我尝试使用 python 中的 cvxopt 包解决以下线性程序,并想知道如何修复所述的 ValueError。考虑到我是一个使用 cvxopt 的新手,我想这是一个建模错误。

以下以标准符号显示优化问题:

下面展示了python/cvxopt中的等效模型:

import cvxopt
A = cvxopt.matrix([[1.0, 10.0, 12.0],
                   [1.0, 6.0, 1.0],
                   [1.0, 8.0, 15.0],
                   [1.0, 4.0, 6.0],
                   [1.0, 5.0, 3.0]])
b = cvxopt.matrix([1.0, 6.0, 12.0])
c = cvxopt.matrix([-4.1, -3.5, -3.8, -2.9, -3.3])
print(A)
print(b)
print(c)
cvxopt.solvers.lp(c,A,b)
# sol = cvxopt.solvers.lp(c,A,b)
# print(sol['x'])

下面显示对应的Output/ValueError:

有谁知道如何处理这个问题?任何想法将不胜感激。

我正在使用 jupyter notebook 中的 python (3.8.5) 和 cvxopt (1.2.0) 在 windows 机器上编码。

【问题讨论】:

    标签: python optimization linear-programming convex-optimization cvxopt


    【解决方案1】:

    从错误看来它是不可行的。尝试交换 c 上的符号并检查结果

    【讨论】:

    • 非常感谢您的快速回复 Marco_sbt。我交换了标志,但错误仍然存​​在。你还有别的想法吗?我想我在 cvxopt 语法方面的建模不正确......
    猜你喜欢
    • 2015-06-26
    • 2019-09-05
    • 2021-12-29
    • 2022-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-04
    • 2021-07-06
    • 1970-01-01
    相关资源
    最近更新 更多