【问题标题】:How to disable all branch & bound improvements in Cplex?如何禁用 Cplex 中的所有分支和绑定改进?
【发布时间】:2021-07-13 16:57:52
【问题描述】:

我想在 Cplex 中求解 MIP(使用 IloCplex for C++),仅使用分支和绑定功能(即没有所有加速求解的增强功能,如探测、在每个节点上运行启发式算法、添加切割等)。这个想法是能够测试我自己的剪辑的影响,而不会因为剪辑和 Cplex 对分支和边界的各种改进而模糊结果。

我已经禁用了许多方法,但是根松弛仍然比我在运行 MIP 时得到的目标值要好,所有完整性约束都放松了,这意味着 Cplex 仍在以任何方式改进分支和边界。

我设置了以下参数:

    cplex.setParam(IloCplex::Param::Preprocessing::Presolve, IloFalse);
    cplex.setParam(IloCplex::Param::MIP::Strategy::Search, IloCplex::Traditional);
    cplex.setParam(IloCplex::Param::MIP::Strategy::Probe, -1);
    cplex.setParam(IloCplex::Param::MIP::Strategy::HeuristicFreq, -1);
    cplex.setParam(IloCplex::Param::Preprocessing::BoundStrength, 0);
    cplex.setParam(IloCplex::Param::Preprocessing::CoeffReduce, 0);
    cplex.setParam(IloCplex::Param::MIP::Limits::CutPasses, -1);
    cplex.setParam(IloCplex::Param::MIP::Strategy::FPHeur, -1);

我通过以下方式停用所有剪辑:

    cplex.setParam(IloCplex::Param::MIP::Cuts::BQP, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::Cliques, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::Covers, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::Disjunctive, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::FlowCovers, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::Gomory, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::GUBCovers, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::Implied, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::LiftProj, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::LocalImplied, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::MCFCut, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::MIRCut, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::PathCut, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::RLT, -1);
    cplex.setParam(IloCplex::Param::MIP::Cuts::ZeroHalfCut, -1);

我错过了什么?

【问题讨论】:

  • 我想我听到有人说你不能完全关闭所有预求解。

标签: linear-programming cplex branch-and-bound


【解决方案1】:

正如 Erwin 所指出的,不可能禁用所有 Cplex 增强功能以​​获得“香草”分支和绑定。更详细的解释可在here

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多