问题标签 [cvxpy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在cvxpy中将变量堆叠在一起?
我想使用cvxpy
. 假设我想使用log_sum_exp
函数来构建这样的约束:
的语法cvxpy
允许我创建一个x = [z,m]
维度的向量变量2
并应用矩阵乘法来创建一个表达式向量0, z+m
:
像这样编码时,我会丢失一些逻辑,因为我希望变量数组的不同部分有不同的名称。有没有办法log_sum_exp
更明确地使用转换,比如
?
我在官方文档中找不到任何提示。谢谢!
python - 如何在 SCS for python 中实现二次约束
我有一个形式的二次优化问题
min wrt to x 1/2 x'x + q'x St Gx <= h
我有一个相当大的问题(几百万个点和约束),虽然 cvxopt 的默认求解器被证明是有效的,但我很好奇在 SCS 中实现它应该更快(并且不使用 CVXPY 接口)。
经过文献检索(主要是 Boyd's Convex Analysis),对 SOCP 形式的重新表述应该产生
min wrt to z of c'z 服从 Az + s = b, s in K
其中 c = (1 q)' 和 z = (tx)' 其中 t 是标量,K 是与我的原始约束 (Gx \leq h) 相关的线性锥体和二次锥体 Q = { (t,x) | t >= ||x||}
但是,我应该如何实际定义 A 和 b ?
我想象了类似于 A = [[0 G],[2, 1, .., 1]] 和 b = (h 0) 的东西。但是,在 python scs.solve 锥字典参数中将 'q' 选项设置为 [1] 时,我无法让它工作?A 的最后一行的预期语法是什么?(也就是说,假设我的数学重新表述是正确的......)
谢谢您的帮助 !
python-2.7 - 如何清除cvxpy中定义的变量?
当您反复调用cvxpy.Variables()
时
然后打印内部表示
当重复几次时,指数增加
如何释放生成变量占用的内存?
optimization - 投资组合优化中的基数约束
我正在使用 cvxpy 来解决一些简单的投资组合优化问题。我无法理解的唯一约束是非零投资组合持有数量的基数约束。我尝试了两种方法,一种 MIP 方法和一种传统的凸方法。
这是一个有效的传统示例的一些虚拟代码。
我有想法使用 sum_smallest 和 sum_largest ( cvxpy manual ) 我的想法是将最小的 nk 个条目限制为 0 并让我的目标范围 k 总和为 1,我知道我不能按顺序改变不等式的方向保持凸面,但也许任何人都知道一种在保持简单的同时约束问题的聪明方法。
我的第二个想法是把它变成一个混合整数问题,s.th沿着线
查看我的二进制向量,它似乎在做正确的事情,但 sum_entries 约束不起作用,查看二进制向量值我注意到 0 不是 0 它非常小,例如 xxe^-20 我认为这会搞砸向上。如果这是正确的方法,任何人都可以给我任何指导吗?如果有帮助,我可以使用标准求解器以及 Mosek。我更喜欢非 MIP 实现,因为我知道这是一个组合问题,对于更大的问题会变得非常慢。最终,我想限制目标持股的确切数量或范围,例如 20-30。
cvxpy 中围绕 MIP 的文档也很短。谢谢
python - python最小二乘回归修正目标函数
最小二乘回归定义为残差平方和的最小化,例如
但是,我想提出一个轻微的修改,以便我们仍然尽量减少以下内容
基本上我只想在预测的符号不等于实际的符号时惩罚y
。有没有关于这个或实现的文献?我正在尝试在 cvxpy 中实现,但不知道该怎么做
python - 在 CVXPY 中用矩阵求解线性程序
我在 Python 3 中使用 CVXPY 尝试在X
(N x T 矩阵)中对以下线性程序进行建模。让
R
是一个 N × 1 矩阵,其中每一行是 中的整行值的总和X
。P
是一个 1 × N 矩阵,定义X
为P_t = 1/(G-d-x_t)
.
我想解决一个理想的问题:
最小化 (X x P)
受制于:
X 中到达行 i 的总和必须至少为 R_i 中的值
X 中的每个值必须至少为 0
有什么想法吗?我有以下代码,但没有得到任何运气:
python - 求解 CVXPY 矩阵优化线性规划
我正在尝试在以下线性程序设置中求解理想矩阵 X:
X = N by T 矩阵,这是我们的变量。为简单起见,我们将 N 设置为 4,将 T 设置为 3。
X_column_sum = 1 by T 矩阵,其中每列值是 X 中对应列的所有值的总和
R = N x 1 矩阵,具有随机确定的值
G = 常数(为简单起见,我们设置为 100)
d = 1 × T 矩阵,其值在 [0, G-1] 范围内
P = 1 × T 矩阵等于 X_column_sum + d
C = X 点缀着 P
我想最小化 C 的条目总和,同时保留以下约束:
- X 中的所有值都必须 >= 0
- X 的每个对应行中所有值的总和必须至少等于 R 中的对应值
我在 python 中使用 cvxpy 尝试了以下代码,但无济于事:
mathematical-optimization - CVXPY 的最小加加速度轨迹
我正在尝试使用 cvxpy(版本 0.4.9)以数值方式解决生成 1D 最小加加速度轨迹的问题。这是问题的基本陈述,
“x”是作为时间函数的位置向量。“D”是计算加加速度的矩阵,“A”和“b”指定位置、速度和加速度的约束。x[0] = 0,x[N] = 1。速度和加速度从 0 开始和结束。
我尝试使用以下代码使用 CVXPY 解决此问题。
正如预期的那样,当N = 100时,我得到以下输出。
但是,当我更改N = 1000时,我得到了一些奇怪的东西(问题状态仍然是最佳的)。
为什么我会看到这样的差异?我做错了什么,我应该怎么做才能解决这个问题?
当我将 D 缩放 1000 倍时,我的结果是不同的。
python - 如何通过在 python 中使用 cvxpy 来最小化这个方程?
我是新手,CVXPY
想做一些优化,
这是我的代码:
在哪里
我有A(n乘m)和a(n乘n):
但我收到以下错误:
看来我没有解决凸问题,所以CVXPY
不起作用我该如何处理?
我是新手,CVXPY
所以请具体说明!谢谢!