Optimization with Python: Complete Pyomo Bootcamp A-Z (Udemy.com)
Learn How to Use CPLEX, IPOPT & COUENNE Solvers to Solve Linear & Non-Linear and Integer Programming Problems in Python
Created by: Navid Shirzadi
Last updated March 2024
What you will learn
- Basic Concepts and Terms Related to Optimization
- How to Formulate a Mathematical Problem
- Linear Programming and Coding LP Problems in Python Using Pyomo
- Mixed Integer Linear Programming (MILP) and Coding MILP Problems in Python Using Pyomo
- Non-Linear Programming (NLP) and Coding NLP Problems in Python Using Pyomo
- Mixed Integer Non-Linear Programming (MINLP) and Coding MINLP Problems in Python Using Pyomo
How it compares
Against the other 1,182 rated Udemy courses in IT & Software on CourseDuck:
- Rating4.7 out of 5higher than 86% of them
- Reviews393#637 of 1,183 by number of reviews
- Length9.4 hourslonger than 69% of them
- Last updatedMarch 2024earlier than 66% of them
Course Description
Mathematical Optimization is getting more and more popular in most quantitative disciplines, such as engineering, management, economics, and operations research. Furthermore, Python is one of the most famous programming languages that is getting more attention nowadays. Therefore, we decided to create a course for mastering the development of optimization problems in the Python environment. In this course, you will learn how to deal with various types of mathematical optimization problems as below:
Linear Programming (LP)
Mixed Integer Linear Programming (MILP)
Non-Linear Programming
Mixed Integer Non-Linear Programming
Since this course is designed for all levels (from beginner to advanced), we start from the beginning that you need to formulate a problem. Therefore, after finishing this course, you will be able to find and formulate decision variables, objective function, constraints and define your parameters. Moreover, you will learn how to develop the formulated model in the Python environment (using the Pyomo package).
Here are some of the important skills that you will learn when using Python in this course:
Defining Sets & Parameters of the optimization model
Expressing the objective function and constraints as Python function
Import and read data from an external source (CSV or Excel file)
Solve the optimization problem using various solvers such as CPLEX, IPOPT, COUENNE &, etc.
In this course, we solve simple to complex optimization problems from various disciplines such as engineering, production management, scheduling, transportation, supply chain, and ... areas.
This course is structured based on 3 examples for each of the main mathematical programming sections. In the first two examples, you will learn how to deal with that type of specific problem. Then you will be asked to challenge yourself by developing the challenge problem into the Python environment. Nevertheless, even the challenge problem will be explained and solved with details.
Instructor Details
- 4.7 Rating
393 Reviews
Navid Shirzadi
Welcome! I'm Navid Shirzadi, and I'm thrilled you're here.
I’m an Applied Scientist with a Ph.D. in Engineering and over a decade of experience working with integrated energy systems, optimization, and intelligent control strategies. My background spans mathematical optimization, advanced control, and hybrid modeling techniques that blend physics‑based simulations with modern AI.
I’m deeply experienced in Python, and I build cutting‑edge machine learning, deep learning, and agentic AI models for real‑world applications. My recent work focuses on leveraging agentic AI workflows and LLM‑powered tools to automate and enhance building energy modeling, EnergyPlus pipelines, and large‑scale simulation tasks.
Throughout my career, I’ve published research on intelligent control strategies for energy systems and developed AI‑driven methods that improve efficiency, reliability, and decision‑making. My passion lies in teaching these concepts in a clear, practical, and intuitive way, helping learners build skills they can immediately apply in engineering, data science, and AI‑driven modeling.
I’m excited to share my knowledge and help you grow your expertise in AI, optimization, and energy systems.
More courses by Navid Shirzadi
Prompt Engineering for Everyone Bootcamp (2026)
4.5 (32,157 Reviews)
Provider: Udemy
Time: 3.9h
$19.99
Machine Learning & Data Science A-Z: Hands-on Python (2026)
4.2 (1,256 Reviews)
Provider: Udemy
Time: 14.5h
$84.99
Time Series Analysis and Forecasting with Python (2026)
4.3 (545 Reviews)
Provider: Udemy
Time: 10.3h
$69.99
Optimal Sizing of Hybrid Renewable Energy Systems with Homer (2022)
4.6 (436 Reviews)
Provider: Udemy
Time: 2.5h
$59.99
Wind Energy Modeling Bootcamp: Hands-on Python (2023)
4.5 (280 Reviews)
Provider: Udemy
Time: 6h
$12.99
More IT & Software courses
D3.js Data Visualization Fundamentals - Hands On (2026)
4.9 (3,917 Reviews)
Provider: Udemy
Time: 4.6h
$49.99
Hands-On Training: Streaming Data with Apache Kafka on Azure (2025)
4.9 (103 Reviews)
Provider: Udemy
Time: 3.7h
$10.99
Oracle Grid Infrastructure and RAC using Oracle Database 19c (2026)
4.8 (2,499 Reviews)
Provider: Udemy
Time: 8.7h
$19.99
PowerShell Scripting & Automation: The Complete Hands-On (2026)
4.8 (1,750 Reviews)
Provider: Udemy
Time: 9.6h
$11.99
AWS EC2 Crash Course + Load Balancing with Demos and PDFs (2025)
4.8 (866 Reviews)
Provider: Udemy
Time: 3.7h
$19.99
Reviews
By Chris Foufoulides on 3/22/2026
Very usefull course and well structured course on how to utilize Python and Pyomo to model and solve Optimization Problems. Thank you! Some of the examples could have been more relevant to core Operational Research core problems, mainly in the NLP and the MINLP sectionw. It would have been usefull to also show how to use metaheuristics algorithms in Pyomo.
By Md. Aqib Aman on 1/27/2025
I will recommend this course to everyone who is in operations research role. Because Pyomo is a very important package to learn if you study compare to other packages and this course truly nailed it. Very good course. Recommend to everyone for starting the journey on operation research with Python. Thank you Navid Shirzadi for this beautiful course! I am planning to write an extensive review on LinkedIn after completing this course.
By Andres Medaglia on 1/7/2025
The course delivers what it promises. The instructor is organized and clear, whereas the course has a good design and structure. There is a minor flaw caused by not distinguishing sets and indices (that run over those sets) on the model descriptions. Some models could become more compact by replicating the constraints with a "for all" (see in LaTeX $\forall$) symbol and implementation of Constraint lists in Pyomo. The course is full of practical tips, so all in all, it has a good return over the investment. Thanks Navid!
By Oscar Palma on 1/6/2024
The course presents a good introduction to the Pyomo programming language. It is well explained and the exercises are pretty illustrative to know the basic on the libraries in Pyomo.
By Lovro Ilijasic on 6/9/2023
Excellent examples and walkthrough, very useful. One star is missing because of code sloppiness. When you see all those broken naming and spacing conventions, it really makes you wonder about the instructor's competence (capitalized function names, capitalized variable names, no consistency anywhere). The standards are there for a reason.
By Athena Karami Fardian on 3/30/2023
I've found this course so amazingly understandable for building my optimization model, I recommend it to everyone who wants to start learning optimization by python for different purposes.
By Elaheh Bazdar on 2/7/2023
So far so good! I liked the way the instructor start with basic examples! thanks! Update: I thoroughly enjoyed the course; it was both engaging and practical. Thank you for offering such valuable content
By Khawar Naeem on 11/14/2022
Excellent course on learning OR basics, the best thing about the instructor is that he teaches new tricks in each lecture, especially, tackling the python code with multiple techniques. 110% satisfied with the learning.
By Abdul-Gafar Adegoke YUNUS on 8/30/2022
The course content matches my expectation, and the explanation is quite appealing, making me long for the next section. I am a graduate engineer interested in energy transition and energy efficiency, and the knowledge of optimization is a tool I need in my arsenal for my career development.
By Deepjyoti Chakraborty on 8/15/2022
It was a great introductory course to optimization with Python. Would advise to take this course after having done some basic courses to learn Python. I would request the course instructor Navid Shirzadi to host the problems taught in the course and their solution code in a github repository which can be accessed by the students during the course. It would also help students to give feedback or ask doubts regarding the code in github itself. Overall, it is a well designed course.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 94 / 100












