# Learn optimization 🚧 _This collection is a work in progress. Check back later for new notebooks!_ This collection of marimo notebooks teaches you the basics of mathematical optimization. After working through these notebooks, you'll understand how to create and solve optimization problems using the Python library [CVXPY](https://github.com/cvxpy/cvxpy), as well as how to apply what you've learned to real-world problems such as portfolio allocation in finance, resource allocation, and more. ![SpaceX](https://www.debugmind.com/wp-content/uploads/2020/01/spacex-1.jpg) _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._ **Running notebooks.** To run a notebook locally, use ```bash uvx marimo edit ``` For example, run the least-squares tutorial with ```bash uvx marimo edit https://github.com/marimo-team/learn/blob/main/optimization/01_least_squares.py ``` You can also open notebooks in our online playground by appending `marimo.app/` to a notebook's URL: [marimo.app/github.com/marimo-team/learn/blob/main/optimization/01_least_squares.py](https://marimo.app/https://github.com/marimo-team/learn/blob/main/optimization/01_least_squares.py).