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

About constants affect optimization results

回答済み

コメント

3件のコメント

  • 正式なコメント
    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 why not try our AI Gurobot?.
  • Eli Towle
    • Gurobi Staff

    If you divide every objective term by the same constant, the optimal solution(s) would not change. However, you are dividing each objective term by different constants. In the first example, the objective function is the sum of squares:

    \begin{align*}\max\ -\ell_{00}^2 - \ell_{01}^2 - \ldots - \ell_{32}^2 - \ell_{33}^2.\end{align*}

    In the second example, the quadratic objective terms now have coefficients \( 1 \), \( \frac{1}{256} \), or \( \frac{1}{625} \), because the corresponding \( \texttt{dc} \) values vary:

    \begin{align*}\max\ -\ell_{00}^2 - \frac{1}{256}\ell_{01}^2 - \ldots - \frac{1}{256} \ell_{32}^2 - \ell_{33}^2.\end{align*}

    Scaling the objective terms differently can result in a different optimal solution. As a simple example, consider the following problem:

    \begin{align*}\max_{x,y}\ x + y \\ \textrm{s.t.}\ x + 4y &\leq 4 \\ y &\leq 1 \\ x, y &\geq 0.\end{align*}

    The optimal solution is \( (x^*, y^*) = (4, 0) \). However, if we change the objective function to \( \frac{1}{10}x + y \), the optimal solution changes to \( (x^*, y^*) = (0, 1) \).

    0
  • Yanbo Fan
    • Gurobi-versary
    • Investigator
    • Thought Leader

    Hi Eli Towle,

    First of all, I'm sorry for the trouble I brought you. I've been looking for the reason why the problem went wrong, but I ignored the problem itself. Thank you very much for your answer. Your example makes me easily recognize my mistake. 

    Best regards,

    Yanbo

    0

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