问题标签 [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 - cvxopt 不能解决简单的线性优化
我有这个模型
其中c
是 16x1 numpy 系数数组,G
是12 x 16
表示模型约束的矩阵,h
是 12x1 数组。
从 cvxopt 文档中,我认为该模型应该实现为线性程序并使用 lp 求解器求解
但我收到此错误:
虽然使用 cvxopt 的 glpk 接口实际上工作顺利,它给了我很好的解决方案:
我怎样才能让 lp 求解器在 cvxopt 中解决这个问题?
python - Python中的随机优化
我正在尝试结合cvxopt
(优化求解器)和PyMC(采样器)来解决凸随机优化问题。
作为参考,安装这两个软件包pip
很简单:
两个包都可以很好地独立工作。以下是如何解决 LP 问题的示例cvxopt
:
但是,当我尝试将它与 PyMC 一起使用时(例如,通过对其中一个系数进行分布),PyMC 会出现错误:
我收到以下 PyMC 错误:
为什么?有什么办法可以很cvxopt
好玩PyMC
吗?
背景:
万一有人想知道,PyMC 允许您从您选择的任何函数中进行采样。在这种特殊情况下,我们从中采样的函数是将 LP 问题映射到解决方案的函数。我们从这个函数中采样是因为我们的 LP 问题包含随机系数,所以不能只应用现成的 LP 求解器。
更具体地说,在这种情况下,单个 PyMC 输出样本只是 LP 问题的解决方案。由于 LP 问题的参数不同(根据您选择的分布),PyMC 的输出样本会有所不同,希望得到后验分布。
scipy - scipy稀疏矩阵到cvxopt spmatrix?
我需要将一个 scipy 稀疏矩阵转换为 cvxopt 的稀疏矩阵格式 spmatrix,并且还没有遇到任何东西(当然,矩阵太大而无法转换为密集矩阵)。任何想法如何做到这一点?
python - 在 Canopy python 中导入 CVXOPT
我想导入 CVXOPT 功能以在 Canopy python 编辑器中使用。据我所知,我已经成功下载了CVXOPT。我这么认为的原因是 CVXOPT 网站说“要测试安装是否成功,请转到示例目录并尝试其中一个示例”,我可以在命令行中执行此操作而不会出现任何错误。
但是,在我的 python 代码中,当我说
我收到一条错误消息,提示“没有名为 CVXOPT 的模块”。我认为问题一定很简单,但摆弄了一段时间并没有解决问题。有任何想法吗?
python - 如何静音 cvxopt 求解器 [Python]?
每当我在终端中运行 Python cvsopt 求解器时,它都会打印:
我可以静音这个消息吗?谢谢!
python - 用一些块作为变量 CVXPY 构建对角块矩阵
我想在 CVXPY 中生成一个(对角线)块矩阵(最好是稀疏的)。
有些块可以是eye(m)
或任何东西,但我有一个块是:
然后我尝试将块对角矩阵形成W_diag
为一个块,例如,通过:
我收到以下错误:
TypeError:不支持类型转换:(dtype('float64'),dtype('O'))
我能做些什么?其他方法?我想T
稍后在 CVXPY 的约束中使用矩阵。
python - CVXOPT 二次编程接口
为 CVXOPT 提供的 QP 求解器解决了以下形式的问题(参见http://cvxopt.org/userguide/coneprog.html#quadratic-programming):
这很好用,但是当想要通过两侧的不等式解决问题约束时会有点尴尬:
我可以将第二个问题重新定义为第一个问题,方法是将维度数加倍并要求new_x
将其old_x
堆叠在自身之上:
我想我可以通过为A
. h1
然后,我可以将和h2
不等式编码到 中,方法new_G * new_x <= new_h
是设置new_h
为h1
堆叠h2
并new_G
成为对角矩阵,其中n
连续1
s 后跟对角线上的n
连续-1
s。
无论如何,以上内容非常笨拙,它使我的问题的维度增加了一倍,甚至可能不起作用。
是否有更好的方式来表达 CVXOPT 中的第二个问题?
python - Python上的L1范数正则化最小二乘
L1-范数正则化问题定义如下:
但在我的情况下,我想解决这种形式的问题,而不是通常的 L1 范数正则化最小二乘问题:
由于我的表 W 和 G 没有像 AI 一样的尺寸,因此无法更改我的变量并解决这样的问题
这样我就可以使用互联网上可用的求解器之一。所以我找到了一个解决上述L1平方问题的方程,如:
据我所知,如果我使用 -u <= W G x <= ui 可以解决问题。但我无法得到我应该完全适应代码的内容。任何人都可以帮忙吗?代码如下(取自CVXOPT)
任何人都可以帮忙吗?先感谢您
python - CVXPY 上的内核匹配追求
我正在编写内核匹配追求的代码。在那,我已经习惯了 cvxpy 进行凸优化。我必须最小化基于这篇论文的以下目标:http: //ieeexplore.ieee.org/xpl/articleDetails.jsp? arnumber=6815769 ,代码如下:
但是,代码不起作用并抛出错误:不能将两个非常数相乘。我认为这是在“epirk”中将三个项相乘的问题。但是,我对此没有任何解决方案。请帮忙。
python - 使用 CVXOPT 或 CVXPY 进行凸编程
我需要在 Python 中使用 CVXOPT 或 CVXPY 解决优化问题,但我遇到了困难。目标函数是
受以下约束
其中向量x
是优化变量,向量a
和b
是给定的,并且T
是给定的标量。