Let’s see the Proposition 5.2.1 of the 2009 Bertsekas’s convex optimization theory:
(Linear Programming Duality Theorem)
(a) If any one of the 2 programs (primal and dual) has a finite optimal objective value, then the 2 programs’ optimal objective value coincide, moreover, attainment is ensured on both sides.
Actually, this theorem only concerns 1. the normal case (i.e. (a)), and 2. from unboundedness to infeasibility (i.e. (b) and (c), which I didn’t list here for conciseness).
Given this, in this post I’m addressing the missing abnormal circumstances (with step 1 and step 2 below).
Before starting, I mention this formula (★), which was proved in this post.
\sup \{y | y \ge 0\} = \inf \{ 0 | 0 \le x \le -1\} = + \infty
Let’s start here:
Suppose now we are dealing with an LP (■), with decision z, as follows
\sup \{ c^\top z | a^\top z \le b \}
The 1st step is:
Focus only on its feasibility system, namely \{z | a^\top z \le b\}. We ask “is it feasible”?
Well, if it is infeasible, then a^\top z \le b can be transformed (with variable substitution / elimination) to 0 \le x \le -1. The converse is also true.
If we have proved it is infeasible, then we quit this topic (no further steps needed). If we succeed in finding a feasible solution, then we continue with step 2.
The 2nd step is:
We ask “is it bounded”? Well, if (■) is unbounded, it should be equivalent to the leftmost “sup”-program in (★), whose dual feasibility system is infeasible (like 0 \le x \le -1). (Yes, this is where the name DUAL_INFEASIBLE
is from). Note that we’ve done step 1 and in step 2 now, therefore DUAL_INFEASIBLE
here really implies unbounded
. (cf. Gurobi’s Optimization Status Codes, No. 5, which will politely suggests you to redo step 1 to avoid misinforming). If DUAL_INFEASIBLE
is true, we quit this topic. If we succeed in finding a dual feasible solution, this indicates that (■) has a finite best dual bound
, indicating that the (a) of [Bertsekas2009] above can be invoked. Then we continue with step 3.
The 3rd step:
Normality is ensured here, suggested by (a) of [Bertsekas2009] above.