Skip to content

Conversation

@guimarqu
Copy link
Member

Summary

  • Fixed critical bug in 4 partitioning functions where scalar variables/constraints returned empty sets instead of sets containing empty tuple ()
  • Added comprehensive test coverage for scalar variable/constraint partitioning
  • Ensured consistency with registration functions expecting empty tuple as index

Test plan

  • All existing tests pass (362 total)
  • Added 4 new scalar-specific test functions with full coverage
  • Validated end-to-end integration between partitioning and registration
  • Verified correct Set{Tuple}([()] structure for scalar elements

The 4 partitioning functions incorrectly created empty sets
instead of sets containing the empty tuple () for scalar
variables and constraints. This broke integration with
registration functions expecting the empty tuple as index.

Changes:
- _master_variables(): Set{Tuple{}}(()) → Set{Tuple}([()])
- _partition_subproblem_variables(): Set{Tuple{}}(()) → Set{Tuple}([()])
- _master_constraints(): Set{Tuple{}}(()) → Set{Tuple}([()])
- _partition_subproblem_constraints(): Set{Tuple{}}(()) → Set{Tuple}([()])

Added comprehensive tests for scalar variable/constraint handling.
@guimarqu guimarqu merged commit c95a524 into main Aug 25, 2025
1 check passed
@guimarqu guimarqu deleted the fix/scalar-partitioning-empty-tuple branch August 25, 2025 21:11
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