Files
Atomizer/studies/bracket_pareto_3obj/2_results/nn_optimization_state.json
Antoine 602560c46a feat: Add MLP surrogate with Turbo Mode for 100x faster optimization
Neural Acceleration (MLP Surrogate):
- Add run_nn_optimization.py with hybrid FEA/NN workflow
- MLP architecture: 4-layer (64->128->128->64) with BatchNorm/Dropout
- Three workflow modes:
  - --all: Sequential export->train->optimize->validate
  - --hybrid-loop: Iterative Train->NN->Validate->Retrain cycle
  - --turbo: Aggressive single-best validation (RECOMMENDED)
- Turbo mode: 5000 NN trials + 50 FEA validations in ~12 minutes
- Separate nn_study.db to avoid overloading dashboard

Performance Results (bracket_pareto_3obj study):
- NN prediction errors: mass 1-5%, stress 1-4%, stiffness 5-15%
- Found minimum mass designs at boundary (angle~30deg, thick~30mm)
- 100x speedup vs pure FEA exploration

Protocol Operating System:
- Add .claude/skills/ with Bootstrap, Cheatsheet, Context Loader
- Add docs/protocols/ with operations (OP_01-06) and system (SYS_10-14)
- Update SYS_14_NEURAL_ACCELERATION.md with MLP Turbo Mode docs

NX Automation:
- Add optimization_engine/hooks/ for NX CAD/CAE automation
- Add study_wizard.py for guided study creation
- Fix FEM mesh update: load idealized part before UpdateFemodel()

New Study:
- bracket_pareto_3obj: 3-objective Pareto (mass, stress, stiffness)
- 167 FEA trials + 5000 NN trials completed
- Demonstrates full hybrid workflow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-06 20:01:59 -05:00

228 lines
4.8 KiB
JSON

{
"phase": "nn_optimization",
"timestamp": "2025-12-06T19:05:54.740375",
"n_trials": 1000,
"n_pareto": 661,
"best_candidates": [
{
"params": {
"support_angle": 38.72700594236812,
"tip_thickness": 58.52142919229749
},
"nn_objectives": [
0.15462589263916016,
90.49411010742188,
-19956.513671875
]
},
{
"params": {
"support_angle": 56.59969709057025,
"tip_thickness": 47.959754525911094
},
"nn_objectives": [
0.1316341757774353,
80.95538330078125,
-15403.2138671875
]
},
{
"params": {
"support_angle": 27.800932022121827,
"tip_thickness": 34.67983561008608
},
"nn_objectives": [
0.1059565469622612,
75.57935333251953,
-8278.44921875
]
},
{
"params": {
"support_angle": 50.05575058716044,
"tip_thickness": 51.242177333881365
},
"nn_objectives": [
0.13515426218509674,
73.69579315185547,
-15871.068359375
]
},
{
"params": {
"support_angle": 29.09124836035503,
"tip_thickness": 35.50213529560301
},
"nn_objectives": [
0.10616718232631683,
75.49954986572266,
-8333.7919921875
]
},
{
"params": {
"support_angle": 41.59725093210579,
"tip_thickness": 38.736874205941255
},
"nn_objectives": [
0.10606641322374344,
77.42456817626953,
-8482.6328125
]
},
{
"params": {
"support_angle": 50.59264473611897,
"tip_thickness": 34.18481581956125
},
"nn_objectives": [
0.11001653969287872,
78.32686614990234,
-9909.66015625
]
},
{
"params": {
"support_angle": 34.60723242676091,
"tip_thickness": 40.99085529881075
},
"nn_objectives": [
0.11470890045166016,
71.76973724365234,
-10232.564453125
]
},
{
"params": {
"support_angle": 42.8034992108518,
"tip_thickness": 53.55527884179041
},
"nn_objectives": [
0.1554829478263855,
89.65568542480469,
-20128.802734375
]
},
{
"params": {
"support_angle": 49.620728443102124,
"tip_thickness": 31.393512381599933
},
"nn_objectives": [
0.10854113101959229,
78.32325744628906,
-9371.779296875
]
},
{
"params": {
"support_angle": 50.37724259507192,
"tip_thickness": 35.115723710618745
},
"nn_objectives": [
0.11040062457323074,
78.3082275390625,
-10054.8271484375
]
},
{
"params": {
"support_angle": 68.28160165372796,
"tip_thickness": 54.25192044349383
},
"nn_objectives": [
0.15124832093715668,
83.46127319335938,
-19232.740234375
]
},
{
"params": {
"support_angle": 35.23068845866854,
"tip_thickness": 32.93016342019152
},
"nn_objectives": [
0.10423046350479126,
77.35694122314453,
-7934.9453125
]
},
{
"params": {
"support_angle": 47.33551396716398,
"tip_thickness": 35.54563366576581
},
"nn_objectives": [
0.10879749059677124,
78.18163299560547,
-9440.0771484375
]
},
{
"params": {
"support_angle": 68.47923138822793,
"tip_thickness": 53.253984700833435
},
"nn_objectives": [
0.14725860953330994,
82.43916320800781,
-18467.29296875
]
},
{
"params": {
"support_angle": 66.97494707820945,
"tip_thickness": 56.844820512829465
},
"nn_objectives": [
0.15847891569137573,
86.1897201538086,
-20743.28515625
]
},
{
"params": {
"support_angle": 49.89499894055426,
"tip_thickness": 57.6562270506935
},
"nn_objectives": [
0.1606408655643463,
90.43415832519531,
-21159.50390625
]
},
{
"params": {
"support_angle": 24.424625102595975,
"tip_thickness": 35.87948587257436
},
"nn_objectives": [
0.10864812880754471,
73.66149139404297,
-8813.439453125
]
},
{
"params": {
"support_angle": 39.4338644844741,
"tip_thickness": 38.14047095321688
},
"nn_objectives": [
0.10515307635068893,
77.20490264892578,
-8183.75244140625
]
},
{
"params": {
"support_angle": 55.34286719238086,
"tip_thickness": 51.87021504122962
},
"nn_objectives": [
0.14633406698703766,
79.53317260742188,
-18268.1171875
]
}
]
}