Learning Resources

Here we outline some recommended material for students wishing to start on topics related to optimisation, artificial intelligence and dynamic systems from the process systems perspective.

Optimization

Books

  • Numerical Optimization by J. Nocedal and S. Wright
    • Great book to learn continuous optimization algorithms, the suggestion it to implementing pseudo-codes in your language of choice as you traverse through the book.
  • Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications by C. A. Floudas
    • A favorite source to learn convex mixed-integer optimization

Online Courses

  • Convex Optimization I and Convex Optimization II by S. Boyd
    • Great content allover! Lectures 13-19 of COI and all COII are great, and generally underrated. An online book is also available.
  • Discrete Optimization by P. Van Hentenryck and C. Coffrin from Coursera learning platform
    • Interactive and very fun course to learn discrete optimization
  • Deterministic Optimization by  S. Ahmed from edX learning platform
    • A great interactive course which gives an overview to many optimization instances and problems, also accompanied with practical material.

Reinforcement Learning

Books

  • Reinforcement Learning: An Introduction by R. S. Sutton and A. G. Barto
    • One of the most complete books on the subject, latest version is from 2018. Complements nicely with online courses. Freely available online.

Online Courses

  • Deep Reinforcement Learning by CS 294-112 at UC Berkeley
    • Great content, including YouTube videos, homework, a subreddit, GitHub repositories, etc. 
  • Reinforcement Learning by David Silver
    • Nice and easy material to understand
  • Practical Reinforcement Learning by P. Shvechikov and A. Panin from coursera learning platform
    • Good overall content and intuitive explanations 
  • Reinforcement Learning Explained by Microsoft Research AI from edX learning platform
    • First two weeks insightful and well explained. It pairs well with the book Reinforcement Learning: An Introduction

Applied Statistics

Books

  • The Elements of Statistical Learning: Data Mining, Inference, and Prediction by J. H. Friedman, R. Tibshirani, and T. Hastie
    • Insights and intuitive explanations on ML methods from an applied statistics perspective.

Online Courses

Dynamic Optimization (Optimal control) and MPC

Books

  • Dynamic Programming and Optimal Control by  D. P. Bertsekas
    • Nice presentation that shows the relations between Dynamic Programming and Optimal Control. Written from a computer science perspective.
  • Predictive Control: With Constraints by J. Maciejowski
    • Good introductory material to Model Predictive Control
  • Numerical Optimal Control by M. Diehl and S. Gros
    • Great source on how to solve OC problems numerically, goes very well with his online course
  • Nonlinear and Dynamic Optimization: From Theory to Practice by B. Chachuat
    • This is a great source for a formal and complete description of dynamic optimization problems in engineering practice. It might be slightly more mathematically demanding than the three previous sources.
  • Model Predictive Control: Theory, Computation, and Design by J. B. Rawlings,  D. Q. Mayne and M. M. Diehl
    • Probably the most complete book on linear MPC, although it might be a difficult read for a beginner in the topic.

Online Courses

  • Numerical Optimal Control by M. Diehl
    • Very complete learning material, goes very well with his book
  • Underactuated Robotics by R. Tedrake, R. Deits and T. Koolen from edX learning platform
    • A nice course which covers topics on Dynamic Programming, Control and Dynamic Optimization (can also be found here)
  • Nptel by the Indian Institutes of Technology (IIT) and Indian Institute of Science (IISc)
    • There are great courses on this site, however, those on Control, State Estimation, Model Predictive Control, and Optimal Control seem particularly good.

Linear Algebra

Books

  • Introduction to Linear Algebra by  G. Strang
    • Great presentation and intuition on the topic, goes well with his online video lectures
  • Linear Algebra by Jim Hefferon 
    • Freely available online, very enjoyable exercises

Online Courses

  • Linear Algebra - Foundations to Frontiers by M. Myers and R. van de Geijn from edX learning platform
    • Great course, gives mathematical background as well as great practical exercises.  
  • Linear Algebra by  G. Strang
    • Similar to his book, Linear Algebra is presented in a very intuitive and easy to understand fashion. 

Machine Learning

Books

  • Deep Learning by  I. Goodfellow, Y. Bengio and A. Courville
    • Authored by pioneers on the field, freely available. Probably the best book on Deep Learning.
  • Hands-On Machine Learning with Scikit-Learn and TensorFlow by A. Geron  
    • For people who want to learn ML by doing practical examples

Online Courses

  • Deep Learning Specialization by Andrew Ng, K. Katanforoosh and B. Mourri from coursera learning platform
    • A series of 5 courses, that take you from knowing nothing to a very good understanding and practical training on deep learning. Explanations need a minimum mathematical requirement. 
  • Machine Learning by by Andrew Ng
    • The course that made Andrew Ng famous. A very nice course, although might be slightly outdated. You can also find his course at Stanford here.

Note that blogs, GitHub repositories, YouTube symposiums, online classes and tutorials can be excellent learning material. Particularly for ML, RL and DL there are new courses and tutorials coming out everyday! Maybe worthwhile exploring the web on your own :)