Contexte
Les étudiants ont réalisé un excellent travail dans la PR #116 pour comparer les méthodes de discrétisation midpoint vs trapeze avec les solveurs Ipopt et MadNLP sur ExaModels. Cependant, leur travail est basé sur l'ancienne architecture de documentation qui a depuis été refactorisée.
Cette issue vise à migrer leur travail vers la branche main en utilisant la nouvelle architecture basée sur le système de registre.
Objectif
Intégrer le benchmark core-midpoint-trapeze dans la documentation en :
- Préservant tous les résultats de benchmark des étudiants
- Adaptant le code à la nouvelle architecture (registre de profils, nouvelle syntaxe de templates)
- Maintenant la cohérence avec les autres benchmarks existants
Travail des étudiants à migrer
Depuis la branche 115-general-add-run-bench-core-midpoint-4-combos-exa :
✅ À copier tel quel (61 fichiers) :
- Script de benchmark :
benchmarks/core-midpoint-trapeze.jl
- Résultats complets :
docs/src/assets/benchmarks/core-midpoint-trapeze/ (60 fichiers : JSON, TOML, 28 SVG, 28 PDF)
⚙️ À réécrire avec nouvelle architecture :
- Ajout dans benchmarks/benchmarks-config.json
- Nouveau profil dans docs/src/docutils/Handlers/DefaultProfiles.jl
- Template
docs/src/core/midpoint-trapeze.md.template (nouvelle syntaxe)
- Entrées dans docs/make.jl (processing + menu)
Plan d'implémentation
Phase 1 : Migration des fichiers
Phase 2 : Intégration documentation
Phase 3 : Vérification
Phase 4 : Finalisation
Détails techniques
Profil de performance : Utilise [:disc_method, :solver] au lieu de [:model, :solver] pour comparer les 4 combinaisons :
(trapeze, ipopt)
(trapeze, madnlp)
(midpoint, ipopt)
(midpoint, madnlp)
Problèmes testés : 14 problèmes de contrôle optimal (beam, chain, double_oscillator, ducted_fan, electric_vehicle, glider, insurance, jackson, robbins, robot, rocket, space_shuttle, steering, vanderpol)
Configuration : Grid size 200, tolérance 1e-8, ExaModels uniquement
Références
Contexte
Les étudiants ont réalisé un excellent travail dans la PR #116 pour comparer les méthodes de discrétisation midpoint vs trapeze avec les solveurs Ipopt et MadNLP sur ExaModels. Cependant, leur travail est basé sur l'ancienne architecture de documentation qui a depuis été refactorisée.
Cette issue vise à migrer leur travail vers la branche
mainen utilisant la nouvelle architecture basée sur le système de registre.Objectif
Intégrer le benchmark
core-midpoint-trapezedans la documentation en :Travail des étudiants à migrer
Depuis la branche
115-general-add-run-bench-core-midpoint-4-combos-exa:✅ À copier tel quel (61 fichiers) :
benchmarks/core-midpoint-trapeze.jldocs/src/assets/benchmarks/core-midpoint-trapeze/(60 fichiers : JSON, TOML, 28 SVG, 28 PDF)⚙️ À réécrire avec nouvelle architecture :
docs/src/core/midpoint-trapeze.md.template(nouvelle syntaxe)Plan d'implémentation
Phase 1 : Migration des fichiers
feature/core-midpoint-trapezedepuismainPhase 2 : Intégration documentation
midpoint_trapeze_cpudans DefaultProfiles.jlPhase 3 : Vérification
Phase 4 : Finalisation
Détails techniques
Profil de performance : Utilise
[:disc_method, :solver]au lieu de[:model, :solver]pour comparer les 4 combinaisons :(trapeze, ipopt)(trapeze, madnlp)(midpoint, ipopt)(midpoint, madnlp)Problèmes testés : 14 problèmes de contrôle optimal (beam, chain, double_oscillator, ducted_fan, electric_vehicle, glider, insurance, jackson, robbins, robot, rocket, space_shuttle, steering, vanderpol)
Configuration : Grid size 200, tolérance 1e-8, ExaModels uniquement
Références