91261 - Artificial Intelligence in Industry

Academic Year 2023/2024

  • Teaching Mode: Blended Learning
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)

Learning outcomes

At the end of the course, the student has a deep knowledge of industrial applications that benefit from the use of machine learning, optimization and simulation. The student has a domain-specific knowledge of practical use cases discussed in collaboration with industrial experts in a variety of domains such as manufacturing, automotive and multi-media.

Course contents

The course is primarily delivered as a series of simplified industrial use cases. The goal is provide examples of challenges that typically arise when solving industrial use cases, and to develop critical thinking and problem solving skils.

Use cases may cover topics such as:

  • Anomaly detection
  • Remaining Useful Life (RUL) estimation
  • RUL based maintenance policies
  • Resource management planning
  • Recommendation systems with fairness constraints
  • Power network management problems
  • Epidemic control
  • Production planning

The course will emphasize the ability to view problems in their entirety and adapt to their peculiarities. This will frequently require to combine heterogeneous solution techniques, using integration schemes both simple and advanced.

The employed method will include:

  • Mathematical modeling of industrial problems
  • Predictive and diagnostic models for time series
  • Combinatorial Optimization
  • Integration methods for Probabilistic Models and Machine Learning
  • Integration methods for constraints and Machine Learning
  • Integration methods for combinatorial optimization and Machine Learning

The course will include seminars on real-world use cases, from industry experts.

The course contents may (and typically will) be subject to changes, so as to adapt to some degree to the interests and characteristics of the attending students.


The main teaching material will consists of mostly of interactive notebooks developed using the Jupyter system, which will contain pointers to relevant references.

Teaching methods

Lectures, group discussions (including through digital platforms), and examples on Jupyter (Python) notebooks

Assessment methods

Individual or group projects (one to three students).

Students may freely propose a project topic, or pick from a list that will be published roughly midway through the course. 

In both cases, the details of the course project must be discussed with the teacher before activities begin.

The exam will consist in the presentation and discussion of the project work. The evaluation:

  • Will not take into account the outcome of the project (meaning that negative results are considered fine)
  • It will instead focus on the quality of the method, with emphasis on: 1) motivation for all the choices that have been made; 2) interpretation of the results; 3) awareness of the capabilities and limits of the tools that have been used 

Teaching tools

The course will make extensive use of interactive notebooks developed using the Jupyter system.

The course will require a number of optimization and Machine Learning software libraries, all free for academic use. Their installation and setup will be simplified via the use of Docker containers.

All lectures will be recorded.

Office hours

See the website of Michele Lombardi