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

Traffic lights

Read about what's good
what should give you pause
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

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Advanced engineering optimization with python

According to students, this course is a rigorous and highly comprehensive exploration of mathematical optimization. Learners consistently praise its strong theoretical foundation and the invaluable hands-on Python exercises that facilitate practical application. While it offers a deep dive into modern optimization techniques, including machine learning integration and uncertainty, a significant portion of learners caution that it demands a solid prior understanding of advanced mathematics, such as linear algebra and calculus. The pace can be challenging for those without the necessary background, making it ideal for engineers and professionals seeking specialized knowledge rather than beginners.
Lecturer is knowledgeable and explanations are clear.
"The instructor manages to keep it engaging."
"The quality of instruction is high, and the syllabus is well-structured."
"An absolute masterclass in optimization! The instructor's expertise shines through."
Broad range of modern optimization techniques.
"A very comprehensive course that covers a vast array of optimization techniques."
"The course covers a remarkably wide range of optimization topics, from linear to stochastic."
"The course delivers exactly what it promises – a deep dive into mathematical optimization for engineers."
Hands-on coding vital for applying concepts.
"The Python exercises are challenging but essential for consolidating the theoretical knowledge."
"The Python implementations were straightforward and helped me build confidence in applying these methods."
"The practical sessions in Python were invaluable for applying the theories."
Provides deep understanding of mathematical principles.
"The lectures are incredibly detailed and provide a deep dive into the mathematical underpinnings, yet the instructor manages to keep it engaging."
"I especially appreciated the modules on optimization under uncertainty and machine learning integration. It truly helped me apply complex concepts in my research."
"The clear explanations of KKT conditions, interior point methods, and branch and bound were invaluable for me."
Pace can be fast, requiring dedicated effort.
"My only minor critique is that some weeks felt a bit rushed, especially given the density of the material."
"The pace was quite fast, especially in later weeks, making it hard to keep up without prior knowledge."
"It's a comprehensive course, but perhaps too much so in its depth for a fast-paced online format."
Requires strong math background and can be challenging.
"A strong math background is a must, but if you have it, you'll gain immense value."
"This course requires a strong background in linear algebra and calculus. I think an 'intermediate' difficulty warning would be more appropriate."
"The course assumes too much prior knowledge and doesn't build up concepts adequately. Not suitable for beginners, despite what the description might imply."

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

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser