🧪 From Concept to Code: Breathing Life into My Undergraduate Thesis
Breathing life into my thesis on ANN-guided shape optimization—now rebuilding it as an open-source research project.
🧠The Idea: Smarter Aerodynamic Optimization
My undergraduate thesis focused on generalizing existing Aerodynamic Shape Optimization (ASO) systems by combining:
- Artificial Neural Networks (ANNs) for surrogate modeling
- Multi-Objective Particle Swarm Optimization (MOPSO) as the base optimization method
- A classifier module to dynamically select the most appropriate flow solver for a given problem
The key motivation was to reduce solver cost and increase generalizability across domains—most current ASO frameworks are rigid, tuned for a narrow range of problems, and expensive to adapt.
📚 What I Did Then
- Conducted a deep literature review on MOPSO variants, ANN-PSO hybrids, and solver-coupled optimization strategies
- Designed a modular architecture where:
- The optimizer learns from simulation history
- The classifier switches solvers based on problem traits
- The system could, in theory, generalize across aerodynamic domains (vehicles, trains, airfoils)
- But due to resource and time constraints, I couldn’t implement the full pipeline during my undergrad
🔄 What I'm Doing Now
I'm now rebuilding my thesis as an open, working research project, with the goal of producing actual benchmarks, visuals, and—eventually—a short research paper.
🔧 Phase 1 – Minimal Working Pipeline
- Use PyTorch to implement the surrogate ANN
- Build a simplified MOPSO module using SciPy
- Train the ANN on historical drag/lift function outputs
- Run tests on open NACA 4-digit datasets
🧪 Phase 2 – Benchmarking & Solver Switching
- Build a binary classifier that picks solvers (e.g. steady-state vs transient) based on inputs like shape complexity or convergence rate
- Compare performance vs baseline MOPSO: speed, accuracy, iteration count
- Log and visualize optimization steps with matplotlib/seaborn
🧰 Phase 3 – Open Source Modular Toolkit
Project codename: aso-kit
Structure:
aso-kit/
├── optimizer.py # MOPSO core with ANN guidance
├── surrogate.py # PyTorch-based ANN model
├── solver_selector.py # Classifier to switch solvers
├── runner.py # CLI + experiments
├── visualizer.py # Plotting module
📄 Where I’m Headed
- Submit a short preprint on arXiv or NeurIPS workshop by end of 2025
- Integrate an open CFD engine like SU2 or OpenFOAM for real aerodynamic simulation
- Document trade-offs between learning cost and solution quality
- Package
aso-kit
as a research toolkit for anyone exploring optimization + ML + simulation
💬 Why This Still Matters
We often write promising ideas in a thesis and leave them to collect digital dust. This project is my attempt to resurrect a promising concept and build something real—something useful to the community and meaningful to me.
Stay tuned for updates, dev logs, and lessons learned.