Co-Study4Grid / docs /features /libtopo-port-limits.md
github-actions[bot]
Deploy f7b8bf6
1c730d1
|
Raw
History Blame Contribute Delete
3.17 kB

Portage libTOPO (expert_op4grid_recommender.manoeuvre) — limites relevées

Date : 2026-07-26. Banc systématique sur les 1383 VL THT du snapshot RTE7000 nommé (grid_5384e039) : construction du graphe, détection des cellules, puis un test de scission en 2 nœuds (determiner_topo_complete_cible, premier départ isolé des autres). Objectif : relever les limitations du portage nodale→détaillée pour son amélioration. Script : session Rosetta (libtopo_survey.py).

Classification

Verdict VL Lecture
OK 274 scission réalisée et vérifiée
OK malgré troncature >2 SJB 162 l'avertissement n'empêche pas toujours
Échec, avec troncature 107 limitation n°1
Échec, sans troncature 110 limitation n°2
Mono-barre : scission infaisable 728 attendu (pas un défaut) — codes numérotés à 1 SJB
< 2 départs 2 hors banc

Sur les 653 postes ≥ 2 barres, le portage vérifie 436 (67 %).

Limitation n°1 — troncature des composantes de couplage > 2 SJB

cellules.py émet « Composante de couplage avec N SJB (poste ≥ 3 barres ?) : seulement les 2 premières SJB seront enregistrées dans la cellule » sur 362 VL (26 %) — composantes à 3, 4, jusqu'à 6 SJB (couplages en anneau, barres de transfert, disjoncteurs de couplage communs). Quand les SJB perdues sont nécessaires à la manœuvre, la séquence laisse un départ orphelin : symptôme uniforme « obtenu N+1 nœuds, visé N » (CPNIE 4 SJB, CERGY 6, MEZE5, P.GAS, REALT, GEN.P…). 107 échecs directement imputables. Amélioration : enregistrer la composante de couplage complète (liste de SJB, pas une paire) et étendre le séquenceur aux ré-aiguillages via ces couplages multi-barres.

Limitation n°2 — départs non ré-aiguillables → nœuds orphelins

110 postes à 2 barres SANS troncature échouent avec le même symptôme (DAMBR, EGUZO, LESQU, SAUS5, H.PAU, CRENE, SSELO, ANSER, ANTIB… ; DOMLO : « obtenu 6, visé 2 »). Hypothèse à instrumenter dans le portage : cellules mono-aiguillage (un seul SA vers une seule barre, piquages, shared_equipment) que le séquenceur ne peut pas déplacer ; le rejeu s'arrête avec le départ resté sur son tronçon. Amélioration : diagnostiquer chaque départ non déplaçable dans ResultatManoeuvres.ecarts (aujourd'hui le message global ne dit pas QUEL départ est orphelin), et traiter les cellules mono-SA (déplacement du tronçon entier ou refus explicite par départ).

Contournements adoptés côté rebuild Matpower (rte_topology.py)

  • cible : les départs réels non appariés FUSIONNENT dans le plus gros nœud cible (ne pas exiger un nœud de plus que nécessaire) ;
  • si is_verified reste faux : direct-assign (chaque nœud MATPOWER sur sa barre réelle, frontières ouvertes) — structure réelle conservée, état détaillé non issu du séquenceur ;
  • les VL «étoiles» de modélisation MATPOWER (bus milieux de 3WT éclatés, tronçons composites — VL-59xx/62xx) ne sont PAS des postes physiques : layout générique par nœud, correct par nature.