Home Artificial Intelligence Introduction to Mathematical Optimisation in Python

Introduction to Mathematical Optimisation in Python

0
Introduction to Mathematical Optimisation in Python

Data Science Fundamentals

Beginner’s practical guide to discrete optimisation in Python

Data Scientists tackle a big selection of real-life problems using data and various techniques. Mathematical optimisation, a robust technique that could be applied to a big selection of problems in lots of domains, makes an excellent investment to Data Scientists’ toolkit. On this practical introductory post, we are going to familiarise with three popular optimisation libraries in Python: Google’s OR-Tools, IBM’s DOcplex and COIN-OR Foundation’s PuLP.

Photo by Akhilesh Sharma on Unsplash

Mathematical optimisation is about finding optimal alternative for a quantitative problem inside predefined bounds. It has three components:

  • Objective function(s): Tells us how good an answer is and allows us to match solutions. An optimal solution is the one which maximises or minimises objective function depending on the use case.
    ▶ ️In some cases, there could be multiple objective functions. This adds complexity in determining what an optimal solution is.
    ▶ ️In some cases, there could also be no objective function. Such optimisation problems are called feasibility problems.
  • Decision variable(s): Represents a price or values we wish to seek out out, the reply we’re on the lookout for in a quantitative problem. Optimisation could be split into two kinds depending on the form of decision variables:
    ▶ ️ Discrete optimisation: Decision variables are discrete. Allocating timetable and finding shortest travel path between two locations are some examples of discrete optimisation. If you would like to learn more about discrete optimisation, this course and/or this guide could be of interest to you.
    ▶ ️Continuous optimisation: Decision variables are continuous. You will have already heard of the term optimisation within the context of machine learning. Machine learning is one example area where continuous optimisation is used. If you would like to learn more about continuous optimisation, it’s possible you’ll find this tutorial useful.
  • Constraint(s): Defines feasible range of solutions for the choice variables.
    ▶ ️In some continuous optimisation problems, there could also be no constraints. This known as unconstrained optimisation.

LEAVE A REPLY

Please enter your comment!
Please enter your name here