比较全面地展示各类优化问题的 R 语言实现,其覆盖面之广,远超市面上同类 R 语言书籍。从线性优化到凸优化(包含凸二次优化和凸锥优化),从简单整数线性优化到混合整数非线性优化,再到一般的非线性优化,触及最前沿的热门话题。
对每类优化问题都给出示例及 R 语言实现,涉及 10 余个各类优化器。参考 Lingo 和 1stOpt 等国内外商业优化建模软件的官方示例,也参考开源软件 Octave (语法大量兼容 Matlab 的科学计算软件)的非线性优化示例,给出 R 语言实现。经过对比,发现 R 语言求解器的效果可以达到同类开源和商业软件的水平。
对于 R 语言社区难以求解的复杂优化问题,也都给出了开源替代方案,并总结了实战经验。比如,混合整数非线性优化,通过 rAMPL 包 (Brandao 2023) 连接 AMPL 软件,调用开源的优化求解器 Couenne 求解。R 语言社区的优化建模扩展包相比于商业软件的最大优势是免费易获取,可以随时查找相关 R 包的论文和源码深入研究,了解优化算法的理论和实现过程。
数值优化与 R 语言(2023)
国内外,商业的运筹优化软件,一般动辄上万,乃至数十万,本文试图满足个人需求,价值上万
总结得很工整。我发现随着大家对优化问题的研究逐渐深入,很多人都从复用现有 solver 到最后针对自己的问题写了高效的 solver……
这和深度学习做到后来都写了自己的框架有点似曾相识。当然,高效解决一个优化问题比不了框架造神的速度:同一个科技公司同时开发了两三套相互竞争的框架并不稀奇,毕竟大家都需要升职加薪,制造 impact
补充一点,素材来源于 R 包或函数的帮助文档、JSS / R Journal 论文、1stOpt、Lingo / Octave 等软件的文档,也许还有忘记或找不到出处的文档。
这个文档还有一个直接用处,对本科生或研究生做数学建模,应该也能满足需求,可以替代 Matlab / Lingo 。
对于工业级的应用,在规模很大的情况下,可以试试直接使用开源的 C/C++ 库。不知道有没有开放出来的行业方法?
最后,对于随机优化,群体智能之类的启发式算法,都还没有总结,有点搞不动了,期待大伙也总结一篇。
Cloud2016 更改标题为「数值优化与 R 语言(2023)」
1 个月 后
挖呀挖呀挖,我想知道啥时候出版一本书啊?