Introduction to Optimization in Python
Offered By: DataCamp
Course Description
Overview
Learn to solve real-world optimization problems using Python's SciPy and PuLP, covering everything from basic to constrained and complex optimization.
This course transforms beginners into skilled optimizers, teaching you to convert and solve real-world problems using mathematical modeling in Python with SciPy and PuLP. Starting with the basics of optimization and its applications, you'll employ SymPy for analytical solutions without manually calculating derivatives, and utilize SciPy for numerical answers. You'll progress to tackling linear programming, constrained convex optimization, and mixed integer optimization with SciPy and PuLP, focusing on practical issues like manufacturing, profit maximization, and resource allocation.
This course transforms beginners into skilled optimizers, teaching you to convert and solve real-world problems using mathematical modeling in Python with SciPy and PuLP. Starting with the basics of optimization and its applications, you'll employ SymPy for analytical solutions without manually calculating derivatives, and utilize SciPy for numerical answers. You'll progress to tackling linear programming, constrained convex optimization, and mixed integer optimization with SciPy and PuLP, focusing on practical issues like manufacturing, profit maximization, and resource allocation.
Syllabus
- Introduction to Optimization
- This chapter introduces optimization, its core components, and its wide applications across industries and domains. It presents a quick, exhaustive search method for solving an optimization problem. It provides a mathematical primer for the concepts required for this course.
- Unconstrained and Linear Constrained Optimization
- This chapter covers solving unconstrained and constrained optimization problems with differential calculus and SymPy, identifying potential pitfalls. SciPy is also introduced to solve unconstrained optimization problems, in single and multiple dimensions, numerically, with a few lines of code. The chapter goes on to solve linear programming in SciPy and PuLP.
- Non-linear Constrained Optimization
- This chapter introduces convex-constrained optimization problems with different constraints and looks at mixed integer linear programming problems, essentially linear programming problems where at least one variable is an integer.
- Robust Optimization Techniques
- This chapter covers finding the global optimum when multiple good solutions exist. We will conduct sensitivity analysis and learn linearization techniques that reduce non-linear problems to easily solvable ones with SciPy or PuLP. In terms of applications, we will solve an HR allocation with training costs problem and capital budgeting with dependent projects.
Taught by
James Chapman and Jasmin Ludolf
Related Courses
Advanced Capstone Spacecraft Dynamics and Control ProjectUniversity of Colorado Boulder via Coursera 算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera Fundamentos del análisis de datos para la toma de decisiones
Tecnológico de Monterrey via Coursera On Ramp to AP* Biology
Weston High School via edX Applied Calculus with Python
Johns Hopkins University via Coursera