Commit Graph

1 Commits

Author SHA1 Message Date
Claude
6c30b91a82 feat: Add optimization configuration builder with multi-objective support
Created interactive configuration builder that discovers available
options and helps users set up multi-objective optimization with constraints.

Features:
- Lists all available design variables from discovered model
- Provides catalog of objectives (minimize mass, stress, displacement, volume)
- Provides catalog of constraints (max stress, max displacement, mass limits)
- Suggests reasonable bounds for design variables based on type
- Supports multi-objective optimization with configurable weights
- Validates and builds complete optimization_config.json

Available Objectives:
- minimize_mass: Weight reduction (weight: 5.0)
- minimize_max_stress: Failure prevention (weight: 10.0)
- minimize_max_displacement: Stiffness (weight: 3.0)
- minimize_volume: Material usage (weight: 4.0)

Available Constraints:
- max_stress_limit: Stress <= limit (typical: 200 MPa)
- max_displacement_limit: Displacement <= limit (typical: 1.0 mm)
- min_mass_limit: Mass >= limit (structural integrity)
- max_mass_limit: Mass <= limit (weight budget)

Example Configuration:
- Design Variables: tip_thickness, support_angle, support_blend_radius
- Objectives: Minimize mass (5.0) + Minimize stress (10.0)
- Constraints: max_displacement <= 1.0 mm, max_stress <= 200 MPa
- Settings: 150 trials, TPE sampler

Usage:
  python optimization_engine/optimization_config_builder.py

Output: optimization_config.json with complete multi-objective setup

Integration:
- Works with discover_fea_model() to find design variables
- Links to result extractors (stress, displacement, mass)
- Ready for MCP build_optimization_config tool
- Supports LLM-driven configuration building

This enables the workflow:
1. User: "Minimize weight and stress with max displacement < 1mm"
2. LLM discovers model → lists options → builds config
3. Optimization engine executes with multi-objective + constraints
2025-11-15 13:56:41 +00:00