-
Notifications
You must be signed in to change notification settings - Fork 41
Nonant bounds buffer #500
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
Nonant bounds buffer #500
Conversation
c168b7a
to
0e680a9
Compare
This reverts commit 0e680a9.
4e970cd
to
912195c
Compare
This reverts commit 10496da.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR’s purpose is to propagate updated nonanticipative variable bounds ("nonant bounds") to all cylinders where available. Key changes include:
- Addition of a new utility (prox_cut_max.py) to compute prox cut statistics.
- Removal and refactoring of reduced cost options and flags to simplify reduced costs fixer behavior.
- Integration of nonant bounds updates in several cylinder modules (spcommunicator, reduced_costs_spoke, hub, and fwph_spoke) and corresponding configuration updates.
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
mpisppy/utils/prox_cut_max.py | Adds new prox cuts statistics logic with potential division issue |
mpisppy/utils/config.py | Removes the 'rc_bound_tightening' option from config |
mpisppy/utils/cfg_vanilla.py | Updates reduced costs fixer configuration options |
mpisppy/extensions/reduced_costs_fixer.py | Refactors reduced costs fixer logic and logging messages |
mpisppy/cylinders/spcommunicator.py | Incorporates new nonant bound fields and receiving methods |
mpisppy/cylinders/reduced_costs_spoke.py | Adds nonant bound fields to send_fields and updates bounding functions |
mpisppy/cylinders/hub.py | Removes deprecated inner/outer bound update methods and calls nonant bounds |
mpisppy/cylinders/fwph_spoke.py | Invokes nonant bounds update in the fwph spoke |
Comments suppressed due to low confidence (1)
mpisppy/utils/config.py:607
- Confirm that the removal of the 'rc_bound_tightening' configuration option is intentional and that any dependent code has been suitably updated.
self.add_to_config('rc_bound_tightening', description="use reduced cost bound tightening", domain=bool, default=True)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR enhances the handling of nonanticipative variable bounds by propagating updated lower and upper bounds to all cylinders. Key changes include:
- Removal of unused reduced cost bound tightening configuration and logic.
- Addition of new buffer fields for nonant lower/upper bounds in spwindow and corresponding communication updates in spcommunicator.
- Updates to the reduced costs spoke and lagrangian bounder to integrate the updated nonant bounds.
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
mpisppy/utils/config.py | Removed configuration parameter for reduced cost bound tightening. |
mpisppy/utils/cfg_vanilla.py | Removed use of legacy rc fixer and bound tightening options from the options. |
mpisppy/extensions/reduced_costs_fixer.py | Removed unused rc fixer/rc bound tightening logic; updated reduced_costs_fixing. |
mpisppy/cylinders/spwindow.py | Added new fields NONANT_LOWER_BOUNDS and NONANT_UPPER_BOUNDS to the window layout. |
mpisppy/cylinders/spcommunicator.py | Added receive_nonant_bounds implementation for nonant bounds updates. |
mpisppy/cylinders/reduced_costs_spoke.py | Updated send fields and introduced new functions for bound field initialization and updates. |
mpisppy/cylinders/lagrangian_bounder.py | Invokes receive_nonant_bounds to update nonant bounds for improved relaxations. |
mpisppy/cylinders/hub.py | Removed duplicate inner/outer bounds update logic in favor of nonant bounds syncing. |
mpisppy/cylinders/fwph_spoke.py | Calls receive_nonant_bounds to integrate the updated bounds. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR passes updated nonanticipative variable bounds to all cylinders by introducing new nonant lower/upper bounds fields and associated update methods while removing legacy configurations for reduced cost bound tightening.
- Removed configuration options and references to "rc_bound_tightening".
- Added new MPI window fields for NONANT_LOWER_BOUNDS and NONANT_UPPER_BOUNDS and their processing methods in spcommunicator.
- Updated reduced costs spoke and hub modules to incorporate and propagate the new nonant bound updates.
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
mpisppy/utils/config.py | Removed rc_bound_tightening option from configuration. |
mpisppy/utils/cfg_vanilla.py | Removed usage of rc_bound_tightening in option assignments. |
mpisppy/extensions/reduced_costs_fixer.py | Removed conditions and warnings related to rc_bound tightening. |
mpisppy/cylinders/spwindow.py | Added NONANT_LOWER_BOUNDS and NONANT_UPPER_BOUNDS to the MPI window. |
mpisppy/cylinders/spcommunicator.py | Added functions to receive and update nonant bounds. |
mpisppy/cylinders/reduced_costs_spoke.py | Extended send_fields and updated methods to compute and send nonant bounds. |
mpisppy/cylinders/lagrangian_bounder.py | Updated to call receive_nonant_bounds for tighter relaxations. |
mpisppy/cylinders/hub.py | Removed redundant bound update functions and integrated nonant bounds sync. |
mpisppy/cylinders/fwph_spoke.py | Added nonant bound update call before finalizing the spoke. |
Co-authored-by: Copilot <[email protected]>
Passes updated bounds on nonants to all cylinders, if available.
WIP; needs #496.