
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore foundations of optimization, from mathematical modeling to linear, nonlinear, and gradient descent methods, with real-time case studies in agriculture, manufacturing, and power systems.
Compare human learning and machine learning. Find how materials and data drive learning, and how optimization updates model parameters to solve real problems.
Importance & Applications of Optimization
Key Concepts: Objective Function, Constraints, Feasible Region, etc.
Understand different types of optimization problems
Explore implementing linear optimization in Matlab using the leapfrog method to maximize profit in a chocolate production case, converting to a minimization problem and solving with dual simplex.
Apply Matlab to solve a linear optimization problem for the agriculture case study two, allocating land between wheat and barley on 100 hectares to maximize profit.
Explore constrained nonlinear optimization by forming the Lagrange equation, taking partial derivatives with respect to x, y, and lambda, and solving for x, y, lambda to minimize f(x,y) under g(x,y)=0.
Derive economic load dispatch for a two-generator plant using the lagrange multiplier method to minimize cost under the constraint p1 + p2 = PD, deriving p1 and p2 from lambda.
Some corrections in previous lecture are added in this lecture.
Apply the Lagrange multiplier method in MATLAB to solve a constrained nonlinear optimization for a three-generator power plant, determining lambda and generator outputs to meet 800 MW at minimum cost.
Explore unconstrained nonlinear optimization through the gradient descent algorithm, detailing gradient, learning rate, step length, and convergence criteria for convex or concave objective functions.
Apply gradient descent to single-variable nonlinear unconstrained optimization in Matlab. Randomly initialize x, compute gradient 2x, update x by delta x = -eta*gradient, and iterate to reach x=0, f(x)=5.
Apply Python gradient descent to minimize f(x)=x^2+5 by initializing x and a learning rate, iterating to update x with delta x = -eta * 2x, converging to x=0 and f(0)=5.
Explore multivariable nonlinear unconstrained optimization using gradient descent to minimize f(x,y)=x^2+y^2+10, initializing variables and learning rate, computing gradients, and updating x and y over epochs.
Apply gradient descent algorithm to a multivariable non-linear unconstrained optimization problem. The video demonstrates minimizing f(x,y)=x^2+y^2+10 with random initialization, learning rate 0.1, and two epochs, detailing gradients and updates.
Explore multivariable nonlinear optimization with gradient descent in python on google colab, starting from random x and y, tuning learning rate and epochs to minimize f=3x^2+5y^2+10.
Learn how optimization underpins machine learning, from linear and nonlinear problems to gradient descent, with case studies and the role of optimization in improving ML models.
Unlock the power of optimization with this practical, hands-on course designed for engineers, students, researchers, and anyone eager to solve real-world problems using mathematical optimization techniques.
This course begins with the fundamentals—what optimization is, why it's important, and how to formulate real-world problems as mathematical models. You'll explore different types of optimization problems, including linear, nonlinear, constrained, and unconstrained cases.
We guide you step by step through solving linear optimization problems using both Python (with SciPy) and MATLAB, providing clear explanations and code walkthroughs. You’ll then dive into nonlinear constrained optimization using the Lagrange multiplier method, followed by an in-depth look at gradient descent algorithms for single-variable and multivariable functions.
Throughout the course, you'll learn how to implement these techniques from scratch and using built-in functions, making it ideal for learners who want both conceptual clarity and practical coding skills.
The final lecture explores how optimization plays a central role in machine learning, especially in training models and minimizing cost functions.
Whether you're an engineering student, data science enthusiast, or academic researcher, this course equips you with the tools and confidence to solve optimization problems in MATLAB and Python.
Start learning today and build a strong foundation in applied optimization!