内点优化有哪些开源代码可以修改?

计算科学 优化 凸优化 约束优化
2021-12-19 09:13:23

我正在为我的特殊问题研究一个半定的内点算法。我没有足够的关于半定内点的技能和知识来从头开始编码。另外,我没有足够的时间。我需要一个简单的半定内点算法的开源实现来改变。有一些可用的开源代码,但我想要一个简单而有效的代码。什么是轻松修改其内点算法以证明所提出算法的有用性的最佳代码?我非常喜欢 matlab 代码或带有 matlab 接口的 C++ 代码,很容易附加到 matlab。非常感谢任何答案、评论或建议。

1个回答

很大程度上取决于您需要在代码中具有哪些功能以及对代码进行修改是否合理。

您需要块对角结构化变量吗?

二阶锥体?旋转的二阶锥体?

自由变量?

对低秩约束矩阵的特殊支持?

支持 log det 优化?

如果您需要很多这些功能,那么您可能希望从开发良好的原始对偶代码之一开始。SDP最广为人知的原始对偶内点代码是

  1. 色度米。此代码使用自对偶嵌入方法,出于您的目的修改 a 可能合理,也可能不合理。它是用带有 C mex 子程序的 MATLAB 编写的。

  2. SDPA。使用不可行的内点法。用 C++ 编写。

  3. SDPT3。用 MATLAB plus C 编写的不可行内点法。

  4. CSDP。不可行内点法,用C语言编写。 免责声明:我是CSDP的作者。

其中,也许您最感兴趣的是 SDPT3,