Skip to content

OptiMaL-PSE-Lab/Imperial-ML4CE-Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Machine Learning for Chemical Engineering (ML4CE)

Welcome to the Machine Learning for Chemical Engineering (ML4CE) course repository.
This module introduces machine learning concepts for chemical engineering applications through coding projects.

ML4CE is a module offered at Imperial College London for 4th Year MEng and MSc students in the Chemical Engineering Department.
The course introduces students to core machine learning concepts and their applications in solving chemical engineering problems.
Assessment is based on mini-projects that apply machine learning and optimisation techniques to chemical engineering case studies.

This repository contains the material for the coursework coding projects.


πŸ“‚ Coursework Structure

The coursework is split into two parts:

1. Unconstrained Coursework – PID Tuning

In this project, you will design a data-driven optimisation algorithm to tune a PID controller for a continuous stirred tank reactor (CSTR).
The task is to optimise the controller gains such that the reactor system error is minimised.

The optimisation problem involves balancing three aspects:

  • Overall tracking error of the system
  • Magnitude of control actions (linked to operational cost)
  • Smoothness of control action changes (to avoid aggressive actuator behaviour)

Your algorithm should find optimal PID parameters that yield stable, efficient control of the CSTR system.

πŸ“– See README here


2. Constrained Coursework – Williams-Otto Problem

This project focuses on constrained optimisation of the Williams-Otto (WO) chemical process, a classic benchmark in chemical engineering.
The objective is to maximise the process profit by adjusting two decision variables:

  • Reactor temperature (TR)
  • Flow rate of reactant B (Fb)

The optimisation must respect process constraints, such as limiting the use of reactant A and minimising waste generation.
Each algorithm is evaluated under a strict evaluation budget, making efficient use of limited simulations critical.

This coursework highlights the role of optimisation in process systems engineering, demonstrating how data-driven methods can be applied to complex, nonlinear chemical processes.

πŸ“– See README here πŸ“– See detailed problem description here


Getting Started

  1. Clone the repo:

    git clone https://github.com/OptiMaL-PSE-Lab/Imperial-ML4CE-Course.git
    cd Imperial-ML4CE-Course
  2. Install Dependencies

    conda (recommended):

    conda create --name myenv python=3.10 
    conda activate myenv
    pip install -r requirements.txt

    pip:

    pip install -r requirements.txt

About

Imperial Chemical Engineering Machine Learning Course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published