Salta al contenuto principale
CODICE 106838
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE MATH-06/A
LINGUA Inglese
SEDE
  • GENOVA
PERIODO 1° Semestre
MATERIALE DIDATTICO AULAWEB

PRESENTAZIONE

L’ottimizzazione è una disciplina inclusa nella scienza delle decisioni. Il corso introduce i fondamenti della disciplina e il ruolo del linguaggio di programmazione Python nell’ambito dell’ottimizzazione, con particolare attenzione alla gestione e all’elaborazione di dati strutturati e non strutturati, come ad esempio basi di dati, file e altre sorgenti informative utili alla costruzione e alla risoluzione di modelli decisionali.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

L’insegnamento si propone di fornire capacità di comprendere e utilizzare i principali strumenti, concettuali e computazionali, per l'interpretazione di grandi quantità di dati e per il loro utilizzo a fini predittivi, e avranno competenze relative all'analisi big data con particolare riferimento alle applicazioni riguardanti l'economia e altre scienze applicate. Gli studenti svilupperanno conoscenze base di programmazione grazie allo studio del linguaggio di programmazione Python e saranno in grado di progettare modelli matematici lineari PL/PLI per la risoluzione di problemi decisionali continui e discreti. - applicazioni riguardanti l'economia e altre scienze applicate. Gli studenti svilupperanno conoscenze base di programmazione grazie allo studio del linguaggio di programmazione Python e saranno in grado di progettare modelli matematici lineari PL/PLI per la risoluzione di problemi decisionali continui e discreti.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine del corso, lo studente sarà in grado di:

  • Applicare i principali metodi di ottimizzazione a problemi decisionali reali, selezionando la tecnica più appropriata in base al contesto;
  • Sviluppare semplici algoritmi di ottimizzazione in Python per la risoluzione di problemi strutturati, verificando la correttezza dei risultati ottenuti;
  • Gestire dati strutturati e non strutturati provenienti da basi di dati, file e sistemi informativi, organizzandoli in modo coerente rispetto agli obiettivi dell’analisi e dell’ottimizzazione;
  • Analizzare e confrontare soluzioni ottenute tramite metodi esatti, euristici e meta-euristici su casi di studio proposti, valutando l’efficacia e l’efficienza delle soluzioni.

PREREQUISITI

Consigliati:

Algebra, Geometria Analitica, Ricerca Operativa, Programmazione.

 

MODALITA' DIDATTICHE

Il corso prevede lezioni frontali svolte in aula informatica, per dare l'opportunità agli studenti di formulare, risolvere e analizzare insieme ai docenti i problemi proposti. Qualora non fosse possibile svolgere attività in presenza, verranno adottate le modalità didattiche decise dall'Ateneo. Per eventuali aggiornamenti fare riferimento ad Aulaweb. La frequenza non è obbligatoria. Per studenti con DSA o disabilità, sono previste modalità personalizzate secondo le disposizioni di Ateneo.

Gli studenti in possesso di certificazione di disabilità, DSA o bisogni educativi speciali devono contattare, all'inizio delle lezioni, sia il docente, sia il referente per la disabilità del Dipartimento, Prof.ssa Elena Lagomarsino elena.lagomarsino@unige.it , per concordare modalità didattiche e d'esame che, nel rispetto degli obiettivi dell'insegnamento, tengano conto delle modalità di apprendimento individuali e consentano l'uso di eventuali strumenti compensativi

PROGRAMMA/CONTENUTO

Coerentemente con gli obiettivi precedentemente illustrati, vengono trattati i seguenti argomenti​

  1. Introduzione alla programmazione..
    • Logic programming.
    • Programming languages. 
  2. Python concetti base:
    • Getting Started, first program "hello world".
    • Variables and Input.
    • Conditional statements. Iteration statements.
    • Functions Modules and Classes
    • Strings, Lists, Dictionaries
  3. Risolutori di LP and ILP: 
    • Introduction to PL and PLI,
    • Define decision variables, 
    • Create the objective function, 
    • Add constraints to the model, 
    • Analysis of the solutions.
  4. Strutture dati: 
    • Graph data structure
    • Data manipulation and storage. 
    • Develop a parser.
    • Test cases creation. 
    • Binary variables with Python.
  5. Algoritmi e concetti di complessità: 
    • Exact, heuristic, meta-heuristic. 
    • Constructive Algorithms, Greedy Algorithms, selection function. Enhanced Greedy.
    • Implementation of the proposed algorithms.        
  6. Gestione di dati e basi di dati:
    • Dati strutturati e non strutturati.
    • Introduzione alle basi di dati, ai sistemi informativi e al linguaggio SQL.
    • Organizzazione, acquisizione e pulizia dei dati.
    • Accesso, interrogazione ed estrazione di dati da basi di dati tramite SQL e Python.
    • Preparazione dei dati per l’analisi e per l’applicazione di metodi di ottimizzazione.​

TESTI/BIBLIOGRAFIA

Si suggeriscono i seguenti testi e materiali:
Hillier, Lieberman, “Introduction to Operations Research”, McGraw Hill, 2016.
Downey, A., et al. "Thinking Python. 2.0". Green Tea Press Supplemental Material, 2012.
https://coin-or.github.io/pulp/index.html

DOCENTI E COMMISSIONI

LEZIONI

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

Gli studenti dovranno sostenere una prova scritta che può contenere domande a scelta multipla, domande aperte ed esercizi. Supera l'esame chi ottiene almeno 18/30.

MODALITA' DI ACCERTAMENTO

Le conoscenze e competenze saranno verificate tramite test online ed esercitazioni durante le lezioni, valutando la capacità di applicare i metodi di ottimizzazione a problemi proposti, la correttezza delle soluzioni implementate in Python e la chiarezza espositiva. I criteri di valutazione includono: correttezza delle risposte, uso appropriato della terminologia, capacità di analisi e sintesi.

ALTRE INFORMAZIONI

Rivolgersi al docente per ulteriori informazioni non comprese nella scheda insegnamento.

Agenda 2030

Agenda 2030
Imprese, innovazione e infrastrutture
Imprese, innovazione e infrastrutture
Consumo e produzione responsabili
Consumo e produzione responsabili
Lotta contro il cambiamento climatico
Lotta contro il cambiamento climatico

OpenBadge

SOFT SKILLS - Alfabetica avanzato 1 - A
SOFT SKILLS - Alfabetica avanzato 1 - A
SOFT SKILLS - Personale avanzato 1 - A
SOFT SKILLS - Personale avanzato 1 - A
SOFT SKILLS - Imparare a imparare base 1 - A
SOFT SKILLS - Imparare a imparare base 1 - A
SOFT SKILLS - Creazione progettuale avanzato 1 - A
SOFT SKILLS - Creazione progettuale avanzato 1 - A