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

Is a bound a constraint?

回答済み

コメント

4件のコメント

  • 正式なコメント
    Simranjit Kaur
    • Gurobi Staff
    This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum, or try Gurobot, our chatbot interface offering instant, expert-level support.
  • Jaromił Najman
    • Gurobi Staff

    Both variants will fix the corresponding variables to \(0\) in the presolve step. Thus, it should not matter which variant you use. However, if you observe any significant differences in the optimization behavior between the two variants, could you please let us know?

    Best regards, 
    Jaromił

    0
  • Simon Hoof
    • Gurobi-versary
    • First Comment
    • First Question

    Dear Jaromił,

    I was assuming that it does not matter. To provide perspective: I was wondering whether tolerance \(\varepsilon\) is one-sided w.r.t. bounds in the sense that Variant 1 is satiesfied if \(x(t) \in [0, 0+\varepsilon] \cap [0-\varepsilon, 0] = [0]\) and Variant 2 if \(x(t) \in [0-\varepsilon, 0+\varepsilon]\). That is, Variant 1 is stricter than Variant 2. I guess, however, that tolerance is always two-sided even if it means to break through bounds.

    Best,
    Simon

    0
  • Jaromił Najman
    • Gurobi Staff

    Dear Simon,

    In this particular case, tolerances don't matter, because the variable will be replaced by value \(0\). Thus, the optimizer won't have any chance to exploit tolerances because the variable becomes a constant.

    If this would not be the case, then your thinking makes sense. However, it strongly depends on the actual implementation. For bounds, one could still allow for an \(\epsilon\) tolerance violation in the opposite direction resulting in the same interval as for variant 2. For your first variant the \(\cap\) could be a \(\cup\), because if, e.g., \(x=\epsilon\) then \(x\) satisfies its lower bound and it satisfies its upper bound up to the given tolerance \(\epsilon\).

    Best regards, 
    Jaromił

    0

投稿コメントは受け付けていません。