Graduate → Optimization → Linear Programming ↓
Sensitivity Analysis
Sensitivity analysis is an important aspect of linear programming and optimization. It examines how uncertainty in the output of a model can be attributed to various sources of uncertainty in its inputs. This analysis is important because linear programming models are based on estimates of parameters, and the real-world values of these parameters can often differ from the estimates. Sensitivity analysis helps us understand how changes in parameters affect the optimal solution and whether a solution remains robust despite changes in those parameters. Let us explore the concepts and techniques of sensitivity analysis in linear programming through various explanations and examples.
Understanding linear programming
Linear programming is a mathematical technique used to determine the best possible outcome or solution from a given set of parameters or list of requirements that have a linear relationship. These optimize a particular objective function, subject to the constraints imposed by linear inequalities or equations. The general form of a linear programming problem can be written as:
Maximum or minimum:c T x
subject to:A x ≤ b
orA x ≥ b
orA x = b
,x ≥ 0
where:
- x
is the vector of variables,
- c
is the coefficients of the objective function,
- A
is the matrix of coefficients for the constraints,
- b
are constant terms in the constraints.
An example of linear programming
Let us take a simple production problem as an example of a linear programming problem. Suppose a manufacturer makes two products, A and B. The profit contribution per unit of product A is $3, and for product B, it is $2. The manufacturer has a limitation of resources, such that the total resources required to produce the products are limited by two factors – material and labor. The linear programming problem can be stated as:
Maximum:3x 1 + 2x 2
subject to:2x 1 + x 2 ≤ 100
(physical constraint)x 1 + 3x 2 ≤ 90
(labour constraint)x 1 ≥ 0
,x 2 ≥ 0
Here, x 1
is the quantity of product A and x 2
is the quantity of product B.
Introduction to sensitivity analysis
Once the linear programming problem is formulated and solved, sensitivity analysis comes into play. Sensitivity analysis tells us how sensitive the optimal solution is to changes in the parameters of the problem. It often involves:
- Change in the objective function coefficients.
- Adjustments to the right-hand side (RHS) of the constraints.
- Changes in the coefficients of the constraint equations.
Changes in the objective function coefficients
This involves understanding how the coefficients of the objective function ( c
vector) affect the optimal solution. Small changes may not affect the solution, while large changes can potentially change which variables are in the basis and the value of the objective function.
Consider the primitive problem example above. If the profit contribution of product A changes, we need to assess how this affects production volume and overall profit.
Graphical example
The above graph shows how shifting the coefficients of the objective function can bend the solution to a new point if the constraints allow.
Changes to the right side of the odds
This involves a change in b
vector. In practical scenarios, the load on resources or available resources often change. It is important to understand how these changes affect the optimal solution. For example, if more material becomes available, how does the optimal production plan adapt?
Text illustration
Suppose the material availability increases from 100 to 120 units:
Original constraint:2x 1 + x 2 ≤ 100
Modified constraint:2x 1 + x 2 ≤ 120
Feasibility may change and, thus, optimal adjustments may occur that can potentially increase profits.
Change in handicap coefficient
Changing the coefficients in the constraint matrix A
reveals another dimension of sensitivity analysis. This analysis reflects real-world changes such as efficiency improvements or changes in process requirements.
Examples and explanations
Imagine an improvement to the production process for product A, allowing it to use 1.5 units of material instead of 2:
Original matrix coefficients:2x 1 + x 2 ≤ 100
Modified coefficient:1.5x 1 + x 2 ≤ 100
This modification to the constraint can have a significant impact on potentially increasing the production of product A within the same resource allocation.
Importance of sensitivity analysis
Sensitivity analysis is incredibly important in real-world applications because it provides a layer of assurance and insight into:
- Robustness: Knowing that the solution is close to optimal allows decision makers to move forward with less risk of dramatic negative impacts due to minor deviations.
- Decision making: By understanding the extent of certainty, companies can make informed decisions about investments in resources, technology, or market adaptation.
- Resource allocation: Knowing how changes affect outputs helps in proactive and strategic resource management.
Conclusion
Sensitivity analysis in linear programming provides essential knowledge about the responsiveness and robustness of the optimal solution. By examining the effects of changes in the objective function coefficients, constraints, and other parameters, decision makers can anticipate and adapt to variability and ensure efficient resource allocation and strategic planning.