问题标签 [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.
macos - 在 MAC 10.11 上安装 cvxopt
在尝试安装 cvxopt 之前,已安装 Xcode 和 Xcode 命令行工具。此外,还安装了 Python 2.7.11。
cvxopt 的安装说明是:
为了测试安装是否成功,安装说明建议尝试一个示例;即,
不幸的是,该示例无法正常工作,如下所示。
为了找出问题所在,我给出了以下命令:
返回
所以,我不知道如何解决这个问题。任何帮助,将不胜感激。
python - 找到具有最大函数值的列表的最佳组合
假设我有 N 个列表(向量)并且我想选择其中的 x 个1<x<[N]
(x 不是预先确定的),所以我将获得 func(lists) 的最大值。
例如:
可能的结果:
如果我要编写一个天真的解决方案并运行所有组合,它将永远花费 2^N。
我正在尝试使用cvxpy或scipy.optimize.minimize找到解决方案, 但我发现很难理解我需要使用哪种函数来解决我的问题,我想也许我应该尝试进化算法来找到一个近似答案,或者也许我应该改用投资组合优化。
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 解决一个简单的最小-最大问题。
scipy - 用于具有半定约束的非线性优化的正确软件包/软件
我正在努力解决以下(通用)形式的优化问题。
最小化 F(x)
这样:
___(1): 0 < x < 1
___(2): M(x) >= 0。
其中 M(x) 是一个矩阵,其元素是 x 的二次函数。最后一个约束意味着 M(x) 必须是一个半正定矩阵。此外,F(x) 是一个可调用函数。对于更好奇的人,这里有一个类似的最小工作示例。
我尝试了几个选项,但没有成功。
- PICOS、CVXPY和CVX——在前两种情况下,我找不到像我这样的 minimax 问题编码的方法。在 MATLAB 中实现的第三个中,涉及半定约束的矩阵必须是仿射的。所以我的问题不属于这个标准。
- fmincon -- 我们如何编码矩阵正性约束?一种方法是解析地计算矩阵 M(x) 的特征值,并将每个特征值约束为正。但是特征值的解析表达式可能是可怕的。
- MOSEK——目标函数必须是可表达的标准形式。我找不到用户定义的目标函数的示例。
- scipy.optimize——除了目标函数和约束,还需要提供这些函数的导数。特别是在我的情况下,这对于目标函数来说很好。但是,如果我用特征值的解析表达式来表达矩阵正性约束(以及它的导数),那可能会非常乏味。
我很抱歉没有提供 MWE 来说明我对上述每个软件包/软件的尝试。
谁能推荐一个对我解决优化问题有用的软件包/软件?
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 错误,我根本不能说。
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)
从向量重塑后的矩阵。究竟是什么导致了这个错误?
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
python - 未找到 GFORTRAN_1.4'
我确保已安装 gfortran
然后我尝试一个python程序,它的导入看起来像这样
我收到一个错误
编辑 1
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”命令进行升级。
请问你能帮帮我吗?
提前致谢。