メインコンテンツへスキップ

A sharp drop in 'BestBd'

ユーザーの入力を待っています。

コメント

2件のコメント

  • Jaromił Najman
    • Gurobi Staff

    Hi Junlin Qu,

    Could you please explain why such a sharp drop in BestBd might occur? A deep explanation would be very helpful—I believe I can understand the technical details.

    It is possible that a global cut could be computed which leads to prunning a whole subtree. It is also possible that the new incumbent information could have been used to perform some dual argument and again prune a whole subtree leading to a sharp drop in the dual bound.

    Are you able to generate a feasible point for your model which would lead to a solution with an objective value which is better than the reported dual bound? If yes, could you please try generating such feasible point and providing it to Gurobi as a MIPStart, see How do I use MIP start? If the dual bound you show in your post strictly cuts off the newly generated feasible point, then please share the model such that we can investigate what is going wrong.

    Is there a more efficient and accurate method to identify which specific constraint changes might have led to this drop?

    Unfortunately not. Such drops are not unusual but finding the exact reason for them would require to have a closer look at the code during the solution process which is not possible.

    Best regards,
    Jaromił

     

     

    0
  • Jaromił Najman
    • Gurobi Staff

    Thank you for sharing the code, Junlin.

    You said that the sudden drop in the best bd is unexpected, because there should be a solution which is better than the one reported by Gurobi. Are you able to generate one such solution?

    Regarding the output here are possible explanations for the sudden drop in BestBd

    H    0     0                    46569.539671 66639.6464  43.1%     -    0s
         0     2 66639.6464    0   41 46569.5397 66639.6464  43.1%     -    0s
    H   31    49                    46569.539671 57054.7777  22.5%  12.3    0s
    H  112   101                    48002.680167 57054.7777  18.9%   6.1    0s

    Here, the solver just stopped its work in the root node. You can see this by the increase in the number of unexplored nodes (2nd column). For nonconvex models, branching can very quickly improve the BestBd which seems to be the case here. You can see that in the 3 line the solver explored 31 nodes very quickly. Each such node exploration consists of branching, bound propagation, and other presolve routines which can quickly improve the BestBd. This is especially true if the variable bounds are very wide in the original model and the solver can prune big parts of the original domain.

    H  247   221                    49162.398813 57041.2572  16.0%   7.9    0s
    H  398   361                    50034.265316 57041.2572  14.0%   6.1    0s
    H  400   405                    50206.350489 57041.2572  13.6%   6.0    0s
    H 1268   194                    50206.350489 50416.4502  0.42%   4.1    1s

    The second drop most likely happens, because a new feasible solution has been found. Feasible solutions can be used to perform OBBT and other dual reductions which can significantly move the Best Bd. These reductions usually try to perform the following reduction: Try to cut off as much of the feasible space as possible without cutting off the current best feasible point and any point possibly better than it.

    I hope this helps.

    Best regards, 
    Jaromił

     

     

    0

サインインしてコメントを残してください。