Skip to content
UdemyIT & SoftwarePaid courseAll LevelsCertificate

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

icon
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

icon
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:


  1. Defining Sets & Parameters of the optimization model

  2. Expressing the objective function and constraints as Python function

  3. Import and read data from an external source (CSV or Excel file)

  4. 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.


icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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.

icon
More courses by Navid Shirzadi

$19.99

$84.99

$69.99

$59.99

$12.99

$12.99

icon
More IT & Software courses

$49.99

$10.99

$124.99

$19.99

$11.99

$19.99

icon
Reviews

4.7

393 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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.

Showing all 10 reviews on CourseDuck

Read all 393 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100