Quick Start Guide¶
1. Verify Installation¶
python -c "import optimizr; print(optimizr.__version__)"
You should see 0.3.0 (or newer). If the Rust backend is missing, reinstall with pip install . from the project root to build the extension module.
2. First Optimization (Differential Evolution)¶
import numpy as np
from optimizr import differential_evolution
def rosenbrock(x: np.ndarray) -> float:
return sum(100.0 * (x[1:] - x[:-1]**2)**2 + (1 - x[:-1])**2)
best_x, best_fx = differential_evolution(
objective_fn=rosenbrock,
bounds=[(-5, 5)] * 5,
strategy="best1",
adaptive=True,
maxiter=500,
)
print(f"Best value: {best_fx:.6f}")
print(f"Best point: {best_x}")
4. MCMC Sampling (Bayesian Inference)¶
import numpy as np
from optimizr import mcmc_sample
def log_likelihood(params, data):
mu, sigma = params
residuals = (data - mu) / sigma
return -0.5 * np.sum(residuals**2) - len(data) * np.log(sigma)
data = np.random.randn(500) + 1.5
samples = mcmc_sample(
log_likelihood_fn=log_likelihood,
data=data,
initial_params=np.array([0.0, 1.0]),
param_bounds=[(-5, 5), (0.1, 5.0)],
n_samples=5000,
burn_in=500,
)
print(samples.mean(axis=0))
5. Mean Field Games (1D)¶
from optimizr import MFGConfig, solve_mfg_1d_rust
config = MFGConfig(
nx=64,
nt=40,
x_min=-3.0,
x_max=3.0,
T=1.0,
epsilon=0.1,
kappa=1.0,
)
solution = solve_mfg_1d_rust(config)
print(f"Converged: {solution.converged}")
Next Steps¶
See Getting Started for environment setup and verification.
Browse Examples for code snippets per optimizer.
Deep dive into algorithms in Algorithms.
Notebook status and reproducibility¶
Audit (2025-01-04): 6/7 notebooks execute cleanly;
03_optimal_control_tutorial.ipynbis theory-only by design.Fully validated:
01_hmm_tutorial,02_mcmc_tutorial,04_real_world_applications,05_performance_benchmarks,mean_field_games_tutorial.Differential Evolution tutorial works with current API; enable
track_history=Trueto capture convergence curves during runs.