Optimization Techniques in Engineering

ME575/CE575: Optimization Techniques in Engineering (3 credit hours). This course covers theory and applications for optimization in engineering design. Topics include:

  • Optimization Introduction
  • Mathematical Modeling
  • Unconstrained Optimization
  • Discrete Optimization
  • Genetic Algorithms
  • Constrained Optimization
  • Robust Optimization
  • Dynamic Optimization

Both MATLAB and Python are used throughout the course as computational tools for implementing homework and exam problems and for the course projects. Tutorials in MATLAB and Python are provided as part of a separate computational tools course.

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.


Everyone will have access to the book (download PDFs). You will need to thoroughly understand everything in the chapters. Please read the appropriate section before coming to class as indicated on the schedule.


  • Belegundu A. and T. Chandrupatla Optimization Concepts and Applications in Engineering, Prentice Hall, 1999.
  • Gen, M. and R. Cheng, Genetic Algorithms and Engineering Optimization, Wiley, 2000.
  • Edgar, T.F., Himmelblau, D.M., and L.S. Lasdon, Optimization of Chemical Processes, McGraw Hill, 2001. Book | Chapters
  • Fletcher R., Practical Methods of Optimization Volumes 1,2, John Wiley 1980, 1981.
  • Luenberger and Ye, Linear and Nonlinear Programming Third Edition, Springer, 2008.
  • Martins, J, Ning, A., Engineering Design Optimization, Cambridge University Press, 2021. Preprint

There is also another engineering optimization course taught by Dr. Andrew Ning of the Mechanical Engineering department. Dr. Ning has another optimization textbook that is very good and focuses on aerospace engineering examples. There are also many online resources such as Mathematical Optimization for Engineers (edX course).

Recitation Sessions

As needed through-out the semester. The Teaching Assistants will conduct the recitation sessions. Generally they will be held:

  • Before exams
  • To help work through difficult project issues
  • For additional class time

Catalog Description

ME 575: Optimization Techniques in Engineering (3 credit hours). Also cross-listed as CE EN 575. Application of computer optimization techniques to constrained engineering design. Theory and application of unconstrained and constrained nonlinear algorithms. Genetic algorithms. Robust design methods. Prerequisite: MATH 302; C, C++, or similar computer language.







30% (15% Each)

Mid-Term Exam


Final Exam



Reading is essential to succeeding in this class. There are a number of resources that are available on this web-site or through external sources.


Unannounced quizzes will be given on the assigned reading material for that day. The number of quizzes will increase as student preparation for classes decreases. Motto: BE PREPARED! Quizzes will not be rescheduled, and extra credit is not available. Quizzes count for a homework grade each. The quizzes are intended to: 1) provide an opportunity for you to practice responding to questions under time pressure, 2) provide encouragement for you to keep up with the course material, 3) encourage attendance.


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.


You will be required to complete two group projects. Groups will consist of 3 students and one report will be submitted for the group. Each group member is to fully participate. 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, we 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.

Study Habits

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.

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.