问题标签 [cvxopt]

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 投票
2 回答
200 浏览

java - 需要帮助解决一些已知值的最小稀疏线性

我有下面描述的问题

在此处输入图像描述

我需要找到 x1'、x2'、x3'、x4'、x5' 的值

(x1-x1')^2+(x2-x2')^2+(x3-x3')^2+(x4-x4')^2+(x5-x5')^2 = 最小值

x1' + x2' + x3' + x4' + x5' = 1

x1 + x2 + x3 + x4 + x5 = 1

注意:我们知道a、b、c、d、e、x1、x2、x3、x4、x5的值

在这种情况下有人会帮助我吗?

我曾尝试使用google/or-tools库,但无法添加条件来查找最小值。

0 投票
0 回答
163 浏览

python - CVXOPT 要求被忽略

我正在尝试解决 cvxopt 中的二次问题,但似乎忽略了其中一项要求

我想解决这组方程:

这是代码:

但我得到这样的结果:

所以不满足 x <= 20 的要求。可能是什么原因?

0 投票
1 回答
1234 浏览

python - 用于最小方差优化的 CVXPY 国家/部门/行业等约束

我正在尝试实施一个投资组合优化,它使用约束来定义例如对国家/部门/行业等的最大敞口。我已经实现了下面的代码,其中我传入一个“非洲”向量以将股票映射到非洲国家,在我的然后,我将这些约束限制为总体权重不超过 40%。我设法实现它的唯一方法是在 africa = 1 的索引上使用 sum_weights。我也尝试使用 Parameter 函数但没有成功。希望有一种更优雅的方式来应用这些约束。任何建议表示赞赏。此外,如果有人知道一个显示使用跟踪误差约束、周转约束或波动性约束的示例,那么这些也是我仍在努力解决的问题。

0 投票
2 回答
821 浏览

python - Python cvxopt glpk ilp 返回第一个可行解

我正在使用 cvxopt.glpk.ilp 来解决一个非常复杂的混合整数程序。我想知道是否有办法让程序在找到第一个解决方案后终止?这需要很长时间,一个可行的解决方案对我的目的来说可以很好地工作。

0 投票
1 回答
494 浏览

python - 如何选择包来解决 Python 中的这种凸优化?

我的问题定义如下,

minΣ(||xi-Xci||^2+ λ||ci||),

st cii = 0,

其中 X 是形状为 d * n 的矩阵,C 是形状为 n * n 的矩阵,xi 和 ci 分别表示 X 和 C 的列。

X在这里是已知的,基于X我们想找到C。

我现在有几个选择,我已经有了 tensorflow 中的版本,它使用AdamOptimizer. 我只是想知道,有没有什么方法可以更有效地解决这个问题?会cvxpycvxopt更好地解决这个问题吗?

如果你们中的任何人能给我一个除 tensorflow 之外的任何一种方法的实现,我将不胜感激。

0 投票
1 回答
1466 浏览

python - 如何在 Windows 10 上安装 CVXOPT for Python 2.7?

最终,我正在尝试为 Python 2.7 安装CVXPY。CVXPY 有一些要求,包括CVXOPT。我尝试了两种方法,从 Gohlke 的网站安装,他在其中托管用于 Python 扩展的 Windows 二进制文件:http ://www.lfd.uci.edu/~gohlke/pythonlibs/并自己从源代码构建。

使用 Gohlke 提供的二进制文件时,尝试在 python 中导入时出现以下错误:

我已检查该base.pyd文件是否存在于cvxopt/

从源代码构建时,我按照站点的说明进行操作,最终构建 CVXOPT 时python setup.py build --compiler=mingw32出现以下错误:

我对此进行了一些研究,error: storage size of 't' isn't known但我无法确定是 CVXOPT 的问题还是 Windows 的问题?

我在 Windows 10 上使用 Python2.7。任何关于其中一些问题的建议或澄清都会很棒。就像我提到的,只是试图让 CVXPY 工作,但似乎挂在 CVXOPT 上。谢谢!

更新

通过卸载我拥有的当前 numpy 版本并从http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载/安装 numpy-mkl whl,我能够获得 CVXOPT 的有效安装。然后我也从该站点安装了 CVXOPT 和 CVXPY。最后能够成功导入 cvxpy 而没有 cvxopt.base DLL 错误。

仍然会对我遇到的编译错误感到好奇。

0 投票
1 回答
1098 浏览

python-2.7 - CVXOPT 中的整数线性规划 (ILP) 函数返回非整数

我想使用 Python 中的 CVXOPT 和 GLPK 实现的 ILP 来优化一个函数。我写了这段代码,但它给了我非整数解,尤其是 0.5。有人可以帮我吗?

0 投票
1 回答
449 浏览

python - “病态”凸函数的快速优化

我有一个简单的凸问题,我试图加快解决速度。我正在解决 argmin ( theta )

情商

其中thetartNx1

我可以很容易地解决这个问题cvxpy

但是对于更大的R,这太慢了,所以我正在尝试使用scipy's 的基于渐变的方法fmin_cg

goalfun是一个scipy.minimize友好的函数,它返回函数值和梯度。

确保函数和梯度正确:

但是解决这个问题只会产生垃圾,不管method, 迭代等。(唯一产生的东西Optimization terminated successfully 是 ifx0实际上等于最佳theta

即这个看似无害的问题可以cvxpy轻松处理,但对于非凸求解器来说是完全病态的。这个问题真的那么讨厌,还是我错过了什么?有什么办法可以加快速度?

0 投票
1 回答
198 浏览

python - 将 scipy.sparse() 稀疏矩阵输入 CVXOPT

[我在这里关注答案]

我正在尝试在 CVXOPT 中提供稀疏矩阵。考虑以下最小示例:

我得到:

这是一个错误还是(更有可能)我误解了这个答案?

0 投票
0 回答
543 浏览

python - Python 中的 CVXOPT GLPK 绑定

我在 Mac OS X El Capitan 上。brew install GLPK 我已经通过 Anaconda安装了 GLPK 。因为我想要 CVXOPT 的 GLPK 绑定,所以我手动安装它而不是通过condo install. 我在这里得到了安装程序:http ://cvxopt.org/download/index.html 一旦我得到了安装程序,我就按照这个页面上的说明进行操作:http: //lecueguillaume.github.io/2016/02/27/cvxopt -glpk-basis-pursuit/ 修改 setup.py 文件。我做了一些额外的改变。首先,我注释掉了环境变量,以排除它选择它们而不是我放入文件中的变量的可能性:

接下来我设置了这些变量:

  • 如果您正在安装 glpk 模块,请设置为 1。
    BUILD_GLPK = 1
  • 目录包含libglpk(仅在 时使用BUILD_GLPK = 1)。 GLPK_LIB_DIR = '/usr/local/Cellar/glpk/4.57/lib'
  • 目录包含glpk.h(仅在 时使用BUILD_GLPK = 1)。 GLPK_INC_DIR = '/usr/local/Cellar/glpk/4.57/include'

我的 brew install 给了我 gulp 4.57 而不是教程中的那个,所以我在上面修改了这些版本号。

最后,为了确保它正在运行,我添加了这个:

if BUILD_GLPK已经在那里,我添加了打印行。

然后我继续跑python setup.py install 看起来很棒:

然而,当我在 python 中运行它时:

我尝试了几种不同的方式卸载和重新安装。这似乎是最有希望的,但我仍然没有运气。有什么建议吗?