Dynamic Optimization

Machine Learning and Dynamic Optimization is a graduate level course on the theory and applications of numerical solutions of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include physics-based and empirical modeling, machine learning classification and regression, nonlinear programming, estimation, and advanced control methods such as model predictive control.

Course Outcomes

  • Students will demonstrate proficiency in theory and applications for optimization of dynamic systems with physics-based and machine learned models.
  • Students will be able to create a digital twin of a physical process that computes in parallel to a real-time microcontroller.
  • Students will be able to numerically solve ordinary and partial differential equations with coupled algebraic constraints.
  • Students will be able to collect and analyze time-series data to build data-driven automation strategies.
  • Students will be able to articulate classification and regression results with statistical measures of success.
  • Students will be able to formulate and execute a project that utilizes course topics in machine learning and optimization methods for a novel application.
  • Students will be able to solve optimization problems with nonlinear, mixed integer, multi-objective, and stochastic characteristics.

Related Topics

  • Engineering-specific programming (Python, Matlab) with treatment of numerical methods.
  • Machine Learning for Engineers: building mathematical models for classification and regression based on training data to make empirical predictions or decisions.
  • Cybersecurity for Engineers: assessing and mitigating risks from computer-based adversarial attacks on engineered systems.
  • Data Science: using scientific methods, processes, algorithms and systems to extract knowledge and insights from data.
  • Data Visualization: creating graphical representations of data to extract insights.
  • Internet of Things: building cyber-physical systems that connect microcontrollers, sensors, actuators, and other embedded devices. Includes mechatronics, embedded systems, distributed systems, and networking.
  • High Performance Computing: programming high-performance computers (e.g., supercomputers, cloud computing) to tackle computationally-intensive engineering problems.



 John D. Hedengren
 Office: 801-422-2590, 330L EB
 Cell: 801-477-7341
 Contact: john.hedengren [at] byu.edu

John Hedengren leads the BYU PRISM group with interests in combining data science, optimization, and automation with current projects in hybrid nuclear energy system design and unmanned aerial vehicle photogrammetry. He earned a doctoral degree at the University of Texas at Austin and worked 5 years with ExxonMobil Chemical prior to joining BYU in 2011.