问题标签 [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.

0 投票
1 回答
1139 浏览

python - scipy.optimize.minimize 无法收敛具有约束的矩阵输入

(第一个问题,如果在某种程度上不好,将进行编辑。在发布之前进行了研究)

我想预测 x*C=y (x 和 y 是数据集,C 是一个矩阵),具有 C 的行总和为 1 并且其元素介于 0 和 1 之间的约束。

因为受约束的是行,而不是列,所以我不能只使用线性回归而必须写下误差函数。我在 Matlab 中成功地做到了这一点,所以我知道它不在数据或方法中,而可能在我的代码中。

我的代码(如下)给出了这两个错误之一(取决于随机初始猜测,我假设):

任何帮助将不胜感激。我是 Python 新手,在这方面花了很多时间。

0 投票
0 回答
336 浏览

python - matlab CVX问题到python cvxpy

这是我的 Matlab CVX

我在 Python 环境中的 cvxpy 中尝试了这个:

但是约束变量有问题。也许 numpy 函数不起作用。似乎只有 cvxpy 语法有效。但是,我在 cvxpy 语法中找不到矩阵乘法。我怎样才能做到这一点?

0 投票
0 回答
171 浏览

python-3.x - 为什么 Visual Studio 2017 在安装 cvxpy 0.4.11 时返回错误?

我已经在启用 python 的情况下在线安装了 Microsoft Visual Studio 2017。在Python Environments > Packages我搜索下cvxpy,它建议安装"pip install cvxpy" from PyPI. 但是当我点击它时,进程返回一个错误说:error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2

该错误是什么,我该如何解决?

0 投票
1 回答
206 浏览

python - 'sum_entries / axis' 相关错误

我是 cvxpy 的新手,非常感谢您对以下问题的帮助。我写了以下简单的优化代码:

不幸的是,当我运行代码时,它会产生以下错误:

代码有什么问题以及纠正它的最佳方法是什么?先感谢您!

0 投票
0 回答
1302 浏览

python - cvxpy 解决属性返回无

我写了以下代码

我试图了解如何使用 cvxpy 来解决矩阵完成问题。

我有一个矩阵 M,缺少对应于mask矩阵的条目。它被最小化到 S 的核范数,并且约束对应于 S 和 M 的mask-True条目的匹配,在一定的容差内。

有人可以帮我找出我的代码或逻辑中的错误吗?我无法找到正确使用solve(). 我试图通过S.value.

最小S ||S|| * st S=M 对于已知条目

0 投票
3 回答
5646 浏览

python - 如何在 MS Windows 上安装 CVXPY?

我正在尝试在 Windows 上安装 CVXPY。我已经安装了 Anaconda,所以我正在按照这些步骤操作。我将 anaconda 更新到了最新版本,并检查了我的计算机上是否已经安装了适用于 Python 的 Visual Studio C++ 编译器。之后,我从 Anaconda 安装 SCS,运行建议的命令:

这返回了一条错误消息:

我不知道 blaze 包是什么,我猜是 anaconda 安装的东西,所以我从 pip 中卸载了它,然后安装了 scs(我这样说是为了以防万一它很重要,现在真正的问题来了)

安装 SCS 后,我安装了 CVXPY:

显然在安装过程中没有出现错误消息,但是我运行了nosetest:

这返回了 27 条我不知道如何解决的错误消息。¿ 其他人有这个问题,可以给我一些提示吗?

(我在这里粘贴了一些我收到的错误消息)。

0 投票
1 回答
369 浏览

python - CVXPY 抛出 SolverError

使用 CVXPY 时,我经常收到“SolverError”。他们的文档只是说这是由数字问题引起的,但没有提供有关如何避免它们的进一步信息。

以下代码片段是一个示例,问题很简单,但“CVXOPT”求解器只是抛出“SolverError”。确实,如果我们将求解器更改为另一个求解器,例如“ECOS”,问题将按预期得到解决。但关键是,“CVXOPT”原则上应该解决这个微不足道的问题,这让我很困惑为什么它不起作用。

0 投票
0 回答
738 浏览

optimization - 在 cvxpy 中定义软约束

我正在使用 cvxpy 进行简单的投资组合优化。

我实现了以下虚拟代码

我限制完全投资,只做多,营业额<= 75%。但是,我想将营业额用作“软”约束,因为求解器将尽可能少地使用但尽可能多地使用,目前求解器将几乎完全最大化营业额。

我基本上想要这样的东西,它是凸的并且不违反 DCP 规则

我认为这应该设置一个最小阈值(此处为 5%),然后使用尽可能多的营业额,直到找到可行的解决方案。

我尝试将我的目标函数重写为

其中惩罚是例如2,我的约束对象仍然看起来像

我从未使用过软约束,任何解释都将不胜感激。

编辑:中间解决方案

上面的代码将强制增加 item[0] 的权重,这里是 +20%,以保持 sum() =1 约束,必须通过 -20% 的减少来抵消,因此我知道它需要至少需要 40% 的营业额才能做到这一点,如果使用 penalized = False 运行代码,则必须对 <= 0.4 进行硬编码,任何小于该值的代码都会失败。penalized = True 案例将找到 40% 的最低要求营业额并解决优化问题。我还没有弄清楚如何在宽松的情况下设置最小阈值,即至少设置 45%(如果需要,可以设置更多)。

我在第 37 页的第 4.6 章中找到了有关该问题的一些解释。

博雅纸

0 投票
1 回答
1576 浏览

python - 条件约束

cvxpy 有没有办法有条件约束,我正在研究一个像这样的简单凸投资组合优化问题。

我正在尝试引入一个仅适用于某些场景的约束

在这个 python 伪代码中,我只想控制正的权重变化。

我查看了 cvxpy 函数,但似乎没有什么能做到这一点。

0 投票
1 回答
148 浏览

python - CVXPY 表达式没有给出预期的结果

我正在使用 CVXPY(1.0 版)。我不明白是什么导致了ZERO表达式和NONNEGATIVE表达式之间的差异,如以下代码所示: