Optimization Theory (DS2) Lecture #3
Three Kinds of Certificates, Standard Equality Form, and a Simplex Iteration

Abstract

Today we are going to prepare for the simplex algorithm. We will cover Secs. 2.1 to 2.3 of the textbook.

Text and examples adapted from A Gentle Introduction to Optimization.

1 Review

Recall, last time we worked on how to formulate problems, going from a word description of a problem to a formal description including Variables, Constraints, and the Objective Function. Once you have those, you can produce a formal description that says, “Maximize (some function) such that (s.t.) (some constraints hold).”

2 Certificates

As the book says, “By definition, an LP [linear program] has only one optimal value, but it may have many optimal solutions.” However, it may not have a solution at all! Or, it may have a solution that runs off to infinity. So, there are three possible cases we would like to distinguish:

  1. 1.

    our problem is infeasible (has no solution),

  2. 2.

    it has one or more optimal solutions, or

  3. 3.

    it is unbounded.

Also, in the case where we have a solution that we think is optimal, it would be nice to be able to prove that to others. We will see that, once the problem is properly formulated, there are one or two vectors we can present that will show which of these cases holds. These vectors are called certificates of infeasibility, optimality, or unboundedness, respectively.

2.1 Infeasibility

We only need to look at the constraints, not the objective function, and demonstrate that they are mutually exclusive: by the time you take them all into account, there is no space left for a working solution at all.

Consider the constraints of a problem (P),

4x1+10x2-6x3-2x4 =6 (1)
-2x1+2x2-4x3+x4 =5 (2)
-7x1-2x2+4x4 =3, (3)
x1,x2,x3,x4 0. (4)

To show there is no solution, we create the equation

x1+4x2+2x3=-1 (5)

and from this, we are done: all of the coefficients of the xi are positive (or non-negative, including x4), and all of the xi are constrained to be non-negative, so there is no way this can be solved!

So how do we create that equation? Via the usual algebraic manipulation of the equations above:

1×(Eq. 1)-2×(Eq. 2)+1×(Eq. 3). (6)

If we write down those values as y1=1, y2=-2, y3=1, then we can create the vector

y=(y1,y2,y3)=(1,-2,1). (7)

The vector y is said to be our certificate of infeasibility.

We can write this down as

Ax=b, (8)

where

A =(410-6-2-22-41-7-204) (9)
b =(653) (10)
x =(x1x2x3x4). (11)

We multiply both sides by the vector y to get

yAx=yb, (12)

Insert numbers for y into that equation, and you will get an equation with all non-negative values on the left and a negative value on the right. Formally,

Let A be a matrix and b be a vector. Then the system

Ax=b,x0 (13)

has no solution if there exists a vector y s.t.

  1. 1.

    yA0, and

  2. 2.

    yb<0.

Farkas’ lemma tells us that there exists a certificate of infeasibility for every infeasible system.

2.2 Unbounded Linear Programs

Consider the already-formulated LP

max{z(x)=cx:Ax=b,x0}, (14)

where

A =(11-31201-22-2-2-1410) (15)
b =(7-2-3) (16)
c =(-1037-1) (17)
x =(x1x2x3x4x5). (18)

If we pick vectors xa=(2,0,0,1,2) and d=(1,2,1,0,0) and define a function

x(t)=xa+td, (19)

then we can show that

cx(t)=cxa+2t, (20)

and so as t, so does our objective function. Formally,

Suppose there exists a problem (P) as above, with a feasible solution xa and a vector d such that:

  1. 1.

    Ad=0, and

  2. 2.

    d0, and

  3. 3.

    cd>0,

then (P) is unbounded.

The pair of vectors d and xa together are our certificate of unboundedness.

2.3 Optimality

See Sec. 2.1.3.

3 Standard Equality Form (SEF)

An LP is in standard equality form if:

  1. 1.

    it is a maximization problem;

  2. 2.

    other than the non-negativity constraints, all constraints are equalities; and

  3. 3.

    every variable has a non-negativity constraint.

That is, it can be written in the form

max{z(x)=cx:Ax=b,x0}. (21)

Consider the LP

max(1,-2,4)(x1,x2,x3) (22)

subject to

(1532-1212-1)(x1x2x3)=(542) (23)
x1,x20. (24)

x3 is called a free variable since it doesn’t have a non-negativity constraint. But a lot of our techniques and especially proofs depend on that. So, we introduce two new variables, x3+ and x3-, set x3=x3+-x3-, and add constraints x3+,x3-0. After some algebra, you get

max(1,-2,4,-4)(x1,x2,x3+,x3-) (25)

subject to

(153-32-12-212-11)(x1x2x3+x3-)=(542) (26)
x1,x2,x3+,x3-0. (27)

Getting closer, but we’re still not quite there; we don’t have equalities everywhere yet. So we introduce two slack variables x4 and x5. Now we get

max(1,-2,4,-4,0,0)(x1,x2,x3+,x3-,x4,x5) (28)

subject to

(153-30-12-12-21012-1100)(x1x2x3+x3-x4x5)=(542) (29)
x1,x2,x3+,x3-,x4,x50 (30)

and we’re finally in SEF! Note that when we replaced a constraint (second line of Eq. 26), we added a 1 to the array, and when we replaced a constraint (first line of Eq. 26), we added -1 to the array. This helps us keep our non-negativity constraint for all variables.

4 A Simplex Iteration

The idea of the simplex algorithm is pretty simple: repeat a simplex operation until no more simplex operations improve the result, and you’re done. But there’s a catch: the second simplex operation might partly undo the work of the first! So there is something you have to do in order to make that second one work, and that’s what we’ll see next time.

…Oh, wait, we haven’t talked about a single simplex operation. Okay, let’s talk about that. (n.b.: It’s not really a simplex operation, in the mathematical sense, but it’s related, and the name has stuck.)

Consider the following LP in SEF:

maxz(x)=(2,3,0,0,0)(x1,x2,x3,x4,x5) (31)

subject to

(1110021010-11001)x=(6104) (32)
x1,x2,x3,x4,x50. (33)

Given the solution xa=(0,0,6,10,4) (easy to see that’s a solution – look at the right side of the array), z(xa)=0.

Now try increasing x1, choosing x1=t. A little algebra gives

(x3x4x5)=(6104)-t(12-1) (34)

from which we get

t(12-1)(6104) (35)

which gives us the limiting inequality t10/2=5. Setting t=5, x=(5,0,1,0,9) and z(x)=10.

Unfortunately, we can’t yet apply the same trick to x2, so that’s the topic for next time!

5 Homework

See the separate file uploaded to SFS.

  1. 1.

    Exercise 1 (parts a, b) in Sec. 2.1.

  2. 2.

    Exercise 1 (part a) in Sec. 2.2.

  3. 3.

    Exercise 1 (all parts) in Sec. 2.3.