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

macos - 在 MAC 10.11 上安装 cvxopt

在尝试安装 cvxopt 之前,已安装 Xcode 和 Xcode 命令行工具。此外,还安装了 Python 2.7.11。

cvxopt 的安装说明是:

为了测试安装是否成功,安装说明建议尝试一个示例;即,

不幸的是,该示例无法正常工作,如下所示。

为了找出问题所在,我给出了以下命令:

返回

所以,我不知道如何解决这个问题。任何帮助,将不胜感激。

0 投票
1 回答
166 浏览

python - 用于熵最小化的 Python CVXOPT

我正在查看页面上的示例:

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

问题陈述是:

但最后一行

似乎从未实施过?

0 投票
2 回答
2027 浏览

python - 找到具有最大函数值的列表的最佳组合

假设我有 N 个列表(向量)并且我想选择其中的 x 个1<x<[N](x 不是预先确定的),所以我将获得 func(lists) 的最大值。

例如:

可能的结果:

如果我要编写一个天真的解决方案并运行所有组合,它将永远花费 2^N。

我正在尝试使用cvxpyscipy.optimize.minimize找到解决方案, 但我发现很难理解我需要使用哪种函数来解决我的问题,我想也许我应该尝试进化算法来找到一个近似答案,或者也许我应该改用投资组合优化

0 投票
1 回答
1770 浏览

python - PICOS 中的极小极大优化

我有一个关于如何使用 Python 中的 PICOS 包解决 Min-Max 类型的优化问题的一般问题。在搜索PICOS 文档和网络时,我在这方面的信息很少。

我可以想象以下形式的一个简单示例。

给定一个矩阵 M,求 x* = argmin_x [ max_y x^TM y ],其中 x > 0, y > 0, sum(x) = 1 和 sum(y) = 1。

我尝试了一些方法,从最直接的想法开始,即在 PICOS 问题类的目标函数中使用minimax关键字minmax。事实证明,这些关键字都不是有效的,请参阅目标函数的包文档。此外,具有嵌套的目标函数也被证明是无效的。

在我最后一次天真的尝试中,我有两个函数,Max() 和 Min(),它们都在解决线性优化问题。外部函数 Min() 应该最小化内部函数 Max()。因此,我在外部优化问题的目标函数中使用了 Max()。

当我运行上面的代码时,它给了我以下错误消息。

在这一点上,我被卡住了,无法解决这个问题。

只是 PICOS 本身不支持 min-max 问题,还是我对问题的编码方式不正确?

请注意:我坚持使用 PICOS 的原因是理想情况下,我想知道在解决最小-最大半定规划 (SDP) 的背景下我的问题的答案。但我认为添加半定约束并不难,一旦我能弄清楚如何使用 PICOS 解决一个简单的最小-最大问题。

0 投票
1 回答
345 浏览

scipy - 用于具有半定约束的非线性优化的正确软件包/软件

我正在努力解决以下(通用)形式的优化问题。

最小化 F(x)

这样:

___(1): 0 < x < 1

___(2): M(x) >= 0。

其中 M(x) 是一个矩阵,其元素是 x 的二次函数。最后一个约束意味着 M(x) 必须是一个半正定矩阵。此外,F(x) 是一个可调用函数。对于更好奇的人,这里有一个类似的最小工作示例。

我尝试了几个选项,但没有成功。

  1. PICOSCVXPYCVX——在前两种情况下,我找不到像我这样的 minimax 问题编码的方法。在 MATLAB 中实现的第三个中,涉及半定约束的矩阵必须是仿射的。所以我的问题不属于这个标准。
  2. fmincon -- 我们如何编码矩阵正性约束?一种方法是解析地计算矩阵 M(x) 的特征值,并将每个特征值约束为正。但是特征值的解析表达式可能是可怕的。
  3. MOSEK——目标函数必须是可表达的标准形式。我找不到用户定义的目标函数的示例。
  4. scipy.optimize——除了目标函数和约束,还需要提供这些函数的导数。特别是在我的情况下,这对于目标函数来说很好。但是,如果我用特征值的解析表达式来表达矩阵正性约束(以及它的导数),那可能会非常乏味。

我很抱歉没有提供 MWE 来说明我对上述每个软件包/软件的尝试。

谁能推荐一个对我解决优化问题有用的软件包/软件?

0 投票
1 回答
1682 浏览

python - 如何在 Windows 7 上为 Python 3.5 安装 cvxopt

我最近更新到 python 3.5.0 并想安装 cvxopt,到目前为止没有运气。所以我尝试了 python 2.7 并按照这里的说明安装了 mingw (4.9.3) 并从源代码构建了 blas 和 lapack 没有问题。当我跑

我得到以下输出:

对于 3.5,我使用 Anaconda。在这个站点上,他们展示了如何通过 conda 命令安装 cvxopt,当我尝试这个时,我得到了未知的 MS 编译器版本 1900错误。使用这个“补丁”安装可以通过那个点,但是所有 conda 想要安装的包都以错误结束(不包括输出,因为太长了)

这是3.5版的问题吗?还是铭文?还是 64 位 anaconda?我正在尝试安装 VC15 以查看是否会改变事情,但真的不知道在哪里或要注意什么。

编辑:我仍然不知道究竟是什么导致了这个问题,但是来自这个站点的二进制文件,正如这里所建议的,非常适用于 Anaconda 64 位和 python 3.5(尽管你必须卸载 numpy 和 scipy 并使用该站点的版本)

至于 minGW,它可能还不能与 python 3.5 一起使用,正如这里的评论中所建议的那样,为什么 2.7 给出了这些 fortran 错误,我根本不能说。

0 投票
3 回答
12149 浏览

python - CVXOPT QP Solver: TypeError: 'A' must be a 'd' matrix with 1000 columns

我正在尝试使用 CVXOPT qp 求解器来计算支持向量机的拉格朗日乘数

X是一个1000 X 2矩阵,Y具有相同数量的标签。求解器抛出以下错误: $ python svm.py (1, 1000) Traceback (most recent call last): File "svm.py", line 35, in <module> svm(X, Y, 50) File "svm.py", line 29, in svm sol = solvers.qp(P, q, G, h, A, b) File "/usr/local/lib/python2.7/site-packages/cvxopt/coneprog.py", line 4468, in qp return coneqp(P, q, G, h, None, A, b, initvals, options = options) File "/usr/local/lib/python2.7/site-packages/cvxopt/coneprog.py", line 1914, in coneqp %q.size[0]) TypeError: 'A' must be a 'd' matrix with 1000 columns

我打印了 A 的形状,它是(1,1000)从向量重塑后的矩阵。究竟是什么导致了这个错误?

0 投票
1 回答
1752 浏览

python - 安装 CVXOPT 的问题

我需要安装包 cvxopt,但出现一个错误:

c:\users\user\appdata\local\temp\pycharm-packaging1.tmp\cvxopt\src\c\cvxopt.h(31):致命错误 C1083:无法打开包含文件:'complex.h':没有这样的文件或目录错误:命令 C:\Users\User\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' 失败,退出状态为 2

+

您使用的是 pip 版本 7.0.1,但版本 8.1.1 可用。您应该考虑通过“pip install --upgrade pip”命令进行升级。

然后我在cmd中编写并获取

要求已经是最新的:c:\users\user\appdata\local\enthought\canopy\user\lib\site-packages 中的 pip

它没有帮助,因为错误仍然相同

ps使用win 8.1

0 投票
1 回答
1193 浏览

python - 未找到 GFORTRAN_1.4'

我确保已安装 gfortran

然后我尝试一个python程序,它的导入看起来像这样

我收到一个错误

编辑 1

0 投票
1 回答
1612 浏览

python - 安装 cvxopt

安装此软件包时遇到一些问题

c:\users\user\appdata\local\temp\pycharm-packaging1.tmp\cvxopt\src\c\cvxopt.h(31):致命错误 C1083:无法打开包含文件:'complex.h':没有这样的文件或目录错误:命令 C:\Users\User\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' 失败,退出状态为 2

  • 您使用的是 pip 版本 7.0.1,但版本 8.1.1 可用。您应该考虑通过“pip install --upgrade pip”命令进行升级。

请问你能帮帮我吗?

提前致谢。