简体   繁体   English

R中的二次约束二次规划

[英]Quadratically constrained quadratic programming in R

Is there a function in R that does optimization with quadratic constraints? R中是否有一个函数用二次约束进行优化?

Reference: http://en.wikipedia.org/wiki/Quadratically_constrained_quadratic_program 参考: http//en.wikipedia.org/wiki/Quadratically_constrained_quadratic_program

Yes, there are several software packages that can solve QCQPs. 是的,有几个软件包可以解决QCQP。

CLSOCP solves SOCP problems. CLSOCP解决了SOCP问题。 DWD also solves SOCP problems. DWD还解决了SOCP问题。 Rcsdp solves SDP problems. Rcsdp解决了SDP问题。

Keep in mind that 请记住

QCQPs are a subset of SOCPs, which in turn are a subset of SDPs. QCQP是SOCP的子集,而SOCP又是SDP的子集。

There are references online illustrating how to formulate a QCQP as an SOCP or SDP 有参考网上说明如何制定一个QCQP作为SOCPSDP

Just for reference. 仅供参考。

There is a new package ECOSolveR to solve SOCPs 有一个新的ECOSolveR软件包可以解决SOCP问题

All these answer seem to forget one important thing: the solver to use depends heavily on whether the constraint is convex or not. 所有这些答案似乎都忘记了一件重要的事情:使用的求解器在很大程度上取决于约束是否凸起。 If convex we can use readily available QCP / SOCP solvers (including Cplex and Gurobi). 如果是凸的,我们可以使用现成的QCP / SOCP解算器(包括Cplex和Gurobi)。 If not convex, we can try a general purpose NLP solver (such as IPOPT). 如果不是凸的,我们可以尝试通用的NLP求解器(例如IPOPT)。 Non-convex global solvers are another possibility, but most are not directly available under R. 非凸的全局求解器是另一种可能性,但大多数在R下不能直接获得。

You might want to try package quadprog: Functions to solve Quadratic Programming Problems. 您可能想尝试使用package quadprog:函数来解决二次规划问题。

http://cran.r-project.org/web/packages/quadprog/index.html http://cran.r-project.org/web/packages/quadprog/index.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM