-
Notifications
You must be signed in to change notification settings - Fork 533
Fix: mosek_direct updated to use putqconk instead of putqcon #3199
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
Conversation
This fix concerns QCQP models when solved using mosek. In MOSEK's Optimizer API, the putqcon method resets the Q matrix entries for all constraints to zero, while putqconk does so only for k-th constraint. The _add_constraints method in mosek_direct would call putqcon, but this would lead to loss of Q info with every subsequent call to the _add_constraints (if new Q info was given). This is now fixed, because the Q matrix in each constraint is updated in its own call to putqconk.
Could someone help me figure out how to get this merged? Maybe @jsiirola? Thank you. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3199 +/- ##
==========================================
- Coverage 88.40% 88.39% -0.01%
==========================================
Files 846 846
Lines 95156 95153 -3
==========================================
- Hits 84118 84107 -11
- Misses 11038 11046 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@Utkarsh-Detha - This looks fine to me. Our guidelines say that we need two approvals, and most of the Pyomo team is unfortunately on travel this week, so I think the earliest I can get someone else to look over it is Thursday. Apologies for the delay! |
This looks fine - One question: is there a significant performance difference between |
Good question/suggestion, @jsiirola! My expectation was that for large problems We are looking at as to why this is the case in Optimizer API. In the meantime, as far as mosek_direct is concerned, I think the incoming changes already implement the fastest way to do things! |
Fixes
This fix concerns QCQP models when solved using mosek. In MOSEK's Optimizer API, the putqcon method resets the Q matrix entries for all constraints to zero, while putqconk does so only for k-th constraint. The _add_constraints method in mosek_direct would call putqcon, but this would lead to loss of Q info with every subsequent call to the _add_constraints (if new Q info was given). This is now fixed, because the Q matrix in each constraint is updated in its own call to putqconk.
Legal Acknowledgement
By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution: