Hello and welcome!

This course – Practical MDO – is designed to help you understand and perform multidisciplinary design optimization (MDO). MDO is a formalized term for systems engineering that involves using optimization methods to solve design problems that span multiple disciplines.

We focus on three main topics that are inherently intertwined and required to perform MDO of complex systems. These topics are model construction, model differentiation, and optimization. Armed with knowledge from all three of these topics, you will be able to analyze and design the next generation of systems engineering projects.

Venn diagram showing the three sub-topics of this course

These lessons should be useful for people who want to perform MDO in an effective and impactful manner. It should be helpful for people who are constructing multidisciplinary models, performing exploratory analyses, and examining the design space through automated optimization. Industry practitioners, researchers, students, and others might find this course useful.

This course is constantly under development, so please expect rapid changes and updates. We will release lessons as they are developed. Lessons consist of video lessons on YouTube and interactive Jupyter notebooks that use OpenMDAO.

If there’s a topic or if you have feedback about how to make this set of lessons better, please let us know! Feel free to comment on a YouTube video or open an issue on the GitHub repo.

Please view this welcome video for more information and to meet your guide – John Jasa.

Welcome and intro video

Video transcript available on YouTube and here.

Main points for the course

  • Course designed for MDO practitioners

  • Assumes you have college-level engineering, differential equations, and numerical methods understanding

  • Assumes you have some Python and OpenMDAO experience

  • If you want to learn some of the theory behind this course, check out the free textbook Engineering Design Optimization by Martins and Ning which we reference throughout the course

  • The ideas presented here come from decades of person-years experience from NASA Glenn Research Center, the MDO Lab at the University of Michigan, and other contributors

  • We aim to codify a lot of the learned knowledge that exists somewhere between theory and implementation

  • This knowledge is required to perform MDAO (multidisciplinary design analysis and optimization) well

Foundation for the course

  • There are three main interconnected concepts required to perform good MDAO, as initially presented here.

  • These topics are model construction, model differentiation, and nonlinear optimization

  • These concepts cannot be examined linearly as they are tightly connected in many ways

  • We must jump between the three broad categories often and purposefully to better connect learning from these modules

This course’s format

  • This course is meant to be processed asynchronously without input from anyone else both as an initial teaching tool and as a reference during future MDO

  • Specifically, this is to help onboard NASA engineers joining aeronautics research projects, but should be broadly helpful to any MDO practitioners

  • Lessons for this course are collected into different groups based on what you’re doing. See the Guided lessons page on the left for more info

  • A “choose your own adventure” approach might be beneficial based on your use cases