Duality Flashcards
How many ways do we have that we can use to derive the dual problem?
There are two ways
Assume we want to find an upper bound of the optimal objective funciton value z-star. How can we do this?
We can examine one of the constraints that possess the same variables as the objective function, and multiply the constraint (on both side) by a value that makes each of the coefficients of the variables in the constraint LARGER than their corresponding objective function coefficients. when we then look at the new b-side value, we know that this value will always be smaller larger than any z-value. This is because regardless what value our variables are, the z-value coefficents will just never reach the same value before infeasible.
This gives us a rough estimate of upper bound z-score.
it can be even better to combine different constraints in a linear way and create a new constraint that provides an even better bound.
How can we guess the best combinaiton of constraints that yield the best bound?
Instead of guessing, we can formulate an LP problem that solve this for us.
We need the coefficients of the constraints, and we need a set of weights (variables) that we want to solve for and find out how much of each constraint to use.
For instance:
7v1 + 16v2 >= 20
10v1 + 12v2 >= 18
We also demand that the weights are non-negative.
Then we need the objective function:
min w = 3600v1 + 5400v2
This is a dual problem to the primal problem.
Can the dual problem always be given an interpretation economically?
No, but we always interpret the dual variables as shadow prices/marginal price.
we can never guarantee that the dual problem solve some sort of practical scenario. It may be purely theoretical problem with no other meaning.
Elaborate on the process of deriving the dual problem
We start with the idea of finding a good bound for the z-value.
We can find an upper bound by considering how we can combine constraints.
We want to consider every constraint.
We consider a linear combinaiton of each coefficient in ONE of the columns in the constraint matrix.
This linear combination MUST be larger than this column’s corresponding objective function coefficient in order to make sure that the constraint value multiplier make the final result larger than or equal to the z-bound we want.
We have to do this for every coefficient in the objective function, which means that we transpose the constraint matrix and make linear combinations.
We take each column in the constraint matrix, and multiply it by a weight. This weight is a single-valued variable called the dual variable for this corresponding column.
Why is duality important?
Duality is apparantly very important for developing new methods for various types of difficult optimziation problems.
Give the six relationships between primal and dual problem
Firstly, we refer to “normal form”. Normal form is how we typically want things to be.
A variable is in normal form if it is defined as non-negative.
A constraint is in normal form if it is a <= constraint in a max problem, and a >= in a min problem.
1) A variable in normal form i nthe primal problem gives a constraint in nromal form in the dual problem
2) A constraint in normal form in the primal problem gives a variable in normal form in the dual problem
3) A variable defined as xj <= 0 in the primal gives a constraint in the dual of reverse type compared to normal form.
4) A constraint in the primal of reverse type compared to normal form gives a variable defined as vi <= 0 in the dual
5) A free variable in the primal gives an equality cnstraint in the dual
6) An equality constraint in the primal gives a free variable in the dual
Elaborate on weak duality
Weak duality says that if we have a feasible solution in one of the problems, this solution is an upper bound for the other problem.
Or, not necessarily upper bound, but rather: A feasible solution to one of hte problems provides an optimistic estimation of the optimal objective function value to the other problem.
cx <= bv
What is the theorem that follows from the weak duality theorem?
If x and v are feasible solutions to the primal and dual problem, and we have that cx = bv, we know that x and v are optimal solutions.
Elaborate on strong duality
If either primal or dual problem has a bounded optimal solution, the same holds for the other problem, and the two objective function values are equal at optimum.
cx = bv
elaborate on the dual theorem
The dual theorem says that if xb=B^(-1)b is an optimal basic solution to (P), then v=cbB^(-1) is optimal solution to (D) and that z-star = w-star.
What we need to prove is that solving simplex, and looking at the slack-portion in objective function row, which holds the values of cbB^(-1), will yield the optimal values of the dual problem.
how do we prove this? The proof consists of 3 steps:
1) Prove that v is feasible in (D).
2) Show that objective function values for xb and v are the same
3) Since xb is feasible in (P) nad v is feasible in (D), and the objective function values are equal, we use the theorem of weak duality to state that v = cbB^(-1) is an optimal solution to (D).
Elaborate on the proof of the dual theorem
The dual theorem says that the solution to the dual problem is actually found in the portion of the final simplex tableau of the primal problem that corresponds to the slack-variable section in the objective function row.
In order to prove that this is the case, we need to do 3 steps:
1) Prove that if this happens to be the case, the solution v is feasible in (D).
2) Show that the values of both objective functions are the same when this is the case.
3) Conclude with weak duality that this is how it is.
We start with the primal problem, and split it using matrix notation.
max z = cbxb + cnxn
s.t. Bxb + Nxn = b
xb, xn >= 0
This gives us the following dual problem:
min w = bv
s.t.
B^(T)v >= cb
N^(T)v >= cn
v free
We assume that xb = B^(-1)b is an optimal basic solution, and that v = cbB^(-1) is optimal solution to dual.
We want to prove feasibility in (D). We look at the two types of constraints in (D).
First we have B^(T)v >= cb
We interchange B^(T) and v, which leads to a swap in transposes:
v^(T)B >= cb
Now we replace v^(T) with the assumed value of cb^(T)B^(-1), which gives us:
cb^(T) >= cb^(T), which of course applies.
Now, onto the next set of constraints, which are the non-basic related ones.
We have that N^(T)v >= cn
We swap the position and thus their transpose like before:
v^(T) N >= cn^(T)
Now we enter our assumes result of v^(T) = cb^(T)B^(-1), which gives us:
cb^(T)B^(-1) N >= cn^(T)
This is the same as:
cn^(T) - cb^(T)B^(-1) N <= 0
We recognize this LHS as the identity of reduced cost in optimal tableau. Since we assume optimality, we know that this is indeed smaller than or equal to 0.
Now we have proved that v=cb^(T)B^(-1) is indeed feasible in (D).
The next step is to show that the objective function values are identical as well.
We know that in (P), obj func value is cb^(T)B^(-1)b
Since we have shown that v = cb^(T) B^(-1) is feasible in (D), we can find its value:
w = b^(T)v = v^(T)b = cb^(T)B^(-1)b, which is the same as the (P).
Since xb is feasible in P, and v is feasible in D, and the objective function values are equal for the two solutions, we can use the theorem of weak duality and state that v^(T) = cb^(T) B^(-1) is an otpimal solution to D.
This entire proof is simple to understand if the proof of weak duality is understood. to be clear, it is actually really simple. We know that the solution to (D) is optimistic in regards to (P) if x and v are feasible in their respective problems. Since we have showed that the bound offered by (D) is the same as the same as the objective function value from (P), we can conclude with the fact that the solution to the dual problem is provided by the slack-coefficeints in objective row.
IMPORTANT: Recall the objective here. We want to show that if xb = B^(-1)b is an optimal basic solution, then v^(T) = cb^(T) B^(-1) AND z star = w star.
this proof use WEAK duality. This means that we can only make assumptions from primal to dual, and not from dual to primal.
What does weak duality say, in a sentence?
Solving the dual problem provides an upper (or lower if minimization primal problem) bound to the primal, as long as there is a feasible solution.
What is the complementary slackness constraint?
A relationship between a primal constraint “i” and the corresponding dual variable vi:
vi (bi - ∑aij xj [j=1, n]) = 0
This says that either the dual variable is 0, or the slack variable has value 0. If the slack variable has value 0, it would mean that the constraint is binding.
There is also a complementary slackness constraint that relates a primal variable and a constraint in the dual:
xj (∑aij vi - cj) = 0
Indicates that either the primal variable has the value 0, or the const
what is the complementary slackness theorem?
Assume x and v are feasible solutions in P and D respectively. Then x and v are optimal solutions to respective problem if and only if the complementary slackness constraints
v(b - Ax) = 0
and
x(Av - c) = 0
are satisfied