Cplex Python相当于Callable Library CPXaddcols

时间:2018-04-12 15:41:28

标签: python mathematical-optimization linear-programming cplex

我正在尝试使用CPLEX Python API进行一些性能实验,发现大多数CPLEX行或列更新都是通过稀疏对或稀疏三元组进行的。在大型矩阵(数百万列)上,它变得太慢了。

我正在寻找更有效的方式(相当于Callable Library中的int CPXaddcols(CPXENVptr env,CPXLPptr lp,int ccnt,int nzcnt,double *obj,int *cmatbeg,int *cmatind,double *cmatval, double *lb, double *ub,char **colname)

我发现这些方法位于cplex._internal._procedural,但无法真正称之为成功。

任何人都使用CPLEX Python进行大规模LP?任何人在python cplex中使用addcols(env, lp, ccnt, nzcnt, obj, cmat, lb, ub, colname, enc=default_encoding)方法?

非常感谢任何帮助。

由于

代码

import cplex 

import os

WORKDIR = "data1"

filename = "matrix1.prefix.LP"

os.chdir(WORKDIR)

problem = cplex.Cplex(filename)

theEnv = problem._env

theLP = problem._lp

returnCols = cplex._proc.getcols(theEnv,  theLP, 0,10)

print( returnCols)

输出

文件“C:/TSWork/Misc/Calendar_Year_2018/Experiments/MtrxDnst/CPX_Proc_V1.py”,第15行,in     returnCols = cplex._proc.getcols(theEnv,theLP,0,10)

文件“C:\ Software \ Anaconda3 \ envs \ cplex \ lib \ site-packages \ cplex_internal_procedural.py”,第861行,在getcols中     status = CR.CPXXgetcols(env,lp,inout_list)

TypeError:在'CPXXgetcols'方法中,类型'CPXCENVptr'的参数1

0 个答案:

没有答案