Mathematical programming is a powerful tool with broad applicability across various sectors. In this series, we will delve into the origins, relevance, and practical applications of mathematical programming, with a particular emphasis on Linear Programming (LP) and Mixed Integer Linear Programming (MIP) models.


History of Mathematical Programming

Mathematical programming, also known as mathematical optimization, originated with the invention of linear programming by George Dantzig in 1947. Since then, it has become an indispensable tool for decision-making and resource allocation in a wide range of industries, including finance, logistics, manufacturing, and transportation.


The Key Components of Mathematical Programming

The field of mathematical programming encompasses a three-step process.

  1. Create your mathematical model. You start by translating your real-world problems mathematically, defining the questions you’re asking (decision variables), your limitations (constraints), and the goals you need to achieve (objectives).
  2. Develop algorithms. Develop algorithms that solve these mathematical programming models. Thankfully, there are many mathematical programming “solver” solutions available, including Gurobi, that include the algorithms you’ll need.
  3. Run the algorithms. Finally, you run your model through the solver to find the answer to your problem (i.e., answers to your questions, based on your unique objectives and constraints).


The Difference Between Mathematical Programming and Computer Programming

Mathematical programming is a problem-solving approach that uses mathematical models and algorithms to optimize decision-making processes. Computer programming, on the other hand, is about writing code to create software or systems that computers can execute. While they both involve the word “programming,” they have different focuses and objectives.


Exploring Linear Programming

Linear Programming (LP) is a widely used mathematical programming technique that involves optimizing (minimizing or maximizing) a linear objective function (your defined goals) subject to a set of linear constraints (your defined limitations). LP is particularly useful in situations where resources need to be allocated efficiently or where decisions need to be made to maximize or minimize a certain outcome.

To illustrate the concepts of LP, we will introduce a typical case study known as the “Furniture Problem.” Throughout this series, we will use the Furniture Problem to demonstrate the step-by-step process of formulating and solving LP models. By applying LP techniques to this practical scenario, you will gain a comprehensive understanding of how mathematical programming can be applied in real-world situations.

In addition to the case study, we will provide a general formulation for LP and MIP problems. Understanding the basic structure and components of LP models will enable you to tackle a wide range of optimization problems effectively.



Download the complete Linear Programming Tutorial Series slide deck.

View the entire series:

Guidance for Your Journey

30 Day Free Trial for Commercial Users

Start solving your most complex challenges, with the world's fastest, most feature-rich solver.

Always Free for Academics

We make it easy for students, faculty, and researchers to work with mathematical optimization.

Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.