CPLEX的限制(Limits of CPLEX)

2019-11-04 02:22发布

我们有涉及目标函数100K变量和1500分的条件的问题。 是否CPLEX支持这样的数字? 如果是这样,什么是CPLEX的限制和业绩基准?

问候,

佳日

Answer 1:

YES。

引用从CPLEX开发人员在回复此线程 ,在2010年日:

CPLEX can handle 30 million variables. 
The more interesting question will be: 
does your machine have enough memory for that. 
CPLEX needs to store lower, upper bounds and objective function coefficients
as double precision values for each variable. 
This results in a storage requirement of at least 30000000 * (8 + 8 + 8) bytes
which are roughly 680 MB.
And then you have variable names, constraints etc.

接着

This is a little subtle to answer as this number may depend on the 
features of CPLEX you use (implicitly). However, CPLEX definitely supports up to 
262,500,000 integral variables (that is the 2,100,000,000
claimed by Roland divided by sizeof(double)) with all features -- 
provided that there is enough memory for that.
The space required for simply creating that many variables would be roughly 6 GB 
(one double precision number for lower bounds, upper bound and 
objective function coefficient).

业绩基准

这里是汉斯迈特尔曼的官方页面 ,对LP的求解器的性能基准,这里是混合整数线性规划的基准 (问题的描述是在这里 )。

你会注意到,在这些集,其实比你的问题更大一些问题。

然而,在MIPS(整数变量问题),您的里程可能会有所不同性能代价。 存在只有200整型变量的问题,其中CPLEX不能得到低于10%的差距在计算中的一个小时。 一个问题的规模并不总是求解器的性能可以很好地预测。



文章来源: Limits of CPLEX