All SkillsGet Started Free
Scipy Optimization
Optimize pump designs and system parameters using scipy.optimize
MCP get_skill({ skillId: "scipy-optimization-abc2d7ee" })Use this skill with your agent
Create a free account and connect via MCP
# SciPy Optimization for Engineering Design
## Overview
The `scipy.optimize` module provides a comprehensive suite of optimization algorithms for solving engineering design problems. This skill focuses on applying these methods to pump design optimization, system parameter tuning, and performance analysis.
Key capabilities:
- **Unconstrained optimization**: Find optimal parameters without restrictions
- **Constrained optimization**: Optimize with design constraints and bounds
- **Curve fitting**: Fit models to experimental data
- **Global optimization**: Find global minima in multi-modal problems
- **Multi-objective optimization**: Balance competing design objectives
## Optimization Methods
### 1. minimize() - Unconstrained and Constrained Optimization
The workhorse function for most optimization tasks.
```python
from scipy.optimize import minimize
import numpy as np
# Basic usage
def objective(x):
"""Objective function to minimize"""
return x[0]**2 + x[1]**2
result = minimize(objective, x0=[1.0, 1.0])
print(f"Optimal point: {result.x}")
print(f"Optimal value: {result.fun}")
```
**Common algorithms:**
- `'Nelder-Mead'`: Derivative-free, robust but slower
- `'BFGS'`: Quasi-Newton method, fast for smooth functions
- `'L-BFGS-B'`: BFGS with bounds
- `'SLSQP'`: Sequential Least Squares with constraints
- `'trust-constr'`: General constrained optimization (preferred)
### 2. least_squares() - Curve Fitting and Residual Minimization
Specialized for problems of the form: minimize sum(residuals^2)
```python
from scipy.optimize import least_squares
def residuals(params, x_data, y_data):
"""Calculate residuals between model and data"""
a, b, c = params#broad-capability#engineering#fluid-dynamics#thermodynamics#structural-analysis#scipy#sympy#cfd#research#synthesispythonscipynumpy