## M1 Mirror Campaign Summary - V11-V15 optimization campaign completed (~1,400 FEA evaluations) - Best design: V14 Trial #725 with Weighted Sum = 121.72 - V15 NSGA-II confirmed V14 TPE found optimal solution - Campaign improved from WS=129.33 (V11) to WS=121.72 (V14): -5.9% ## Key Results - 40° tracking: 5.99 nm (target 4.0 nm) - 60° tracking: 13.10 nm (target 10.0 nm) - Manufacturing: 26.28 nm (target 20.0 nm) - Targets not achievable within current design space ## Documentation Added - V15 STUDY_REPORT.md: Detailed NSGA-II results analysis - M1_MIRROR_CAMPAIGN_SUMMARY.md: Full V11-V15 campaign overview - Updated CLAUDE.md, ATOMIZER_CONTEXT.md with NXSolver patterns - Updated 01_CHEATSHEET.md with --resume guidance - Updated OP_01_CREATE_STUDY.md with FEARunner template ## Studies Added - m1_mirror_adaptive_V13: TPE validation (291 trials) - m1_mirror_adaptive_V14: TPE intensive (785 trials, BEST) - m1_mirror_adaptive_V15: NSGA-II exploration (126 new FEA) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
M1 Mirror Adaptive V15 - NSGA-II Multi-Objective Optimization Report
Study: m1_mirror_adaptive_V15 Algorithm: NSGA-II (Multi-Objective Genetic Algorithm) Status: Completed Created: 2025-12-12 Completed: 2025-12-15
Executive Summary
V15 applied NSGA-II multi-objective optimization to explore the Pareto front of design trade-offs, seeded with 494 valid trials from V14. The campaign completed 126 new FEA evaluations but did not find improvements over the V14-optimized designs.
| Metric | Value |
|---|---|
| Total Trials in DB | 644 |
| Seeded from V14 | 494 |
| New V15 FEA Trials | 126 |
| Failed Trials | 24 |
| Pareto Front Size | 2 |
| Best Weighted Sum | 121.72 (from V14 seed) |
| Best V15 FEA Weighted Sum | 127.35 |
Key Finding: NSGA-II exploration confirmed that V14 TPE optimization had already converged to the optimal region. No V15 FEA trial improved upon the seeded V14 data.
1. Optimization Configuration
1.1 Algorithm Settings
| Parameter | Value |
|---|---|
| Algorithm | NSGA-II |
| Population Size | 50 |
| Crossover Probability | 0.9 |
| Mutation | Adaptive |
| Seed | 42 |
1.2 Design Variables (11 total)
| Variable | Min | Max | Baseline | Best Value | Units |
|---|---|---|---|---|---|
lateral_inner_angle |
25.0 | 30.0 | 26.79 | 27.88 | deg |
lateral_outer_angle |
11.0 | 17.0 | 14.64 | 13.19 | deg |
lateral_outer_pivot |
9.0 | 12.0 | 10.40 | 11.53 | mm |
lateral_inner_pivot |
5.0 | 12.0 | 10.07 | 7.41 | mm |
lateral_middle_pivot |
15.0 | 27.0 | 20.73 | 22.95 | mm |
lateral_closeness |
9.5 | 12.5 | 11.02 | 9.93 | mm |
whiffle_min |
30.0 | 72.0 | 40.55 | 58.90 | mm |
whiffle_outer_to_vertical |
60.0 | 80.0 | 75.67 | 77.84 | deg |
whiffle_triangle_closeness |
50.0 | 80.0 | 60.00 | 66.88 | mm |
blank_backface_angle |
4.1 | 4.5 | 4.15 | 4.30 | deg |
inner_circular_rib_dia |
480.0 | 620.0 | 534.00 | 505.89 | mm |
1.3 Objectives
| Objective | Description | Target | Direction | Weight |
|---|---|---|---|---|
rel_filtered_rms_40_vs_20 |
40° tracking error vs 20° ref | 4.0 nm | minimize | 5 |
rel_filtered_rms_60_vs_20 |
60° tracking error vs 20° ref | 10.0 nm | minimize | 5 |
mfg_90_optician_workload |
Manufacturing deformation (J1-J3 filtered) | 20.0 nm | minimize | 1 |
Weighted Sum Formula: 5 × obj_40 + 5 × obj_60 + 1 × obj_mfg
2. Results Analysis
2.1 Best Design (Global - from V14 Seed)
Trial #445 (originally V14 Trial #725)
| Objective | Value | Target | Status |
|---|---|---|---|
| 40° vs 20° tracking | 5.99 nm | 4.0 nm | ❌ Above target |
| 60° vs 20° tracking | 13.10 nm | 10.0 nm | ❌ Above target |
| Manufacturing (90°) | 26.28 nm | 20.0 nm | ❌ Above target |
| Weighted Sum | 121.72 | - | Best achieved |
2.2 Best V15 FEA Design
Trial #631 (New V15 FEA evaluation)
| Objective | Value | vs Best | Delta |
|---|---|---|---|
| 40° vs 20° tracking | 5.92 nm | 5.99 nm | -1.2% ✓ |
| 60° vs 20° tracking | 13.78 nm | 13.10 nm | +5.2% ✗ |
| Manufacturing (90°) | 28.83 nm | 26.28 nm | +9.7% ✗ |
| Weighted Sum | 127.35 | 121.72 | +4.6% ✗ |
2.3 Top 10 Designs Overall
| Rank | Trial | Source | 40°/20° (nm) | 60°/20° (nm) | Mfg (nm) | WS |
|---|---|---|---|---|---|---|
| 1 | #445 | V14_FEA_725 | 5.99 | 13.10 | 26.28 | 121.72 |
| 2 | #444 | V14_FEA_724 | 6.05 | 13.17 | 26.42 | 122.54 |
| 3 | #274 | V14_FEA_550 | 5.76 | 13.27 | 27.53 | 122.69 |
| 4 | #440 | V14_FEA_720 | 6.09 | 13.34 | 26.96 | 124.12 |
| 5 | #438 | V14_FEA_716 | 6.08 | 13.37 | 27.17 | 124.42 |
| 6 | #271 | V14_FEA_547 | 5.81 | 13.43 | 28.36 | 124.57 |
| 7 | #290 | V14_FEA_566 | 5.85 | 13.48 | 28.03 | 124.66 |
| 8 | #275 | V14_FEA_551 | 5.83 | 13.50 | 28.06 | 124.67 |
| 9 | #487 | V14_FEA_778 | 6.24 | 13.41 | 26.55 | 124.77 |
| 10 | #364 | V14_FEA_642 | 5.89 | 13.50 | 27.95 | 124.91 |
Observation: All top 10 designs are from V14 seeded data. No V15 FEA trial made it into the top 10.
2.4 Top 5 V15 FEA Trials
| Rank | Trial | 40°/20° (nm) | 60°/20° (nm) | Mfg (nm) | WS |
|---|---|---|---|---|---|
| 1 | #631 | 5.92 | 13.78 | 28.83 | 127.35 |
| 2 | #540 | 6.60 | 14.08 | 27.82 | 131.21 |
| 3 | #621 | 6.01 | 14.10 | 31.08 | 131.63 |
| 4 | #570 | 6.07 | 14.31 | 31.35 | 133.28 |
| 5 | #624 | 5.98 | 14.47 | 32.22 | 134.45 |
2.5 Pareto Front Analysis
The true Pareto front (non-dominated solutions) contains only 2 designs:
| Trial | Source | 40°/20° (nm) | 60°/20° (nm) | Mfg (nm) | WS |
|---|---|---|---|---|---|
| #445 | V14_FEA_725 | 5.99 | 13.10 | 26.28 | 121.72 |
| #274 | V14_FEA_550 | 5.76 | 13.27 | 27.53 | 122.69 |
Interpretation: The small Pareto front indicates the objectives are not strongly conflicting in the optimal region. Trial #274 trades slightly worse 60° performance and manufacturing for better 40° performance.
3. Source Distribution
| Source | Count | Percentage |
|---|---|---|
| V14 Seeded | 494 | 76.7% |
| V15 FEA (new) | 126 | 19.6% |
| V15 FEA (failed) | 24 | 3.7% |
| Total | 644 | 100% |
4. Why NSGA-II Did Not Improve
-
V14 TPE Was Highly Effective: The 785 TPE trials in V14 (including V11-V13 seeds) already explored the design space extensively and found a strong local/global optimum.
-
Converged Design Space: The best designs cluster tightly in parameter space, indicating convergence to an optimal region.
-
NSGA-II Exploration vs Exploitation: NSGA-II prioritizes Pareto front diversity over single-objective convergence. It sampled widely but the promising regions were already well-explored.
-
Small Pareto Front: With only 2 truly non-dominated solutions, there's limited trade-off space to explore.
5. Comparison with Prior Versions
| Version | Algorithm | FEA Trials | Best WS | Best 40° | Best 60° | Best Mfg |
|---|---|---|---|---|---|---|
| V11 | GNN + TuRBO | 107 | 129.33 | 6.34 | 13.81 | 28.54 |
| V12 | GNN + TuRBO | 5131* | 129.33 | 6.34 | 13.81 | 28.54 |
| V13 | TPE | 291 | 129.33 | 6.34 | 13.81 | 28.54 |
| V14 | TPE (adaptive) | 785 | 121.72 | 5.99 | 13.10 | 26.28 |
| V15 | NSGA-II | 126 | 121.72** | 5.99** | 13.10** | 26.28** |
* V12 includes 5000+ surrogate predictions ** Best from seeded V14 data, not new V15 FEA
Campaign Improvement: From V11 baseline to V14/V15 best:
- 40° tracking: 6.34 → 5.99 nm (-5.5%)
- 60° tracking: 13.81 → 13.10 nm (-5.1%)
- Manufacturing: 28.54 → 26.28 nm (-7.9%)
- Weighted Sum: 129.33 → 121.72 (-5.9%)
6. Best Design Summary
6.1 Recommended Configuration
The best design found across the entire M1 mirror optimization campaign (V11-V15):
Trial: V14 #725 (V15 #445)
Source: FEA Validated
Design Variables:
lateral_inner_angle: 27.8846°
lateral_outer_angle: 13.1862°
lateral_outer_pivot: 11.5290 mm
lateral_inner_pivot: 7.4063 mm
lateral_middle_pivot: 22.9518 mm
lateral_closeness: 9.9300 mm
whiffle_min: 58.8986 mm
whiffle_outer_to_vertical: 77.8388°
whiffle_triangle_closeness: 66.8829 mm
blank_backface_angle: 4.3030°
inner_circular_rib_dia: 505.8876 mm
Performance:
40° vs 20° tracking: 5.99 nm (target: 4.0 nm)
60° vs 20° tracking: 13.10 nm (target: 10.0 nm)
Manufacturing (90°): 26.28 nm (target: 20.0 nm)
Weighted Sum: 121.72
6.2 Target Achievement Status
| Objective | Target | Achieved | Gap | Status |
|---|---|---|---|---|
| 40° tracking | 4.0 nm | 5.99 nm | +50% | ❌ Not met |
| 60° tracking | 10.0 nm | 13.10 nm | +31% | ❌ Not met |
| Manufacturing | 20.0 nm | 26.28 nm | +31% | ❌ Not met |
Conclusion: Current design space constraints cannot achieve the specified targets. Consider:
- Expanding design variable bounds
- Adding new design variables
- Relaxing targets based on physical limitations
- Design modifications (geometry changes, materials)
7. Conclusions and Recommendations
7.1 Key Conclusions
-
Optimization Converged: The M1 mirror optimization campaign has effectively converged after ~1,400 total FEA evaluations across V11-V15.
-
V14 TPE Found Optimal: The V14 TPE optimization found the best design; V15 NSGA-II exploration confirmed this optimum.
-
Limited Trade-offs: The small Pareto front (2 solutions) indicates the three objectives are not strongly conflicting in the optimal region.
-
Targets Not Achievable: Current design space cannot achieve the specified targets. The best achievable performance is ~50% above targets.
7.2 Recommendations
-
Accept Current Best: Trial #725 (V14) / #445 (V15) represents the optimal design within current constraints.
-
Archive for Production: Run
python tools/archive_best_design.py m1_mirror_adaptive_V15to archive the best design. -
Future Work Options:
- Expand design space (new variables, wider bounds)
- Alternative support structures
- Material optimization
- Active correction systems
-
No Further Optimization Needed: Additional trials are unlikely to find significant improvements without design space changes.
Appendix A: File Locations
studies/m1_mirror_adaptive_V15/
├── 1_setup/
│ ├── optimization_config.json # Study configuration
│ └── model/ # NX model files
├── 2_iterations/
│ └── iter*/ # FEA iteration folders
├── 3_results/
│ ├── study.db # Optuna database
│ ├── pareto_front.json # Pareto front data
│ └── optimization.log # Execution log
├── run_optimization.py # Main optimization script
└── STUDY_REPORT.md # This report
Appendix B: Zernike Analysis
Subcase Configuration
| Subcase | Angle | Description |
|---|---|---|
| 1 | 90° | Manufacturing/polishing position |
| 2 | 20° | Reference position (minimum gravity) |
| 3 | 40° | Operational tracking position |
| 4 | 60° | Operational tracking position |
Filtering Strategy
- Tracking (40°, 60° vs 20°): Filter Zernike modes J0-J3 (piston, tip/tilt, focus)
- Manufacturing (90° vs 20°): Filter only J1-J3 (tip/tilt, focus)
- Number of Zernike modes: 50
Report generated by Atomizer. Last updated: 2025-12-15