CBE 30338 Data Analytics, Optimization, and Control#
This is a collection of class materials for CBE 303338 Data Analytics, Optimization, and Control taught at the University of Notre Dame.
Course Description#
Dynamic modeling, data analytics, optimization, and control are essential to modern chemical technologies that enable precision medicine, sustainable energy, semiconductors, access to clean water, and beyond. In CBE 30338, students combine their knowledge of chemical engineering fundamentals (e.g., thermodynamics, transport, kinetics) and data analytics to develop dynamic models of diverse chemical technologies and processes. These models enable the design and optimization of control systems that use feedback to reject disturbances and drive systems to steady-state setpoints. CBE 30338 combines state-space modeling with modern computational and statistical methods to cover industrially relevant topics such as model predictive control, parameter estimation, and optimization. Students master techniques in hands-on experiments and a final semester project.
Course Outline#
Weeks |
Unit |
---|---|
1 |
Introductions to the Course and TC Lab |
1 - 4 |
Dynamic Modeling and Data Analytics |
5 - 7 |
Feedback Control |
7 - 9 |
Computational Optimization |
10 - 11 |
Predictive Control |
12 - 13 |
Team Project Workshops |
14 |
Student Project Presentations |
Software Installation Instructions (current)#
Install Software (personal computer):
Install anaconda: https://www.anaconda.com/
Windows users: install LaTeX (https://miktex.org/download) or add
miktex
to the end of the above commandMac users: install LaTeX (https://tug.org/mactex/mactex-download.html)
Linux users: install LaTeX via your package manager
Openning Anaconda:
Windows users: in the Start menu, search search for “Anaconda prompt”. Open it and copy-paste-run the commands below
Mac users: press command + space, then search for “terminal”. Open it and copy-paste-run the commands below
Students In the terminal/prompt, type:
conda create -n controls -c anaconda -c conda-forge -c IDAES-PSE python=3.10 pandas numpy matplotlib scipy jupyterlab nb_conda_kernels pandoc nbconvert-pandoc idaes-pse
Instructor/TAs In the terminal/prompt, type:
conda create -n controls -c anaconda -c conda-forge -c IDAES-PSE python=3.10 pandas numpy matplotlib scipy jupyterlab nb_conda_kernels pandoc nbconvert-pandoc jupyter-book ghp-import
Everyone Next, in the terminal type:
conda activate controls
(activates the new environment)idaes get-extensions
(installs optimization solvers)pip install tclab
(installs TCLab software)
To start using Python, in either the Acaconda prompty (Windows) or terminal (Mac):
Activate our environment:
conda activate controls
Launch Jupyter lab:
jupyter lab
In the upper right corner, click on “Kernel” and change to “controls”
You are now ready to test the TCLab hardware!
Software Installation Instructions (from Spring 2024)#
Students will use their personal laptop computers to complete labratory and homework assignments. Below are instructions
Start Here:
Install anaconda: https://www.anaconda.com/
Windows users: in the Start menu, search search for “Anaconda prompt”. Open it and copy-paste-run the commands below
Mac users: press command + space, then search for “terminal”. Open it and copy-paste-run the commands below
Create new conda environment:
conda create -n controls python=3.10
Activate new environemnt:
conda activate controls
Extra Steps for Website Contributors (e.g., instructor, TAs, students please skip):
Install Jupyter Book (may take a while, solve may freeze a few times):
conda install -c conda-forge jupyter-book
Install GHP Import (for publishing with GitHub pages):
conda install -c conda-forge ghp-import
Everyone (students resume here after “Start Here” steps are complete):
Install Jupyter Lab:
conda install -c conda-forge jupyterlab
Needed to switch kernels in Jupyter Lab:
conda install nb_conda_kernels
Install Pandas, Numpy, and Matplotlib:
conda install -c anaconda pandas numpy matplotlib scipy
Install IDAES-PSE (which includes pyomo):
conda install -c IDAES-PSE -c conda-forge idaes-pse
Install optimization solvers:
idaes get-extensions
Install tclab:
pip install tclab
To run Python, in either the Acaconda prompty (Windows) or terminal (Mac):
Activate our environment:
conda activate controls
Launch Jupyter lab:
jupyter lab
In the upper right corner, click on “Kernel” and change to “controls”
You are now ready to test the TCLab hardware!
Contact Us#
Most of these materials were developed by Prof. Jeffery Kantor. The repository is currently maintained by Prof. Alexander Dowling at ndcbe/controls.