Cplex 参数笔记(Python API)
最近一直做Cplex用于大规模实例的结果验证(与现有的算法和已经优化的算法进行对比);颇有一些感触,记录下来,以防遗忘。
首先是模型搭建:Cplex计算占内存极大,所以一定要把模型构建的最简单,变量能少则少,能用2个变量表示的,就不要用一堆向量来表示。约束条件越少越好(constraints memory = number of constraints(KB)),在写完后一定要看一下内存占用情况,否则就会出现几十G甚至上百G的占用,没有服务器的话,基本就可以直接GG了(当然,有服务器也不能这么乱用,毕竟时间还是越短越好,算法性能对比中运行时间也是很重要的一项)。
第二模型计算后,如果得到的结果不合理(包括无解/解越过限制条件)。那么就要重新检查自己的约束情况,看看是不是哪里出现了问题。如果实在找不出来1.可以写成LP文件,更方便检查;2.重新写一遍。
第三,解越过限制条件的处理方法:1.检查模型的约束条件;2.调整参数,这也是笔记想要重点讲的内容。(有不常用的以后再做更新)
参数设置中,可能常用的有以下几项:
Parameters.lpmethod.set() //0:Cplex自动选择方法 1:primalsimplex 2:dual simplex; 3: networ