-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convention for primal/dual objective value? #2593
Comments
Tulip is the only solver that return a clearly "wrong" objective value. We'd need to look at the ray in Clarabel to see if it was wrong. The dual objective value can be anything, because no solver claims to have found a dual solution. HiGHS and Clarabel should probably return the dual objective of their dual infeasible point. But that's arguably undefined behavior. |
I'd say they should yet. The dual objective value is just the objective evaluated at the point. The fact that it's infeasible is irrelevant. The only gotcha is that if it's a ray then the constant in the objective shouldn't be taken into account. |
That's what I was looking for, thanks!
That is because the person who coded this thought that
Primal solution values:
|
This should change in the next release of HiGHS 😄 |
Closing because this is documented and tested at the MOI level. Tulip explicitly excludes the relevant tests: |
Thanks! I'll update Tulip to fix that |
This is more of a convention/documentation question than a bug.
I am little confused (as a user and as a solver developer) as to how primal/dual objective values should be interpreted when problems are infeasible / unbounded.
Question: if a primal/dual solution is a ray, is there a JuMP-level convention on the meaning of
objective_value
anddual_objective_value
?The table below presents the output of a few solvers for the (unbounded) problem$min_{x} { x }$ (see code below for reproducing this table). Note that this problem is primal unbounded / dual infeasible.
objective_value
dual_objective_value
The text was updated successfully, but these errors were encountered: