Introduction to Linear Programming in Python

Linear programming is a technique to optimize any problem with multiple variables and constraints. It’s a simple but powerful tool every data scientist should master. Imagine you are a strategist recruiting an army. You have: Three resources: 🌾food, 🪵wood, and 🪙gold Three units: 🗡️swordsmen, 🏹bowmen, and 🐎horsemen. Horsemen are stronger than bowmen, who are in turn stronger than swordsmen. The following table provides the cost and power of each unit: 🗡️Swordsman 60 20 0 70 🏹Bowman 80 10 40 95 […]

Read more

Integer vs. Linear Programming in Python

Why is linear programming called that way? Both terms are confusing: Linear implies that nonlinear programming exists; Programming actually means “planning” in this context. In summary, it has nothing to do with code: linear or not. It’s about optimizing variables with various constraints. In this article, we’re gonna talk about another type of optimization: integer programming. We’ll see why a good understanding of the problem we face is necessary to choose the right solver. Finally, we will write a model […]

Read more

Introduction to Constraint Programming in Python

Constraint Programming is a technique to find every solution that respects a set of predefined constraints. It is an invaluable tool for data scientists to solve a huge variety of problems, such as scheduling, timetabling, sequencing, etc. In this article, we’ll see how to use CP in two different ways: Satisfiability: the goal is to find one or multiple feasible solutions (i.e., solutions that respect our constraints) by narrowing down a large set of potential solutions; Optimization: the goal is […]

Read more

Optimize Your Marketing Budget with Nonlinear Programming

In the age of digital marketing, businesses face the challenge of allocating their marketing budget across multiple channels to maximize sales. However, as they broaden their reach, these firms inevitably face the issue of diminishing returns – the phenomenon where additional investment in a marketing channel yields progressively smaller increases in conversions. This is where the concept of marketing budget allocation steps in, adding another layer of complexity to the whole process. In this article, we’re going to explore the […]

Read more