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

[GurobiPy] setting GRB.Param.Threads to 1 changes result

回答済み

コメント

3件のコメント

  • 正式なコメント
    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?.
  • Jaromił Najman
    Gurobi Staff Gurobi Staff

    Hi,

    I was able to reproduce the behavior for a specific Seed.

    The 528.8578 solution point has very good solution quality, which can be checked with the printQuality function. The bound and integer violations are 0 and the constraint violations are in the e-13 range.

    The 530.1279 solution point has worse solution quality. The integer violations are in the e-6 range and the constraint violation is worse than for the 528.8578 solution point. However, the 530.1279 solution point is optimal and feasible within the set tolerances FeasibilityTol and IntFeasTol.

    Gurobi tries to find feasible solutions with as high solution quality as possible but if it comes across a solution which is feasible within tolerances only, it accepts this solution. This behavior is not unusual and can be observed for all numerical algorithms which work with tolerances.

    You can tackle this behavior by tightening the tolerances FeasibilityTol and IntFeasTol.

    Best regards,
    Jaromił

    0
  • Permanently deleted user
    Gurobi-versary
    First Comment
    First Question

    Hi,

    Thank you for the great insight and explanation.
    I'll consider these options.

    Thank you and best regards.

    0

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