问题标签 [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.
python - 使用 log cdf 在 cvxopt (python) 中定义函数
我想将目标函数定义为:-sum(log(normcdf(x)))
,其中normcdf
对 的每个组件进行操作x
。看起来cvxpy
已经实现了,但我想坚持使用cvxopt
Python。有什么建议么?
windows - 安装 cvxopt 时,我收到一个错误,它找不到 -lgfortan
我只能找到libgfortan.a
。我正在使用 cmd 并按照网站上的说明安装 cvxopt 。我收到一个无法找到的错误-lgfortan
。
python - 如何用 cvxopt 求解二元线性规划?Python
我知道如何用 cvxopt 求解线性程序,但我不知道当变量全为 0 或 1 时如何求解(二进制问题)。这是我的尝试代码:
结果是:
我已经阅读了 cvxopt 文档,但我没有找到任何关于二元线性问题的信息。
python-2.7 - CVXOpt op 参数错误
我正在使用以下模型测试 CVXOpt
但是,我遇到两个问题:
- 最后一行代码的约束参数无效。我检查了 CVXOpt 文档,编码方式似乎是正确的方法。
- 不太重要,但如果有人能告诉我为什么在此处显示的同一行中编写所有约束(c1,c2,..)时出现语法错误,那将是很好的。相反,我不得不为每个使用不同的行。
python - Python pip 库搜索路径
我正在尝试通过 pip 将 python 包cvxopt安装到 Centos 6 系统上的虚拟环境中。
由于lapack是先决条件,并且由于我没有超级用户访问系统的权限,因此我使用以下命令在本地安装了 lapack:
我注意到,在这一步之后,正如预期的那样liblapack.a
,位于我的本地 lib 目录中。/home/tom/lib
但是,当我激活我的虚拟环境并运行时,pip install cvxopt
我收到以下错误:
我已经尝试添加/home/tom/lib
到两者LD_LIBRARY_PATH
,LD_RUN_PATH
但这些似乎都不会影响用于构建模块的gcc
命令行选项。pip
谁能告诉我如何给图书馆搜索路径pip
?有没有更好的办法?
python - Pandas:转换到/从 cvxopt 矩阵
给定一个 Pandas 数据框,转换为 cvxopt 矩阵的最佳方式(可读性或执行速度)是什么,反之亦然?
目前我正在做:
此外,是否有一种在不转换对象的情况下使用 cvxopt 矩阵和 pandas 数据帧的混合来进行向量或矩阵代数的合理可读的方法?
下面是一个远不可读的向量点积(pdObj & cvxMat 是列向量):
有什么建议吗?
对waitkuo的回答的跟进:
仅用于说明熊猫数据框:
但请注意:
python - Lapack:Cholesky 矩阵分解问题
第一期
有人可以推荐一种在 python 中进行 Cholesky 分解的不那么尴尬的方法吗?特别是最后一行让我感到不安。
第 2 期
我有一个问题,一个整行和一列(例如第一行中的所有元素和第一列中的所有元素)都为零,lapack 失败,错误是矩阵不是正定的。处理这个问题的最佳方法是什么?
目前我正在这样做:(这似乎超级尴尬......)
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 的写入失败。
有什么建议可以缩小造成这种情况的范围,或者如何解决?
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)从何而来?
python - Windows 上 cvxopt 的导入问题
我从这里cvxopt
逐字安装。在 python 提示符下使用它时,我看到以下问题:
有什么想法可以解决这个问题吗?