Files
Atomizer/studies/m1_mirror_adaptive_V15/STUDY_REPORT.md

290 lines
11 KiB
Markdown
Raw Normal View History

# 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
1. **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.
2. **Converged Design Space**: The best designs cluster tightly in parameter space, indicating convergence to an optimal region.
3. **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.
4. **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:
1. Expanding design variable bounds
2. Adding new design variables
3. Relaxing targets based on physical limitations
4. Design modifications (geometry changes, materials)
---
## 7. Conclusions and Recommendations
### 7.1 Key Conclusions
1. **Optimization Converged**: The M1 mirror optimization campaign has effectively converged after ~1,400 total FEA evaluations across V11-V15.
2. **V14 TPE Found Optimal**: The V14 TPE optimization found the best design; V15 NSGA-II exploration confirmed this optimum.
3. **Limited Trade-offs**: The small Pareto front (2 solutions) indicates the three objectives are not strongly conflicting in the optimal region.
4. **Targets Not Achievable**: Current design space cannot achieve the specified targets. The best achievable performance is ~50% above targets.
### 7.2 Recommendations
1. **Accept Current Best**: Trial #725 (V14) / #445 (V15) represents the optimal design within current constraints.
2. **Archive for Production**: Run `python tools/archive_best_design.py m1_mirror_adaptive_V15` to archive the best design.
3. **Future Work Options**:
- Expand design space (new variables, wider bounds)
- Alternative support structures
- Material optimization
- Active correction systems
4. **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*