10.11. Linear Programming#

10.11.1. Linear Optimization Problem#

10.11.1.1. General Form#

Definition 10.38 (Linear optimization problem)

A convex optimization problem where the objective and constraint functions are all affine is known as a linear optimization problem or a linear program.

A general linear program has the following form:

(10.27)#minimize cTx+dsubject to GxhAx=b

where

  1. xRn is the optimization variable.

  2. f(x)=cTx+d is an affine objective function.

  3. GRm×n and hRm describe the m affine inequality constraints.

  4. ARp×n and bRp describe the p affine equality constraints.

Note

  1. Minimizing cTx+d is same as minimizing cTx with the scalar d only being an offset for the optimal value. Thus, the affine objective can be replaced as a linear objective.

  2. The problem of maximizing cTx+d is same as the problem of minimizing cTxd which is also an affine functional. Thus, an affine maximization problem with affine constraints is also a linear program.

  3. The feasible set of a linear program is a polyhedron. Recall from Definition 9.18 that a polyhedron is the solution set of a finite number of linear inequalities and linear equations. In this case, we have m linear inequalities and p linear equations.

10.11.1.2. Standard Form#

Definition 10.39 (Linear programming standard form)

The standard form for linear programming is given by

(10.28)#minimize cTxsubject to Ax=bx0.

Note

This form has

  1. A linear objective function.

  2. A system of linear equations as equality constraints.

  3. Component wise nonnegativity constraints on the optimization variable x.

Observation 10.12 (Converting general form into standard form)

We show how the general form (10.27) can be converted to an equivalent standard form (10.28) linear programming problem.

  1. We first introduce slack variables to the linear inequalities sRm. We get the form

    minimize cTx+dsubject to Gx+s=hAx=bs0.
  2. We next split the optimization variable xRn as the difference between two nonnegative variables x+ and x. x=x+x where both x+,xR+n. The optimization problem becomes:

    minimize cTx+cTx+dsubject to Gx+Gx+s=hAx+Ax=bx+0,x0,s0.
  3. This is an LP in standard form with the optimization variables being x+, x, and s.

    1. We can drop the scalar d to get a linear objective function.

    2. We can introduce an optimization variable yR2n+m as the concatenation of x+, x, and s and require that y0 be the unified inequality constraint.

    3. We can then write Gx+Gx+s=h as

      [GGIm]y=h.
    4. Similarly, the objective function can be written as

      [cc0m]Ty.

10.11.1.3. Inequality Form#

Definition 10.40 (Linear programming inequality form)

The standard form for linear programming is given by

(10.29)#minimize cTxsubject to Axb.

Note

This form has

  1. A linear objective function.

  2. A system of linear inequalities as inequality constraints.

  3. No equality constraints.