如何加快cplex解决方案池?

问题描述 投票:0回答:1

我有一个MIP模型,我需要生成它的解决方案池。生成此池大约需要5分钟,但是我需要为100k模型生成此池,因此我需要使该池至少快8倍地运行,但是不幸的是,我对加速cplex不了解。我可以更改一些设置以使其更快运行吗?是否可以使其在不同CPU上并行运行?我的泳池设置:

    cpx = mdl.get_cplex()
    cpx.parameters.mip.tolerances.integrality.set(0)
    cpx.parameters.simplex.tolerances.markowitz.set(0.999)
    cpx.parameters.simplex.tolerances.optimality.set(1e-9)
    cpx.parameters.simplex.tolerances.feasibility.set(1e-9)
    cpx.parameters.mip.pool.intensity.set(2)
    cpx.parameters.mip.pool.absgap.set(1e75)
    cpx.parameters.mip.pool.relgap.set(1e75)
    cpx.parameters.mip.limits.populate.set(50)
python-3.x cplex docplex
1个回答
0
投票

两件事想到:

  1. 尝试使用MIP强调参数播放(请参见here)。特别是,尝试值“ 4强调找到隐藏的可行解决方案”。您也可以尝试提高启发式技术。
  2. 如果您的计算机上有多个核心,那么缺省情况下,CPLEX将使用所有可用的核心来求解模型。您可以尝试并行解决几个模型,每个模型具有更少的线程数,而不是将全部计算能力投入到one single模型上。例如,如果您有12个核,则可以用12个模型求解一个模型,也可以并行求解4个模型,每个模型使用3个线程。根据CPLEX可以为您的实例利用多个线程的程度,后一种方法可能会更快。
© www.soinside.com 2019 - 2024. All rights reserved.