Understanding and Applying Numerical Optimization Techniques

Optimization is all about smart trade-offs given difficult choices. This course focuses on three specific aspects of numerical optimization: correctly setting up optimization problems, linear programming, and integer programming.
Course info
Level
Intermediate
Updated
May 4, 2017
Duration
3h 59m
Table of contents
Course Overview
Introducing Numerical Optimization
Understanding Linear Programming
Implementing Linear Programming in Excel
Implementing Linear Programming in R
Implementing Linear Programming in Python
Understanding Integer Programming
Implementing Integer Programming in Excel
Implementing Integer Programming in R
Implementing Integer Programming in Python
Description
Course info
Level
Intermediate
Updated
May 4, 2017
Duration
3h 59m
Description

Many optimization problems are conceptually similar to software design patterns - they are generally usable techniques that help with commonly recurring problems. In this course, Understanding and Applying Numerical Optimization Techniques, you'll first learn about framing the optimization problem correctly. Correctly framing the problem is the key to finding the right solution, and is also a powerful general tool in business, data analysis, and modeling. Next, you'll explore linear programming. Linear programming is a specific type of optimization used when the problem can be framed purely in terms of linear (straight line) relationships. Finally, you'll wrap up this course learning about integer programming. Integer programming is similar to linear programming, but it involves adding conditions that our variables be integers. This occurs very often in the real world, but the math of solving these problems is quite a bit more involved. By the end of this course, you will have a good understanding of how numerical optimization techniques can be used in data modeling, and how those models can be implemented in Excel, Python, and R.

About the author
About the author

An engineer and tinkerer, Vitthal has worked at Google, Credit Suisse, and Flipkart and studied at Stanford and INSEAD. He has worn many hats, each of which has involved writing code and building models. He is passionately devoted to his hobby of laughing at his own jokes.

More from the author
Building Regression Models Using TensorFlow
Intermediate
2h 39m
10 Jul 2017
More courses by Vitthal Srinivasan
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Vitthal Srinivasan. Welcome to my course, Understanding and Applying Numerical Optimization Techniques. I'm a co-founder at a startup named LoonyCorn. Prior to this, I worked at Google and studied at Stanford. What do we really want? What is holding us back? What do we really control? These are pretty deep philosophical questions. These are also questions that numerical optimization is focused on. Optimization is all about making smart trade-offs when presented with complicated choices. Some of the major topics that we will cover include the formulation of objectives, trade-offs, and constraints, linear optimization problems, the economics behind them, and solving them using the simplex algorithm, integer optimization problems, which are incredibly powerful for modeling business decisions, portfolio optimization using both linear and quadratic risk formulations, and implementing linear and integer programming using Excel, R, and Python. By the end of this course, you'll have a good understanding of how numerical optimization techniques can be used in data modeling, and how those models can be implemented in Excel, Python, and R. I hope you'll join me on this journey to make smart, data-driven trade-offs with the course, Understanding and Applying Numerical Optimization Techniques, at Pluralsight.