问题标签 [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 投票
1 回答
706 浏览

python - 使用 log cdf 在 cvxopt (python) 中定义函数

我想将目标函数定义为:-sum(log(normcdf(x))),其中normcdf对 的每个组件进行操作x。看起来cvxpy已经实现了,但我想坚持使用cvxoptPython。有什么建议么?

0 投票
1 回答
429 浏览

windows - 安装 cvxopt 时,我收到一个错误,它找不到 -lgfortan

我只能找到libgfortan.a。我正在使用 cmd 并按照网站上的说明安装 cvxopt 。我收到一个无法找到的错误-lgfortan

0 投票
1 回答
1125 浏览

python - 如何用 cvxopt 求解二元线性规划?Python

我知道如何用 cvxopt 求解线性程序,但我不知道当变量全为 0 或 1 时如何求解(二进制问题)。这是我的尝试代码:

结果是:

我已经阅读了 cvxopt 文档,但我没有找到任何关于二元线性问题的信息。

0 投票
1 回答
411 浏览

python-2.7 - CVXOpt op 参数错误

我正在使用以下模型测试 CVXOpt

但是,我遇到两个问题:

  1. 最后一行代码的约束参数无效。我检查了 CVXOpt 文档,编码方式似乎是正确的方法。
  2. 不太重要,但如果有人能告诉我为什么在此处显示的同一行中编写所有约束(c1,c2,..)时出现语法错误,那将是很好的。相反,我不得不为每个使用不同的行。
0 投票
1 回答
3056 浏览

python - Python pip 库搜索路径

我正在尝试通过 pip 将 python 包cvxopt安装到 Centos 6 系统上的虚拟环境中。

由于lapack是先决条件,并且由于我没有超级用户访问系统的权限,因此我使用以下命令在本地安装了 lapack:

我注意到,在这一步之后,正如预期的那样liblapack.a,位于我的本地 lib 目录中。/home/tom/lib

但是,当我激活我的虚拟环境并运行时,pip install cvxopt我收到以下错误:

我已经尝试添加/home/tom/lib到两者LD_LIBRARY_PATHLD_RUN_PATH但这些似乎都不会影响用于构建模块的gcc命令行选项。pip

谁能告诉我如何给图书馆搜索路径pip?有没有更好的办法?

0 投票
2 回答
2134 浏览

python - Pandas:转换到/从 cvxopt 矩阵

给定一个 Pandas 数据框,转换为 cvxopt 矩阵的最佳方式(可读性或执行速度)是什么,反之亦然?

目前我正在做:

此外,是否有一种在不转换对象的情况下使用 cvxopt 矩阵和 pandas 数据帧的混合来进行向量或矩阵代数的合理可读的方法?

下面是一个远不可读的向量点积(pdObj & cvxMat 是列向量):

有什么建议吗?


对waitkuo的回答的跟进:

仅用于说明熊猫数据框:

但请注意:

0 投票
2 回答
1051 浏览

python - Lapack:Cholesky 矩阵分解问题

第一期

有人可以推荐一种在 python 中进行 Cholesky 分解的不那么尴尬的方法吗?特别是最后一行让我感到不安。

第 2 期

我有一个问题,一个整行和一列(例如第一行中的所有元素和第一列中的所有元素)都为零,lapack 失败,错误是矩阵不是正定的。处理这个问题的最佳方法是什么?

目前我正在这样做:(这似乎超级尴尬......)

0 投票
0 回答
245 浏览

python - 用 Cython 包装的代码意外出现段错误

我为 C 优化库 donlp2 编写了一个简单的 cython 包装器。该库广泛使用全局变量,并假设调用者编写了具有预定义名称的函数,以便函数可以调用它们。(例如,有一个函数 ef 和 egradf 分别评估函数及其梯度)

使用“cdef extern”作为全局变量,使用“cdef public”创建 C 库预期的函数,包装器非常简单。我还使用 view.array 将 double* 指针转换为可以传递给 python 函数的 cython 数组。这样做我的包装器能够使用 C 库来优化在纯 python 中定义的函数和渐变。

下面是包装代码:

包装代码适用于一些简单的玩具箱,如下所示:

我真正想要解决的问题涉及更多设置,使用带有 numpy 和 cvxopt 的数组操作。当我创建它时,代码会立即出现段错误。单步执行 gdb 并使用 valgrind 只会显示优化库中的一行如下所示:

以来自 valgrind 的以下错误终止:

段错误发生在 C 库完成任何实际工作之前。它只是初始化变量。第 8690 行是

第 204 行只是调用

在包含的头文件中,foo 被定义为 double*。请注意,malloc_wrapper 内部的内存分配成功并且函数成功返回。这是对 foo 的写入失败。

有什么建议可以缩小造成这种情况的范围,或者如何解决?

0 投票
4 回答
8261 浏览

python - 如何使用 cvxopt 进行带约束的均值方差优化?

根据文档,我可以使用 cvxopt 计算有效边界:

http://cvxopt.org/examples/book/portfolio.html

但是,我无法弄清楚如何添加约束,以便对特定资产的最大允许权重设置上限。使用 cvxopt 可以吗?

到目前为止,这是我的代码,它产生了一个没有约束的有效边界,除了我相信 b,它将权重的最大总和设置为 1。我不确定 G、h、A 和 mus 做什么,而文档没有真的不解释。mus的公式中的10**(5.0*t/N-1.0)从何而来?

0 投票
1 回答
2907 浏览

python - Windows 上 cvxopt 的导入问题

我从这里cvxopt逐字安装。在 python 提示符下使用它时,我看到以下问题:

有什么想法可以解决这个问题吗?