Opt4Deck: Transparent pure-Python optimization for education – SciPy feedback

Hello SciPy community,

I’m Giannis Serafeim (PhD in Mechanical Engineering from NTUA, background in multi-disciplinary design optimization, wind energy, adjoint methods, etc.).

I’ve created Opt4Deck: a small, zero-dependency Python library providing transparent, step-by-step implementations of classic optimization algorithms, mainly designed as an educational tool for engineers and students who want to see how methods work under the hood (no black boxes).

It includes:

  • SIMPLEX (linear programming, maximization focus)
  • BFGS (quasi-Newton for nonlinear problems)
  • GENETIC (evolutionary/stochastic algorithm)
  • ADJOINT (gradient-based for PDE-constrained optimization)
  • Tricks & Techniques (constraint handling, variable normalization, etc.)

Key features:

This is not meant to compete with or replace scipy.optimize — it’s intended as a lightweight complement for teaching, prototyping small problems, or cases where full transparency is more important than speed/performance.

I’d really appreciate any feedback from the community:

  • Any obvious overlaps/conflicts with existing SciPy tools?
  • Suggestions for improvements (e.g. making the API more compatible with scipy.optimize)?
  • Ideas on how to make it more useful for educators or beginners in optimization?

Thank you in advance for your time and thoughts!

Best regards,
Giannis Serafeim
e-mail: opt4deck@gmail.com