Vai al contenuto

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 Apri in Colab
Supply chain con congestione e sostenibilità LP / NLP convesso Apri in Colab
Portafoglio di Markowitz QP convesso Apri in Colab
Pricing e revenue management NLP concavo / non convesso Apri in Colab
Allocazione del budget pubblicitario NLP convesso Apri in Colab
Localizzazione continua di un servizio NLP convesso Apri in Colab
Ricarica intelligente di veicoli elettrici LP / QP convesso Apri in Colab
Capacità di servizio e tempi di attesa NLP convesso (coda M/M/1) Apri in Colab
Il Newsvendor e le sue varianti convesso 1D / LP stocastico a scenari Apri in Colab
VaR e CVaR: misurare e ottimizzare il rischio LP a scenari Apri in Colab
Arbitraggio e prezzatura senza arbitraggio LP Apri in Colab
Support Vector Machine: ottimizzazione per il machine learning QP convesso Apri in Colab
Regressione robusta e quantile LP (confronto con QP) Apri in Colab

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