首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现凸优化包?

如何实现凸优化包?
EN

Stack Overflow用户
提问于 2010-07-08 08:37:28
回答 3查看 565关注 0票数 3

我完全意识到凸优化包,就像线性代数包一样,应该是你使用的东西,而不是实现的东西。然而,出于纯粹的教育目的--有没有好的资源--关于如何实现凸优化包的链接/书籍?(就像具有二次约束的二次程序一样?)

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-08 12:54:03

任何一本好的凸优化教科书都会有你想要的东西。这里有一个这样的免费但很棒的资源:CO Book。请注意,正如您正确提到的,实现本书中提到的算法肯定需要线性代数库,您可以选择也可以不选择实现线性代数库。

票数 2
EN

Stack Overflow用户

发布于 2011-09-24 10:33:33

Optima中有一个相关的article,这是mathematical optimization society的时事通讯,名为“快速开发一个带有硬币或的开源Minlp求解器”。它描述了使用一些coin-or包构建非线性求解器。大多数硬币或东西都是用c++编写的。

对于python,您可以考虑使用numpy中提供的线性代数数据结构和算法。相关的scipy包有一些非线性优化器,但没有专门用于凸优化的。

最后,您可以查看Boyd的GPL的基于python的凸优化程序cvxopt,以了解您将面临什么样的任务。

票数 1
EN

Stack Overflow用户

发布于 2018-02-13 03:19:44

这取决于你要去做什么,,但你应该去找教授。在你现在所在的大学或者你毕业的大学里,你应该直接问他

我实现了几个问题的求解器,简化为凸优化(http://cs229.stanford.edu/proj2017/) - cvx4ml,它比SkLearn的类似解决方案更快,我通过了斯蒂芬·博伊德的24小时考试,所以我可以为你的粗略计划提供建议和描述:

所以你要创建自己的包,我会写一步一步的说明:

你应该创建库与密集的matrix/vectors

  • You应创建库与稀疏matrix/vectors

  • Implement解线性方程组约20种不同的算法(因为根据情况你将需要不同的them)

  • Introduce概念如何描述约束,函数域等在你的编程语言或你的系统,你created.

  • Implement几个规范和对偶规范的评估,一些因式分解技术,如LU,Cholesky.

  • Implement自定义非负正交锥的简单圆锥求解器。这取决于你要做什么。6.a -基于内点法编写求解器。6.b -编写支持分布式优化的求解器6.c -基于一些投影的次梯度编写求解器,以支持其他步骤“5”cones

  • Enhanced

的求解器

如果你想达到CVXPY级别,那么

  1. 实现了像CVXPY一样的程序描述解析,并将问题转化为二次曲线形式。

附注:如果你对其中的一些话题感到草率,那么:

  • 读过线性代数的书,这本书是教授写的。从youtube上的university
  • Look进入带有S.Boyd的EE263,带有S.Boyd的EE364A,带有S.Boyd的EE364B。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3199924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档