【问题标题】:Convex programming with CVXOPT or CVXPY使用 CVXOPT 或 CVXPY 进行凸编程
【发布时间】:2015-05-24 07:36:36
【问题描述】:

我需要在 Python 中使用 CVXOPT 或 CVXPY 解决优化问题,但我遇到了困难。目标函数是

Minimize Sum(a*x^2+b/x)

受以下限制

5 <= x < 40;

sum(v/d)<=T

其中向量x 是优化变量,向量ab 是给定的,T 是给定的标量。

【问题讨论】:

    标签: python optimization cvxopt convex-optimization cvxpy


    【解决方案1】:

    以下代码解决了 CVXPY 中的问题。我以为你的意思是sum(x/d) &lt;= T

    # Replace these with your values.
    n = 2
    a = 2
    b = 2
    d = 2
    T = 1000
    
    import cvxpy as cvx
    
    x = cvx.Variable(n)
    obj = cvx.sum_entries(a*x**2 + b*cvx.inv_pos(x))
    constr = [5 <= x, 
              x <= 40,
              cvx.sum_entries(x/d) <= T]
    prob = cvx.Problem(cvx.Minimize(obj), constr)
    prob.solve()
    

    【讨论】:

      猜你喜欢
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多