问题标签 [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 - 如何使用if语句在for循环中获取真值
我无法获得if statement
嵌套条件的正确值。这for loop
是一个用代码编写的示例,
我需要d11 matrix
其与 qp1 相乘的值小于 h1 中的相应值的行,即d11[i] * qp < h[i]。代码是,
当我们将 d11 和 qp1 相乘时,我们得到的值是。因此, [26,35 , 9 ,22]
如果我们与h1进行比较,我们发现第二行即第三行即条件为真。所以答案是。但我无法得到答案。请建议我正确的方法..35< 40
9 < 100
[[6,8,1],[1,1,1]]
python - 如何在 cvxopt 中编码数组比较约束
我想用python软件cvxopt来解决我的一个小测试问题(如果这个软件能够解决这个问题,那么我的老板将能够在未来的项目中使用它)。但是,我无法从文档中弄清楚如何编码一些不是 Ax = b 或 Ax < b 形式的约束。
问题陈述是:x 是一个 numpy 数组(1-d)。找到一个数组 y 使得:
我看到了编码条件 (3) 和 (4) 是如何完成的,但是我该如何编码条件 (2) 呢?
谢谢你,克里斯蒂安
python - 使用 python cvxopt 进行优化
我正在尝试使用 Python 的 cvxopt最小化投资组合差异。但是,经过多次尝试,它似乎不起作用。该函数和我的代码以及错误粘贴在下面。感谢您的帮助!
最小化问题
目标函数:min x.dot(sigma_mv).dot(xT)
约束条件都是x>=0, sum(X) = 1
sigma_mv是800*800的协方差矩阵,dim = 800
代码
python - 如何编码没有明确目标函数的优化程序
我正在尝试使用 CVXPY 解决以下形式的线性程序:
10 个人回答了一项询问他们的家庭、年龄、性别和世代的调查。从这些回复中,我写了许多约束和统计数据,例如“所有 10 个人的平均年龄 = 40”,或“单亲家庭数 = 0”。每个字段(给定人的年龄、种族等)都表示为一个 CVXPY 变量。目标是使用这些约束来重新生成原始调查响应(假设局外人看到发布的约束而没有看到调查响应,并希望确定每个人的原始调查响应是什么)。
我可以将我的约束编码为 CVXPY 约束,但是我没有最大化的目标函数,因为我有很多约束。有没有办法对我的目标函数进行编码以返回给定变量分配所满足的约束数量,以便在满足所有约束时最大化目标函数?我无法从 CVXPY 文档中判断是否有办法做到这一点。或者,是否有另一个更适合解决这个程序的开源优化器?我已经使用 SAT 求解器解决了它,现在想使用非线性优化器来解决它。
示例数据采用以下格式:ID、家庭编号、年龄、性别、种族、世代:
ID 无关紧要,仅用于帮助我跟踪其他代码中的行号。
1 1 80 1 1 2
2 1 40 0 0 1
3 1 70 1 0 2
4 1 30 1 1 1
5 1 90 0 0 2
6 2 10 0 1 0
7 2 10 0 1 0
8 2 10 1 0 0
9 2 40 1 0 1
10 2 20 0 1 1
谢谢你,克里斯蒂安
python - python 3.5 - 不能使用 cvxopt
尝试将 cvxopt 与 Anaconda 一起使用。
在此处遵循安装说明:如何在 Windows 7 上安装 cvxopt for Python 3.5
但是得到了错误:
也试过安装numpy-mkl
,还是报错"No matching distribution found for numpy-mkl"
我似乎没有找到cvxopt.base
或pyd
在site-package
文件夹中。请问接下来怎么办?
环境:Windows 7 64位;康达 4.3.22 (python 3.5)
python - 如何在 SCS for python 中实现二次约束
我有一个形式的二次优化问题
min wrt to x 1/2 x'x + q'x St Gx <= h
我有一个相当大的问题(几百万个点和约束),虽然 cvxopt 的默认求解器被证明是有效的,但我很好奇在 SCS 中实现它应该更快(并且不使用 CVXPY 接口)。
经过文献检索(主要是 Boyd's Convex Analysis),对 SOCP 形式的重新表述应该产生
min wrt to z of c'z 服从 Az + s = b, s in K
其中 c = (1 q)' 和 z = (tx)' 其中 t 是标量,K 是与我的原始约束 (Gx \leq h) 相关的线性锥体和二次锥体 Q = { (t,x) | t >= ||x||}
但是,我应该如何实际定义 A 和 b ?
我想象了类似于 A = [[0 G],[2, 1, .., 1]] 和 b = (h 0) 的东西。但是,在 python scs.solve 锥字典参数中将 'q' 选项设置为 [1] 时,我无法让它工作?A 的最后一行的预期语法是什么?(也就是说,假设我的数学重新表述是正确的......)
谢谢您的帮助 !
python - 如何使用 cvxopt.qp 为二次规划设置因子暴露约束?
尝试在这里优化投资组合权重分配,以最大限度地降低经典 Markowitz 投资组合的风险。假设我有一个表示像的因子暴露约束数据框
我尝试在我的代码中添加此约束,但即使 sol 的状态为最佳,解决方案也不正确。有人可以帮忙吗?谢谢你。
我的代码如下:
python - python最小二乘回归修正目标函数
最小二乘回归定义为残差平方和的最小化,例如
但是,我想提出一个轻微的修改,以便我们仍然尽量减少以下内容
基本上我只想在预测的符号不等于实际的符号时惩罚y
。有没有关于这个或实现的文献?我正在尝试在 cvxpy 中实现,但不知道该怎么做
anaconda - 如何在 python 3.6 上的 Windows 10 上安装 cvxopt
如何在 python 3.6 上的 Windows 10 上安装 cvxopt?
跑步时
对不起,我在窗户上...
有任何想法吗?