常用运筹学软件整理
1. 问题
最近在折腾运筹学的一些东西。理论学完了肯定是要借助工具,手算的时代已经过去了。那么常用的软件包有哪些呢?
2. 分析
2.1. Excel
把 Excel 排在第一肯定有很多人不服,毕竟这看起来也太不专业了。但就像我们之前说的,讨论工具的鄙视链没有意思。Excel 简单易用,普及范围最广,和其他软件结合也是最方便的。
Excel 求解线性规划、整数规划等需要用到 Solver 工具包,Excel 自带,免费使用。如果想要更强大的工具包,可以考虑其付费升级版Analytic Solver for Excel - solver。
上得厅堂下得厨房,功能强大婉约可人,简直就像我的丫头。
2.2. CPLEX
CPLEX是 IBM 出品的一款运筹优化工具包,有免费的社区版。该工具继承了 IBM 软件的一贯的功能强大、使用复杂的特点。CPLEX 算是业界标准,很多公司都会要求会用 CPLEX 的人优先录用。
CPLEX 除了集成开发环境外,还有 Python 接口,可以在 Python 里面直接调用。但它依然继承了 IBM 的一贯风格,文档粗糙,资料少,需要自己啃文档。
哎,这等贵妇人,东哥还是离得远点好。
2.3. Lingo
我们上课用的是LINGO and optimization modeling。这款工具简单小巧,就像小乔一样惹人喜爱。可惜是收费软件,有试用版,但只有半年的试用期。
不爽。就像小乔一样让人可望不可即。
2.4. SciPy
SciPy 里面有优化模块,其中就有线性规划功能。作为普及度最高的 Python 科学计算工具包,不用再额外安装其他工具,的确很爽。但让人不爽的是只有线性规划功能,没有整数优化等其他运筹模块。
可惜,一个邻家妹妹,其他都挺好,就是有点遗憾。
2.5. XPress
XPress 是一款商业运筹软件,已经有三十多年的历史了。它还有免费社区版,真是业界良心。不过刚找到,还没有试用,所以暂不予评价。
不过考虑到其悠久的历史,应该不会差。就像女神贾静雯,啥时候都是赵敏第一。
2.6. Pyomo
Pyomo是 Python 下一款专门的优化工具包,在学界和工业界都有广泛的应用。功能强大,需要一段时间的学习才能应用自如。
和 SciPy 比的话,在运筹优化方面要胜过一筹,毕竟人家是专门干这个。有志在学界发展的可以考虑它。
就像美女大学老师吧。想起当年教古典文学的小龙女了,复旦中文系老师,比我们也就大了几岁,每次她的选修课大家都是得抢的。满屋子坐的都是黑压压的一帮愣头青。
人不疯狂枉少年啊~
3. 总结
今天我们大致聊了聊运筹学的一些工具和软件包。总的来说,运筹学不像统计学或数据分析等流行,所以工具包也相对少点。
不过现有的这些,已经足够我们搞定工作了。
4. 交流
独学而无友则孤陋寡闻。现有「数据与统计科学」微信交流群,内有数据行业资深从业人员、海外博士、硕士等,欢迎对数据科学、数据分析、机器学习、人工智能有兴趣的朋友加入,一起学习讨论。
大家可以扫描下面二维码,添加荔姐微信邀请加入,暗号:机器学习加群。
Lily
5. 扩展
5.1. 延伸阅读
5.2. 参考文献
Winston, W. L. (2016) Microsoft Excel 2016: data analysis and business modeling. Redmond, Washington: Microsoft Press.
Hart, W. E. (2017) Pyomo -- optimization modeling in Python. New York, NY: Springer Science+Business Media.
Data2Science
本文使用 mdnice 排版
版权声明: 本文为 InfoQ 作者【张利东】的原创文章。
原文链接:【http://xie.infoq.cn/article/3ff766bc85f3c7312c4afd99c】。文章转载请联系作者。
评论