A Digital Twin (DT) model consists of physical entities, virtual counterparts, and their interactions. It uses descriptive, predictive, and prescriptive analytics for decision-making support. The Cognitive Digital Twin (CDT) enhances DTs with cognitive capabilities by integrating semantic technologies such as ontologies and knowledge graphs. This enables human-like intelligence, including attention, reasoning, and decision-making, allowing the CDT to recognize and adapt to complex behaviors dynamically. Advancing even further, the Intelligent Digital Twin (iDT) merges AI with human decision-making, fostering an AI-human collaborative environment. Despite their potential, DTs, CDTs, and iDTs are still emerging concepts, with limited real-world implementation. Most studies are theoretical, focusing on the envisioned capabilities of these technologies. This project aims to develop a digital twin use case for a hypothetical supply chain, demonstrating its descriptive, predictive, and prescriptive capabilities.
40% theory, 40% software, 20% testing
Requirements: Python
Contacts: Stefano Genetti, Giovanni Iacca
In Supply Chain Management (SCM), Digital Twin (DT) technology, particularly Intelligent DTs (iDTs), has emerged as a powerful tool, integrating human expertise with AI to enhance decision-making. However, most AI implementations in SCM rely on black-box models, lacking interpretability and facing resistance from practitioners who demand transparency. To address this, we developed Interactive Evolutionary Learning Decision Trees (IELDT), an Interpretable AI (IAI) framework that combines Grammatical Evolution (GE) and Reinforcement Learning (RL) to optimize production scheduling. Through an iterative optimization-simulation loop, IELDT refines decision tree scheduling policies using digital twin simulations. At each iteration, a web application presents the top two decision trees, together with natural language explanations from LLMs, allowing users to vote for their preferred policy. This fosters a human-in-the-loop framework, combining AI with human expertise to guide the algorithm toward user-preferred and better solutions. From this starting point, this project opens several potential directions: enhancing user interaction by allowing modifications to decision tree values and structure; supporting multiple users with independent web access to enable expert collaboration; enabling user-input examples of natural language descriptions rather than fixed prompt engineering to refine LLM-generated explanations, reducing configuration complexity and improving interpretability; study how to evaluate LLMs applying recent quality metrics; expanding the methodology beyond decision trees to explore alternative interpretable models.
30% theory, 40% software, 30% testing
Requirements: Python
Contacts: Stefano Genetti, Giovanni Iacca
Demand forecasting involves predicting future customer demand, enabling businesses to optimize production, inventory, and resource allocation. Recent advancements highlight the potential of AI in enhancing demand forecasting. However, most of the AI models are "black boxes", meaning that their internal workings are neither visible nor interpretable, and they fail to provide explanations for their predictions. This lack of transparency hinders their widespread adoption in industry where stakeholders, especially in business contexts, demand an understanding of the causal relationships and rationales behind model predictions. Explainable Artificial Intelligence (XAI) aims to bridge the gap between AI accuracy and transparency by offering insights into how and why models make decisions. This project aims to evaluate XAI solutions in demand forecasting, comparing them to black-box models to balance accuracy with transparency, fostering greater trust in AI-driven forecasting in industry.
20% theory, 40% software, 40% testing
Requirements: Python
Contacts: Stefano Genetti, Giovanni Iacca
This project explores Multi-Agent Systems (MAS) as a novel approach to supply chain management (SCM). MAS consist of autonomous, intelligent agents that perceive their environment, make decisions, and act to optimize operations. In SCM, they can manage supplier negotiations, client orders, inventory, and logistics, dynamically adapting to demand and supply fluctuations. Key applications include supplier bid optimization, real-time logistics monitoring, and adaptive decision-making. The project could compare MAS with traditional optimization methods, explore agent communication protocols, and study knowledge representation. Additionally, integrating Large Language Models (LLMs) could enhance agent reasoning, enabling chain-of-thought decision-making and problem-solving. Finally, we could examine human feedback integration to create a more collaborative MAS ecosystem.
30% theory, 60% software, 10% testing
Requirements: Python
Contacts: Stefano Genetti, Giovanni Iacca
The Job Shop Scheduling Problem is a widely studied NP-hard, industrially relevant problem. For large instances of the problem, the MILP formulations, solved with state-of-the-art open source optimizers such as CP-SAT, can be computationally demanding in terms of memory and time. In recent years, the research has moved toward hybridizing exact methods and meta-heuristics to solve this kind of problem. One exact method that could lead to optimal solutions is encoding it as a Satisfiability Modulo Theory (SMT) and solving it with an SMT solver like OptiMathSMT or Z3. This project aims at refining the encoding of the JSSP as an SMT problem, to use the maxSMT solver, which performs better than OptiMathSMT, and get feasible solutions for large instances of the JSSP. The project continues by optimizing the feasible solutions found by using Genetic Algorithms, Local Search, Variable Neighborhood Search, Simulated Annealing, or other search methods. As a final step, the comparison between the existing hybrid approach with CP-SAT + GA and the hybrid approach developed (SMT + search method) is requested.
30% theory, 40% software, 30% testing
Requirements: Python, SAT solving
References:
https://www.sciencedirect.com/science/article/pii/S2214716022000215
https://ieeexplore.ieee.org/document/8560344
Contacts: Chiara Camilla Rambaldi Migliore, Marco Roveri, Giovanni Iacca
Many embedded applications have strict energy, memory, and time constraints, making neural network (NN) inference particularly challenging. Input-adaptive models like MoEs (mixture of experts, see, e.g., Fast-Inf) and FFFs (Fast Feed-Forward networks) exploit the divide-and-conquer approach to achieve efficient inference with extremely lightweight computational demands and minimal latency. However, with numerous hyperparameters influencing their architecture, optimizing training strategies and identifying the most effective approach to leverage their potential across different architectures remain significant challenges.
Some possible steps are:
Analyzing different configurations of FFF networks, including varying the number of leaves, different widths and depths, and using possible regularization techniques.
Benchmarking these configurations across multiple tasks such as simple image classification (MNIST), Keyword Spotting (KWS), and Human Activity Recognition (HAR).
Comparing model performance, efficiency, and complexity.
If time allows, extending the study to mixed models, MoE with FFF-based experts, or FFF with MoE-based leaves.
20% theory, 50% software, 30% testing
Requirements: Python
Subject(s): efficient machine learning, numerical optimization
Contacts: Renan Beran Kilic, Giovanni Iacca
Many embedded applications have strict energy, memory, and time constraints, making neural network (NN) inference particularly challenging. Input-adaptive models like MoEs (mixture of experts, see, e.g., Fast-Inf) and FFFs (Fast Feed-Forward networks) exploit the divide-and-conquer approach to achieve efficient inference with extremely lightweight computational demands and minimal latency. However, understanding how nodes/routers make input decisions as they route information toward the leaves/experts and how these decisions affect leaves/experts remains a significant challenge.
Some possible steps are:
Investigating the interpretability of input-adaptive models, focusing on: Fast Feedforward (FFF) network, Mixture of Experts (MoEs).
Applying explainability techniques to understand model decisions of the model nodes (for FFFs), router (MoEs), or leaves/experts.
Comparing interpretability across multiple tasks such as simple image classification (MNIST), Keyword Spotting (KWS), and Human Activity Recognition (HAR).
Analyzing how model adaptation affects interpretability and decision transparency.
If time allows, extending the study to mixed models, MoE with FFF-based experts or FFF with MoE-based leaves
30% theory, 40% software, 30% testing
Requirements: Python
Subject(s): machine learning, interpretability
Contacts: Renan Beran Kilic, Giovanni Iacca
The ability to generate surrogate temporal networks addresses a critical need in fields like social network analysis, epidemiology and urban planning, where access to extensive temporal data is often limited due to privacy concerns or high collection costs. Surrogate networks act as digital twins, i.e., virtual replicas that mimic the dynamic behavior of real-world networks. By learning from existing temporal datasets of human contacts, surrogate networks can serve as a powerful tool for simulating scenarios, predicting future interactions, testing interventions and performing what-if analyses without directly exposing sensitive data. For instance, epidemiologists can simulate the spread of diseases under various conditions, while urban planners can assess the impact of infrastructure changes on human mobility patterns. Moreover, in machine learning contexts, such synthetic datasets can help alleviate data scarcity and imbalance issues, enabling the development of more accurate and generalizable models.
Several challenges and research directions are open in this area. In particular, the main idea of this project is to model system units with advanced architectures like RNNs, spiking neural networks or LLMs and let them interact, generating surrogate temporal networks with realistic properties, such as inter-contact times, community structures, and network evolution patterns.
Some possible extensions include:
Adding new nodes and expanding interaction timespans without compromising network realism, which is essential for simulating the growth of real-world systems.
Beyond extending existing networks, we aim at creating entirely new networks with similar temporal and structural characteristics.
Testing various intervention strategies, such as vaccination campaigns, quarantine measures, or information dissemination methods, in a risk-free environment.
Depending on the student’s background and preferences, one or more of these directions will be explored.
50% software, 30% testing, 20% theory
Requirements: Python
Contacts: Quintino Francesco Lotito, Giovanni Iacca
NP-hard problems on hypergraphs are fundamental in areas like network science, computational biology, and large-scale data analysis. Due to the computational intractability of exact solutions, this project will focus on metaheuristics, evolutionary algorithms, and hybrid optimization techniques that provide high-quality approximations while remaining computationally feasible.
Some problems of interest are:
Hypergraph matching, which seeks to find a maximum set of disjoint hyperedges, making it essential for job scheduling, team formation in social networks, and collaborative filtering in recommendation systems.
k-Densest Subhypergraph, which focuses on identifying the most densely connected sub-hypergraph containing at least k nodes, with applications in community detection, fraud detection in financial networks, and biological pathway discovery.
Hypergraph Alignment, which aims to find correspondences between nodes and hyperedges in different hypergraphs, playing a key role in biological network comparison, cross-platform social network analysis, and knowledge graph integration.
Hypergraph Dismantling, which involves identifying a minimal set of nodes or hyperedges whose removal significantly disrupts connectivity. This has applications in epidemic control, resilience analysis in infrastructure networks, and misinformation containment.
The project will involve developing, implementing, and benchmarking these algorithms on real-world and synthetic hypergraph datasets. The evaluation will focus on scalability, solution quality, and computational efficiency, providing insights into the strengths and weaknesses of different optimization strategies for NP-hard hypergraph problems.
40% software, 30% theory, 30% testing
Requirements: Python
Contacts: Quintino Francesco Lotito, Giovanni Iacca
Graph summarization enables efficient analysis of large-scale graphs by reducing the number of nodes and edges. This project focuses on hypergraph summarization, a technique for efficiently representing large hypergraphs to improve computational performance. Unlike traditional graphs, hypergraphs model many-to-many interactions, making them particularly suited for complex real-world networks such as social, biological, and financial systems. We have explored two node-aggregation-based approaches, developing what is to the best of our knowledge the first practical implementation for the hypergraph summarization problem. We conducted experiments on multiple real-world datasets. While some experiments yielded promising results, others did not meet expectations. We tested the summarization algorithm across various applications. The approach showed promise in hypergraph visualization and influence maximization. In this project, we want to analyze all these outcomes in detail and refine our approach accordingly. Future work could explore several possible enhancements such as integrating AI and metaheuristics, exploring alternative strategies like dedensification, refining implementation and evaluation metrics, and identifying new applications for summarization.
The project is in collaboration with Professor Alberto Montresor and researcher Giulia Preti (CENTAI Institute, Turin).
20% theory, 40% software, 40% testing
Requirements: Python
Contacts: Stefano Genetti, Quintino Francesco Lotito, Giovanni Iacca
Influence maximization is a well-established problem in the study of networks (i.e., social networks, marketing campaigns, epidemic diffusion), where the aim is to select a small set of individuals in a graph such that their activation would lead to the largest possible spread of information. This process is usually modeled through probabilistic diffusion models, such as the Independent Cascade (IC) or Linear Threshold (LT). While existing methods — including greedy algorithms, node centrality heuristics, and deep learning — can yield good results, they often require considerable computational effort or rely on problem-specific assumptions.
This project proposes a hybrid method that combines the interpretability and general reasoning skills of Large Language Models (LLMs) with classic simulation-based evaluation. The idea is to use an LLM to analyze the structure of a given graph and suggest a subset of influential nodes, based purely on a textual description of the network. These suggestions will then be tested through Monte Carlo simulations under the IC model to measure their actual impact on information spread.
The goal is not to outperform traditional approaches in terms of raw performance, but rather to investigate whether LLMs — even when operating outside their typical domain — can offer useful and intuitive guidance in solving graph-based optimization problems. This could open the door to more flexible and human-readable heuristics in network analysis.
The implementation will include:
A module to encode graphs in a prompt-friendly format,
An interface for interacting with the LLM and extracting node suggestions,
A simulator to estimate the influence spread for the proposed seed sets.
30% theory, 40% software, 30% testing
Requirements: Python, familiarity with basic graph theory, and optional experience with LLM.
Contacts: Elia Cunegatti, Giovanni Iacca
Influence Maximization (IM) is a combinatorial NP-Hard problem that aims at finding the smallest (minimize) set S of elements in a network (i.e., users on social media) able to ‘influence’ as many elements (maximize) as possible inside it. In order to simulate the propagation, there are several stochastic models available in the literature. The most important ones are Independent Cascade (IC), Weighted Cascade (WC), and Linear Threshold (LT).
Usually, every propagation model is handled independently. However, in several real-world applications, it could be useful to find unique seed sets that maximize all the different propagation models at once. This would lead to a robust optimization that can discover results that could be applied to different domains of propagation.
The project will focus on implementing a new formulation for the maximization of the robustness of the evolutionary algorithm, along with the Python implementation and testing phases.
30% theory, 50% software, 20% testing
Requirements: Python
Contacts: Elia Cunegatti, Giovanni Iacca
Influence maximization has been extensively studied over static social networks. Several research questions are still open in the case of temporal (dynamic) networks (see https://arxiv.org/abs/2307.00181). In particular, three main directions must be explored, namely: (1) using Graph Neural Networks for this problem, and comparing it against alternative approaches, particularly addressing the scalability aspect (training on small networks, testing on larger networks learning from regional/local structures); (2) estimating the uncertainty of seed nodes (which can be linked to quality diversity evolutionary algorithms, which inherently look for multiple good solutions); (3) finding robust seed nodes that work well for more than one diffusion model. Depending on the student's preference and background, one or more of these directions will be explored in this thesis.
This project will be carried out in collaboration with Prof. Doina Bucur from the University of Twente.
30% theory, 50% software, 20% testing
Requirements: Python
Contacts: Elia Cunegatti, Giovanni Iacca
Influence Maximization (IM) is a combinatorial NP-Hard problem that aims at finding the smallest (minimize) set S of elements in a network (i.e., users on social media) able to ‘influence’ as many elements (maximize) as possible inside it.
The IM optimization problem is usually computer over graphs. In graph theory, every node in the network has some properties that can indicate its importance/centrality in the network. Different propagation models can be used for the IM problem, and each of them selects the starting nodes with different policies.
This project aims to analyze the importance/centrality of the nodes selected as starting nodes from the evolutionary computational algorithms. The project will be conducted on several graphs with different topological properties.
The final purpose of this project is to discover patterns in the results, obtained on distinct datasets, for different propagation models.
20% theory, 60% software, 10% testing
Requirements: Python
Contacts: Elia Cunegatti, Giovanni Iacca
Artificial Neural networks simulate the real brain with a simper structure and functionality.
Regarding the structure, artificial neurons are grouped in separate layers, which are then hierarchically arranged to compose the network. The main idea of the standard and well-known Deep Learning Architecture (as VGG and ResNet) is to have connections ONLY between consecutive layers, mainly for hardware constraints (matrices multiplication on GPU). However, neurons can activate each other even if they are not connected layer-by-layer. In the field of AI, these are called skip connections. A skip connection is a connection that goes from node x in layer N to node y in layer N+k (where k > 1), such that the connection skips a layer. For example, ResNet proposes a similar idea. They devise a skip-block, which skips a whole layer. Nevertheless, not many works explore in detail the benefits that could derive from a model implemented with skip connections.
Regarding functionality, we consider two of them: Pruning and Plasticity. Pruning refers to the process by which the brain eliminates redundant synapses, reducing their number during the growth process. In the last five years, the community produced different pruning algorithms aiming to solve the over-parameterization problem of Deep Neural Networks and consequently reduce the number of parameters and the computational time required for the training process. If pruning is the capability to cut connections, plasticity is the capability of neurons to create and reinforce their links with other neurons. In the ANN, to simulate a connection between neurons we use a number, the weight, which in absolute value indicates the strength, while the sign indicates the nature of the connection, inhibitory or excitatory. The value of the connection usually is decided during the optimization process. Namely, it remains fixed during the task. However, if the model has to solve a control task, it is possible to operate an online learning technique (such as Reinforcement learning or Hebbian learning) to update the weights during the task.
Working with these concepts, we are interested in two main research questions:
1) In a fixed sparse setting, namely a percentage of weights have been removed, can a model improve its performance thanks to the ’skip connections, or is it better to keep connection only by consecutive layers? Why?
2) Starting with a dense model and using plasticity and pruning, do the skipping connections emerge? Is the task complexity a factor that facilitates the emergence of skip connections, or does this depend on the pruning method?
20% theory, 60% software, 20% testing
Requirements: Python
Subject(s): machine learning, numerical optimization
Contacts: Elia Cunegatti, Giovanni Iacca
Various deep neural network models have been presented in recent literature, however, these are in most cases handcrafted and their performance depends on various network parameters, usually set empirically. In particular, a neural architecture design comprises many combinatorial parameters, but exploring such a parameter space can be time-consuming and computationally expensive. To this end, Neural Architecture Search (NAS) is quickly becoming the standard methodology for designing neural network models. However, NAS is typically compute-intensive because multiple models in a large search space need to be trained and evaluated before choosing the best one. To reduce the computational power and time needed, a value driven by pruning-at-initialization metrics can be used as a performance prediction of each model.
This project evaluates different pruning-at-initialization metrics w.r.t. how well they preserve ranking between neural network models during search when compared with the rankings produced by final trained accuracy. A selected metric is adapted to optimize the architecture of a deep neural network that achieves state-of-the-art performance on ImageNet.
20% theory, 60% software, 20% testing
Requirements: Python (PyTorch)
Subject(s): machine learning, numerical optimization
Contacts: Elia Cunegatti, Giovanni Iacca
Various topics available:
PiNN to fill the gap between additively manufactured miniaturized and lattice specimens' fatigue properties
Novel Bio-Inspired Lattice Design by GNNs
Segmentation Tool for Surface Morphology from Optical Images
10% theory, 70% software, 20% testing
Requirements: see details here.
Subjects: machine learning, optimization, web development, data science
Contacts: Simnone Murchio, Raffaele De Biasi, Matteo Benedetti, Giovanni Iacca