首页 文章

Cplex没有考虑多个初始解决方案

提问于
浏览
0

当我为cplex提供多个初始解决方案时 . 它只考虑第一个初始解决方案 .

案例1:我给了2个初始解决方案 . 下面是代码和节点文件代码:

cplex.addMIPStart(startVar1,startVal1); cplex.addMIPStart(startVar,startVal);

节点文件:

1个2 MIP启动提供的解决方案 . MIP启动'm1'定义了具有目标2107.1259的初始解 . Aggregator完成了4433次替换...尝试了聚合器11次 . MIP Presolve消除了121597行和66747列 . MIP Presolve修改了423500系数 . Aggregator做了4922次换人 . 减少的MIP具有87011行,15912列和2020871非零 . 减少的MIP有15114个二进制文件,0个将军,0个SOS和0个指示符 . 预先计算时间= 26.58秒 . (20114.66 ticks)探测固定的462个变量,收紧0个界限 . 探测时间= 14.33秒 . (2238.26 ticks)尝试聚合器2次 . MIP Presolve消除了3295行和557列 . MIP Presolve修改了11275个系数 . Aggregator做了13次替换 . 减少的MIP具有83703行,15342列和1963759非零 . 减少的MIP有14557个二进制文件,9个将军,0个SOS和0个指标 . 预先计算时间= 13.25秒 . (5471.85蜱)探测固定的17个大炮,收紧0界限 . 探测时间= 3.92秒 . (285.75 ticks)Clique表成员:997492 . MIP重点: balancer 最优和可行性 . MIP搜索方法:动态搜索 . 并行模式:确定性,最多使用12个线程 . 根松弛溶液时间= 289.55秒 . (57735.17个蜱虫)

案例:2我只提供了一个初始解决方案代码:cplex.addMIPStart(startVar,startVal);节点文件:1个MIP启动提供的解决方案 . MIP启动'm1'定义了具有目标80.1562的初始解决方案 . Aggregator完成了4433次替换...尝试了聚合器11次 . MIP Presolve消除了121597行和66747列 . MIP Presolve修改了423500系数 . Aggregator做了4922次换人 . 减少的MIP具有87011行,15912列和2020871非零 . 减少的MIP有15114个二进制文件,0个将军,0个SOS和0个指示符 . 预先计时= 25.45秒 . (20114.66 ticks)探测固定的462个变量,收紧0个界限 . 探测时间= 6.91秒 . (2238.26 ticks)尝试聚合器2次 . MIP Presolve消除了3295行和557列 . MIP Presolve修改了11275个系数 . Aggregator做了13次替换 . 减少的MIP具有83703行,15342列和1963759非零 . 减少的MIP有14557个二进制文件,9个将军,0个SOS和0个指标 . 预先计时= 7.50秒 . (5471.85蜱)探测固定的17个大炮,收紧0界限 . 探测时间= 0.91秒 . (285.75 ticks)Clique表成员:997492 . MIP重点: balancer 最优和可行性 . MIP搜索方法:动态搜索 . 并行模式:确定性,最多使用12个线程 . 根松弛溶液时间= 127.17秒 . (57735.17个蜱虫)

我错过了什么或者我需要提供任何其他参数 . 请帮忙 . 先感谢您 .

1 回答

  • 0

    (没有CPLEX用户)

    根据docs(我无法直接链接到该部分;丑陋的文档...):

    没有一种方法可以从多维变量数组创建MIP启动 . 为了从多维变量数组创建MIP,首先必须将所有这些变量复制到一个平面数组中 . 有关具有多维数组的此方法的示例,请参阅“CPLEX用户手册”中的“从解决方案开始:MIP启动”主题 .

    和他们的C counterpart

    与方法setStart不同,方法addMIPStart不是增量方法 . 换句话说,每次调用addMIPStart都会创建一个新的MIP启动 .

    看来你需要先做一些预处理,然后再拨打一次!

    但是我认为Java-docs中没有提到非增量性质(在C文档中提到),所以对于我作为非CPLEX用户来说这非常令人困惑,但在你观察之后,我认为我需要提到的C-docs中的方法 .

相关问题