【问题标题】:using cvxopt for LP problems with only Aeq=beq (no constraints with A*x<=b)将 cvxopt 用于仅具有 Aeq=beq 的 LP 问题(没有 A*x<=b 的约束)
【发布时间】:2013-02-22 16:48:23
【问题描述】:

我正在尝试解决以下形式的线性规划问题

minimise cT.x
A.x = b
x >= 0

交通问题。

但是,使用 CVXOPT 需要为 lp(G,h,A,b) 求解器定义变量 G.x

我尝试创建我的 A 和 b 矩阵,对于 G 和 h 矩阵,我使用 G 的单位矩阵(乘以 -1)和 h 的零向量,以便强加 x>=0约束。

但是,当我运行我的代码时,它会返回一个“奇异 KKT 矩阵”。

谁能帮我解决问题,或者我如何在没有 G 和 h 变量的情况下运行 CVXOPT 求解器。

【问题讨论】:

  • 为什么不使用 LP(线性规划)求解器? CVXOPT 用于凸优化,比 LP 困难得多。请在此处查看my earlier answer
  • 是的,我现在正在尝试使用 PuLP 和 Pyglpk。谢谢! @阿里

标签: python linear-programming convex-optimization


【解决方案1】:

使用潜在方法搜索运输问题的最优解。 要使用势法,您应该求解三个拉维尔方程。 交通问题等网络问题,请用对偶问题解决。

【讨论】:

    【解决方案2】:

    您的解决方案(-G - 单位矩阵,h - 零向量)应该可行。您可以在此处发布您的数据。

    例如:

    from cvxopt import matrix, solvers
    c = matrix([ 2.0, 1.0 ])
    G = matrix(-np.eye(2))
    h = matrix(np.zeros(2)) 
    A = matrix(np.eye(2))
    b = matrix([1., 2.])
    sol = solvers.lp(c, G, h, A, b)
    print(sol['x'])
    
    Optimal solution found.
    [ 1.00e+00]
    [ 2.00e+00]
    

    【讨论】:

      猜你喜欢
      • 2017-06-08
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多