使用 CPLEX 检查新变量降低的成本

Check new variable reduced cost with CPLEX

我正在研究列生成算法。在为新变量定价并计算降低成本后,如何添加新变量并根据 CPLEX 检查我计算的降低成本是否正确?

当我将新变量添加到模型并重新优化RMP(Reduced Master Problem)时,新变量进入基础,因此其减少的成本为0,这是可以的。但是,我想在添加变量之前检查 CPLEX 计算的降低成本。

我不确定您使用的是 CPLEX 的众多 API 中的哪一个,但我认为您应该使用的方法或多或少是相同的。即,在重新优化 RMP 之前,将迭代限制设置为 0,并使用您添加的新列优化 RMP。据推测,此时您从之前的贼法牧解决方案中获得了最佳基础。因此,在迭代限制为 0 的情况下,CPLEX 不会将您的任何新列带入基础。相反,它们将是非基本的,但迭代限制为 0 的优化将为您提供 CPLEX 对所有非基本降低成本的计算,包括新生成的列的成本。