Skip to main content

How can I obtain the optimal matching score of each decision variable?

Answered

Comments

5 comments

  • Official comment
    Simranjit Kaur
    Gurobi Staff 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?.
  • Matthias Miltenberger
    Gurobi Staff Gurobi Staff

    Hi Merve,

    That depends on how you are defining and computing those scores. If this is encoded in your constraints, you may want to get the corresponding constraint, get its LinExpr, and call getValue() to get the value of this constraint for the current solution, e.g.:

    c = m.getConstrs()[10]
    m.getRow(c).getValue()
    Cheers,
    Matthias
    1
  • Matthias Miltenberger
    Gurobi Staff Gurobi Staff

    It seems, that a[i,j] are your variables. Why don't you just query the X attribute of those variables just like before?

    for i in range(num_workers):
    for j in range(num_tasks):
    if a[i,j].X > 0.5:
    print(f'Worker {i} assigned to task {j}. Costs = {costs[i][j]}')

    Cheers,
    Matthias

    1
  • merve özer
    Gurobi-versary
    First Comment
    First Question

    Hi, actually matching scores (costs) are given in a matrix format as below and scores and the value of the matching is obtained by multiplying the binary variable (1 or 0) and the score as in the objective function in the code. So, it is not encoded in my constraints, so when I try the same way like  c=m.getObjective and get.Value to obtain matching scores next to each matching, it did not work. I just want to obtain something like X[0,3]  Score 75 , not X[0,3] 1.0 (binary value) as in my output.

    0
  • merve özer
    Gurobi-versary
    First Comment
    First Question

    Thank you very much! I could not think about it like that as I am a newbie in Python and Gurobi. Now, I obtained exactly what I wanted thanks to you!

    Sincerely,

    Merve.

    0

Post is closed for comments.