看论文听讲座,会听到专家们都在用java和c++;看企业招聘公告又说精通java或python,其一即可;网上代码也以java,和matlab居多;小白也会问专家:编...本文仅限优化领域,更局限地说是整数规划和混合整数规划领域。
看论文听讲座,会见到专家们都在用java和c++;看企业招聘公告又说精通java或python,其一即可;网上代码也以java,和matlab居多;小白也会问专家:编代码推荐哪个软件呢?
我其实也会有这个疑问啦:到底哪种好一点呢?本文仅限优化领域,更局限地说是整数规划和混合整数规划领域。
我自己接触过matlab和python,java和c++没用过。不过大概了解一点他们的区别,简单说说自己看法。
主流的,或者说顶尖的,肯定是Java和C++,因为求解速度快。同样一种算法,比python和matlab快10-20倍,甚至听过快100倍的。我们之所以编程求解就是求解得又快又好。那么求解质量差不多的情况下,肯定选最快的。<a class="link-info" href="https://blog.csdn.net/Rivalsx/article/details/105504109?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.no_search_link&spm=1001.2101.3001.4242.2" title="时间对比如下:">时间对比如下:</a>
<table> <thead> <tr> <th>语言</th> <th>C++</th> <th>Java</th> <th>python</th> </tr> </thead> <tbody> <tr> <td>满意解</td> <td>11060</td> <td>11370</td> <td>11102</td> </tr> <tr> <td>时间(秒)</td> <td>1.0</td> <td>2.0</td> <td>39.4</td> </tr> <tr> <td>时间(比例)</td> <td>1</td> <td>2</td> <td>39</td> </tr> </tbody> </table>nn 对于Java和C++而言,其实C++速度更快。但是和求解器接洽的不好,包也不是很成熟。而Java调用cplex起来很方便,可以弥补时间稍微慢一点的缺陷,也是不错的,甚至略胜一筹。
python处理数据方便;而且有很多第三方库可以调用;最重要的是:和gurobi接洽得很好。gurobi也在不断完善中,求解效果甚至比cplex还要好。再加上,python代码比较简洁直观,数据处理高效,所以选用python也不错。
网上还有一部分代码是matlab的,matlab是数学四大软件之一,功能也很强大,尤其是作图,分析求解。但是matlab有个缺陷,比较致命,和求解器的接洽很一般,比如gurobi,好像需要调用第三方库,导致很多功能用不了。
我以前是用matlab,现在用python,因为简单好上手。当然java和c++,喜欢编程,高效求解的还是建议学一下。因为我们求解的目的是越快越好。换句话说,花出好多时间来设计优化算法效率,还不如换种语言,效率马上提升10倍,立竿见影,成效显著。
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com