Skip to content

Conversation

@emma58
Copy link
Contributor

@emma58 emma58 commented Nov 23, 2022

Fixes # .

Summary/Motivation:

Though multiple-bigm is at least as tight as traditional bigm, it's not always computationally advantageous. In particular, there are cases where using multiple bigm only on the bound constraints (constraints of the form l <= x <= u) and traditional bigm elsewhere in the model is the fastest to solve. This adds an option to the gdp.mbigm transformation to do this.

Changes proposed in this PR:

  • A little big of rearranging in the bigm transformation to make the part of the code that builds the constraint expressions modular
  • Adds only_mbigm_bound_constraints option to mbigm transformation. (Note that this requires reduce_bound_constraints to be True as well (which it is by default))

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.

@emma58 emma58 requested a review from jsiirola November 23, 2022 20:19
@blnicho blnicho merged commit 1bd9e6f into Pyomo:main Nov 29, 2022
@emma58 emma58 deleted the only-mbm-bound-constraints branch February 15, 2024 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants