We may earn an affiliate commission when you visit our partners.
Course image
Univ.-Prof. Alexander Mitsos, Johannes M. M. Faust, and Ashutosh Manchanda

Today, for almost every product on the market and almost every service offered, some form of optimization has played a role in their design.

However, optimization is not a button-press technology. To apply it successfully, one needs expertise in formulating the problem, selecting and tuning the solution algorithm and finally, checking the results. We have designed this course to make you such an expert.

Read more

Today, for almost every product on the market and almost every service offered, some form of optimization has played a role in their design.

However, optimization is not a button-press technology. To apply it successfully, one needs expertise in formulating the problem, selecting and tuning the solution algorithm and finally, checking the results. We have designed this course to make you such an expert.

This course is useful to students of all engineering fields. The mathematical and computational concepts that you will learn here have application in machine learning, operations research, signal and image processing, control, robotics and design to name a few.

We will start with the standard unconstrained problems, linear problems and general nonlinear constrained problems. We will then move to more specialized topics including mixed-integer problems; global optimization for non-convex problems; optimal control problems; machine learning for optimization and optimization under uncertainty. Students will learn to implement and solve optimization problems in Python through the practical exercises.

What you'll learn

  • Mathematical definitions of objective function, degrees of freedom, constraints and optimal solution
  • Mathematical as well as intuitive understanding of optimality conditions
  • Different optimization formulations (unconstrained v/s constrained; linear v/s nonlinear; mixed-integer v/s continuous; time-continuous or dynamic; optimization under uncertainty)
  • Fundamentals of the solution methods for each these formulations
  • Optimization with machine learning embedded
  • Hands-on training in implementing and solving optimization problems in Python, as exercises

What's inside

Syllabus

Week 1: Introduction and math review
Mathematical definitions of objective function, degrees of freedom, constraints and optimal solution with real-world examples
Read more
Review of some mathematical basics needed to take us through the course
Week 2: Unconstrained optimization
Basics of iterative descent: step direction and step length
Common algorithms like steepest descent, Newton’s method and its variants and trust-region methods.
Week 3: Linear optimization
KKT conditions of optimality for constrained problems
Simplex method
Interior point methods
Week 4: Nonlinear optimization
Penalty, log-barrier and SQP methods
Mixed-integer optimization
Branch and bound method for mixed-integer linear problems
Week 5: Global optimization
Branch and bound method for nonlinear non-convex problems
Constructing relaxations
Different formulations and their numerical performance
Stochastic methods, genetic algorithm and derivative free methods
Week 6: Dynamic optimization
Full discretization, single-shooting and multi-shooting methods
Nonlinear model predictive control
Week 7: Machine learning for optimization
Mechanistic, data-driven and hybrid modelling
Basics of training machine learning models
Optimization with machine learning embedded
Week 8: Optimization under uncertainty
Parametric optimization
Two stage stochastic problems
Robust optimization via semi-infinite problems

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches standard mathematical concepts and their intuitive understanding for solving optimization problems, preparing you for real-world applications
Covers a wide range of formulations, including unconstrained, constrained, linear, nonlinear, mixed-integer, and optimization under uncertainty, giving you a comprehensive understanding of optimization techniques
Provides hands-on training through exercises in Python, allowing you to apply your knowledge and solve optimization problems practically
Involves renowned instructors with expertise in optimization, ensuring the quality and relevance of the course content
Builds a strong foundation in optimization principles and methods, making it suitable for students from various engineering fields
Emphasizes the importance of optimization in designing products and services, highlighting its relevance to industry practices

Save this course

Save Mathematical Optimization for Engineers to your list so you can find it easily later:
Save

Reviews summary

Comprehensive mathematical optimization

Learners say this course offers a thorough introduction to the wide-ranging topic of Mathematical Optimization. Its clear lectures and labs deliver foundational concepts for beginners who are interested in digging deeper into the subject.
Provides ample references for further study.
"The literature references provided are important for one who wishes to further dwelve into Mathematical Optimization."
"The course offers various resources, such as references and links, which allow students to explore the topics further."
"There are supplementary materials provided that point to further readings if someone wants to delve deeper."
Clear and in-depth explanations of course material.
"The lectures and labs deliver fundamental concepts in a clear and unambiguous fashion."
"The explanations are very clear and the examples are helpful."
"The course materials make difficult topics easy to understand."
Introduces a broad range of topics in Mathematical Optimization.
"This course covers Mathematical Optimization in its entirety."
"The lectures, readings, and labs touch upon all the important and interesting Mathematical Optimization subjects."
"It offers a general overview of Mathematical Optimization, which is a broad field in itself."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Mathematical Optimization for Engineers with these activities:
Brush Up on Calculus
Review the fundamentals of calculus to strengthen your foundation for optimization.
Browse courses on Calculus
Show steps
  • Review your notes or a textbook on basic calculus concepts.
  • Solve practice problems to refresh your skills.
  • Optional: Seek help from a tutor or online resources if needed.
Crash Course in Dynamic Optimization
Expand your knowledge of dynamic optimization through guided tutorials, preparing you for the upcoming course content.
Show steps
  • Enroll in an online tutorial or course on dynamic optimization.
  • Follow the tutorials and complete the associated exercises.
  • Experiment with different dynamic optimization techniques.
Deep Dive into Nonlinear Optimization
Build a solid foundation in nonlinear optimization to enhance your understanding of the course materials.
Show steps
  • Read the book's introduction and first chapter.
  • Work through the solved examples in the book.
  • Attempt the practice problems at the end of each chapter.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Linear Programming Practice
Improve your understanding of Linear Programming and prepare for the upcoming course materials.
Browse courses on Linear Optimization
Show steps
  • Review the concept of linear programming.
  • Solve a set of practice problems on linear programming.
  • Compare your solutions with the provided answer key.
Python Script for Optimization
Apply your Python skills to implement and solve optimization problems, reinforcing your understanding of the course content.
Browse courses on Optimization
Show steps
  • Choose an optimization problem from the course materials.
  • Develop a Python script to solve the problem.
  • Test and refine your script to ensure accurate results.
  • Write a brief report summarizing your approach and findings.
Attend an Optimization Workshop
Immerse yourself in the world of optimization by attending a workshop led by industry experts.
Browse courses on Optimization
Show steps
  • Find an optimization workshop that aligns with your interests.
  • Register for the workshop and actively participate in the sessions.
  • Network with other attendees and experts in the field.
Group Discussion on Optimization Techniques
Engage with your peers to share insights, clarify concepts, and enhance your comprehension of optimization techniques.
Browse courses on Optimization
Show steps
  • Join a study group or online forum dedicated to the course.
  • Discuss different optimization techniques and their applications.
  • Work together to solve optimization problems.
  • Reflect on the discussion and identify areas for improvement.
Infographic on Optimization Applications
Create a visual representation to demonstrate the practical applications of optimization, solidifying your understanding of its real-world relevance.
Browse courses on Optimization
Show steps
  • Research various applications of optimization in different industries.
  • Design an infographic that illustrates these applications.
  • Share your infographic with others to educate them about the impact of optimization.

Career center

Learners who complete Mathematical Optimization for Engineers will develop knowledge and skills that may be useful to these careers:
Operations Research Analyst
Operations research analysts apply analytical methods to help organizations improve their efficiency and make better decisions. They identify and solve problems, such as how to optimize production schedules, allocate resources, and design efficient distribution networks. This course provides a strong foundation for operations research analysts by teaching them the mathematical principles and algorithms needed to solve optimization problems. The course covers topics such as linear programming, nonlinear programming, and mixed-integer programming, which are all essential techniques for operations research analysts.
Industrial Engineer
Industrial engineers design, improve, and install integrated systems of people, materials, information, equipment, and energy. They use optimization techniques to improve the efficiency of production processes, logistics systems, and other industrial operations. This course provides industrial engineers with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as simulation and data analysis, which are essential for industrial engineers.
Data Scientist
Data scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. They use optimization techniques to develop machine learning models, which can be used to solve a wide variety of problems, such as predicting customer churn, recommending products, and detecting fraud. This course provides data scientists with the mathematical foundation they need to understand and apply optimization techniques to machine learning problems. The course covers topics such as linear programming, nonlinear programming, and mixed-integer programming, as well as machine learning algorithms and data analysis techniques.
Management Consultant
Management consultants help organizations improve their performance by identifying and solving problems. They use optimization techniques to develop solutions to problems such as how to improve customer satisfaction, increase sales, and reduce costs. This course provides management consultants with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as decision analysis and risk management, which are essential for management consultants.
Financial Analyst
Financial analysts provide advice to individuals and organizations on investment decisions. They use optimization techniques to develop investment strategies and to value assets. This course provides financial analysts with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as portfolio theory and risk management, which are essential for financial analysts.
Software Engineer
Software engineers design, develop, and maintain software systems. They use optimization techniques to develop efficient algorithms and to optimize the performance of software systems. This course provides software engineers with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as data structures and algorithms, which are essential for software engineers.
Statistician
Statisticians collect, analyze, interpret, and present data. They use optimization techniques to develop statistical models and to estimate parameters. This course provides statisticians with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as probability theory and statistical inference, which are essential for statisticians.
Actuary
Actuaries use mathematical and statistical methods to assess risk and uncertainty. They use optimization techniques to develop insurance products and to calculate insurance premiums. This course provides actuaries with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as probability theory and risk management, which are essential for actuaries.
Quantitative Analyst
Quantitative analysts use mathematical and statistical methods to analyze financial data. They use optimization techniques to develop trading strategies and to manage risk. This course provides quantitative analysts with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as financial econometrics and risk management, which are essential for quantitative analysts.
Investment Analyst
Investment analysts provide advice to individuals and organizations on investment decisions. They use optimization techniques to develop investment strategies and to value assets. This course provides investment analysts with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as portfolio theory and risk management, which are essential for investment analysts.
Risk Manager
Risk managers identify, assess, and manage risks. They use optimization techniques to develop risk management strategies and to quantify risk. This course provides risk managers with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as probability theory and risk management, which are essential for risk managers.
Business Analyst
Business analysts use data analysis and optimization techniques to improve the efficiency and effectiveness of businesses. They use optimization techniques to develop business strategies and to make decisions. This course provides business analysts with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as data analysis and decision analysis, which are essential for business analysts.
Project Manager
Project managers plan, organize, and execute projects. They use optimization techniques to develop project plans and to allocate resources. This course provides project managers with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as project management and risk management, which are essential for project managers.
Supply Chain Manager
Supply chain managers plan, organize, and execute the flow of goods and services from suppliers to customers. They use optimization techniques to develop supply chain strategies and to manage inventory. This course provides supply chain managers with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as supply chain management and logistics, which are essential for supply chain managers.
Transportation Analyst
Transportation analysts plan, organize, and execute the movement of people and goods. They use optimization techniques to develop transportation plans and to manage traffic. This course provides transportation analysts with the mathematical tools they need to solve optimization problems, including linear programming, nonlinear programming, and mixed-integer programming. The course also covers topics such as transportation planning and traffic engineering, which are essential for transportation analysts.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Mathematical Optimization for Engineers.
This textbook provides a comprehensive introduction to convex optimization, covering theory, algorithms, and applications. It valuable reference for researchers and practitioners in this field.
This textbook provides a comprehensive overview of dynamic optimization, covering theory, algorithms, and applications. It valuable reference for researchers and practitioners in this field.
This classic textbook comprehensive treatment of nonlinear programming, covering theory, algorithms, and applications. It valuable reference for researchers and practitioners in optimization.
This textbook provides a comprehensive overview of numerical optimization, covering theory, algorithms, and applications. It valuable reference for researchers and practitioners in optimization.
This textbook provides a comprehensive overview of optimization theory, with a focus on applications. It valuable reference for researchers and practitioners in optimization.
This textbook provides a comprehensive overview of linear and nonlinear programming, covering theory, algorithms, and applications. It valuable reference for researchers and practitioners in optimization.
Provides a practical introduction to nonlinear programming using the Pyomo modeling language.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Mathematical Optimization for Engineers.
Mathematical Methods for Data Analysis
Most relevant
Advanced Concepts in Economics
Most relevant
Optimization with GAMS: Operations Research Bootcamp A-Z
Advanced Concepts in Economics
Mathematics 1 Part 2: Integral calculus, algebra, and...
RISC-V Toolchain and Compiler Optimization Techniques
Optimization with Python: Solve Operations Research...
Operations Research (1): Models and Applications
Advanced Models for Decision Making
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser