3.1 KiB
Examples
This page lists all available examples and tutorials for OptimizR.
Jupyter Notebooks
All notebooks are located in the examples/ directory.
1. Differential Evolution
File: 01_differential_evolution_tutorial.ipynb
Learn how to use the Differential Evolution optimizer:
- Basic optimization problems (Rosenbrock, Rastrigin, Ackley)
- Strategy comparison (rand/1, best/1, current-to-best/1)
- Parameter tuning (F, CR, population size)
- Convergence analysis and visualization
2. Mean Field Games
File: 02_mean_field_games_tutorial.ipynb
Solve 1D Mean Field Games:
- HJB-Fokker-Planck coupling
- Agent population dynamics
- Nash equilibrium computation
- 3D visualization (time × space × density)
3. Hidden Markov Models
File: 03_hmm_tutorial.ipynb
Train and apply HMMs:
- Baum-Welch training algorithm
- Viterbi decoding
- Gaussian emission models
- Real-world applications (regime detection, speech recognition)
4. MCMC Sampling
File: 04_mcmc_tutorial.ipynb
Bayesian inference with Metropolis-Hastings:
- Sampling from complex distributions
- Adaptive proposal tuning
- Convergence diagnostics
- Posterior analysis
5. Sparse Optimization
File: 05_sparse_optimization_tutorial.ipynb
Sparse methods for high-dimensional data:
- Sparse PCA
- Elastic Net
- ADMM solver
- Feature selection
6. Optimal Control
File: 06_optimal_control_tutorial.ipynb
Solve HJB equations:
- Regime-switching jump diffusions (MRSJD)
- Optimal stopping problems
- Dynamic programming
- Financial applications
7. Risk Metrics
File: 07_risk_metrics_tutorial.ipynb
Time series analysis:
- Hurst exponent estimation
- Half-life calculation
- Mean reversion testing
- Trading signal generation
Python Scripts
Quick examples for copy-paste usage:
Optimize Rosenbrock Function
import numpy as np
from optimizr import DifferentialEvolution
def rosenbrock(x):
return sum(100.0 * (x[1:] - x[:-1]**2)**2 + (1 - x[:-1])**2)
de = DifferentialEvolution(bounds=[(-5, 5)] * 10)
result = de.optimize(rosenbrock, max_iterations=200)
print(f"Minimum: {result.best_fitness}")
Train HMM on Data
import numpy as np
from optimizr import HMMGaussian
# Load your data
observations = np.load("data.npy")
# Train model
hmm = HMMGaussian(n_states=3)
hmm.fit(observations)
# Predict states
states = hmm.decode(observations)
MCMC Sampling
import numpy as np
from optimizr import MetropolisHastings
def log_posterior(x):
return -0.5 * np.sum((x - 2)**2)
sampler = MetropolisHastings(log_posterior, initial_state=np.zeros(5))
samples = sampler.sample(n_samples=10000)
Running Examples
To run notebooks:
cd examples/
jupyter notebook
To run Python scripts:
python examples/basic_optimization.py
Contribute Examples
Have a cool use case? Contribute your example:
- Fork the repository
- Add your notebook to
examples/ - Ensure it runs without errors
- Submit a pull request
See Contributing Guide for details.