← All Courses

Learn Optimization

Learn the basics of convex optimization using Python, and see how to apply these ideas to vehicle control, portfolio allocation in finance, and other areas.

Marimo Logo

After working through these notebooks, you'll understand how to create and solve optimization problems using Python's CVXPY library, as well as how to apply what you've learned to real-world problems.

SpaceX

SpaceX solves convex optimization problems onboard to land its rockets, using CVXGEN, a code generator for quadratic programming developed at Stephen Boyd's Stanford lab. Photo by SpaceX, licensed CC BY-NC 2.0.

Contributors

Thanks to our notebook authors:

Running Notebooks

To run a notebook locally, use:

uvx marimo edit <URL>

You can also open notebooks in our online playground by adding marimo.app/ to a notebook's URL.

Want to Contribute?

Help us improve these learning materials by contributing to the GitHub repository. We welcome new content, bug fixes, and improvements!

Contribute on GitHub