top of page
Writer's pictureAbhinav Bangia

pip install PuLP : Getting started with Linear Optimization


Linear Optimization


Understanding Linear Programming

  • Linear programming (LP) is a method for engineers or data scientists to find the best outcome of a business problem i.e maximum profit, minimum cost in a linear mathematical model.

  • Each of the LP problem consist of following components : 1. Objective Function : Purpose behind LP i.e maximize profit, minimize loss , 2. Decision Variables : These are the controllable variables that influence the objective function, 3. Constraints : These are linear restrictions on decisions variables.


Case Example : XYZ Pharmaceuticals

  • XYZ Pharmaceuticals manufacturers two types of medicine with same salt : A and B. The manufacturer wants to maximize their weekly operational profit.

  • $1 of profit per medicine A.

  • $1.5 of profit per medicine B.

  • Medicine A requires 1 hour of manufacturing labor and 2 hours of packaging labor.

  • Medicine B requires 2 hours of manufacturing labor and 1 hour of packaging labor.

  • Each week, XYZ has only 100 hours of manufacturing labor and 100 hours of packaging labor available.


Lets Build the Objective Function, Decision Variables and Constraints

  1. Let x be the of medicine A produced and y be the medicine B product in the week

  2. Objective Function : Max(z) = 1x + 1.5y

  3. Decision Variables (Subject to) 1x + 2y <= 100 (Available Manufacturing Hours) 2x + 1y <=100 ( Available Packaging Hours)

  4. Constraints : x >= 0 & y >= 0


Loading & Solving the Problem Statement in PuLP


Discussing Solution


We see that the optimal solution for production of Medicine A & B to return maximum profit is 33.33 units weekly for both A & B to maximize the profit up to 83.33 units. We can even plot the illustrative graph using matplotlib library in python.


 

There are many commercial optimizer tools, but having hands-on experience with a programmatic way of doing optimization is invaluable.



117 views

Comments


Get Started with Listing of your Bug Bounty Program

  • Black LinkedIn Icon
  • Black Twitter Icon
bottom of page