
Learn to solve optimization problems with Python, from installation to advanced techniques like linear programming, mixed-integer linear programming, non-linear programming, genetic algorithms, particle swarm, and constraint programming, with practical examples.
Explore how optimization converts problems into mathematical models with constraints and an objective to maximize, solving linear, nonlinear, or mixed-integer formulations to boost profits.
Install Python from the official website, noting WinPython and Anaconda. Rely on the preinstalled Python on Linux; on Windows, download the 64-bit installer, add Python to PATH, and upgrade pip.
Discover how prebuilt packages help optimize operations research problems in Python, and learn to search for and install packages like matplotlib to plot charts.
Master Python basics for optimization by using lists, tuples, and dictionaries. Create, access, and compare these data structures to manage names and marks in simple examples.
Learn to use if, for, and while loops in Python, including single-line conditionals and proper indentation. Explore iterating over lists and ranges, and applying else and elif in optimization tasks.
Learn how to define and use Python functions with def, inputs and returns, and reuse them across files to keep optimization code clean and scalable.
Install NumPy and learn to convert lists to arrays, apply vectorized operations, and compute min, max, mean for optimized Python calculations.
Learn to read excel files with pandas, merge student data by name, compute average marks by name, and save the results to a new spreadsheet for operations research workflows.
Learn to visualize optimization results using matplotlib in Python, plotting salaries with plt.plot or plt.bar, and configure colors, legends, and labels for clear insights.
Learn the basics of mathematical modeling by converting real world problems into mathematical framework and solving optimization tasks with variables, parameters, constraints, and an objective function to minimize or maximize.
Understand optimization problems by identifying constraints and variables, model the problem mathematically, then solve with a framework and a solver, and finally check results using practical examples.
Model optimization problems by translating real-world issues into mathematical form and focusing on modeling over solving, using examples to illuminate objective functions and constraints.
Maximize returns across four funds A–D under a 100,000 capital limit and fund-specific constraints. Incorporate fund D's quadratic term and a 30% cap, while building a generic optimization model.
Present a generic arc-based routing formulation from A to B using binary x_i_j and distance D to minimize route length, with omega_in and omega_out and flow constraints for paths.
Model a 0-1 selection problem that maximizes revenue by choosing constructions under a five-team limit using binary variables and the constraint sum(n_t_o x_o) ≤ 5; B and C yield $7,000.
Start with the basics to master simple formulations before tackling complex models, then study books and articles, documenting every variable, constraint, and index to learn solving problems with your computer.
Understand your optimization problem—the rules, objective, and variables—and convert it into a mathematical model. Learn to select frameworks and solvers, like Pyomo and Gurobi, to solve and report results.
Master solving linear programming with ortools, compare frameworks like pyomo, and explore solvers such as Gurobi, Cplex, and GLP from installation to obtaining the optimal solution.
Explore SCIP, the fastest open-source solver for linear, non-linear, and integer problems. Learn to install the Python package, set environment variables, and compare open-source workflows with Cplex or Gurobi.
Install and configure Gurobi, Cplex, and Glpk solvers on Windows, activate academic licenses, set environment variables, and prepare to use Pyomo in follow-up lessons.
Learn to optimize linear problems in Python with PuLP by installing the package, defining a maximize problem for x and y with bounds 0–10, adding constraints, and solving with CBC.
Explore how to choose solvers and frameworks for linear and nonlinear programming, with Pyomo as an easy, well-documented option and zip as a solver framework that selects the best solver.
Learn to use the CBC solver in Pyomo by downloading CBC, configuring its path, and selecting CBC alongside Glpk, Gurobi, and Cplex for linear problems; Ipopt for nonlinear later.
Solve mixed integer linear problems using Pyomo by defining x as integer, adjusting constraints, and running solvers like GLPK; compare linear programming to MILP in a hands-on example.
Solve a MILP exercise by building a Pyomo concrete model with five integer x variables and a y, applying summation and linear constraints, and measure time using Gurobi or alternatives.
Explore non-linear problems, transforming linear problems with the multiplication of variables in the objective function and the constraint, and learn why solvers often yield local rather than global solutions.
Open spyder and implement nonlinear optimization in scipy by transforming the problem with constraint y times x. Create an objective variable Z, then run the code to obtain the solution.
Solve a nonlinear Pyomo optimization by tuning initial point and solver tolerance to reveal global solutions of a cosine objective for x and y in -5 to 5, using Ipopt.
Explore solving mixed integer nonlinear problems (MINLP) using composition, artificial intelligence, and heuristics, and transform a simple linear problem into a case study with nonlinear equations and integer variables.
Use Pyomo mindtpy to decompose mixed integer nonlinear problems, pairing Gurobi for the linear part with Ipopt for the nonlinear part.
Learn how the genetic algorithm optimizes problems in python by evolving a population of solutions with bounds and a penalized objective to drive convergence.
Explore the particle swarm heuristic to solve optimization problems by defining bounds, an initial point, and an objective function, then minimize with penalization and integer constraints to obtain a solution.
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!!