Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Document and Test Dual Sign Convention #3528

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

michaelbynum
Copy link
Contributor

Fixes #3519.

Summary/Motivation:

This PR adds documentation and tests for the dual sign convention adopted in the new solver interfaces.

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:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@bernalde
Copy link
Contributor

I believe this affects MindtPy and GDPOpt as in the implementation of outer-approximation algorithms; we are making assumptions on the directions or the multipliers
@ZedongPeng @emma58

@michaelbynum
Copy link
Contributor Author

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

@bernalde
Copy link
Contributor

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

Not that I know of, but it might be worth revisiting this

@emma58
Copy link
Contributor

emma58 commented Mar 21, 2025

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

Not that I know of, but it might be worth revisiting this

There's nothing to stop someone from using them as subsolvers--we have those as config arguments. And we aren't testing with them currently, so I think it is possible we could be running afoul of the dual sign convention? But of course, it was before too since we let anyone stick any solver in there...

@michaelbynum
Copy link
Contributor Author

For what it is worth, I did not have to change any code for this PR. I just added documentation and tests.

@michaelbynum
Copy link
Contributor Author

I still need to address maximization problems as mentioned in #3519. I'll convert this to a draft for now.

@michaelbynum michaelbynum marked this pull request as draft March 24, 2025 14:01
Copy link
Contributor

@Robbybp Robbybp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you document the following:

  • What happens for maximization problems?
  • How does this formulation map onto "range inequalities"? (I believe the dual's sign implies one side and the other side is implicitly zero.)

@michaelbynum
Copy link
Contributor Author

Great suggestions. Will do.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PEP: Dual Sign Convention
5 participants