Optimization with Python: Solve Operations Research Problems

Solve optimization problems with CPLEX, Gurobi, Pyomo... using linear programming, nonlinear, evolutionary algorithms...

4.59 (1382 reviews)
Udemy
platform
English
language
Data Science
category
9,474
students
13 hours
content
Dec 2023
last update
$84.99
regular price

What you will learn

Solve optimization problems using linear programming, mixed-integer linear programming, nonlinear programming, mixed-integer nonlinear programming,

LP, MILP, NLP, MINLP, SCOP, NonCovex Problems

Main solvers and frameworks, including CPLEX, Gurobi, and Pyomo

Genetic algorithm, particle swarm, and constraint programming

From the basic to advanced tools, learn how to install Python and how to use the main packages (Numpy, Pandas, Matplotlib...)

How to solve problems with arrays and summations

Description

Operational planning and long term planning for companies are more complex in recent years. Information changes fast, and the decision making is a hard task. Therefore, optimization algorithms (operations research) are used to find optimal solutions for these problems. Professionals in this field are one of the most valued in the market.

In this course you will learn what is necessary to solve problems applying Mathematical Optimization and Metaheuristics:

  • Linear Programming (LP)

  • Mixed-Integer Linear Programming (MILP)

  • NonLinear Programming (NLP)

  • Mixed-Integer Linear Programming (MINLP)

  • Genetic Algorithm (GA)

  • Multi-Objective Optimization Problems with NSGA-II (an introduction)

  • Particle Swarm (PSO)

  • Constraint Programming (CP)

  • Second-Order Cone Programming (SCOP)

  • NonConvex Quadratic Programming (QP)


The following solvers and frameworks will be explored:

  • Solvers: CPLEX – Gurobi – GLPK – CBC – IPOPT – Couenne – SCIP

  • Frameworks: Pyomo – Or-Tools – PuLP – Pymoo

  • Same Packages and tools: Geneticalgorithm – Pyswarm – Numpy – Pandas – MatplotLib – Spyder – Jupyter Notebook


Moreover, you will learn how to apply some linearization techniques when using binary variables.


In addition to the classes and exercises, the following problems will be solved step by step:

  • Optimization on how to install a fence in a garden

  • Route optimization problem

  • Maximize the revenue in a rental car store

  • Optimal Power Flow: Electrical Systems

  • Many other examples, some simple, some complexes, including summations and many constraints.


The classes use examples that are created step by step, so we will create the algorithms together.

Besides this course is more focused in mathematical approaches, you will also learn how to solve problems using artificial intelligence (AI), genetic algorithm, and particle swarm.

Don't worry if you do not know Python or how to code, I will teach you everything you need to start with optimization, from the installation of Python and its basics, to complex optimization problems. Also, I have created a nice introduction on mathematical modeling, so you can start solving your problems.

I hope this course can help you in your career. Yet, you will receive a certification from Udemy.


Operations Research | Operational Research | Mathematical Optimization


See you in the classes!

Content

Introduction

Introduction
What is optimization

Installing Python

Installing Python
Packages
IDE Spyder
Jupyter Notebook\Lab
Exercises

Starting with Python

Lists, Tuples, and Dictionary
If, For, While
Functions
Numpy
Pandas
Pandas: reading Excel
Graphs
Exercises

Linear Programming (LP)

LP: Introduction
Framework and Solvers
LP: Ortools
LP: SCIP
LP: Gurobi, CPLEX, and GLPK
LP: Pyomo
LP: PuLP
Which solver and frameworks should we choose?
LP: Exercise, solve it by yourself

Working with Pyomo

Pyomo: Using other solvers (CBC)
Pyomo: Summations
Pyomo: Pprint
Pyomo: Manual

Mixed-Integer Linear Programming (MILP)

MILP: Introduction
MILP: Pyomo
MILP: Ortools
MILP: SCIP
MILP: Exercise, solve it by yourself
MILP: Exercise solution

Nonlinear Programming (NLP)

NLP: Introduction
NLP: Pyomo (IPOPT)
NLP: SCIP
NLP: Exercise, solve it by yourself
NLP: Exercise Solution

Mixed-Integer Nonlinear Programming (MINLP)

MINLP: Introduction
MINLP: Pyomo (Couenne)
MINLP: Pyomo (decomposition using mindtpy)
MINLP: SCIP
MINLP: Genetic Algorithm
MINLP: Particle Swarm (PSO)

Constraint Programming (CP)

CP: Ortools

More exercises and modeling

Introduction
Garden problem
Route problem
Revenue problem
Optimal power flow problem

Conclusion

Congratulation

Screenshots

Optimization with Python: Solve Operations Research Problems - Screenshot_01Optimization with Python: Solve Operations Research Problems - Screenshot_02Optimization with Python: Solve Operations Research Problems - Screenshot_03Optimization with Python: Solve Operations Research Problems - Screenshot_04

Reviews

Hiroyuki
August 17, 2023
The course begins with the basic concept, but it seems to focus on practical modeling and solving problems.
Peyman
August 17, 2023
An excellent course. The instructor does an excellent job in making complicated concepts very easy to understand. Really enjoyed taking this class and learned a lot of good skills.
Parisa
August 8, 2023
this course is amazing, especially for thoes who do not know any thing about pyomo, cplex in python, ... it is really useful . really recommended
Cal
July 31, 2023
Really good intro, easy to follow and set me up well for tackling problems within my field. Would have liked to see a few more examples (particularly those business-related), but otherwise brilliant. Thank you, Rafael!
Gopinath
July 13, 2023
It is an interesting course. I learned the python packages which can be used for the optimization problems.
Vahid
June 30, 2023
I am in the middle of the course and I can say that he explains everything very clear with all the details. I recommend the course.
Ryan
June 26, 2023
as student in operation research the course help me to understand python very well and the teacher language is very clear to understand because my English not the native language
Gerardo
June 8, 2023
Me gusta pero debería de mencionar antes sobre la licencia de Gurobi y Ciplex si no tienes un correo universitario. Me llevó una semana conseguir las licencias y fue gracias a contactos que tengo en Brasil
Pablo
May 9, 2023
For me the course was a good introduction to pyomo and other frameworks with examples. I already studied operations research so it served as a little refresher. Subtitles are not very good since they are auto generated, if you can understand english then its ok.
Zhong
April 30, 2023
Everything else great. No need to count down in real time when student works on a problem - just tell the student to start a timer. Otherwise we waste video size and length (e.g. 1 hour of lecture can actually be only 50 min).
Ken
April 19, 2023
I've wanted to study OR for over a decade, and I recently got back into Python programming after a long break from the hobby. I occasionally have difficulty understanding the instructor's accent, which is why I left a rating of only 4.5 stars, but otherwise, the course has been perfect for me
Frederic
April 17, 2023
Really nice introduction class. I would have loved to fix examples with one framework and one solver, then exapanding. Than the reverse which is exploring all solvers and expanding at the same time. But it's a trivial remark. Well done !
Kartikeya
April 12, 2023
Nice course. It gives me good understanding of optimization as a whole and ways to formulate and solve the problem using python.
Karan
March 18, 2023
Yes, it was a good course to start solving the problems in python and was great to learn about different frameworks and solvers...
Shofinurdin
March 15, 2023
best course. is there another course about using optimization on machine learning algorithm such as fuzzy c means

Charts

Price

Optimization with Python: Solve Operations Research Problems - Price chart

Rating

Optimization with Python: Solve Operations Research Problems - Ratings chart

Enrollment distribution

Optimization with Python: Solve Operations Research Problems - Distribution chart
3957970
udemy ID
4/4/2021
course created date
4/11/2021
course indexed date
Bot
course submited by