Skip to content

fix(data-placement): normalize peer recovery traffic constraints - #419

Open
030611 wants to merge 1 commit into
deepseek-ai:mainfrom
030611:fix/data-placement-peer-traffic-318
Open

fix(data-placement): normalize peer recovery traffic constraints#419
030611 wants to merge 1 commit into
deepseek-ai:mainfrom
030611:fix/data-placement-peer-traffic-318

Conversation

@030611

@030611 030611 commented Aug 10, 2026

Copy link
Copy Markdown

Fixes #318.

calc_peer_recovery_traffic currently returns the number of groups shared by a disk pair, while get_peer_traffic and check_solution use normalized recovery traffic:

shared_groups * recovery_traffic_factor / (group_size - 1)

This change uses the same unit in the Pyomo constraints. The EC expression is algebraically unchanged because its recovery factor is group_size - 1; CR now accounts for recovery traffic being split across the other group members.

The regression test uses the 2-(4,3,2) CR BIBD case. It is infeasible with the previous bound and feasible after normalization.

Tested with:

  • pytest test/test_model.py (18 passed)

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.

data_placement.py 中使用pyomo建模时的一个约束问题

1 participant