Blog

LP Chapter 1: What Is Mathematical Programming? An Introduction to Mathematical Programming Problems

Transform your complex business challenge into an optimized plan of action—powered by Gurobi’s world-leading solver technology.

Blog

LP Chapter 1: What Is Mathematical Programming? An Introduction to Mathematical Programming Problems

Transform your complex business challenge into an optimized plan of action—powered by Gurobi’s world-leading solver technology.

Blog

LP Chapter 1: What Is Mathematical Programming? An Introduction to Mathematical Programming Problems

Transform your complex business challenge into an optimized plan of action—powered by Gurobi’s world-leading solver technology.

Mathematical programming is a powerful framework for modeling and solving optimization problems. It allows decision-makers to express objectives, constraints, and variables using mathematical notation. In this chapter, we explore the foundations of mathematical programming and introduce how it applies to real-world mathematical programming problems.

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.

What Are Mathematical Programming Problems?

Mathematical programming problems involve optimizing a mathematical objective function—such as minimizing cost or maximizing efficiency—subject to a set of constraints. These problems may be linear, integer, or nonlinear in nature, depending on the structure of the model.

For example, a company might want to determine the optimal way to allocate limited resources across multiple projects. This situation can be modeled as a mathematical programming problem, and solved using Gurobi’s industry-leading solver.

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.

Resources

Download the complete Linear Programming Tutorial Series slide deck.

View the entire series:

  1. Welcome: Linear Programming Tutorial

  2. Chapter 1: Mathematical Programming

  3. Chapter 2: Introduction to Linear Programming

  4. Chapter 3: Mixed Integer Linear Programming Problems

  5. Chapter 4: Furniture Factory Problem

  6. Chapter 5: Simplex Method

  7. Chapter 6: Modeling and Solving Linear Programming Problems

  8. Chapter 7: Sensitivity Analysis of Linear Programming Problems

  9. Chapter 8: Multiple Optimal Solutions

  10. Chapter 9: Unbounded Linear Programming Problems

  11. Chapter 10: Infeasible Linear Programming Problems

  12. Chapter 11: Linear Programming Overview - Further Considerations

  13. Chapter 12: Duality in Linear Programming

  14. Chapter 13: Optimality Conditions

  15. Chapter 14: Dual Simplex Method

Start Solving with Gurobi

Try Gurobi on your own optimization models and see how it performs on real decision problems.

Start Solving with Gurobi

Try Gurobi on your own optimization models and see how it performs on real decision problems.

Start Solving with Gurobi

Try Gurobi on your own optimization models and see how it performs on real decision problems.