feat: Add Protocol 13 adaptive optimization, Plotly charts, and dashboard improvements
## Protocol 13: Adaptive Multi-Objective Optimization - Iterative FEA + Neural Network surrogate workflow - Initial FEA sampling, NN training, NN-accelerated search - FEA validation of top NN predictions, retraining loop - adaptive_state.json tracks iteration history and best values - M1 mirror study (V11) with 103 FEA, 3000 NN trials ## Dashboard Visualization Enhancements - Added Plotly.js interactive charts (parallel coords, Pareto, convergence) - Lazy loading with React.lazy() for performance - Code splitting: plotly.js-basic-dist (~1MB vs 3.5MB) - Chart library toggle (Recharts default, Plotly on-demand) - ExpandableChart component for full-screen modal views - ConsoleOutput component for real-time log viewing ## Documentation - Protocol 13 detailed documentation - Dashboard visualization guide - Plotly components README - Updated run-optimization skill with Mode 5 (adaptive) ## Bug Fixes - Fixed TypeScript errors in dashboard components - Fixed Card component to accept ReactNode title - Removed unused imports across components 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
54
studies/m1_mirror_adaptive_V11/3_results/adaptive_state.json
Normal file
54
studies/m1_mirror_adaptive_V11/3_results/adaptive_state.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"iteration": 3,
|
||||
"total_fea_count": 103,
|
||||
"total_nn_count": 3000,
|
||||
"best_40_vs_20": 5.987584898942661,
|
||||
"best_60_vs_20": 14.017083006096021,
|
||||
"best_mfg": 30.409458049632082,
|
||||
"best_weighted": 1.4557723208370854,
|
||||
"best_params": {
|
||||
"lateral_inner_angle": 27.09054171201854,
|
||||
"lateral_outer_angle": 13.31074236287185,
|
||||
"lateral_outer_pivot": 11.19807770786628,
|
||||
"lateral_inner_pivot": 10.608668128037127,
|
||||
"lateral_middle_pivot": 18.001401687138543,
|
||||
"lateral_closeness": 10.844083045819298,
|
||||
"whiffle_min": 44.085872072689895,
|
||||
"whiffle_outer_to_vertical": 76.66759779190761,
|
||||
"whiffle_triangle_closeness": 54.08764401832863,
|
||||
"blank_backface_angle": 3.5924959120488027,
|
||||
"inner_circular_rib_dia": 617.0928925287086
|
||||
},
|
||||
"history": [
|
||||
{
|
||||
"iteration": 1,
|
||||
"fea_count": 95,
|
||||
"nn_count": 1000,
|
||||
"best_40_vs_20": 6.100722768997251,
|
||||
"best_60_vs_20": 14.02163456614584,
|
||||
"best_mfg": 29.81839947233277,
|
||||
"best_weighted": 1.466149156176011,
|
||||
"improved": false
|
||||
},
|
||||
{
|
||||
"iteration": 2,
|
||||
"fea_count": 99,
|
||||
"nn_count": 2000,
|
||||
"best_40_vs_20": 6.100722768997251,
|
||||
"best_60_vs_20": 14.02163456614584,
|
||||
"best_mfg": 29.81839947233277,
|
||||
"best_weighted": 1.466149156176011,
|
||||
"improved": false
|
||||
},
|
||||
{
|
||||
"iteration": 3,
|
||||
"fea_count": 103,
|
||||
"nn_count": 3000,
|
||||
"best_40_vs_20": 5.987584898942661,
|
||||
"best_60_vs_20": 14.017083006096021,
|
||||
"best_mfg": 30.409458049632082,
|
||||
"best_weighted": 1.4557723208370854,
|
||||
"improved": false
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
studies/m1_mirror_adaptive_V11/3_results/study.db
Normal file
BIN
studies/m1_mirror_adaptive_V11/3_results/study.db
Normal file
Binary file not shown.
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_initial.pt
Normal file
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_initial.pt
Normal file
Binary file not shown.
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter1.pt
Normal file
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter1.pt
Normal file
Binary file not shown.
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter2.pt
Normal file
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter2.pt
Normal file
Binary file not shown.
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter3.pt
Normal file
BIN
studies/m1_mirror_adaptive_V11/3_results/surrogate_iter3.pt
Normal file
Binary file not shown.
Reference in New Issue
Block a user