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.
our problem is infeasible (has no solution),
-
2.
it has one or more optimal solutions, or
-
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 ,
(1) | ||||
(2) | ||||
(3) | ||||
(4) |
To show there is no solution, we create the equation
(5) |
and from this, we are done: all of the coefficients of the are positive (or non-negative, including ), and all of the 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:
(6) |
If we write down those values as , , , then we can create the vector
(7) |
The vector is said to be our certificate of infeasibility.
We can write this down as
(8) |
where
(9) | ||||
(10) | ||||
(11) |
We multiply both sides by the vector to get
(12) |
Insert numbers for 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 be a matrix and be a vector. Then the system
(13) has no solution if there exists a vector s.t.
- 1.
, and
- 2.
.
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
(14) |
where
(15) | ||||
(16) | ||||
(17) | ||||
(18) |
If we pick vectors and and define a function
(19) |
then we can show that
(20) |
and so as , so does our objective function. Formally,
Suppose there exists a problem as above, with a feasible solution and a vector such that:
- 1.
, and
- 2.
, and
- 3.
,
then is unbounded.
The pair of vectors and 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.
it is a maximization problem;
-
2.
other than the non-negativity constraints, all constraints are equalities; and
-
3.
every variable has a non-negativity constraint.
That is, it can be written in the form
(21) |
Consider the LP
(22) |
subject to
(23) | |||
(24) |
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, and , set , and add constraints . After some algebra, you get
(25) |
subject to
(26) | |||
(27) |
Getting closer, but we’re still not quite there; we don’t have equalities everywhere yet. So we introduce two slack variables and . Now we get
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:
(31) |
subject to
(32) | |||
(33) |
Given the solution (easy to see that’s a solution – look at the right side of the array), .
Now try increasing , choosing . A little algebra gives
(34) |
from which we get
(35) |
which gives us the limiting inequality . Setting , and .
Unfortunately, we can’t yet apply the same trick to , so that’s the topic for next time!
5 Homework
See the separate file uploaded to SFS.
-
1.
Exercise 1 (parts a, b) in Sec. 2.1.
-
2.
Exercise 1 (part a) in Sec. 2.2.
-
3.
Exercise 1 (all parts) in Sec. 2.3.