Linear Programming (continued)

 

Success of LP

 

The success of linear programming as an optimization tool can be attributed to many factors.  One is that in a reasonable range of operating values, the abstractions for costs and resource usages can be taken to be linear with respect to operating variables.  Even some non-linear but convex cost expressions can be written in piecewise linear form which are then amenable to linear programming formulations.  A second reason is that there are now powerful general-purpose codes available to solve ‘large’ linear programming formulations in a numerically stable ways in such a way that engineers and managers can interpret the results usefully.  These codes are based either on simple (extreme point) methods or on barrier (interior point) methods.  For LPs with special structure (such as network flow LPs), very large problems can be set up and solved very effectively.  A third reason is that the supporting theory of convex analysis and duality is so strong and elegant that a lot of additional mileage is available from a linear programming formulation and its solution.  These include sensitivity information and various enhancements to computation and interpretation of solutions.  Put together, these make LP among the most powerful tools of optimization theory and also in the practice of Operations Research.

 

As part of this course, we will see some aspects of LP that are interesting, useful and intriguing, apart from the basic material which you should read up on, in any textbook on Optimization and/or O.R.  These notes are one step ahead of the current lectures, but you may please read them now.

 

Special structure LPs : Network flow LPs

 

Probably the most important sub-class of practical LPs are Network Flow LPs, which admit a surprisingly large number of specializations to interesting applications.  These are defined below.

 

The underlying structure is that of a directed network.  The specification is in terms of a set N of nodes, a set of arcs A, with each arc j having a head node i1 and a tail node i2.  The main variables are flow variables xj, defined on each arc j.  Typically, flow variables satisfying bound constraints on arcs and satisfying a flow balance condition at nodes are to be decided so that costs associated with the flow are minimized.  In addition, the following data is required to specify the Min cost flow network flow LP.

 

A cost cj on each arc j, lower and upper bounds lj and uj on each arc j, and the flow divergence or net supply bi at each node i.

 

With these, the min cost network flow or the optimal distribution problem is as follows:

 

Min  S cj xj

subject to: S {j outgoing at i} xj  -  S {j incoming at j} xj =  bi (each i)

and lj  <= xj  <=  uj  (each j)

 

For more details on such problems, apart from O.R. books, you can consult the book Linear Programming and Network Flows by Bazaraa, Jarvis and Sherali or one of several books on network flows and combinatorial optimization (notice that some of the problems discussed here have a combinatorial flavour, such as the shortest path problem and the assignment problem).  Linear programming as a sub-problem in solving large combinatorial problems is one of the most important aspects of LP, in the last 20 years.

 

Exercises:  

 

 

 

 

 

 

Linear programming and duality

 

Corresponding to any linear programming, there is another one in the background which is closely connected with it.  What a minimization problem (with constraints) achieves as a minimum can be interpreted as the maximum of another problem.  This is quite a deep principle, which holds not just for LPs but for a larger class of optimization problems.  [One example of this is the following geometric problem.  Given a convex set K and a point c outside it, both say in Rn – although again this sort of result is valid in a more general setting – try find a point in K that is closest to c (in the Euclidean norm).  This minimum norm problem turns out to be intimately related to the following maximization problem.  Construct a (hyper)plane that separates c and K (the hyperplane is defined as some dTx and separation is achieved by saying that  dTx < 0 for x in K and dTc >= 0, i.e. K and c lie on opposite sides of the hyperplane).  Find the maximum distance between c and such a hyperplane.  This maximization problem turns out to have the same value as the earlier minimization problem.]

 

Weak duality

 

One way to derive this is the following.  Consider the LP

Minx cTx subject to Ax = b, x >= 0 called the primal problem P. 

 

Multiply constraint i by a constant wi and add the resulting set of equations.  You can see that the RHS quantity S wibi <= cTx for any feasible x, provided that for each index j, the following inequalities hold S wi aij <= cj.  You can see this by direct arithmetic component-wise and even more easily by matrix vector arithmetic.  Note that this bound on the objective function value is true for any x and is therefore true for the optimal solution x* to the primal problem.  The quantity given by wTb is a bound on the primal objective function valid with any w satisfying the given constraints wTA <= c and therefore {Maxw wTb s.t. wTA <= c} <=  cTx* for feasible x* (i.e. it gives a lower bound.  The problem in w is also an LP (but with unconstrained variables w). 

 

This result is called weak duality.  The problem {Maxw wTb s.t. wTA <= c}is called the Dual LP, and the variables w are called the dual variables.  Using this itself, one can show that if the primal P is unbounded, the dual D is infeasible and vice-versa.  Note that both primal and dual can be infeasible (both cannot be unbounded from the previous statement).

 

Strong duality

 

The obvious question of interest is whether there is indeed a w that achieves this bound (i.e. satisfies the constraints and has wTb = cTx*).  This answer is ‘yes’ for linear programmes and some other optimization problems, but not true in general.  This can be proved in many ways, and the most direct way for us is if we believe in the finite termination of the Simplex method (in the absence of degeneracy), then at optimality, the coefficients of the basic and non-basic variables satisfy the condition that (cj – cBT B-1Aj) >= 0 all j, where Aj is the j-th constraint column of A.  Note that for j belonging to the basis, this is zero by definition and for the non-basic variables, this is precisely the optimality test that we saw in the Simplex method.

 

Now defining wT = cBT B-1 constructively gives us a feasible dual vector that satisfies w*Tb = cTx* [verify this]. 

 

The main duality result is that for a linear programme that has an optimal solution, the dual LP also has an optimal solution and with the same objective function value as the primal problem.

 

Sometimes the dual problem is easier to solve as it may have fewer constraints or may have special structure (e.g. separability).

 

Dual variables and Complementary slackness

 

There are several interesting applications and interpretation of dual variables and the dual LP.  The values of the dual variables at optimality are of particular significance as they capture the rate of change of the objective function cTx* with respect to small changes in the RHS variables b.  This is of interest if bi represents the availability of resource i or other interpretations of the constraint RHS.  This result can be seen intuitively from the expression cTx* = z* = w*Tb and so taking the partial derivative of z* w.r.t. bi gives the desired interpretation.

 

The other important linkage of the primal and dual problems is through complementary slackness.  For the standard pair of LPs where both the primal and dual have optimal solutions (x* and w*), the complementary slackness condition is that w*TAi < ci implies that x*i = 0, i.e. the i-th constraint in the dual is satisfied with inequality only for zero variables and conversely that x*i = 0 implies that i-th constraint in the dual is binding.  Note that both these conditions are one-way conditions and not if and only if conditions.

 

A set of feasible vectors x and w are optimal if and only they satisfy the complementary slackness conditions.

 

Exercises

 

 

 

 

Sensitivity analysis

 

For the LP in standard form, Minx cTx subject to Ax = b, x >= 0, the questions of interest are the following.  How does the optimal solution vary with change in the data parameters Aij, cj and bi (especially the latter two, because the ‘technology’ matrix A does not change as often as prices and resource availabilities and demands – in planning applications).  What range of values keeps the same basis, but with different values of the variables at optimality?  These are useful in design decisions and some managerial decisions, as data are often not known with certainty or are likely to change with time.  These questions are well understood and answered in the case of linear programming.

 

Subsidiary decisions are whether an LP optimal solution remains optimal if a new constraint is added (if the original solution satisfies the new constraint, it is optimal.  Why?) and how to restore optimality and feasibility if not, and whether a solution remains optimal if a new variable is added to an LP.