阅读 24

常用运筹学软件整理

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
Lily

5. 扩展

5.1. 延伸阅读

  1. 一文道尽 Excel 的 Criterion

5.2. 参考文献

  1. Winston, W. L. (2016) Microsoft Excel 2016: data analysis and business modeling. Redmond, Washington: Microsoft Press.
  2. Hart, W. E. (2017) Pyomo -- optimization modeling in Python. New York, NY: Springer Science+Business Media.

Data2Science
Data2Science

本文使用 mdnice 排版