Source-tree mirror of EVOLV.wiki.git refactor (27a42ee on wiki.git): - 7 master pages rewritten with clean design (Home, Architecture, Topology-Patterns, Topic-Conventions, Telemetry, Getting-Started, Glossary). Tables and Mermaid for visuals, gitea alert callouts for warnings, shields badges for metadata only. No emoji as decoration. - Archive.md becomes a removal-changelog pointing readers to git history and to the successor pages. - _Sidebar.md updated to navigate the new flat-name layout. - Concept / finding / manual pages: uniform mini-header (badges + "reference page" callout) added without rewriting domain content. - Every internal link now uses the flat naming that resolves on the live gitea wiki (Concept-ASM-Models, Finding-BEP-..., etc.). On wiki.git: 29 Archive-* pages hard-deleted (the git history preserves them; Archive.md documents the removal). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
---
|
|
title: BEP-Gravitation Optimality Proof
|
|
created: 2026-04-07
|
|
updated: 2026-04-07
|
|
status: proven
|
|
tags: [machineGroupControl, optimization, BEP, brute-force]
|
|
sources: [nodes/machineGroupControl/test/integration/distribution-power-table.integration.test.js]
|
|
---
|
|
|
|
 
|
|
|
|
> [!NOTE]
|
|
> Reference page. Maintained for context; not regenerated by code. See [Home](Home) for current top-level navigation.
|
|
|
|
# BEP-Gravitation vs Brute-Force Global Optimum
|
|
|
|
## Claim
|
|
The machineGroupControl BEP-Gravitation algorithm (with marginal-cost refinement) produces near-optimal flow distribution across a pump group.
|
|
|
|
## Method
|
|
Brute-force exhaustive search: 1000 steps per pump, all 2^n combinations, 0.05% flow tolerance. Station: 2x H05K-S03R + 1x C5-D03R-SHN1 @ ΔP=2000 mbar.
|
|
|
|
## Results
|
|
|
|
| Demand | Brute force | machineGroupControl | Gap |
|
|
|--------|------------|--------------------|----|
|
|
| 10% (71 m3/h) | 17.65 kW | 17.63 kW | -0.10% (MGC wins) |
|
|
| 25% (136 m3/h) | 34.33 kW | 34.33 kW | +0.01% |
|
|
| 50% (243 m3/h) | 61.62 kW | 61.62 kW | -0.00% |
|
|
| 75% (351 m3/h) | 96.01 kW | 96.10 kW | +0.08% |
|
|
| 90% (415 m3/h) | 122.17 kW | 122.26 kW | +0.07% |
|
|
|
|
Maximum deviation: **0.1%** from proven global optimum.
|
|
|
|
## Why the Refinement Matters
|
|
|
|
Before the marginal-cost refinement loop, the gap at 50% demand was **2.12%**. The BEP-Gravitation slope estimate pushed 14.6 m3/h to C5 (costing 5.0 kW) when the optimum was 6.5 m3/h (0.59 kW). The refinement loop corrects this by shifting flow from highest actual dP/dQ to lowest until no improvement is possible.
|
|
|
|
## Stability
|
|
Sweep 5-95% in 2% steps: 1 switch (rising), 1 switch (falling), same transition point. No hysteresis. See [[Pump Switching Stability]].
|
|
|
|
## Computational Cost
|
|
0.027-0.153ms median per optimization call (3 pumps, 6 combinations). Uses 0.015% of the 1000ms tick budget.
|