Graduate

GraduateOptimization


Linear Programming


Linear programming (LP) is a mathematical method for determining how to achieve the best result in a given mathematical model. Its function is represented by linear relations. Linear programming is a technique for optimizing a linear objective function, subject to linear equality and linear inequality constraints.

The key components of a linear programming problem are as follows:

  • Objective function: The function that needs to be optimized, usually maximized or minimized.
  • Decision variables: Variables that decide the output and are usually represented as x, y, z etc.
  • Constraints: These are restrictions or limits on the decision variables, often in the form of linear inequalities or equations.
  • Non-negativity restriction: It is assumed that the decision variables are non-negative, i.e. all values are either zero or positive.

Formulation of the linear programming problem

To understand Linear Programming consider the following example:

Imagine that a company makes two products: chairs and tables. Each chair contributes $30 to profit, and each table contributes $50. The company has labor and material limitations. It takes 2 hours of labor and 3 units of material to make one chair. It takes 4 hours of labor and 2 units of material to make one table. The company has a maximum of 100 hours of labor and 120 units of material available.

To maximize profit, we can formulate a linear programming problem as follows:

Maximum: Profit = 30x + 50y
subject to:
   2x + 4y ≤ 100 (Labor constraint)
   3x + 2y ≤ 120 (Physical constraint)
   x ≥ 0, y ≥ 0 (Non-negativity constraint)

Graphical representation

Linear programming problems in two variables can be solved and represented graphically. It looks like this:

x (chairs) y (tables) 2x + 4y = 100 3x + 2y = 120

The feasible region is the set of all points that satisfy all the constraints. It is shaded in grey above. The optimal solution lies in this region. In this example, the optimal strategy is at the intersection of the constraints, represented by the red point.

Simplex method

When there are more than two variables, graphical representation is not possible. Hence, we use the simplex method, which is an iterative method used to solve linear programming problems.

The simplex method involves the following steps:

  1. Start at the initial corner point of the feasible region.
  2. Evaluate the objective function at each vertex of the feasible region.
  3. Move to a neighboring vertex that improves the objective function value.
  4. Continue this process until no further improvement is possible.
  5. The current vertex point provides the maximum or minimum value of the objective function.

Example using the simplex method

Consider the following linear programming problem:

Maximize: Z = 3x1 + 2x2
subject to:
   x1 + x2 ≤ 4
   x1 - x2 ≤ 2
   x1, x2 ≥ 0

Steps to solve using simplex:

  1. Convert the inequalities into equalities by including the relaxed variables, s1 and s2:
  2.     x1 + x2 + s1 = 4
        x1 - x2 + s2 = 2
        
  3. Create the initial simplex table:
  4. x1 x2 S1 S2 Solution
    S1 1 1 1 0 4
    S2 1 -1 0 1 2
    Jade -3 -2 0 0 0
  5. Find the pivot column (the column with the most negative coefficient in the Z-row):
  6. The most negative value is -3 ( x1's column).

  7. Calculate the ratios to find the pivot line.
  8.     For row s1: 4/1 = 4
        For row s2: 2/1 = 2
        

    Choose the line with the smallest positive ratio: line s2.

  9. Perform a pivot operation to make the pivot element 1 and all other elements in the pivot column 0.
  10. Repeat this process until there are no negative coefficients left in the objective row.

Duality in linear programming

Every linear programming problem, called a primal problem, can be transformed into another linear programming problem known as a dual problem. The solutions of the dual and primal problems provide bounds for the value of the objective function.

Example:

Primary problem:
Maximize: Z = 3x1 + 4x2
subject to:
   2x1 + 3x2 ≤ 8
   3x1 + 3x2 ≤ 6
   x1, x2 ≥ 0

Its dual will be:

Minimize: W = 8y1 + 6y2
subject to:
   2y1 + y2 ≥ 3
   3y1 + 3y2 ≥ 4
   y1, y2 ≥ 0

The objective functions in primal and dual are interconnected. Solving one of these gives insight or limitation to the other.

Applications of linear programming

Linear programming is widely used in a variety of fields, including:

  • Manufacturing: Determining optimal production levels and inventories.
  • Finance: Designing portfolios to maximize returns with minimal risk.
  • Transportation: Minimizing the cost of shipping goods across the network.
  • Diet planning: Determining the most affordable diet that meets all nutritional requirements.
  • Telecommunications: For optimal bandwidth allocation and network analysis.

Limitations of linear programming

Despite its wide applications, linear programming has some limitations:

  • Models are based on linearity, while real-world scenarios are not always linear.
  • It assumes certainty in the coefficients; however, real-life data may be uncertain or variable.
  • The solution must completely satisfy all the constraints, which may not always be possible.
  • It does not accommodate integer variables in a straightforward way, which may be important in some practical problems.

Conclusion

Linear programming provides a framework for finding optimal solutions under given constraints. While it focuses primarily on optimizing linear objective functions, its principles are foundational in operations research and management science. Innovations and optimizations such as integer linear programming and nonlinear programming extend its applicability to more complex scenarios.


Graduate → 9.1


U
username
0%
completed in Graduate


Comments