# Optimization with Python: Complete Pyomo Bootcamp A-Z

Learn How to Use CPLEX, IPOPT & COUENNE Solvers to Solve Linear & Non-Linear and Integer Programming Problems in Python

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:

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

Course Content

• Introduction –> 2 lectures • 7min.
• Introduction to Mathematical Optimization –> 1 lecture • 14min.
• Python Installation –> 3 lectures • 11min.
• Linear Programming (LP) –> 8 lectures • 2hr 1min.
• Mixed-Integer Linear Programming (MILP) –> 7 lectures • 2hr 17min.
• Non-Linear Programming (NLP) –> 7 lectures • 1hr 49min.
• Mixed-Integer Nonlinear Programming (MINLP) –> 7 lectures • 2hr 43min.
• Conclusion –> 1 lecture • 2min. Requirements

• General and Basic Python Skills.

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.

Get Tutorial