English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 13.5 Hours | 2.95 GB

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.

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

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

## Table of Contents

**Introduction to the course**

1 Introduction

2 What is optimization

**Installing Python**

3 Installing Python

4 Packages

5 IDE Spyder

6 Jupyter Notebook Lab

**Starting with Python**

7 Lists, Tuples, and Dictionary

8 If, For, While

9 Functions

10 Numpy

11 Pandas

12 Pandas reading Excel

13 Graphs

14 PDFs to learn more about Python

**Introduction to mathematical modelling**

15 What is Mathematical Modelling

16 How do we solve optimization problems

17 Type of Variables

18 Objective Function and Constraints

19 How to model your problem

20 Example 1 investiment

21 Example 2 investiment

22 Example 3 production cost

23 Example 4 route problem

24 Example 5 construction assignment

25 Example 6 construction assignment

26 Example 7 job assignment

27 Example 8 job assignment

28 How to Learn More

29 Some references for you learn more (problems of VRPTW, TSP, JobShop…)

**Linear Programming (LP)**

30 LP Introduction

31 Framework and Solvers

32 LP Ortools

33 LP SCIP

34 LP Gurobi, CPLEX, and GLPK (installation)

35 LP Pyomo (using Gurobi, CPLEX, and GLPK)

36 LP PuLP

37 Which solver and frameworks should we choose

38 LP Exercise, solve it by yourself

39 LP Concepts

**Working with Pyomo**

40 Pyomo Using other solvers (CBC)

41 Pyomo Summations

42 Pyomo Pprint

43 Pyomo Manual

**Mixed-Integer Linear Programming (MILP)**

44 MILP Introduction

45 MILP Pyomo

46 MILP Ortools

47 MILP SCIP

48 MILP Exercise, solve it by yourself

49 MILP Exercise solution

50 MILP Concepts

**Nonlinear Programming (NLP)**

51 NLP Introduction

52 NLP Pyomo (IPOPT)

53 NLP SCIP

54 NLP Exercise, solve it by yourself

55 NLP Exercise Solution

56 NLP Concepts

**Mixed-Integer Nonlinear Programming (MINLP)**

57 MINLP Introduction

58 MINLP Pyomo (Couenne)

59 MINLP Pyomo (decomposition using mindtpy)

60 MINLP SCIP

61 MINLP Genetic Algorithm

62 MINLP Genetic Algorithm Concepts

63 MINLP Particle Swarm (PSO)

64 MINLP PSO Concepts

**Constraint Programming (CP)**

65 CP Ortools

66 CP Concepts

**Special Cases**

67 Introduction

68 SCOP Second-Order Cone Programming

69 NonConvex Quadratic Programming

70 Vehicle Routing Problems (VRP) with Or-Tools, An introduction

71 Linearization binary continuos using BigM

72 Linearization binary binary

**Advanced Features for Pyomo**

73 Introduction and a new Case Study (hands-on)

74 Check the solver progress

75 Define a Gap Limit

76 Define a Time Limit

77 More parameters for the solvers

78 Working with inequality

79 pyo.summation

80 Parameters and Sets

81 Rules inside Constraints

82 Rules with indexes

83 WarmStart

84 Differential Algebraic Equations (DAE)

**More exercises and modeling**

85 Introduction

86 Garden problem

87 Revenue problem

88 Route problem [subtitled]

89 Optimal power flow problem [subtitled]

**Conclusion**

90 Congratulation

Resolve the captcha to access the links!