问题标签 [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 中解决优化问题时,是否有一种很好的方法可以通过用实际值替换优化变量来检查约束是否有效?
我有一个复杂的优化问题(100 多个约束),但我知道最佳解决方案应该是什么。但是,cvxpy 失败并显示错误消息ValueError: Rank(A) < p or Rank([G; A]) < n
我认为这是因为我在其中一个约束中有错字,使它们不一致。有没有一种很好的方法来替换变量的实际值,以查看违反了哪些约束(因为它们可能有拼写错误)?
我的实际问题很复杂,所以我做了一个简单的例子:
in-4
约束c3
应该是. +4
这失败并显示错误消息:Certificate of primal infeasibility found.
如果我输入p.show()
我得到:
是否有一个值可以替换正确的解决方案 ( x == 3., y == 1.
) 以便看到违反了第三个约束?我试过搞乱x.value
等,但还没有找到办法
python - ArithmeticError 在 cvxpy 中导致“Rank(A) < p or Rank([G; A]) < n”错误
我正在尝试使用 cvxpy(以及因此 cvxopt)在具有 28 个节点和 37 条线路的相对简单的网络中对最佳功率流进行建模,但得到“Rank(A) < p 或 Rank([G; A]) < n “ 错误。
(使用相同的代码,我可以找到具有 4 个节点和 4 条线的更简单的网络的最佳解决方案。)
我已经非常仔细地检查了约束并没有不一致(使用我在 Stack Overflow 上对这个问题的回答: Check constraints are ok in cvxpy with actual values)
这是回溯:
当我查看 /Library/Python/2.7/site-packages/cvxopt/coneprog.py",第 687 行时,它实际上是在挽救一个算术错误
那有意义吗?为什么会出现算术错误,例如OverflowError
, ZeroDivisionError
, FloatingPointError
,除非 cvxpy 扩展了 ArithmeticError 意味着问题描述不当,即 Rank(A) < p 或 Rank([G; A]) < n"?
python - 安装了cvxpy,我可以导入但在ipython中不能自动完成
所以我按照https://github.com/cvxgrp/cvxpy的说明安装了 cvxpy并且它可以工作,但它不会在 ipython 中自动完成,即。
工作得很好但是
只给我cvxopt
完成...
任何想法如何解决这一问题?
谢谢你
PS。如果这很重要,我正在运行 ubuntu
编辑:
我应该说我已经尝试过了%rehashx
,它并没有改变任何东西......
这是在这个问题中提出的,如何将模块添加到 ipython 自动完成?
此外,在 Eclipse 中,我设法通过转到
窗口 > 首选项 > PyDev > 解释器 - Python > New Egg/Zip(s)
并导航到文件 /usr/local/lib/python2.7/dist-packages/cvxpy-0.1-py2.7.egg
因此,出于这些原因,我认为这不是重复的,我将不胜感激任何反馈。
谢谢!
python - Python 约束非线性优化
python中约束非线性优化的推荐包是什么?
我要解决的具体问题是:
我有一个未知数X
(Nx1),我有M
(Nx1)个u
向量和M
(NxN)个s
矩阵。
当我开始这个问题时,我只有一个点估计,u
并且s
我能够用 解决上述问题cvxpy
。
我意识到,我没有对u
和进行一个估计s
,而是拥有整个值的分布,所以我想改变我的目标函数,以便我可以使用整个分布。上面的问题描述是我试图以一种有意义的方式包含这些信息。
cvxpy
不能用来解决这个问题,我试过了scipy.optimize.anneal
,但我似乎无法为未知值设置界限。我也看过,pulp
但它不允许非线性约束。
python - 用一些块作为变量 CVXPY 构建对角块矩阵
我想在 CVXPY 中生成一个(对角线)块矩阵(最好是稀疏的)。
有些块可以是eye(m)
或任何东西,但我有一个块是:
然后我尝试将块对角矩阵形成W_diag
为一个块,例如,通过:
我收到以下错误:
TypeError:不支持类型转换:(dtype('float64'),dtype('O'))
我能做些什么?其他方法?我想T
稍后在 CVXPY 的约束中使用矩阵。
python - CVXPY 上的内核匹配追求
我正在编写内核匹配追求的代码。在那,我已经习惯了 cvxpy 进行凸优化。我必须最小化基于这篇论文的以下目标:http: //ieeexplore.ieee.org/xpl/articleDetails.jsp? arnumber=6815769 ,代码如下:
但是,代码不起作用并抛出错误:不能将两个非常数相乘。我认为这是在“epirk”中将三个项相乘的问题。但是,我对此没有任何解决方案。请帮忙。
python - 使用 CVXOPT 或 CVXPY 进行凸编程
我需要在 Python 中使用 CVXOPT 或 CVXPY 解决优化问题,但我遇到了困难。目标函数是
受以下约束
其中向量x
是优化变量,向量a
和b
是给定的,并且T
是给定的标量。
python - 使用 CVX/CVXPY 求解 L2 正则化逻辑回归
我已经尝试了 2-3 天来让 L2 正则化逻辑回归在 Matlab(CVX)和 Python(CVXPY)中工作,但没有成功。我对凸优化还很陌生,所以我很沮丧。以下是我尝试使用 CVX/CVXPY 求解的方程。我从论文 https://intentmedia.github.io/assets/2013-10-09-presenting-at-ieee-big-data/pld_js_ieee_bigdata_2013_admm.pdf中获取了这个等式
我的 Matlab (CVX) 代码是
CVX 返回一个错误,说这是有道理的,但论文提到了上述等式。我该如何解决?
您的目标函数不是标量。
在尝试了 Matlab 之后,我尝试了 CVXPY。这是python代码
我得到错误
类型错误:尺寸不兼容
所以,我的问题是:我在 CVX/CVXPY 中计算 L2 问题的代码中做错了什么?
python - 从 CVX 到 CVXPY 或 CVXOPT
我一直在尝试将一些代码从 Matlab 传递到 Python。我在 Matlab 上遇到了同样的凸优化问题,但我在将其传递给 CVXPY 或 CVXOPT 时遇到了问题。
这就是我用Python和CVXPY尝试过的。
尽管如此,它还是行不通。你们中有人知道如何使它工作吗?我很确定我的问题在于约束。并且它会很高兴与 CVXOPT 一起使用。
python - CVXPY 中的元素乘法
我有以下 CVXPY 的代码片段:
代码运行良好,与cost = - a + b1
. 但是,如果我尝试b1
与标量相乘mul_elemwise
并尝试使用 运行它cost = - a + b2
,我会收到错误消息:
UnboundLocalError:分配前引用的局部变量“coeff”。