【问题标题】:How to interpret the log output of docplex optimisation library如何解释 docplex 优化库的日志输出
【发布时间】:2018-10-27 18:50:40
【问题描述】:

在尝试使用 docplex 最大化目标函数后,我在解释此日志时遇到问题:

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

      0     0        6.3105     0                     10.2106       26         
      0     0        5.9960     8                     Cone: 5       34         
      0     0        5.8464     5                     Cone: 8       47         
      0     0        5.8030    11                    Cone: 10       54         
      0     0        5.7670    12                    Cone: 13       64         
      0     0        5.7441    13                    Cone: 16       72         
      0     0        5.7044     9                    Cone: 19       81         
      0     0        5.6844    14                      5.6844      559         
*     0+    0                            4.5362        5.6844            25.31%
      0     0        5.5546    15        4.5362     Cuts: 322     1014   22.45%
      0     0        5.4738    15        4.5362      Cuts: 38     1108   20.67%
*     0+    0                            4.6021        5.4738            18.94%
      0     0        5.4296    16        4.6021     Cuts: 100     1155   17.98%
      0     0        5.3779    19        4.6021      Cuts: 34     1204   16.86%
      0     0        5.3462    17        4.6021      Cuts: 80     1252   16.17%
      0     0        5.3396    19        4.6021      Cuts: 42     1276   16.03%
      0     0        5.3364    24        4.6021      Cuts: 57     1325   15.96%
      0     0        5.3269    17        4.6021      Cuts: 66     1353   15.75%
      0     0        5.3188    20        4.6021      Cuts: 42     1369   15.57%
      0     0        5.2975    21        4.6021      Cuts: 62     1387   15.11%
      0     0        5.2838    24        4.6021      Cuts: 72     1427   14.81%
      0     0        5.2796    21        4.6021      Cuts: 70     1457   14.72%
      0     0        5.2762    24        4.6021      Cuts: 73     1471   14.65%
      0     0        5.2655    24        4.6021      Cuts: 18     1479   14.42%
*     0+    0                            4.6061        5.2655            14.32%
*     0+    0                            4.6613        5.2655            12.96%
      0     0        5.2554    26        4.6613      Cuts: 40     1492   12.75%
      0     0        5.2425    27        4.6613      Cuts: 11     1511   12.47%
      0     0        5.2360    23        4.6613       Cuts: 3     1518   12.33%
      0     0        5.2296    19        4.6613       Cuts: 7     1521   12.19%
      0     0        5.2213    18        4.6613       Cuts: 8     1543   12.01%
      0     0        5.2163    24        4.6613      Cuts: 15     1552   11.91%
      0     0        5.2106    21        4.6613       Cuts: 4     1558   11.78%
      0     0        5.2106    21        4.6613       Cuts: 3     1559   11.78%
*     0+    0                            4.6706        5.2106            11.56%
      0     2        5.2106    21        4.6706        5.2106     1559   11.56%
Elapsed time = 9.12 sec. (7822.43 ticks, tree = 0.01 MB, solutions = 5)
     51    29        4.9031     3        4.6706        5.1575     1828   10.42%
    260   147        4.9207     1        4.6706        5.1575     2699   10.42%
    498   242    infeasible              4.6706        5.0909     3364    9.00%
    712   346        4.7470     6        4.6706        5.0591     4400    8.32%
    991   497        4.7338     6        4.6706        5.0480     5704    8.08%
   1358   566        4.8085    11        4.6706        5.0005     7569    7.06%
   1708   708        4.7638    14        4.6706        4.9579     9781    6.15%
   1985   817        cutoff              4.6706        4.9265    11661    5.48%
   2399   843    infeasible              4.6706        4.9058    15567    5.04%
   3619   887        4.7066     4        4.6706        4.7875    23685    2.50%
Elapsed time = 17.75 sec. (10933.85 ticks, tree = 3.05 MB, solutions = 5)
   4623   500        4.6863    13        4.6706        4.7274    35862    1.22%

我不明白的是:

  1. 第三列(目标)和第五列(最佳整数)有什么区别
  2. 为什么第三列(目标)的值高于 CPLEX 给出的问题的实际解(4.6706)
  3. 第三列中的值是否考虑了优化问题的约束条件?

这个webpage也没有帮助我理解,Best Integer的解释真的很混乱。

提前感谢您的反馈。 问候。

【问题讨论】:

  • 简单解释:“最佳整数”列中的值是那些实际满足所有约束的解决方案的目标函数值,即那些是真正有效的解决方案。 “目标”列中的值:问题是“宽松”的,因为一些应该采用整数值的变量可能没有整数值。在 CPLEX 寻找解决方案时,“目标”值会发生很大变化,并且可能会上升或下降。当找到更好的整数可行解决方案时,“最佳整数”值应该表现得单调。
  • 好的,非常感谢,现在这很有意义,只是出于好奇,请问您在哪里可以找到这些信息?你有任何参考你想分享请。谢谢。
  • 对不起,但我对此没有明显的参考 - 我已经使用 CPLEX 超过 20 年(我在 ILOG 担任 1994-2003 年的优化顾问)所以对我来说现在是完全显而易见的,我不记得我在哪里学的。可能来自研发团队提供的内部培训课程。

标签: optimization cplex docplex docplexcloud


【解决方案1】:

用户手册包含此登录部分的详细说明

CPLEX->CPLEX 用户手册->离散优化->求解混合整数规划问题 (MIP)->进度报告:解释节点日志

(见https://www.ibm.com/support/knowledgecenter/SSSA5P_12.8.0/ilog.odms.cplex.help/CPLEX/UsrMan/topics/discr_optim/mip/para/52_node_log.html

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 2017-09-09
    • 1970-01-01
    • 2011-03-06
    • 2021-11-21
    • 2018-08-16
    • 2021-11-04
    相关资源
    最近更新 更多