Optimization with Python: Solve Operations Research Problems

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

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.

What you’ll 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.

Course Content

  • Introduction to the course –> 2 lectures • 8min.
  • Installing Python –> 4 lectures • 10min.
  • Starting with Python –> 8 lectures • 54min.
  • Introduction to mathematical modelling –> 15 lectures • 1hr 58min.
  • Linear Programming (LP) –> 10 lectures • 1hr 18min.
  • Working with Pyomo –> 4 lectures • 35min.
  • Mixed-Integer Linear Programming (MILP) –> 7 lectures • 1hr 33min.
  • Nonlinear Programming (NLP) –> 6 lectures • 32min.
  • Mixed-Integer Nonlinear Programming (MINLP) –> 4 lectures • 9min.
  • Genetic Algorithm and Particle Swarm –> 6 lectures • 34min.
  • Constraint Programming (CP) –> 2 lectures • 10min.
  • Special Cases –> 6 lectures • 1hr 46min.
  • Advanced Features for Pyomo –> 12 lectures • 2hr 3min.
  • More exercises and modeling –> 8 lectures • 1hr 52min.
  • Conclusion –> 1 lecture • 6min.

Auto Draft

Requirements

  • Some knowledge in programming logic.
  • Why and where to use optimization.
  • It is NOT necessary to know Python.

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 Programmin (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 carrier. Yet, you will receive a certification from Udemy.

 

Operations Research | Operational Research | Mathematical Optimization

 

See you in the classes!