Vai al contenuto

I notebook del corso

Ogni capitolo con dei modelli 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: le istanze del corso sono piccole e ci stanno tutte con ampio margine. Per istanze più grandi si attiva la licenza accademica gratuita da portal.gurobi.com.

Capitolo Classe Notebook
3.5 Il protocollo, e come si esegue implementazione Apri in Colab
4. Euristiche costruttive algoritmi Apri in Colab
5. Logica e variabili binarie BIP Apri in Colab
6. Legami fra variabili tecniche di modellazione Apri in Colab
3.4 Tre modelli classici implementazione Apri in Colab
3.4 Tre modelli classici implementazione Apri in Colab
3.4 Tre modelli classici implementazione Apri in Colab
EX 1 — Il furgone da otto posti BIP Apri in Colab
EX 2 — Linee di autobus BIP Apri in Colab
EX 3 — Staffetta BIP Apri in Colab
EX 4 — Hub-and-spoke BIP Apri in Colab
EX 5 — Fondi acquistabili a lotti ILP Apri in Colab
EX 6 — Veicoli con quantità minima MILP Apri in Colab
EX 7 — Aerei su commessa con costo fisso MILP Apri in Colab
EX 8 — Seminari BIP Apri in Colab
EX 9 — Le regine sulla scacchiera BIP Apri in Colab
EX 10 — Utensili di una macchina CNC BIP Apri in Colab
EX 11 — Scarpe con soglia minima di produzione MILP Apri in Colab
EX 12 — Bilanciamento fra due operai MILP Apri in Colab
EX 13 — I turni del pronto soccorso ILP Apri in Colab
EX 14 — Scarpe: produzione, scorte e assunzioni MILP Apri in Colab
EX 15 — L'orario della scuola di musica BIP Apri in Colab
Assegnamento a costo minimo con disponibilità BIP Apri in Colab
Macchine con costo fisso di utilizzo BIP Apri in Colab
Selezione di lavori con ricavo e macchine a costo fisso BIP Apri in Colab
Lavori in parallelo: il tempo di lavorazione come massimo MILP Apri in Colab
Una macchina, classi di lavori con setup BIP Apri in Colab
Classi con premio di completamento e riduzione «se e solo se» BIP Apri in Colab
Ritardo totale su una macchina: sequenziamento con big-M MILP Apri in Colab
Localizzazione capacitata MILP Apri in Colab
p-mediana: al più \(k\) sedi BIP Apri in Colab
Copertura del segnale con interferenza BIP Apri in Colab
Localizzazione di hub con costo massimo MILP Apri in Colab
Lotti con costo fisso di lancio MILP Apri in Colab
Produzione e manodopera: due formulazioni equivalenti MILP Apri in Colab
Veicoli: lotto minimo e premio per la varietà MILP Apri in Colab
Premi acquistabili con due modalità BIP Apri in Colab
Asta combinatoria BIP Apri in Colab
Dieta con conteggio dei cibi e lotto minimo MILP Apri in Colab
Alberi di Natale e scatole di luci MILP Apri in Colab
Spedizioni in scatole MILP Apri in Colab
Bambini fra campi estivi ILP Apri in Colab
Filiali fra due società BIP Apri in Colab
Brani fra CD MILP Apri in Colab
Libri fra scaffali MILP 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 fam07_1_assegnamento.py