问题标签 [quadratic-programming]
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.
optimization - Microsoft Solver Foundation - 结果不够好(股票投资组合优化)
我正在尝试在 C# 中编写一个 markowitz 优化类,但优化结果不够好。投资组合权重与 matlab 和 excel 的解决方案平均相差 0.2%。我检查了我的协方差矩阵计算和其他计算,发现它们是正确的。有没有办法校准模型的公差或其他方法以获得更好的结果?有我的代码。
python - python,sparepair和sparsetriple中的Cplex二次约束
我在 Python 中使用 Cplex 来解决尺寸减小的 SVM 问题。作为我算法的一部分,我必须为我的目标函数添加二次约束。可以这么说,我想添加类似“(w1 + w2)^ 2
matrix - 求解矩阵而不是向量的二次规划
我正在研究一个二次规划问题。
所以我得到了两个矩阵A和B(实际上是时间序列),我想找到矩阵X,st A*X最接近B,条件是X包含所有正值。(所以 X 可以看作是一个权重矩阵)
由于这是一个最小化问题,并且对 X 有限制,我正在考虑使用二次规划。具体来说,我的目标是找到 X:
这种形式似乎与 QP 问题非常相似:
我的问题是:
如果您能具体了解 R 函数,那就太好了。
非常感谢!
python - 顺序二次规划:在 python 中实现类似于 Matlab Minizers 的方向步长
我想要做的基本上是了解如何实现一个自定义步骤例程以包含在库算法的take_step
参数中(https://docs.scipy.org/doc/scipy-0.18.1/reference/generated /scipy.optimize.basinhopping.html ) 中,它与 MATLAB 的 SQP 算法中使用的过程相匹配。basinhopping
scipy
python
fmincon
参考资料在这里,更具体地说,在Line Search and Merit Function部分(https://it.mathworks.com/help/optim/ug/constrained-nonlinear-optimization-algorithms.html#f26965)
据我通过阅读文档了解到,minimize
算法(依赖于局部最小化)在新迭代之前基本相同(基于嵌入边界和聚合的顺序二次规划basinhopping
的局部最小化的新起点在该迭代上)约束)。不同之处在于如何选择新的起点。主要区别在于,在算法中,扰动是随机的,而在实现中似乎是定向的。我想这样做。basin hopping
MATLAB
问题是我似乎无法找到“暴露”所需数量的方法。Matlab 参考文档中的含义:Zk
和Gk
.
谁能指出我正确的方向?
scikit-learn - sklearn 中的 SVM qp 求解器
我研究 SVM,我将使用 python sklearn.svm.SVC 实现 svm。
我知道 SVM 问题可以表示为 QP(二次规划)所以在这里我想知道哪个 QP 求解器用于解决 sklearn svm 中的 SVM QP 问题。
我认为它可能是 SMO 或坐标下降算法。
请让我知道 sklearn svm 中使用的确切算法是什么
optimization - Julia 中的二次规划
好吧,我有一个二次规划优化问题,在 Matlab 中结构良好。例如,对于x
一个n*1
向量,我们有
当然,A
是矩阵,b
,x_lb
,x_ub
是向量。但是,我的问题是,如何在我尝试使用 Jump 的 Julia 中构建这样的标准。实际上,
可以使最后一个常数起作用。但是如何x_lb<=x<=x_ub
在 JuMP 中构造第二个约束呢?我试过了
但它没有用。似乎只有常数可以指定为上限/下限?
此外,对于二次目标,可以使用“aff”和“quad”,但我们需要明智地处理和x
元素,这使得这样的工作很耗时。H
f
任何帮助表示赞赏!
convex-optimization - CVXPY 抛出 `SolverError` 异常的具体原因是什么?
我正在使用 CVXPY(1.0 版)求解二次规划(QP),我经常遇到这个异常:
SolverError:求解器“xxx”失败。尝试另一个求解器。
这使我的程序非常脆弱。我尝试过不同的求解器,包括 CVXOPT、OSQP、ECOS、ECOS_BB、SCS。他们都有或多或少相同的问题。我注意到,当我使求解器的停止标准更严格(例如,降低绝对误差容限)时,我得到SolverError
的频率更高,而当我不那么严格时,SolverError
问题会减弱甚至消失。我还发现 CVXPY 抛出的方式SolverError
是随机的:如果我多次运行同一个程序,有些运行会得到最佳结果,SolverError
而另一些会得到最佳结果。
虽然我可以通过尝试更多次并降低停止标准来避免 SolverError,但我真的很想了解异常背后的真正具体原因
SolverError:求解器“xxx”失败。尝试另一个求解器。
这个错误并没有真正提供信息,我不知道如何提高解决问题的稳健性。其原因是否特定于求解器?是否会针对一组明确定义的情况引发此异常?或者它只是一种说“由于未知原因出现问题”的方式?这些可能是什么原因?
matlab - Matlab CPLEX:在 cplexmiqcp 中添加多个 SOCP 约束
我使用 CPLEX 作为求解器,在 MATLAB 中编写了我的问题。由于我无法控制的问题(这是可行的),CPLEX 类 API 在解决我的问题时搞砸了。因此,根据在互联网上其他地方找到的帖子,我正在尝试使用工具箱 API 来解决。
为了解决我的问题,我需要使用具有输入的 cplexmiqcp:
我有多个 SOCP 约束,并且使用类 API,我能够使用结构定义它们中的每一个,例如:
但是如何为 cplexmiqcp 输入定义多个二次约束?这些是l,Q,r
。当我尝试像以前一样创建结构时,我得到“错误:不正确的 l、Q、r”。
quadratic-programming - 如何线性化二次目标函数
我有一个优化问题。目标定义如下: Max∑<em>(k=1)∑</em>(t=1)(r_k (t))^2 在此处输入图像描述 约束是线性的 如何线性化这个目标函数?
r - b'Qb + c'b 形式的 LASSO 目标函数
我正在尝试使用 R 中的 Rcplex 包最小化 LASSO 目标函数。Rcplex 的帮助页面显示目标函数应该以 b'Qb + c'b 形式编写。如何重写具有 b'Qb +c'b 形式的东西,或者是否有一些不同的方法可以将 LASSO 目标函数实现到 Rcplex 中?