Linear Optimization can be a very powerful tool to enable mathematical decision-making under constrains. This tutorial is designed on how to build a linear program optimizer in python. To make the format more entertaining, the tutorial problems are designed to tackle relevant day-to-day problems on how to optimize your vacation, see all art around museum and create optimal reading lists.
Linear Optimization is a very established area in operations research famous for solving investing and transportation problems. Linear Programing and Integer programing can describe a problem where decisions are constrained by problems and the solution requires decision where one seeks to maximize/minimize objectives (basically everyday life). So it always surprised me why more people don’t use LP for solving their real life problems. Also LP/IP can replace sometimes very complex algorithms where one seeks to optimize under constrains.
This is a tutorial how to use LP modeling framework in Python (using Pulp and Scipy) by giving relevant example of optimizing everyday life. It is amazing, that by properly translating the problem with algebraic expressions, we can find solutions to such relevant everyday problems as how many/which bestsellers to read in a year, which vacations to take, while keeping costs minimal and how to cover all museums in NYC.