Skip to content

Conversation

@bknueven
Copy link
Collaborator

No description provided.

@bknueven bknueven marked this pull request as ready for review June 27, 2025 02:57
@bknueven bknueven requested review from DLWoodruff and Copilot June 27, 2025 02:57
Copy link
Contributor

Copilot AI left a 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 renames the “PH nonant” feature to “Primal PH,” adds a new Dual PH spoke/configuration, and updates all related code paths, documentation, and examples to support both Primal and Dual PH.

  • Renamed ph_nonant to primal_ph in config, hubs, and cylinder dispatch.
  • Introduced dual_ph_args and a DualPHSpoke implementation with unified rho handling.
  • Updated docs (spokes.rst, hubs.rst) and examples to demonstrate Primal and Dual PH usage.

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 Renamed ph_nonant_argsprimal_ph_args, added dual_ph_args.
mpisppy/utils/cfg_vanilla.py Updated imports and hub/spoke factory functions for Primal & Dual PH.
mpisppy/generic_cylinders.py Hooked in new primal_ph_* and dual_ph logic in decomposition.
mpisppy/cylinders/relaxed_ph_spoke.py Refactored to extend shared _DualPHSpokeBase logic.
mpisppy/cylinders/hub.py Renamed PHNonantHubPrimalPHHub and adjusted PHHub base.
mpisppy/cylinders/dual_ph_spoke.py Added new Dual PH spoke classes (_DualPHSpokeBase, DualPHSpoke).
examples/run_all.py Added example MPI calls for Primal and Dual PH spokes.
doc/src/spokes.rst Documented “Relaxed PH” and new “Dual PH” options.
doc/src/hubs.rst Updated hub docs to reference “Primal PH” instead of “PHNonant.”
Comments suppressed due to low confidence (2)

mpisppy/utils/config.py:766

  • [nitpick] Consider updating this description to an imperative and consistent style, e.g., 'Enable Dual PH spoke'.
                            description="have a dual PH spoke",

mpisppy/utils/config.py:763

  • There are no tests covering the new dual_ph_args configuration or the Dual PH spoke; consider adding unit or integration tests for this feature.
    def dual_ph_args(self):

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Collaborator

@DLWoodruff DLWoodruff left a comment

Choose a reason for hiding this comment

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

I like everything about this PR, except the names "DualPH" and "PrimalPH". I prefer "PHDual" and "PHPrimal" for reasons related to the existence of "Dual Simplex" that I can describe during the zoom meeting, if necessary.

@bknueven bknueven changed the title DualPHSpoke PHDualSpoke Jun 27, 2025
@bknueven bknueven enabled auto-merge June 27, 2025 18:40
@bknueven bknueven merged commit a1d4314 into Pyomo:main Jun 27, 2025
19 checks passed
@bknueven bknueven deleted the dual_ph branch June 27, 2025 20:04
bknueven added a commit that referenced this pull request Dec 3, 2025
This reverts commit a1d4314, reversing
changes made to 578c3a2.
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.

2 participants