Interior-point method for LP
Authors: Tomas Lopez Lauterio, Rohit Thakur and Sunil Shenoy Steward: Dr. Fengqi You and Akshay Ajagekar
Introduction
Linear programming problems seeks to optimize linear functions given linear constraints. There are several applications of linear programming including inventory control, production scheduling, transportation optimization and efficient manufacturing processes. Simplex method has been a very popular method to solve these linear programming problems and has served these industries well for a long time. But over the past 40 years, there have been significant number of advances in different algorithms that can be used for solving these types of problems in more efficient ways, especially where the problems become very large scale in terms of variables and constraints. In early 1980s Karmarkar (1984) published a paper introducing interior point methods to solve linear-programming problems. A simple way to look at differences between simplex method and interior point method is that a simplex method moves along the edges of a polytope towards a vertex having a lower value of the cost function, whereas an interior point method begins its iterations inside the polytope and moves towards the lowest cost vertex without regard for edges. This approach reduces the number of iterations needed to reach that vertex, thereby reducing computational time needed to solve the problem. Before getting too deep into description of Interior point method, there are a few concepts that are helpful to understand. First key concept to understand is related to Lagrange function. Lagrange function incorporates the constraints into a modified objective function in such a way that a constrained minimizer (x*) is connected to an unconstrained minimizer {x*, λ*} for the augmented objective function L(x,λ), where the augmentation is achieved with 'p' Lagrange multipliers.
To illustrate this point, if we consider a simple an optimization problem:
minimize f(x) subject to: A·x = b, where A ε Rpxn is assumed to have a full row rank
Lagrange function can be laid out as:
L(x, \lambda ) = f(x) - \sum_{i=1}^{p}\lambda _{i}\cdot a_{i}(x))
where, 'λ' introduced in this equation is called Lagrange Multiplier.
Another key concept to understand is regarding solving linear and non-linear equations using Newton's methods.
Assume you have an unconstrained minimization problem in the form: g(x) , where g(x) is a real valued function with n variables. A local minimum for this problem will satisfy the following system of equations: