The following pull request contains notebooks which solve the following problems - Robust Facility Location, Robust Portfolio, Robust Knapsack, Robust Lot Sizing, Robust Mean - Variance Portfolio, Robust Production - Inventory and Robust Support Vector Machines.
Thanks @Manav1712! Great job. A few comments (I mainly edited the portfolio example to show what I had in mind):
Make sure problems visualize on jupyterlab (not only on vscode). For example, if you have an empty line in an optimization problem it will not render
unless strictly needed, I would not include seaborn as a dependency. you can rearrange the for loops to make it easier without it. You can use tab colors and rearrange the font sizes. See how I edited the portfolio notebook.
Many notebooks start with "The Facility Location Problem (FLP) is a fundamental optimization challenge that focuses on....". That smells like LLM. Try to start with simply "Consider the problem of determining the optimal locations of facilities (e.g., warehouses, plants, or distribution centers)...."
If you say "we cant to solve the uncertain problem", it needs to show up with the uncertainty set immediately. (forall ...). Also, the "robust counterpart" is the problem where you already get the reformulation without having the "forall" inside the constraints. That's something that the package does automatically so we do not need to write it. See, again, how I updated the portfolio example to simplify it.
Treat equations like text. This means they all have to end with a comma or a period.
Avoid writing the descriptin of the uncertainty set in a similar way as the numpy docstrings (e.g., "$A$ : np.array, optional"). Simply follow what I wrote in the portfolio example.
The following pull request contains notebooks which solve the following problems - Robust Facility Location, Robust Portfolio, Robust Knapsack, Robust Lot Sizing, Robust Mean - Variance Portfolio, Robust Production - Inventory and Robust Support Vector Machines.