Dynamic Optimization
Main.HomePage History
Show minor edits - Show changes to markup
(:title IEEE CSS Committee on Control Education:) (:keywords process control, automation, education, learn, IEEE, technical committee:) (:description Meeting Minutes, Initiatives, and Members of the IEEE Technical Committee on Control Education:)
Attach:control_education.png Δ
Meeting Schedule
The IEEE CSS Technical Committees meets twice per year with the ACC and CDC conferences.
(:title Dynamic Optimization:) (:keywords machine learning, LSTM, deep learning, nonlinear control, dynamic estimation, parameter estimation, dynamic optimization, engineering optimization, MATLAB, Python, differential, algebraic, modeling language, university course:) (:description Dynamic Optimization Course for Engineers at Brigham Young University:)
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.
<a href='https://byu.zoom.us/j/91411714288'> <button class="button"><span>Join Meeting 3 PM EDT May 27</span></button>
<a href='https://apmonitor.com/do/index.php/Main/InfoSheet'> <button class="button"><span>Registration</span></button>
Technical Committee Scope
- University education and continuing education issues in control
- Methodology for improving the theory, practice and accessibility of control systems education
- Control education laboratories, experiments, computer aided design, distance and virtual education technologies
- General awareness among pre-college students and teachers of the importance of systems and control technology and its cross-disciplinary nature
Technical Committee Tasks
- Promote control with its cross-boundary nature as a field that spans science, technology, engineering and mathematics (STEM).
- Provide students at all levels, including pre-college, undergraduate, graduate, and post-graduate, the opportunity to explore the world of control engineering
- Organize workshops and special sessions on education bringing academia and industry together to facilitate learning experiences to attract students to control engineering
- Communicate to the public at large the control field
- Engage all technical committees in control education issues and activities
- Organize semiannual meetings of the committee and use them as a platform to promote the control field
Technical Committee Members
- Chair: John Hedengren
- co-Chair (IFAC): Antonio Visioli
- Ahmad Al-Dabbagh
- Anthony Rossiter
- Atanas Serbezov
- Brian Douglas
- Daniel Rivera
- Helon Vicente Hultmann Ayala
- Jeffrey Kantor
- Steffi Knorn
- Steve Brunton
Request to join Technical Committee by filling out application form. Indicate initiatives to lead, advise, or otherwise contribute. With the recent change in leadership, some long-standing contributors to this committee may be inadvertently missed. We value your contributions and look forward to working together.
Initiatives
Curate Control Education Material
- Resourcium from Brian Douglas
- CACHE Control Resources from John Hedengren
Control Education Survey
- Control Survey? from IFAC Control Education Technical Committee
Dynamics and Control Online Courses
- Dynamics and Control Channels
- Anthony Rossiter
- Brian Douglas
- John Hedengren
- Steve Brunton
Partnerships
AACC Technical Committee on Control Education
- Chair: Daniel Abramovitch
IFAC Technical Committee on Control Education
- Chair: Antonio Visioli
Presentations
<iframe width="560" height="315" src="https://www.youtube.com/embed/057Ev6cKLwE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/EcUiJMx-3m0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Publications
- Rossiter, J.A., Serbezov, A., Visioli, A., Žáková, K., Huba, M., A survey of international views on a first course in systems and control for engineering undergraduates, IFAC Journal of Systems and Control, 13, 100092, 2020. Article
- Rossiter, J.A., Hedengren, J.D., Serbezov, A., Technical Committee on Control Education: A First Course in Systems and Control Engineering, IEEE Control Systems Magazine, Volume 41, Issue 1, pp. 20-23, 18 Jan 2021, doi:10.1109/MCS.2020.3033106 Article | Preprint Δ

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.
Introduction
<iframe width="560" height="315" src="https://www.youtube.com/embed/WCTTY4baYLk?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
Professor
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.

(:html:)
(:htmlend:)
(:htmlend:)
(:title Dynamic Optimization:) (:keywords machine learning, LSTM, deep learning, nonlinear control, dynamic estimation, parameter estimation, dynamic optimization, engineering optimization, MATLAB, Python, differential, algebraic, modeling language, university course:) (:description Dynamic Optimization Course for Engineers at Brigham Young University:)
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.
(:title IEEE CSS Committee on Control Education:) (:keywords process control, automation, education, learn, IEEE, technical committee:) (:description Meeting Minutes, Initiatives, and Members of the IEEE Technical Committee on Control Education:)
Attach:control_education.png Δ
Meeting Schedule
The IEEE CSS Technical Committees meets twice per year with the ACC and CDC conferences.
<a href='https://apmonitor.com/do/index.php/Main/InfoSheet'> <button class="button"><span>Registration</span></button>
<a href='https://byu.zoom.us/j/91411714288'> <button class="button"><span>Join Meeting 3 PM EDT May 27</span></button>
Technical Committee Scope
- University education and continuing education issues in control
- Methodology for improving the theory, practice and accessibility of control systems education
- Control education laboratories, experiments, computer aided design, distance and virtual education technologies
- General awareness among pre-college students and teachers of the importance of systems and control technology and its cross-disciplinary nature
Technical Committee Tasks
- Promote control with its cross-boundary nature as a field that spans science, technology, engineering and mathematics (STEM).
- Provide students at all levels, including pre-college, undergraduate, graduate, and post-graduate, the opportunity to explore the world of control engineering
- Organize workshops and special sessions on education bringing academia and industry together to facilitate learning experiences to attract students to control engineering
- Communicate to the public at large the control field
- Engage all technical committees in control education issues and activities
- Organize semiannual meetings of the committee and use them as a platform to promote the control field
Technical Committee Members
- Chair: John Hedengren
- co-Chair (IFAC): Antonio Visioli
- Ahmad Al-Dabbagh
- Anthony Rossiter
- Atanas Serbezov
- Brian Douglas
- Daniel Rivera
- Helon Vicente Hultmann Ayala
- Jeffrey Kantor
- Steffi Knorn
- Steve Brunton
Request to join Technical Committee by filling out application form. Indicate initiatives to lead, advise, or otherwise contribute. With the recent change in leadership, some long-standing contributors to this committee may be inadvertently missed. We value your contributions and look forward to working together.
Initiatives
Curate Control Education Material
- Resourcium from Brian Douglas
- CACHE Control Resources from John Hedengren
Control Education Survey
- Control Survey? from IFAC Control Education Technical Committee
Dynamics and Control Online Courses
- Dynamics and Control Channels
- Anthony Rossiter
- Brian Douglas
- John Hedengren
- Steve Brunton
Partnerships
AACC Technical Committee on Control Education
- Chair: Daniel Abramovitch
IFAC Technical Committee on Control Education
- Chair: Antonio Visioli
Presentations
<iframe width="560" height="315" src="https://www.youtube.com/embed/EcUiJMx-3m0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/057Ev6cKLwE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

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.
Introduction
Publications
- Rossiter, J.A., Serbezov, A., Visioli, A., Žáková, K., Huba, M., A survey of international views on a first course in systems and control for engineering undergraduates, IFAC Journal of Systems and Control, 13, 100092, 2020. Article
- Rossiter, J.A., Hedengren, J.D., Serbezov, A., Technical Committee on Control Education: A First Course in Systems and Control Engineering, IEEE Control Systems Magazine, Volume 41, Issue 1, pp. 20-23, 18 Jan 2021, doi:10.1109/MCS.2020.3033106 Article | Preprint Δ
<iframe width="560" height="315" src="https://www.youtube.com/embed/WCTTY4baYLk?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
Professor
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.

(:html:)
(:htmlend:)
(:htmlend:)
![]() | 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. |

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.

![]() | 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. |
![]() | 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. |
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. | ![]() |
![]() | 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. |
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. | ![]() |
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. | ![]() |
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/KVMqp6C2l1Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> (:htmlend:)


<iframe width="560" height="315" src="https://www.youtube.com/embed/KVMqp6C2l1Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/EcUiJMx-3m0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/KVMqp6C2l1Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> (:htmlend:)

(:title Machine Learning & Dynamic Optimization:)
(:title Dynamic Optimization:)
(:title Machine Learning and Dynamic Optimization:)
(:title Machine Learning & Dynamic Optimization:)
(:title Dynamic Optimization:) (:keywords nonlinear control, dynamic estimation, parameter estimation, dynamic optimization, engineering optimization, MATLAB, Python, differential, algebraic, modeling language, university course:)
(:title Machine Learning and Dynamic Optimization:) (:keywords machine learning, LSTM, deep learning, nonlinear control, dynamic estimation, parameter estimation, dynamic optimization, engineering optimization, MATLAB, Python, differential, algebraic, modeling language, university course:)
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/KVMqp6C2l1Q" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> (:htmlend:)
![]() | 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. |
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. | ![]() |
![]() | 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. |
![]() | 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. |

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.
![]() | 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. |
John Hedengren worked 5 years with ExxonMobil Chemical on Optimization solutions for the petrochemical industry. He conducts research in optimization methods, modeling systems, and applications in Chemical Engineering. The PRISM group is actively working on oil and gas drilling automation, reservoir engineering, process optimization, unmanned aerial vehicles, and systems biology.
Course Requirements
We will use a set of course notes and instructional videos that take the place of the book. Everyone will have access to these notes and videos through this web-site.
To register for the course, fill out a Personal Information Sheet.
A Temperature Control Lab is required for exercises in this course.

(:html:) <a href='https://apmonitor.com/pdc/index.php/Main/PurchaseLabKit'> <button class="button"><span>Get Lab Kit</span></button> </a> (:htmlend:)
Resources
Reading is essential to success in this course. There are a number of resources that are available on the course web-site or through external sources. Most of the reading will come from journal articles or book chapters. Below is a list of some supplementary resources.
- Courses
- ChE263: Computational Tools for Engineers for MATLAB / Python
- ChE436: Process Dynamics and Control in MATLAB (2011-2015)
- ChE436: Process Dynamics and Control in Python (2016-current)
- ME575: Optimization Techniques in Engineering for review on optimization
- Online Resources
- Articles
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Article, Preprint
- Beal, L.D.R., Hill, D., Martin, R.A., and Hedengren, J.D., GEKKO Optimization Suite, Processes, Volume 6, Number 8, 2018, doi: 10.3390/pr6080106. Article (Open Access)
- Books
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren, 2013. PDF
Grading
(:table border=0 width=60%:) (:cell:) Assignments (:cell:) 10% (:cellnr:) Mid-Term Exam (:cell:) 25% (:cellnr:) Final Exam (:cell:) 25% (:cellnr:) Arduino Project (:cell:) 10% (:cellnr:) Final Project (:cell:) 30% (:tableend:)
Grade Expectations
A Read or watch material in advance, be attentive and ask questions in lectures, understand and do all homework on time, study hard for exams well before the exam starts, work hard and perform well on exams and the class projects.
B Skim material in advance, attend lectures and try to stay awake, depend on TA for homework help, casually study for the exam by working the practice exam instead of learning concepts.
C Never read book, work on other homework during class, skip some homework assignments, start cramming for the exam the night before the exam.
D Skip class, don't turn in homework or turn it in late, start learning during the exam.
Exams
There will be a mid-term and the final exam. These exams may be closed book and/or open book, in-class or in the testing center, as specified by the instructor prior to the exam. Exams will only be given after the scheduled date by special permission. Students with conflicts should arrange to take the exam prior to the scheduled date.
Projects
You will be required to complete a course project. I will provide suggestions or you can do something of your own interest or something that is integrated with a campus or off-campus research project.
Computer Tools
Using computer software as a technique for solving dynamic optimization problems is the focus of this course. All homework assignments will require the use of a computer.
One of the most common questions that I receive from students who would like to take this class is, "How much programming experience is required to succeed in the class?"
To address this concern, I have prepared Python and MATLAB software tutorials that assume very little knowledge of programming. Additionally, there is a collection of IPython notebooks that are for beginners with TCLab Python programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background.
This is a dynamic optimization course, not a programming course, but some familiarity with MATLAB, Python, or equivalent programming language is required to perform assignments, projects, and exams. Students who complete the course will gain experience in at least one programming language.
Preventing Sexual Misconduct
As required by Title IX of the Education Amendments of 1972, the university prohibits sex discrimination against any participant in its education programs or activities. Title IX also prohibits sexual harassment—including sexual violence—committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence, sexual assault, and stalking are considered forms of “Sexual Misconduct” prohibited by the university.
University policy requires any university employee in a teaching, managerial, or supervisory role to report incidents of Sexual Misconduct that come to their attention through various forms including face-to-face conversation, a written class assignment or paper, class discussion, email, text, or social media post. If you encounter Sexual Misconduct, please contact the Title IX Coordinator at t9coordinator@byu.edu or 801-422-2130 or Ethics Point at https://titleix.byu.edu/report-concern or 1-888-238-1062 (24-hours). Additional information about Title IX and resources available to you can be found at titleix.byu.edu.
Disability Resources
If you suspect or are aware that you have a disability, you are strongly encouraged to contact the University Accessibility Center (UAC) located at 2170 WSC (801-422-2767) as soon as possible. A disability is a physical or mental impairment that substantially limits one or more major life activities. Examples include vision or hearing impairments, physical disabilities, chronic illnesses, emotional disorders (e.g., depression, anxiety), learning disorders, and attention disorders (e.g., ADHD). When registering with the UAC, the disability will be evaluated and eligible students will receive assistance in obtaining reasonable University approved accommodations.
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.

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.
- 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.
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.
- Course Outcomes
Course Outcomes
Introduction
Introduction
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.
Introduction
The Machine Learning and Dynamic Optimization course is a Graduate level course for engineers 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.
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.
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, machine learning, nonlinear programming, estimation, and advanced control methods such as model predictive control.
The Machine Learning and Dynamic Optimization course is a Graduate level course for engineers 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.
<iframe width="560" height="315" src="https://www.youtube.com/embed/WCTTY4baYLk?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
(:html:)
(:htmlend:)

(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/WCTTY4baYLk?rel=0" frameborder="0" allowfullscreen></iframe>
To address this concern, I have prepared software tutorials that assume very little knowledge of programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background.
To address this concern, I have prepared Python and MATLAB software tutorials that assume very little knowledge of programming. Additionally, there is a collection of IPython notebooks that are for beginners with TCLab Python programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background.
A Temperature Control Lab (PID+MPC) is required for several exercises in this course.
A Temperature Control Lab is required for exercises in this course.
Office: 801-422-2590, 350 CB
Office: 801-422-2590, 330L EB


A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit).
A Temperature Control Lab (PID+MPC) is required for several exercises in this course.
- ChE263: Computational Tools for Engineers for review on MATLAB / Python
- ChE263: Computational Tools for Engineers for MATLAB / Python
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Article, Preprint
- Beal, L.D.R., Hill, D., Martin, R.A., and Hedengren, J.D., GEKKO Optimization Suite, Processes, Volume 6, Number 8, 2018, doi: 10.3390/pr6080106. Article (Open Access)
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren, 2013. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
- Optimization of Chemical Processes, Edgar, T.F., Himmelblau, D.M., and L.S. Lasdon, McGraw Hill, 2001.
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren, 2013. PDF
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, reinforcement learning, nonlinear programming, estimation, and advanced control methods such as model predictive control.
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, machine learning, nonlinear programming, estimation, and advanced control methods such as model predictive control.
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, nonlinear programming, estimation, and advanced control methods such as model predictive control.
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, reinforcement learning, nonlinear programming, estimation, and advanced control methods such as model predictive control.
background-color: #0000aa;
background-color: #1e90ff;
background-color: #2222ee;
background-color: #0000aa;
width: 200px;
width: 250px;
background-color: #ADD8E6;
background-color: #2222ee;
background-color: #d3d3d3;
background-color: #ADD8E6;
Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).

(:divend:)
(:toggle hide tclab button show="Buy or Build TCLab":) (:div id=tclab:)
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="CZWTTVAV9BJ8C"> <table> <tr><td><input type="hidden" name="on0" value="Lab Type">Lab Type</td></tr><tr><td><select name="os0">
<option value="Basic (PID) and Advanced Control (MPC) Kit">Basic (PID) and Advanced Control (MPC) Kit $35.00 USD</option> <option value="Basic (PID) Lab Kit">Basic (PID) Lab Kit $29.00 USD</option>
</select> </td></tr> <tr><td><input type="hidden" name="on1" value="Firmware (can change later)">Arduino Firmware (can change later)</td></tr><tr><td><select name="os1">
<option value="MATLAB and Simulink">MATLAB and Simulink </option> <option value="Python">Python </option>
</select> </td></tr> <tr><td><input type="hidden" name="on2" value="Other notes (e.g. EU Plug)">Other notes (e.g. EU Plug)</td></tr><tr><td><input type="text" name="os2" maxlength="200"></td></tr> </table> <input type="hidden" name="currency_code" value="USD"> <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif1" height="1"> </form>
<a href='https://apmonitor.com/pdc/index.php/Main/PurchaseLabKit'> <button class="button"><span>Get Lab Kit</span></button> </a>
(:htmlend:)
(:htmlend:)
<button class="button"><span>Register for Class</span></button>
<button class="button"><span>Registration</span></button>
(:html:) <a href='https://apmonitor.com/do/index.php/Main/InfoSheet'> <button class="button"><span>Register for Class</span></button> </a> (:htmlend:)
If you suspect or are aware that you have a disability, you are strongly encouraged to contact the University Accessibility Center (UAC) located at 2170 WSC (801-422-2767) as soon as possible. A disability is a physical or mental impairment that substantially limits one or more major life activities. Examples include vision or hearing impairments, physical disabilities, chronic illnesses, emotional disorders (e.g., depression, anxiety), learning disorders, and attention disorders (e.g., ADHD). When registering with the UAC, the disability will be evaluated and eligible students will receive assistance in obtaining reasonable University approved accommodations.
If you suspect or are aware that you have a disability, you are strongly encouraged to contact the University Accessibility Center (UAC) located at 2170 WSC (801-422-2767) as soon as possible. A disability is a physical or mental impairment that substantially limits one or more major life activities. Examples include vision or hearing impairments, physical disabilities, chronic illnesses, emotional disorders (e.g., depression, anxiety), learning disorders, and attention disorders (e.g., ADHD). When registering with the UAC, the disability will be evaluated and eligible students will receive assistance in obtaining reasonable University approved accommodations.
(:html:) <style> .button {
border-radius: 4px; background-color: #d3d3d3; border: none; color: #FFFFFF; text-align: center; font-size: 28px; padding: 20px; width: 200px; transition: all 0.5s; cursor: pointer; margin: 5px;
}
.button span {
cursor: pointer; display: inline-block; position: relative; transition: 0.5s;
}
.button span:after {
content: '\00bb'; position: absolute; opacity: 0; top: 0; right: -20px; transition: 0.5s;
}
.button:hover span {
padding-right: 25px;
}
.button:hover span:after {
opacity: 1; right: 0;
} </style> (:htmlend:)
(:toggle hide tclab button show="Buy or Build TCLab":) (:div id=tclab:)
(:divend:)
Class Participation
Assignments
Article Review
Mid-Term Exam
5%
25%
Assignments
Final Exam
10%
25%
Mid-Term Exam
Arduino Project
20%
10%
Final Exam
Final Project
25% (:cellnr:) Arduino Project (:cell:) 5% (:cellnr:) Final Project (:cell:) 25%
30%
A Read material in advance, be attentive and ask questions in lectures, understand and do all homework on time, study hard for exams well before the exam starts, work hard and perform well on exams and the class projects.
A Read or watch material in advance, be attentive and ask questions in lectures, understand and do all homework on time, study hard for exams well before the exam starts, work hard and perform well on exams and the class projects.
You will be required to complete a course projects. I will provide suggestions or you can do something of your own interest or something that is integrated with a campus or off-campus research project.
You will be required to complete a course project. I will provide suggestions or you can do something of your own interest or something that is integrated with a campus or off-campus research project.
A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit). Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).
A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit).
Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).

<option value="Basic (PID) and Advanced Control (MPC) Kit">Basic (PID) and Advanced Control (MPC) Kit $35.00 USD</option>
<option value="Basic (PID) and Advanced Control (MPC) Kit">Basic (PID) and Advanced Control (MPC) Kit $35.00 USD</option>
A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit). Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).
A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit). Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).

(:html:) <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="hosted_button_id" value="CZWTTVAV9BJ8C"> <table> <tr><td><input type="hidden" name="on0" value="Lab Type">Lab Type</td></tr><tr><td><select name="os0">
<option value="Basic (PID) Lab Kit">Basic (PID) Lab Kit $29.00 USD</option> <option value="Basic (PID) and Advanced Control (MPC) Kit">Basic (PID) and Advanced Control (MPC) Kit $35.00 USD</option>
</select> </td></tr> <tr><td><input type="hidden" name="on1" value="Firmware (can change later)">Arduino Firmware (can change later)</td></tr><tr><td><select name="os1">
<option value="MATLAB and Simulink">MATLAB and Simulink </option> <option value="Python">Python </option>
</select> </td></tr> <tr><td><input type="hidden" name="on2" value="Other notes (e.g. EU Plug)">Other notes (e.g. EU Plug)</td></tr><tr><td><input type="text" name="os2" maxlength="200"></td></tr> </table> <input type="hidden" name="currency_code" value="USD"> <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif0" name="submit" alt="PayPal - The safer, easier way to pay online!"> <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif1" height="1"> </form> (:htmlend:)
Required Text
Course Requirements
To register for the course, fill out a Personal Information Sheet.
A Temperature Control Lab (PID+MPC) is required for several exercises in this course. The lab kits are available for bulk order ($25/kit) or individual order ($35/kit). Instructions are also available to build a simplified (SISO) lab kit with an Arduino and bread-board ($49 for recommended parts).
Office: 801-422-2590, 350R CB
Office: 801-422-2590, 350 CB
Final Project
Arduino Project
30%
5% (:cellnr:) Final Project (:cell:) 25%
- ChE436: Process Dynamics and Control in Python (2016-)
- ChE436: Process Dynamics and Control in Python (2016-current)
- ChE436: Process Dynamics and Control for review on dynamic modeling and control
- ChE436: Process Dynamics and Control in MATLAB (2011-2015)
- ChE436: Process Dynamics and Control in Python (2016-)
(:table border=0 width=100%:) (:cell width=15% align='right':)

(:cell width=2% align='right':) (:cell width=83%:)

(:tableend:)
Preventing Sexual Misconduct
As required by Title IX of the Education Amendments of 1972, the university prohibits sex discrimination against any participant in its education programs or activities. Title IX also prohibits sexual harassment—including sexual violence—committed by or against students, university employees, and visitors to campus. As outlined in university policy, sexual harassment, dating violence, domestic violence, sexual assault, and stalking are considered forms of “Sexual Misconduct” prohibited by the university.
University policy requires any university employee in a teaching, managerial, or supervisory role to report incidents of Sexual Misconduct that come to their attention through various forms including face-to-face conversation, a written class assignment or paper, class discussion, email, text, or social media post. If you encounter Sexual Misconduct, please contact the Title IX Coordinator at t9coordinator@byu.edu or 801-422-2130 or Ethics Point at https://titleix.byu.edu/report-concern or 1-888-238-1062 (24-hours). Additional information about Title IX and resources available to you can be found at titleix.byu.edu.
Discussion Group: https://groups.google.com/forum/#!forum/apmonitor
- YouTube Channel: https://www.youtube.com/user/APMonitorCom (subscribe)


- Discussion Group: https://groups.google.com/forum/#!forum/apmonitor
Discussion Group: https://groups.google.com/forum/#!forum/apmonitor
Class Preparation and Participation
Class Participation
Assignments
Article Review
10%
5%
Mid-Term Exam
Assignments
20%
10%
Final Exam
Mid-Term Exam
30%
20% (:cellnr:) Final Exam (:cell:) 25%
(:table border=0 width=50%:)
(:table border=0 width=60%:)
(:cell:)
(:cellnr:)
Assignments / Participation
Class Preparation and Participation
20%
10% (:cell:) Assignments (:cell:) 10%
ChE 593R: Dynamic Optimization M/W/F 1-3 pm
Course Introduction
(:html:) (:htmlend:)
(:html:) <iframe width="560" height="315" src="https://www.youtube.com/embed/WCTTY4baYLk?rel=0" frameborder="0" allowfullscreen></iframe> (:htmlend:)
ChE 693R: Dynamic Optimization
ChE 593R: Dynamic Optimization
M/W/F ? am, ?413? CB
M/W/F 1-3 pm, 413? CB
(:title Dynamic Optimization for Engineers:)
(:title Dynamic Optimization:)
(:cell width=5% align='right':) (:cell width=80%:)
(:cell width=2% align='right':) (:cell width=83%:)
(:cell width=85%:)
(:cell width=5% align='right':) (:cell width=80%:)
- ChE436: Process Dynamics and Control for review on dynamic modeling and control
- ChE436: Process Dynamics and Control for review on dynamic modeling and control
- Computational Tools for Engineers for review on MATLAB / Python
- Optimization Techniques in Engineering for review on optimization
- Process Dynamics and Control for review on dynamic modeling and control
- ChE263: Computational Tools for Engineers for review on MATLAB / Python
- ME575: Optimization Techniques in Engineering for review on optimization
- ChE436: Process Dynamics and Control for review on dynamic modeling and control
- Courses
- Computational Tools for Engineers for review on MATLAB / Python
- Optimization Techniques in Engineering for review on optimization
- Process Dynamics and Control for review on dynamic modeling and control
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren, 2013. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
- Optimization of Chemical Processes, Edgar, T.F., Himmelblau, D.M., and L.S. Lasdon, McGraw Hill, 2001.
- Online Resources
- Discussion Group: https://groups.google.com/forum/#!forum/apmonitor
- YouTube Channel: https://www.youtube.com/user/APMonitorCom (subscribe)
- Articles
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available
- Books
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
- Optimization of Chemical Processes, Edgar, T.F., Himmelblau, D.M., and L.S. Lasdon, McGraw Hill, 2001.
(:table border=0 width=95%:)
(:table border=0 width=100%:)
(:cell width=12% align='right':)
(:cell width=15% align='right':)
(:cell width=80%:)
(:cell width=85%:)
(:cell width=20% align='right':)
(:cell width=12% align='right':)
(:cell width=20%:)
(:cell width=20% align='right':)

(:table border=0 width=95%:) (:cell width=20%:)

(:cell width=80%:) John Hedengren worked 5 years with ExxonMobil Chemical on Optimization solutions for the petrochemical industry. He conducts research in optimization methods, modeling systems, and applications in Chemical Engineering. The PRISM group is actively working on oil and gas drilling automation, reservoir engineering, process optimization, unmanned aerial vehicles, and systems biology. (:tableend:)
Chemical Engineering 693R
Dynamic Optimization
ChE 693R: Dynamic Optimization
Professor:

Professor
John Hedengren worked 5 years with ExxonMobil Chemical on Optimization solutions for the petrochemical industry. He conducts research in optimization methods, modeling systems, and applications in Chemical Engineering. The PRISM group is actively working on oil and gas drilling automation, reservoir engineering, process optimization, unmanned aerial vehicles, and systems biology.



John Hedengren worked 5 years with ExxonMobil Chemical on Optimization solutions for the petrochemical industry. He conducts research in optimization methods, modeling systems, and applications in Chemical Engineering. The PRISM group is actively working on oil and gas drilling automation, reservoir engineering, process optimization, unmanned aerial vehicles, and systems biology.
Teaching Assistant
Computers
Using computer software as a technique for solving dynamic optimization problems is the focus of this course. All homework assignments will require the use of a computer.
Recitation Sessions
As needed through-out the semester. The Teaching Assistant will conduct the recitation sessions. Generally they will be held:
- Before exams
- To help work through difficult project issues
- For additional class time
Using computer software as a technique for solving dynamic optimization problems is the focus of this course. All homework assignments will require the use of a computer.
To address this concern, I have prepared software tutorials that assume very little knowledge of programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background. We can also hold recitation sessions in a computer lab outside of normal class times if there is need.
This is an optimization course, not a programming course, but some familiarity with MATLAB, Python, C++, or equivalent programming language is required to perform assignments, projects, and exams. Students who complete the course will gain experience in at least one of these programming languages.
I will come prepared to each class, ready to help explain the material covered in the reading. I appreciate attentive students who respect my time and the time of other students.
To address this concern, I have prepared software tutorials that assume very little knowledge of programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background.
This is a dynamic optimization course, not a programming course, but some familiarity with MATLAB, Python, or equivalent programming language is required to perform assignments, projects, and exams. Students who complete the course will gain experience in at least one programming language.
(:Summary:The default home page for the PmWiki distribution:) Welcome to PmWiki!
A local copy of PmWiki's documentation has been installed along with the software, and is available via the documentation index.
To continue setting up PmWiki, see initial setup tasks.
The basic editing page describes how to create pages in PmWiki. You can practice editing in the wiki sandbox.
More information about PmWiki is available from https://www.pmwiki.org.
(:title Dynamic Optimization for Engineers:) (:keywords nonlinear control, dynamic estimation, parameter estimation, dynamic optimization, engineering optimization, MATLAB, Python, differential, algebraic, modeling language, university course:) (:description Dynamic Optimization Course for Engineers at Brigham Young University:)
Chemical Engineering 693R
Dynamic Optimization M/W/F ? am, ?413? CB
Dynamic Optimization for Engineers is a graduate level course on the theory and applications of numerical methods for solution of time-varying systems with a focus on engineering design and real-time control applications. Concepts taught in this course include mathematical modeling, data reconciliation, nonlinear programming, estimation, and advanced control methods such as model predictive control.
Professor:
John D. Hedengren Office: 801-422-2590, 350R CB Cell: 801-477-7341 Contact: john.hedengren [at] byu.edu

Course Introduction
(:html:) (:htmlend:)
Teaching Assistant
Required Text
We will use a set of course notes and instructional videos that take the place of the book. Everyone will have access to these notes and videos through this web-site.
Resources
Reading is essential to success in this course. There are a number of resources that are available on the course web-site or through external sources. Most of the reading will come from journal articles or book chapters. Below is a list of some supplementary resources.
- Optimization Methods for Engineering Design, Parkinson, A.R., Balling, R., and J.D. Hedengren. Available at: https://apmonitor.com/me575/index.php/Main/BookChapters
- Nonlinear Modeling, Estimation and Predictive Control in APMonitor, Hedengren, J. D. and Asgharzadeh Shishavan, R., Powell, K.M., and Edgar, T.F., Computers and Chemical Engineering, Volume 70, pg. 133–148, 2014. Available at: https://dx.doi.org/10.1016/j.compchemeng.2014.04.013
- Optimization of Chemical Processes, Edgar, T.F., Himmelblau, D.M., and L.S. Lasdon, McGraw Hill, 2001.
Computers
Using computer software as a technique for solving dynamic optimization problems is the focus of this course. All homework assignments will require the use of a computer.
Recitation Sessions
As needed through-out the semester. The Teaching Assistant will conduct the recitation sessions. Generally they will be held:
- Before exams
- To help work through difficult project issues
- For additional class time
Grading
(:table border=0 width=50%:) (:cell:) Homework (:cell:) 20% (:cellnr:) Mid-Term Exam (:cell:) 20% (:cellnr:) Final Exam (:cell:) 30% (:cellnr:) Final Project (:cell:) 30% (:tableend:)
Grade Expectations
A Read material in advance, be attentive and ask questions in lectures, understand and do all homework on time, study hard for exams well before the exam starts, work hard and perform well on exams and the class projects.
B Skim material in advance, attend lectures and try to stay awake, depend on TA for homework help, casually study for the exam by working the practice exam instead of learning concepts.
C Never read book, work on other homework during class, skip some homework assignments, start cramming for the exam the night before the exam.
D Skip class, don't turn in homework or turn it in late, start learning during the exam.
Exams
There will be a mid-term and the final exam. These exams may be closed book and/or open book, in-class or in the testing center, as specified by the instructor prior to the exam. Exams will only be given after the scheduled date by special permission. Students with conflicts should arrange to take the exam prior to the scheduled date.
Projects
You will be required to complete a course projects. I will provide suggestions or you can do something of your own interest or something that is integrated with a campus or off-campus research project.
Computer Tools
One of the most common questions that I receive from students who would like to take this class is, "How much programming experience is required to succeed in the class?"
To address this concern, I have prepared software tutorials that assume very little knowledge of programming. There are also many excellent resources on the internet that give tutorial introductions to programming. Those students who have no or little programming experience can review these step-by-step instructional videos to gain some of the required background. We can also hold recitation sessions in a computer lab outside of normal class times if there is need.
This is an optimization course, not a programming course, but some familiarity with MATLAB, Python, C++, or equivalent programming language is required to perform assignments, projects, and exams. Students who complete the course will gain experience in at least one of these programming languages.
I will come prepared to each class, ready to help explain the material covered in the reading. I appreciate attentive students who respect my time and the time of other students.
Disability Resources
If you suspect or are aware that you have a disability, you are strongly encouraged to contact the University Accessibility Center (UAC) located at 2170 WSC (801-422-2767) as soon as possible. A disability is a physical or mental impairment that substantially limits one or more major life activities. Examples include vision or hearing impairments, physical disabilities, chronic illnesses, emotional disorders (e.g., depression, anxiety), learning disorders, and attention disorders (e.g., ADHD). When registering with the UAC, the disability will be evaluated and eligible students will receive assistance in obtaining reasonable University approved accommodations.