优化,选哪种语言好?Python、Java、C++、还是Matlab?

优化,选哪种语言好?Python、Java、C++、还是Matlab?,第1张

优化,选哪种语言好?Python、Java、C++、还是Matlab?

看论文听讲座,会见到专家们都在用java和c++;看企业招聘公告又说精通java或python,其一即可;网上代码也以java,和matlab居多;小白也会问专家:编代码推荐哪个软件呢?

我其实也会有这个疑问啦:到底哪种好一点呢?本文仅限优化领域,更局限地说是整数规划和混合整数规划领域。

我自己接触过matlab和python,java和c++没用过。不过大概了解一点他们的区别,简单说说自己看法。

主流的,或者说顶尖的,肯定是Java和C++,因为求解速度快。同样一种算法,比python和matlab快10-20倍,甚至听过快100倍的。我们之所以编程求解就是求解得又快又好。那么求解质量差不多的情况下,肯定选最快的。时间对比如下:

语言C++Javapython满意解110601137011102时间(秒)1.02.039.4时间(比例)1239

对于Java和C++而言,其实C++速度更快。但是和求解器接洽的不好,包也不是很成熟。而Java调用cplex起来很方便,可以弥补时间稍微慢一点的缺陷,也是不错的,甚至略胜一筹。

python处理数据方便;而且有很多第三方库可以调用;最重要的是:和gurobi接洽得很好。gurobi也在不断完善中,求解效果甚至比cplex还要好。再加上,python代码比较简洁直观,数据处理高效,所以选用python也不错。

网上还有一部分代码是matlab的,matlab是数学四大软件之一,功能也很强大,尤其是作图,分析求解。但是matlab有个缺陷,比较致命,和求解器的接洽很一般,比如gurobi,好像需要调用第三方库,导致很多功能用不了。

我以前是用matlab,现在用python,因为简单好上手。当然java和c++,喜欢编程,高效求解的还是建议学一下。因为我们求解的目的是越快越好。换句话说,花出好多时间来设计优化算法效率,还不如换种语言,效率马上提升10倍,立竿见影,成效显著。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5522546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存