I notebook del laboratorio
Ogni capitolo con un modello ha il suo notebook: si apre in Google Colab con
un clic sul badge, installa il solver da sé e gira nel browser — sul computer non
serve installare niente. È lo stesso codice degli script di python/, cella per
cella, con le figure che compaiono sotto le celle invece di finire in un file.
La licenza del pacchetto pip basta
La licenza inclusa in gurobipy è limitata a 2000 variabili e 2000 vincoli, e
tutti i modelli del laboratorio ci stanno: il più grande — il newsvendor a
scenari — ne usa 1803 e 1801. Aumentando il numero di scenari si può superarla:
in quel caso si attiva la licenza accademica gratuita da
portal.gurobi.com.
| Capitolo | Classe | Notebook |
|---|---|---|
| Produzione e scorte multiperiodali | LP / QP convesso | |
| Supply chain con congestione e sostenibilità | LP / NLP convesso | |
| Portafoglio di Markowitz | QP convesso | |
| Pricing e revenue management | NLP concavo / non convesso | |
| Allocazione del budget pubblicitario | NLP convesso | |
| Localizzazione continua di un servizio | NLP convesso | |
| Ricarica intelligente di veicoli elettrici | LP / QP convesso | |
| Capacità di servizio e tempi di attesa | NLP convesso (coda M/M/1) | |
| Il Newsvendor e le sue varianti | convesso 1D / LP stocastico a scenari | |
| VaR e CVaR: misurare e ottimizzare il rischio | LP a scenari | |
| Arbitraggio e prezzatura senza arbitraggio | LP | |
| Support Vector Machine: ottimizzazione per il machine learning | QP convesso | |
| Regressione robusta e quantile | LP (confronto con QP) |
Come sono fatti
I notebook non si scrivono a mano: si generano dagli script con
python3 python/genera_notebook.py
Lo script del capitolo resta l'unica sorgente del codice — il notebook ne riprende
docstring, sezioni e commenti — e chi preferisce la riga di comando continua a
lanciare, dalla cartella python/:
python3 lab06_markowitz.py