In this article, we will delve into the application of linear programming by examining the furniture problem as an example. We will explore the key components of linear programming and introduce the concept of mixed integer programming. Additionally, we will discuss the general formulation of linear and mixed integer programming problems, highlighting their various representations and solving methods.
To illustrate the concepts of linear and mixed integer programming, let’s consider the furniture problem. In this scenario, we are tasked with determining the optimal production plan for chairs and tables. We define two decision variables: x1 represents the number of chairs to produce, and x2 represents the number of tables to produce. These decision variables are associated with respective indices, 1 for chairs and 2 for tables.
To facilitate problem formulation, we create sets to map each product to its corresponding decision variable index. In this case, the set of products includes “chair” with the index 1 and “table” with the index 2. Similarly, we establish a set of resources, which comprises two elements: mahogany (index 1) and labor (index 2).
Linear programming models rely on various parameters that define known quantities or data related to the problem. In the furniture problem, we encounter three types of parameters: prices, resource capacity, and technology coefficients.
To visualize the relationship between resources and products, we can represent the technology coefficients in a matrix form. This two-dimensional array maps resources (rows) to products (columns) and encapsulates the resource consumption by the production plan.
Linear programming problems typically consist of five key components: sets of indices, parameters, decision variables, constraints, and objectives.
By parameterizing the furniture problem, we can separate the data from the model, allowing for more flexibility. Parameters like b1, b2, K1, K2, and a1, a2 represent the specific values of the problem. By using general parameters, we can adapt the model to different scenarios without altering the underlying structure.
To generalize the furniture problem, we can extend the formulation to accommodate multiple products and resources. In this more comprehensive formulation, the objective function consists of revenue associated with each product, determined by the product’s objective function coefficient bj. The constraints account for resource consumption, ensuring that it does not exceed the available resource capacities Ki.
Linear programming problems can be formulated with different types of constraints and decision variable requirements. In addition to non-negativity constraints, which ensure non-negative values for decision variables, we can have less than or equal to constraints, greater than or equal to constraints, equality constraints, integer constraints, and binary constraints. For example, a job position can only be filled with only one resource and you have a set of possible qualified resources to assign on the job. This particular constraint will be defined as an equality constraint.
Mixed integer programming combines linear programming with additional requirements on decision variables, such as integrality and binary restrictions. This approach allows for addressing more complex optimization problems, including combinatorial optimization.
When solving mixed integer programming problems, the formulation and representation of the problem play a crucial role in the performance of the solver. Efficient formulations are essential for achieving optimal solutions. Understanding the behavior of mixed integer programming algorithms can significantly impact the effectiveness of problem-solving.
Linear and mixed integer programming offer powerful techniques for solving optimization problems. By applying these methodologies to real-world scenarios like the furniture problem, we can make informed decisions and optimize various aspects of production and resource allocation. Understanding the components and formulations of linear and mixed integer programming models equips us with valuable tools for tackling a wide range of optimization challenges.
Download the complete Linear Programming Tutorial Series slide deck.
View the entire series:
GUROBI NEWSLETTER
Latest news and releases
Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.
Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.