【问题标题】:Extract numbers from CVXPY array从 CVXPY 数组中提取数字
【发布时间】:2020-12-09 02:42:46
【问题描述】:

我正在使用 Python 的 CVXPY 包解决优化问题。我创建了一个名为 x 的 CVXPY 变量(包含 10 个值的数组)。我需要施加一个约束,即x 中的第二个最大值小于 0.03。我尝试将其转换为 NumPy 数组无济于事。如何从x 数组中提取值?

import cvxpy as cp

x = cp.Variable(10)

【问题讨论】:

    标签: python optimization cvxpy


    【解决方案1】:

    不,您必须留在 CVXPY 中,即直接使用变量 x。

    第二大 x 应该 ”的问题并非完全无关紧要。

    最大的 x 应该 ”很简单。它与“all x should be ”或

    相同
     x[i] <= 0.03 for all i
    

    或以 CVXPY 表示法:

     x <= 0.03
    

    第二大条件意味着:所有 x 必须

     x[i] <= 0.03 + δ[i]*(XUP-0.03)   for all i
     sum(δ[i]) = 1       (one exception) 
     x[i] <= XUP         (the constant XUP is an upper bound on x)
     δ[i] ∈ {0,1}        (binary variable)
    

    我会让你把它转录成 CVXPY 符号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-21
      • 2021-12-08
      • 1970-01-01
      • 2018-11-04
      • 2017-03-02
      • 2013-03-15
      • 2018-06-22
      • 1970-01-01
      相关资源
      最近更新 更多