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

Is it better to split nonlinear expressions into auxiliary variables or keep them in a single constraint?

回答済み

コメント

1件のコメント

  • Byron Tasseff
    • Gurobi Staff

    Hi Huan,

    Just to keep the information in one place, I'm quoting my response from your other post below in case it's useful for future readers:

    Yes, your observation can be correct for your particular model. A manually introduced bilinear reformulation could sometimes solve faster than modeling the nonlinear relationship directly.

    However, I would not interpret this as a general rule. Both formulations are nonconvex, so solving them to global optimality generally relies on the same techniques. The two formulations can nevertheless lead to different internal representations, presolve reductions, branching decisions, and numerical behavior. As a result, either formulation may be faster for a given model or instance.

    For a fair comparison, I recommend testing with the latest Gurobi version, currently 13.0.1. Gurobi 13.0 introduced performance improvements across several model families. I would also compare the two formulations over several Seed values rather than relying on a single run. Changing the Seed parameter typically leads to different solution paths. This is a useful way to account for performance variability when comparing formulations.

    0

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