我正在研究列生成算法。在为新变量定价并计算降低成本后,如何添加新变量并根据 CPLEX 检查计算的降低成本是否正确?
当我将新变量添加到模型中并重新优化RMP(简化主问题)时,新变量进入基础,因此其降低成本为0,这是可以的。但是,我想在添加变量之前检查 CPLEX 计算出的降低成本。
最佳答案
我不确定您正在使用 CPLEX 的众多 API 中的哪一个,但我认为您应该使用的方法或多或少是相同的。即,在重新优化 RMP 之前,将迭代限制设置为 0 并使用已添加的新列优化 RMP。想必您已经从之前的 RMP 求解中获得了最佳基础。因此,当迭代限制为 0 时,CPLEX 不会将任何新列带入基础中。相反,它们将是非基本的,但迭代限制为 0 的优化将为您提供 CPLEX 计算的所有非基本降低的成本,包括新生成的列的成本。
关于optimization - 使用 CPLEX 检查新变量降低的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265760/