DOcplex系列(一)Cplex&DOcplex 简介 您所在的位置:网站首页 idea8349e324872c DOcplex系列(一)Cplex&DOcplex 简介

DOcplex系列(一)Cplex&DOcplex 简介

2023-11-09 21:42| 来源: 网络整理| 查看: 265

写在前面的话

作为一只想要努力毕业的科研小白,终于也到了用cplex来求解一下我东拼西凑出来的小数学模型这一步了。应老板的要求,也是为了锻炼一下我的编程能力,决定用python调用docplex来求解。显然,这年头,这么看颜值的时代,谁还不用个好用又好看的IDE啊。因为之前念本科的时候用过JetBrains公司的WebStorm,好看又好用,快捷键也很方便,于是在选用python的IDE时,就自然而然地选择了他们家的PyCharm。 由此便开始了我 & PyCharm & docplex的斗争之路。(哎,,,)

Cplex是什么

Cplex是一个模型求解工具,主要用来求解大规模的线性规划(LP)、二次规划(QP)、带约束的二次规划(QCQP)、二阶锥规划(SOCP)等四类基本问题,以及相应的混合整数规划(MIP)问题。 所以,像我们这种逃不开运筹和优化的专业,用cplex求解数学模型算是一项基本技能吧。

用Cplex求解模型有两种方法: 使用IBM的cplex studio IDE。 使用这个方法,可以直接从IBM的官网上下载安装。IBM官网下载 。 这里多说一句版本的问题。cplex目前官方提供三个版本:免费版、商用版和教育版。顾名思义,免费版是不花钱的,但是基本上没什么用处,求解规模十分有限,写论文是完全不够的。商用版,功能齐全,但是,价格嘛,你懂的。。。但是比较好的是,学生、教师和科研人员是可以通过edu邮箱账号免费申请教育版的,其功能和商业版没啥差别。所以大家可以自行注册申请教育版。或者,也可以找导师要。因为,我前两天注册的时候,发现一个狗血的问题,收不到验证码,,,所以根本没法注册。。。 IDE提供图形用户界面,非常友好,但是需要用OPL语言,所以就需要学习cplex的api和opl语言的一些语法。但是对于很多做运筹和优化的人来说,编程也是一项重要的技能嘛,所以总要有那么一两种用的顺手的语言的,所以比较推荐后一种方法吧。使用编程语言调用cplex 可用的编程语言有很多种,网上教程比较多的有java、c#、c++等等。很多做调度和优化的人,喜欢用matlab。编程语言的选择看个人喜好。我这里用的是Python。原因嘛,emmmm,老板让我用的。。。 DOcplex

DOcplex是一个基于python的建模语言库,通过调用cplex的求解器来求解模型,可以理解成将cplex的api进行二次封装,所以用DOcplex需要先装cplex。 相对于cplex来说,DOcplex语法更容易一点,学起来也更简单一点,至少在我这种小白眼中来看,是比直接调用cplex要人性的多。 同时,它的求解速度并不低于cplex的python api,而且同时支持求解cp(约束规划)和mp(数学规划)。 两相比较,像我这么(懒)追求效率的人,怎么会不用DOcplex呢? 另,附上官方文档和实例,方便自学: 官方文档 官方实例

简单来说,Cplex & DOcplex 这两个东西,都是用来求解模型的,但是DOcplex的语言更精简一点,也更贴近于建模,用起来和学起来都会比较方便。

下篇预告: 怎样在PyCharm上,成功安装和调用学术版Cplex和DOcplex



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有